diff options
Diffstat (limited to 'internal/game/casino.go')
| -rw-r--r-- | internal/game/casino.go | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/internal/game/casino.go b/internal/game/casino.go index 857a6a8..230108f 100644 --- a/internal/game/casino.go +++ b/internal/game/casino.go @@ -551,14 +551,17 @@ func (g *Game) emitCasinoEvents(events []casino.Event) { if event.Detail && !details { continue } - message := g.casinoTimeText(event.Message) + // Style prose before composing it with independently styled art. + // Wrapping the finished message leaks casino_action into borders + // and plain spaces between a snapshot's own color resets. + message := g.colorize(sess, category, g.casinoTimeText(event.Message)) if details { if rendered := g.renderCasinoSnapshot(sess, event.Snapshot); rendered != "" { message += "\n" + rendered } } if message != "" { - sess.WriteLine(g.colorize(sess, category, message)) + sess.WriteLine(message) } } } @@ -579,13 +582,14 @@ func (g *Game) emitCasinoEvents(events []casino.Event) { continue } privateMessage := g.casinoPrivateMessage(sess, category, event.Menu, g.casinoTimeText(text)) + privateMessage = g.renderCasinoMessage(sess, category, event.Menu, privateMessage) if rendered := g.renderCasinoSnapshot(sess, event.Snapshot); rendered != "" { privateMessage += "\n" + rendered } if event.ShowBalance { privateMessage += "\n" + g.casinoBalance(sess) } - sess.WriteLine(g.renderCasinoMessage(sess, category, event.Menu, privateMessage)) + sess.WriteLine(privateMessage) if category == "casino_menu" { g.writePrompt(sess) } @@ -674,7 +678,7 @@ func (g *Game) renderCasinoSnapshot(sess *net.Session, snapshot casino.Snapshot) } switch s := snapshot.(type) { case *casino.RouletteSnapshot: - return s.ASCII() + return renderRouletteSnapshot(s, mode, unicode, size) case *casino.SlotSnapshot: return renderSlotSnapshot(s, mode, unicode) case *casino.BlackjackSnapshot: |
