diff options
author | SnapperRy <snapperryen@gmail.com> | 2016-10-08 21:13:05 +0200 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-09-05 11:43:29 +0200 |
commit | fa06aad708642ffdf20c1fd20a1d796d5eaf47a4 (patch) | |
tree | b71232e3f308ba39dfc187b810ada86a9a09c85e | |
parent | 0961b174476ea4aa42f6da7e24c44f135a794037 (diff) |
Core/Wintergrasp: cleanup and codestyle.
(cherry picked from commit eb1a7297cfa6cd9e2e516161d4f101f936f78aa2)
4 files changed, 9 insertions, 157 deletions
diff --git a/sql/updates/world/master/2017_09_05_07_world_2016_10_08_06_world_335.sql b/sql/updates/world/master/2017_09_05_07_world_2016_10_08_06_world_335.sql new file mode 100644 index 00000000000..84663326d90 --- /dev/null +++ b/sql/updates/world/master/2017_09_05_07_world_2016_10_08_06_world_335.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_template` SET `ScriptName`="npc_wg_give_promotion_credit" WHERE `entry` IN (30739, 30740, 31036, 31051, 31052, 31053, 31054, 31091, 31101, 31102, 31106, 31107, 31151, 31153); diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp index 95a534124a9..4e6e275ee62 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp @@ -955,8 +955,6 @@ void BattlefieldWG::HandleKill(Player* killer, Unit* victim) if (victim->GetTypeId() == TYPEID_PLAYER) HandlePromotion(killer, victim); - return; - /// @todoRecent PvP activity worldstate } diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h index c855a392ad7..60ce0b7b7e2 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.h +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h @@ -203,26 +203,6 @@ enum WintergraspNpcs BATTLEFIELD_WG_NPC_GUARD_A = 30740, BATTLEFIELD_WG_NPC_STALKER = 15214, - BATTLEFIELD_WG_NPC_VIERON_BLAZEFEATHER = 31102, - BATTLEFIELD_WG_NPC_STONE_GUARD_MUKAR = 32296, // <WINTERGRASP QUARTERMASTER> - BATTLEFIELD_WG_NPC_HOODOO_MASTER_FU_JIN = 31101, // <MASTER HEXXER> - BATTLEFIELD_WG_NPC_CHAMPION_ROS_SLAI = 39173, // <WINTERGRASP QUARTERMASTER> - BATTLEFIELD_WG_NPC_COMMANDER_DARDOSH = 31091, - BATTLEFIELD_WG_NPC_TACTICAL_OFFICER_KILRATH = 31151, - BATTLEFIELD_WG_NPC_SIEGESMITH_STRONGHOOF = 31106, - BATTLEFIELD_WG_NPC_PRIMALIST_MULFORT = 31053, - BATTLEFIELD_WG_NPC_LIEUTENANT_MURP = 31107, - - BATTLEFIELD_WG_NPC_BOWYER_RANDOLPH = 31052, - BATTLEFIELD_WG_NPC_KNIGHT_DAMERON = 32294, // <WINTERGRASP QUARTERMASTER> - BATTLEFIELD_WG_NPC_SORCERESS_KAYLANA = 31051, // <ENCHANTRESS> - BATTLEFIELD_WG_NPC_MARSHAL_MAGRUDER = 39172, // <WINTERGRASP QUARTERMASTER> - BATTLEFIELD_WG_NPC_COMMANDER_ZANNETH = 31036, - BATTLEFIELD_WG_NPC_TACTICAL_OFFICER_AHBRAMIS = 31153, - BATTLEFIELD_WG_NPC_SIEGE_MASTER_STOUTHANDLE = 31108, - BATTLEFIELD_WG_NPC_ANCHORITE_TESSA = 31054, - BATTLEFIELD_WG_NPC_SENIOR_DEMOLITIONIST_LEGOSO = 31109, - NPC_TAUNKA_SPIRIT_GUIDE = 31841, // Horde spirit guide for Wintergrasp NPC_DWARVEN_SPIRIT_GUIDE = 31842, // Alliance spirit guide for Wintergrasp diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp index fae7663f00f..6d981d6c6e3 100644 --- a/src/server/scripts/Northrend/zone_wintergrasp.cpp +++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp @@ -384,120 +384,21 @@ class go_wg_vehicle_teleporter : public GameObjectScript } }; -class npc_wg_quest_giver : public CreatureScript +class npc_wg_give_promotion_credit : public CreatureScript { public: - npc_wg_quest_giver() : CreatureScript("npc_wg_quest_giver") { } + npc_wg_give_promotion_credit() : CreatureScript("npc_wg_give_promotion_credit") { } - bool OnGossipHello(Player* player, Creature* creature) override - { - Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG); - if (!wintergrasp) - return true; - - if (creature->IsVendor()) - AddGossipItemFor(player, Player::GetDefaultGossipMenuForSource(creature), 0, GOSSIP_SENDER_MAIN, GOSSIP_OPTION_VENDOR); - - /// @todo: move this to conditions or something else - - // Player::PrepareQuestMenu(guid) - if (creature->IsQuestGiver()) - { - QuestRelationBounds objectQR = sObjectMgr->GetCreatureQuestRelationBounds(creature->GetEntry()); - QuestRelationBounds objectQIR = sObjectMgr->GetCreatureQuestInvolvedRelationBounds(creature->GetEntry()); - - QuestMenu& qm = player->PlayerTalkClass->GetQuestMenu(); - qm.ClearMenu(); - - for (QuestRelations::const_iterator i = objectQIR.first; i != objectQIR.second; ++i) - { - uint32 questId = i->second; - QuestStatus status = player->GetQuestStatus(questId); - if (status == QUEST_STATUS_COMPLETE) - qm.AddMenuItem(questId, 4); - else if (status == QUEST_STATUS_INCOMPLETE) - qm.AddMenuItem(questId, 4); - //else if (status == QUEST_STATUS_AVAILABLE) - // qm.AddMenuItem(quest_id, 2); - } - - for (QuestRelations::const_iterator i = objectQR.first; i != objectQR.second; ++i) - { - uint32 questId = i->second; - Quest const* quest = sObjectMgr->GetQuestTemplate(questId); - if (!quest) - continue; - - if (!player->CanTakeQuest(quest, false)) - continue; - - switch (questId) - { - // Horde attacker - case QUEST_BONES_AND_ARROWS_HORDE_ATT: - case QUEST_JINXING_THE_WALLS_HORDE_ATT: - case QUEST_SLAY_THEM_ALL_HORDE_ATT: - case QUEST_FUELING_THE_DEMOLISHERS_HORDE_ATT: - case QUEST_HEALING_WITH_ROSES_HORDE_ATT: - case QUEST_DEFEND_THE_SIEGE_HORDE_ATT: - if (wintergrasp->GetAttackerTeam() != TEAM_HORDE) - continue; - break; - // Horde defender - case QUEST_BONES_AND_ARROWS_HORDE_DEF: - case QUEST_WARDING_THE_WALLS_HORDE_DEF: - case QUEST_SLAY_THEM_ALL_HORDE_DEF: - case QUEST_FUELING_THE_DEMOLISHERS_HORDE_DEF: - case QUEST_HEALING_WITH_ROSES_HORDE_DEF: - case QUEST_TOPPLING_THE_TOWERS_HORDE_DEF: - case QUEST_STOP_THE_SIEGE_HORDE_DEF: - if (wintergrasp->GetDefenderTeam() != TEAM_HORDE) - continue; - break; - // Alliance attacker - case QUEST_BONES_AND_ARROWS_ALLIANCE_ATT: - case QUEST_WARDING_THE_WARRIORS_ALLIANCE_ATT: - case QUEST_NO_MERCY_FOR_THE_MERCILESS_ALLIANCE_ATT: - case QUEST_DEFEND_THE_SIEGE_ALLIANCE_ATT: - case QUEST_A_RARE_HERB_ALLIANCE_ATT: - if (wintergrasp->GetAttackerTeam() != TEAM_ALLIANCE) - continue; - break; - // Alliance defender - case QUEST_BONES_AND_ARROWS_ALLIANCE_DEF: - case QUEST_WARDING_THE_WARRIORS_ALLIANCE_DEF: - case QUEST_NO_MERCY_FOR_THE_MERCILESS_ALLIANCE_DEF: - case QUEST_SHOUTHERN_SABOTAGE_ALLIANCE_DEF: - case QUEST_STOP_THE_SIEGE_ALLIANCE_DEF: - case QUEST_A_RARE_HERB_ALLIANCE_DEF: - if (wintergrasp->GetDefenderTeam() != TEAM_ALLIANCE) - continue; - break; - default: - break; - } - - if (quest->IsAutoComplete()) - qm.AddMenuItem(questId, 4); - else if (player->GetQuestStatus(questId) == QUEST_STATUS_NONE) - qm.AddMenuItem(questId, 2); - } - } - - SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); - return true; - } - - struct npc_wg_quest_giverAI : public ScriptedAI + struct npc_wg_give_promotion_creditAI : public ScriptedAI { - npc_wg_quest_giverAI(Creature* creature) : ScriptedAI(creature) { } + npc_wg_give_promotion_creditAI(Creature* creature) : ScriptedAI(creature) { } void JustDied(Unit* killer) override { if (killer->GetTypeId() != TYPEID_PLAYER) return; - BattlefieldWG* wintergrasp = (BattlefieldWG*)sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG); + BattlefieldWG* wintergrasp = static_cast<BattlefieldWG*>(sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG)); if (!wintergrasp) return; @@ -507,36 +408,8 @@ class npc_wg_quest_giver : public CreatureScript 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); + return new npc_wg_give_promotion_creditAI(creature); } - }; - - CreatureAI* GetAI(Creature* creature) const override - { - return new npc_wg_guardAI(creature); - } }; class spell_wintergrasp_force_building : public SpellScriptLoader @@ -728,8 +601,7 @@ void AddSC_wintergrasp() new npc_wg_spirit_guide(); new npc_wg_demolisher_engineer(); new go_wg_vehicle_teleporter(); - new npc_wg_quest_giver(); - new npc_wg_guard(); + new npc_wg_give_promotion_credit(); new spell_wintergrasp_force_building(); new spell_wintergrasp_grab_passenger(); new achievement_wg_didnt_stand_a_chance(); |