diff options
author | Carbenium <carbenium@outlook.com> | 2020-06-21 23:36:05 +0200 |
---|---|---|
committer | Peter Keresztes Schmidt <carbenium@outlook.com> | 2020-06-24 15:09:57 +0200 |
commit | c40b897d369cf45696ca626fdf48bf51226a73a8 (patch) | |
tree | d0c154bee87c740302df7f7d5ab5dea4bf3973b9 /src/server/scripts/Battlefield/BattlefieldWG.cpp | |
parent | f7faf20254a120a90b8ee8eb55a284a6351aabc3 (diff) |
Scripts/Battlefield: Move npc_wg_give_promotion_credit script to BattlefieldWG
The script references BattlefieldWG, which is not exported in dynamic builds.
Move the script, so it is in the same library.
Diffstat (limited to 'src/server/scripts/Battlefield/BattlefieldWG.cpp')
-rw-r--r-- | src/server/scripts/Battlefield/BattlefieldWG.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/server/scripts/Battlefield/BattlefieldWG.cpp b/src/server/scripts/Battlefield/BattlefieldWG.cpp index 00486e9e4a0..230f2f6fbcb 100644 --- a/src/server/scripts/Battlefield/BattlefieldWG.cpp +++ b/src/server/scripts/Battlefield/BattlefieldWG.cpp @@ -21,6 +21,7 @@ #include "BattlefieldWG.h" #include "AchievementMgr.h" +#include "BattlefieldMgr.h" #include "Battleground.h" #include "CreatureTextMgr.h" #include "GameObject.h" @@ -32,6 +33,7 @@ #include "Opcodes.h" #include "Player.h" #include "Random.h" +#include "ScriptedCreature.h" #include "ScriptMgr.h" #include "SpellAuras.h" #include "TemporarySummon.h" @@ -1864,6 +1866,35 @@ public: } }; +class npc_wg_give_promotion_credit : public CreatureScript +{ +public: + npc_wg_give_promotion_credit() : CreatureScript("npc_wg_give_promotion_credit") { } + + struct npc_wg_give_promotion_creditAI : public ScriptedAI + { + npc_wg_give_promotion_creditAI(Creature* creature) : ScriptedAI(creature) { } + + void JustDied(Unit* killer) override + { + if (!killer || killer->GetTypeId() != TYPEID_PLAYER) + return; + + BattlefieldWG* wintergrasp = static_cast<BattlefieldWG*>(sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG)); + if (!wintergrasp) + return; + + wintergrasp->HandlePromotion(killer->ToPlayer(), me); + } + }; + + CreatureAI* GetAI(Creature* creature) const override + { + return new npc_wg_give_promotion_creditAI(creature); + } +}; + void AddSC_BF_wintergrasp() { new Battlefield_wintergrasp(); + new npc_wg_give_promotion_credit(); } |