diff options
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 43fb5bf68ef..b216bb5f372 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -306,7 +306,7 @@ NonDefaultConstructible<SpellEffectHandlerFn> SpellEffectHandlers[TOTAL_SPELL_EF &Spell::EffectCreateHeirloomItem, //222 SPELL_EFFECT_CREATE_HEIRLOOM_ITEM &Spell::EffectNULL, //223 SPELL_EFFECT_CHANGE_ITEM_BONUSES &Spell::EffectActivateGarrisonBuilding, //224 SPELL_EFFECT_ACTIVATE_GARRISON_BUILDING - &Spell::EffectNULL, //225 SPELL_EFFECT_GRANT_BATTLEPET_LEVEL + &Spell::EffectGrantBattlePetLevel, //225 SPELL_EFFECT_GRANT_BATTLEPET_LEVEL &Spell::EffectNULL, //226 SPELL_EFFECT_TRIGGER_ACTION_SET &Spell::EffectNULL, //227 SPELL_EFFECT_TELEPORT_TO_LFG_DUNGEON &Spell::EffectNULL, //228 SPELL_EFFECT_228 @@ -5315,6 +5315,21 @@ void Spell::EffectActivateGarrisonBuilding() garrison->ActivateBuilding(effectInfo->MiscValue); } +void Spell::EffectGrantBattlePetLevel() +{ + if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET) + return; + + Player* playerCaster = m_caster->ToPlayer(); + if (!playerCaster) + return; + + if (!unitTarget || !unitTarget->IsCreature()) + return; + + playerCaster->GetSession()->GetBattlePetMgr()->GrantBattlePetLevel(unitTarget->GetBattlePetCompanionGUID(), damage); +} + void Spell::EffectHealBattlePetPct() { if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET) |
