aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
authorMeji <alvaromegias_46@hotmail.com>2022-01-07 22:14:07 +0100
committerGitHub <noreply@github.com>2022-01-07 22:14:07 +0100
commitddc71206de653d05aed479b82260bcf55dd72445 (patch)
treeed1b1dc4ed91f1c29df169e8ca5fe85a7aa70c29 /src/server/game/Spells/SpellEffects.cpp
parent26bdbde4679989a452cf7d2c5e29ceb6e0036ce3 (diff)
Core/Spells: Implemented spell effect 225 (SPELL_EFFECT_GRANT_BATTLEPET_LEVEL) (#27506)
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r--src/server/game/Spells/SpellEffects.cpp17
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)