aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorSnapperRy <snapperryen@gmail.com>2016-10-08 14:16:05 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2017-09-05 10:39:08 +0200
commit37d6c2bfff6c0b972d75d611be9e634ac0ad64f8 (patch)
tree55ed671bd80545c8d65b13887883020c819afd78 /src/server/scripts
parent62728e7ea5f17260d9789e41b50fc21f4672c62c (diff)
Battlefield/Wintergrasp: improvements:
- Move Wintergrasp Keep guard spawns from core to db, removing all duplicates in the meanwhile. - Add Alliance Brigadier General inside the relic room. Closes #7593. (cherry picked from commit a0c9d33ed6c891901e2fbfb547c615b9bb7ce54f) Remove unused variable. (cherry picked from commit 7ce381191363277deb30cd79f900516652a6c5b3)
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Northrend/zone_wintergrasp.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp
index d31344add7b..fae7663f00f 100644
--- a/src/server/scripts/Northrend/zone_wintergrasp.cpp
+++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp
@@ -487,6 +487,56 @@ class npc_wg_quest_giver : public CreatureScript
SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID());
return true;
}
+
+ struct npc_wg_quest_giverAI : public ScriptedAI
+ {
+ npc_wg_quest_giverAI(Creature* creature) : ScriptedAI(creature) { }
+
+ void JustDied(Unit* killer) override
+ {
+ if (killer->GetTypeId() != TYPEID_PLAYER)
+ return;
+
+ BattlefieldWG* wintergrasp = (BattlefieldWG*)sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG);
+ if (!wintergrasp)
+ return;
+
+ wintergrasp->HandlePromotion(killer->ToPlayer(), me);
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_wg_quest_giverAI(creature);
+ }
+};
+
+class npc_wg_guard : public CreatureScript
+{
+public:
+ npc_wg_guard() : CreatureScript("npc_wg_guard") { }
+
+ struct npc_wg_guardAI : public ScriptedAI
+ {
+ npc_wg_guardAI(Creature* creature) : ScriptedAI(creature) { }
+
+ void JustDied(Unit* killer) override
+ {
+ if (killer->GetTypeId() != TYPEID_PLAYER)
+ return;
+
+ BattlefieldWG* wintergrasp = (BattlefieldWG*)sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG);
+ if (!wintergrasp)
+ return;
+
+ wintergrasp->HandlePromotion(killer->ToPlayer(), me);
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_wg_guardAI(creature);
+ }
};
class spell_wintergrasp_force_building : public SpellScriptLoader
@@ -679,6 +729,7 @@ void AddSC_wintergrasp()
new npc_wg_demolisher_engineer();
new go_wg_vehicle_teleporter();
new npc_wg_quest_giver();
+ new npc_wg_guard();
new spell_wintergrasp_force_building();
new spell_wintergrasp_grab_passenger();
new achievement_wg_didnt_stand_a_chance();