diff options
author | Shauren <shauren.trinity@gmail.com> | 2015-06-22 00:02:02 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2015-06-22 00:02:43 +0200 |
commit | 812fa65c613ecaa603dafc708df0088f3b50a90e (patch) | |
tree | e64f0c167d338beb2e674f653cb036cc647d1f19 /src/server/game/Spells/SpellEffects.cpp | |
parent | 881ebccdc4a0995732aea2052f85015aebe6f9a2 (diff) |
Core/Garrisons: Implemented activating buildings
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 36e544de3bd..e4bef46b3bb 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -299,7 +299,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]= &Spell::EffectNULL, //221 SPELL_EFFECT_221 &Spell::EffectNULL, //222 SPELL_EFFECT_CREATE_HEIRLOOM_ITEM &Spell::EffectNULL, //223 SPELL_EFFECT_CHANGE_ITEM_BONUSES - &Spell::EffectNULL, //224 SPELL_EFFECT_ACTIVATE_GARRISON_BUILDING + &Spell::EffectActivateGarrisonBuilding, //224 SPELL_EFFECT_ACTIVATE_GARRISON_BUILDING &Spell::EffectNULL, //225 SPELL_EFFECT_GRANT_BATTLEPET_LEVEL &Spell::EffectNULL, //226 SPELL_EFFECT_226 &Spell::EffectNULL, //227 SPELL_EFFECT_227 @@ -5859,3 +5859,15 @@ void Spell::EffectAddGarrisonFollower(SpellEffIndex effIndex) if (Garrison* garrison = unitTarget->ToPlayer()->GetGarrison()) garrison->AddFollower(GetEffect(effIndex)->MiscValue); } + +void Spell::EffectActivateGarrisonBuilding(SpellEffIndex effIndex) +{ + if (effectHandleMode != SPELL_EFFECT_HANDLE_HIT_TARGET) + return; + + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) + return; + + if (Garrison* garrison = unitTarget->ToPlayer()->GetGarrison()) + garrison->ActivateBuilding(GetEffect(effIndex)->MiscValue); +} |