diff options
Diffstat (limited to 'internal/game/cmd_option.go')
| -rw-r--r-- | internal/game/cmd_option.go | 7 |
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 { |
