mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-16 08:52:42 +00:00
Add chat level perks: XP bonus, shop flavor, rare drop nudge, death pardon (Adventure 2.5 steps 3-6)
- XP bonus: +5% per 10 chat levels (cap +25% at 50+), applies to all adventure and arena XP - Shop flavor: shopkeeper greeting changes at chat levels 10/30/50, replacing random flavor for recognized players - Rare drop nudge: +0.5% per 10 chat levels (cap +2.5%) applied additively to treasure and masterwork drop rates - Death pardon: chat level 20+ gets 33% chance to survive death once per 7 days (converts to bad-failure, quiet DM). Does not apply in arena. Fires before Sovereign Death's Reprieve check. - New adventure_chat_perks.go with perk calculation helpers - LastPardonUsed field + migration on adventure_characters Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -361,12 +361,15 @@ func (p *AdventurePlugin) resolveArenaSurvival(ctx MessageContext, run *ArenaRun
|
||||
run.RoundsSurvived++
|
||||
run.LastMonster = monster.Name
|
||||
|
||||
// Award battle XP (Ironclad set: Battle-Hardened — +5% XP)
|
||||
// Award battle XP (Ironclad set: Battle-Hardened — +5% XP, chat level bonus)
|
||||
battleXP := tier.BattleXP
|
||||
equip, _ := loadAdvEquipment(ctx.Sender)
|
||||
if advEquippedArenaSets(equip)["ironclad"] {
|
||||
battleXP = int(float64(battleXP) * 1.05)
|
||||
}
|
||||
if bonus := chatLevelXPBonus(p.chatLevel(ctx.Sender)); bonus > 0 {
|
||||
battleXP = int(float64(battleXP) * (1.0 + bonus))
|
||||
}
|
||||
char.CombatXP += battleXP
|
||||
leveled, newLevel := checkAdvLevelUp(char, "combat")
|
||||
if leveled {
|
||||
|
||||
Reference in New Issue
Block a user