aboutsummaryrefslogtreecommitdiff
path: root/internal/game/cmd_option.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/cmd_option.go')
-rw-r--r--internal/game/cmd_option.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/internal/game/cmd_option.go b/internal/game/cmd_option.go
index 1bfd1b5..41346fb 100644
--- a/internal/game/cmd_option.go
+++ b/internal/game/cmd_option.go
@@ -62,6 +62,11 @@ func (g *Game) doOption(sess *net.Session, input string) {
}
value := strings.ToLower(parts[1])
+ if def.Type == player.OptString && len(def.ValidValues) == 0 {
+ // Free-text string options take the whole remaining input verbatim
+ // ("option visual_tick_text Tick Tock" stores "Tick Tock").
+ value = strings.Join(parts[1:], " ")
+ }
if def.Name == "card_size" {
switch value {
case "1", "5", "7", "9":
@@ -112,7 +117,7 @@ func (g *Game) doOption(sess *net.Session, input string) {
}
func (g *Game) executeOption(sess *net.Session, args []string, rawInput string) {
- g.doOption(sess, strings.Join(args, " "))
+ g.doOption(sess, strings.Join(rawArgsFrom(rawInput, "option"), " "))
}
func formatOptionValue(p *player.Player, def *player.OptionDef) string {