mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-15 16:42:41 +00:00
Adv 2.0 L4b: rival migrates RivalPool + gate/stake off AdvCharacter
Gate switches from CombatLevel >= 5 to D&D Level >= 3; stake formula becomes (level / 3) * 1000 (Level 3 → €1000 mirrors legacy CL5 → €1000, tops €6000 at L20). RivalPool / RivalUnlockedNotified dual-write to player_meta; readers in selectRivalPair, handleRivalsCmd, and morning DM render flip to loadRivalState. Backfill wired into Init, idempotent. Migration doc note about porting rival combat to simulateCombat was wrong — rival uses RPS, no combat_engine port needed. Doc corrected. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -194,8 +194,9 @@ func renderAdvCharacterSheet(char *AdventureCharacter, equip map[EquipmentSlot]*
|
||||
sb.WriteString(fmt.Sprintf("\n🍼 Babysitting: %s (focus: %s)\n", remaining, char.BabysitSkillFocus))
|
||||
}
|
||||
|
||||
// Rival status
|
||||
if char.RivalPool == 1 {
|
||||
// Rival status — read from player_meta (Adv 2.0 Phase L4b).
|
||||
rivalPoolFlag, _, _ := loadRivalState(char.UserID)
|
||||
if rivalPoolFlag == 1 {
|
||||
records, _ := loadAllRivalRecords(char.UserID)
|
||||
sb.WriteString("\n⚔️ Rivals: Unlocked")
|
||||
if len(records) > 0 {
|
||||
|
||||
Reference in New Issue
Block a user