mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-15 16:42:41 +00:00
Adv 2.0 L4e reader flip (read-only sites): house state via loadHouseState
dnd_rest long-rest eligibility, dnd_sheet housing display, and petShouldArrive / mistyHousingHint now source house state from player_meta via loadHouseState(userID) instead of *AdventureCharacter. petShouldArrive, mistyHousingHint, and renderDnDSheet gained a HouseState parameter; scheduler and Misty NPC callers load it. Reader flip inside adventure_housing.go itself stays deferred — its mutation paths bundle with cutting AdvCharacter writes post-soak. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -63,11 +63,12 @@ func (p *AdventurePlugin) handleDnDSheetCmd(ctx MessageContext) error {
|
||||
equip, _ := loadAdvEquipment(ctx.Sender)
|
||||
treasures, _ := loadAdvTreasureBonuses(ctx.Sender)
|
||||
meta, _ := loadPlayerMeta(ctx.Sender)
|
||||
house, _ := loadHouseState(ctx.Sender)
|
||||
|
||||
return p.SendDM(ctx.Sender, renderDnDSheet(c, advChar, meta, equip, treasures))
|
||||
return p.SendDM(ctx.Sender, renderDnDSheet(c, advChar, meta, house, equip, treasures))
|
||||
}
|
||||
|
||||
func renderDnDSheet(c *DnDCharacter, adv *AdventureCharacter, meta *PlayerMeta, equip map[EquipmentSlot]*AdvEquipment, treasures []AdvTreasureBonus) string {
|
||||
func renderDnDSheet(c *DnDCharacter, adv *AdventureCharacter, meta *PlayerMeta, house HouseState, equip map[EquipmentSlot]*AdvEquipment, treasures []AdvTreasureBonus) string {
|
||||
ri, _ := raceInfo(c.Race)
|
||||
ci, _ := classInfo(c.Class)
|
||||
mods := c.Modifiers()
|
||||
@@ -174,8 +175,8 @@ func renderDnDSheet(c *DnDCharacter, adv *AdventureCharacter, meta *PlayerMeta,
|
||||
if adv.PetName != "" {
|
||||
b.WriteString(fmt.Sprintf(" Pet: %s the %s (lv %d)\n", adv.PetName, adv.PetType, adv.PetLevel))
|
||||
}
|
||||
if adv.HouseTier > 0 {
|
||||
b.WriteString(fmt.Sprintf(" Housing: tier %d\n", adv.HouseTier))
|
||||
if house.Tier > 0 {
|
||||
b.WriteString(fmt.Sprintf(" Housing: tier %d\n", house.Tier))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user