diff options
| author | SnapperRy <snapperryen@gmail.com> | 2016-10-08 14:16:05 +0200 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-09-05 10:39:08 +0200 |
| commit | 37d6c2bfff6c0b972d75d611be9e634ac0ad64f8 (patch) | |
| tree | 55ed671bd80545c8d65b13887883020c819afd78 /src/server/scripts | |
| parent | 62728e7ea5f17260d9789e41b50fc21f4672c62c (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.cpp | 51 |
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(); |
