Adv 2.0 Phase L2 step 6: arena render reads → DnDCharacter

renderArenaStreakEntry now takes *DnDCharacter and reads c.Level
instead of AdventureCharacter.CombatLevel. renderArenaStatus drops
its unused *AdventureCharacter arg. Callers in handleArenaMenu /
handleArenaStatus updated; menu path uses ensureCharForDnDCmd to
fetch (or auto-migrate) the sheet. Tests switched accordingly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
prosolis
2026-05-09 08:20:59 -07:00
parent 341b1fc8e5
commit 8afd9494fe
4 changed files with 21 additions and 21 deletions

View File

@@ -101,7 +101,11 @@ func (p *AdventurePlugin) handleArenaMenu(ctx MessageContext) error {
stats := loadArenaPersonalStats(ctx.Sender)
monster := arenaGetMonster(1, 1)
text := renderArenaStreakEntry(char, stats, tier, monster)
dndChar, err := p.ensureCharForDnDCmd(ctx.Sender, char)
if err != nil {
return p.SendDM(ctx.Sender, "Failed to load character sheet.")
}
text := renderArenaStreakEntry(dndChar, stats, tier, monster)
return p.SendDM(ctx.Sender, text)
}
@@ -297,8 +301,7 @@ func (p *AdventurePlugin) handleArenaBail(ctx MessageContext) error {
}
func (p *AdventurePlugin) handleArenaStatus(ctx MessageContext) error {
char, err := loadAdvCharacter(ctx.Sender)
if err != nil {
if _, err := loadAdvCharacter(ctx.Sender); err != nil {
return p.SendDM(ctx.Sender, "No adventurer found.")
}
@@ -307,7 +310,7 @@ func (p *AdventurePlugin) handleArenaStatus(ctx MessageContext) error {
return p.SendDM(ctx.Sender, "No active arena run. Start one with `!arena`.")
}
return p.SendDM(ctx.Sender, renderArenaStatus(run, char))
return p.SendDM(ctx.Sender, renderArenaStatus(run))
}
func (p *AdventurePlugin) handleArenaStats(ctx MessageContext) error {