aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Battlefield/BattlefieldWG.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts/Battlefield/BattlefieldWG.cpp')
-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();
}