aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r--src/game/Player.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 58c80f46652..2a3c630bf12 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -2477,7 +2477,14 @@ void Player::GiveXP(uint32 xp, Unit* victim)
return;
// XP resting bonus for kill
- uint32 rested_bonus_xp = victim ? GetXPRestBonus(xp) : 0;
+ uint32 rested_bonus_xp = victim ? GetXPRestBonus(xp) : 0;
+
+ // Heirloom Experience Bonus
+ float heirloomModifier = 1.0f;
+ for (int i = 0; i < EQUIPMENT_SLOT_END; ++i)
+ if (m_items[i] && m_items[i]->GetProto()->Spells->SpellId == 57353)
+ heirloomModifier += 0.1f;
+ xp = uint32(xp * heirloomModifier);
SendLogXPGain(xp,victim,rested_bonus_xp);