mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-16 00:52:40 +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:
@@ -11,7 +11,7 @@ func TestLuigiShopGreeting_Basic(t *testing.T) {
|
||||
equip := map[EquipmentSlot]*AdvEquipment{
|
||||
SlotWeapon: {Tier: 2, Condition: 100},
|
||||
}
|
||||
text := luigiShopGreeting("@user:test", equip, 5000, false)
|
||||
text := luigiShopGreeting("@user:test", equip, 5000, false, 0)
|
||||
|
||||
if !strings.Contains(text, "Luigi's") {
|
||||
t.Error("greeting should contain Luigi's")
|
||||
@@ -35,7 +35,7 @@ func TestLuigiShopGreeting_MaxedOut(t *testing.T) {
|
||||
SlotBoots: {Tier: 5, Condition: 100},
|
||||
SlotTool: {Tier: 5, Condition: 100},
|
||||
}
|
||||
text := luigiShopGreeting("@user:test", equip, 99999, false)
|
||||
text := luigiShopGreeting("@user:test", equip, 99999, false, 0)
|
||||
|
||||
// Should NOT show category grid.
|
||||
if strings.Contains(text, "Reply with a category") {
|
||||
@@ -49,7 +49,7 @@ func TestLuigiShopGreeting_MaxedOut(t *testing.T) {
|
||||
|
||||
func TestLuigiShopGreeting_ShowAll(t *testing.T) {
|
||||
equip := map[EquipmentSlot]*AdvEquipment{}
|
||||
text := luigiShopGreeting("@user:test", equip, 1000, true)
|
||||
text := luigiShopGreeting("@user:test", equip, 1000, true, 0)
|
||||
|
||||
// Should contain a show-all comment.
|
||||
if !strings.Contains(text, "judgment") && !strings.Contains(text, "thoroughness") {
|
||||
|
||||
Reference in New Issue
Block a user