aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Battlefield
diff options
context:
space:
mode:
authorCarbenium <carbenium@outlook.com>2020-06-21 23:36:05 +0200
committerShauren <shauren.trinity@gmail.com>2022-01-07 00:22:38 +0100
commit81a3c135a7ee688998b273034d0ba60dd7bb8158 (patch)
tree9c5a1942f63502966081d81fd74594f84b0258d8 /src/server/scripts/Battlefield
parent49523a74a4c28e5ae17f9a8352aa8224b765b7d8 (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. (cherry picked from commit c40b897d369cf45696ca626fdf48bf51226a73a8)
Diffstat (limited to 'src/server/scripts/Battlefield')
-rw-r--r--src/server/scripts/Battlefield/BattlefieldWG.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/server/scripts/Battlefield/BattlefieldWG.cpp b/src/server/scripts/Battlefield/BattlefieldWG.cpp
index a8f3d135ebd..0c6ec4624bb 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"
@@ -31,6 +32,7 @@
#include "ObjectAccessor.h"
#include "Player.h"
#include "Random.h"
+#include "ScriptedCreature.h"
#include "ScriptMgr.h"
#include "SpellAuras.h"
#include "TemporarySummon.h"
@@ -1864,7 +1866,36 @@ 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();
}