aboutsummaryrefslogtreecommitdiff
path: root/internal/game/casino.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-09-29 14:15:06 -0400
committerhistoria <[not public]>2026-09-29 14:15:06 -0400
commit3db3071c444abb2133e1fcaf7e685095415c1adf (patch)
treea1d3c276aa7db2e89ea92a5751a81c197a1e1103 /internal/game/casino.go
parent9803facd4368420a5dce3af59c835e13cb015cf5 (diff)
downloadthehouseoficarus-3db3071c444abb2133e1fcaf7e685095415c1adf.tar.gz
feat: better roulette wheel design
Diffstat (limited to 'internal/game/casino.go')
-rw-r--r--internal/game/casino.go12
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: