diff --git a/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp b/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp index 341407b15bc688..f000c3af618d0e 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedGossip.cpp @@ -8,13 +8,41 @@ #include "Player.h" #include "Creature.h" -void ClearGossipMenuFor(Player* player) { player->PlayerTalkClass->ClearMenus(); } +void ClearGossipMenuFor(Player* player) +{ + player->PlayerTalkClass->ClearMenus(); +} + // Using provided text, not from DB -void AddGossipItemFor(Player* player, uint32 icon, const char* text, uint32 sender, uint32 action) { player->PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, icon, text, sender, action, "", 0); } +void AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint32 sender, uint32 action) +{ + player->PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, icon, text, sender, action, "", 0); +} + // Using provided texts, not from DB -void AddGossipItemFor(Player* player, uint32 icon, const char* text, uint32 sender, uint32 action, const char* popupText, uint32 popupMoney, bool coded) { player->PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, icon, text, sender, action, popupText, popupMoney, coded); } +void AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint32 sender, uint32 action, std::string const& popupText, uint32 popupMoney, bool coded) +{ + player->PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, icon, text, sender, action, popupText, popupMoney, coded); +} + // Uses gossip item info from DB -void AddGossipItemFor(Player* player, uint32 gossipMenuID, uint32 gossipMenuItemID, uint32 sender, uint32 action) { player->PlayerTalkClass->GetGossipMenu().AddMenuItem(gossipMenuID, gossipMenuItemID, sender, action); } -void SendGossipMenuFor(Player* player, uint32 npcTextID, uint64 const& guid) { player->PlayerTalkClass->SendGossipMenu(npcTextID, guid); } -void SendGossipMenuFor(Player* player, uint32 npcTextID, Creature const* creature) { if (creature) SendGossipMenuFor(player, npcTextID, creature->GetGUID()); } -void CloseGossipMenuFor(Player* player) { player->PlayerTalkClass->SendCloseGossip(); } +void AddGossipItemFor(Player* player, uint32 gossipMenuID, uint32 gossipMenuItemID, uint32 sender, uint32 action) +{ + player->PlayerTalkClass->GetGossipMenu().AddMenuItem(gossipMenuID, gossipMenuItemID, sender, action); +} + +void SendGossipMenuFor(Player* player, uint32 npcTextID, uint64 const& guid) +{ + player->PlayerTalkClass->SendGossipMenu(npcTextID, guid); +} + +void SendGossipMenuFor(Player* player, uint32 npcTextID, Creature const* creature) +{ + if (creature) + SendGossipMenuFor(player, npcTextID, creature->GetGUID()); +} + +void CloseGossipMenuFor(Player* player) +{ + player->PlayerTalkClass->SendCloseGossip(); +} diff --git a/src/server/game/AI/ScriptedAI/ScriptedGossip.h b/src/server/game/AI/ScriptedAI/ScriptedGossip.h index 635c7ad9585323..926f59f839b9c6 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedGossip.h +++ b/src/server/game/AI/ScriptedAI/ScriptedGossip.h @@ -1,5 +1,5 @@ /* Copyright (C) 2016+ AzerothCore , released under GNU GPL v2 license: https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-GPL2 - * + * * * This program is free software licensed under GPL version 2 * Please see the included DOCS/LICENSE.TXT for more information */ @@ -69,19 +69,27 @@ enum eTradeskill }; class Creature; + +// Clear menu void ClearGossipMenuFor(Player* player); + // Using provided text, not from DB -void AddGossipItemFor(Player* player, uint32 icon, const char* text, uint32 sender, uint32 action); +void AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint32 sender, uint32 action); + // Using provided texts, not from DB -void AddGossipItemFor(Player* player, uint32 icon, const char* text, uint32 sender, uint32 action, const char* popupText, uint32 popupMoney, bool coded); +void AddGossipItemFor(Player* player, uint32 icon, std::string const& text, uint32 sender, uint32 action, std::string const& popupText, uint32 popupMoney, bool coded); + // Uses gossip item info from DB void AddGossipItemFor(Player* player, uint32 gossipMenuID, uint32 gossipMenuItemID, uint32 sender, uint32 action); + +// Send menu text void SendGossipMenuFor(Player* player, uint32 npcTextID, uint64 const& guid); void SendGossipMenuFor(Player* player, uint32 npcTextID, Creature const* creature); -void CloseGossipMenuFor(Player* player); -// Defined fuctions to use with player. +// Close menu +void CloseGossipMenuFor(Player* player); +/// Old macro. Need delete later // This fuction add's a menu item, // a - Icon Id // b - Text @@ -89,13 +97,13 @@ void CloseGossipMenuFor(Player* player); // d - Action (identifys this Menu Item) // e - Text to be displayed in pop up box // f - Money value in pop up box -#define ADD_GOSSIP_ITEM(a, b, c, d) PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, a, b, c, d, "", 0) +#define ADD_GOSSIP_ITEM(a, b, c, d) PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, a, b, c, d, "", 0) #define ADD_GOSSIP_ITEM_EXTENDED(a, b, c, d, e, f, g) PlayerTalkClass->GetGossipMenu().AddMenuItem(-1, a, b, c, d, e, f, g) // This fuction Sends the current menu to show to client, a - NPCTEXTID(uint32), b - npc guid(uint64) -#define SEND_GOSSIP_MENU(a, b) PlayerTalkClass->SendGossipMenu(a, b) +#define SEND_GOSSIP_MENU(a, b) PlayerTalkClass->SendGossipMenu(a, b) // Closes the Menu -#define CLOSE_GOSSIP_MENU() PlayerTalkClass->SendCloseGossip() +#define CLOSE_GOSSIP_MENU() PlayerTalkClass->SendCloseGossip() #endif diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 8f73be4f9fcbcb..8cc9e53ccf4550 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -2508,9 +2508,9 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u if (e.action.sendGossipMenu.gossipMenuId) player->PrepareGossipMenu(GetBaseObject(), e.action.sendGossipMenu.gossipMenuId, true); else - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); - player->SEND_GOSSIP_MENU(e.action.sendGossipMenu.gossipNpcTextId, GetBaseObject()->GetGUID()); + SendGossipMenuFor(player, e.action.sendGossipMenu.gossipNpcTextId, GetBaseObject()->GetGUID()); } delete targets; diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index d6905da2643760..0e7b5f2475014c 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -15,6 +15,7 @@ #include "Formulas.h" #include "GameEventMgr.h" #include "GossipDef.h" +#include "ScriptedGossip.h" #include "GridNotifiers.h" #include "GridNotifiersImpl.h" #include "Group.h" @@ -914,12 +915,12 @@ bool Creature::isCanInteractWithBattleMaster(Player* player, bool msg) const if (!player->GetBGAccessByLevel(bgTypeId)) { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (bgTypeId) { - case BATTLEGROUND_AV: player->PlayerTalkClass->SendGossipMenu(7616, GetGUID()); break; - case BATTLEGROUND_WS: player->PlayerTalkClass->SendGossipMenu(7599, GetGUID()); break; - case BATTLEGROUND_AB: player->PlayerTalkClass->SendGossipMenu(7642, GetGUID()); break; + case BATTLEGROUND_AV: SendGossipMenuFor(player, 7616, this); break; + case BATTLEGROUND_WS: SendGossipMenuFor(player, 7599, this); break; + case BATTLEGROUND_AB: SendGossipMenuFor(player, 7642, this); break; case BATTLEGROUND_EY: case BATTLEGROUND_NA: case BATTLEGROUND_BE: @@ -927,7 +928,7 @@ bool Creature::isCanInteractWithBattleMaster(Player* player, bool msg) const case BATTLEGROUND_RL: case BATTLEGROUND_SA: case BATTLEGROUND_DS: - case BATTLEGROUND_RV: player->PlayerTalkClass->SendGossipMenu(10024, GetGUID()); break; + case BATTLEGROUND_RV: SendGossipMenuFor(player, 10024, this); break; default: break; } return false; diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index a3e06e2a90c48a..d6df4b70912460 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -17,6 +17,7 @@ #include "SpellInfo.h" #include "SpellScript.h" #include "GossipDef.h" +#include "ScriptedGossip.h" #include "CreatureAI.h" #include "Player.h" #include "WorldPacket.h" @@ -765,7 +766,7 @@ bool ScriptMgr::OnQuestAccept(Player* player, Item* item, Quest const* quest) #endif GET_SCRIPT_RET(ItemScript, item->GetScriptId(), tmpscript, false); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); return tmpscript->OnQuestAccept(player, item, quest); } @@ -857,7 +858,7 @@ bool ScriptMgr::OnGossipHello(Player* player, Creature* creature) return true; #endif GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, false); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); return tmpscript->OnGossipHello(player, creature); } @@ -893,7 +894,7 @@ bool ScriptMgr::OnQuestAccept(Player* player, Creature* creature, Quest const* q ASSERT(quest); GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, false); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); return tmpscript->OnQuestAccept(player, creature, quest); } @@ -904,7 +905,7 @@ bool ScriptMgr::OnQuestSelect(Player* player, Creature* creature, Quest const* q ASSERT(quest); GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, false); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); return tmpscript->OnQuestSelect(player, creature, quest); } @@ -915,7 +916,7 @@ bool ScriptMgr::OnQuestComplete(Player* player, Creature* creature, Quest const* ASSERT(quest); GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, false); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); return tmpscript->OnQuestComplete(player, creature, quest); } @@ -927,12 +928,12 @@ bool ScriptMgr::OnQuestReward(Player* player, Creature* creature, Quest const* q #ifdef ELUNA if (sEluna->OnQuestReward(player, creature, quest, opt)) { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); return false; } #endif GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, false); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); return tmpscript->OnQuestReward(player, creature, quest, opt); } @@ -942,7 +943,7 @@ uint32 ScriptMgr::GetDialogStatus(Player* player, Creature* creature) ASSERT(creature); GET_SCRIPT_RET(CreatureScript, creature->GetScriptId(), tmpscript, DIALOG_STATUS_SCRIPTED_NO_STATUS); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); return tmpscript->GetDialogStatus(player, creature); } @@ -980,7 +981,7 @@ bool ScriptMgr::OnGossipHello(Player* player, GameObject* go) return true; #endif GET_SCRIPT_RET(GameObjectScript, go->GetScriptId(), tmpscript, false); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); return tmpscript->OnGossipHello(player, go); } @@ -1016,7 +1017,7 @@ bool ScriptMgr::OnQuestAccept(Player* player, GameObject* go, Quest const* quest ASSERT(quest); GET_SCRIPT_RET(GameObjectScript, go->GetScriptId(), tmpscript, false); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); return tmpscript->OnQuestAccept(player, go, quest); } @@ -1034,7 +1035,7 @@ bool ScriptMgr::OnQuestReward(Player* player, GameObject* go, Quest const* quest return false; #endif GET_SCRIPT_RET(GameObjectScript, go->GetScriptId(), tmpscript, false); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); return tmpscript->OnQuestReward(player, go, quest, opt); } @@ -1044,7 +1045,7 @@ uint32 ScriptMgr::GetDialogStatus(Player* player, GameObject* go) ASSERT(go); GET_SCRIPT_RET(GameObjectScript, go->GetScriptId(), tmpscript, DIALOG_STATUS_SCRIPTED_NO_STATUS); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); return tmpscript->GetDialogStatus(player, go); } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp index 0e4807d0f9ef27..b0709abb36b054 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp @@ -20,7 +20,7 @@ class go_shadowforge_brazier : public GameObjectScript public: go_shadowforge_brazier() : GameObjectScript("go_shadowforge_brazier") { } - bool OnGossipHello(Player* /*player*/, GameObject* go) + bool OnGossipHello(Player* /*player*/, GameObject* go) override { if (InstanceScript* instance = go->GetInstanceScript()) { @@ -398,46 +398,46 @@ class npc_kharan_mighthammer : public CreatureScript public: npc_kharan_mighthammer() : CreatureScript("npc_kharan_mighthammer") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(2475, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, 2475, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); - player->SEND_GOSSIP_MENU(2476, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); + SendGossipMenuFor(player, 2476, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+3: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4); - player->SEND_GOSSIP_MENU(2477, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4); + SendGossipMenuFor(player, 2477, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+4: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); - player->SEND_GOSSIP_MENU(2478, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); + SendGossipMenuFor(player, 2478, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+5: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_7, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6); - player->SEND_GOSSIP_MENU(2479, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_7, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6); + SendGossipMenuFor(player, 2479, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+6: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_8, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+7); - player->SEND_GOSSIP_MENU(2480, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_8, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+7); + SendGossipMenuFor(player, 2480, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+7: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_9, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+8); - player->SEND_GOSSIP_MENU(2481, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_9, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+8); + SendGossipMenuFor(player, 2481, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+8: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_10, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+9); - player->SEND_GOSSIP_MENU(2482, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_10, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+9); + SendGossipMenuFor(player, 2482, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+9: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (player->GetTeamId() == TEAM_HORDE) player->AreaExploredOrEventHappens(QUEST_4001); else @@ -447,21 +447,21 @@ class npc_kharan_mighthammer : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(QUEST_4001) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); if (player->GetQuestStatus(4342) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KHARAN_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); if (player->GetTeamId() == TEAM_HORDE) - player->SEND_GOSSIP_MENU(2473, creature->GetGUID()); + SendGossipMenuFor(player, 2473, creature->GetGUID()); else - player->SEND_GOSSIP_MENU(2474, creature->GetGUID()); + SendGossipMenuFor(player, 2474, creature->GetGUID()); return true; } @@ -492,12 +492,12 @@ class npc_lokhtos_darkbargainer : public CreatureScript public: npc_lokhtos_darkbargainer() : CreatureScript("npc_lokhtos_darkbargainer") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF + 1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, SPELL_CREATE_THORIUM_BROTHERHOOD_CONTRACT_DND, false); } if (action == GOSSIP_ACTION_TRADE) @@ -506,25 +506,25 @@ class npc_lokhtos_darkbargainer : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor() && player->GetReputationRank(59) >= REP_FRIENDLY) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_ITEM_SHOW_ACCESS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_ITEM_SHOW_ACCESS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); if (player->GetQuestRewardStatus(QUEST_A_BINDING_CONTRACT) != 1 && !player->HasItemCount(ITEM_THRORIUM_BROTHERHOOD_CONTRACT, 1, true) && player->HasItemCount(ITEM_SULFURON_INGOT)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_GET_CONTRACT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_GET_CONTRACT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); } if (player->GetReputationRank(59) < REP_FRIENDLY) - player->SEND_GOSSIP_MENU(3673, creature->GetGUID()); + SendGossipMenuFor(player, 3673, creature->GetGUID()); else - player->SEND_GOSSIP_MENU(3677, creature->GetGUID()); + SendGossipMenuFor(player, 3677, creature->GetGUID()); return true; } @@ -556,12 +556,12 @@ class npc_dughal_stormwing : public CreatureScript return dughal_stormwingAI; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF + 1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); CAST_AI(npc_escort::npc_escortAI, (creature->AI()))->Start(false, true, player->GetGUID()); creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); instance->SetData(DATA_QUEST_JAIL_BREAK, ENCOUNTER_STATE_IN_PROGRESS); @@ -569,12 +569,12 @@ class npc_dughal_stormwing : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_JAIL_BREAK) == QUEST_STATUS_INCOMPLETE && instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_IN_PROGRESS) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DUGHAL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(2846, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_DUGHAL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, 2846, creature->GetGUID()); } return true; } @@ -1070,10 +1070,10 @@ class npc_tobias_seecher : public CreatureScript bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF + 1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); CAST_AI(npc_escort::npc_escortAI, (creature->AI()))->Start(false, true, player->GetGUID()); creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); instance->SetData(DATA_TOBIAS, ENCOUNTER_STATE_IN_PROGRESS); @@ -1081,12 +1081,12 @@ class npc_tobias_seecher : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_JAIL_BREAK) == QUEST_STATUS_INCOMPLETE && instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_IN_PROGRESS) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Get out of here, Tobias, you're free!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(2847, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Get out of here, Tobias, you're free!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, 2847, creature->GetGUID()); } return true; } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp index a2681f8f760cee..f8a127c0f9bcc1 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp @@ -36,25 +36,25 @@ class boss_gloomrel : public CreatureScript public: boss_gloomrel() : CreatureScript("boss_gloomrel") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TEACH_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11); - player->SEND_GOSSIP_MENU(2606, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_TEACH_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11); + SendGossipMenuFor(player, 2606, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+11: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, SPELL_LEARN_SMELT, false); break; case GOSSIP_ACTION_INFO_DEF+2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TEACH_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 22); - player->SEND_GOSSIP_MENU(2604, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_TEACH_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 22); + SendGossipMenuFor(player, 2604, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+22: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (InstanceScript* instance = creature->GetInstanceScript()) { //are 5 minutes expected? go template may have data to despawn when used at quest @@ -65,15 +65,15 @@ class boss_gloomrel : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestRewardStatus(QUEST_SPECTRAL_CHALICE) == 1 && player->GetSkillValue(SKILL_MINING) >= DATA_SKILLPOINT_MIN && !player->HasSpell(SPELL_SMELT_DARK_IRON)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TEACH_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_TEACH_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); if (player->GetQuestRewardStatus(QUEST_SPECTRAL_CHALICE) == 0 && player->GetSkillValue(SKILL_MINING) >= DATA_SKILLPOINT_MIN) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TRIBUTE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_TRIBUTE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } }; @@ -95,17 +95,17 @@ class boss_doomrel : public CreatureScript public: boss_doomrel() : CreatureScript("boss_doomrel") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_DOOMREL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->SEND_GOSSIP_MENU(2605, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SELECT_DOOMREL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + SendGossipMenuFor(player, 2605, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); //start event here creature->setFaction(FACTION_HOSTILE); creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); @@ -118,15 +118,15 @@ class boss_doomrel : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_CHALLENGE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(2601, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_CHALLENGE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, 2601, creature->GetGUID()); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return GetInstanceAI(creature); } @@ -145,7 +145,7 @@ class boss_doomrel : public CreatureScript uint32 DemonArmor_Timer; bool Voidwalkers; - void Reset() + void Reset() override { ShadowVolley_Timer = 10000; Immolate_Timer = 18000; @@ -164,11 +164,11 @@ class boss_doomrel : public CreatureScript me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); } - void EnterCombat(Unit* /*who*/) + void EnterCombat(Unit* /*who*/) override { } - void EnterEvadeMode() + void EnterEvadeMode() override { me->RemoveAllAuras(); me->DeleteThreatList(); @@ -180,12 +180,12 @@ class boss_doomrel : public CreatureScript instance->SetData64(DATA_EVENSTARTER, 0); } - void JustDied(Unit* /*killer*/) + void JustDied(Unit* /*killer*/) override { instance->SetData(DATA_GHOSTKILL, 1); } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) return; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp index a08a0c51743f15..a981a1aa15154f 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp @@ -372,7 +372,7 @@ class boss_victor_nefarius : public CreatureScript if (!instance || instance->GetBossState(BOSS_NEFARIAN) == DONE) return; - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); Talk(SAY_GAMESBEGIN_1); BeginEvent(player); } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp index 49acc1e8935dbe..06e3a53f75a324 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp @@ -151,7 +151,7 @@ class go_orb_of_domination : public GameObjectScript public: go_orb_of_domination() : GameObjectScript("go_orb_of_domination") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (InstanceScript* instance = go->GetInstanceScript()) if (instance->GetData(DATA_EGG_EVENT) != DONE) diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp index 38eb0298657538..65786d0933ba05 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp @@ -208,7 +208,7 @@ class boss_vaelastrasz : public CreatureScript { if (sender == GOSSIP_ID && action == 0) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); BeginSpeech(player); } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp index ed52f686069229..a2660a28100878 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp @@ -66,13 +66,13 @@ class boss_majordomo : public CreatureScript { } - void KilledUnit(Unit* /*victim*/) + void KilledUnit(Unit* /*victim*/) override { if (urand(0, 99) < 25) Talk(SAY_SLAY); } - void EnterCombat(Unit* who) + void EnterCombat(Unit* who) override { BossAI::EnterCombat(who); Talk(SAY_AGGRO); @@ -84,7 +84,7 @@ class boss_majordomo : public CreatureScript me->CallForHelp(30); } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { if (instance->GetBossState(BOSS_MAJORDOMO_EXECUTUS) != DONE) { @@ -163,7 +163,7 @@ class boss_majordomo : public CreatureScript } } - void DoAction(int32 action) + void DoAction(int32 action) override { if (action == ACTION_START_RAGNAROS && events.GetNextEventTime(EVENT_OUTRO_2) == 0) { @@ -180,21 +180,21 @@ class boss_majordomo : public CreatureScript } }; - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(GOSSIP_HELLO, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SELECT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + SendGossipMenuFor(player, GOSSIP_HELLO, creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) override { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->AI()->DoAction(ACTION_START_RAGNAROS); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return GetInstanceAI(creature); } diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp index e9ec90584ee1ad..d3f2fbee76030e 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp @@ -272,7 +272,7 @@ class boss_nightbane : public CreatureScript } else me->GetMotionMaster()->MovePoint(MovePhase, IntroWay[MovePhase][0], IntroWay[MovePhase][1], IntroWay[MovePhase][2]); - + MovePhase = 0; } @@ -295,14 +295,14 @@ class boss_nightbane : public CreatureScript { DoCastVictim(SPELL_BELLOWING_ROAR); BellowingRoarTimer = urand(30000, 40000); - } else + } else BellowingRoarTimer -= diff; if (SmolderingBreathTimer <= diff) { DoCastVictim(SPELL_SMOLDERING_BREATH); SmolderingBreathTimer = 20000; - } else + } else SmolderingBreathTimer -= diff; if (CharredEarthTimer <= diff) @@ -310,7 +310,7 @@ class boss_nightbane : public CreatureScript if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(target, SPELL_CHARRED_EARTH); CharredEarthTimer = 20000; - } else + } else CharredEarthTimer -= diff; if (TailSweepTimer <= diff) @@ -319,7 +319,7 @@ class boss_nightbane : public CreatureScript if (!me->HasInArc(M_PI, target)) DoCast(target, SPELL_TAIL_SWEEP); TailSweepTimer = 15000; - } else + } else TailSweepTimer -= diff; if (SearingCindersTimer <= diff) @@ -327,7 +327,7 @@ class boss_nightbane : public CreatureScript if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(target, SPELL_SEARING_CINDERS); SearingCindersTimer = 10000; - } else + } else SearingCindersTimer -= diff; uint32 Prozent = uint32(me->GetHealthPct()); @@ -363,7 +363,7 @@ class boss_nightbane : public CreatureScript DoCastVictim(SPELL_RAIN_OF_BONES); RainBones = true; SmokingBlastTimer = 20000; - } else + } else RainofBonesTimer -= diff; if (DistractingAshTimer <= diff) @@ -371,7 +371,7 @@ class boss_nightbane : public CreatureScript if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(target, SPELL_DISTRACTING_ASH); DistractingAshTimer = 2000; //timer wrong - } else + } else DistractingAshTimer -= diff; } @@ -381,7 +381,7 @@ class boss_nightbane : public CreatureScript { DoCastVictim(SPELL_SMOKING_BLAST); SmokingBlastTimer = 1500; //timer wrong - } else + } else SmokingBlastTimer -= diff; } @@ -390,7 +390,7 @@ class boss_nightbane : public CreatureScript if (Unit* target = SelectTarget(SELECT_TARGET_FARTHEST, 0)) DoCast(target, SPELL_FIREBALL_BARRAGE); FireballBarrageTimer = 20000; - } else + } else FireballBarrageTimer -= diff; if (FlyTimer <= diff) //landing @@ -401,7 +401,7 @@ class boss_nightbane : public CreatureScript me->GetMotionMaster()->MovePoint(3, IntroWay[3][0], IntroWay[3][1], IntroWay[3][2]); Flying = true; - } else + } else FlyTimer -= diff; } } @@ -414,14 +414,15 @@ class go_blackened_urn : public GameObjectScript public: go_blackened_urn() : GameObjectScript("go_blackened_urn") { } - bool OnGossipHello(Player* pPlayer, GameObject *pGo) + bool OnGossipHello(Player* player, GameObject* go) override { - if (InstanceScript* pInstance = pGo->GetInstanceScript()) + if (InstanceScript* pInstance = go->GetInstanceScript()) { - if (pInstance->GetData(DATA_NIGHTBANE) != DONE && !pGo->FindNearestCreature(NPC_NIGHTBANE, 40.0f)) - if (Creature *cr = ObjectAccessor::GetCreature(*pPlayer, pInstance->GetData64(DATA_NIGHTBANE))) + if (pInstance->GetData(DATA_NIGHTBANE) != DONE && !go->FindNearestCreature(NPC_NIGHTBANE, 40.0f)) + if (Creature *cr = ObjectAccessor::GetCreature(*player, pInstance->GetData64(DATA_NIGHTBANE))) cr->GetMotionMaster()->MovePoint(0, IntroWay[0][0], IntroWay[0][1], IntroWay[0][2]); } + return false; } }; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp index d639e8189155ed..7759a1fc5f9c30 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp @@ -193,7 +193,7 @@ class boss_dorothee : public CreatureScript { me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); AggroTimer = 0; - } else + } else AggroTimer -= diff; } @@ -204,21 +204,21 @@ class boss_dorothee : public CreatureScript { DoCast(SelectTarget(SELECT_TARGET_RANDOM, 0), SPELL_WATERBOLT); WaterBoltTimer = TitoDied ? 1500 : 5000; - } else + } else WaterBoltTimer -= diff; if (FearTimer <= diff) { DoCastVictim(SPELL_SCREAM); FearTimer = 30000; - } else + } else FearTimer -= diff; if (!SummonedTito) { if (SummonTitoTimer <= diff) SummonTito(); - else + else SummonTitoTimer -= diff; } @@ -250,7 +250,7 @@ class npc_tito : public CreatureScript YipTimer = 10000; } - void EnterCombat(Unit* /*who*/) + void EnterCombat(Unit* /*who*/) { DoZoneInCombat(); } @@ -277,7 +277,7 @@ class npc_tito : public CreatureScript { DoCastVictim(SPELL_YIPPING); YipTimer = 10000; - } else + } else YipTimer -= diff; DoMeleeAttackIfReady(); @@ -388,7 +388,7 @@ class boss_strawman : public CreatureScript { me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); AggroTimer = 0; - } else + } else AggroTimer -= diff; } @@ -399,7 +399,7 @@ class boss_strawman : public CreatureScript { DoCastVictim(SPELL_BRAIN_BASH); BrainBashTimer = 15000; - } else + } else BrainBashTimer -= diff; if (BrainWipeTimer <= diff) @@ -407,7 +407,7 @@ class boss_strawman : public CreatureScript if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(target, SPELL_BRAIN_WIPE); BrainWipeTimer = 20000; - } else + } else BrainWipeTimer -= diff; DoMeleeAttackIfReady(); @@ -497,7 +497,7 @@ class boss_tinhead : public CreatureScript { me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); AggroTimer = 0; - } else + } else AggroTimer -= diff; } @@ -508,7 +508,7 @@ class boss_tinhead : public CreatureScript { DoCastVictim(SPELL_CLEAVE); CleaveTimer = 5000; - } else + } else CleaveTimer -= diff; if (RustCount < 8) @@ -519,7 +519,7 @@ class boss_tinhead : public CreatureScript Talk(EMOTE_RUST); DoCast(me, SPELL_RUST); RustTimer = 6000; - } else + } else RustTimer -= diff; } @@ -608,7 +608,7 @@ class boss_roar : public CreatureScript { me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); AggroTimer = 0; - } else + } else AggroTimer -= diff; } @@ -619,21 +619,21 @@ class boss_roar : public CreatureScript { DoCastVictim(SPELL_MANGLE); MangleTimer = urand(5000, 8000); - } else + } else MangleTimer -= diff; if (ShredTimer <= diff) { DoCastVictim(SPELL_SHRED); ShredTimer = urand(10000, 15000); - } else + } else ShredTimer -= diff; if (ScreamTimer <= diff) { DoCastVictim(SPELL_FRIGHTENED_SCREAM); ScreamTimer = urand(20000, 30000); - } else + } else ScreamTimer -= diff; DoMeleeAttackIfReady(); @@ -710,14 +710,14 @@ class boss_crone : public CreatureScript if (Creature* Cyclone = DoSpawnCreature(CREATURE_CYCLONE, float(urand(0, 9)), float(urand(0, 9)), 0, 0, TEMPSUMMON_TIMED_DESPAWN, 15000)) Cyclone->CastSpell(Cyclone, SPELL_CYCLONE_VISUAL, true); CycloneTimer = 22000; - } else + } else CycloneTimer -= diff; if (ChainLightningTimer <= diff) { DoCastVictim(SPELL_CHAIN_LIGHTNING); ChainLightningTimer = 8000; - } else + } else ChainLightningTimer -= diff; DoMeleeAttackIfReady(); @@ -764,7 +764,7 @@ class npc_cyclone : public CreatureScript me->GetRandomNearPosition(pos, 10); me->GetMotionMaster()->MovePoint(0, pos); MoveTimer = urand(3000, 5000); - } else + } else MoveTimer -= diff; } }; @@ -797,9 +797,9 @@ class npc_grandmother : public CreatureScript public: npc_grandmother() : CreatureScript("npc_grandmother") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF) { if (Creature* pBigBadWolf = creature->SummonCreature(CREATURE_BIG_BAD_WOLF, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, HOUR*2*IN_MILLISECONDS)) @@ -811,10 +811,10 @@ class npc_grandmother : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_GRANDMA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(8990, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_GRANDMA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + SendGossipMenuFor(player, 8990, creature->GetGUID()); return true; } @@ -927,7 +927,7 @@ class boss_bigbadwolf : public CreatureScript ChaseTimer = 40000; } - } else + } else ChaseTimer -= diff; if (IsChasing) @@ -937,14 +937,14 @@ class boss_bigbadwolf : public CreatureScript { DoCastVictim(SPELL_TERRIFYING_HOWL); FearTimer = urand(25000, 35000); - } else + } else FearTimer -= diff; if (SwipeTimer <= diff) { DoCastVictim(SPELL_WIDE_SWIPE); SwipeTimer = urand(25000, 30000); - } else + } else SwipeTimer -= diff; } }; @@ -1314,7 +1314,7 @@ class boss_romulo : public CreatureScript JulianneDead = false; ResurrectTimer = 10000; } - } else + } else ResurrectTimer -= diff; } @@ -1326,14 +1326,14 @@ class boss_romulo : public CreatureScript DoCast(target, SPELL_BACKWARD_LUNGE); BackwardLungeTimer = urand(15000, 30000); } - } else + } else BackwardLungeTimer -= diff; if (DaringTimer <= diff) { DoCast(me, SPELL_DARING); DaringTimer = urand(20000, 40000); - } else + } else DaringTimer -= diff; if (DeadlySwatheTimer <= diff) @@ -1341,14 +1341,14 @@ class boss_romulo : public CreatureScript if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(target, SPELL_DEADLY_SWATHE); DeadlySwatheTimer = urand(15000, 25000); - } else + } else DeadlySwatheTimer -= diff; if (PoisonThrustTimer <= diff) { DoCastVictim(SPELL_POISON_THRUST); PoisonThrustTimer = urand(10000, 20000); - } else + } else PoisonThrustTimer -= diff; DoMeleeAttackIfReady(); @@ -1364,7 +1364,7 @@ void boss_julianne::boss_julianneAI::UpdateAI(uint32 diff) { Talk(SAY_JULIANNE_ENTER); EntryYellTimer = 0; - } else + } else EntryYellTimer -= diff; } @@ -1376,7 +1376,7 @@ void boss_julianne::boss_julianneAI::UpdateAI(uint32 diff) me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); me->setFaction(16); AggroYellTimer = 0; - } else + } else AggroYellTimer -= diff; } @@ -1389,7 +1389,7 @@ void boss_julianne::boss_julianneAI::UpdateAI(uint32 diff) Phase = PHASE_ROMULO; SummonRomuloTimer = 10000; DrinkPoisonTimer = 0; - } else + } else DrinkPoisonTimer -= diff; } @@ -1407,7 +1407,7 @@ void boss_julianne::boss_julianneAI::UpdateAI(uint32 diff) pRomulo->setFaction(16); } SummonedRomulo = true; - } else + } else SummonRomuloTimer -= diff; } @@ -1424,7 +1424,7 @@ void boss_julianne::boss_julianneAI::UpdateAI(uint32 diff) ResurrectSelfTimer = 0; ResurrectTimer = 1000; - } else + } else ResurrectSelfTimer -= diff; } @@ -1444,7 +1444,7 @@ void boss_julianne::boss_julianneAI::UpdateAI(uint32 diff) RomuloDead = false; ResurrectTimer = 10000; } - } else + } else ResurrectTimer -= diff; } @@ -1453,21 +1453,21 @@ void boss_julianne::boss_julianneAI::UpdateAI(uint32 diff) if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(target, SPELL_BLINDING_PASSION); BlindingPassionTimer = urand(30000, 45000); - } else + } else BlindingPassionTimer -= diff; if (DevotionTimer <= diff) { DoCast(me, SPELL_DEVOTION); DevotionTimer = urand(15000, 45000); - } else + } else DevotionTimer -= diff; if (PowerfulAttractionTimer <= diff) { DoCast(SelectTarget(SELECT_TARGET_RANDOM, 0), SPELL_POWERFUL_ATTRACTION); PowerfulAttractionTimer = urand(5000, 30000); - } else + } else PowerfulAttractionTimer -= diff; if (EternalAffectionTimer <= diff) @@ -1480,7 +1480,7 @@ void boss_julianne::boss_julianneAI::UpdateAI(uint32 diff) } else DoCast(me, SPELL_ETERNAL_AFFECTION); EternalAffectionTimer = urand(45000, 60000); - } else + } else EternalAffectionTimer -= diff; DoMeleeAttackIfReady(); diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp index ff76f433dcd4ce..eeb8e392762d0a 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp @@ -136,7 +136,7 @@ class npc_barnes : public CreatureScript bool PerformanceReady; bool RaidWiped; - void Reset() + void Reset() override { m_uiSpotlightGUID = 0; @@ -160,9 +160,9 @@ class npc_barnes : public CreatureScript Start(false, false); } - void EnterCombat(Unit* /*who*/) { } + void EnterCombat(Unit* /*who*/) override { } - void WaypointReached(uint32 waypointId) + void WaypointReached(uint32 waypointId) override { switch (waypointId) { @@ -266,7 +266,7 @@ class npc_barnes : public CreatureScript RaidWiped = false; } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { npc_escortAI::UpdateAI(diff); @@ -326,31 +326,31 @@ class npc_barnes : public CreatureScript } }; - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); npc_barnesAI* pBarnesAI = CAST_AI(npc_barnes::npc_barnesAI, creature->AI()); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, OZ_GOSSIP2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(8971, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, OZ_GOSSIP2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, 8971, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); pBarnesAI->StartEvent(); break; case GOSSIP_ACTION_INFO_DEF+3: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); pBarnesAI->m_uiEventId = EVENT_OZ; break; case GOSSIP_ACTION_INFO_DEF+4: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); pBarnesAI->m_uiEventId = EVENT_HOOD; break; case GOSSIP_ACTION_INFO_DEF+5: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); pBarnesAI->m_uiEventId = EVENT_RAJ; break; } @@ -358,39 +358,39 @@ class npc_barnes : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (InstanceScript* instance = creature->GetInstanceScript()) { // Check for death of Moroes and if opera event is not done already if (instance->GetBossState(DATA_MOROES) == DONE && instance->GetBossState(DATA_OPERA_PERFORMANCE) != DONE) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, OZ_GOSSIP1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, OZ_GOSSIP1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); if (player->IsGameMaster()) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, OZ_GM_GOSSIP1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, OZ_GM_GOSSIP2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_DOT, OZ_GM_GOSSIP3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + AddGossipItemFor(player, GOSSIP_ICON_DOT, OZ_GM_GOSSIP1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_DOT, OZ_GM_GOSSIP2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); + AddGossipItemFor(player, GOSSIP_ICON_DOT, OZ_GM_GOSSIP3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); } if (npc_barnesAI* pBarnesAI = CAST_AI(npc_barnes::npc_barnesAI, creature->AI())) { if (!pBarnesAI->RaidWiped) - player->SEND_GOSSIP_MENU(8970, creature->GetGUID()); + SendGossipMenuFor(player, 8970, creature->GetGUID()); else - player->SEND_GOSSIP_MENU(8975, creature->GetGUID()); + SendGossipMenuFor(player, 8975, creature->GetGUID()); return true; } } } - player->SEND_GOSSIP_MENU(8978, creature->GetGUID()); + SendGossipMenuFor(player, 8978, creature->GetGUID()); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_barnesAI(creature); } @@ -550,7 +550,7 @@ class npc_image_of_medivh : public CreatureScript arca->DespawnOrUnsummon(100); return 5000; - default: + default: return 2000; } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index dacbc28e9060b4..0b0e0cd6656756 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -164,12 +164,12 @@ class npc_death_knight_initiate : public CreatureScript public: npc_death_knight_initiate() : CreatureScript("npc_death_knight_initiate") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (player->IsInCombat() || creature->IsInCombat()) return true; @@ -186,7 +186,7 @@ class npc_death_knight_initiate : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_DEATH_CHALLENGE) == QUEST_STATUS_INCOMPLETE && creature->IsFullHealth()) { @@ -197,14 +197,14 @@ class npc_death_knight_initiate : public CreatureScript return true; if (!creature->AI()->GetData(player->GetGUIDLow())) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ACCEPT_DUEL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ACCEPT_DUEL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); } return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_death_knight_initiateAI(creature); } @@ -219,7 +219,7 @@ class npc_death_knight_initiate : public CreatureScript std::set playerGUIDs; uint32 timer = 0; - uint32 GetData(uint32 data) const + uint32 GetData(uint32 data) const override { if (data == DATA_IN_PROGRESS) return _duelInProgress; @@ -227,7 +227,7 @@ class npc_death_knight_initiate : public CreatureScript return playerGUIDs.find(data) != playerGUIDs.end(); } - void Reset() + void Reset() override { _duelInProgress = false; _duelGUID = 0; @@ -237,7 +237,7 @@ class npc_death_knight_initiate : public CreatureScript me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_15); } - void SpellHit(Unit* caster, const SpellInfo* pSpell) + void SpellHit(Unit* caster, const SpellInfo* pSpell) override { if (!_duelInProgress && pSpell->Id == SPELL_DUEL) { @@ -257,7 +257,7 @@ class npc_death_knight_initiate : public CreatureScript } } - void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask) + void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask) override { if (attacker && _duelInProgress && attacker->IsControlledByPlayer()) { @@ -281,7 +281,7 @@ class npc_death_knight_initiate : public CreatureScript } } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { if (timer != 0) { @@ -508,7 +508,7 @@ class npc_scarlet_ghoul : public CreatureScript events.RepeatEvent(1000); return; } - + if (!UpdateVictim()) return; @@ -894,7 +894,7 @@ class go_acherus_soul_prison : public GameObjectScript public: go_acherus_soul_prison() : GameObjectScript("go_acherus_soul_prison") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (Creature* anchor = go->FindNearestCreature(29521, 15)) if (uint64 prisonerGUID = anchor->AI()->GetGUID()) @@ -1121,7 +1121,7 @@ class go_inconspicuous_mine_car : public GameObjectScript public: go_inconspicuous_mine_car() : GameObjectScript("go_inconspicuous_mine_car") { } - bool OnGossipHello(Player* player, GameObject* /*go*/) + bool OnGossipHello(Player* player, GameObject* /*go*/) override { if (player->GetQuestStatus(12701) == QUEST_STATUS_INCOMPLETE) { @@ -1139,6 +1139,7 @@ class go_inconspicuous_mine_car : public GameObjectScript } } } + return true; } diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp index fadf12f832b8f5..660f0c872ffdd9 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp @@ -286,7 +286,7 @@ const Position LightOfDawnPos[] = {2270.99f, -5278.00f, 81.89f, 0} // 15 Tirion Fordring loc4 }; -const Position LightOfDawnFightPos[] = +const Position LightOfDawnFightPos[] = { {2279.68f, -5256.75f, 79.79f, 4.8f}, {2280.40f, -5276.56f, 82.11f, 4.8f}, @@ -322,30 +322,30 @@ class npc_highlord_darion_mograine : public CreatureScript public: npc_highlord_darion_mograine() : CreatureScript("npc_highlord_darion_mograine") { } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_highlord_darion_mograineAI(creature); } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(12801) == QUEST_STATUS_INCOMPLETE && !creature->AI()->GetData(WORLD_STATE_SOLDIERS_ENABLE)) - player->ADD_GOSSIP_ITEM(0, "I am ready, Highlord. Let the siege of Light's Hope begin!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, 0, "I am ready, Highlord. Let the siege of Light's Hope begin!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { if (action == GOSSIP_ACTION_INFO_DEF+1) { - player->PlayerTalkClass->ClearMenus(); - player->CLOSE_GOSSIP_MENU(); + ClearGossipMenuFor(player); + CloseGossipMenuFor(player); creature->AI()->DoAction(ACTION_START_EVENT); } return true; @@ -667,7 +667,7 @@ class npc_highlord_darion_mograine : public CreatureScript summons.DespawnEntry(NPC_ACHERUS_GHOUL); summons.DespawnEntry(NPC_WARRIOR_OF_THE_FROZEN_WASTES); summons.DespawnEntry(NPC_FLESH_BEHEMOTH); - summons.DespawnEntry(NPC_DEFENDER_OF_THE_LIGHT); + summons.DespawnEntry(NPC_DEFENDER_OF_THE_LIGHT); if (Creature* orbaz = GetEntryFromSummons(NPC_ORBAZ_BLOODBANE)) { diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp index 42896ab9f46751..5b0482ac538a25 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp @@ -646,100 +646,100 @@ class npc_fairbanks : public CreatureScript public: npc_fairbanks() : CreatureScript("npc_fairbanks") { } - bool OnGossipHello(Player* plr, Creature* npc) + bool OnGossipHello(Player* player, Creature* creature) override { - plr->ADD_GOSSIP_ITEM(0, "Curse? What's going on here, Fairbanks?", GOSSIP_SENDER_MAIN, 1); - plr->SEND_GOSSIP_MENU(100100, npc->GetGUID()); + AddGossipItemFor(player, 0, "Curse? What's going on here, Fairbanks?", GOSSIP_SENDER_MAIN, 1); + SendGossipMenuFor(player, 100100, creature->GetGUID()); return true; } - bool OnGossipSelect(Player* plr, Creature* npc, uint32 /*Sender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*Sender*/, uint32 uiAction) override { - plr->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (uiAction) { case 1: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "Mograine?", GOSSIP_SENDER_MAIN, 2); - plr->SEND_GOSSIP_MENU(100101, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "Mograine?", GOSSIP_SENDER_MAIN, 2); + SendGossipMenuFor(player, 100101, creature->GetGUID()); return true; case 2: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "What do you mean?", GOSSIP_SENDER_MAIN, 3); - plr->SEND_GOSSIP_MENU(100102, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "What do you mean?", GOSSIP_SENDER_MAIN, 3); + SendGossipMenuFor(player, 100102, creature->GetGUID()); return true; case 3: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "I still do not fully understand.", GOSSIP_SENDER_MAIN, 4); - plr->SEND_GOSSIP_MENU(100103, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "I still do not fully understand.", GOSSIP_SENDER_MAIN, 4); + SendGossipMenuFor(player, 100103, creature->GetGUID()); return true; case 4: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "Incredible story. So how did he die?", GOSSIP_SENDER_MAIN, 5); - plr->SEND_GOSSIP_MENU(100104, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "Incredible story. So how did he die?", GOSSIP_SENDER_MAIN, 5); + SendGossipMenuFor(player, 100104, creature->GetGUID()); return true; case 5: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "You mean...", GOSSIP_SENDER_MAIN, 6); - plr->SEND_GOSSIP_MENU(100105, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "You mean...", GOSSIP_SENDER_MAIN, 6); + SendGossipMenuFor(player, 100105, creature->GetGUID()); return true; case 6: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "How do you know all of this?", GOSSIP_SENDER_MAIN, 7); - plr->SEND_GOSSIP_MENU(100106, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "How do you know all of this?", GOSSIP_SENDER_MAIN, 7); + SendGossipMenuFor(player, 100106, creature->GetGUID()); return true; case 7: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "A thousand? For one man?", GOSSIP_SENDER_MAIN, 8); - plr->SEND_GOSSIP_MENU(100107, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "A thousand? For one man?", GOSSIP_SENDER_MAIN, 8); + SendGossipMenuFor(player, 100107, creature->GetGUID()); return true; case 8: - npc->HandleEmoteCommand(5); - plr->ADD_GOSSIP_ITEM(0, "Yet? Yet what?", GOSSIP_SENDER_MAIN, 9); - plr->SEND_GOSSIP_MENU(100108, npc->GetGUID()); + creature->HandleEmoteCommand(5); + AddGossipItemFor(player, 0, "Yet? Yet what?", GOSSIP_SENDER_MAIN, 9); + SendGossipMenuFor(player, 100108, creature->GetGUID()); return true; case 9: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "And did he?", GOSSIP_SENDER_MAIN, 10); - plr->SEND_GOSSIP_MENU(100109, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "And did he?", GOSSIP_SENDER_MAIN, 10); + SendGossipMenuFor(player, 100109, creature->GetGUID()); return true; case 10: - npc->HandleEmoteCommand(274); - plr->ADD_GOSSIP_ITEM(0, "Continue please, Fairbanks.", GOSSIP_SENDER_MAIN, 11); - plr->SEND_GOSSIP_MENU(100110, npc->GetGUID()); + creature->HandleEmoteCommand(274); + AddGossipItemFor(player, 0, "Continue please, Fairbanks.", GOSSIP_SENDER_MAIN, 11); + SendGossipMenuFor(player, 100110, creature->GetGUID()); return true; case 11: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "You mean...", GOSSIP_SENDER_MAIN, 12); - plr->SEND_GOSSIP_MENU(100111, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "You mean...", GOSSIP_SENDER_MAIN, 12); + SendGossipMenuFor(player, 100111, creature->GetGUID()); return true; case 12: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "You were right, Fairbanks. That is tragic.", GOSSIP_SENDER_MAIN, 13); - plr->SEND_GOSSIP_MENU(100112, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "You were right, Fairbanks. That is tragic.", GOSSIP_SENDER_MAIN, 13); + SendGossipMenuFor(player, 100112, creature->GetGUID()); return true; case 13: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "And you did...", GOSSIP_SENDER_MAIN, 14); - plr->SEND_GOSSIP_MENU(100113, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "And you did...", GOSSIP_SENDER_MAIN, 14); + SendGossipMenuFor(player, 100113, creature->GetGUID()); return true; case 14: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "You tell an incredible tale, Fairbanks. What of the blade? Is it beyond redemption?", GOSSIP_SENDER_MAIN, 15); - plr->SEND_GOSSIP_MENU(100114, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "You tell an incredible tale, Fairbanks. What of the blade? Is it beyond redemption?", GOSSIP_SENDER_MAIN, 15); + SendGossipMenuFor(player, 100114, creature->GetGUID()); return true; case 15: - npc->HandleEmoteCommand(1); - plr->ADD_GOSSIP_ITEM(0, "But his son is dead.", GOSSIP_SENDER_MAIN, 16); - plr->SEND_GOSSIP_MENU(100115, npc->GetGUID()); + creature->HandleEmoteCommand(1); + AddGossipItemFor(player, 0, "But his son is dead.", GOSSIP_SENDER_MAIN, 16); + SendGossipMenuFor(player, 100115, creature->GetGUID()); return true; case 16: - plr->SEND_GOSSIP_MENU(100116, npc->GetGUID()); + SendGossipMenuFor(player, 100116, creature->GetGUID()); // todo: we need to play these 3 emote in sequence, we play only the last one right now. - npc->HandleEmoteCommand(274); - npc->HandleEmoteCommand(1); - npc->HandleEmoteCommand(397); + creature->HandleEmoteCommand(274); + creature->HandleEmoteCommand(1); + creature->HandleEmoteCommand(397); return true; } @@ -750,12 +750,12 @@ class npc_fairbanks : public CreatureScript { npc_fairbanksAI(Creature* creature) : SmartAI(creature) { } - void Reset() + void Reset() override { SayAshbringer = false; } - void MoveInLineOfSight(Unit* who) + void MoveInLineOfSight(Unit* who) override { if (who && who->GetDistance2d(me) < 2.0f) if (Player* player = who->ToPlayer()) @@ -776,7 +776,7 @@ class npc_fairbanks : public CreatureScript bool SayAshbringer = false; }; - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_fairbanksAI(creature); } diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp index 12609125023c46..4e10a136316b64 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp @@ -131,41 +131,41 @@ class npc_zulaman_hostage : public CreatureScript bool IsLoot; uint64 PlayerGUID; - void Reset() { } + void Reset() override { } - void EnterCombat(Unit* /*who*/) { } + void EnterCombat(Unit* /*who*/) override { } - void JustDied(Unit* /*killer*/) + void JustDied(Unit* /*killer*/) override { if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID)) player->SendLoot(me->GetGUID(), LOOT_CORPSE); } - void UpdateAI(uint32 /*diff*/) + void UpdateAI(uint32 /*diff*/) override { if (IsLoot) DoCast(me, 7, false); } }; - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_zulaman_hostageAI(creature); } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HOSTAGE1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HOSTAGE1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF + 1) - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) return true; @@ -189,6 +189,7 @@ class npc_zulaman_hostage : public CreatureScript } } } + return true; } }; @@ -256,195 +257,195 @@ enum Weapons class npc_harrison_jones : public CreatureScript { - public: +public: - npc_harrison_jones() : CreatureScript("npc_harrison_jones") - { - } + npc_harrison_jones() : CreatureScript("npc_harrison_jones") + { + } - struct npc_harrison_jonesAI : public ScriptedAI + struct npc_harrison_jonesAI : public ScriptedAI + { + npc_harrison_jonesAI(Creature* creature) : ScriptedAI(creature) { - npc_harrison_jonesAI(Creature* creature) : ScriptedAI(creature) - { - instance = creature->GetInstanceScript(); - } + instance = creature->GetInstanceScript(); + } - InstanceScript* instance; + InstanceScript* instance; - uint8 _gongEvent; - uint32 _gongTimer; - uint64 uiTargetGUID; + uint8 _gongEvent; + uint32 _gongTimer; + uint64 uiTargetGUID; - void Reset() - { - _gongEvent = 0; - _gongTimer = 0; - uiTargetGUID = 0; - } + void Reset() + { + _gongEvent = 0; + _gongTimer = 0; + uiTargetGUID = 0; + } - void EnterCombat(Unit* /*who*/) { } + void EnterCombat(Unit* /*who*/) { } - void sGossipSelect(Player* player, uint32 sender, uint32 action) + void sGossipSelect(Player* player, uint32 sender, uint32 action) + { + if (me->GetCreatureTemplate()->GossipMenuId == sender && !action) { - if (me->GetCreatureTemplate()->GossipMenuId == sender && !action) - { - player->CLOSE_GOSSIP_MENU(); - me->SetFacingToObject(player); - me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - Talk(SAY_HARRISON_0); - _gongEvent = GONG_EVENT_1; - _gongTimer = 4000; - } + CloseGossipMenuFor(player); + me->SetFacingToObject(player); + me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + Talk(SAY_HARRISON_0); + _gongEvent = GONG_EVENT_1; + _gongTimer = 4000; } + } - void SpellHit(Unit*, const SpellInfo* spell) + void SpellHit(Unit*, const SpellInfo* spell) + { + if (spell->Id == SPELL_COSMETIC_SPEAR_THROW) { - if (spell->Id == SPELL_COSMETIC_SPEAR_THROW) - { - me->RemoveAllAuras(); - me->SetEntry(NPC_HARRISON_JONES_2); - me->SetDisplayId(MODEL_HARRISON_JONES_2); - me->SetTarget(0); - me->SetByteValue(UNIT_FIELD_BYTES_1, 0, UNIT_STAND_STATE_DEAD); - me->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); - instance->SetData(DATA_GONGEVENT, DONE); - } + me->RemoveAllAuras(); + me->SetEntry(NPC_HARRISON_JONES_2); + me->SetDisplayId(MODEL_HARRISON_JONES_2); + me->SetTarget(0); + me->SetByteValue(UNIT_FIELD_BYTES_1, 0, UNIT_STAND_STATE_DEAD); + me->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD); + instance->SetData(DATA_GONGEVENT, DONE); } + } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) + { + if (_gongEvent) { - if (_gongEvent) + if (_gongTimer <= diff) { - if (_gongTimer <= diff) + switch (_gongEvent) { - switch (_gongEvent) - { - case GONG_EVENT_1: - me->GetMotionMaster()->MovePath(HARRISON_MOVE_1, false); - _gongEvent = GONG_EVENT_2; - _gongTimer = 12000; - break; - case GONG_EVENT_2: - me->SetFacingTo(6.235659f); - Talk(SAY_HARRISON_1); - DoCast(me, SPELL_BANGING_THE_GONG); - me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_MACE)); - me->SetSheath(SHEATH_STATE_MELEE); - _gongEvent = GONG_EVENT_3; - _gongTimer = 4000; - break; - case GONG_EVENT_3: - if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetData64(GO_STRANGE_GONG))) - gong->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); - _gongEvent = GONG_EVENT_4; - _gongTimer = 105000; - break; - case GONG_EVENT_4: - me->RemoveAura(SPELL_BANGING_THE_GONG); - if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetData64(GO_STRANGE_GONG))) - gong->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); - - // trigger or gong will need to be scripted to set IN_PROGRESS after enough hits. - // This is temp workaround. - instance->SetData(DATA_GONGEVENT, IN_PROGRESS); // to be removed. - - if (instance->GetData(DATA_GONGEVENT) == IN_PROGRESS) - { - // Players are Now Saved to instance at SPECIAL (Player should be notified?) - me->GetMotionMaster()->MovePath(HARRISON_MOVE_2, false); - _gongEvent = GONG_EVENT_5; - _gongTimer = 5000; - } - else - { - _gongTimer = 1000; - _gongEvent = GONG_EVENT_9; - } - break; - case GONG_EVENT_5: - me->SetEntry(NPC_HARRISON_JONES_1); - me->SetDisplayId(MODEL_HARRISON_JONES_1); - Talk(SAY_HARRISON_2); - _gongTimer = 12000; - _gongEvent = GONG_EVENT_6; - break; - case GONG_EVENT_6: - me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING); - Talk(SAY_HARRISON_3); - _gongTimer = 7000; - _gongEvent = GONG_EVENT_7; - break; - case GONG_EVENT_7: - if (!uiTargetGUID) + case GONG_EVENT_1: + me->GetMotionMaster()->MovePath(HARRISON_MOVE_1, false); + _gongEvent = GONG_EVENT_2; + _gongTimer = 12000; + break; + case GONG_EVENT_2: + me->SetFacingTo(6.235659f); + Talk(SAY_HARRISON_1); + DoCast(me, SPELL_BANGING_THE_GONG); + me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_MACE)); + me->SetSheath(SHEATH_STATE_MELEE); + _gongEvent = GONG_EVENT_3; + _gongTimer = 4000; + break; + case GONG_EVENT_3: + if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetData64(GO_STRANGE_GONG))) + gong->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + _gongEvent = GONG_EVENT_4; + _gongTimer = 105000; + break; + case GONG_EVENT_4: + me->RemoveAura(SPELL_BANGING_THE_GONG); + if (GameObject* gong = me->GetMap()->GetGameObject(instance->GetData64(GO_STRANGE_GONG))) + gong->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + + // trigger or gong will need to be scripted to set IN_PROGRESS after enough hits. + // This is temp workaround. + instance->SetData(DATA_GONGEVENT, IN_PROGRESS); // to be removed. + + if (instance->GetData(DATA_GONGEVENT) == IN_PROGRESS) + { + // Players are Now Saved to instance at SPECIAL (Player should be notified?) + me->GetMotionMaster()->MovePath(HARRISON_MOVE_2, false); + _gongEvent = GONG_EVENT_5; + _gongTimer = 5000; + } + else + { + _gongTimer = 1000; + _gongEvent = GONG_EVENT_9; + } + break; + case GONG_EVENT_5: + me->SetEntry(NPC_HARRISON_JONES_1); + me->SetDisplayId(MODEL_HARRISON_JONES_1); + Talk(SAY_HARRISON_2); + _gongTimer = 12000; + _gongEvent = GONG_EVENT_6; + break; + case GONG_EVENT_6: + me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING); + Talk(SAY_HARRISON_3); + _gongTimer = 7000; + _gongEvent = GONG_EVENT_7; + break; + case GONG_EVENT_7: + if (!uiTargetGUID) + { + std::list targetList; + GetCreatureListWithEntryInGrid(targetList, me, NPC_AMANISHI_GUARDIAN, 26.0f); + if (!targetList.empty()) { - std::list targetList; - GetCreatureListWithEntryInGrid(targetList, me, NPC_AMANISHI_GUARDIAN, 26.0f); - if (!targetList.empty()) + for (std::list::const_iterator itr = targetList.begin(); itr != targetList.end(); ++itr) { - for (std::list::const_iterator itr = targetList.begin(); itr != targetList.end(); ++itr) + if (Creature* ptarget = *itr) { - if (Creature* ptarget = *itr) + if (ptarget->GetPositionX() > 120) + { + ptarget->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_SPEAR)); + ptarget->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); + ptarget->SetReactState(REACT_PASSIVE); + ptarget->AI()->SetData(0, 1); + } + else { - if (ptarget->GetPositionX() > 120) - { - ptarget->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_SPEAR)); - ptarget->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); - ptarget->SetReactState(REACT_PASSIVE); - ptarget->AI()->SetData(0, 1); - } - else - { - ptarget->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); - ptarget->SetReactState(REACT_PASSIVE); - ptarget->AI()->SetData(0, 2); - } + ptarget->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); + ptarget->SetReactState(REACT_PASSIVE); + ptarget->AI()->SetData(0, 2); } } } } - - if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_MASSIVE_GATE))) - gate->SetGoState(GO_STATE_ACTIVE); - _gongTimer = 2000; - _gongEvent = GONG_EVENT_8; - break; - case GONG_EVENT_8: - DoCast(me, SPELL_STEALTH); - me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(0)); - me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); - me->GetMotionMaster()->MovePath(HARRISON_MOVE_3, false); - _gongTimer = 1000; - _gongEvent = 0; - break; - case GONG_EVENT_9: - me->GetMotionMaster()->MovePoint(0, 120.687f, 1674.0f, 42.0217f); - _gongTimer = 12000; - _gongEvent = GONG_EVENT_10; - break; - case GONG_EVENT_10: - me->SetFacingTo(1.59044f); - _gongEvent = 11; - _gongTimer = 6000; - break; - case GONG_EVENT_11: - me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - - instance->SetData(DATA_GONGEVENT, NOT_STARTED); - _gongEvent = 0; - _gongTimer = 1000; - break; - } + } + + if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_MASSIVE_GATE))) + gate->SetGoState(GO_STATE_ACTIVE); + _gongTimer = 2000; + _gongEvent = GONG_EVENT_8; + break; + case GONG_EVENT_8: + DoCast(me, SPELL_STEALTH); + me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(0)); + me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); + me->GetMotionMaster()->MovePath(HARRISON_MOVE_3, false); + _gongTimer = 1000; + _gongEvent = 0; + break; + case GONG_EVENT_9: + me->GetMotionMaster()->MovePoint(0, 120.687f, 1674.0f, 42.0217f); + _gongTimer = 12000; + _gongEvent = GONG_EVENT_10; + break; + case GONG_EVENT_10: + me->SetFacingTo(1.59044f); + _gongEvent = 11; + _gongTimer = 6000; + break; + case GONG_EVENT_11: + me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + + instance->SetData(DATA_GONGEVENT, NOT_STARTED); + _gongEvent = 0; + _gongTimer = 1000; + break; } - else - _gongTimer -= diff; } + else + _gongTimer -= diff; } - }; - - CreatureAI* GetAI(Creature* creature) const - { - return GetInstanceAI(creature); } + }; + + CreatureAI* GetAI(Creature* creature) const + { + return GetInstanceAI(creature); + } }; class spell_banging_the_gong : public SpellScriptLoader diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp index ba88cecee0a1b5..fe32f882b0d577 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp @@ -410,7 +410,7 @@ class go_gong_of_bethekk : public GameObjectScript { public: go_gong_of_bethekk() : GameObjectScript("go_gong_of_bethekk") { } - bool OnGossipHello(Player* /*player*/, GameObject* go) + bool OnGossipHello(Player* /*player*/, GameObject* go) override { if (go->GetInstanceScript()) { @@ -418,6 +418,7 @@ class go_gong_of_bethekk : public GameObjectScript go->SendCustomAnim(0); go->SummonCreature(NPC_ARLOKK, PosSummonArlokk[0], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 600000); } + return true; } }; diff --git a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp index 256793abb243f4..1e2400614c58c0 100644 --- a/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_eastern_plaguelands.cpp @@ -340,23 +340,23 @@ class npc_augustus_the_touched : public CreatureScript public: npc_augustus_the_touched() : CreatureScript("npc_augustus_the_touched") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_TRADE) player->GetSession()->SendListInventory(creature->GetGUID()); return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor() && player->GetQuestRewardStatus(6164)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } }; @@ -375,15 +375,15 @@ class npc_darrowshire_spirit : public CreatureScript public: npc_darrowshire_spirit() : CreatureScript("npc_darrowshire_spirit") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { - player->SEND_GOSSIP_MENU(3873, creature->GetGUID()); + SendGossipMenuFor(player, 3873, creature->GetGUID()); player->TalkedToCreature(creature->GetEntry(), creature->GetGUID()); creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_darrowshire_spiritAI(creature); } @@ -392,13 +392,13 @@ class npc_darrowshire_spirit : public CreatureScript { npc_darrowshire_spiritAI(Creature* creature) : ScriptedAI(creature) { } - void Reset() + void Reset() override { DoCast(me, SPELL_SPIRIT_SPAWNIN); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); } - void EnterCombat(Unit* /*who*/) { } + void EnterCombat(Unit* /*who*/) override { } }; }; diff --git a/src/server/scripts/EasternKingdoms/zone_loch_modan.cpp b/src/server/scripts/EasternKingdoms/zone_loch_modan.cpp index 11b4618eaf1ce1..0ec580f12924df 100644 --- a/src/server/scripts/EasternKingdoms/zone_loch_modan.cpp +++ b/src/server/scripts/EasternKingdoms/zone_loch_modan.cpp @@ -38,51 +38,51 @@ class npc_mountaineer_pebblebitty : public CreatureScript public: npc_mountaineer_pebblebitty() : CreatureScript("npc_mountaineer_pebblebitty") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MP1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->SEND_GOSSIP_MENU(1833, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_MP1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + SendGossipMenuFor(player, 1833, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MP2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - player->SEND_GOSSIP_MENU(1834, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_MP2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + SendGossipMenuFor(player, 1834, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+3: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MP3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); - player->SEND_GOSSIP_MENU(1835, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_MP3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); + SendGossipMenuFor(player, 1835, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+4: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MP4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); - player->SEND_GOSSIP_MENU(1836, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_MP4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + SendGossipMenuFor(player, 1836, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+5: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MP5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); - player->SEND_GOSSIP_MENU(1837, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_MP5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); + SendGossipMenuFor(player, 1837, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+6: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MP6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7); - player->SEND_GOSSIP_MENU(1838, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_MP6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7); + SendGossipMenuFor(player, 1838, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+7: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); break; } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (!player->GetQuestRewardStatus(3181) == 1) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_MP, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_MP, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } diff --git a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp index 27fd7687b1b400..9cfb502ac90108 100644 --- a/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp +++ b/src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp @@ -112,40 +112,40 @@ class npc_lady_katrana_prestor : public CreatureScript public: npc_lady_katrana_prestor() : CreatureScript("npc_lady_katrana_prestor") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KAT_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(2694, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KAT_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, 2694, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KAT_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->SEND_GOSSIP_MENU(2695, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KAT_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + SendGossipMenuFor(player, 2695, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KAT_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - player->SEND_GOSSIP_MENU(2696, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KAT_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + SendGossipMenuFor(player, 2696, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+3: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->AreaExploredOrEventHappens(4185); break; } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(4185) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KAT_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KAT_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(2693, creature->GetGUID()); + SendGossipMenuFor(player, 2693, creature->GetGUID()); return true; } diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp index 8aa28a4007e2ed..ec185835740c8a 100644 --- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp +++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp @@ -43,7 +43,7 @@ enum Sylvanas SAY_SUNSORROW_WHISPER = 0, SOUND_CREDIT = 10896, - + NPC_HIGHBORNE_LAMENTER = 21628, NPC_HIGHBORNE_BUNNY = 21641, NPC_AMBASSADOR_SUNSORROW = 16287, @@ -310,15 +310,15 @@ class npc_parqual_fintallas : public CreatureScript bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->CastSpell(player, SPELL_MARK_OF_SHAME, false); } if (action == GOSSIP_ACTION_INFO_DEF+2) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->AreaExploredOrEventHappens(6628); } return true; @@ -331,13 +331,13 @@ class npc_parqual_fintallas : public CreatureScript if (player->GetQuestStatus(6628) == QUEST_STATUS_INCOMPLETE && !player->HasAura(SPELL_MARK_OF_SHAME)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HPF1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HPF2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HPF3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(5822, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HPF1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HPF2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HPF3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, 5822, creature->GetGUID()); } else - player->SEND_GOSSIP_MENU(5821, creature->GetGUID()); + SendGossipMenuFor(player, 5821, creature->GetGUID()); return true; } @@ -937,11 +937,13 @@ class npc_varian_wrynn : public CreatureScript bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); + switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); + if (auto ai = CAST_AI(npc_varian_wrynn::npc_varian_wrynnAI, creature->AI())) { ai->Start(true, true, player->GetGUID()); @@ -952,8 +954,10 @@ class npc_varian_wrynn : public CreatureScript ai->SetDespawnAtEnd(false); ai->SetDespawnAtFar(false); } + break; } + return true; } @@ -963,9 +967,9 @@ class npc_varian_wrynn : public CreatureScript player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(QUEST_BATTLE_A) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WRYNN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_WRYNN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } @@ -2267,12 +2271,14 @@ class npc_thrall_bfu : public CreatureScript bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); + switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); + if (auto thrall_ai = CAST_AI(npc_thrall_bfu::npc_thrall_bfuAI, creature->AI())) { if (Creature* sylvannas = GetClosestCreatureWithEntry(creature, NPC_SYLVANAS, 50.0f)) @@ -2288,6 +2294,7 @@ class npc_thrall_bfu : public CreatureScript break; } } + return true; } @@ -2297,9 +2304,9 @@ class npc_thrall_bfu : public CreatureScript player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(QUEST_BATTLE_H) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_THRALL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_THRALL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } diff --git a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp index b1f167c8a2aa7e..63e692587e3b49 100644 --- a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp @@ -41,56 +41,56 @@ class npcs_dithers_and_arbington : public CreatureScript public: npcs_dithers_and_arbington() : CreatureScript("npcs_dithers_and_arbington") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_TRADE: player->GetSession()->SendListInventory(creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SDA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); - player->SEND_GOSSIP_MENU(3980, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SDA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); + SendGossipMenuFor(player, 3980, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SDA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); - player->SEND_GOSSIP_MENU(3981, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SDA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); + SendGossipMenuFor(player, 3981, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+3: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SDA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); - player->SEND_GOSSIP_MENU(3982, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SDA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); + SendGossipMenuFor(player, 3982, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+4: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SDA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); - player->SEND_GOSSIP_MENU(3983, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SDA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); + SendGossipMenuFor(player, 3983, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+5: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->CastSpell(player, 17529, false); break; } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); if (player->GetQuestRewardStatus(5237) || player->GetQuestRewardStatus(5238)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HDA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HDA2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HDA3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HDA4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4); - player->SEND_GOSSIP_MENU(3985, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HDA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HDA2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HDA3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HDA4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4); + SendGossipMenuFor(player, 3985, creature->GetGUID()); } else - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } @@ -115,18 +115,18 @@ class npc_myranda_the_hag : public CreatureScript public: npc_myranda_the_hag() : CreatureScript("npc_myranda_the_hag") { } - bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF + 1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, SPELL_SCARLET_ILLUSION, false); } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); @@ -134,12 +134,12 @@ class npc_myranda_the_hag : public CreatureScript if (player->GetQuestRewardStatus(QUEST_FIND_MYRANDA) && !player->GetQuestRewardStatus(QUEST_IN_DREAMS) && !player->HasAura(SPELL_SCARLET_ILLUSION)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ILLUSION, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(4773, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ILLUSION, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, 4773, creature->GetGUID()); return true; } else - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } diff --git a/src/server/scripts/Events/brewfest.cpp b/src/server/scripts/Events/brewfest.cpp index 1ac19d4f2e91de..5c1b8f8c8c03f8 100644 --- a/src/server/scripts/Events/brewfest.cpp +++ b/src/server/scripts/Events/brewfest.cpp @@ -85,22 +85,22 @@ class npc_coren_direbrew : public CreatureScript public: npc_coren_direbrew() : CreatureScript("npc_coren_direbrew") { } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_coren_direbrewAI (creature); } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (uiAction) { case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_COREN2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(15859, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_COREN2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, 15859, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->AI()->DoAction(ACTION_START_FIGHT); creature->MonsterSay("You'll pay for this insult, $C.", LANG_UNIVERSAL, player); break; @@ -108,20 +108,20 @@ class npc_coren_direbrew : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_COREN1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(15858, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_COREN1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + SendGossipMenuFor(player, 15858, creature->GetGUID()); return true; } struct npc_coren_direbrewAI : public ScriptedAI { - npc_coren_direbrewAI(Creature* c) : ScriptedAI(c), summons(me) + npc_coren_direbrewAI(Creature* c) : ScriptedAI(c), summons(me) { } @@ -129,7 +129,7 @@ class npc_coren_direbrew : public CreatureScript SummonList summons; uint8 phase; - void Reset() + void Reset() override { events.Reset(); summons.DespawnAll(); @@ -137,12 +137,12 @@ class npc_coren_direbrew : public CreatureScript phase = 0; } - void DoAction(int32 param) + void DoAction(int32 param) override { if (param == ACTION_START_FIGHT) { Creature* cr = NULL; - + for (int i = 0; i < 3; ++i) { float o = rand_norm()*2*M_PI; @@ -168,7 +168,7 @@ class npc_coren_direbrew : public CreatureScript events.ScheduleEvent(EVENT_DIREBREW_RESPAWN2, 10000); } - void JustDied(Unit* /*killer*/) + void JustDied(Unit* /*killer*/) override { summons.DespawnAll(); summons.DoAction(ACTION_RELEASE_LOOT); @@ -202,7 +202,8 @@ class npc_coren_direbrew : public CreatureScript summons.Summon(cr); } } - void UpdateAI(uint32 diff) + + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) return; @@ -298,7 +299,7 @@ class npc_coren_direbrew_sisters : public CreatureScript } } } - + void EnterCombat(Unit* /*who*/) { @@ -374,42 +375,42 @@ enum kegThrowers class npc_brewfest_keg_thrower : public CreatureScript { - public: - npc_brewfest_keg_thrower() : CreatureScript("npc_brewfest_keg_thrower") { } +public: + npc_brewfest_keg_thrower() : CreatureScript("npc_brewfest_keg_thrower") { } - struct npc_brewfest_keg_throwerAI : public ScriptedAI + struct npc_brewfest_keg_throwerAI : public ScriptedAI + { + npc_brewfest_keg_throwerAI(Creature* creature) : ScriptedAI(creature) { - npc_brewfest_keg_throwerAI(Creature* creature) : ScriptedAI(creature) - { - } - - void MoveInLineOfSight(Unit* who) - { - if (me->GetDistance(who) < 10.0f && who->GetTypeId() == TYPEID_PLAYER && who->GetMountID() == RAM_DISPLAY_ID) - { - if (!who->ToPlayer()->HasItemCount(ITEM_PORTABLE_BREWFEST_KEG)) // portable brewfest keg - me->CastSpell(who, SPELL_THROW_KEG, true); // throw keg - } - } + } - bool CanBeSeen(const Player* player) + void MoveInLineOfSight(Unit* who) + { + if (me->GetDistance(who) < 10.0f && who->GetTypeId() == TYPEID_PLAYER && who->GetMountID() == RAM_DISPLAY_ID) { - if (player->GetMountID() == RAM_DISPLAY_ID) - return true; - - return false; + if (!who->ToPlayer()->HasItemCount(ITEM_PORTABLE_BREWFEST_KEG)) // portable brewfest keg + me->CastSpell(who, SPELL_THROW_KEG, true); // throw keg } - }; + } - CreatureAI* GetAI(Creature* creature) const + bool CanBeSeen(const Player* player) { - return new npc_brewfest_keg_throwerAI(creature); + if (player->GetMountID() == RAM_DISPLAY_ID) + return true; + + return false; } + }; + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_brewfest_keg_throwerAI(creature); + } }; class npc_brewfest_keg_reciver : public CreatureScript { - public: +public: npc_brewfest_keg_reciver() : CreatureScript("npc_brewfest_keg_reciver") { } struct npc_brewfest_keg_reciverAI : public ScriptedAI @@ -418,7 +419,7 @@ class npc_brewfest_keg_reciver : public CreatureScript { } - void MoveInLineOfSight(Unit* who) + void MoveInLineOfSight(Unit* who) override { if (me->GetDistance(who) < 10.0f && who->GetTypeId() == TYPEID_PLAYER && who->GetMountID() == RAM_DISPLAY_ID) { @@ -448,17 +449,17 @@ class npc_brewfest_keg_reciver : public CreatureScript } }; - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_brewfest_keg_reciverAI(creature); } - bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*uiSender*/, uint32 uiAction) override { switch (uiAction) { case GOSSIP_ACTION_INFO_DEF+1: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->AddSpellCooldown(SPELL_COOLDOWN_CHECKER, 0, 18*HOUR*IN_MILLISECONDS); player->CastSpell(player, 43883, true); player->CastSpell(player, 44262, true); @@ -467,15 +468,15 @@ class npc_brewfest_keg_reciver : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (!player->HasSpellCooldown(SPELL_COOLDOWN_CHECKER) && player->GetQuestRewardStatus(player->GetTeamId() == TEAM_ALLIANCE ? QUEST_THERE_AND_BACK_AGAIN_A : QUEST_THERE_AND_BACK_AGAIN_H)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Do you have additional work?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - - player->SEND_GOSSIP_MENU((creature->GetEntry() == NPC_NEILL_RAMSTEIN ? 8934 : 8976), creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Do you have additional work?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + + SendGossipMenuFor(player, (creature->GetEntry() == NPC_NEILL_RAMSTEIN ? 8934 : 8976), creature->GetGUID()); return true; } }; @@ -656,480 +657,480 @@ enum darkIronAttack class npc_dark_iron_attack_generator : public CreatureScript { - public: - npc_dark_iron_attack_generator() : CreatureScript("npc_dark_iron_attack_generator") { } +public: + npc_dark_iron_attack_generator() : CreatureScript("npc_dark_iron_attack_generator") { } - struct npc_dark_iron_attack_generatorAI : public ScriptedAI + struct npc_dark_iron_attack_generatorAI : public ScriptedAI + { + npc_dark_iron_attack_generatorAI(Creature* creature) : ScriptedAI(creature), summons(me) { - npc_dark_iron_attack_generatorAI(Creature* creature) : ScriptedAI(creature), summons(me) - { - } + } - EventMap events; - SummonList summons; - uint32 kegCounter, guzzlerCounter; - uint8 thrown; + EventMap events; + SummonList summons; + uint32 kegCounter, guzzlerCounter; + uint8 thrown; - void Reset() - { - summons.DespawnAll(); - events.Reset(); - events.ScheduleEvent(EVENT_CHECK_HOUR, 2000); - kegCounter = 0; - guzzlerCounter = 0; - thrown = 0; - } + void Reset() + { + summons.DespawnAll(); + events.Reset(); + events.ScheduleEvent(EVENT_CHECK_HOUR, 2000); + kegCounter = 0; + guzzlerCounter = 0; + thrown = 0; + } - // DARK IRON ATTACK EVENT - void MoveInLineOfSight(Unit* /*who*/) {} - void EnterCombat(Unit*) {} + // DARK IRON ATTACK EVENT + void MoveInLineOfSight(Unit* /*who*/) {} + void EnterCombat(Unit*) {} - void SpellHit(Unit* caster, const SpellInfo* spellInfo) + void SpellHit(Unit* caster, const SpellInfo* spellInfo) + { + if (spellInfo->Id == SPELL_REPORT_DEATH) { - if (spellInfo->Id == SPELL_REPORT_DEATH) + if (caster->GetEntry() == NPC_DARK_IRON_GUZZLER) + guzzlerCounter++; + else { - if (caster->GetEntry() == NPC_DARK_IRON_GUZZLER) - guzzlerCounter++; - else - { - kegCounter++; - if (kegCounter == 3) - FinishEventDueToLoss(); - } + kegCounter++; + if (kegCounter == 3) + FinishEventDueToLoss(); } } + } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) + { + events.Update(diff); + switch (events.GetEvent()) { - events.Update(diff); - switch (events.GetEvent()) + case EVENT_CHECK_HOUR: { - case EVENT_CHECK_HOUR: + // determine hour + if (AllowStart()) { - // determine hour - if (AllowStart()) - { - PrepareEvent(); - events.RepeatEvent(300000); - return; - } - events.RepeatEvent(2000); - break; + PrepareEvent(); + events.RepeatEvent(300000); + return; } - case EVENT_SPAWN_MOLE_MACHINE: + events.RepeatEvent(2000); + break; + } + case EVENT_SPAWN_MOLE_MACHINE: + { + if (me->GetMapId() == 1) // Kalimdor { - if (me->GetMapId() == 1) // Kalimdor - { - float rand = 8+rand_norm()*12; - float angle = rand_norm()*2*M_PI; - float x = 1201.8f+rand*cos(angle); - float y = -4299.6f+rand*sin(angle); - if (Creature* cr = me->SummonCreature(NPC_MOLE_MACHINE_TRIGGER, x, y, 21.3f, 0.0f)) - cr->CastSpell(cr, SPELL_SPAWN_MOLE_MACHINE, true); - } - else if (me->GetMapId() == 0) // EK - { - float rand = rand_norm()*20; - float angle = rand_norm()*2*M_PI; - float x = -5157.1f+rand*cos(angle); - float y = -598.98f+rand*sin(angle); - if (Creature* cr = me->SummonCreature(NPC_MOLE_MACHINE_TRIGGER, x, y, 398.11f, 0.0f)) - cr->CastSpell(cr, SPELL_SPAWN_MOLE_MACHINE, true); - } - events.RepeatEvent(3000); - break; + float rand = 8+rand_norm()*12; + float angle = rand_norm()*2*M_PI; + float x = 1201.8f+rand*cos(angle); + float y = -4299.6f+rand*sin(angle); + if (Creature* cr = me->SummonCreature(NPC_MOLE_MACHINE_TRIGGER, x, y, 21.3f, 0.0f)) + cr->CastSpell(cr, SPELL_SPAWN_MOLE_MACHINE, true); } - case EVENT_PRE_FINISH_ATTACK: + else if (me->GetMapId() == 0) // EK { - events.CancelEvent(EVENT_SPAWN_MOLE_MACHINE); - events.ScheduleEvent(EVENT_FINISH_ATTACK, 20000); - events.PopEvent(); - break; + float rand = rand_norm()*20; + float angle = rand_norm()*2*M_PI; + float x = -5157.1f+rand*cos(angle); + float y = -598.98f+rand*sin(angle); + if (Creature* cr = me->SummonCreature(NPC_MOLE_MACHINE_TRIGGER, x, y, 398.11f, 0.0f)) + cr->CastSpell(cr, SPELL_SPAWN_MOLE_MACHINE, true); } - case EVENT_FINISH_ATTACK: + events.RepeatEvent(3000); + break; + } + case EVENT_PRE_FINISH_ATTACK: + { + events.CancelEvent(EVENT_SPAWN_MOLE_MACHINE); + events.ScheduleEvent(EVENT_FINISH_ATTACK, 20000); + events.PopEvent(); + break; + } + case EVENT_FINISH_ATTACK: + { + FinishAttackDueToWin(); + events.RescheduleEvent(EVENT_CHECK_HOUR, 60000); + break; + } + case EVENT_BARTENDER_SAY: + { + events.RepeatEvent(12000); + Creature* sayer = GetRandomBartender(); + if (!sayer) + return; + + thrown++; + if (thrown == 3) { - FinishAttackDueToWin(); - events.RescheduleEvent(EVENT_CHECK_HOUR, 60000); - break; + thrown = 0; + sayer->MonsterSay("SOMEONE TRY THIS SUPER BREW!", LANG_UNIVERSAL, 0); + //sayer->CastSpell(sayer, SPELL_CREATE_SUPER_BREW, true); + sayer->SummonCreature(NPC_SUPER_BREW_TRIGGER, sayer->GetPositionX()+15*cos(sayer->GetOrientation()), sayer->GetPositionY()+15*sin(sayer->GetOrientation()), sayer->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 30000); + } - case EVENT_BARTENDER_SAY: + else { - events.RepeatEvent(12000); - Creature* sayer = GetRandomBartender(); - if (!sayer) - return; - - thrown++; - if (thrown == 3) - { - thrown = 0; - sayer->MonsterSay("SOMEONE TRY THIS SUPER BREW!", LANG_UNIVERSAL, 0); - //sayer->CastSpell(sayer, SPELL_CREATE_SUPER_BREW, true); - sayer->SummonCreature(NPC_SUPER_BREW_TRIGGER, sayer->GetPositionX()+15*cos(sayer->GetOrientation()), sayer->GetPositionY()+15*sin(sayer->GetOrientation()), sayer->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 30000); - - } + if (urand(0,1)) + sayer->MonsterSay("Chug and chuck! Chug and chuck!", LANG_UNIVERSAL, 0); else - { - if (urand(0,1)) - sayer->MonsterSay("Chug and chuck! Chug and chuck!", LANG_UNIVERSAL, 0); - else - sayer->MonsterSay("Down the free brew and pelt the Guzzlers with your mug!", LANG_UNIVERSAL, 0); - } - - break; + sayer->MonsterSay("Down the free brew and pelt the Guzzlers with your mug!", LANG_UNIVERSAL, 0); } + + break; } } + } - void FinishEventDueToLoss() + void FinishEventDueToLoss() + { + if (Creature* herald = me->FindNearestCreature(NPC_DARK_IRON_HERALD, 100.0f)) { - if (Creature* herald = me->FindNearestCreature(NPC_DARK_IRON_HERALD, 100.0f)) - { - char amount[500]; - sprintf(amount, "We did it boys! Now back to the Grim Guzzler and we'll drink to the %u that were injured!", guzzlerCounter); - herald->MonsterYell(amount, LANG_UNIVERSAL, 0); - } - - Reset(); - events.RescheduleEvent(EVENT_CHECK_HOUR, 60000); + char amount[500]; + sprintf(amount, "We did it boys! Now back to the Grim Guzzler and we'll drink to the %u that were injured!", guzzlerCounter); + herald->MonsterYell(amount, LANG_UNIVERSAL, 0); } - void FinishAttackDueToWin() - { - if (Creature* herald = me->FindNearestCreature(NPC_DARK_IRON_HERALD, 100.0f)) - { - char amount[500]; - sprintf(amount, "RETREAT!! We've already lost %u and we can't afford to lose any more!!", guzzlerCounter); - herald->MonsterYell(amount, LANG_UNIVERSAL, 0); - } + Reset(); + events.RescheduleEvent(EVENT_CHECK_HOUR, 60000); + } - me->CastSpell(me, (me->GetMapId() == 1 ? SPELL_SUMMON_PLANS_H : SPELL_SUMMON_PLANS_A), true); - Reset(); + void FinishAttackDueToWin() + { + if (Creature* herald = me->FindNearestCreature(NPC_DARK_IRON_HERALD, 100.0f)) + { + char amount[500]; + sprintf(amount, "RETREAT!! We've already lost %u and we can't afford to lose any more!!", guzzlerCounter); + herald->MonsterYell(amount, LANG_UNIVERSAL, 0); } - void PrepareEvent() - { - Creature* cr; - if (me->GetMapId() == 1) // Kalimdor - { - if ((cr = me->SummonCreature(NPC_DROHN_KEG, 1183.69f, -4315.15f, 21.1875f, 0.750492f))) - summons.Summon(cr); - if ((cr = me->SummonCreature(NPC_VOODOO_KEG, 1182.42f, -4272.45f, 21.1182f, -1.02974f))) - summons.Summon(cr); - if ((cr = me->SummonCreature(NPC_GORDOK_KEG, 1223.78f, -4296.48f, 21.1707f, -2.86234f))) - summons.Summon(cr); - } - else if (me->GetMapId() == 0) // Eastern Kingdom - { - if ((cr = me->SummonCreature(NPC_BARLEYBREW_KEG, -5187.23f, -599.779f, 397.176f, 0.017453f))) - summons.Summon(cr); - if ((cr = me->SummonCreature(NPC_THUNDERBREW_KEG, -5160.05f, -632.632f, 397.178f, 1.39626f))) - summons.Summon(cr); - if ((cr = me->SummonCreature(NPC_GORDOK_KEG, -5145.75f, -575.667f, 397.176f, -2.28638f))) - summons.Summon(cr); - } + me->CastSpell(me, (me->GetMapId() == 1 ? SPELL_SUMMON_PLANS_H : SPELL_SUMMON_PLANS_A), true); + Reset(); + } - if ((cr = me->SummonCreature(NPC_DARK_IRON_HERALD, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 300000))) + void PrepareEvent() + { + Creature* cr; + if (me->GetMapId() == 1) // Kalimdor + { + if ((cr = me->SummonCreature(NPC_DROHN_KEG, 1183.69f, -4315.15f, 21.1875f, 0.750492f))) + summons.Summon(cr); + if ((cr = me->SummonCreature(NPC_VOODOO_KEG, 1182.42f, -4272.45f, 21.1182f, -1.02974f))) + summons.Summon(cr); + if ((cr = me->SummonCreature(NPC_GORDOK_KEG, 1223.78f, -4296.48f, 21.1707f, -2.86234f))) summons.Summon(cr); + } + else if (me->GetMapId() == 0) // Eastern Kingdom + { + if ((cr = me->SummonCreature(NPC_BARLEYBREW_KEG, -5187.23f, -599.779f, 397.176f, 0.017453f))) + summons.Summon(cr); + if ((cr = me->SummonCreature(NPC_THUNDERBREW_KEG, -5160.05f, -632.632f, 397.178f, 1.39626f))) + summons.Summon(cr); + if ((cr = me->SummonCreature(NPC_GORDOK_KEG, -5145.75f, -575.667f, 397.176f, -2.28638f))) + summons.Summon(cr); + } - kegCounter = 0; - guzzlerCounter = 0; - thrown = 0; + if ((cr = me->SummonCreature(NPC_DARK_IRON_HERALD, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 300000))) + summons.Summon(cr); - events.ScheduleEvent(EVENT_SPAWN_MOLE_MACHINE, 1500); - events.ScheduleEvent(EVENT_PRE_FINISH_ATTACK, 280000); - events.ScheduleEvent(EVENT_BARTENDER_SAY, 5000); - } + kegCounter = 0; + guzzlerCounter = 0; + thrown = 0; - bool AllowStart() - { - time_t curtime = time(NULL); - tm strDate; - ACE_OS::localtime_r(&curtime, &strDate); + events.ScheduleEvent(EVENT_SPAWN_MOLE_MACHINE, 1500); + events.ScheduleEvent(EVENT_PRE_FINISH_ATTACK, 280000); + events.ScheduleEvent(EVENT_BARTENDER_SAY, 5000); + } - if (strDate.tm_min == 0 || strDate.tm_min == 30) - return true; + bool AllowStart() + { + time_t curtime = time(NULL); + tm strDate; + ACE_OS::localtime_r(&curtime, &strDate); - return false; - } + if (strDate.tm_min == 0 || strDate.tm_min == 30) + return true; - Creature* GetRandomBartender() - { - uint32 entry = 0; - switch (urand(0,2)) - { - case 0: - entry = (me->GetMapId() == 1 ? NPC_NORMAL_DROHN : NPC_NORMAL_THUNDERBREW); - break; - case 1: - entry = (me->GetMapId() == 1 ? NPC_NORMAL_VOODOO : NPC_NORMAL_BARLEYBREW); - break; - case 2: - entry = NPC_NORMAL_GORDOK; - break; - } + return false; + } - return me->FindNearestCreature(entry, 100.0f); + Creature* GetRandomBartender() + { + uint32 entry = 0; + switch (urand(0,2)) + { + case 0: + entry = (me->GetMapId() == 1 ? NPC_NORMAL_DROHN : NPC_NORMAL_THUNDERBREW); + break; + case 1: + entry = (me->GetMapId() == 1 ? NPC_NORMAL_VOODOO : NPC_NORMAL_BARLEYBREW); + break; + case 2: + entry = NPC_NORMAL_GORDOK; + break; } - }; - CreatureAI* GetAI(Creature* creature) const - { - return new npc_dark_iron_attack_generatorAI(creature); + return me->FindNearestCreature(entry, 100.0f); } + }; + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_dark_iron_attack_generatorAI(creature); + } }; class npc_dark_iron_attack_mole_machine : public CreatureScript { - public: - npc_dark_iron_attack_mole_machine() : CreatureScript("npc_dark_iron_attack_mole_machine") { } +public: + npc_dark_iron_attack_mole_machine() : CreatureScript("npc_dark_iron_attack_mole_machine") { } - struct npc_dark_iron_attack_mole_machineAI : public ScriptedAI + struct npc_dark_iron_attack_mole_machineAI : public ScriptedAI + { + npc_dark_iron_attack_mole_machineAI(Creature* creature) : ScriptedAI(creature) { - npc_dark_iron_attack_mole_machineAI(Creature* creature) : ScriptedAI(creature) - { - } + } - void EnterCombat(Unit*) {} - void MoveInLineOfSight(Unit*) {} - void AttackStart(Unit*) {} + void EnterCombat(Unit*) {} + void MoveInLineOfSight(Unit*) {} + void AttackStart(Unit*) {} - uint32 goTimer, summonTimer; - void Reset() - { - goTimer = 1; - summonTimer = 0; - } + uint32 goTimer, summonTimer; + void Reset() + { + goTimer = 1; + summonTimer = 0; + } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) + { + if (goTimer) { - if (goTimer) + goTimer += diff; + if (goTimer >= 3000) { - goTimer += diff; - if (goTimer >= 3000) + goTimer = 0; + summonTimer++; + if (GameObject* drill = me->SummonGameObject(GO_MOLE_MACHINE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), M_PI/4, 0.0f, 0.0f, 0.0f, 0.0f, 8)) { - goTimer = 0; - summonTimer++; - if (GameObject* drill = me->SummonGameObject(GO_MOLE_MACHINE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), M_PI/4, 0.0f, 0.0f, 0.0f, 0.0f, 8)) - { - //drill->SetGoAnimProgress(0); - drill->SetLootState(GO_READY); - drill->UseDoorOrButton(8); - } + //drill->SetGoAnimProgress(0); + drill->SetLootState(GO_READY); + drill->UseDoorOrButton(8); } } - if (summonTimer) + } + if (summonTimer) + { + summonTimer += diff; + if (summonTimer >= 2000 && summonTimer < 10000) { - summonTimer += diff; - if (summonTimer >= 2000 && summonTimer < 10000) - { - me->SummonCreature(NPC_DARK_IRON_GUZZLER, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000); - summonTimer = 10000; - } - if (summonTimer >= 13000 && summonTimer < 20000) - { - me->SummonCreature(NPC_DARK_IRON_GUZZLER, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000); - summonTimer = 0; - me->DespawnOrUnsummon(3000); - } + me->SummonCreature(NPC_DARK_IRON_GUZZLER, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000); + summonTimer = 10000; + } + if (summonTimer >= 13000 && summonTimer < 20000) + { + me->SummonCreature(NPC_DARK_IRON_GUZZLER, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 6000); + summonTimer = 0; + me->DespawnOrUnsummon(3000); } } - }; - - CreatureAI* GetAI(Creature* creature) const - { - return new npc_dark_iron_attack_mole_machineAI(creature); } + }; + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_dark_iron_attack_mole_machineAI(creature); + } }; class npc_dark_iron_guzzler : public CreatureScript { - public: - npc_dark_iron_guzzler() : CreatureScript("npc_dark_iron_guzzler") { } +public: + npc_dark_iron_guzzler() : CreatureScript("npc_dark_iron_guzzler") { } - struct npc_dark_iron_guzzlerAI : public ScriptedAI + struct npc_dark_iron_guzzlerAI : public ScriptedAI + { + npc_dark_iron_guzzlerAI(Creature* creature) : ScriptedAI(creature) { - npc_dark_iron_guzzlerAI(Creature* creature) : ScriptedAI(creature) - { - me->SetReactState(REACT_PASSIVE); - } + me->SetReactState(REACT_PASSIVE); + } - uint32 timer; - uint64 targetGUID; - void EnterCombat(Unit*) {} - void MoveInLineOfSight(Unit*) {} - void AttackStart(Unit*) {} + uint32 timer; + uint64 targetGUID; + void EnterCombat(Unit*) {} + void MoveInLineOfSight(Unit*) {} + void AttackStart(Unit*) {} - void DamageTaken(Unit*, uint32 &damage, DamageEffectType, SpellSchoolMask) + void DamageTaken(Unit*, uint32 &damage, DamageEffectType, SpellSchoolMask) + { + damage = 0; + } + + void FindNextKeg() + { + uint32 entry[3] = {0, 0, 0}; + uint32 shuffled[3] = {0, 0, 0}; + + if (me->GetMapId() == 1) // Kalimdor + { + entry[0] = NPC_DROHN_KEG; + entry[1] = NPC_VOODOO_KEG; + entry[2] = NPC_GORDOK_KEG; + } + else// if (me->GetMapId() == 0) // EK { - damage = 0; + entry[0] = NPC_THUNDERBREW_KEG; + entry[1] = NPC_BARLEYBREW_KEG; + entry[2] = NPC_GORDOK_KEG; } - void FindNextKeg() + for (uint8 i = 0; i < 3; ++i) { - uint32 entry[3] = {0, 0, 0}; - uint32 shuffled[3] = {0, 0, 0}; + uint8 index=0; + do + index = urand(0,2); + while (shuffled[index]); - if (me->GetMapId() == 1) // Kalimdor - { - entry[0] = NPC_DROHN_KEG; - entry[1] = NPC_VOODOO_KEG; - entry[2] = NPC_GORDOK_KEG; - } - else// if (me->GetMapId() == 0) // EK + shuffled[index] = entry[i]; + } + + for (uint8 i = 0; i < 3; ++i) + if (Creature* cr = me->FindNearestCreature(shuffled[i], 100.0f)) { - entry[0] = NPC_THUNDERBREW_KEG; - entry[1] = NPC_BARLEYBREW_KEG; - entry[2] = NPC_GORDOK_KEG; - } - - for (uint8 i = 0; i < 3; ++i) - { - uint8 index=0; - do - index = urand(0,2); - while (shuffled[index]); - - shuffled[index] = entry[i]; + me->GetMotionMaster()->MoveFollow(cr, 1.0f, cr->GetAngle(me)); + targetGUID = cr->GetGUID(); + return; } - for (uint8 i = 0; i < 3; ++i) - if (Creature* cr = me->FindNearestCreature(shuffled[i], 100.0f)) - { - me->GetMotionMaster()->MoveFollow(cr, 1.0f, cr->GetAngle(me)); - targetGUID = cr->GetGUID(); - return; - } - - // no kegs found - me->DisappearAndDie(); - } + // no kegs found + me->DisappearAndDie(); + } - Unit* GetTarget() { return ObjectAccessor::GetUnit(*me, targetGUID); } + Unit* GetTarget() { return ObjectAccessor::GetUnit(*me, targetGUID); } - void Reset() - { - timer = 0; - targetGUID = 0; - me->SetWalk(true); - FindNextKeg(); - me->ApplySpellImmune(SPELL_ATTACK_KEG, IMMUNITY_ID, SPELL_ATTACK_KEG, true); - SayText(); - me->CastSpell(me, SPELL_KNOCKBACK_AURA, true); - } + void Reset() + { + timer = 0; + targetGUID = 0; + me->SetWalk(true); + FindNextKeg(); + me->ApplySpellImmune(SPELL_ATTACK_KEG, IMMUNITY_ID, SPELL_ATTACK_KEG, true); + SayText(); + me->CastSpell(me, SPELL_KNOCKBACK_AURA, true); + } - void SayText() + void SayText() + { + if (!urand(0,20)) { - if (!urand(0,20)) + switch (urand(0,4)) { - switch (urand(0,4)) - { - case 0: - me->MonsterSay("Drink it all boys!", LANG_UNIVERSAL, 0); - break; - case 1: - me->MonsterSay("DRINK! BRAWL! DRINK! BRAWL!", LANG_UNIVERSAL, 0); - break; - case 2: - me->MonsterSay("Did someone say, \"Free Brew\"?", LANG_UNIVERSAL, 0); - break; - case 3: - me->MonsterSay("No one expects the Dark Iron dwarves!", LANG_UNIVERSAL, 0); - break; - case 4: - me->MonsterSay("It's not a party without some crashers!", LANG_UNIVERSAL, 0); - break; - } + case 0: + me->MonsterSay("Drink it all boys!", LANG_UNIVERSAL, 0); + break; + case 1: + me->MonsterSay("DRINK! BRAWL! DRINK! BRAWL!", LANG_UNIVERSAL, 0); + break; + case 2: + me->MonsterSay("Did someone say, \"Free Brew\"?", LANG_UNIVERSAL, 0); + break; + case 3: + me->MonsterSay("No one expects the Dark Iron dwarves!", LANG_UNIVERSAL, 0); + break; + case 4: + me->MonsterSay("It's not a party without some crashers!", LANG_UNIVERSAL, 0); + break; } } + } - void KilledUnit(Unit* who) - { - who->CastSpell(who, SPELL_REPORT_DEATH, true); - } + void KilledUnit(Unit* who) + { + who->CastSpell(who, SPELL_REPORT_DEATH, true); + } - void SpellHit(Unit* /*caster*/, const SpellInfo* spellInfo) + void SpellHit(Unit* /*caster*/, const SpellInfo* spellInfo) + { + if (me->IsAlive() && spellInfo->Id == SPELL_PLAYER_MUG) { - if (me->IsAlive() && spellInfo->Id == SPELL_PLAYER_MUG) - { - me->CastSpell(me, SPELL_MUG_BOUNCE_BACK, true); - Unit::Kill(me, me); - me->CastSpell(me, SPELL_REPORT_DEATH, true); - } + me->CastSpell(me, SPELL_MUG_BOUNCE_BACK, true); + Unit::Kill(me, me); + me->CastSpell(me, SPELL_REPORT_DEATH, true); } + } - void UpdateAI(uint32 diff) - { - timer += diff; - if (timer < 2000) - return; + void UpdateAI(uint32 diff) + { + timer += diff; + if (timer < 2000) + return; - timer = 0; - if (targetGUID) - { - if (Unit* target = GetTarget()) - me->CastSpell(target, SPELL_ATTACK_KEG, false); - else - FindNextKeg(); - } + timer = 0; + if (targetGUID) + { + if (Unit* target = GetTarget()) + me->CastSpell(target, SPELL_ATTACK_KEG, false); + else + FindNextKeg(); } - }; - - CreatureAI* GetAI(Creature* creature) const - { - return new npc_dark_iron_guzzlerAI(creature); } + }; + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_dark_iron_guzzlerAI(creature); + } }; class npc_brewfest_super_brew_trigger : public CreatureScript { - public: - npc_brewfest_super_brew_trigger() : CreatureScript("npc_brewfest_super_brew_trigger") { } +public: + npc_brewfest_super_brew_trigger() : CreatureScript("npc_brewfest_super_brew_trigger") { } - struct npc_brewfest_super_brew_triggerAI : public ScriptedAI + struct npc_brewfest_super_brew_triggerAI : public ScriptedAI + { + npc_brewfest_super_brew_triggerAI(Creature* creature) : ScriptedAI(creature) { - npc_brewfest_super_brew_triggerAI(Creature* creature) : ScriptedAI(creature) - { - } + } - uint32 timer; - void EnterCombat(Unit*) {} - void MoveInLineOfSight(Unit* /*who*/) - { - } + uint32 timer; + void EnterCombat(Unit*) {} + void MoveInLineOfSight(Unit* /*who*/) + { + } - void AttackStart(Unit*) {} + void AttackStart(Unit*) {} - void Reset() - { - timer = 0; - me->SummonGameObject(186478, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 30000); - } + void Reset() + { + timer = 0; + me->SummonGameObject(186478, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 30000); + } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) + { + timer += diff; + if (timer >= 500) { - timer += diff; - if (timer >= 500) + timer = 0; + Player* player = NULL; + Trinity::AnyPlayerInObjectRangeCheck checker(me, 2.0f); + Trinity::PlayerSearcher searcher(me, player, checker); + me->VisitNearbyWorldObject(2.0f, searcher); + if (player) { - timer = 0; - Player* player = NULL; - Trinity::AnyPlayerInObjectRangeCheck checker(me, 2.0f); - Trinity::PlayerSearcher searcher(me, player, checker); - me->VisitNearbyWorldObject(2.0f, searcher); - if (player) - { - player->CastSpell(player, SPELL_DRUNKEN_MASTER, true); - me->RemoveAllGameObjects(); - Unit::Kill(me, me); - } + player->CastSpell(player, SPELL_DRUNKEN_MASTER, true); + me->RemoveAllGameObjects(); + Unit::Kill(me, me); } } - }; - - CreatureAI* GetAI(Creature* creature) const - { - return new npc_brewfest_super_brew_triggerAI(creature); } + }; + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_brewfest_super_brew_triggerAI(creature); + } }; @@ -1521,7 +1522,7 @@ class spell_brewfest_unfill_keg : public SpellScriptLoader case 32920: return YELLOW_EMPTY_KEG; } - + return 0; } @@ -1638,7 +1639,7 @@ class spell_brewfest_toss_mug : public SpellScriptLoader else if ((cr = caster->FindNearestCreature(NPC_NORMAL_GORDOK, 40.0f))) cr->CastSpell(caster, SPELL_THROW_MUG_TO_PLAYER, true); } - + } void Register() @@ -1691,71 +1692,71 @@ enum brewBubble class npc_brew_bubble : public CreatureScript { - public: - npc_brew_bubble() : CreatureScript("npc_brew_bubble") { } +public: + npc_brew_bubble() : CreatureScript("npc_brew_bubble") { } - struct npc_brew_bubbleAI : public NullCreatureAI + struct npc_brew_bubbleAI : public NullCreatureAI + { + npc_brew_bubbleAI(Creature* creature) : NullCreatureAI(creature) { - npc_brew_bubbleAI(Creature* creature) : NullCreatureAI(creature) - { - } + } - uint32 timer; + uint32 timer; - void Reset() - { - me->SetReactState(REACT_AGGRESSIVE); - me->GetMotionMaster()->MoveRandom(15.0f); - timer = 0; - } + void Reset() + { + me->SetReactState(REACT_AGGRESSIVE); + me->GetMotionMaster()->MoveRandom(15.0f); + timer = 0; + } - void DoAction(int32) - { - timer = 0; - } + void DoAction(int32) + { + timer = 0; + } - void MoveInLineOfSight(Unit* target) - { - if (target->GetEntry() == me->GetEntry()) - if (me->IsWithinDist(target, 1.0f)) + void MoveInLineOfSight(Unit* target) + { + if (target->GetEntry() == me->GetEntry()) + if (me->IsWithinDist(target, 1.0f)) + { + uint8 stacksMe = me->GetAuraCount(SPELL_BUBBLE_BUILD_UP); + uint8 stacksTarget = target->GetAuraCount(SPELL_BUBBLE_BUILD_UP); + if (stacksMe >= stacksTarget) { - uint8 stacksMe = me->GetAuraCount(SPELL_BUBBLE_BUILD_UP); - uint8 stacksTarget = target->GetAuraCount(SPELL_BUBBLE_BUILD_UP); - if (stacksMe >= stacksTarget) - { - if (Aura* aura = me->GetAura(SPELL_BUBBLE_BUILD_UP)) - aura->ModStackAmount(stacksTarget+1); - else - me->AddAura(SPELL_BUBBLE_BUILD_UP, me); - - target->ToCreature()->DespawnOrUnsummon(); - DoAction(0); - } - else if (Aura* aura = target->GetAura(SPELL_BUBBLE_BUILD_UP)) - { - aura->ModStackAmount(stacksMe); - - target->ToCreature()->AI()->DoAction(0); - me->DespawnOrUnsummon(); - } + if (Aura* aura = me->GetAura(SPELL_BUBBLE_BUILD_UP)) + aura->ModStackAmount(stacksTarget+1); + else + me->AddAura(SPELL_BUBBLE_BUILD_UP, me); + + target->ToCreature()->DespawnOrUnsummon(); + DoAction(0); } - } + else if (Aura* aura = target->GetAura(SPELL_BUBBLE_BUILD_UP)) + { + aura->ModStackAmount(stacksMe); - void UpdateAI(uint32 diff) - { - timer += diff; - if (timer >= 25000) - { - timer = 0; - me->DespawnOrUnsummon(); + target->ToCreature()->AI()->DoAction(0); + me->DespawnOrUnsummon(); + } } - } - }; + } - CreatureAI* GetAI(Creature* creature) const + void UpdateAI(uint32 diff) { - return new npc_brew_bubbleAI(creature); + timer += diff; + if (timer >= 25000) + { + timer = 0; + me->DespawnOrUnsummon(); + } } + }; + + CreatureAI* GetAI(Creature* creature) const + { + return new npc_brew_bubbleAI(creature); + } }; void AddSC_event_brewfest_scripts() diff --git a/src/server/scripts/Events/hallows_end.cpp b/src/server/scripts/Events/hallows_end.cpp index 771e29e8afdf04..4bf10cfc08a928 100644 --- a/src/server/scripts/Events/hallows_end.cpp +++ b/src/server/scripts/Events/hallows_end.cpp @@ -362,7 +362,7 @@ class npc_costumed_orphan_matron : public CreatureScript struct npc_costumed_orphan_matronAI : public ScriptedAI { - npc_costumed_orphan_matronAI(Creature *c) : ScriptedAI(c) + npc_costumed_orphan_matronAI(Creature *c) : ScriptedAI(c) { } @@ -370,7 +370,7 @@ class npc_costumed_orphan_matron : public CreatureScript bool allowQuest; uint64 horseGUID; - void Reset() + void Reset() override { eventStarted = 0; allowQuest = false; @@ -402,7 +402,7 @@ class npc_costumed_orphan_matron : public CreatureScript } } - void DoAction(int32 param) + void DoAction(int32 param) override { if (param == ACTION_START_EVENT) { @@ -420,7 +420,7 @@ class npc_costumed_orphan_matron : public CreatureScript } } - uint32 GetData(uint32 param) const + uint32 GetData(uint32 param) const override { if (param == DATA_ALLOW_START) return allowQuest; @@ -428,7 +428,7 @@ class npc_costumed_orphan_matron : public CreatureScript return 0; } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { if (eventStarted) { @@ -442,7 +442,7 @@ class npc_costumed_orphan_matron : public CreatureScript } }; - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { QuestRelationBounds pObjectQR = sObjectMgr->GetCreatureQuestRelationBounds(creature->GetEntry()); QuestRelationBounds pObjectQIR = sObjectMgr->GetCreatureQuestInvolvedRelationBounds(creature->GetEntry()); @@ -494,7 +494,7 @@ class npc_costumed_orphan_matron : public CreatureScript return true; } - bool OnQuestAccept(Player* /*player*/, Creature* creature, Quest const* quest) + bool OnQuestAccept(Player* /*player*/, Creature* creature, Quest const* quest) override { if ((quest->GetQuestId() == QUEST_LET_THE_FIRES_COME_A || quest->GetQuestId() == QUEST_LET_THE_FIRES_COME_H) && !creature->AI()->GetData(DATA_ALLOW_START)) creature->AI()->DoAction(ACTION_START_EVENT); @@ -502,7 +502,7 @@ class npc_costumed_orphan_matron : public CreatureScript return true; } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* pCreature) const override { return new npc_costumed_orphan_matronAI (pCreature); } @@ -921,7 +921,7 @@ class boss_headless_horseman : public CreatureScript for (std::list::iterator itr = unitList.begin(); itr != unitList.end(); ++itr) (*itr)->ToCreature()->DespawnOrUnsummon(500); - + Map::PlayerList const& players = me->GetMap()->GetPlayers(); if (!players.isEmpty() && players.begin()->GetSource() && players.begin()->GetSource()->GetGroup()) sLFGMgr->FinishDungeon(players.begin()->GetSource()->GetGroup()->GetGUID(), 285, me->FindMap()); @@ -962,7 +962,7 @@ class boss_headless_horseman : public CreatureScript events.CancelEvent(EVENT_HORSEMAN_CONFLAGRATION); events.CancelEvent(EVENT_SUMMON_PUMPKIN); me->MonsterYell("Here's my body, fit and pure! Now, your blackened souls I'll cure!", LANG_UNIVERSAL, 0); - + if (phase == 1) events.ScheduleEvent(EVENT_HORSEMAN_CONFLAGRATION, 6000); else if (phase == 2) @@ -980,7 +980,7 @@ class boss_headless_horseman : public CreatureScript { me->SetUInt32Value(UNIT_FIELD_FLAGS, 0); me->StopMoving(); - + me->SetInCombatWithZone(); inFight = true; events.ScheduleEvent(EVENT_HORSEMAN_FOLLOW, 500); @@ -1036,7 +1036,7 @@ class boss_headless_horseman : public CreatureScript phase = 0; inFight = false; health = 0; - + me->SetDisableGravity(true); me->SetSpeed(MOVE_WALK, 5.0f, true); } @@ -1253,7 +1253,7 @@ class boss_headless_horseman_head : public CreatureScript damage = 0; me->RemoveAllAuras(); me->CastSpell(me, SPELL_HEAD_DAMAGED_INFO, true); - me->CastSpell(me, SPELL_THROW_HEAD_BACK, true); + me->CastSpell(me, SPELL_THROW_HEAD_BACK, true); if (Unit* owner = GetOwner()) owner->RemoveAura(SPELL_HORSEMAN_IMMUNITY); } @@ -1377,7 +1377,7 @@ void AddSC_event_hallows_end_scripts() new spell_hallows_end_put_costume("spell_hallows_end_leper_costume", SPELL_LEPER_GNOME_COSTUME_MALE, SPELL_LEPER_GNOME_COSTUME_FEMALE); new spell_hallows_end_put_costume("spell_hallows_end_ghost_costume", SPELL_GHOST_COSTUME_MALE, SPELL_GHOST_COSTUME_FEMALE); new spell_hallows_end_put_costume("spell_hallows_end_ninja_costume", SPELL_NINJA_COSTUME_MALE, SPELL_NINJA_COSTUME_FEMALE); - + // Quests new npc_hallows_end_train_fire(); diff --git a/src/server/scripts/Events/midsummer.cpp b/src/server/scripts/Events/midsummer.cpp index 6f7fcec5d2216f..963c7a670bd05c 100644 --- a/src/server/scripts/Events/midsummer.cpp +++ b/src/server/scripts/Events/midsummer.cpp @@ -21,9 +21,9 @@ class go_midsummer_bonfire : public GameObjectScript public: go_midsummer_bonfire() : GameObjectScript("go_midsummer_bonfire") { } - bool OnGossipSelect(Player* player, GameObject* /*go*/, uint32 /*sender*/, uint32 /*action*/) + bool OnGossipSelect(Player* player, GameObject* /*go*/, uint32 /*sender*/, uint32 /*action*/) override { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); // we know that there is only one gossip. player->CastSpell(player, SPELL_STAMP_OUT_BONFIRE, true); return true; @@ -37,7 +37,7 @@ class npc_midsummer_bonfire : public CreatureScript struct npc_midsummer_bonfireAI : public ScriptedAI { - npc_midsummer_bonfireAI(Creature* c) : ScriptedAI(c) + npc_midsummer_bonfireAI(Creature* c) : ScriptedAI(c) { me->IsAIEnabled = true; goGUID = 0; @@ -47,7 +47,7 @@ class npc_midsummer_bonfire : public CreatureScript me->RemoveGameObject(go, false); } } - + uint64 goGUID; void SpellHit(Unit*, SpellInfo const* spellInfo) @@ -86,7 +86,7 @@ class npc_midsummer_torch_target : public CreatureScript struct npc_midsummer_torch_targetAI : public ScriptedAI { - npc_midsummer_torch_targetAI(Creature* c) : ScriptedAI(c) + npc_midsummer_torch_targetAI(Creature* c) : ScriptedAI(c) { teleTimer = 0; startTimer = 1; @@ -114,7 +114,7 @@ class npc_midsummer_torch_target : public CreatureScript { return seer->GetGUID() == playerGUID; } - + void SpellHit(Unit* caster, SpellInfo const* spellInfo) { if (posVec.empty()) @@ -273,7 +273,7 @@ class spell_midsummer_ribbon_pole : public SpellScriptLoader class spell_midsummer_ribbon_pole_AuraScript : public AuraScript { PrepareAuraScript(spell_midsummer_ribbon_pole_AuraScript) - + void HandleEffectPeriodic(AuraEffect const * /*aurEff*/) { PreventDefaultAction(); @@ -340,7 +340,7 @@ class spell_midsummer_torch_quest : public SpellScriptLoader } uint64 torchGUID; - + void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) { Unit* ar = GetTarget(); @@ -573,4 +573,4 @@ void AddSC_event_midsummer_scripts() new spell_midsummer_torch_quest(); new spell_midsummer_fling_torch(); new spell_midsummer_juggling_torch(); -} \ No newline at end of file +} diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp index 133431fffd3fab..8c2d992d191131 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp @@ -41,9 +41,9 @@ class npc_jaina_proudmoore : public CreatureScript public: npc_jaina_proudmoore() : CreatureScript("npc_jaina_proudmoore") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); hyjalAI* ai = CAST_AI(hyjalAI, creature->AI()); switch (action) { @@ -66,7 +66,7 @@ class npc_jaina_proudmoore : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { hyjalAI* ai = CAST_AI(hyjalAI, creature->AI()); if (ai->EventBegun) @@ -75,20 +75,20 @@ class npc_jaina_proudmoore : public CreatureScript uint32 RageEncounter = ai->GetInstanceData(DATA_RAGEWINTERCHILLEVENT); uint32 AnetheronEncounter = ai->GetInstanceData(DATA_ANETHERONEVENT); if (RageEncounter == NOT_STARTED) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEGIN_ALLY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEGIN_ALLY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); else if (RageEncounter == DONE && AnetheronEncounter == NOT_STARTED) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ANETHERON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ANETHERON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); else if (RageEncounter == DONE && AnetheronEncounter == DONE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_RETREAT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_RETREAT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); if (player->IsGameMaster()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_ITEM_GM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_TRAINER, GOSSIP_ITEM_GM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(907, creature->GetGUID()); + SendGossipMenuFor(player, 907, creature->GetGUID()); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { if (!creature->GetInstanceScript()) return NULL; @@ -120,9 +120,9 @@ class npc_thrall : public CreatureScript public: npc_thrall() : CreatureScript("npc_thrall") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); hyjalAI* ai = CAST_AI(hyjalAI, creature->AI()); ai->DeSpawnVeins();//despawn the alliance veins switch (action) @@ -146,7 +146,7 @@ class npc_thrall : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { hyjalAI* ai = CAST_AI(hyjalAI, creature->AI()); if (ai->EventBegun) @@ -159,21 +159,21 @@ class npc_thrall : public CreatureScript uint32 KazrogalEvent = ai->GetInstanceData(DATA_KAZROGALEVENT); uint32 AzgalorEvent = ai->GetInstanceData(DATA_AZGALOREVENT); if (KazrogalEvent == NOT_STARTED) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEGIN_HORDE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEGIN_HORDE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); else if (KazrogalEvent == DONE && AzgalorEvent == NOT_STARTED) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_AZGALOR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AZGALOR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); else if (AzgalorEvent == DONE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_RETREAT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_RETREAT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); } if (player->IsGameMaster()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_ITEM_GM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_TRAINER, GOSSIP_ITEM_GM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(907, creature->GetGUID()); + SendGossipMenuFor(player, 907, creature->GetGUID()); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { if (!creature->GetInstanceScript()) return NULL; @@ -201,7 +201,7 @@ class npc_tyrande_whisperwind : public CreatureScript public: npc_tyrande_whisperwind() : CreatureScript("npc_tyrande_whisperwind") { } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { if (!creature->GetInstanceScript()) return NULL; @@ -212,9 +212,9 @@ class npc_tyrande_whisperwind : public CreatureScript return ai; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF) { ItemPosCountVec dest; @@ -223,20 +223,20 @@ class npc_tyrande_whisperwind : public CreatureScript if (Item* item = player->StoreNewItem(dest, ITEM_TEAR_OF_GODDESS, true)) player->SendNewItem(item, 1, true, false, true); - player->SEND_GOSSIP_MENU(907, creature->GetGUID()); + SendGossipMenuFor(player, 907, creature->GetGUID()); } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { hyjalAI* ai = CAST_AI(hyjalAI, creature->AI()); uint32 AzgalorEvent = ai->GetInstanceData(DATA_AZGALOREVENT); // Only let them get item if Azgalor is dead. if (AzgalorEvent == DONE && !player->HasItemCount(ITEM_TEAR_OF_GODDESS)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TYRANDE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(907, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_TYRANDE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + SendGossipMenuFor(player, 907, creature->GetGUID()); return true; } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp index 25a9811bafab6e..748b899a33c160 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp @@ -30,7 +30,7 @@ enum Says SAY_PHASE201 = 10, SAY_PHASE203 = 11, SAY_PHASE205 = 12, - SAY_PHASE208 = 13, + SAY_PHASE208 = 13, SAY_PHASE209 = 14, SAY_PHASE210 = 15, @@ -83,7 +83,7 @@ enum Says SAY_PHASE117 = 1, //Cityman - SAY_PHASE202 = 0, + SAY_PHASE202 = 0, //Crazyman SAY_PHASE204 = 0, @@ -278,7 +278,7 @@ class npc_arthas : public CreatureScript public: npc_arthas() : CreatureScript("npc_arthas") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { if (creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) { @@ -287,35 +287,35 @@ class npc_arthas : public CreatureScript case GOSSIP_ACTION_INFO_DEF+1: creature->AI()->DoAction(ACTION_START_CITY); creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); break; case GOSSIP_ACTION_INFO_DEF+2: - player->PlayerTalkClass->ClearMenus(); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ARTHAS_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); - player->SEND_GOSSIP_MENU(GOSSIP_MENU_ARTHAS_3, creature->GetGUID()); + ClearGossipMenuFor(player); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ARTHAS_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); + SendGossipMenuFor(player, GOSSIP_MENU_ARTHAS_3, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+3: // Start Town Hall part creature->AI()->DoAction(ACTION_START_TOWN_HALL); creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); break; case GOSSIP_ACTION_INFO_DEF+4: // After killing epoch creature->AI()->DoAction(ACTION_START_SECRET_PASSAGE); creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); creature->SetTarget(0); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); break; case GOSSIP_ACTION_INFO_DEF+5: creature->AI()->DoAction(ACTION_START_LAST_CITY); creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); break; case GOSSIP_ACTION_INFO_DEF+6: creature->AI()->DoAction(ACTION_START_MALGANIS); creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); break; } } @@ -323,7 +323,7 @@ class npc_arthas : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { InstanceScript* pInstance = creature->GetInstanceScript(); if (!pInstance) @@ -332,30 +332,30 @@ class npc_arthas : public CreatureScript switch (pInstance->GetData(DATA_ARTHAS_EVENT)) { case COS_PROGRESS_FINISHED_INTRO: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ARTHAS_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(GOSSIP_MENU_ARTHAS_1, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ARTHAS_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + SendGossipMenuFor(player, GOSSIP_MENU_ARTHAS_1, creature->GetGUID()); break; case COS_PROGRESS_REACHED_TOWN_HALL: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ARTHAS_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(GOSSIP_MENU_ARTHAS_2, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ARTHAS_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, GOSSIP_MENU_ARTHAS_2, creature->GetGUID()); break; case COS_PROGRESS_KILLED_EPOCH: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ARTHAS_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4); - player->SEND_GOSSIP_MENU(GOSSIP_MENU_ARTHAS_4, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ARTHAS_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4); + SendGossipMenuFor(player, GOSSIP_MENU_ARTHAS_4, creature->GetGUID()); break; case COS_PROGRESS_LAST_CITY: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ARTHAS_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); - player->SEND_GOSSIP_MENU(GOSSIP_MENU_ARTHAS_5, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ARTHAS_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); + SendGossipMenuFor(player, GOSSIP_MENU_ARTHAS_5, creature->GetGUID()); break; case COS_PROGRESS_BEFORE_MALGANIS: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ARTHAS_6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6); - player->SEND_GOSSIP_MENU(GOSSIP_MENU_ARTHAS_6, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ARTHAS_6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6); + SendGossipMenuFor(player, GOSSIP_MENU_ARTHAS_6, creature->GetGUID()); break; } return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_arthasAI(creature); } @@ -380,31 +380,31 @@ class npc_arthas : public CreatureScript void ScheduleNextEvent(uint32 currentEvent, uint32 time); void SummonNextWave(); void ReorderInstance(uint32 data); - void EnterCombat(Unit* /*who*/); + void EnterCombat(Unit* /*who*/) override ; void SendNextWave(uint32 entry); void SpawnTimeRift(); - void JustDied(Unit*) + void JustDied(Unit*) override { RemoveEscortState(STATE_ESCORT_ESCORTING); if (pInstance) pInstance->SetData(DATA_ARTHAS_REPOSITION, 2); } - void JustSummoned(Creature* cr) + void JustSummoned(Creature* cr) override { summons.Summon(cr); } - void SummonedCreatureDespawn(Creature* cr) { summons.Despawn(cr); } + void SummonedCreatureDespawn(Creature* cr) override { summons.Despawn(cr); } - void SummonedCreatureDies(Creature* cr, Unit*) + void SummonedCreatureDies(Creature* cr, Unit*) override { if (pInstance && pInstance->GetData(DATA_ARTHAS_EVENT) > COS_PROGRESS_FINISHED_INTRO && pInstance->GetData(DATA_ARTHAS_EVENT) < COS_PROGRESS_REACHED_TOWN_HALL) SendNextWave(cr->GetEntry()); } - void DoAction(int32 param) + void DoAction(int32 param) override { if (param == ACTION_START_EVENT) { @@ -482,7 +482,7 @@ class npc_arthas : public CreatureScript } } - void Reset() + void Reset() override { actionEvents.Reset(); combatEvents.Reset(); @@ -503,7 +503,7 @@ class npc_arthas : public CreatureScript } } - void WaypointReached(uint32 uiPointId) + void WaypointReached(uint32 uiPointId) override { switch(uiPointId) { @@ -652,7 +652,7 @@ class npc_arthas : public CreatureScript } } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { npc_escortAI::UpdateAI(diff); @@ -673,7 +673,7 @@ class npc_arthas : public CreatureScript for (int i = 0; i < 3; ++i) if (Creature *horse = me->SummonCreature(NPC_HORSE_ESCORT, EventPos[EVENT_SRC_HORSE1+i], TEMPSUMMON_DEAD_DESPAWN, 180000)) horse->GetMotionMaster()->MovePoint(0, EventPos[EVENT_DST_HORSE1+i], false); - + ScheduleNextEvent(currentEvent, 4000); break; case EVENT_ACTION_PHASE1+1: @@ -691,7 +691,7 @@ class npc_arthas : public CreatureScript case EVENT_ACTION_PHASE1+3: if (Creature* uther = GetEventNpc(NPC_UTHER)) uther->AI()->Talk(SAY_PHASE102); - + ScheduleNextEvent(currentEvent, 8000); break; case EVENT_ACTION_PHASE1+4: @@ -711,7 +711,7 @@ class npc_arthas : public CreatureScript case EVENT_ACTION_PHASE1+6: if (Creature* uther = GetEventNpc(NPC_UTHER)) uther->AI()->Talk(SAY_PHASE105); - + ScheduleNextEvent(currentEvent, 1000); break; case EVENT_ACTION_PHASE1+7: @@ -721,7 +721,7 @@ class npc_arthas : public CreatureScript case EVENT_ACTION_PHASE1+8: if (Creature* uther = GetEventNpc(NPC_UTHER)) uther->AI()->Talk(SAY_PHASE107); - + ScheduleNextEvent(currentEvent, 6000); break; case EVENT_ACTION_PHASE1+9: @@ -731,7 +731,7 @@ class npc_arthas : public CreatureScript case EVENT_ACTION_PHASE1+10: if (Creature* uther = GetEventNpc(NPC_UTHER)) uther->AI()->Talk(SAY_PHASE109); - + ScheduleNextEvent(currentEvent, 8000); break; case EVENT_ACTION_PHASE1+11: @@ -741,7 +741,7 @@ class npc_arthas : public CreatureScript case EVENT_ACTION_PHASE1+12: if (Creature* uther = GetEventNpc(NPC_UTHER)) uther->AI()->Talk(SAY_PHASE111); - + ScheduleNextEvent(currentEvent, 4000); break; case EVENT_ACTION_PHASE1+13: @@ -751,7 +751,7 @@ class npc_arthas : public CreatureScript case EVENT_ACTION_PHASE1+14: if (Creature* jaina = GetEventNpc(NPC_JAINA)) jaina->AI()->Talk(SAY_PHASE113); - + ScheduleNextEvent(currentEvent, 2500); break; case EVENT_ACTION_PHASE1+15: @@ -761,7 +761,7 @@ class npc_arthas : public CreatureScript case EVENT_ACTION_PHASE1+16: if (Creature* uther = GetEventNpc(NPC_UTHER)) uther->AI()->Talk(SAY_PHASE115); - + ScheduleNextEvent(currentEvent, 4000); break; case EVENT_ACTION_PHASE1+17: @@ -881,7 +881,7 @@ class npc_arthas : public CreatureScript case EVENT_ACTION_PHASE2+5: if (Creature* malganis = GetEventNpc(NPC_MAL_GANIS)) malganis->AI()->Talk(SAY_PHASE207); - + ScheduleNextEvent(currentEvent, 15000); break; case EVENT_ACTION_PHASE2+6: @@ -908,7 +908,7 @@ class npc_arthas : public CreatureScript case EVENT_ACTION_PHASE2+8: if (pInstance) pInstance->SetData(DATA_START_WAVES, 1); - + SummonNextWave(); actionEvents.PopEvent(); break; @@ -1130,7 +1130,7 @@ class npc_arthas : public CreatureScript Talk(SAY_PHASE503); SetEscortPaused(false); eventInRun = false; - ScheduleNextEvent(currentEvent, 5000); + ScheduleNextEvent(currentEvent, 5000); break; case EVENT_ACTION_PHASE5+2: me->SetFacingTo(5.28f); @@ -1140,7 +1140,7 @@ class npc_arthas : public CreatureScript pInstance->SetData(DATA_ARTHAS_EVENT, COS_PROGRESS_FINISHED); if (GameObject* go = pInstance->instance->GetGameObject(pInstance->GetData64(DATA_EXIT_GATE))) go->SetGoState(GO_STATE_ACTIVE); - + if (!me->GetMap()->GetPlayers().isEmpty()) if (Player* player = me->GetMap()->GetPlayers().getFirst()->GetSource()) player->SummonGameObject(DUNGEON_MODE(GO_MALGANIS_CHEST_N, GO_MALGANIS_CHEST_H), 2288.35f, 1498.73f, 128.414f, -0.994837f, 0, 0, 0, 0, 0); @@ -1174,18 +1174,18 @@ class npc_arthas : public CreatureScript case EVENT_COMBAT_HEALTH_CHECK: if (HealthBelowPct(40)) me->CastSpell(me, SPELL_ARTHAS_HOLY_LIGHT, false); - + combatEvents.RepeatEvent(1000); break; - } + } DoMeleeAttackIfReady(); } }; }; -Creature* npc_arthas::npc_arthasAI::GetEventNpc(uint32 entry) -{ +Creature* npc_arthas::npc_arthasAI::GetEventNpc(uint32 entry) +{ for (SummonList::iterator i = summons.begin(); i != summons.end();) { Creature* summon = ObjectAccessor::GetCreature(*me, *i); @@ -1217,7 +1217,7 @@ void npc_arthas::npc_arthasAI::SummonNextWave() uint32 tableId = waveGroupId; if (tableId > 4) tableId--; - + for (uint32 i = 0; i < ENCOUNTER_WAVES_MAX_SPAWNS; ++i) me->SummonCreature(/*entry*/(uint32)WavesLocations[tableId][i][0], WavesLocations[tableId][i][1], WavesLocations[tableId][i][2], WavesLocations[tableId][i][3], WavesLocations[tableId][i][4]); } @@ -1248,7 +1248,7 @@ void npc_arthas::npc_arthasAI::ReorderInstance(uint32 data) case COS_PROGRESS_KILLED_SALRAMM: SetNextWaypoint(12, false); me->SetReactState(REACT_DEFENSIVE); - + if (data == COS_PROGRESS_FINISHED_CITY_INTRO) { eventInRun = true; @@ -1400,7 +1400,7 @@ class npc_cos_chromie_start : public CreatureScript public: npc_cos_chromie_start() : CreatureScript("npc_cos_chromie_start") { } - bool OnQuestAccept(Player* , Creature* creature, const Quest* pQuest) + bool OnQuestAccept(Player* , Creature* creature, const Quest* pQuest) override { if (pQuest->GetQuestId() == QUEST_DISPELLING_ILLUSIONS) if (InstanceScript* pInstance = creature->GetInstanceScript()) @@ -1409,7 +1409,7 @@ class npc_cos_chromie_start : public CreatureScript return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) override { // final menu id, show crates if hidden and add item if missing if (player->PlayerTalkClass->GetGossipMenu().GetMenuId() == 9595) @@ -1447,7 +1447,7 @@ class npc_cos_chromie_middle : public CreatureScript public: npc_cos_chromie_middle() : CreatureScript("npc_cos_chromie_middle") { } - bool OnQuestAccept(Player* , Creature* creature, const Quest* pQuest) + bool OnQuestAccept(Player* , Creature* creature, const Quest* pQuest) override { if (pQuest->GetQuestId() == QUEST_A_ROYAL_ESCORT) if (InstanceScript* pInstance = creature->GetInstanceScript()) @@ -1457,7 +1457,7 @@ class npc_cos_chromie_middle : public CreatureScript return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) override { if (!creature->GetInstanceScript() || creature->GetInstanceScript()->GetData(DATA_ARTHAS_EVENT) != COS_PROGRESS_CRATES_FOUND) return true; @@ -1469,7 +1469,7 @@ class npc_cos_chromie_middle : public CreatureScript return false; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) { @@ -1479,7 +1479,7 @@ class npc_cos_chromie_middle : public CreatureScript if (!creature->GetInstanceScript() || creature->GetInstanceScript()->GetData(DATA_ARTHAS_EVENT) != COS_PROGRESS_CRATES_FOUND) return true; - + return false; } }; @@ -1504,7 +1504,7 @@ class npc_cos_stratholme_citizien : public CreatureScript InstanceScript* pInstance; uint32 allowTimer; - void Reset() + void Reset() { me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); locked = false; @@ -1598,7 +1598,7 @@ class npc_cos_stratholme_citizien : public CreatureScript { return new npc_cos_stratholme_citizienAI(creature); } -}; +}; void AddSC_culling_of_stratholme() { diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp index 19910a5719e4ef..3c55cb2381040d 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp @@ -122,7 +122,7 @@ enum Events EVENT_SET_FACING = 9, EVENT_KILL_ARMORER = 10, EVENT_TALK_KILL_ARMORER = 11, - + EVENT_DRESSING_KNEEL = 20, EVENT_DRESSING_ARMOR = 21, EVENT_DRESSING_STAND = 22, @@ -182,12 +182,12 @@ class npc_thrall_old_hillsbrad : public CreatureScript public: npc_thrall_old_hillsbrad() : CreatureScript("npc_thrall_old_hillsbrad") { } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return GetInstanceAI(creature); } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { InstanceScript* instance = creature->GetInstanceScript(); if (!instance) @@ -206,15 +206,15 @@ class npc_thrall_old_hillsbrad : public CreatureScript return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) override { GossipMenuItemData const* gossipMenuItemData = player->PlayerTalkClass->GetGossipMenu().GetItemData(0); InstanceScript* instance = creature->GetInstanceScript(); if (!instance || (gossipMenuItemData && gossipMenuItemData->GossipActionMenuId != 0)) return false; - player->PlayerTalkClass->ClearMenus(); - player->CLOSE_GOSSIP_MENU(); + ClearGossipMenuFor(player); + CloseGossipMenuFor(player); creature->AI()->DoAction(instance->GetData(DATA_ESCORT_PROGRESS)); creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP|UNIT_NPC_FLAG_QUESTGIVER); @@ -228,7 +228,7 @@ class npc_thrall_old_hillsbrad : public CreatureScript instance = creature->GetInstanceScript(); } - void DoAction(int32 param) + void DoAction(int32 param) override { switch (param) { @@ -267,7 +267,7 @@ class npc_thrall_old_hillsbrad : public CreatureScript } } - void WaypointStart(uint32 waypointId) + void WaypointStart(uint32 waypointId) override { switch (waypointId) { @@ -277,7 +277,7 @@ class npc_thrall_old_hillsbrad : public CreatureScript } } - void WaypointReached(uint32 waypointId) + void WaypointReached(uint32 waypointId) override { switch (waypointId) { @@ -420,7 +420,7 @@ class npc_thrall_old_hillsbrad : public CreatureScript me->SetSpeed(MOVE_RUN, SPEED_RUNNING); } - void MovementInform(uint32 type, uint32 point) + void MovementInform(uint32 type, uint32 point) override { npc_escortAI::MovementInform(type, point); if (type == POINT_MOTION_TYPE && point == 0xFFFFFF /*POINT_LAST_POINT*/) @@ -432,7 +432,7 @@ class npc_thrall_old_hillsbrad : public CreatureScript } } - void EnterCombat(Unit*) + void EnterCombat(Unit*) override { combatEvents.Reset(); combatEvents.ScheduleEvent(EVENT_CHECK_HEALTH, 500); @@ -449,7 +449,7 @@ class npc_thrall_old_hillsbrad : public CreatureScript } } - void Reset() + void Reset() override { _mounted = false; events.Reset(); @@ -458,28 +458,29 @@ class npc_thrall_old_hillsbrad : public CreatureScript me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP|UNIT_NPC_FLAG_QUESTGIVER); instance->SetData(DATA_THRALL_REPOSITION, 1); - + uint32 data = instance->GetData(DATA_ESCORT_PROGRESS); if (data >= ENCOUNTER_PROGRESS_THRALL_ARMORED) ReorderInstance(data); } - void KilledUnit(Unit*) + void KilledUnit(Unit*) override { Talk(SAY_RANDOM_KILL); } - void JustSummoned(Creature* summon) + void JustSummoned(Creature* summon) override { if (summon->GetEntry() == NPC_INFINITE_SLAYER || summon->GetEntry() == NPC_INFINITE_SABOTEUR || summon->GetEntry() == NPC_INFINITE_DEFILER) summon->GetMotionMaster()->MovePoint(10, 2634.25f, 672.01f, 54.445f); summons.Summon(summon); } - void SummonedCreatureDespawn(Creature* summon) { summons.Despawn(summon); } - void SummonedCreatureDies(Creature* summon, Unit*) { summons.Despawn(summon); } - void JustDied(Unit* killer) + void SummonedCreatureDespawn(Creature* summon) override { summons.Despawn(summon); } + void SummonedCreatureDies(Creature* summon, Unit*) override { summons.Despawn(summon); } + + void JustDied(Unit* killer) override { if (killer == me) return; @@ -494,7 +495,7 @@ class npc_thrall_old_hillsbrad : public CreatureScript me->SetRespawnTime(DAY); } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { npc_escortAI::UpdateAI(diff); @@ -760,7 +761,7 @@ class npc_thrall_old_hillsbrad : public CreatureScript } } - void UpdateEscortAI(uint32 diff) + void UpdateEscortAI(uint32 diff) override { if (!UpdateVictim()) return; @@ -794,7 +795,7 @@ class npc_thrall_old_hillsbrad : public CreatureScript Start(true, true); SetEscortPaused(true); SetDespawnAtEnd(false); - + me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP|UNIT_NPC_FLAG_QUESTGIVER); if (data < ENCOUNTER_PROGRESS_THRALL_ARMORED) @@ -826,7 +827,7 @@ class npc_thrall_old_hillsbrad : public CreatureScript SetNextWaypoint(61, false); break; case ENCOUNTER_PROGRESS_TARETHA_MEET: - SetNextWaypoint(95, false); + SetNextWaypoint(95, false); if (Creature* Taretha = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_TARETHA_GUID))) Taretha->SetStandState(UNIT_STAND_STATE_STAND); break; @@ -848,12 +849,12 @@ class npc_taretha : public CreatureScript public: npc_taretha() : CreatureScript("npc_taretha") { } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return GetInstanceAI(creature); } - bool OnGossipHello(Player* /*player*/, Creature* /*creature*/) + bool OnGossipHello(Player* /*player*/, Creature* /*creature*/) override { return true; } @@ -867,14 +868,14 @@ class npc_taretha : public CreatureScript InstanceScript* instance; - void DoAction(int32 /*param*/) + void DoAction(int32 /*param*/) override { me->SetStandState(UNIT_STAND_STATE_STAND); me->RemoveAllAuras(); Start(false, true); } - void WaypointReached(uint32 waypointId) + void WaypointReached(uint32 waypointId) override { if (waypointId == 7) { @@ -888,14 +889,14 @@ class npc_taretha : public CreatureScript me->SetVisible(false); } - void Reset() + void Reset() override { me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); me->CastSpell(me, SPELL_SHADOW_PRISON, true); } - void AttackStart(Unit*) { } - void MoveInLineOfSight(Unit*) { } + void AttackStart(Unit*) override { } + void MoveInLineOfSight(Unit*) override { } }; }; diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp index 3077edd8280e46..4a22590759511f 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp @@ -266,22 +266,22 @@ class boss_ossirian : public CreatureScript class go_ossirian_crystal : public GameObjectScript { - public: - go_ossirian_crystal() : GameObjectScript("go_ossirian_crystal") { } - - bool OnGossipHello(Player* player, GameObject* /*go*/) - { - InstanceScript* Instance = player->GetInstanceScript(); - if (!Instance) - return false; - - Creature* Ossirian = player->FindNearestCreature(NPC_OSSIRIAN, 30.0f); - if (!Ossirian || Instance->GetBossState(DATA_OSSIRIAN) != IN_PROGRESS) - return false; - - Ossirian->AI()->DoAction(ACTION_TRIGGER_WEAKNESS); - return true; - } +public: + go_ossirian_crystal() : GameObjectScript("go_ossirian_crystal") { } + + bool OnGossipHello(Player* player, GameObject* /*go*/) override + { + InstanceScript* Instance = player->GetInstanceScript(); + if (!Instance) + return false; + + Creature* Ossirian = player->FindNearestCreature(NPC_OSSIRIAN, 30.0f); + if (!Ossirian || Instance->GetBossState(DATA_OSSIRIAN) != IN_PROGRESS) + return false; + + Ossirian->AI()->DoAction(ACTION_TRIGGER_WEAKNESS); + return true; + } }; void AddSC_boss_ossirian() diff --git a/src/server/scripts/Kalimdor/zone_ashenvale.cpp b/src/server/scripts/Kalimdor/zone_ashenvale.cpp index 7deb9026541c6a..99184fffef2842 100644 --- a/src/server/scripts/Kalimdor/zone_ashenvale.cpp +++ b/src/server/scripts/Kalimdor/zone_ashenvale.cpp @@ -304,24 +304,24 @@ class npc_muglash : public CreatureScript class go_naga_brazier : public GameObjectScript { - public: - go_naga_brazier() : GameObjectScript("go_naga_brazier") { } +public: + go_naga_brazier() : GameObjectScript("go_naga_brazier") { } - bool OnGossipHello(Player* /*player*/, GameObject* go) + bool OnGossipHello(Player* /*player*/, GameObject* go) override + { + if (Creature* creature = GetClosestCreatureWithEntry(go, NPC_MUGLASH, INTERACTION_DISTANCE*2)) { - if (Creature* creature = GetClosestCreatureWithEntry(go, NPC_MUGLASH, INTERACTION_DISTANCE*2)) + if (npc_muglash::npc_muglashAI* pEscortAI = CAST_AI(npc_muglash::npc_muglashAI, creature->AI())) { - if (npc_muglash::npc_muglashAI* pEscortAI = CAST_AI(npc_muglash::npc_muglashAI, creature->AI())) - { - creature->AI()->Talk(SAY_MUG_BRAZIER_WAIT); + creature->AI()->Talk(SAY_MUG_BRAZIER_WAIT); - pEscortAI->_isBrazierExtinguished = true; - return false; - } + pEscortAI->_isBrazierExtinguished = true; + return false; } - - return true; } + + return true; + } }; void AddSC_ashenvale() diff --git a/src/server/scripts/Kalimdor/zone_azshara.cpp b/src/server/scripts/Kalimdor/zone_azshara.cpp index 7e2c859d926f3a..bf18513d4624e5 100644 --- a/src/server/scripts/Kalimdor/zone_azshara.cpp +++ b/src/server/scripts/Kalimdor/zone_azshara.cpp @@ -131,56 +131,56 @@ class npc_loramus_thalipedes : public CreatureScript public: npc_loramus_thalipedes() : CreatureScript("npc_loramus_thalipedes") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->AreaExploredOrEventHappens(2744); break; case GOSSIP_ACTION_INFO_DEF+2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_LT1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 21); - player->SEND_GOSSIP_MENU(1813, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SELECT_LT1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 21); + SendGossipMenuFor(player, 1813, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+21: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_LT2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 22); - player->SEND_GOSSIP_MENU(1814, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SELECT_LT2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 22); + SendGossipMenuFor(player, 1814, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+22: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_LT3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 23); - player->SEND_GOSSIP_MENU(1815, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SELECT_LT3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 23); + SendGossipMenuFor(player, 1815, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+23: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_LT4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 24); - player->SEND_GOSSIP_MENU(1816, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SELECT_LT4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 24); + SendGossipMenuFor(player, 1816, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+24: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_LT5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 25); - player->SEND_GOSSIP_MENU(1817, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SELECT_LT5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 25); + SendGossipMenuFor(player, 1817, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+25: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->AreaExploredOrEventHappens(3141); break; } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(2744) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_LT1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HELLO_LT1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); if (player->GetQuestStatus(3141) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_LT2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HELLO_LT2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } @@ -282,7 +282,7 @@ class npc_rizzle_sprysprocket : public CreatureScript { npc_rizzle_sprysprocketAI(Creature* creature) : ScriptedAI(creature) { } - void Reset() + void Reset() override { SpellEscapeTimer = 1300; TeleportTimer = 3500; @@ -299,9 +299,9 @@ class npc_rizzle_sprysprocket : public CreatureScript Reached = false; } - void EnterCombat(Unit* /*who*/) { } + void EnterCombat(Unit* /*who*/) override { } - void AttackStart(Unit* who) + void AttackStart(Unit* who) override { if (!who || PlayerGUID) return; @@ -317,15 +317,15 @@ class npc_rizzle_sprysprocket : public CreatureScript } } - void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) + void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) override { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); me->CastSpell(player, SPELL_GIVE_SOUTHFURY_MOONSTONE, true); MustDieTimer = 3000; MustDie = true; } - void MovementInform(uint32 type, uint32 id) + void MovementInform(uint32 type, uint32 id) override { if (type != POINT_MOTION_TYPE) return; @@ -340,7 +340,7 @@ class npc_rizzle_sprysprocket : public CreatureScript ContinueWP = true; } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { if (MustDie) { @@ -438,16 +438,18 @@ class npc_rizzle_sprysprocket : public CreatureScript bool Reached; }; - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_CHASING_THE_MOONSTONE) != QUEST_STATUS_INCOMPLETE) return true; - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_GET_MOONSTONE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(10811, creature->GetGUID()); + + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_GET_MOONSTONE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, 10811, creature->GetGUID()); + return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_rizzle_sprysprocketAI(creature); } diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp index c1f4269708aa6f..a16ea2e29fba5e 100644 --- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp @@ -206,7 +206,7 @@ class npc_engineer_spark_overgrind : public CreatureScript void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); me->setFaction(FACTION_HOSTILE); me->Attack(player, true); } @@ -551,7 +551,7 @@ class go_ravager_cage : public GameObjectScript public: go_ravager_cage() : GameObjectScript("go_ravager_cage") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { go->UseDoorOrButton(); if (player->GetQuestStatus(QUEST_STRENGTH_ONE) == QUEST_STATUS_INCOMPLETE) @@ -703,23 +703,23 @@ class npc_stillpine_capitive : public CreatureScript class go_bristlelimb_cage : public GameObjectScript { - public: - go_bristlelimb_cage() : GameObjectScript("go_bristlelimb_cage") { } +public: + go_bristlelimb_cage() : GameObjectScript("go_bristlelimb_cage") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override + { + go->SetGoState(GO_STATE_READY); + if (player->GetQuestStatus(QUEST_THE_PROPHECY_OF_AKIDA) == QUEST_STATUS_INCOMPLETE) { - go->SetGoState(GO_STATE_READY); - if (player->GetQuestStatus(QUEST_THE_PROPHECY_OF_AKIDA) == QUEST_STATUS_INCOMPLETE) + if (Creature* capitive = go->FindNearestCreature(NPC_STILLPINE_CAPITIVE, 5.0f, true)) { - if (Creature* capitive = go->FindNearestCreature(NPC_STILLPINE_CAPITIVE, 5.0f, true)) - { - go->ResetDoorOrButton(); - CAST_AI(npc_stillpine_capitive::npc_stillpine_capitiveAI, capitive->AI())->StartMoving(player); - return false; - } + go->ResetDoorOrButton(); + CAST_AI(npc_stillpine_capitive::npc_stillpine_capitiveAI, capitive->AI())->StartMoving(player); + return false; } - return true; } + return true; + } }; void AddSC_azuremyst_isle() diff --git a/src/server/scripts/Kalimdor/zone_darkshore.cpp b/src/server/scripts/Kalimdor/zone_darkshore.cpp index 471ddcaf1f2d92..3ee244dd406b45 100644 --- a/src/server/scripts/Kalimdor/zone_darkshore.cpp +++ b/src/server/scripts/Kalimdor/zone_darkshore.cpp @@ -439,10 +439,9 @@ class npc_threshwackonator : public CreatureScript { npc_threshwackonatorAI(Creature* creature) : FollowerAI(creature) { } - void Reset() { } - - void MoveInLineOfSight(Unit* who) + void Reset() override { } + void MoveInLineOfSight(Unit* who) override { FollowerAI::MoveInLineOfSight(who); @@ -467,12 +466,12 @@ class npc_threshwackonator : public CreatureScript } }; - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (npc_threshwackonatorAI* pThreshAI = CAST_AI(npc_threshwackonator::npc_threshwackonatorAI, creature->AI())) { @@ -484,16 +483,16 @@ class npc_threshwackonator : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_GYROMAST_REV) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_INSERT_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_INSERT_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_threshwackonatorAI(creature); } diff --git a/src/server/scripts/Kalimdor/zone_desolace.cpp b/src/server/scripts/Kalimdor/zone_desolace.cpp index 020191d1fa30f5..51400f540295e0 100644 --- a/src/server/scripts/Kalimdor/zone_desolace.cpp +++ b/src/server/scripts/Kalimdor/zone_desolace.cpp @@ -178,7 +178,7 @@ class npc_cork_gizelton : public CreatureScript { if (Creature* summon = ObjectAccessor::GetCreature(*me, summons[i])) summon->DespawnOrUnsummon(); - + summons[i] = 0; } } @@ -198,7 +198,7 @@ class npc_cork_gizelton : public CreatureScript summons[1] = cr->GetGUID(); if ((cr = me->SummonCreature(NPC_CARAVAN_KODO, *me))) summons[2] = cr->GetGUID(); - + SummonsFollow(); } @@ -442,12 +442,12 @@ class npc_aged_dying_ancient_kodo : public CreatureScript { npc_aged_dying_ancient_kodoAI(Creature* creature) : ScriptedAI(creature) {} - void JustRespawned() + void JustRespawned() override { me->UpdateEntry(RAND(NPC_AGED_KODO, NPC_DYING_KODO, NPC_ANCIENT_KODO), NULL, false); } - void MoveInLineOfSight(Unit* who) + void MoveInLineOfSight(Unit* who) override { if (who->GetEntry() == NPC_SMEED && me->IsWithinDistInMap(who, 10.0f) && !me->HasAura(SPELL_KODO_KOMBO_GOSSIP)) { @@ -460,7 +460,7 @@ class npc_aged_dying_ancient_kodo : public CreatureScript } } - void SpellHit(Unit* caster, SpellInfo const* spell) + void SpellHit(Unit* caster, SpellInfo const* spell) override { if (spell->Id == SPELL_KODO_KOMBO_ITEM) { @@ -483,7 +483,7 @@ class npc_aged_dying_ancient_kodo : public CreatureScript } }; - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->HasAura(SPELL_KODO_KOMBO_PLAYER_BUFF) && creature->HasAura(SPELL_KODO_KOMBO_DESPAWN_BUFF)) { @@ -491,11 +491,11 @@ class npc_aged_dying_ancient_kodo : public CreatureScript player->RemoveAurasDueToSpell(SPELL_KODO_KOMBO_PLAYER_BUFF); } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_aged_dying_ancient_kodoAI(creature); } @@ -592,7 +592,7 @@ class go_demon_portal : public GameObjectScript public: go_demon_portal() : GameObjectScript("go_demon_portal") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (player->GetQuestStatus(QUEST_PORTAL_OF_THE_LEGION) == QUEST_STATUS_INCOMPLETE && !go->FindNearestCreature(NPC_DEMON_GUARDIAN, 5.0f, true)) { diff --git a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp index 41304df3b3b56e..05898fd165592f 100644 --- a/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp +++ b/src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp @@ -43,26 +43,26 @@ class npc_lady_jaina_proudmoore : public CreatureScript public: npc_lady_jaina_proudmoore() : CreatureScript("npc_lady_jaina_proudmoore") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_SENDER_INFO) { - player->SEND_GOSSIP_MENU(7012, creature->GetGUID()); + SendGossipMenuFor(player, 7012, creature->GetGUID()); player->CastSpell(player, SPELL_JAINAS_AUTOGRAPH, false); } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(QUEST_JAINAS_AUTOGRAPH) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_JAINA, GOSSIP_SENDER_MAIN, GOSSIP_SENDER_INFO); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_JAINA, GOSSIP_SENDER_MAIN, GOSSIP_SENDER_INFO); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } @@ -83,27 +83,27 @@ class npc_nat_pagle : public CreatureScript public: npc_nat_pagle() : CreatureScript("npc_nat_pagle") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_TRADE) player->GetSession()->SendListInventory(creature->GetGUID()); return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor() && player->GetQuestRewardStatus(QUEST_NATS_MEASURING_TAPE)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->SEND_GOSSIP_MENU(7640, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + SendGossipMenuFor(player, 7640, creature->GetGUID()); } else - player->SEND_GOSSIP_MENU(7638, creature->GetGUID()); + SendGossipMenuFor(player, 7638, creature->GetGUID()); return true; } diff --git a/src/server/scripts/Kalimdor/zone_felwood.cpp b/src/server/scripts/Kalimdor/zone_felwood.cpp index bc90b8fc423c1d..e5f1884461ae27 100644 --- a/src/server/scripts/Kalimdor/zone_felwood.cpp +++ b/src/server/scripts/Kalimdor/zone_felwood.cpp @@ -42,18 +42,18 @@ class npcs_riverbreeze_and_silversky : public CreatureScript public: npcs_riverbreeze_and_silversky() : CreatureScript("npcs_riverbreeze_and_silversky") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->CastSpell(player, SPELL_CENARION_BEACON, false); } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); @@ -64,24 +64,24 @@ class npcs_riverbreeze_and_silversky : public CreatureScript { if (player->GetQuestRewardStatus(QUEST_CLEASING_FELWOOD_A)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEACON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(2848, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEACON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + SendGossipMenuFor(player, 2848, creature->GetGUID()); } else if (player->GetTeamId() == TEAM_HORDE) - player->SEND_GOSSIP_MENU(2845, creature->GetGUID()); + SendGossipMenuFor(player, 2845, creature->GetGUID()); else - player->SEND_GOSSIP_MENU(2844, creature->GetGUID()); + SendGossipMenuFor(player, 2844, creature->GetGUID()); } if (creatureId == NPC_MAYBESS_RIVERBREEZE) { if (player->GetQuestRewardStatus(QUEST_CLEASING_FELWOOD_H)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEACON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(2849, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BEACON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + SendGossipMenuFor(player, 2849, creature->GetGUID()); } else if (player->GetTeamId() == TEAM_ALLIANCE) - player->SEND_GOSSIP_MENU(2843, creature->GetGUID()); + SendGossipMenuFor(player, 2843, creature->GetGUID()); else - player->SEND_GOSSIP_MENU(2842, creature->GetGUID()); + SendGossipMenuFor(player, 2842, creature->GetGUID()); } return true; diff --git a/src/server/scripts/Kalimdor/zone_feralas.cpp b/src/server/scripts/Kalimdor/zone_feralas.cpp index b76432bdefd09f..798b5cd1492be0 100644 --- a/src/server/scripts/Kalimdor/zone_feralas.cpp +++ b/src/server/scripts/Kalimdor/zone_feralas.cpp @@ -30,28 +30,28 @@ class npc_gregan_brewspewer : public CreatureScript public: npc_gregan_brewspewer() : CreatureScript("npc_gregan_brewspewer") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->SEND_GOSSIP_MENU(2434, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + SendGossipMenuFor(player, 2434, creature->GetGUID()); } if (action == GOSSIP_ACTION_TRADE) player->GetSession()->SendListInventory(creature->GetGUID()); return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor() && player->GetQuestStatus(3909) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HELLO, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(2433, creature->GetGUID()); + SendGossipMenuFor(player, 2433, creature->GetGUID()); return true; } diff --git a/src/server/scripts/Kalimdor/zone_moonglade.cpp b/src/server/scripts/Kalimdor/zone_moonglade.cpp index b051733bcd8f9e..0d50532657eafd 100644 --- a/src/server/scripts/Kalimdor/zone_moonglade.cpp +++ b/src/server/scripts/Kalimdor/zone_moonglade.cpp @@ -50,45 +50,45 @@ class npc_bunthen_plainswind : public CreatureScript public: npc_bunthen_plainswind() : CreatureScript("npc_bunthen_plainswind") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (player->getClass() == CLASS_DRUID && player->GetTeamId() == TEAM_HORDE) player->ActivateTaxiPathTo(TAXI_PATH_ID_HORDE); break; case GOSSIP_ACTION_INFO_DEF + 2: - player->SEND_GOSSIP_MENU(5373, creature->GetGUID()); + SendGossipMenuFor(player, 5373, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: - player->SEND_GOSSIP_MENU(5376, creature->GetGUID()); + SendGossipMenuFor(player, 5376, creature->GetGUID()); break; } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->getClass() != CLASS_DRUID) - player->SEND_GOSSIP_MENU(4916, creature->GetGUID()); + SendGossipMenuFor(player, 4916, creature->GetGUID()); else if (player->GetTeamId() != TEAM_HORDE) { if (player->GetQuestStatus(QUEST_SEA_LION_ALLY) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_AQ_END, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AQ_END, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->SEND_GOSSIP_MENU(4917, creature->GetGUID()); + SendGossipMenuFor(player, 4917, creature->GetGUID()); } else if (player->getClass() == CLASS_DRUID && player->GetTeamId() == TEAM_HORDE) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_THUNDER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_THUNDER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); if (player->GetQuestStatus(QUEST_SEA_LION_HORDE) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_AQ_END, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AQ_END, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - player->SEND_GOSSIP_MENU(4918, creature->GetGUID()); + SendGossipMenuFor(player, 4918, creature->GetGUID()); } return true; } @@ -109,25 +109,25 @@ class npc_great_bear_spirit : public CreatureScript public: npc_great_bear_spirit() : CreatureScript("npc_great_bear_spirit") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BEAR2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(4721, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BEAR2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, 4721, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BEAR3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->SEND_GOSSIP_MENU(4733, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BEAR3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + SendGossipMenuFor(player, 4733, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BEAR4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - player->SEND_GOSSIP_MENU(4734, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BEAR4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + SendGossipMenuFor(player, 4734, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: - player->SEND_GOSSIP_MENU(4735, creature->GetGUID()); + SendGossipMenuFor(player, 4735, creature->GetGUID()); if (player->GetQuestStatus(5929) == QUEST_STATUS_INCOMPLETE) player->AreaExploredOrEventHappens(5929); if (player->GetQuestStatus(5930) == QUEST_STATUS_INCOMPLETE) @@ -137,16 +137,16 @@ class npc_great_bear_spirit : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { //ally or horde quest if (player->GetQuestStatus(5929) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(5930) == QUEST_STATUS_INCOMPLETE) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BEAR1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(4719, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BEAR1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + SendGossipMenuFor(player, 4719, creature->GetGUID()); } else - player->SEND_GOSSIP_MENU(4718, creature->GetGUID()); + SendGossipMenuFor(player, 4718, creature->GetGUID()); return true; } @@ -165,45 +165,45 @@ class npc_silva_filnaveth : public CreatureScript public: npc_silva_filnaveth() : CreatureScript("npc_silva_filnaveth") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (player->getClass() == CLASS_DRUID && player->GetTeamId() == TEAM_ALLIANCE) player->ActivateTaxiPathTo(TAXI_PATH_ID_ALLY); break; case GOSSIP_ACTION_INFO_DEF + 2: - player->SEND_GOSSIP_MENU(5374, creature->GetGUID()); + SendGossipMenuFor(player, 5374, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: - player->SEND_GOSSIP_MENU(5375, creature->GetGUID()); + SendGossipMenuFor(player, 5375, creature->GetGUID()); break; } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->getClass() != CLASS_DRUID) - player->SEND_GOSSIP_MENU(4913, creature->GetGUID()); + SendGossipMenuFor(player, 4913, creature->GetGUID()); else if (player->GetTeamId() != TEAM_ALLIANCE) { if (player->GetQuestStatus(QUEST_SEA_LION_HORDE) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_AQ_AGI, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AQ_AGI, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->SEND_GOSSIP_MENU(4915, creature->GetGUID()); + SendGossipMenuFor(player, 4915, creature->GetGUID()); } else if (player->getClass() == CLASS_DRUID && player->GetTeamId() == TEAM_ALLIANCE) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_RUTHERAN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_RUTHERAN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); if (player->GetQuestStatus(QUEST_SEA_LION_ALLY) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_AQ_AGI, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AQ_AGI, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - player->SEND_GOSSIP_MENU(4914, creature->GetGUID()); + SendGossipMenuFor(player, 4914, creature->GetGUID()); } return true; } diff --git a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp index b903a5c2e058a6..b98413c39ccf0e 100644 --- a/src/server/scripts/Kalimdor/zone_orgrimmar.cpp +++ b/src/server/scripts/Kalimdor/zone_orgrimmar.cpp @@ -143,56 +143,56 @@ class npc_thrall_warchief : public CreatureScript public: npc_thrall_warchief() : CreatureScript("npc_thrall_warchief") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_STW1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(5733, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_STW1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, 5733, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_STW2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); - player->SEND_GOSSIP_MENU(5734, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_STW2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); + SendGossipMenuFor(player, 5734, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+3: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_STW3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4); - player->SEND_GOSSIP_MENU(5735, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_STW3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4); + SendGossipMenuFor(player, 5735, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+4: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_STW4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); - player->SEND_GOSSIP_MENU(5736, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_STW4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); + SendGossipMenuFor(player, 5736, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+5: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_STW5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6); - player->SEND_GOSSIP_MENU(5737, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_STW5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+6); + SendGossipMenuFor(player, 5737, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+6: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_STW6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+7); - player->SEND_GOSSIP_MENU(5738, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_STW6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+7); + SendGossipMenuFor(player, 5738, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+7: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->AreaExploredOrEventHappens(QUEST_6566); break; } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(QUEST_6566) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HTW, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HTW, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_thrall_warchiefAI(creature); } @@ -204,15 +204,15 @@ class npc_thrall_warchief : public CreatureScript uint32 ChainLightningTimer; uint32 ShockTimer; - void Reset() + void Reset() override { ChainLightningTimer = 2000; ShockTimer = 8000; } - void EnterCombat(Unit* /*who*/) { } + void EnterCombat(Unit* /*who*/) override { } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) return; @@ -232,7 +232,6 @@ class npc_thrall_warchief : public CreatureScript DoMeleeAttackIfReady(); } }; - }; void AddSC_orgrimmar() diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp index 1fe05979166739..7349389880512f 100644 --- a/src/server/scripts/Kalimdor/zone_silithus.cpp +++ b/src/server/scripts/Kalimdor/zone_silithus.cpp @@ -57,63 +57,63 @@ class npcs_rutgar_and_frankal : public CreatureScript public: npcs_rutgar_and_frankal() : CreatureScript("npcs_rutgar_and_frankal") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(7755, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, 7755, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->SEND_GOSSIP_MENU(7756, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + SendGossipMenuFor(player, 7756, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - player->SEND_GOSSIP_MENU(7757, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + SendGossipMenuFor(player, 7757, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); - player->SEND_GOSSIP_MENU(7758, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); + SendGossipMenuFor(player, 7758, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); - player->SEND_GOSSIP_MENU(7759, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + SendGossipMenuFor(player, 7759, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM7, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); - player->SEND_GOSSIP_MENU(7760, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM7, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); + SendGossipMenuFor(player, 7760, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: - player->SEND_GOSSIP_MENU(7761, creature->GetGUID()); + SendGossipMenuFor(player, 7761, creature->GetGUID()); //'kill' our trigger to update quest status player->KilledMonsterCredit(TRIGGER_RUTGAR, 0); break; case GOSSIP_ACTION_INFO_DEF + 9: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM11, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11); - player->SEND_GOSSIP_MENU(7762, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM11, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11); + SendGossipMenuFor(player, 7762, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 10: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM12, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11); - player->SEND_GOSSIP_MENU(7763, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM12, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11); + SendGossipMenuFor(player, 7763, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 11: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM13, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12); - player->SEND_GOSSIP_MENU(7764, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM13, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12); + SendGossipMenuFor(player, 7764, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 12: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM14, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13); - player->SEND_GOSSIP_MENU(7765, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM14, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13); + SendGossipMenuFor(player, 7765, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 13: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM15, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14); - player->SEND_GOSSIP_MENU(7766, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM15, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14); + SendGossipMenuFor(player, 7766, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 14: - player->SEND_GOSSIP_MENU(7767, creature->GetGUID()); + SendGossipMenuFor(player, 7767, creature->GetGUID()); //'kill' our trigger to update quest status player->KilledMonsterCredit(TRIGGER_FRANKAL, 0); break; @@ -121,7 +121,7 @@ class npcs_rutgar_and_frankal : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); @@ -129,14 +129,14 @@ class npcs_rutgar_and_frankal : public CreatureScript if (player->GetQuestStatus(8304) == QUEST_STATUS_INCOMPLETE && creature->GetEntry() == 15170 && !player->GetReqKillOrCastCurrentCount(8304, TRIGGER_RUTGAR)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); if (player->GetQuestStatus(8304) == QUEST_STATUS_INCOMPLETE && creature->GetEntry() == 15171 && player->GetReqKillOrCastCurrentCount(8304, TRIGGER_RUTGAR)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+9); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+9); - player->SEND_GOSSIP_MENU(7754, creature->GetGUID()); + SendGossipMenuFor(player, 7754, creature->GetGUID()); return true; } @@ -1299,7 +1299,7 @@ class go_wind_stone : public GameObjectScript } public: - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { uint8 rank = GetPlayerRank(player); @@ -1309,7 +1309,7 @@ class go_wind_stone : public GameObjectScript case GOSSIPID_LESSER_WS: { if (rank >= 1) // 1 or 2 or 3 - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TEMPLAR_RANDOM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_TEMPLAR_RANDOM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); else { go->CastSpell(player, SPELL_PUNISHMENT); @@ -1318,19 +1318,19 @@ class go_wind_stone : public GameObjectScript uint8 item = GetItems(player, TEMPLAR); if (item & FIRE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TEMPLAR_FIRE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_TEMPLAR_FIRE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); if (item & WATER) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TEMPLAR_WATER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_TEMPLAR_WATER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); if (item & EARTH) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TEMPLAR_EARTH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_TEMPLAR_EARTH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); if (item & AIR) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TEMPLAR_AIR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_TEMPLAR_AIR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); break; } case GOSSIPID_WS: { if (rank >= 2) // 2 or 3 - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DUKE_RANDOM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_DUKE_RANDOM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); else { go->CastSpell(player, SPELL_PUNISHMENT); @@ -1339,19 +1339,19 @@ class go_wind_stone : public GameObjectScript uint8 item = GetItems(player, DUKE); if (item & FIRE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DUKE_FIRE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_DUKE_FIRE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7); if (item & WATER) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DUKE_WATER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_DUKE_WATER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8); if (item & EARTH) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DUKE_EARTH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_DUKE_EARTH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9); if (item & AIR) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DUKE_AIR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_DUKE_AIR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10); break; } case GOSSIPID_GREATER_WS: { if (rank == 3) // 3 - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ROYAL_RANDOM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ROYAL_RANDOM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11); else { go->CastSpell(player, SPELL_PUNISHMENT); @@ -1360,26 +1360,26 @@ class go_wind_stone : public GameObjectScript uint8 item = GetItems(player, ROYAL); if (item & FIRE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ROYAL_FIRE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ROYAL_FIRE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12); if (item & WATER) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ROYAL_WATER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ROYAL_WATER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13); if (item & EARTH) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ROYAL_EARTH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ROYAL_EARTH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14); if (item & AIR) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ROYAL_AIR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 15); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ROYAL_AIR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 15); break; } default: break; } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(gossipId, go), go->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(gossipId, go), go->GetGUID()); return true; } - bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); player->PlayerTalkClass->SendCloseGossip(); switch (action) diff --git a/src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp b/src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp index e4536b539653e7..726c098b026e9f 100644 --- a/src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp +++ b/src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp @@ -37,40 +37,40 @@ class npc_braug_dimspirit : public CreatureScript public: npc_braug_dimspirit() : CreatureScript("npc_braug_dimspirit") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->CastSpell(player, 6766, false); } if (action == GOSSIP_ACTION_INFO_DEF+2) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->AreaExploredOrEventHappens(6627); } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(6627) == QUEST_STATUS_INCOMPLETE) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HBD1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HBD2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HBD3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HBD4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HBD5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HBD1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HBD2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HBD3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HBD4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HBD5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(5820, creature->GetGUID()); + SendGossipMenuFor(player, 5820, creature->GetGUID()); } else - player->SEND_GOSSIP_MENU(5819, creature->GetGUID()); + SendGossipMenuFor(player, 5819, creature->GetGUID()); return true; } diff --git a/src/server/scripts/Kalimdor/zone_tanaris.cpp b/src/server/scripts/Kalimdor/zone_tanaris.cpp index 1b6213ee0e27e8..491108ccbdbf67 100644 --- a/src/server/scripts/Kalimdor/zone_tanaris.cpp +++ b/src/server/scripts/Kalimdor/zone_tanaris.cpp @@ -279,7 +279,7 @@ class npc_steward_of_time : public CreatureScript public: npc_steward_of_time() : CreatureScript("npc_steward_of_time") { } - bool OnQuestAccept(Player* player, Creature* /*creature*/, Quest const* quest) + bool OnQuestAccept(Player* player, Creature* /*creature*/, Quest const* quest) override { if (quest->GetQuestId() == 10279) //Quest: To The Master's Lair player->CastSpell(player, 34891, true); //(Flight through Caverns) @@ -287,27 +287,27 @@ class npc_steward_of_time : public CreatureScript return false; } - bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF + 1) player->CastSpell(player, 34891, true); //(Flight through Caverns) return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(10279) == QUEST_STATUS_INCOMPLETE || player->GetQuestRewardStatus(10279)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_FLIGHT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(9978, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_FLIGHT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, 9978, creature->GetGUID()); } else - player->SEND_GOSSIP_MENU(9977, creature->GetGUID()); + SendGossipMenuFor(player, 9977, creature->GetGUID()); return true; } @@ -330,48 +330,48 @@ class npc_stone_watcher_of_norgannon : public CreatureScript public: npc_stone_watcher_of_norgannon() : CreatureScript("npc_stone_watcher_of_norgannon") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_NORGANNON_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(1675, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_NORGANNON_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + SendGossipMenuFor(player, 1675, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_NORGANNON_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(1676, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_NORGANNON_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, 1676, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_NORGANNON_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); - player->SEND_GOSSIP_MENU(1677, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_NORGANNON_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); + SendGossipMenuFor(player, 1677, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+3: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_NORGANNON_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4); - player->SEND_GOSSIP_MENU(1678, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_NORGANNON_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4); + SendGossipMenuFor(player, 1678, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+4: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_NORGANNON_6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); - player->SEND_GOSSIP_MENU(1679, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_NORGANNON_6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+5); + SendGossipMenuFor(player, 1679, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+5: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->AreaExploredOrEventHappens(2954); break; } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(2954) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_NORGANNON_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_NORGANNON_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(1674, creature->GetGUID()); + SendGossipMenuFor(player, 1674, creature->GetGUID()); return true; } diff --git a/src/server/scripts/Kalimdor/zone_the_barrens.cpp b/src/server/scripts/Kalimdor/zone_the_barrens.cpp index 21a14a19aaeabd..e897558f1bb905 100644 --- a/src/server/scripts/Kalimdor/zone_the_barrens.cpp +++ b/src/server/scripts/Kalimdor/zone_the_barrens.cpp @@ -43,23 +43,23 @@ class npc_beaten_corpse : public CreatureScript public: npc_beaten_corpse() : CreatureScript("npc_beaten_corpse") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF +1) { - player->SEND_GOSSIP_MENU(3558, creature->GetGUID()); + SendGossipMenuFor(player, 3558, creature->GetGUID()); player->TalkedToCreature(creature->GetEntry(), creature->GetGUID()); } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_LOST_IN_BATTLE) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_LOST_IN_BATTLE) == QUEST_STATUS_COMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_CORPSE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_CORPSE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(3557, creature->GetGUID()); + SendGossipMenuFor(player, 3557, creature->GetGUID()); return true; } diff --git a/src/server/scripts/Kalimdor/zone_thousand_needles.cpp b/src/server/scripts/Kalimdor/zone_thousand_needles.cpp index 0aa7d2f54bf571..e02f85264a86b8 100644 --- a/src/server/scripts/Kalimdor/zone_thousand_needles.cpp +++ b/src/server/scripts/Kalimdor/zone_thousand_needles.cpp @@ -282,30 +282,30 @@ class npc_plucky : public CreatureScript public: npc_plucky() : CreatureScript("npc_plucky") { } - bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CompleteQuest(QUEST_SCOOP); break; } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_SCOOP) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_P, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_P, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(738, creature->GetGUID()); + SendGossipMenuFor(player, 738, creature->GetGUID()); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_pluckyAI(creature); } @@ -317,7 +317,7 @@ class npc_plucky : public CreatureScript uint32 NormFaction; uint32 ResetTimer; - void Reset() + void Reset() override { ResetTimer = 120000; @@ -330,7 +330,7 @@ class npc_plucky : public CreatureScript DoCast(me, SPELL_PLUCKY_CHICKEN, false); } - void ReceiveEmote(Player* player, uint32 TextEmote) + void ReceiveEmote(Player* player, uint32 TextEmote) override { if (player->GetQuestStatus(QUEST_SCOOP) == QUEST_STATUS_INCOMPLETE) { @@ -356,7 +356,7 @@ class npc_plucky : public CreatureScript } } - void UpdateAI(uint32 Diff) + void UpdateAI(uint32 Diff) override { if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) { @@ -392,7 +392,7 @@ class go_panther_cage : public GameObjectScript public: go_panther_cage() : GameObjectScript("go_panther_cage") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { go->UseDoorOrButton(); if (player->GetQuestStatus(5151) == QUEST_STATUS_INCOMPLETE) diff --git a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp index 0a9392f35847c2..cbfc719d0beff7 100644 --- a/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp +++ b/src/server/scripts/Kalimdor/zone_thunder_bluff.cpp @@ -36,31 +36,31 @@ class npc_cairne_bloodhoof : public CreatureScript public: npc_cairne_bloodhoof() : CreatureScript("npc_cairne_bloodhoof") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_SENDER_INFO) { player->CastSpell(player, 23123, false); - player->SEND_GOSSIP_MENU(7014, creature->GetGUID()); + SendGossipMenuFor(player, 7014, creature->GetGUID()); } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(925) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HCB, GOSSIP_SENDER_MAIN, GOSSIP_SENDER_INFO); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HCB, GOSSIP_SENDER_MAIN, GOSSIP_SENDER_INFO); - player->SEND_GOSSIP_MENU(7013, creature->GetGUID()); + SendGossipMenuFor(player, 7013, creature->GetGUID()); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_cairne_bloodhoofAI(creature); } @@ -75,7 +75,7 @@ class npc_cairne_bloodhoof : public CreatureScript uint32 ThunderclapTimer; uint32 UppercutTimer; - void Reset() + void Reset() override { BerserkerChargeTimer = 30000; CleaveTimer = 5000; @@ -84,9 +84,9 @@ class npc_cairne_bloodhoof : public CreatureScript UppercutTimer = 10000; } - void EnterCombat(Unit* /*who*/) { } + void EnterCombat(Unit* /*who*/) override { } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) return; @@ -125,7 +125,6 @@ class npc_cairne_bloodhoof : public CreatureScript DoMeleeAttackIfReady(); } }; - }; void AddSC_thunder_bluff() diff --git a/src/server/scripts/Kalimdor/zone_winterspring.cpp b/src/server/scripts/Kalimdor/zone_winterspring.cpp index ddec2847a60386..272bfd642ffba8 100644 --- a/src/server/scripts/Kalimdor/zone_winterspring.cpp +++ b/src/server/scripts/Kalimdor/zone_winterspring.cpp @@ -211,24 +211,24 @@ class npc_rivern_frostwind : public CreatureScript public: npc_rivern_frostwind() : CreatureScript("npc_rivern_frostwind") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_TRADE) player->GetSession()->SendListInventory(creature->GetGUID()); return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor() && player->GetReputationRank(589) == REP_EXALTED) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } @@ -762,7 +762,8 @@ class go_elune_fire : public GameObjectScript { public: go_elune_fire() : GameObjectScript("go_elune_fire") { } - bool OnGossipHello(Player* /*player*/, GameObject* go) + + bool OnGossipHello(Player* /*player*/, GameObject* go) override { // Check if we are using the torches or the altar bool isAltar = false; @@ -775,6 +776,7 @@ class go_elune_fire : public GameObjectScript if (npc_ranshalla::npc_ranshallaAI* escortAI = dynamic_cast(ranshalla->AI())) escortAI->DoContinueEscort(isAltar); } + go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); return false; diff --git a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp index 90cdb8ebde30df..7fe3913fdaa8cd 100644 --- a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_prince_taldaram.cpp @@ -113,7 +113,7 @@ class boss_taldaram : public CreatureScript { if (pInstance) pInstance->SetData(DATA_PRINCE_TALDARAM_EVENT, IN_PROGRESS); - + Talk(SAY_AGGRO); ScheduleEvents(); @@ -253,7 +253,7 @@ class boss_taldaram : public CreatureScript if (vanishTarget && victim->GetGUID() == vanishTarget) ScheduleEvents(); - + Talk(SAY_SLAY); } }; @@ -331,17 +331,17 @@ class go_prince_taldaram_sphere : public GameObjectScript public: go_prince_taldaram_sphere() : GameObjectScript("go_prince_taldaram_sphere") { } - bool OnGossipHello(Player * /*pPlayer*/, GameObject *pGO) + bool OnGossipHello(Player * /*pPlayer*/, GameObject *go) override { - InstanceScript *pInstance = pGO->GetInstanceScript(); + InstanceScript *pInstance = go->GetInstanceScript(); if (!pInstance) return false; - Creature *pPrinceTaldaram = ObjectAccessor::GetCreature(*pGO, pInstance->GetData64(DATA_PRINCE_TALDARAM)); + Creature *pPrinceTaldaram = ObjectAccessor::GetCreature(*go, pInstance->GetData64(DATA_PRINCE_TALDARAM)); if (pPrinceTaldaram && pPrinceTaldaram->IsAlive()) { - pGO->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); - pGO->SetGoState(GO_STATE_ACTIVE); + go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->SetGoState(GO_STATE_ACTIVE); if (pInstance->GetData(DATA_SPHERE_EVENT) == NOT_STARTED) { diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp index 92e2c03df69ff8..bc57063bea27a9 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp @@ -18,12 +18,12 @@ class npc_announcer_toc5 : public CreatureScript public: npc_announcer_toc5() : CreatureScript("npc_announcer_toc5") {} - bool OnGossipHello(Player* pPlayer, Creature* pCreature) + bool OnGossipHello(Player* player, Creature* creature) override { - if (!pCreature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) + if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) return true; - InstanceScript* pInstance = pCreature->GetInstanceScript(); + InstanceScript* pInstance = creature->GetInstanceScript(); if (!pInstance) return true; @@ -31,7 +31,7 @@ class npc_announcer_toc5 : public CreatureScript switch (pInstance->GetData(DATA_INSTANCE_PROGRESS)) { case INSTANCE_PROGRESS_INITIAL: - if (!pPlayer->GetVehicle()) + if (!player->GetVehicle()) { if (pInstance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE) gossipTextId = 15043; //Horde text @@ -41,55 +41,55 @@ class npc_announcer_toc5 : public CreatureScript else { gossipTextId = 14688; - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_START_EVENT1a, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1338); - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_START_EVENT1b, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1341); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_START_EVENT1a, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1338); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_START_EVENT1b, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1341); } break; case INSTANCE_PROGRESS_CHAMPIONS_DEAD: gossipTextId = 14737; - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_START_EVENT2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1339); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_START_EVENT2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1339); break; case INSTANCE_PROGRESS_ARGENT_CHALLENGE_DIED: gossipTextId = 14738; - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_START_EVENT3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1340); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_START_EVENT3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1340); break; default: return true; } - pPlayer->SEND_GOSSIP_MENU(gossipTextId, pCreature->GetGUID()); + SendGossipMenuFor(player, gossipTextId, creature->GetGUID()); return true; } - bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { - if( !pCreature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP) ) + if(!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) return true; - InstanceScript* pInstance = pCreature->GetInstanceScript(); - if( !pInstance ) + InstanceScript* pInstance = creature->GetInstanceScript(); + if(!pInstance) return true; - if( uiAction == GOSSIP_ACTION_INFO_DEF+1338 || uiAction == GOSSIP_ACTION_INFO_DEF+1341 || uiAction == GOSSIP_ACTION_INFO_DEF+1339 || uiAction == GOSSIP_ACTION_INFO_DEF+1340 ) + if(uiAction == GOSSIP_ACTION_INFO_DEF+1338 || uiAction == GOSSIP_ACTION_INFO_DEF+1341 || uiAction == GOSSIP_ACTION_INFO_DEF+1339 || uiAction == GOSSIP_ACTION_INFO_DEF+1340) { pInstance->SetData(DATA_ANNOUNCER_GOSSIP_SELECT, (uiAction == GOSSIP_ACTION_INFO_DEF+1341 ? 1 : 0)); - pCreature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); } - pPlayer->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); return true; } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const override { - return new npc_announcer_toc5AI(pCreature); + return new npc_announcer_toc5AI(creature); } struct npc_announcer_toc5AI : public CreatureAI { - npc_announcer_toc5AI(Creature *pCreature) : CreatureAI(pCreature) {} + npc_announcer_toc5AI(Creature *creature) : CreatureAI(creature) {} - void Reset() + void Reset() override { InstanceScript* pInstance = me->GetInstanceScript(); if( !pInstance ) @@ -99,13 +99,13 @@ class npc_announcer_toc5 : public CreatureScript me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); // removed during black knight scene } - void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) + void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override { if (damage >= me->GetHealth()) // for bk scene so strangulate doesn't kill him damage = me->GetHealth()-1; } - void MovementInform(uint32 type, uint32 /*id*/) + void MovementInform(uint32 type, uint32 /*id*/) override { if (type != EFFECT_MOTION_TYPE) return; @@ -118,7 +118,7 @@ class npc_announcer_toc5 : public CreatureScript Unit::Kill(me, me); // for bk scene, die after knockback } - void UpdateAI(uint32 /*diff*/) {} + void UpdateAI(uint32 /*diff*/) override { } }; }; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp index 992910f8eb95ef..87501c7e126ed8 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_faction_champions.cpp @@ -2436,17 +2436,17 @@ class go_toc_champions_cache : public GameObjectScript public: go_toc_champions_cache() : GameObjectScript("go_toc_champions_cache") { } - bool OnGossipHello(Player* plr, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { - if (plr->IsGameMaster()) + if (player->IsGameMaster()) return false; if (!go->loot.items.size()) return false; - for( std::vector::iterator itr = go->loot.items.begin(); itr != go->loot.items.end(); ++itr ) + for(std::vector::iterator itr = go->loot.items.begin(); itr != go->loot.items.end(); ++itr) if( ItemTemplate const *iProto = sObjectMgr->GetItemTemplate((*itr).itemid) ) - if( ((iProto->Flags2 & ITEM_FLAGS_EXTRA_HORDE_ONLY) && plr->GetTeamId() != TEAM_HORDE) || ((iProto->Flags2 & ITEM_FLAGS_EXTRA_ALLIANCE_ONLY) && plr->GetTeamId() != TEAM_ALLIANCE) ) + if( ((iProto->Flags2 & ITEM_FLAGS_EXTRA_HORDE_ONLY) && player->GetTeamId() != TEAM_HORDE) || ((iProto->Flags2 & ITEM_FLAGS_EXTRA_ALLIANCE_ONLY) && player->GetTeamId() != TEAM_ALLIANCE) ) if (!((*itr).is_looted)) { (*itr).count = 0; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp index 4a5a2ee33c6c94..30a9aa11050a6d 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp @@ -556,7 +556,7 @@ class npc_essence_of_twin : public CreatureScript public: npc_essence_of_twin() : CreatureScript("npc_essence_of_twin") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { switch( creature->GetEntry() ) { @@ -655,7 +655,7 @@ class npc_essence_of_twin : public CreatureScript default: break; } - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); return true; } }; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp index 0b0d02dc2401fd..7c9ed86ded98c9 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp @@ -21,17 +21,17 @@ class npc_announcer_toc10 : public CreatureScript public: npc_announcer_toc10() : CreatureScript("npc_announcer_toc10") { } - bool OnGossipHello(Player* pPlayer, Creature* pCreature) + bool OnGossipHello(Player* player, Creature* creature) override { - if( !pCreature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP) ) + if(!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) return true; - InstanceScript* pInstance = pCreature->GetInstanceScript(); - if( !pInstance ) + InstanceScript* pInstance = creature->GetInstanceScript(); + if(!pInstance) return true; uint32 gossipTextId = 0; - switch( pInstance->GetData(TYPE_INSTANCE_PROGRESS) ) + switch(pInstance->GetData(TYPE_INSTANCE_PROGRESS)) { case INSTANCE_PROGRESS_INITIAL: gossipTextId = MSG_TESTED; @@ -46,33 +46,33 @@ class npc_announcer_toc10 : public CreatureScript gossipTextId = MSG_CRUSADERS; break; case INSTANCE_PROGRESS_DONE: - pCreature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); return true; default: return true; } - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "We are ready!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1337); - pPlayer->SEND_GOSSIP_MENU(gossipTextId, pCreature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "We are ready!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1337); + SendGossipMenuFor(player, gossipTextId, creature->GetGUID()); return true; } - bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*sender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 uiAction) override { - if( !pCreature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP) ) + if( !creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP) ) return true; - InstanceScript* pInstance = pCreature->GetInstanceScript(); + InstanceScript* pInstance = creature->GetInstanceScript(); if( !pInstance ) return true; if( uiAction == GOSSIP_ACTION_INFO_DEF+1337 ) { pInstance->SetData(TYPE_ANNOUNCER_GOSSIP_SELECT, 0); - pCreature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); + creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); } - pPlayer->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); return true; } }; diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp index dac35c5e6a3fd8..58a696621ea2b2 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp @@ -42,12 +42,12 @@ class npc_fos_leader : public CreatureScript EventMap events; - void Reset() + void Reset() override { events.Reset(); } - void DoAction(int32 a) + void DoAction(int32 a) override { if (a == 1) if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) @@ -58,7 +58,7 @@ class npc_fos_leader : public CreatureScript } } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { events.Update(diff); switch(events.GetEvent()) @@ -166,7 +166,7 @@ class npc_fos_leader : public CreatureScript } }; - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); @@ -174,22 +174,22 @@ class npc_fos_leader : public CreatureScript if (creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) { if (creature->GetEntry() == NPC_JAINA_PART1) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "What would you have of me, my lady?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "What would you have of me, my lady?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); else - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "What would you have of me, Banshee Queen?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "What would you have of me, Banshee Queen?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); } - player->SEND_GOSSIP_MENU(15207, creature->GetGUID()); + SendGossipMenuFor(player, 15207, creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch(uiAction) { case GOSSIP_ACTION_INFO_DEF+1: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (creature->AI()) creature->AI()->DoAction(1); break; @@ -198,7 +198,7 @@ class npc_fos_leader : public CreatureScript return true; } - CreatureAI *GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_fos_leaderAI(creature); } diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp index 152184e1c3a458..a855e953d260a9 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp @@ -76,7 +76,7 @@ class npc_hor_leader : public CreatureScript public: npc_hor_leader() : CreatureScript("npc_hor_leader") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) return true; @@ -94,24 +94,24 @@ class npc_hor_leader : public CreatureScript { QuestStatus status = player->GetQuestStatus(creature->GetEntry() == NPC_SYLVANAS_PART1 ? QUEST_DELIVRANCE_FROM_THE_PIT_H2 : QUEST_DELIVRANCE_FROM_THE_PIT_A2); if (status == QUEST_STATUS_COMPLETE || status == QUEST_STATUS_REWARDED) - player->ADD_GOSSIP_ITEM(0, "Can you remove the sword?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, 0, "Can you remove the sword?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); // once last quest is completed, she offers this shortcut of the starting event status = player->GetQuestStatus(creature->GetEntry() == NPC_SYLVANAS_PART1 ? QUEST_WRATH_OF_THE_LICH_KING_H2 : QUEST_WRATH_OF_THE_LICH_KING_A2); if (status == QUEST_STATUS_COMPLETE || status == QUEST_STATUS_REWARDED) { if (creature->GetEntry() == NPC_SYLVANAS_PART1) - player->ADD_GOSSIP_ITEM(0, "Dark Lady, I think I hear Arthas coming. Whatever you're going to do, do it quickly.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + AddGossipItemFor(player, 0, "Dark Lady, I think I hear Arthas coming. Whatever you're going to do, do it quickly.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); else - player->ADD_GOSSIP_ITEM(0, "My Lady, I think I hear Arthas coming. Whatever you're going to do, do it quickly.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + AddGossipItemFor(player, 0, "My Lady, I think I hear Arthas coming. Whatever you're going to do, do it quickly.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); } } - player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); + SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) return true; @@ -126,17 +126,17 @@ class npc_hor_leader : public CreatureScript instance->SetData(DATA_BATTERED_HILT, 1); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (uiAction) { case GOSSIP_ACTION_INFO_DEF+1: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (creature->AI()) creature->AI()->DoAction(ACTION_START_INTRO); creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); break; case GOSSIP_ACTION_INFO_DEF+2: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (creature->AI()) creature->AI()->DoAction(ACTION_SKIP_INTRO); creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); @@ -146,7 +146,7 @@ class npc_hor_leader : public CreatureScript return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_hor_leaderAI(creature); } @@ -166,7 +166,7 @@ class npc_hor_leader : public CreatureScript bool first; bool shortver; - void Reset() + void Reset() override { shortver = false; events.Reset(); @@ -180,7 +180,7 @@ class npc_hor_leader : public CreatureScript } } - void DoAction(int32 actionId) + void DoAction(int32 actionId) override { switch(actionId) { @@ -193,7 +193,7 @@ class npc_hor_leader : public CreatureScript } } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { events.Update(diff); switch(events.ExecuteEvent()) @@ -1452,7 +1452,7 @@ class npc_hor_lich_king : public CreatureScript me->SetHealth(me->GetMaxHealth()*3/4); events.Update(diff); - + if (me->IsNonMeleeSpellCast(false, true, true)) return; @@ -1597,12 +1597,12 @@ class npc_hor_leader_second : public CreatureScript public: npc_hor_leader_second() : CreatureScript("npc_hor_leader_second") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 /*uiAction*/) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 /*uiAction*/) override { if (!creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP)) return true; - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (InstanceScript* pInstance = creature->GetInstanceScript()) if (!pInstance->GetData(DATA_LICH_KING)) @@ -1615,7 +1615,7 @@ class npc_hor_leader_second : public CreatureScript return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_hor_leader_secondAI(creature); } @@ -1633,13 +1633,13 @@ class npc_hor_leader_second : public CreatureScript EventMap events; uint8 currentStopPoint; - void Reset() + void Reset() override { currentStopPoint = 0; events.Reset(); } - void DoAction(int32 actionId) + void DoAction(int32 actionId) override { switch(actionId) { @@ -1657,7 +1657,7 @@ class npc_hor_leader_second : public CreatureScript } } - void DamageTaken(Unit*, uint32& dmg, DamageEffectType, SpellSchoolMask) + void DamageTaken(Unit*, uint32& dmg, DamageEffectType, SpellSchoolMask) override { if (dmg >= me->GetHealth()) dmg = me->GetHealth()-1; @@ -1674,13 +1674,13 @@ class npc_hor_leader_second : public CreatureScript me->GetMotionMaster()->MoveSplinePath(&path); } - void MovementInform(uint32 type, uint32 /*id*/) + void MovementInform(uint32 type, uint32 /*id*/) override { if (type == ESCORT_MOTION_TYPE && me->movespline->Finalized()) events.ScheduleEvent(EVENT_SAY_LEADER_STOP_TEXT, 1000); } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { events.Update(diff); switch(events.ExecuteEvent()) diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp index b2edf539e7dc8f..23890859d39186 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp @@ -515,14 +515,14 @@ class npc_high_overlord_saurfang_icc : public CreatureScript _instance = me->GetInstanceScript(); } - void Reset() + void Reset() override { _events.Reset(); me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); me->SetReactState(REACT_PASSIVE); } - void DoAction(int32 action) + void DoAction(int32 action) override { switch (action) { @@ -551,7 +551,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript _events.ScheduleEvent(EVENT_INTRO_HORDE_2, 5000, 0, PHASE_INTRO_H); _events.ScheduleEvent(EVENT_INTRO_HORDE_3, 18500, 0, PHASE_INTRO_H); _instance->HandleGameObject(_instance->GetData64(GO_SAURFANG_S_DOOR), true); - + if (GameObject* teleporter = ObjectAccessor::GetGameObject(*me, _instance->GetData64(GO_SCOURGE_TRANSPORTER_SAURFANG))) { _instance->HandleGameObject(0, false, teleporter); @@ -575,7 +575,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript _events.ScheduleEvent(EVENT_OUTRO_HORDE_1, 10000); _events.ScheduleEvent(EVENT_OUTRO_HORDE_2, 18000); _events.ScheduleEvent(EVENT_OUTRO_HORDE_3, 24000);*/ - + } break; case ACTION_EVADE: @@ -603,7 +603,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript } } - void SpellHit(Unit* /*caster*/, SpellInfo const* spell) + void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { if (spell->Id == SPELL_GRIP_OF_AGONY) { @@ -612,7 +612,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript } } - void MovementInform(uint32 type, uint32 id) + void MovementInform(uint32 type, uint32 id) override { if (type == POINT_MOTION_TYPE) { @@ -650,7 +650,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript } } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { _events.Update(diff); switch (_events.ExecuteEvent()) @@ -733,25 +733,25 @@ class npc_high_overlord_saurfang_icc : public CreatureScript std::list _guardList; }; - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { InstanceScript* instance = creature->GetInstanceScript(); if (instance && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != IN_PROGRESS) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "We are ready to go, High Overlord. The Lich King must fall!", 631, -ACTION_START_EVENT); - player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "We are ready to go, High Overlord. The Lich King must fall!", 631, -ACTION_START_EVENT); + SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); } return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { InstanceScript* instance = creature->GetInstanceScript(); if (instance && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != IN_PROGRESS) { - player->PlayerTalkClass->ClearMenus(); - player->CLOSE_GOSSIP_MENU(); + ClearGossipMenuFor(player); + CloseGossipMenuFor(player); if (action == -ACTION_START_EVENT) creature->AI()->DoAction(ACTION_START_EVENT); } @@ -759,7 +759,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return GetIcecrownCitadelAI(creature); } @@ -777,14 +777,14 @@ class npc_muradin_bronzebeard_icc : public CreatureScript _instance = me->GetInstanceScript(); } - void Reset() + void Reset() override { _events.Reset(); me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); me->SetReactState(REACT_PASSIVE); } - void DoAction(int32 action) + void DoAction(int32 action) override { switch (action) { @@ -862,7 +862,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript } } - void SpellHit(Unit* /*caster*/, SpellInfo const* spell) + void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override { if (spell->Id == SPELL_GRIP_OF_AGONY) { @@ -871,7 +871,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript } } - void MovementInform(uint32 type, uint32 id) + void MovementInform(uint32 type, uint32 id) override { if (type == POINT_MOTION_TYPE) { @@ -891,7 +891,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript } } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { _events.Update(diff); switch (_events.ExecuteEvent()) @@ -947,25 +947,25 @@ class npc_muradin_bronzebeard_icc : public CreatureScript std::list _guardList; }; - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { InstanceScript* instance = creature->GetInstanceScript(); if (instance && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != IN_PROGRESS) { - player->ADD_GOSSIP_ITEM(0, "Let it begin...", 631, -ACTION_START_EVENT + 1); - player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); + AddGossipItemFor(player, 0, "Let it begin...", 631, -ACTION_START_EVENT + 1); + SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); } return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { InstanceScript* instance = creature->GetInstanceScript(); if (instance && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != DONE && instance->GetBossState(DATA_DEATHBRINGER_SAURFANG) != IN_PROGRESS) { - player->PlayerTalkClass->ClearMenus(); - player->CLOSE_GOSSIP_MENU(); + ClearGossipMenuFor(player); + CloseGossipMenuFor(player); if (action == -ACTION_START_EVENT + 1) creature->AI()->DoAction(ACTION_START_EVENT); } @@ -973,7 +973,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return GetIcecrownCitadelAI(creature); } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp index 952d335a2598aa..be1b276c6b9bd5 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp @@ -1826,7 +1826,7 @@ class npc_alchemist_adrianna : public CreatureScript public: npc_alchemist_adrianna() : CreatureScript("npc_alchemist_adrianna") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (InstanceScript* instance = creature->GetInstanceScript()) if (instance->GetBossState(DATA_ROTFACE) == DONE && instance->GetBossState(DATA_FESTERGUT) == DONE && !creature->FindCurrentSpellBySpellId(SPELL_HARVEST_BLIGHT_SPECIMEN) && !creature->FindCurrentSpellBySpellId(SPELL_HARVEST_BLIGHT_SPECIMEN25)) @@ -2569,7 +2569,7 @@ class npc_icc_skybreaker_hierophant : public CreatureScript return; events.Update(diff); - + if (me->HasUnitState(UNIT_STATE_CASTING)) return; @@ -2634,7 +2634,7 @@ class npc_icc_skybreaker_marksman : public CreatureScript return; events.Update(diff); - + if (me->HasUnitState(UNIT_STATE_CASTING)) return; @@ -2689,7 +2689,7 @@ class npc_icc_skybreaker_vicar : public CreatureScript return; events.Update(diff); - + if (me->HasUnitState(UNIT_STATE_CASTING)) return; @@ -2751,7 +2751,7 @@ class npc_icc_skybreaker_luminary : public CreatureScript return; events.Update(diff); - + if (me->HasUnitState(UNIT_STATE_CASTING)) return; @@ -2870,7 +2870,7 @@ class npc_icc_valkyr_herald : public CreatureScript return; events.Update(diff); - + if (me->HasUnitState(UNIT_STATE_CASTING)) return; @@ -2916,7 +2916,7 @@ class SeveredEssenceSpellInfo SeveredEssenceSpellInfo sesi_spells[] = { {CLASS_SHAMAN, 71938, 5000, 1, 0.0f}, - {CLASS_PALADIN, 57767, 8000, 2, 30.0f}, + {CLASS_PALADIN, 57767, 8000, 2, 30.0f}, {CLASS_WARLOCK, 71937, 10000, 1, 0.0f}, {CLASS_DEATH_KNIGHT, 49576, 15000, 1, 30.0f}, {CLASS_ROGUE, 71933, 8000, 1, 0.0f}, @@ -2993,7 +2993,7 @@ class npc_icc_severed_essence : public CreatureScript return; events.Update(diff); - + if (me->HasUnitState(UNIT_STATE_CASTING)) return; @@ -3092,7 +3092,7 @@ class npc_icc_spire_frostwyrm : public CreatureScript return; events.Update(diff); - + if (me->HasUnitState(UNIT_STATE_CASTING)) return; @@ -3241,7 +3241,7 @@ class npc_icc_vengeful_fleshreaper : public CreatureScript return; events.Update(diff); - + if (me->HasUnitState(UNIT_STATE_CASTING)) return; @@ -3273,13 +3273,13 @@ class npc_icc_buff_switcher : public CreatureScript public: npc_icc_buff_switcher() : CreatureScript("npc_icc_buff_switcher") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) override { if ((creature->GetEntry() == NPC_GARROSH_HELLSCREAM && player->PlayerTalkClass->GetGossipMenu().GetMenuId() == 11206) || (creature->GetEntry() == NPC_KING_VARIAN_WRYNN && player->PlayerTalkClass->GetGossipMenu().GetMenuId() == 11204)) { if (!player->GetGroup() || !player->GetGroup()->isRaidGroup() || !player->GetGroup()->IsLeader(player->GetGUID())) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); ChatHandler(player->GetSession()).PSendSysMessage("Only the raid leader can turn off the buff."); return true; } @@ -3288,7 +3288,7 @@ class npc_icc_buff_switcher : public CreatureScript inst->SetData(DATA_BUFF_AVAILABLE, 0); if (creature->GetEntry() == NPC_GARROSH_HELLSCREAM) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); return true; } } @@ -3382,7 +3382,7 @@ class npc_icc_nerubar_broodkeeper : public CreatureScript return; events.Update(diff); - + if (me->HasUnitState(UNIT_STATE_CASTING)) return; @@ -3571,7 +3571,7 @@ class npc_icc_gauntlet_controller : public CreatureScript { if (me->GetDistance(itr->GetSource()) > 100.0f || !itr->GetSource()->IsAlive() || itr->GetSource()->IsGameMaster()) continue; - + events.ScheduleEvent(EVENT_CHECK_FIGHT, 1000); return; } @@ -3673,7 +3673,7 @@ class npc_icc_putricades_trap : public CreatureScript { if (me->GetDistance(itr->GetSource()) > 100.0f || !itr->GetSource()->IsAlive() || itr->GetSource()->IsGameMaster()) continue; - + events.ScheduleEvent(EVENT_CHECK_FIGHT, 1000); return; } @@ -3726,7 +3726,7 @@ class at_icc_putricide_trap : public AreaTriggerScript at_icc_putricide_trap() : AreaTriggerScript("at_icc_putricide_trap") { } bool OnTrigger(Player* player, AreaTrigger const* /*areaTrigger*/) - { + { if (InstanceScript* instance = player->GetInstanceScript()) if (instance->GetData(DATA_PUTRICIDE_TRAP_STATE) == NOT_STARTED && !player->IsGameMaster()) if (Creature* trap = ObjectAccessor::GetCreature(*player, instance->GetData64(NPC_PUTRICADES_TRAP))) diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp index 164fccdf1aa043..510de843b06294 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel_teleport.cpp @@ -16,32 +16,33 @@ class icecrown_citadel_teleport : public GameObjectScript public: icecrown_citadel_teleport() : GameObjectScript("icecrown_citadel_teleport") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (go->GetEntry() != GO_SCOURGE_TRANSPORTER_FIRST) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to Light's Hammer.", GOSSIP_SENDER_ICC_PORT, LIGHT_S_HAMMER_TELEPORT); // M_PI + M_PI/6 + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Teleport to Light's Hammer.", GOSSIP_SENDER_ICC_PORT, LIGHT_S_HAMMER_TELEPORT); // M_PI + M_PI/6 + if (InstanceScript* instance = go->GetInstanceScript()) { if (instance->GetBossState(DATA_LORD_MARROWGAR) == DONE && go->GetEntry() != 202245) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to the Oratory of the Damned.", GOSSIP_SENDER_ICC_PORT, ORATORY_OF_THE_DAMNED_TELEPORT); // M_PI + M_PI/6 + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Teleport to the Oratory of the Damned.", GOSSIP_SENDER_ICC_PORT, ORATORY_OF_THE_DAMNED_TELEPORT); // M_PI + M_PI/6 if (instance->GetBossState(DATA_LADY_DEATHWHISPER) == DONE && go->GetEntry() != 202243) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to the Rampart of Skulls.", GOSSIP_SENDER_ICC_PORT, RAMPART_OF_SKULLS_TELEPORT); // M_PI/6 + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Teleport to the Rampart of Skulls.", GOSSIP_SENDER_ICC_PORT, RAMPART_OF_SKULLS_TELEPORT); // M_PI/6 if (instance->GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) == DONE && go->GetEntry() != 202244) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to the Deathbringer's Rise.", GOSSIP_SENDER_ICC_PORT, DEATHBRINGER_S_RISE_TELEPORT); // M_PI/6 + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Teleport to the Deathbringer's Rise.", GOSSIP_SENDER_ICC_PORT, DEATHBRINGER_S_RISE_TELEPORT); // M_PI/6 if (instance->GetData(DATA_COLDFLAME_JETS) == DONE && go->GetEntry() != 202235) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to the Upper Spire.", GOSSIP_SENDER_ICC_PORT, UPPER_SPIRE_TELEPORT); // M_PI/6 + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Teleport to the Upper Spire.", GOSSIP_SENDER_ICC_PORT, UPPER_SPIRE_TELEPORT); // M_PI/6 if (instance->GetBossState(DATA_VALITHRIA_DREAMWALKER) == DONE && instance->GetBossState(DATA_SINDRAGOSA_GAUNTLET) == DONE && go->GetEntry() != 202246) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Teleport to Sindragosa's Lair", GOSSIP_SENDER_ICC_PORT, SINDRAGOSA_S_LAIR_TELEPORT); // M_PI*3/2 + M_PI/6 + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Teleport to Sindragosa's Lair", GOSSIP_SENDER_ICC_PORT, SINDRAGOSA_S_LAIR_TELEPORT); // M_PI*3/2 + M_PI/6 } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(go), go->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(go), go->GetGUID()); return true; } - bool OnGossipSelect(Player* player, GameObject* /*go*/, uint32 sender, uint32 action) + bool OnGossipSelect(Player* player, GameObject* /*go*/, uint32 sender, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); - player->CLOSE_GOSSIP_MENU(); + ClearGossipMenuFor(player); + CloseGossipMenuFor(player); SpellInfo const* spell = sSpellMgr->GetSpellInfo(action); if (!spell) return false; diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index 01ef80c83d0e93..d3f473a5b2f92a 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -159,7 +159,7 @@ class boss_malygos : public CreatureScript { pInstance = me->GetInstanceScript(); } - + InstanceScript* pInstance; EventMap events; SummonList summons; @@ -262,7 +262,7 @@ class boss_malygos : public CreatureScript void SpellHit(Unit * /*caster*/, const SpellInfo *spell) { - if (spell->Id == SPELL_POWER_SPARK_MALYGOS_BUFF) + if (spell->Id == SPELL_POWER_SPARK_MALYGOS_BUFF) { if (!bLockHealthCheck) { @@ -552,7 +552,7 @@ class boss_malygos : public CreatureScript events.RescheduleEvent(EVENT_SPELL_ARCANE_OVERLOAD, 8000, 1); events.RescheduleEvent(EVENT_MOVE_TO_SURGE_OF_POWER, 55000, 1); events.RescheduleEvent(EVENT_CHECK_TRASH_DEAD, 3000, 1); - + for (int i=0; iGetInstanceScript()) pInstance->SetData(DATA_IRIS_ACTIVATED, 0); @@ -1527,4 +1527,4 @@ void AddSC_boss_malygos() new npc_eoe_wyrmrest_skytalon(); new spell_eoe_ph3_surge_of_power(); -} \ No newline at end of file +} diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp index 6a6a83bd641e7b..912669ae3a7daa 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp @@ -72,54 +72,54 @@ class npc_oculus_drakegiver : public CreatureScript public: npc_oculus_drakegiver() : CreatureScript("npc_oculus_drakegiver") { } - bool OnGossipHello(Player* pPlayer, Creature* pCreature) + bool OnGossipHello(Player* player, Creature* creature) override { - if( pCreature->IsQuestGiver() ) - pPlayer->PrepareQuestMenu(pCreature->GetGUID()); + if(creature->IsQuestGiver()) + player->PrepareQuestMenu(creature->GetGUID()); - if( pCreature->GetInstanceScript()->GetData(DATA_DRAKOS) == DONE ) + if(creature->GetInstanceScript()->GetData(DATA_DRAKOS) == DONE) { - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_DRAKES, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_DRAKES, pCreature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_DRAKES, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, GOSSIP_TEXTID_DRAKES, creature->GetGUID()); } return true; } - bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { - pPlayer->PlayerTalkClass->GetGossipMenu().ClearMenu(); - switch(pCreature->GetEntry()) + player->PlayerTalkClass->GetGossipMenu().ClearMenu(); + switch(creature->GetEntry()) { case NPC_VERDISA: switch(uiAction) { case GOSSIP_ACTION_INFO_DEF + 1: - if (!HAS_ESSENCE(pPlayer)) + if (!HAS_ESSENCE(player)) { - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_VERDISA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_VERDISA2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_VERDISA1, pCreature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_VERDISA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_VERDISA2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + SendGossipMenuFor(player, GOSSIP_TEXTID_VERDISA1, creature->GetGUID()); } else { - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_VERDISA2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_VERDISA2, pCreature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_VERDISA2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + SendGossipMenuFor(player, GOSSIP_TEXTID_VERDISA2, creature->GetGUID()); } break; case GOSSIP_ACTION_INFO_DEF + 2: { ItemPosCountVec dest; - uint8 msg = pPlayer->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, ITEM_EMERALD_ESSENCE, 1); + uint8 msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, ITEM_EMERALD_ESSENCE, 1); if (msg == EQUIP_ERR_OK) - pPlayer->StoreNewItem(dest, ITEM_EMERALD_ESSENCE, true); - pPlayer->CLOSE_GOSSIP_MENU(); + player->StoreNewItem(dest, ITEM_EMERALD_ESSENCE, true); + CloseGossipMenuFor(player); break; } case GOSSIP_ACTION_INFO_DEF + 3: - if (!HAS_ESSENCE(pPlayer)) - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_VERDISA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_VERDISA3, pCreature->GetGUID()); + if (!HAS_ESSENCE(player)) + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_VERDISA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + SendGossipMenuFor(player, GOSSIP_TEXTID_VERDISA3, creature->GetGUID()); break; } break; @@ -127,31 +127,31 @@ class npc_oculus_drakegiver : public CreatureScript switch(uiAction) { case GOSSIP_ACTION_INFO_DEF + 1: - if (!HAS_ESSENCE(pPlayer)) + if (!HAS_ESSENCE(player)) { - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BELGARISTRASZ1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BELGARISTRASZ2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_BELGARISTRASZ1, pCreature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BELGARISTRASZ1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BELGARISTRASZ2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + SendGossipMenuFor(player, GOSSIP_TEXTID_BELGARISTRASZ1, creature->GetGUID()); } else { - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BELGARISTRASZ2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_BELGARISTRASZ2, pCreature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BELGARISTRASZ2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + SendGossipMenuFor(player, GOSSIP_TEXTID_BELGARISTRASZ2, creature->GetGUID()); } break; case GOSSIP_ACTION_INFO_DEF + 2: { ItemPosCountVec dest; - uint8 msg = pPlayer->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, ITEM_RUBY_ESSENCE, 1); + uint8 msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, ITEM_RUBY_ESSENCE, 1); if (msg == EQUIP_ERR_OK) - pPlayer->StoreNewItem(dest, ITEM_RUBY_ESSENCE, true); - pPlayer->CLOSE_GOSSIP_MENU(); + player->StoreNewItem(dest, ITEM_RUBY_ESSENCE, true); + CloseGossipMenuFor(player); break; } case GOSSIP_ACTION_INFO_DEF + 3: - if (!HAS_ESSENCE(pPlayer)) - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BELGARISTRASZ1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_BELGARISTRASZ3, pCreature->GetGUID()); + if (!HAS_ESSENCE(player)) + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BELGARISTRASZ1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + SendGossipMenuFor(player, GOSSIP_TEXTID_BELGARISTRASZ3, creature->GetGUID()); break; } break; @@ -159,31 +159,33 @@ class npc_oculus_drakegiver : public CreatureScript switch(uiAction) { case GOSSIP_ACTION_INFO_DEF + 1: - if (!HAS_ESSENCE(pPlayer)) + if (!HAS_ESSENCE(player)) { - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ETERNOS1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ETERNOS2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_ETERNOS1, pCreature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ETERNOS1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ETERNOS2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + SendGossipMenuFor(player, GOSSIP_TEXTID_ETERNOS1, creature->GetGUID()); } else { - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ETERNOS2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_ETERNOS2, pCreature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ETERNOS2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + SendGossipMenuFor(player, GOSSIP_TEXTID_ETERNOS2, creature->GetGUID()); } break; case GOSSIP_ACTION_INFO_DEF + 2: { ItemPosCountVec dest; - uint8 msg = pPlayer->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, ITEM_AMBER_ESSENCE, 1); + uint8 msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, ITEM_AMBER_ESSENCE, 1); if (msg == EQUIP_ERR_OK) - pPlayer->StoreNewItem(dest, ITEM_AMBER_ESSENCE, true); - pPlayer->CLOSE_GOSSIP_MENU(); + player->StoreNewItem(dest, ITEM_AMBER_ESSENCE, true); + + CloseGossipMenuFor(player); break; } case GOSSIP_ACTION_INFO_DEF + 3: - if (!HAS_ESSENCE(pPlayer)) - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ETERNOS1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXTID_ETERNOS3, pCreature->GetGUID()); + if (!HAS_ESSENCE(player)) + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_ETERNOS1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + + SendGossipMenuFor(player, GOSSIP_TEXTID_ETERNOS3, creature->GetGUID()); break; } break; @@ -198,14 +200,14 @@ class npc_oculus_drake : public CreatureScript public: npc_oculus_drake() : CreatureScript("npc_oculus_drake") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_oculus_drakeAI (pCreature); + return new npc_oculus_drakeAI (creature); } struct npc_oculus_drakeAI : public VehicleAI { - npc_oculus_drakeAI(Creature *pCreature) : VehicleAI(pCreature) + npc_oculus_drakeAI(Creature *creature) : VehicleAI(creature) { m_pInstance = me->GetInstanceScript(); JustSummoned = true; diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp index e41c974550f341..635ffd04ec2168 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/brann_bronzebeard.cpp @@ -116,7 +116,7 @@ static Yells Conversation[]= {14253, "So that was the problem? Now I'm makin' progress...", NPC_BRANN, 195000}, {13767, "Critical threat index. Void analysis diverted. Initiating sanitization protocol.", NPC_ABEDNEUM, 205000}, {14254, "Hang on! Nobody's gonna' be sanitized as long as I have a say in it!", NPC_BRANN, 215000}, - {14255, "Ha! The old magic fingers finally won through! Now let's get down to--", NPC_BRANN, 295000}, + {14255, "Ha! The old magic fingers finally won through! Now let's get down to--", NPC_BRANN, 295000}, {13768, "Alert: security fail-safes deactivated. Beginning memory purge and... ", NPC_ABEDNEUM, 303000}, //The fight is completed at this point. {14256, "Purge? No no no no no.. where did I-- Aha, this should do the trick...", NPC_BRANN, 310000}, @@ -150,81 +150,81 @@ class brann_bronzebeard : public CreatureScript public: brann_bronzebeard() : CreatureScript("brann_bronzebeard") { } - bool OnGossipHello(Player *player, Creature *pCreature) + bool OnGossipHello(Player* player, Creature* creature) override { - InstanceScript* pInstance = (pCreature->GetInstanceScript()); + InstanceScript* pInstance = (creature->GetInstanceScript()); - player->TalkedToCreature(pCreature->GetEntry(), pCreature->GetGUID()); - player->PrepareGossipMenu(pCreature, 0, true); + player->TalkedToCreature(creature->GetEntry(), creature->GetGUID()); + player->PrepareGossipMenu(creature, 0, true); if (pInstance) { uint32 brann = pInstance->GetData(BRANN_BRONZEBEARD); switch (brann) { case 1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); break; case 2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); break; case 3: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); break; case 4: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+4); break; case 5: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); break; default: break; } } - player->SEND_GOSSIP_MENU(TEXT_ID_START, pCreature->GetGUID()); + SendGossipMenuFor(player, TEXT_ID_START, creature->GetGUID()); return true; } - bool OnGossipSelect(Player *player, Creature *pCreature, uint32 /*sender*/, uint32 action ) + bool OnGossipSelect(Player *player, Creature *creature, uint32 /*sender*/, uint32 action) override { if (action) { switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - pCreature->AI()->DoAction(ACTION_START_EVENT); - player->CLOSE_GOSSIP_MENU(); + creature->AI()->DoAction(ACTION_START_EVENT); + CloseGossipMenuFor(player); break; case GOSSIP_ACTION_INFO_DEF+2: - pCreature->AI()->DoAction(ACTION_START_TRIBUNAL); - player->CLOSE_GOSSIP_MENU(); + creature->AI()->DoAction(ACTION_START_TRIBUNAL); + CloseGossipMenuFor(player); break; case GOSSIP_ACTION_INFO_DEF+3: - pCreature->AI()->DoAction(ACTION_GO_TO_SJONNIR); - player->CLOSE_GOSSIP_MENU(); + creature->AI()->DoAction(ACTION_GO_TO_SJONNIR); + CloseGossipMenuFor(player); break; case GOSSIP_ACTION_INFO_DEF+4: - pCreature->AI()->DoAction(ACTION_WIPE_START); - player->CLOSE_GOSSIP_MENU(); + creature->AI()->DoAction(ACTION_WIPE_START); + CloseGossipMenuFor(player); break; case GOSSIP_ACTION_INFO_DEF+5: - pCreature->AI()->DoAction(ACTION_OPEN_DOOR); - player->CLOSE_GOSSIP_MENU(); + creature->AI()->DoAction(ACTION_OPEN_DOOR); + CloseGossipMenuFor(player); break; } } return true; } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const override { - return new brann_bronzebeardAI (pCreature); + return new brann_bronzebeardAI (creature); } struct brann_bronzebeardAI : public npc_escortAI { brann_bronzebeardAI(Creature *c) : npc_escortAI(c), summons(me) - { + { AbedneumGUID = MarnakGUID = KaddrakGUID = 0; pInstance = c->GetInstanceScript(); } @@ -245,7 +245,7 @@ class brann_bronzebeard : public CreatureScript Creature *cr; if ((cr = GetAbedneum())) cr->DespawnOrUnsummon(); if ((cr = GetMarnak())) cr->DespawnOrUnsummon(); - if ((cr = GetKaddrak())) cr->DespawnOrUnsummon(); + if ((cr = GetKaddrak())) cr->DespawnOrUnsummon(); SwitchHeadVisaul(0x7, false); } @@ -283,21 +283,21 @@ class brann_bronzebeard : public CreatureScript TalkEvent = false; } - void WaypointReached(uint32 id); + void WaypointReached(uint32 id) override; void InitializeEvent(); Creature* GetAbedneum() { return ObjectAccessor::GetCreature(*me, AbedneumGUID); } Creature* GetMarnak() { return ObjectAccessor::GetCreature(*me, MarnakGUID); } Creature* GetKaddrak() { return ObjectAccessor::GetCreature(*me, KaddrakGUID); } - void MoveInLineOfSight(Unit* /*pWho*/) { } - void DamageTaken(Unit*, uint32 &damage, DamageEffectType, SpellSchoolMask) - { + void MoveInLineOfSight(Unit* /*pWho*/) override { } + void DamageTaken(Unit*, uint32 &damage, DamageEffectType, SpellSchoolMask) override + { if (damage && pInstance) pInstance->SetData(DATA_BRANN_ACHIEVEMENT, false); } - - void Reset() + + void Reset() override { RemoveEscortState(0x7); // all states SetDespawnAtFar(false); @@ -312,13 +312,13 @@ class brann_bronzebeard : public CreatureScript { pInstance->SetData(BRANN_BRONZEBEARD, 1); pInstance->SetData(DATA_BRANN_ACHIEVEMENT, true); - + if (pInstance->GetData(BOSS_TRIBUNAL_OF_AGES) == DONE) pInstance->SetData(BRANN_BRONZEBEARD, (pInstance->GetData(BOSS_SJONNIR) == DONE) ? 5 : 4); } } - void DoAction(int32 action) + void DoAction(int32 action) override { switch (action) { @@ -334,7 +334,7 @@ class brann_bronzebeard : public CreatureScript me->setFaction(i->GetSource()->getFaction()); break; } - + SetEscortPaused(false); InitializeEvent(); me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); @@ -378,7 +378,7 @@ class brann_bronzebeard : public CreatureScript } } - void JustSummoned(Creature* cr) + void JustSummoned(Creature* cr) override { if (cr->GetEntry() == NPC_ABEDNEUM || cr->GetEntry() == NPC_KADDRAK || cr->GetEntry() == NPC_MARNAK) cr->SetCanFly(true); @@ -386,7 +386,7 @@ class brann_bronzebeard : public CreatureScript summons.Summon(cr); } - void UpdateEscortAI(uint32 diff) + void UpdateEscortAI(uint32 diff) override { events.Update(diff); switch (events.GetEvent()) @@ -499,7 +499,7 @@ class brann_bronzebeard : public CreatureScript } me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); - + // Spawn Chest and quest credit if (Player *plr = SelectTargetFromPlayerList(200.0f)) @@ -513,7 +513,7 @@ class brann_bronzebeard : public CreatureScript plr->GroupEventHappens(QUEST_HALLS_OF_STONE, me); } - + events.ScheduleEvent(EVENT_GO_TO_SJONNIR, 279000); break; } @@ -530,7 +530,7 @@ class brann_bronzebeard : public CreatureScript case EVENT_END: { events.Reset(); - if (pInstance) + if (pInstance) pInstance->SetData(BRANN_BRONZEBEARD, 6); me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); @@ -560,13 +560,14 @@ class brann_bronzebeard : public CreatureScript cs->PlayDirectSound(Conversation[SpeechCount].sound); } - if (SpeechCount < 38) + if (SpeechCount < 38) SpeechPause = Conversation[SpeechCount++].timer; else TalkEvent = false; } } } + void SummonCreatures(uint32 entry, uint8 count) { for (int i = 0; i < count; ++i) @@ -581,12 +582,12 @@ class brann_bronzebeard : public CreatureScript } } - void JustDied(Unit* /*killer*/) + void JustDied(Unit* /*killer*/) override { ResetEvent(); if(pInstance) { - if (pInstance->GetData(BOSS_TRIBUNAL_OF_AGES) != DONE) + if (pInstance->GetData(BOSS_TRIBUNAL_OF_AGES) != DONE) pInstance->SetData(BOSS_TRIBUNAL_OF_AGES, NOT_STARTED); } } @@ -632,10 +633,10 @@ void brann_bronzebeard::brann_bronzebeardAI::WaypointReached(uint32 id) switch (id) { // Stop before stairs and ask to start - case 9: + case 9: SetEscortPaused(true); me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER); - if (pInstance) + if (pInstance) pInstance->SetData(BRANN_BRONZEBEARD, 2); break; @@ -681,9 +682,9 @@ class dark_rune_protectors : public CreatureScript public: dark_rune_protectors() : CreatureScript("dark_rune_protectors") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new dark_rune_protectorsAI (pCreature); + return new dark_rune_protectorsAI (creature); } struct dark_rune_protectorsAI : public ScriptedAI @@ -691,7 +692,7 @@ class dark_rune_protectors : public CreatureScript dark_rune_protectorsAI(Creature *c) : ScriptedAI(c) { } EventMap events; - void Reset() + void Reset() { events.Reset(); } @@ -705,7 +706,7 @@ class dark_rune_protectors : public CreatureScript void UpdateAI(uint32 diff) { if (!UpdateVictim()) - return; + return; events.Update(diff); if (me->HasUnitState(UNIT_STATE_CASTING)) @@ -739,9 +740,9 @@ class dark_rune_stormcaller : public CreatureScript public: dark_rune_stormcaller() : CreatureScript("dark_rune_stormcaller") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new dark_rune_stormcallerAI (pCreature); + return new dark_rune_stormcallerAI (creature); } struct dark_rune_stormcallerAI : public ScriptedAI @@ -749,7 +750,7 @@ class dark_rune_stormcaller : public CreatureScript dark_rune_stormcallerAI(Creature *c) : ScriptedAI(c) { } EventMap events; - void Reset() + void Reset() { events.Reset(); } @@ -795,20 +796,20 @@ class iron_golem_custodian : public CreatureScript public: iron_golem_custodian() : CreatureScript("iron_golem_custodian") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new iron_golem_custodianAI (pCreature); + return new iron_golem_custodianAI (creature); } struct iron_golem_custodianAI : public ScriptedAI { iron_golem_custodianAI(Creature *c) : ScriptedAI(c) { } EventMap events; - void Reset() + void Reset() { events.Reset(); } - + void EnterCombat(Unit *) { events.ScheduleEvent(EVENT_IGC_CRUSH, 6000); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp index a88d5eeb9c7b2b..390a65e96c1adc 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -18,7 +18,7 @@ #include "Player.h" #include "Opcodes.h" -enum LeviathanSpells +enum LeviathanSpells { // Leviathan basic SPELL_PURSUED = 62374, @@ -514,19 +514,19 @@ void boss_flame_leviathan::boss_flame_leviathanAI::ActivateTowers() me->AddLootMode(1<<_towersCount); switch (i) { - case EVENT_TOWER_OF_LIFE_DESTROYED: + case EVENT_TOWER_OF_LIFE_DESTROYED: me->AddAura(SPELL_TOWER_OF_LIFE, me); events.RescheduleEvent(EVENT_FREYA, 30000); break; - case EVENT_TOWER_OF_STORM_DESTROYED: + case EVENT_TOWER_OF_STORM_DESTROYED: me->AddAura(SPELL_TOWER_OF_STORMS, me); events.RescheduleEvent(EVENT_THORIMS_HAMMER, 60000); break; - case EVENT_TOWER_OF_FROST_DESTROYED: + case EVENT_TOWER_OF_FROST_DESTROYED: me->AddAura(SPELL_TOWER_OF_FROST, me); events.RescheduleEvent(EVENT_HODIRS_FURY, 20000); break; - case EVENT_TOWER_OF_FLAMES_DESTROYED: + case EVENT_TOWER_OF_FLAMES_DESTROYED: me->AddAura(SPELL_TOWER_OF_FLAMES, me); events.RescheduleEvent(EVENT_MIMIRONS_INFERNO, 42000); break; @@ -895,7 +895,7 @@ class npc_freya_ward : public CreatureScript struct npc_freya_wardAI : public NullCreatureAI { npc_freya_wardAI(Creature *c) : NullCreatureAI(c), summons(c) - { + { } SummonList summons; @@ -975,7 +975,7 @@ class npc_hodirs_fury : public CreatureScript struct npc_hodirs_furyAI : public NullCreatureAI { npc_hodirs_furyAI(Creature *c) : NullCreatureAI(c) - { + { } uint32 _timeToHit; @@ -1035,7 +1035,7 @@ class npc_hodirs_fury : public CreatureScript _switchTargetTimer = 0; } else - _switchTargetTimer = 25000; + _switchTargetTimer = 25000; } } }; @@ -1117,7 +1117,7 @@ class npc_thorims_hammer : public CreatureScript struct npc_thorims_hammerAI : public NullCreatureAI { npc_thorims_hammerAI(Creature *c) : NullCreatureAI(c) - { + { } uint32 _beamTimer; @@ -1216,9 +1216,9 @@ class npc_lore_keeper_of_norgannon_ulduar : public CreatureScript bool OnGossipHello(Player* player, Creature* creature) override { if (creature->GetInstanceScript() && creature->GetInstanceScript()->GetData(TYPE_LEVIATHAN) == NOT_STARTED && !creature->AI()->GetData(DATA_EVENT_STARTED)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Activate secondary defensive systems.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Activate secondary defensive systems.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); + SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); return true; } @@ -1228,15 +1228,15 @@ class npc_lore_keeper_of_norgannon_ulduar : public CreatureScript { case GOSSIP_ACTION_INFO_DEF+1: creature->MonsterSay("Activating secondary defensive systems will result in the extermination of unauthorized life forms via orbital emplacements. You are an unauthorized life form.", LANG_UNIVERSAL, 0); - player->PlayerTalkClass->ClearMenus(); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Confirmed.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); + ClearGossipMenuFor(player); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Confirmed.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: creature->MonsterSay("Security override permitted. Secondary defensive systems activated. Backup deactivation for secondary systems can be accessed via individual generators located on the concourse. ", LANG_UNIVERSAL, 0); creature->AI()->DoAction(ACTION_START_NORGANNON_EVENT); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); } return true; } @@ -1427,7 +1427,7 @@ class npc_brann_ulduar : public CreatureScript void Say(std::string text, bool self) { WorldPacket data; - + if (self) ChatHandler::BuildChatPacket(data, CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, me, nullptr, text); else if (Creature* c = ObjectAccessor::GetCreature(*me, _pentarusGUID)) @@ -1524,9 +1524,9 @@ class npc_brann_radio : public CreatureScript { npc_brann_radioAI(Creature* c) : NullCreatureAI(c) { - _lock = (me->GetInstanceScript() && me->GetInstanceScript()->GetData(TYPE_LEVIATHAN) > NOT_STARTED); + _lock = (me->GetInstanceScript() && me->GetInstanceScript()->GetData(TYPE_LEVIATHAN) > NOT_STARTED); _helpLock = _lock; - } + } bool _lock; bool _helpLock; @@ -1549,7 +1549,7 @@ class npc_brann_radio : public CreatureScript { if (who->GetTypeId() != TYPEID_PLAYER && !who->IsVehicle()) return; - + // ENGAGE if (!_helpLock && me->GetDistance2d(-508.898f, -32.9631f) < 5.0f) { @@ -1637,7 +1637,7 @@ class npc_storm_beacon_spawn : public CreatureScript struct npc_storm_beacon_spawnAI : public NullCreatureAI { - npc_storm_beacon_spawnAI(Creature* c) : NullCreatureAI(c) + npc_storm_beacon_spawnAI(Creature* c) : NullCreatureAI(c) { _amount = 0; _checkTimer = 0; @@ -1678,7 +1678,7 @@ class boss_flame_leviathan_safety_container : public CreatureScript struct boss_flame_leviathan_safety_containerAI : public NullCreatureAI { - boss_flame_leviathan_safety_containerAI(Creature *c) : NullCreatureAI(c) + boss_flame_leviathan_safety_containerAI(Creature *c) : NullCreatureAI(c) { _allowTimer = 0; } @@ -1694,7 +1694,7 @@ class boss_flame_leviathan_safety_container : public CreatureScript liquid->CastSpell(liquid, SPELL_LIQUID_PYRITE, true); liquid->CastSpell(liquid, SPELL_DUST_CLOUD_IMPACT, true); } - + me->DespawnOrUnsummon(1); } } @@ -1726,8 +1726,8 @@ class npc_mechanolift : public CreatureScript struct npc_mechanoliftAI : public NullCreatureAI { - npc_mechanoliftAI(Creature *c) : NullCreatureAI(c) - { + npc_mechanoliftAI(Creature *c) : NullCreatureAI(c) + { me->SetSpeed(MOVE_RUN, rand_norm()+0.5f); } @@ -2341,7 +2341,7 @@ class achievement_flame_leviathan_towers : public AchievementCriteriaScript { return target && _towerCount <= target->GetAI()->GetData(DATA_GET_TOWER_COUNT); } - + private: uint32 const _towerCount; }; @@ -2375,7 +2375,7 @@ class achievement_flame_leviathan_garage : public AchievementCriteriaScript return true; return false; } - + private: uint32 const _entry1; uint32 const _entry2; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp index 326f2eb8e394ee..29f92b8ff83d82 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_general_vezax.cpp @@ -204,7 +204,7 @@ class boss_vezax : public CreatureScript if( me->HasUnitState(UNIT_STATE_CASTING) ) return; - + switch( events.GetEvent() ) { case 0: @@ -463,7 +463,7 @@ class npc_ulduar_saronite_animus : public CreatureScript void UpdateAI(uint32 diff) { UpdateVictim(); - + timer += diff; if (timer >= 2000) { @@ -673,7 +673,7 @@ class go_ulduar_pure_saronite_deposit : public GameObjectScript public: go_ulduar_pure_saronite_deposit() : GameObjectScript("go_ulduar_pure_saronite_deposit") { } - bool OnGossipHello(Player* plr, GameObject* go) + bool OnGossipHello(Player* plr, GameObject* go) override { if (plr->IsGameMaster()) return false; @@ -707,4 +707,4 @@ void AddSC_boss_vezax() new achievement_shadowdodger(); new go_ulduar_pure_saronite_deposit(); -} \ No newline at end of file +} diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index 6ee534bd0c7df6..852e216865bb69 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -775,7 +775,7 @@ class boss_mimiron : public CreatureScript Creature* LMK2 = GetLMK2(); Creature* VX001 = GetVX001(); Creature* ACU = GetACU(); - + if (!VX001 || !LMK2 || !ACU) return; @@ -1113,7 +1113,7 @@ class npc_ulduar_leviathan_mkii : public CreatureScript cannon->ExitVehicle(); me->GetMotionMaster()->MoveCharge(2795.076f, 2598.616f, 364.32f, 21.0f); if (Creature* c = GetMimiron()) - c->AI()->SetData(0, 1); + c->AI()->SetData(0, 1); } } else if (Phase == 4) @@ -1752,7 +1752,7 @@ class npc_ulduar_aerial_command_unit : public CreatureScript me->UpdatePosition(2744.65f, 2569.46f, 381.34f, M_PI, false); if (Creature* c = GetMimiron()) - c->AI()->SetData(0, 3); + c->AI()->SetData(0, 3); } } else if (Phase == 4) @@ -2164,7 +2164,7 @@ class npc_ulduar_bot_summon_trigger : public CreatureScript me->CastSpell(me, SPELL_BEAM_BLUE, true); option = 3; break; - } + } } void UpdateAI(uint32 diff) @@ -2276,25 +2276,24 @@ class spell_mimiron_p3wx2_laser_barrage : public SpellScriptLoader }; class go_ulduar_do_not_push_this_button : public GameObjectScript -{ -public: - go_ulduar_do_not_push_this_button() : GameObjectScript("go_ulduar_do_not_push_this_button") { } +{ +public: + go_ulduar_do_not_push_this_button() : GameObjectScript("go_ulduar_do_not_push_this_button") { } - bool OnGossipHello(Player* Player, GameObject* GO) + bool OnGossipHello(Player* player, GameObject* go) override { - if( !Player || !GO ) + if(!player || !go) return true; - InstanceScript* pInstance = GO->GetInstanceScript(); - if (pInstance) + if (InstanceScript* instance = go->GetInstanceScript()) { - if( pInstance->GetData(TYPE_MIMIRON) != NOT_STARTED ) + if(instance->GetData(TYPE_MIMIRON) != NOT_STARTED) return false; - if (Creature* c = ObjectAccessor::GetCreature(*GO, pInstance->GetData64(TYPE_MIMIRON))) + if (Creature* c = ObjectAccessor::GetCreature(*go, instance->GetData64(TYPE_MIMIRON))) { c->AI()->SetData(0, 7); - c->AI()->AttackStart(Player); + c->AI()->AttackStart(player); } } @@ -2621,4 +2620,4 @@ void AddSC_boss_mimiron() new achievement_mimiron_set_up_us_the_bomb_11(); new achievement_mimiron_set_up_us_the_bomb_12(); new achievement_mimiron_set_up_us_the_bomb_13(); -} \ No newline at end of file +} diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp index 98bc0ebc600a6f..a41e85eabf1c09 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp @@ -457,7 +457,7 @@ class boss_razorscale : public CreatureScript me->RemoveAura(SPELL_CHAIN_4); } me->CastSpell(me, SPELL_WINGBUFFET, true); - + if( (me->GetHealth()*100) / me->GetMaxHealth() < 50 ) // start phase 3 { me->SetControlled(false, UNIT_STATE_ROOT); @@ -583,7 +583,7 @@ class npc_ulduar_expedition_commander : public CreatureScript public: npc_ulduar_expedition_commander() : CreatureScript("npc_ulduar_expedition_commander") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (!player || !creature) return true; @@ -599,12 +599,12 @@ class npc_ulduar_expedition_commander : public CreatureScript if (!razorscale || razorscale->IsInCombat()) return true; - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, TEXT_GOSSIP_ACTION, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->PlayerTalkClass->SendGossipMenu(40100, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, TEXT_GOSSIP_ACTION, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + SendGossipMenuFor(player, 40100, creature); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { if (!player || !creature) return true; @@ -636,7 +636,7 @@ class npc_ulduar_expedition_commander : public CreatureScript return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return GetInstanceAI(creature); } @@ -650,7 +650,7 @@ class npc_ulduar_expedition_commander : public CreatureScript me->SetReactState(REACT_AGGRESSIVE); } - void MoveInLineOfSight(Unit* who) + void MoveInLineOfSight(Unit* who) override { if (_introSpoken) return; @@ -687,7 +687,7 @@ class npc_ulduar_harpoonfirestate : public CreatureScript InstanceScript* pInstance; uint8 repairPoints; - + void Reset() { repairPoints = 0; @@ -877,11 +877,11 @@ class npc_ulduar_expedition_engineer : public CreatureScript }; class go_ulduar_working_harpoon : public GameObjectScript -{ -public: - go_ulduar_working_harpoon() : GameObjectScript("go_ulduar_working_harpoon") { } +{ +public: + go_ulduar_working_harpoon() : GameObjectScript("go_ulduar_working_harpoon") { } - bool OnGossipHello(Player* user, GameObject* go) + bool OnGossipHello(Player* user, GameObject* go) override { if( !user || !go ) return true; @@ -926,7 +926,7 @@ class go_ulduar_working_harpoon : public GameObjectScript if( uint64 g = pInstance->GetData64(npc) ) if( Creature* hfs = ObjectAccessor::GetCreature(*go, g) ) hfs->AI()->SetData(3, spell); - + go->SetLootState(GO_JUST_DEACTIVATED); return true; } diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp index fdfebee86dab87..05191d33d62419 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp @@ -31,7 +31,7 @@ enum ThorimSpells SPELL_LIGHTNING_CHARGE_BUFF = 62279, SPELL_LIGHTNING_PILLAR_P2 = 62976, SPELL_LIGHTNING_ORB_CHARGER = 62278, - + // SIF SPELL_TOUCH_OF_DOMINION = 62507, SPELL_SIF_TRANSFORM = 64778, @@ -328,7 +328,7 @@ class boss_thorim : public CreatureScript bool _hardMode; bool _isHitAllowed; bool _isAlly; - uint8 _trashCounter; + uint8 _trashCounter; InstanceScript* m_pInstance; EventMap events; @@ -371,10 +371,10 @@ class boss_thorim : public CreatureScript me->SummonCreature(_isAlly ? NPC_CAPTURED_MERCENARY_SOLDIER_ALLY : NPC_CAPTURED_MERCENARY_SOLDIER_HORDE, 2127.24f, -251.309f, 419.793f, 5.89921f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000); me->SummonCreature(_isAlly ? NPC_CAPTURED_MERCENARY_SOLDIER_ALLY : NPC_CAPTURED_MERCENARY_SOLDIER_HORDE, 2120.1f, -258.99f, 419.764f, 6.24828f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000); me->SummonCreature(_isAlly ? NPC_CAPTURED_MERCENARY_SOLDIER_ALLY : NPC_CAPTURED_MERCENARY_SOLDIER_HORDE, 2123.32f, -254.771f, 419.789f, 6.17846f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000); - + // Captured Mercenary Captain 32908 me->SummonCreature(_isAlly ? NPC_CAPTURED_MERCENARY_CAPTAIN_ALLY : NPC_CAPTURED_MERCENARY_CAPTAIN_HORDE, 2131.31f, -259.182f, 419.974f, 5.91667f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000); - + // Dark Rune Acolyte (arena) 32886 me->SummonCreature(NPC_DARK_RUNE_ACOLYTE_I, 2129.09f, -277.142f, 419.756f, 1.22173f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 5000); @@ -395,7 +395,7 @@ class boss_thorim : public CreatureScript // Runic Colossus 32872 me->SummonCreature(NPC_RUNIC_COLOSSUS, 2227.5f, -396.179f, 412.176f, 1.79769f); - + // Ancient Rune Giant 32873 me->SummonCreature(NPC_ANCIENT_RUNE_GIANT, 2134.57f, -440.318f, 438.331f, 0.226893f); @@ -540,7 +540,7 @@ class boss_thorim : public CreatureScript { if (m_pInstance) m_pInstance->DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, 64980 /*SIFFED ACHIEVEMENT*/); - + _hardMode = true; EntryCheckPredicate pred(NPC_SIF); summons.DoAction(ACTION_SIF_JOIN_FIGHT, pred); @@ -567,7 +567,7 @@ class boss_thorim : public CreatureScript me->MonsterYell("Stay your arms! I yield!", LANG_UNIVERSAL, 0); me->PlayDirectSound(SOUND_DEFEATED); - + events.SetPhase(EVENT_PHASE_OUTRO); events.ScheduleEvent(EVENT_THORIM_OUTRO1, 2000, 0, EVENT_PHASE_OUTRO); @@ -950,7 +950,7 @@ class boss_thorim_lightning_orb : public CreatureScript struct boss_thorim_lightning_orbAI : public npc_escortAI { boss_thorim_lightning_orbAI(Creature* pCreature) : npc_escortAI(pCreature) - { + { InitWaypoint(); Reset(); Start(false, true, 0); @@ -1036,7 +1036,7 @@ class boss_thorim_sif_blizzard : public CreatureScript struct boss_thorim_sif_blizzardAI : public npc_escortAI { boss_thorim_sif_blizzardAI(Creature* pCreature) : npc_escortAI(pCreature) - { + { InitWaypoint(); Reset(); Start(false, true, 0); @@ -1088,8 +1088,8 @@ class boss_thorim_pillar : public CreatureScript uint32 _resetTimer; - void Reset() - { + void Reset() + { _resetTimer = 0; me->SetControlled(true, UNIT_STATE_STUNNED); me->SetDisableGravity(true); @@ -1242,7 +1242,7 @@ class boss_thorim_start_npcs : public CreatureScript case EVENT_CM_SOLDIER_S: if (me->GetDistance(me->GetVictim()) > 8) me->CastSpell(me->GetVictim(), SPELL_SHOOT, false); - + events.RepeatEvent(1500); break; case EVENT_CM_CAPTAIN_D: @@ -1310,7 +1310,7 @@ class boss_thorim_gauntlet_npcs : public CreatureScript events.ScheduleEvent(EVENT_IH_GUARD_CLEAVE, 6000); events.ScheduleEvent(EVENT_IH_GUARD_HAMSTRING, 9000); events.ScheduleEvent(EVENT_IH_GUARD_SHIELD_SMASH, 15000); - + if (Creature* runeGiant = me->FindNearestCreature(NPC_ANCIENT_RUNE_GIANT, 200.0f)) runeGiant->AI()->DoAction(ACTION_IRON_HONOR_DIED); } @@ -1476,7 +1476,7 @@ class boss_thorim_runic_colossus : public CreatureScript _nextTriggerPos += 16.0f; if (_nextTriggerPos > -260.0f) events.PopEvent(); - else + else events.RescheduleEvent(EVENT_RC_RUNIC_SMASH_TRIGGER, 500); RunRunicSmash(true); @@ -1744,16 +1744,16 @@ class boss_thorim_arena_npcs : public CreatureScript }; class go_thorim_lever : public GameObjectScript -{ -public: - go_thorim_lever() : GameObjectScript("go_thorim_lever") { } +{ +public: + go_thorim_lever() : GameObjectScript("go_thorim_lever") { } - bool OnGossipHello(Player* pPlayer, GameObject* pGo) + bool OnGossipHello(Player* pPlayer, GameObject* go) override { if (GameObject *g = pPlayer->FindNearestGameObject(GO_ARENA_LEVER_GATE, 50)) g->UseDoorOrButton(); - pGo->UseDoorOrButton(); + go->UseDoorOrButton(); return true; } }; @@ -1824,7 +1824,7 @@ class achievement_thorim_stand_in_the_lightning : public AchievementCriteriaScri if (InstanceScript* instance = player->GetInstanceScript()) if (Creature* cr = ObjectAccessor::GetCreature(*player, instance->GetData64(TYPE_THORIM))) return cr->AI()->GetData(DATA_HIT_BY_LIGHTNING); - + return false; } }; @@ -1839,7 +1839,7 @@ class achievement_thorim_lose_your_illusion : public AchievementCriteriaScript if (InstanceScript* instance = player->GetInstanceScript()) if (Creature* cr = ObjectAccessor::GetCreature(*player, instance->GetData64(TYPE_THORIM))) return cr->AI()->GetData(DATA_LOSE_YOUR_ILLUSION); - + return false; } }; @@ -1862,7 +1862,7 @@ void AddSC_boss_thorim() // Mini bosses new boss_thorim_runic_colossus(); new boss_thorim_ancient_rune_giant(); - + // GOs new go_thorim_lever(); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp index 32fb7d24c4200c..b3767b7d7f28cb 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp @@ -218,7 +218,7 @@ enum YoggSaronSounds SARA_P1_CAST2 = 15774, SARA_P1_KILL1 = 15778, SARA_P1_KILL2 = 15779, - + SARA_P2_START = 15754, SARA_P2_CAST1 = 15776, SARA_P2_CAST2 = 15777, @@ -403,7 +403,7 @@ class boss_yoggsaron_sara : public CreatureScript me->SetVisible(true); me->SetDisplayId(me->GetNativeDisplayId()); me->SetDisableGravity(true); - EnableSara(false); + EnableSara(false); SpawnClouds(); _initFight = 1; @@ -558,7 +558,7 @@ class boss_yoggsaron_sara : public CreatureScript me->PlayDirectSound(_secondPhase ? SARA_P2_CAST1 : SARA_P1_CAST2); } } - + void KilledUnit(Unit* who) { if (who->GetTypeId() != TYPEID_PLAYER) @@ -611,7 +611,7 @@ class boss_yoggsaron_sara : public CreatureScript EntryCheckPredicate pred3(NPC_THORIM_KEEPER); summons.DoAction(ACTION_THORIM_START_STORM, pred3); - + if (!(_keepersGUID[0] && _keepersGUID[1] && _keepersGUID[2] && _keepersGUID[3]) && me->GetMap()->Is25ManRaid()) summons.DoAction(ACTION_YOGG_SARON_HARD_MODE, pred2); @@ -724,7 +724,7 @@ class boss_yoggsaron_sara : public CreatureScript else if (_p2TalkTimer >= 44500 && _p2TalkTimer < 60000) { me->MonsterYell("Cower before my true form.", LANG_UNIVERSAL, 0); - _p2TalkTimer = 60000; + _p2TalkTimer = 60000; } else if (_p2TalkTimer >= 64000) { @@ -772,7 +772,7 @@ class boss_yoggsaron_sara : public CreatureScript EntryCheckPredicate pred(NPC_YOGG_SARON); summons.DoAction(ACTION_YOGG_SARON_APPEAR, pred); events.RescheduleEvent(EVENT_SARA_P2_SPAWN_START_TENTACLES, 500, 0, EVENT_PHASE_TWO); - + // Spawn Brain! me->SummonCreature(NPC_BRAIN_OF_YOGG_SARON, 1981.3f, -25.43f, 265); break; @@ -838,8 +838,8 @@ class boss_yoggsaron_sara : public CreatureScript events.ScheduleEvent(EVENT_SARA_P2_MALADY, 7000, 0, EVENT_PHASE_TWO); events.ScheduleEvent(EVENT_SARA_P2_PSYCHOSIS, 3000, 0, EVENT_PHASE_TWO); events.ScheduleEvent(EVENT_SARA_P2_DEATH_RAY, 15000, 0, EVENT_PHASE_TWO); - events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T1, 50000+urand(0,10000), 0, EVENT_PHASE_TWO); - events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T2, 15000+urand(0,5000) , 0, EVENT_PHASE_TWO); + events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T1, 50000+urand(0,10000), 0, EVENT_PHASE_TWO); + events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T2, 15000+urand(0,5000) , 0, EVENT_PHASE_TWO); events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T3, 30000+urand(0,10000), 0, EVENT_PHASE_TWO); events.ScheduleEvent(EVENT_SARA_P2_BRAIN_LINK, 0, 0, EVENT_PHASE_TWO); events.ScheduleEvent(EVENT_SARA_P2_OPEN_PORTALS, 60000, 0, EVENT_PHASE_TWO); @@ -1012,7 +1012,7 @@ class boss_yoggsaron : public CreatureScript _usedInsane = false; summons.DespawnAll(); events.Reset(); - + uint8 _count = 4; me->SetLootMode(31); // 1 + 2 + 4 + 8 + 16, remove with watchers addition if (m_pInstance) @@ -1048,13 +1048,13 @@ class boss_yoggsaron : public CreatureScript { summons.DespawnAll(); events.Reset(); - + me->MonsterYell("Your fate is sealed. The end of days is finally upon you and ALL who inhabit this miserable little seedling. Uulwi ifis halahs gag erh'ongg w'ssh.", LANG_UNIVERSAL, 0); me->PlayDirectSound(YS_P3_DEATH); if (m_pInstance) { - m_pInstance->SetData(TYPE_YOGGSARON, DONE); + m_pInstance->SetData(TYPE_YOGGSARON, DONE); if (Creature* sara = ObjectAccessor::GetCreature(*me, m_pInstance->GetData64(NPC_SARA))) sara->AI()->DoAction(ACTION_YOGG_SARON_DEATH); if (GameObject* go = ObjectAccessor::GetGameObject(*me, m_pInstance->GetData64(GO_YOGG_SARON_DOORS))) @@ -1250,7 +1250,7 @@ class boss_yoggsaron_brain : public CreatureScript me->SummonCreature(NPC_LAUGHING_SKULL, 2133.09f, 15.341f, 239.72f, 4.0724f); me->SummonCreature(NPC_LAUGHING_SKULL, 2065.83f, 12.3772f, 239.792f, 5.49789f); - + // Aspects me->SummonCreature(NPC_ALEXTRASZA, 2091.92f, -25.8f, 242.647f, 0); me->SummonCreature(NPC_YSERA, 2116, -25.8f, 242.647f, 3.14f); @@ -1435,7 +1435,7 @@ class boss_yoggsaron_death_orb : public CreatureScript { me->CastSpell(me, SPELL_DEATH_RAY_DAMAGE_VISUAL, true); me->CastSpell(me, SPELL_DEATH_RAY_DAMAGE, true); - + _startTimer = 0; me->SetSpeed(MOVE_WALK, 2); me->SetSpeed(MOVE_RUN, 2); @@ -1697,7 +1697,7 @@ class boss_yoggsaron_descend_portal : public CreatureScript public: boss_yoggsaron_descend_portal() : CreatureScript("boss_yoggsaron_descend_portal") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (!creature->GetUInt32Value(UNIT_NPC_FLAGS)) return true; @@ -1707,7 +1707,7 @@ class boss_yoggsaron_descend_portal : public CreatureScript case ACTION_ILLUSION_ICECROWN: player->CastSpell(player, SPELL_TELEPORT_TO_ICECROWN, true); break; case ACTION_ILLUSION_STORMWIND: player->CastSpell(player, SPELL_TELEPORT_TO_STORMWIND, true); break; } - + creature->SetUInt32Value(UNIT_NPC_FLAGS, 0); creature->DespawnOrUnsummon(1000); return true; @@ -2546,7 +2546,7 @@ class spell_yogg_saron_empowered : public SpellScriptLoader { Unit* target = GetUnitOwner(); uint8 stack = std::min(uint8(target->GetHealthPct()/10), (uint8)9); - + if (!stack) { target->RemoveAura(SPELL_EMPOWERED); @@ -2892,10 +2892,10 @@ class achievement_yogg_saron_darkness : public AchievementCriteriaScript if (player->GetInstanceScript()) if (Creature* sara = ObjectAccessor::GetCreature(*player, player->GetInstanceScript()->GetData64(NPC_SARA))) return sara->GetAI()->GetData(DATA_GET_KEEPERS_COUNT) <= _keepersCount; - + return false; } - + private: uint32 const _keepersCount; }; @@ -2913,10 +2913,10 @@ class achievement_yogg_saron_he_waits_dreaming : public AchievementCriteriaScrip if (player->GetInstanceScript()) if (Creature* sara = ObjectAccessor::GetCreature(*player, player->GetInstanceScript()->GetData64(NPC_BRAIN_OF_YOGG_SARON))) return sara->GetAI()->GetData(DATA_GET_CURRENT_ILLUSION) == _requiredIllusion; - + return false; } - + private: uint8 const _requiredIllusion; }; @@ -2947,7 +2947,7 @@ void AddSC_boss_yoggsaron() new boss_yoggsaron_keeper(); new boss_yoggsaron_descend_portal(); new boss_yoggsaron_influence_tentacle(); - new boss_yoggsaron_immortal_guardian(); + new boss_yoggsaron_immortal_guardian(); new boss_yoggsaron_lich_king(); new boss_yoggsaron_llane(); new boss_yoggsaron_neltharion(); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.cpp index ad4d6b30ce4ea0..d5e5e3c4d92477 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.cpp @@ -25,44 +25,44 @@ class go_ulduar_teleporter : public GameObjectScript public: go_ulduar_teleporter() : GameObjectScript("ulduar_teleporter") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { InstanceScript* pInstance = go->GetInstanceScript(); if (!pInstance) return true; - player->ADD_GOSSIP_ITEM(0, "Teleport to the Expedition Base Camp.", GOSSIP_SENDER_MAIN, BASE_CAMP); + AddGossipItemFor(player, 0, "Teleport to the Expedition Base Camp.", GOSSIP_SENDER_MAIN, BASE_CAMP); if (pInstance->GetData(TYPE_LEVIATHAN) >= DONE) // count special { - player->ADD_GOSSIP_ITEM(0, "Teleport to the Formation Grounds.", GOSSIP_SENDER_MAIN, GROUNDS); + AddGossipItemFor(player, 0, "Teleport to the Formation Grounds.", GOSSIP_SENDER_MAIN, GROUNDS); if (pInstance->GetData(TYPE_LEVIATHAN) == DONE) { - player->ADD_GOSSIP_ITEM(0, "Teleport to the Colossal Forge.", GOSSIP_SENDER_MAIN, FORGE); + AddGossipItemFor(player, 0, "Teleport to the Colossal Forge.", GOSSIP_SENDER_MAIN, FORGE); if (pInstance->GetData(TYPE_XT002) == DONE) { - player->ADD_GOSSIP_ITEM(0, "Teleport to the Scrapyard.", GOSSIP_SENDER_MAIN, SCRAPYARD); - player->ADD_GOSSIP_ITEM(0, "Teleport to the Antechamber of Ulduar.", GOSSIP_SENDER_MAIN, ANTECHAMBER); + AddGossipItemFor(player, 0, "Teleport to the Scrapyard.", GOSSIP_SENDER_MAIN, SCRAPYARD); + AddGossipItemFor(player, 0, "Teleport to the Antechamber of Ulduar.", GOSSIP_SENDER_MAIN, ANTECHAMBER); if (pInstance->GetData(TYPE_KOLOGARN) == DONE) { - player->ADD_GOSSIP_ITEM(0, "Teleport to the Shattered Walkway.", GOSSIP_SENDER_MAIN, WALKWAY); + AddGossipItemFor(player, 0, "Teleport to the Shattered Walkway.", GOSSIP_SENDER_MAIN, WALKWAY); if (pInstance->GetData(TYPE_AURIAYA) == DONE) { - player->ADD_GOSSIP_ITEM(0, "Teleport to the Conservatory of Life.", GOSSIP_SENDER_MAIN, CONSERVATORY); + AddGossipItemFor(player, 0, "Teleport to the Conservatory of Life.", GOSSIP_SENDER_MAIN, CONSERVATORY); if (pInstance->GetData(DATA_CALL_TRAM)) - player->ADD_GOSSIP_ITEM(0, "Teleport to the Spark of Imagination.", GOSSIP_SENDER_MAIN, SPARK); + AddGossipItemFor(player, 0, "Teleport to the Spark of Imagination.", GOSSIP_SENDER_MAIN, SPARK); if (pInstance->GetData(TYPE_VEZAX) == DONE) - player->ADD_GOSSIP_ITEM(0, "Teleport to the Prison of Yogg-Saron.", GOSSIP_SENDER_MAIN, MADNESS); + AddGossipItemFor(player, 0, "Teleport to the Prison of Yogg-Saron.", GOSSIP_SENDER_MAIN, MADNESS); } } } } } - player->SEND_GOSSIP_MENU(14424, go->GetGUID()); + SendGossipMenuFor(player, 14424, go->GetGUID()); return true; } - bool OnGossipSelect(Player* player, GameObject* /*go*/, uint32 sender, uint32 action) + bool OnGossipSelect(Player* player, GameObject* /*go*/, uint32 sender, uint32 action) override { if (sender != GOSSIP_SENDER_MAIN || !player->getAttackers().empty()) return true; @@ -71,31 +71,31 @@ class go_ulduar_teleporter : public GameObjectScript { case BASE_CAMP: player->TeleportTo(603, -706.122f, -92.6024f, 429.876f, 0); - player->CLOSE_GOSSIP_MENU(); break; + CloseGossipMenuFor(player); break; case GROUNDS: player->TeleportTo(603, 131.248f, -35.3802f, 409.804f, 0); - player->CLOSE_GOSSIP_MENU(); break; + CloseGossipMenuFor(player); break; case FORGE: player->TeleportTo(603, 553.233f, -12.3247f, 409.679f, 0); - player->CLOSE_GOSSIP_MENU(); break; + CloseGossipMenuFor(player); break; case SCRAPYARD: player->TeleportTo(603, 926.292f, -11.4635f, 418.595f, 0); - player->CLOSE_GOSSIP_MENU(); break; + CloseGossipMenuFor(player); break; case ANTECHAMBER: player->TeleportTo(603, 1498.09f, -24.246f, 420.967f, 0); - player->CLOSE_GOSSIP_MENU(); break; + CloseGossipMenuFor(player); break; case WALKWAY: player->TeleportTo(603, 1859.45f, -24.1f, 448.9f, 0); - player->CLOSE_GOSSIP_MENU(); break; + CloseGossipMenuFor(player); break; case CONSERVATORY: player->TeleportTo(603, 2086.27f, -24.3134f, 421.239f, 0); - player->CLOSE_GOSSIP_MENU(); break; + CloseGossipMenuFor(player); break; case MADNESS: player->TeleportTo(603, 1854.8f, -11.46f, 334.57f, 4.8f); - player->CLOSE_GOSSIP_MENU(); break; + CloseGossipMenuFor(player); break; case SPARK: player->TeleportTo(603, 2517.9f, 2568.9f, 412.7f, 0); - player->CLOSE_GOSSIP_MENU(); break; + CloseGossipMenuFor(player); break; } return true; @@ -107,14 +107,14 @@ class npc_ulduar_keeper : public CreatureScript public: npc_ulduar_keeper() : CreatureScript("npc_ulduar_keeper_gossip") { } - bool OnGossipHello(Player* pPlayer, Creature* pCreature) + bool OnGossipHello(Player* player, Creature* creature) override { - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Lend us your aid, keeper. Together we shall defeat Yogg-Saron.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - pPlayer->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, pCreature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Lend us your aid, keeper. Together we shall defeat Yogg-Saron.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + SendGossipMenuFor(player, DEFAULT_GOSSIP_MESSAGE, creature->GetGUID()); return true; } - bool OnGossipSelect(Player* /*player*/, Creature* creature, uint32 /*uiSender*/, uint32 /*uiAction*/) + bool OnGossipSelect(Player* /*player*/, Creature* creature, uint32 /*uiSender*/, uint32 /*uiAction*/) override { creature->SetUInt32Value(UNIT_NPC_FLAGS, 0); uint8 _keeper = 0; @@ -184,14 +184,14 @@ class npc_ulduar_snow_mound : public CreatureScript public: npc_ulduar_snow_mound() : CreatureScript("npc_ulduar_snow_mound") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_ulduar_snow_moundAI(pCreature); + return new npc_ulduar_snow_moundAI(creature); } struct npc_ulduar_snow_moundAI : public ScriptedAI { - npc_ulduar_snow_moundAI(Creature* pCreature) : ScriptedAI(pCreature) + npc_ulduar_snow_moundAI(Creature* creature) : ScriptedAI(creature) { activated = false; me->CastSpell(me, 64615, true); @@ -230,14 +230,14 @@ class npc_ulduar_storm_tempered_keeper : public CreatureScript public: npc_ulduar_storm_tempered_keeper() : CreatureScript("npc_ulduar_storm_tempered_keeper") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_ulduar_storm_tempered_keeperAI(pCreature); + return new npc_ulduar_storm_tempered_keeperAI(creature); } struct npc_ulduar_storm_tempered_keeperAI : public ScriptedAI { - npc_ulduar_storm_tempered_keeperAI(Creature* pCreature) : ScriptedAI(pCreature) + npc_ulduar_storm_tempered_keeperAI(Creature* creature) : ScriptedAI(creature) { otherGUID = 0; } @@ -319,14 +319,14 @@ class npc_ulduar_arachnopod_destroyer : public CreatureScript public: npc_ulduar_arachnopod_destroyer() : CreatureScript("npc_ulduar_arachnopod_destroyer") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_ulduar_arachnopod_destroyerAI(pCreature); + return new npc_ulduar_arachnopod_destroyerAI(creature); } struct npc_ulduar_arachnopod_destroyerAI : public ScriptedAI { - npc_ulduar_arachnopod_destroyerAI(Creature* pCreature) : ScriptedAI(pCreature) + npc_ulduar_arachnopod_destroyerAI(Creature* creature) : ScriptedAI(creature) { _spawnedMechanic = false; me->ApplySpellImmune(0, IMMUNITY_ID, 64919, true); // Ice Nova from Ice Turret @@ -480,14 +480,14 @@ class go_call_tram : public GameObjectScript public: go_call_tram() : GameObjectScript("go_call_tram") { } - bool OnGossipHello(Player* /*pPlayer*/, GameObject* pGo) + bool OnGossipHello(Player* /*player*/, GameObject* go) override { - InstanceScript* pInstance = pGo->GetInstanceScript(); + InstanceScript* pInstance = go->GetInstanceScript(); if (!pInstance) return false; - switch(pGo->GetEntry()) + switch(go->GetEntry()) { case 194914: case 194438: diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp index c0672043c76c1d..9b2c35bdb23b35 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp @@ -118,7 +118,7 @@ class boss_palehoof : public CreatureScript uint8 Counter; uint8 RandomUnfreeze[4]; - void Reset() + void Reset() { for (uint8 i = 0; i < 4; ++i) { @@ -137,7 +137,7 @@ class boss_palehoof : public CreatureScript } while (!good); } - + events.Reset(); summons.DoAction(ACTION_DESPAWN_ADDS); summons.DespawnAll(); @@ -306,7 +306,7 @@ class boss_palehoof : public CreatureScript break; } } - + DoMeleeAttackIfReady(); } @@ -352,7 +352,7 @@ class npc_massive_jormungar : public CreatureScript EventMap events; SummonList summons; - void Reset() + void Reset() { summons.DespawnAll(); events.Reset(); @@ -444,9 +444,9 @@ class npc_massive_jormungar : public CreatureScript DoMeleeAttackIfReady(); } - void JustDied(Unit* /*pKiller*/) + void JustDied(Unit* /*pKiller*/) { - if (m_pInstance) + if (m_pInstance) { if (Creature *palehoof = ObjectAccessor::GetCreature(*me, m_pInstance->GetData64(DATA_GORTOK_PALEHOOF))) palehoof->AI()->DoAction(ACTION_MINIBOSS_DIED); @@ -479,7 +479,7 @@ class npc_ferocious_rhino : public CreatureScript InstanceScript *m_pInstance; EventMap events; - void Reset() + void Reset() { events.Reset(); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE); @@ -554,9 +554,9 @@ class npc_ferocious_rhino : public CreatureScript DoMeleeAttackIfReady(); } - void JustDied(Unit* /*pKiller*/) + void JustDied(Unit* /*pKiller*/) { - if (m_pInstance) + if (m_pInstance) { if (Creature *palehoof = ObjectAccessor::GetCreature(*me, m_pInstance->GetData64(DATA_GORTOK_PALEHOOF))) palehoof->AI()->DoAction(ACTION_MINIBOSS_DIED); @@ -581,7 +581,7 @@ class npc_ravenous_furbolg : public CreatureScript struct npc_ravenous_furbolgAI : public ScriptedAI { - npc_ravenous_furbolgAI(Creature* pCreature) : ScriptedAI(pCreature) + npc_ravenous_furbolgAI(Creature* pCreature) : ScriptedAI(pCreature) { m_pInstance = pCreature->GetInstanceScript(); } @@ -589,7 +589,7 @@ class npc_ravenous_furbolg : public CreatureScript InstanceScript *m_pInstance; EventMap events; - void Reset() + void Reset() { events.Reset(); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE); @@ -662,9 +662,9 @@ class npc_ravenous_furbolg : public CreatureScript DoMeleeAttackIfReady(); } - void JustDied(Unit* /*pKiller*/) + void JustDied(Unit* /*pKiller*/) { - if (m_pInstance) + if (m_pInstance) { if (Creature *palehoof = ObjectAccessor::GetCreature(*me, m_pInstance->GetData64(DATA_GORTOK_PALEHOOF))) palehoof->AI()->DoAction(ACTION_MINIBOSS_DIED); @@ -689,7 +689,7 @@ class npc_frenzied_worgen : public CreatureScript struct npc_frenzied_worgenAI : public ScriptedAI { - npc_frenzied_worgenAI(Creature* pCreature) : ScriptedAI(pCreature) + npc_frenzied_worgenAI(Creature* pCreature) : ScriptedAI(pCreature) { m_pInstance = pCreature->GetInstanceScript(); } @@ -697,7 +697,7 @@ class npc_frenzied_worgen : public CreatureScript InstanceScript *m_pInstance; EventMap events; - void Reset() + void Reset() { events.Reset(); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE); @@ -770,9 +770,9 @@ class npc_frenzied_worgen : public CreatureScript DoMeleeAttackIfReady(); } - void JustDied(Unit* /*pKiller*/) + void JustDied(Unit* /*pKiller*/) { - if (m_pInstance) + if (m_pInstance) { if (Creature *palehoof = ObjectAccessor::GetCreature(*me, m_pInstance->GetData64(DATA_GORTOK_PALEHOOF))) palehoof->AI()->DoAction(ACTION_MINIBOSS_DIED); @@ -782,20 +782,20 @@ class npc_frenzied_worgen : public CreatureScript }; class go_palehoof_sphere : public GameObjectScript -{ -public: - go_palehoof_sphere() : GameObjectScript("go_palehoof_sphere") { } +{ +public: + go_palehoof_sphere() : GameObjectScript("go_palehoof_sphere") { } - bool OnGossipHello(Player * /*pPlayer*/, GameObject *pGO) + bool OnGossipHello(Player * /*pPlayer*/, GameObject *go) override { - InstanceScript *pInstance = pGO->GetInstanceScript(); + InstanceScript *pInstance = go->GetInstanceScript(); - Creature *pPalehoof = ObjectAccessor::GetCreature(*pGO, pInstance ? pInstance->GetData64(DATA_GORTOK_PALEHOOF) : 0); + Creature *pPalehoof = ObjectAccessor::GetCreature(*go, pInstance ? pInstance->GetData64(DATA_GORTOK_PALEHOOF) : 0); if (pPalehoof && pPalehoof->IsAlive()) { // maybe these are hacks :( - pGO->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); - pGO->SetGoState(GO_STATE_ACTIVE); + go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); + go->SetGoState(GO_STATE_ACTIVE); pPalehoof->AI()->DoAction(ACTION_START_EVENT); } diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp index c6ef223c342023..553175db746c72 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp @@ -156,7 +156,7 @@ class boss_skadi : public CreatureScript { if (IsHeroic()) m_pInstance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_LODI_DODI); - + m_pInstance->SetData(DATA_SKADI_THE_RUTHLESS, IN_PROGRESS); } @@ -168,7 +168,7 @@ class boss_skadi : public CreatureScript void DoAction(int32 param) { - + if (param == ACTION_PHASE2) { SecondPhase = true; @@ -306,7 +306,7 @@ class boss_skadi_grauf : public CreatureScript AchievementHitCount++; if (AchievementHitCount >= 3 && m_pInstance) m_pInstance->SetData(DATA_SKADI_ACHIEVEMENT, true); - + } } @@ -333,7 +333,7 @@ class boss_skadi_grauf : public CreatureScript cr->CastSpell(cr, cr->GetMap()->IsHeroic() ? SPELL_FLAME_BREATH_H : SPELL_FLAME_BREATH_N, true); if ((cr = me->SummonCreature(NPC_BREATH_TRIGGER, 471.0f, -484.7f, 105, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 30000))) cr->CastSpell(cr, cr->GetMap()->IsHeroic() ? SPELL_FLAME_BREATH_H : SPELL_FLAME_BREATH_N, true); - + for (uint8 j = 0; j < 7; j++) if ((cr = me->SummonCreature(NPC_BREATH_TRIGGER, 477.0f, -507.0f+(j*3), 105.0f, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 30000))) cr->CastSpell(cr, cr->GetMap()->IsHeroic() ? SPELL_FLAME_BREATH_H : SPELL_FLAME_BREATH_N, true); @@ -351,7 +351,7 @@ class boss_skadi_grauf : public CreatureScript break; case 2: case 3: - if (m_pInstance) + if (m_pInstance) m_pInstance->SetData(SKADI_IN_RANGE, 1); me->MonsterTextEmote(EMOTE_IN_RANGE, 0, true); @@ -408,7 +408,7 @@ class boss_skadi_grauf : public CreatureScript return; } - + RemoveSkadi(true); } @@ -460,7 +460,7 @@ class boss_skadi_grauf : public CreatureScript me->CastSpell(me, SPELL_FLAME_VISUAL, false); } - if (m_pInstance) + if (m_pInstance) m_pInstance->SetData(SKADI_IN_RANGE, 0); currentPos = targetPoint; @@ -486,13 +486,13 @@ class boss_skadi_grauf : public CreatureScript }; class go_harpoon_canon : public GameObjectScript -{ -public: - go_harpoon_canon() : GameObjectScript("go_harpoon_canon") { } +{ +public: + go_harpoon_canon() : GameObjectScript("go_harpoon_canon") { } - bool OnGossipHello(Player* pPlayer, GameObject* pGO) + bool OnGossipHello(Player* pPlayer, GameObject* go) override { - InstanceScript *m_pInstance = pGO->GetInstanceScript(); + InstanceScript *m_pInstance = go->GetInstanceScript(); if (m_pInstance && m_pInstance->GetData(DATA_SKADI_THE_RUTHLESS) == IN_PROGRESS) if (m_pInstance->GetData(SKADI_IN_RANGE) == 1) { @@ -509,7 +509,7 @@ class go_harpoon_canon : public GameObjectScript grauf->AI()->DoAction(ACTION_MYGIRL_ACHIEVEMENT); } - pGO->CastSpell((Unit*)NULL, SPELL_LAUNCH_HARPOON); + go->CastSpell((Unit*)NULL, SPELL_LAUNCH_HARPOON); } return true; diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp index 573d2e176deffc..7a1980d6db3a6f 100644 --- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp @@ -20,9 +20,9 @@ class go_vh_activation_crystal : public GameObjectScript public: go_vh_activation_crystal() : GameObjectScript("go_vh_activation_crystal") { } - bool OnGossipHello(Player* /*pPlayer*/, GameObject* pGo) + bool OnGossipHello(Player* /*player*/, GameObject* go) override { - if (InstanceScript* pInstance = pGo->GetInstanceScript()) + if (InstanceScript* pInstance = go->GetInstanceScript()) pInstance->SetData(DATA_ACTIVATE_DEFENSE_SYSTEM, 1); return true; } @@ -41,42 +41,43 @@ class npc_vh_sinclari : public CreatureScript public: npc_vh_sinclari() : CreatureScript("npc_vh_sinclari") { } - bool OnGossipHello(Player* pPlayer, Creature* pCreature) + bool OnGossipHello(Player* player, Creature* creature) override { - if (InstanceScript* pInstance = pCreature->GetInstanceScript()) + if (InstanceScript* pInstance = creature->GetInstanceScript()) switch (pInstance->GetData(DATA_ENCOUNTER_STATUS)) { case NOT_STARTED: - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_START_EVENT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - pPlayer->SEND_GOSSIP_MENU(13853, pCreature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_START_EVENT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + SendGossipMenuFor(player, 13853, creature->GetGUID()); break; case IN_PROGRESS: - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_I_WANT_IN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); - pPlayer->SEND_GOSSIP_MENU(13853, pCreature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_I_WANT_IN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); + SendGossipMenuFor(player, 13853, creature->GetGUID()); break; default: // DONE or invalid - pPlayer->SEND_GOSSIP_MENU(13910, pCreature->GetGUID()); + SendGossipMenuFor(player, 13910, creature->GetGUID()); } return true; } - bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { - pPlayer->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); + switch(uiAction) { case GOSSIP_ACTION_INFO_DEF+1: - pPlayer->CLOSE_GOSSIP_MENU(); - if (InstanceScript *pInstance = pCreature->GetInstanceScript()) + CloseGossipMenuFor(player); + if (InstanceScript *pInstance = creature->GetInstanceScript()) pInstance->SetData(DATA_START_INSTANCE, 1); break; case GOSSIP_ACTION_INFO_DEF+2: - pPlayer->SEND_GOSSIP_MENU(13854, pCreature->GetGUID()); + SendGossipMenuFor(player, 13854, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+3: - pPlayer->NearTeleportTo(playerTeleportPosition.GetPositionX(), playerTeleportPosition.GetPositionY(), playerTeleportPosition.GetPositionZ(), playerTeleportPosition.GetOrientation(), true); - pPlayer->CLOSE_GOSSIP_MENU(); + player->NearTeleportTo(playerTeleportPosition.GetPositionX(), playerTeleportPosition.GetPositionY(), playerTeleportPosition.GetPositionZ(), playerTeleportPosition.GetOrientation(), true); + CloseGossipMenuFor(player); break; } return true; @@ -101,9 +102,9 @@ class npc_vh_teleportation_portal : public CreatureScript public: npc_vh_teleportation_portal() : CreatureScript("npc_vh_teleportation_portal") { } - CreatureAI* GetAI(Creature *pCreature) const + CreatureAI* GetAI(Creature *creature) const { - return new npc_vh_teleportation_portalAI(pCreature); + return new npc_vh_teleportation_portalAI(creature); } struct npc_vh_teleportation_portalAI : public NullCreatureAI @@ -390,7 +391,7 @@ struct violet_hold_trashAI : public npc_escortAI ***********/ enum AzureInvaderSpells -{ +{ SPELL_CLEAVE = 15496, SPELL_IMPALE_N = 58459, SPELL_IMPALE_H = 59256, @@ -470,9 +471,9 @@ class npc_azure_invader : public CreatureScript public: npc_azure_invader() : CreatureScript("npc_azure_invader") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_azure_invaderAI (pCreature); + return new npc_azure_invaderAI (creature); } struct npc_azure_invaderAI : public violet_hold_trashAI @@ -543,9 +544,9 @@ class npc_azure_binder : public CreatureScript public: npc_azure_binder() : CreatureScript("npc_azure_binder") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_azure_binderAI (pCreature); + return new npc_azure_binderAI (creature); } struct npc_azure_binderAI : public violet_hold_trashAI @@ -616,9 +617,9 @@ class npc_azure_mage_slayer : public CreatureScript public: npc_azure_mage_slayer() : CreatureScript("npc_azure_mage_slayer") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_azure_mage_slayerAI (pCreature); + return new npc_azure_mage_slayerAI (creature); } struct npc_azure_mage_slayerAI : public violet_hold_trashAI @@ -671,9 +672,9 @@ class npc_azure_raider : public CreatureScript public: npc_azure_raider() : CreatureScript("npc_azure_raider") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_azure_raiderAI (pCreature); + return new npc_azure_raiderAI (creature); } struct npc_azure_raiderAI : public violet_hold_trashAI @@ -718,9 +719,9 @@ class npc_azure_stalker : public CreatureScript public: npc_azure_stalker() : CreatureScript("npc_azure_stalker") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_azure_stalkerAI (pCreature); + return new npc_azure_stalkerAI (creature); } struct npc_azure_stalkerAI : public violet_hold_trashAI @@ -779,9 +780,9 @@ class npc_azure_spellbreaker : public CreatureScript public: npc_azure_spellbreaker() : CreatureScript("npc_azure_spellbreaker") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_azure_spellbreakerAI (pCreature); + return new npc_azure_spellbreakerAI (creature); } struct npc_azure_spellbreakerAI : public violet_hold_trashAI @@ -854,9 +855,9 @@ class npc_azure_captain : public CreatureScript public: npc_azure_captain() : CreatureScript("npc_azure_captain") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_azure_captainAI (pCreature); + return new npc_azure_captainAI (creature); } struct npc_azure_captainAI : public violet_hold_trashAI @@ -901,9 +902,9 @@ class npc_azure_sorceror : public CreatureScript public: npc_azure_sorceror() : CreatureScript("npc_azure_sorceror") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_azure_sorcerorAI (pCreature); + return new npc_azure_sorcerorAI (creature); } struct npc_azure_sorcerorAI : public violet_hold_trashAI @@ -964,9 +965,9 @@ class npc_azure_saboteur : public CreatureScript public: npc_azure_saboteur() : CreatureScript("npc_azure_saboteur") { } - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* creature) const { - return new npc_azure_saboteurAI (pCreature); + return new npc_azure_saboteurAI (creature); } struct npc_azure_saboteurAI : public npc_escortAI @@ -1145,11 +1146,12 @@ class go_violet_hold_gate_lever : public GameObjectScript public: go_violet_hold_gate_lever() : GameObjectScript("go_violet_hold_gate_lever") { } - bool OnGossipHello(Player* plr, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (GameObject* gate = go->GetMap()->GetGameObject(MAKE_NEW_GUID(61606, 193019, HIGHGUID_GAMEOBJECT))) if (gate->getLootState() == GO_READY) - gate->UseDoorOrButton(0, false, plr); + gate->UseDoorOrButton(0, false, player); + return false; } }; diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 3ee3464af14c6d..2c9d7e6e3b6e5c 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -275,24 +275,24 @@ class npc_corastrasza : public CreatureScript public: npc_corastrasza() : CreatureScript("npc_corastrasza") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(QUEST_ACES_HIGH) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_ACES_HIGH_DAILY) == QUEST_STATUS_INCOMPLETE) //It's the same dragon for both quests. - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_C_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_C_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, SPELL_SUMMON_WYRMREST_SKYTALON, true); player->CastSpell(player, SPELL_WYRMREST_SKYTALON_RIDE_PERIODIC, true); @@ -321,23 +321,23 @@ class npc_iruk : public CreatureScript public: npc_iruk() : CreatureScript("npc_iruk") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_SPIRITS_WATCH_OVER_US) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_I, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_I, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->PlayerTalkClass->SendGossipMenu(GOSSIP_TEXT_I, creature->GetGUID()); + SendGossipMenuFor(player, GOSSIP_TEXT_I, creature); return true; } - bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: player->CastSpell(player, SPELL_CREATURE_TOTEM_OF_ISSLIRUK, true); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); break; } @@ -1106,7 +1106,7 @@ class npc_hidden_cultist : public CreatureScript uint64 uiPlayerGUID; - void Reset() + void Reset() override { if (uiEmoteState) me->SetUInt32Value(UNIT_NPC_EMOTESTATE, uiEmoteState); @@ -1124,7 +1124,7 @@ class npc_hidden_cultist : public CreatureScript me->RestoreFaction(); } - void DoAction(int32 /*iParam*/) + void DoAction(int32 /*iParam*/) override { me->StopMoving(); me->SetUInt32Value(UNIT_NPC_FLAGS, 0); @@ -1134,7 +1134,7 @@ class npc_hidden_cultist : public CreatureScript uiEventPhase = 1; } - void SetGUID(uint64 uiGuid, int32 /*iId*/) + void SetGUID(uint64 uiGuid, int32 /*iId*/) override { uiPlayerGUID = uiGuid; } @@ -1146,7 +1146,7 @@ class npc_hidden_cultist : public CreatureScript AttackStart(player); } - void UpdateAI(uint32 uiDiff) + void UpdateAI(uint32 uiDiff) override { if (uiEventTimer && uiEventTimer <= uiDiff) { @@ -1207,12 +1207,12 @@ class npc_hidden_cultist : public CreatureScript } }; - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_hidden_cultistAI(creature); } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { uint32 uiGossipText = 0; const char* charGossipItem; @@ -1237,23 +1237,23 @@ class npc_hidden_cultist : public CreatureScript } if (player->HasAura(SPELL_RIGHTEOUS_VISION) && player->GetQuestStatus(QUEST_THE_HUNT_IS_ON) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, charGossipItem, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, charGossipItem, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); if (creature->IsVendor()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->SEND_GOSSIP_MENU(uiGossipText, creature->GetGUID()); + SendGossipMenuFor(player, uiGossipText, creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->AI()->SetGUID(player->GetGUID()); creature->AI()->DoAction(1); } diff --git a/src/server/scripts/Northrend/zone_dalaran.cpp b/src/server/scripts/Northrend/zone_dalaran.cpp index c5ae8a35aaedbb..4cc3737e32f438 100644 --- a/src/server/scripts/Northrend/zone_dalaran.cpp +++ b/src/server/scripts/Northrend/zone_dalaran.cpp @@ -80,7 +80,7 @@ enum DisguiseEvent ACTION_SHIRTS = 2, ACTION_PANTS = 3, ACTION_UNMENTIONABLES = 4, - + EVENT_INTRO_DH1 = 1, EVENT_INTRO_DH2 = 2, EVENT_INTRO_DH3 = 3, @@ -133,13 +133,13 @@ class npc_shandy_dalaran : public CreatureScript { npc_shandy_dalaranAI(Creature* creature) : ScriptedAI(creature) { } - void Reset() + void Reset() override { _events.Reset(); _aquanosGUID = 0; - } - - void SetData(uint32 type, uint32 /*data*/) + } + + void SetData(uint32 type, uint32 /*data*/) override { switch(type) { @@ -177,8 +177,8 @@ class npc_shandy_dalaran : public CreatureScript Talk(SAY_SHANDY_WATER + _lSource - 1); _canWash = true; } - - void UpdateAI(uint32 diff) + + void UpdateAI(uint32 diff) override { _events.Update(diff); switch (_events.GetEvent()) @@ -193,7 +193,7 @@ class npc_shandy_dalaran : public CreatureScript _events.ScheduleEvent(EVENT_INTRO_DH3, 6000); else RollTask(); - + _events.PopEvent(); break; case EVENT_INTRO_DH3: @@ -202,7 +202,7 @@ class npc_shandy_dalaran : public CreatureScript _events.PopEvent(); break; case EVENT_INTRO_DH4: - Talk(SAY_SHANDY5); + Talk(SAY_SHANDY5); _events.ScheduleEvent(EVENT_INTRO_DH5, 3000); _events.PopEvent(); break; @@ -234,30 +234,30 @@ class npc_shandy_dalaran : public CreatureScript bool _canWash; }; - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); - if (player->GetQuestStatus(QUEST_SUITABLE_DISGUISE_A) == QUEST_STATUS_INCOMPLETE || + if (player->GetQuestStatus(QUEST_SUITABLE_DISGUISE_A) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_SUITABLE_DISGUISE_H) == QUEST_STATUS_INCOMPLETE) { if(player->GetTeamId() == TEAM_ALLIANCE) - player->ADD_GOSSIP_ITEM(0, "Arcanist Tybalin said you might be able to lend me a certain tabard.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, 0, "Arcanist Tybalin said you might be able to lend me a certain tabard.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); else - player->ADD_GOSSIP_ITEM(0, "Magister Hathorel said you might be able to lend me a certain tabard.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, 0, "Magister Hathorel said you might be able to lend me a certain tabard.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { switch (action) { case GOSSIP_ACTION_INFO_DEF: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->SetUInt32Value(UNIT_NPC_FLAGS, 0); creature->AI()->SetData(ACTION_SHANDY_INTRO, 0); break; @@ -265,7 +265,7 @@ class npc_shandy_dalaran : public CreatureScript return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_shandy_dalaranAI(creature); } @@ -760,7 +760,7 @@ class npc_dalaran_mage : public CreatureScript } void UpdateAI(uint32 diff) { - + if (!UpdateVictim()) return; diff --git a/src/server/scripts/Northrend/zone_dragonblight.cpp b/src/server/scripts/Northrend/zone_dragonblight.cpp index 087234b553f1b8..b30ec3eb0c4d1c 100644 --- a/src/server/scripts/Northrend/zone_dragonblight.cpp +++ b/src/server/scripts/Northrend/zone_dragonblight.cpp @@ -247,15 +247,15 @@ class go_the_pearl_of_the_depths : public GameObjectScript public: go_the_pearl_of_the_depths() : GameObjectScript("go_the_pearl_of_the_depths") { } - bool OnGossipHello(Player* pPlayer, GameObject* pGo) + bool OnGossipHello(Player* player, GameObject* go) override { - if( !pPlayer || !pGo ) + if(!player || !go) return true; - Creature* t = pPlayer->FindNearestCreature(NPC_CONVERSING_WITH_THE_DEPTHS_TRIGGER, 10.0f, true); - if( t && t->AI() && CAST_AI(npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, t->AI()) ) - if( !CAST_AI(npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, t->AI())->running ) - CAST_AI(npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, t->AI())->Start(pPlayer->GetGUID()); + Creature* t = player->FindNearestCreature(NPC_CONVERSING_WITH_THE_DEPTHS_TRIGGER, 10.0f, true); + if(t && t->AI() && CAST_AI(npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, t->AI())) + if(!CAST_AI(npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, t->AI())->running) + CAST_AI(npc_conversing_with_the_depths_trigger::npc_conversing_with_the_depths_triggerAI, t->AI())->Start(player->GetGUID()); return true; } @@ -343,7 +343,7 @@ class npc_hourglass_of_eternity : public CreatureScript { return NPC_INFINITE_ASSAILANT+urand(0,2); } - + void UpdateAI(uint32 diff) { events.Update(diff); @@ -462,15 +462,15 @@ class npc_future_you : public CreatureScript struct npc_future_youAI : public ScriptedAI { npc_future_youAI(Creature* c) : ScriptedAI(c) {} - - void EnterEvadeMode() + + void EnterEvadeMode() { me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT); me->ClearUnitState(UNIT_STATE_EVADE); } - void Reset() - { + void Reset() + { if (me->ToTempSummon() && me->ToTempSummon()->GetSummoner()) me->setFaction(me->ToTempSummon()->GetSummoner()->getFaction()); } diff --git a/src/server/scripts/Northrend/zone_howling_fjord.cpp b/src/server/scripts/Northrend/zone_howling_fjord.cpp index ab4eac30a7aa10..244d4fd3861bb8 100644 --- a/src/server/scripts/Northrend/zone_howling_fjord.cpp +++ b/src/server/scripts/Northrend/zone_howling_fjord.cpp @@ -53,7 +53,7 @@ class npc_attracted_reef_bull : public CreatureScript owner->CastSpell(owner, 44463, true); } } - + void SpellHit(Unit* caster, const SpellInfo* spellInfo) { if (caster && spellInfo->Id == 44454) @@ -93,9 +93,9 @@ class npc_your_inner_turmoil : public CreatureScript setphase(phase); timer = 0; } - + timer += diff; - + DoMeleeAttackIfReady(); } @@ -326,7 +326,7 @@ class npc_razael_and_lyana : public CreatureScript public: npc_razael_and_lyana() : CreatureScript("npc_razael_and_lyana") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); @@ -337,35 +337,35 @@ class npc_razael_and_lyana : public CreatureScript case NPC_RAZAEL: if (!player->GetReqKillOrCastCurrentCount(QUEST_REPORTS_FROM_THE_FIELD, NPC_RAZAEL)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_RAZAEL_REPORT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_RAZAEL1, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_RAZAEL_REPORT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, GOSSIP_TEXTID_RAZAEL1, creature->GetGUID()); return true; } break; case NPC_LYANA: if (!player->GetReqKillOrCastCurrentCount(QUEST_REPORTS_FROM_THE_FIELD, NPC_LYANA)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LYANA_REPORT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_LYANA1, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LYANA_REPORT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + SendGossipMenuFor(player, GOSSIP_TEXTID_LYANA1, creature->GetGUID()); return true; } break; } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: - player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_RAZAEL2, creature->GetGUID()); + SendGossipMenuFor(player, GOSSIP_TEXTID_RAZAEL2, creature->GetGUID()); player->TalkedToCreature(NPC_RAZAEL, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: - player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_LYANA2, creature->GetGUID()); + SendGossipMenuFor(player, GOSSIP_TEXTID_LYANA2, creature->GetGUID()); player->TalkedToCreature(NPC_LYANA, creature->GetGUID()); break; } diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp index 4dd52fc6127095..44ae26cc8d9c48 100644 --- a/src/server/scripts/Northrend/zone_icecrown.cpp +++ b/src/server/scripts/Northrend/zone_icecrown.cpp @@ -123,8 +123,8 @@ class npc_battle_at_valhalas : public CreatureScript me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); } - void JustSummoned(Creature* creature) - { + void JustSummoned(Creature* creature) + { summons.Summon(creature); if (creature->GetEntry() != NPC_PRINCE) if (Player* player = ObjectAccessor::GetPlayer(*me, playerGUID)) @@ -191,7 +191,7 @@ class npc_battle_at_valhalas : public CreatureScript me->MonsterYell("Khit'rix the Dark Master has been defeated by $N and his band of companions. Let the next challenge be issued!", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID)); break; case QUEST_BFV_SIGRID: - me->MonsterYell("$N has defeated Sigrid Iceborn for a second time. Well, this time he did it with the help of his friends, but a win is a win!", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID)); + me->MonsterYell("$N has defeated Sigrid Iceborn for a second time. Well, this time he did it with the help of his friends, but a win is a win!", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID)); break; case QUEST_BFV_CARNAGE: me->MonsterYell("The horror known as Carnage is no more. Could it be that $N is truly worthy of battle in Valhalas? We shall see.", LANG_UNIVERSAL, ObjectAccessor::GetPlayer(*me, playerGUID)); @@ -368,7 +368,7 @@ class npc_llod_generic : public CreatureScript CombatAI::Reset(); } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) { attackTimer += diff; if (attackTimer >= 1500) @@ -459,7 +459,7 @@ class npc_lord_arete : public CreatureScript { _landgrenGUID = 0; _landgrenSoulGUID = 0; - + events.Reset(); events.RescheduleEvent(EVENT_START, 1000); me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); @@ -617,7 +617,7 @@ class npc_boneguard_footman : public CreatureScript } } } - + ScriptedAI::UpdateAI(diff); } }; @@ -666,9 +666,9 @@ class npc_tirions_gambit_tirion : public CreatureScript public: npc_tirions_gambit_tirion(): CreatureScript("npc_tirions_gambit_tirion"){} - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) override { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->AI()->DoAction(ACTION_START_EVENT); return true; } @@ -682,20 +682,19 @@ class npc_tirions_gambit_tirion : public CreatureScript EventMap events; SummonList summons; - void Reset() + void Reset() override { me->setActive(false); me->SetStandState(UNIT_STAND_STATE_STAND); } - void SetData(uint32 type, uint32 data) + void SetData(uint32 type, uint32 data) override { if (type == 1 && data == 1) events.ScheduleEvent(EVENT_SCENE_0+30, 10000); } - - void DoAction(int32 param) + void DoAction(int32 param) override { if (param == ACTION_START_EVENT) { @@ -718,7 +717,7 @@ class npc_tirions_gambit_tirion : public CreatureScript } } - void JustSummoned(Creature* summon) + void JustSummoned(Creature* summon) override { summons.Summon(summon); if (summon->GetEntry() == NPC_CHOSEN_ZEALOT || summon->GetEntry() == NPC_TIRION_LICH_KING) @@ -731,12 +730,12 @@ class npc_tirions_gambit_tirion : public CreatureScript } } - void SummonedCreatureDespawn(Creature* summon) + void SummonedCreatureDespawn(Creature* summon) override { summons.Despawn(summon); } - void WaypointReached(uint32 pointId) + void WaypointReached(uint32 pointId) override { switch (pointId) { @@ -797,7 +796,7 @@ class npc_tirions_gambit_tirion : public CreatureScript } } - void UpdateEscortAI(uint32 diff) + void UpdateEscortAI(uint32 diff) override { events.Update(diff); switch (events.ExecuteEvent()) @@ -1016,7 +1015,7 @@ class npc_tirions_gambit_tirion : public CreatureScript } }; - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_tirions_gambit_tirionAI(creature); } @@ -1123,7 +1122,7 @@ class spell_charge_shield_bomber : public SpellScriptLoader Aura* aura = ship->GetAura(SPELL_INFRA_GREEN_SHIELD); if (!aura) return; - + aura->ModStackAmount(GetEffectValue() - 1); } @@ -1304,7 +1303,7 @@ class npc_infra_green_bomber_generic : public CreatureScript me->MonsterTextEmote("Your Vehicle is burning!", GetSummoner(), true); passenger->AddAura(SPELL_BURNING, passenger); } - + for (uint8 seat = 3; seat <= 5; ++seat) if (Unit* banner = kit->GetPassenger(seat)) if (!banner->HasAura(SPELL_COSMETIC_FIRE)) @@ -1373,7 +1372,7 @@ class npc_infra_green_bomber_generic : public CreatureScript if (Unit* banner = kit->GetPassenger(seat)) if (banner->HasAura(SPELL_COSMETIC_FIRE)) fireCount++; - + if (fireCount) Unit::DealDamage(me, me, 3000*fireCount, NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_FIRE); else // Heal diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp index 2770d96b9da624..29107f999e4b4e 100644 --- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp +++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp @@ -155,7 +155,7 @@ class npc_artruis_the_hearthless : public CreatureScript events.RescheduleEvent(EVENT_ARTRUIS_HP_CHECK, 1000); events.RescheduleEvent(EVENT_ARTRUIS_TALK1, 6000); } - + void JustDied(Unit* /*killer*/) { if (GameObject* go = me->SummonGameObject(GO_ARTRUIS_PHYLACTERY, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 600000)) @@ -312,7 +312,7 @@ class npc_still_at_it_trigger : public CreatureScript uint8 playeraction; npc_still_at_it_triggerAI(Creature* pCreature) : NullCreatureAI(pCreature) {} - + void Reset() { running = false; @@ -357,7 +357,7 @@ class npc_still_at_it_trigger : public CreatureScript { currentstep++; uint8 s = urand(0,2); - + if (Creature* th = ObjectAccessor::GetCreature(*me, thunderbrewGUID)) th->HandleEmoteCommand(EMOTE_ONESHOT_CHEER_NO_SHEATHE); @@ -447,7 +447,7 @@ class npc_mcmanus : public CreatureScript public: npc_mcmanus() : CreatureScript("npc_mcmanus") {} - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (!player) return true; @@ -456,13 +456,13 @@ class npc_mcmanus : public CreatureScript player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(12644) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "I'm ready to start the distillation, uh, Tipsy.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "I'm ready to start the distillation, uh, Tipsy.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { if (!player) return true; @@ -479,7 +479,7 @@ class npc_mcmanus : public CreatureScript } } - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); return true; } }; @@ -489,7 +489,7 @@ class go_pressure_valve : public GameObjectScript public: go_pressure_valve() : GameObjectScript("go_pressure_valve") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (!player) return true; @@ -508,7 +508,7 @@ class go_brazier : public GameObjectScript public: go_brazier() : GameObjectScript("go_brazier") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (!player) return true; @@ -585,33 +585,33 @@ class npc_vekjik : public CreatureScript public: npc_vekjik() : CreatureScript("npc_vekjik") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(QUEST_MAKING_PEACE) == QUEST_STATUS_INCOMPLETE) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_VEKJIK_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_VEKJIK1, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_VEKJIK_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + SendGossipMenuFor(player, GOSSIP_TEXTID_VEKJIK1, creature->GetGUID()); return true; } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_VEKJIK_ITEM2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_VEKJIK2, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_VEKJIK_ITEM2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, GOSSIP_TEXTID_VEKJIK2, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF+2: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->AI()->Talk(SAY_TEXTID_VEKJIK1, player); player->AreaExploredOrEventHappens(QUEST_MAKING_PEACE); //creature->CastSpell(player, SPELL_FREANZYHEARTS_FURY, true); @@ -647,34 +647,34 @@ class npc_avatar_of_freya : public CreatureScript public: npc_avatar_of_freya() : CreatureScript("npc_avatar_of_freya") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(QUEST_FREYA_PACT) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_AOF1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AOF1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->PlayerTalkClass->SendGossipMenu(GOSSIP_TEXTID_AVATAR1, creature->GetGUID()); + SendGossipMenuFor(player, GOSSIP_TEXTID_AVATAR1, creature); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_AOF2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->PlayerTalkClass->SendGossipMenu(GOSSIP_TEXTID_AVATAR2, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AOF2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, GOSSIP_TEXTID_AVATAR2, creature); break; case GOSSIP_ACTION_INFO_DEF+2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_AOF3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); - player->PlayerTalkClass->SendGossipMenu(GOSSIP_TEXTID_AVATAR3, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AOF3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3); + SendGossipMenuFor(player, GOSSIP_TEXTID_AVATAR3, creature); break; case GOSSIP_ACTION_INFO_DEF+3: player->CastSpell(player, SPELL_FREYA_CONVERSATION, true); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); break; } return true; @@ -1074,32 +1074,32 @@ class npc_adventurous_dwarf : public CreatureScript } }; - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_adventurous_dwarfAI(creature); } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_12634) != QUEST_STATUS_INCOMPLETE) return false; if (player->GetItemCount(ITEM_ORANGE) < 1) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_OPTION_ORANGE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_OPTION_ORANGE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); if (player->GetItemCount(ITEM_BANANAS) < 2) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_OPTION_BANANAS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_OPTION_BANANAS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); if (player->GetItemCount(ITEM_PAPAYA) < 1) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_OPTION_PAPAYA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_OPTION_PAPAYA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - player->PlayerTalkClass->SendGossipMenu(GOSSIP_MENU_DWARF, creature->GetGUID()); + SendGossipMenuFor(player, GOSSIP_MENU_DWARF, creature); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); uint32 spellId = 0; switch (action) diff --git a/src/server/scripts/Northrend/zone_storm_peaks.cpp b/src/server/scripts/Northrend/zone_storm_peaks.cpp index 9657afa9b38d5e..e23720e4a498b1 100644 --- a/src/server/scripts/Northrend/zone_storm_peaks.cpp +++ b/src/server/scripts/Northrend/zone_storm_peaks.cpp @@ -122,7 +122,7 @@ class npc_iron_watcher : public CreatureScript uint32 hpTimer; bool charging; - void Reset() + void Reset() { spellTimer = 0; hpTimer = 0; @@ -244,12 +244,12 @@ class npc_time_lost_proto_drake : public CreatureScript { events.Reset(); if (me->GetEntry() == NPC_TIME_LOST_PROTO_DRAKE) - { + { events.ScheduleEvent(SPELL_TIME_SHIFT, 10000); events.ScheduleEvent(SPELL_TIME_LAPSE, 5000); } else - { + { events.ScheduleEvent(SPELL_FROST_BREATH, 8000); events.ScheduleEvent(SPELL_FROST_CLEAVE, 5000); } @@ -344,7 +344,7 @@ class npc_wild_wyrm : public CreatureScript ScriptedAI::EnterEvadeMode(); } - void Reset() + void Reset() { me->SetRegeneratingHealth(true); me->SetSpeed(MOVE_RUN, 1.14f, true); // ZOMG! @@ -470,7 +470,7 @@ class npc_wild_wyrm : public CreatureScript if (setCharm) { setCharm = false; - + if (Player* charmer = GetValidPlayer()) { me->setFaction(16); @@ -747,7 +747,7 @@ class npc_injured_goblin : public CreatureScript { if (sender == GOSSIP_ID && action == GOSSIP_OPTION_ID) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); me->setFaction(113); npc_escortAI::Start(true, true, player->GetGUID()); } @@ -783,7 +783,7 @@ class npc_roxi_ramrocket : public CreatureScript public: npc_roxi_ramrocket() : CreatureScript("npc_roxi_ramrocket") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { //Quest Menu if (creature->IsQuestGiver()) @@ -791,20 +791,20 @@ class npc_roxi_ramrocket : public CreatureScript //Trainer Menu if ( creature->IsTrainer() ) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN); + AddGossipItemFor(player, GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN); //Vendor Menu if ( creature->IsVendor() ) if (player->HasSpell(SPELL_MECHANO_HOG) || player->HasSpell(SPELL_MEKGINEERS_CHOPPER)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_TRAIN: diff --git a/src/server/scripts/Northrend/zone_wintergrasp.cpp b/src/server/scripts/Northrend/zone_wintergrasp.cpp index 00647069c96735..1400c6c3ddf775 100644 --- a/src/server/scripts/Northrend/zone_wintergrasp.cpp +++ b/src/server/scripts/Northrend/zone_wintergrasp.cpp @@ -130,7 +130,7 @@ class npc_wg_demolisher_engineer : public CreatureScript public: npc_wg_demolisher_engineer() : CreatureScript("npc_wg_demolisher_engineer") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); @@ -138,24 +138,24 @@ class npc_wg_demolisher_engineer : public CreatureScript if (canBuild(creature)) { if (player->HasAura(SPELL_CORPORAL)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_DEMO1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HELLO_DEMO1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); else if (player->HasAura(SPELL_LIEUTENANT)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_DEMO1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_DEMO2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_DEMO3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HELLO_DEMO1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HELLO_DEMO2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HELLO_DEMO3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); } } else - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_DEMO4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HELLO_DEMO4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender */ , uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender */ , uint32 action) override { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (canBuild(creature)) { @@ -200,7 +200,7 @@ class npc_wg_spirit_guide : public CreatureScript public: npc_wg_spirit_guide() : CreatureScript("npc_wg_spirit_guide") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); @@ -212,15 +212,15 @@ class npc_wg_spirit_guide : public CreatureScript GraveyardVect graveyard = wintergrasp->GetGraveyardVector(); for (uint8 i = 0; i < graveyard.size(); i++) if (graveyard[i]->GetControlTeamId() == player->GetTeamId()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, sObjectMgr->GetTrinityStringForDBCLocale(((BfGraveyardWG*)graveyard[i])->GetTextId()), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + i); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, sObjectMgr->GetTrinityStringForDBCLocale(((BfGraveyardWG*)graveyard[i])->GetTextId()), GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + i); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* /*creature */ , uint32 /*sender */ , uint32 action) + bool OnGossipSelect(Player* player, Creature* /*creature */ , uint32 /*sender */ , uint32 action) override { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG); if (wintergrasp) @@ -241,14 +241,14 @@ class npc_wg_spirit_guide : public CreatureScript me->setActive(true); } - void UpdateAI(uint32 /* diff */) + void UpdateAI(uint32 /*diff*/) override { if (!me->HasUnitState(UNIT_STATE_CASTING)) DoCast(me, SPELL_CHANNEL_SPIRIT_HEAL); } }; - CreatureAI *GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_wg_spirit_guideAI(creature); } @@ -274,7 +274,7 @@ class npc_wg_queue : public CreatureScript public: npc_wg_queue() : CreatureScript("npc_wg_queue") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (!sWorld->getBoolConfig(CONFIG_MINIGOB_MANABONK)) return false; @@ -288,8 +288,8 @@ class npc_wg_queue : public CreatureScript if (wintergrasp->IsWarTime()) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT_19, "Queue for Wintergrasp.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(wintergrasp->GetDefenderTeam()? WG_NPCQUEUE_TEXT_H_WAR : WG_NPCQUEUE_TEXT_A_WAR, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT_19, "Queue for Wintergrasp.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + SendGossipMenuFor(player, wintergrasp->GetDefenderTeam()? WG_NPCQUEUE_TEXT_H_WAR : WG_NPCQUEUE_TEXT_A_WAR, creature->GetGUID()); } else { @@ -297,18 +297,18 @@ class npc_wg_queue : public CreatureScript player->SendUpdateWorldState(4354, time(NULL) + timer); if (timer < 15 * MINUTE) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Queue for Wintergrasp.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(wintergrasp->GetDefenderTeam() ? WG_NPCQUEUE_TEXT_H_QUEUE : WG_NPCQUEUE_TEXT_A_QUEUE, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Queue for Wintergrasp.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + SendGossipMenuFor(player, wintergrasp->GetDefenderTeam() ? WG_NPCQUEUE_TEXT_H_QUEUE : WG_NPCQUEUE_TEXT_A_QUEUE, creature->GetGUID()); } else - player->SEND_GOSSIP_MENU(wintergrasp->GetDefenderTeam() ? WG_NPCQUEUE_TEXT_H_NOWAR : WG_NPCQUEUE_TEXT_A_NOWAR, creature->GetGUID()); + SendGossipMenuFor(player, wintergrasp->GetDefenderTeam() ? WG_NPCQUEUE_TEXT_H_NOWAR : WG_NPCQUEUE_TEXT_A_NOWAR, creature->GetGUID()); } return true; } - bool OnGossipSelect(Player* player, Creature* /*creature */ , uint32 /*sender */ , uint32 /*action*/) + bool OnGossipSelect(Player* player, Creature* /*creature */ , uint32 /*sender */ , uint32 /*action*/) override { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); Battlefield* wintergrasp = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG); if (!wintergrasp) @@ -339,7 +339,7 @@ class npc_wg_queue : public CreatureScript EventMap events; - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { if (CONFIG_WINTERGRASP_ENABLE == false) return; @@ -382,7 +382,7 @@ class npc_wg_queue : public CreatureScript } }; - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_wg_queueAI(creature); } @@ -393,7 +393,7 @@ class npc_wg_quest_giver : public CreatureScript public: npc_wg_quest_giver() : CreatureScript("npc_wg_quest_giver") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); @@ -566,12 +566,12 @@ class npc_wg_quest_giver : public CreatureScript } } } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - uint32 GetDialogStatus(Player* player, Creature* creature) - { + uint32 GetDialogStatus(Player* player, Creature* creature) override + { QuestRelationBounds qr = sObjectMgr->GetCreatureQuestRelationBounds(creature->GetEntry()); QuestRelationBounds qir = sObjectMgr->GetCreatureQuestInvolvedRelationBounds(creature->GetEntry()); QuestGiverStatus result = DIALOG_STATUS_NONE; @@ -768,7 +768,7 @@ class go_wg_vehicle_teleporter : public GameObjectScript if (IsFriendly(passenger)) if (Creature* teleportTrigger = passenger->SummonTrigger(go->GetPositionX()-60.0f, go->GetPositionY(), go->GetPositionZ()+1.0f, cVeh->GetOrientation(), 1000)) return teleportTrigger; - + return NULL; } diff --git a/src/server/scripts/Northrend/zone_zuldrak.cpp b/src/server/scripts/Northrend/zone_zuldrak.cpp index ed50f312160f7c..7f5d8af04f046f 100644 --- a/src/server/scripts/Northrend/zone_zuldrak.cpp +++ b/src/server/scripts/Northrend/zone_zuldrak.cpp @@ -162,7 +162,7 @@ class npc_finklestein : public CreatureScript }; - bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) + bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) override { if (quest->GetQuestId() == QUEST_ALCHEMIST_APPRENTICE) if (creature->AI() && CAST_AI(npc_finklestein::npc_finklesteinAI, creature->AI())) @@ -171,31 +171,31 @@ class npc_finklestein : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); if (player->GetQuestStatus(QUEST_ALCHEMIST_APPRENTICE) == QUEST_STATUS_INCOMPLETE) { if (creature->AI() && CAST_AI(npc_finklestein::npc_finklesteinAI, creature->AI())) if (!CAST_AI(npc_finklestein::npc_finklesteinAI, creature->AI())->IsPlayerOnTask(player->GetGUID())) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "I'm ready to begin. What is the first ingredient you require?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "I'm ready to begin. What is the first ingredient you require?", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); } return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (uiAction == GOSSIP_ACTION_INFO_DEF+1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (creature->AI() && CAST_AI(npc_finklestein::npc_finklesteinAI, creature->AI())) CAST_AI(npc_finklestein::npc_finklesteinAI, creature->AI())->StartNextTask(player->GetGUID(), 1); } @@ -203,7 +203,7 @@ class npc_finklestein : public CreatureScript return true; } - CreatureAI *GetAI(Creature* creature) const + CreatureAI *GetAI(Creature* creature) const override { return new npc_finklesteinAI(creature); } @@ -214,7 +214,7 @@ class go_finklestein_cauldron : public GameObjectScript public: go_finklestein_cauldron() : GameObjectScript("go_finklestein_cauldron") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { Creature* finklestein = go->FindNearestCreature(NPC_FINKLESTEIN, 30.0f, true); if (finklestein && finklestein->AI()) @@ -580,7 +580,7 @@ class npc_overlord_drakuru_betrayal : public CreatureScript playerGUID = 0; EnterEvadeMode(); break; - + } if (me->getFaction() == 35 || me->HasUnitState(UNIT_STATE_CASTING|UNIT_STATE_STUNNED)) @@ -856,7 +856,7 @@ class npc_crusade_recruit : public CreatureScript void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) { _events.ScheduleEvent(EVENT_RECRUIT_1, 100); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); me->CastSpell(player, SPELL_QUEST_CREDIT, true); me->SetFacingToObject(player); } @@ -889,7 +889,7 @@ class go_scourge_enclosure : public GameObjectScript public: go_scourge_enclosure() : GameObjectScript("go_scourge_enclosure") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { go->UseDoorOrButton(); if (player->GetQuestStatus(QUEST_OUR_ONLY_HOPE) == QUEST_STATUS_INCOMPLETE) diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index a98fb8267d0da3..4a71734c2a7152 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -793,7 +793,7 @@ class npc_akama_illidan : public CreatureScript void sGossipSelect(Player* player, uint32 /*sender*/, uint32 /*action*/) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_NONE); me->setActive(true); diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp index 62b9b931fd57f4..9caa32f43105e7 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp @@ -411,7 +411,7 @@ class npc_akama_shade : public CreatureScript { if (action == 0) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); events2.ScheduleEvent(EVENT_AKAMA_START_ENCOUNTER, 0); } diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp index 2a334be373650b..973a94611beb21 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp @@ -184,7 +184,7 @@ class boss_the_lurker_below : public CreatureScript } } - if (target) + if (target) me->AttackerStateUpdate(target); else if ((target = SelectTarget(SELECT_TARGET_RANDOM, 0))) me->CastSpell(target, SPELL_WATER_BOLT, false); @@ -199,7 +199,7 @@ class go_strange_pool : public GameObjectScript public: go_strange_pool() : GameObjectScript("go_strange_pool") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (InstanceScript* instance = go->GetInstanceScript()) if (roll_chance_i(instance->GetBossState(DATA_THE_LURKER_BELOW) != DONE ? 25 : 0) && !instance->IsEncounterInProgress()) diff --git a/src/server/scripts/Outland/CoilfangReservoir/SlavePens/boss_ahune.cpp b/src/server/scripts/Outland/CoilfangReservoir/SlavePens/boss_ahune.cpp index 2cceff0aa2bdf1..7d4638777449a5 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SlavePens/boss_ahune.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SlavePens/boss_ahune.cpp @@ -318,46 +318,46 @@ class go_ahune_ice_stone : public GameObjectScript public: go_ahune_ice_stone() : GameObjectScript("go_ahune_ice_stone") { } - bool OnGossipHello(Player *pPlayer, GameObject *pGO) + bool OnGossipHello(Player* player, GameObject* go) override { - if (!pPlayer || !pGO) + if (!player || !go) return true; - if (!pPlayer->HasItemCount(ITEM_MAGMA_TOTEM)) + if (!player->HasItemCount(ITEM_MAGMA_TOTEM)) return true; - if (pGO->FindNearestCreature(NPC_AHUNE, 200.0f, true)) + if (go->FindNearestCreature(NPC_AHUNE, 200.0f, true)) return true; - pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Disturb the stone and summon Lord Ahune.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1337); - pPlayer->SEND_GOSSIP_MENU(GOSSIP_TEXT_ID, pGO->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Disturb the stone and summon Lord Ahune.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1337); + SendGossipMenuFor(player, GOSSIP_TEXT_ID, go->GetGUID()); return true; } - bool OnGossipSelect(Player *pPlayer, GameObject *pGO, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) override { - if (!pPlayer || !pGO) + if (!player || !go) return true; if (action != GOSSIP_ACTION_INFO_DEF+1337) return true; - if (!pPlayer->HasItemCount(ITEM_MAGMA_TOTEM)) + if (!player->HasItemCount(ITEM_MAGMA_TOTEM)) return true; - if (pGO->FindNearestCreature(NPC_AHUNE, 200.0f, true)) + if (go->FindNearestCreature(NPC_AHUNE, 200.0f, true)) return true; - if (Creature* c = pGO->SummonCreature(NPC_AHUNE, AhuneSummonPos, TEMPSUMMON_MANUAL_DESPAWN)) + if (Creature* c = go->SummonCreature(NPC_AHUNE, AhuneSummonPos, TEMPSUMMON_MANUAL_DESPAWN)) { - pPlayer->DestroyItemCount(ITEM_MAGMA_TOTEM, 1, true, false); - pPlayer->AreaExploredOrEventHappens(QUEST_SUMMON_AHUNE); // auto rewarded + player->DestroyItemCount(ITEM_MAGMA_TOTEM, 1, true, false); + player->AreaExploredOrEventHappens(QUEST_SUMMON_AHUNE); // auto rewarded c->SetVisible(false); c->SetDisplayId(AHUNE_DEFAULT_MODEL); c->SetFloatValue(UNIT_FIELD_COMBATREACH, 18.0f); - CAST_AI(boss_ahune::boss_ahuneAI, c->AI())->InvokerGUID = pPlayer->GetGUID(); - if (Creature* bunny = pGO->SummonCreature(NPC_AHUNE_SUMMON_LOC_BUNNY, AhuneSummonPos, TEMPSUMMON_TIMED_DESPAWN, 12000)) - if (Creature* crystal_trigger = pGO->SummonCreature(WORLD_TRIGGER, pGO->GetPositionX(), pGO->GetPositionY(), 5.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 12000)) + CAST_AI(boss_ahune::boss_ahuneAI, c->AI())->InvokerGUID = player->GetGUID(); + if (Creature* bunny = go->SummonCreature(NPC_AHUNE_SUMMON_LOC_BUNNY, AhuneSummonPos, TEMPSUMMON_TIMED_DESPAWN, 12000)) + if (Creature* crystal_trigger = go->SummonCreature(WORLD_TRIGGER, go->GetPositionX(), go->GetPositionY(), 5.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 12000)) crystal_trigger->CastSpell(bunny, SPELL_STARTING_BEAM, false); } - pPlayer->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); return true; } }; diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp index fb3dd1da97b7d9..60c9086f4ccf07 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp @@ -11,7 +11,7 @@ class go_main_chambers_access_panel : public GameObjectScript public: go_main_chambers_access_panel() : GameObjectScript("go_main_chambers_access_panel") { } - bool OnGossipHello(Player* /*player*/, GameObject* go) + bool OnGossipHello(Player* /*player*/, GameObject* go) override { InstanceScript* instance = go->GetInstanceScript(); if (!instance) diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp index c21c3ef53562dd..bb8cd3aa5280a1 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp @@ -90,7 +90,7 @@ class boss_broggok : public CreatureScript me->CastSpell(me, SPELL_POISON_CLOUD, false); events.RepeatEvent(20000); break; - + } DoMeleeAttackIfReady(); @@ -138,7 +138,7 @@ class go_broggok_lever : public GameObjectScript public: go_broggok_lever() : GameObjectScript("go_broggok_lever") {} - bool OnGossipHello(Player* /*player*/, GameObject* go) + bool OnGossipHello(Player* /*player*/, GameObject* go) override { if (InstanceScript* instance = go->GetInstanceScript()) if (instance->GetData(DATA_BROGGOK) != DONE && instance->GetData(DATA_BROGGOK) != IN_PROGRESS) diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp index 531c1765532776..9b140482d79fc0 100644 --- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp @@ -890,7 +890,7 @@ class go_simon_cluster : public GameObjectScript public: go_simon_cluster() : GameObjectScript("go_simon_cluster") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (Creature* bunny = go->FindNearestCreature(NPC_SIMON_BUNNY, 12.0f, true)) bunny->AI()->SetData(go->GetEntry(), 0); @@ -916,16 +916,16 @@ class go_apexis_relic : public GameObjectScript public: go_apexis_relic() : GameObjectScript("go_apexis_relic") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { player->PrepareGossipMenu(go, go->GetGOInfo()->questgiver.gossipID); player->SendPreparedGossip(go); return true; } - bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 /*action*/) + bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 /*action*/) override { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); bool large = (go->GetEntry() == GO_APEXIS_MONUMENT); if (player->HasItemCount(ITEM_APEXIS_SHARD, large ? 35 : 1)) diff --git a/src/server/scripts/Outland/zone_nagrand.cpp b/src/server/scripts/Outland/zone_nagrand.cpp index ac10202de81561..a3d667630a85df 100644 --- a/src/server/scripts/Outland/zone_nagrand.cpp +++ b/src/server/scripts/Outland/zone_nagrand.cpp @@ -276,42 +276,43 @@ enum CorkiData class go_corkis_prison : public GameObjectScript { public: - go_corkis_prison() : GameObjectScript("go_corkis_prison") { } + go_corkis_prison() : GameObjectScript("go_corkis_prison") { } - bool OnGossipHello(Player* player, GameObject* go) - { - go->SetGoState(GO_STATE_READY); - if (go->GetEntry() == GO_CORKIS_PRISON) - { - if (Creature* corki = go->FindNearestCreature(NPC_CORKI, 25, true)) - { - corki->GetMotionMaster()->MovePoint(1, go->GetPositionX()+5, go->GetPositionY(), go->GetPositionZ()); - if (player) - player->KilledMonsterCredit(NPC_CORKI_CREDIT_1, 0); - } - } + bool OnGossipHello(Player* player, GameObject* go) override + { + go->SetGoState(GO_STATE_READY); + if (go->GetEntry() == GO_CORKIS_PRISON) + { + if (Creature* corki = go->FindNearestCreature(NPC_CORKI, 25, true)) + { + corki->GetMotionMaster()->MovePoint(1, go->GetPositionX()+5, go->GetPositionY(), go->GetPositionZ()); + if (player) + player->KilledMonsterCredit(NPC_CORKI_CREDIT_1, 0); + } + } - if (go->GetEntry() == GO_CORKIS_PRISON_2) - { - if (Creature* corki = go->FindNearestCreature(NPC_CORKI_2, 25, true)) - { - corki->GetMotionMaster()->MovePoint(1, go->GetPositionX()-5, go->GetPositionY(), go->GetPositionZ()); - if (player) - player->KilledMonsterCredit(NPC_CORKI_2, 0); - } - } + if (go->GetEntry() == GO_CORKIS_PRISON_2) + { + if (Creature* corki = go->FindNearestCreature(NPC_CORKI_2, 25, true)) + { + corki->GetMotionMaster()->MovePoint(1, go->GetPositionX()-5, go->GetPositionY(), go->GetPositionZ()); + if (player) + player->KilledMonsterCredit(NPC_CORKI_2, 0); + } + } - if (go->GetEntry() == GO_CORKIS_PRISON_3) - { - if (Creature* corki = go->FindNearestCreature(NPC_CORKI_3, 25, true)) - { - corki->GetMotionMaster()->MovePoint(1, go->GetPositionX()+4, go->GetPositionY(), go->GetPositionZ()); - if (player) - player->KilledMonsterCredit(NPC_CORKI_CREDIT_3, 0); - } - } - return true; - } + if (go->GetEntry() == GO_CORKIS_PRISON_3) + { + if (Creature* corki = go->FindNearestCreature(NPC_CORKI_3, 25, true)) + { + corki->GetMotionMaster()->MovePoint(1, go->GetPositionX()+4, go->GetPositionY(), go->GetPositionZ()); + if (player) + player->KilledMonsterCredit(NPC_CORKI_CREDIT_3, 0); + } + } + + return true; + } }; class npc_corki : public CreatureScript @@ -567,24 +568,26 @@ enum FindingTheSurvivorsData class go_warmaul_prison : public GameObjectScript { - public: - go_warmaul_prison() : GameObjectScript("go_warmaul_prison") { } +public: + go_warmaul_prison() : GameObjectScript("go_warmaul_prison") { } - bool OnGossipHello(Player* player, GameObject* go) - { - go->UseDoorOrButton(); - if (player->GetQuestStatus(QUEST_FINDING_THE_SURVIVORS) != QUEST_STATUS_INCOMPLETE) - return false; + bool OnGossipHello(Player* player, GameObject* go) override + { + go->UseDoorOrButton(); + + if (player->GetQuestStatus(QUEST_FINDING_THE_SURVIVORS) != QUEST_STATUS_INCOMPLETE) + return false; - if (Creature* prisoner = go->FindNearestCreature(NPC_MAGHAR_PRISONER, 5.0f)) - { - player->KilledMonsterCredit(NPC_MAGHAR_PRISONER, 0); + if (Creature* prisoner = go->FindNearestCreature(NPC_MAGHAR_PRISONER, 5.0f)) + { + player->KilledMonsterCredit(NPC_MAGHAR_PRISONER, 0); - prisoner->AI()->Talk(SAY_FREE, player); - prisoner->DespawnOrUnsummon(6000); - } - return true; + prisoner->AI()->Talk(SAY_FREE, player); + prisoner->DespawnOrUnsummon(6000); } + + return true; + } }; void AddSC_nagrand() diff --git a/src/server/scripts/Outland/zone_netherstorm.cpp b/src/server/scripts/Outland/zone_netherstorm.cpp index 37f55530831286..7b0536a3b2d300 100644 --- a/src/server/scripts/Outland/zone_netherstorm.cpp +++ b/src/server/scripts/Outland/zone_netherstorm.cpp @@ -53,12 +53,7 @@ enum saeed class npc_captain_saeed : public CreatureScript { public: - npc_captain_saeed() : CreatureScript("npc_captain_saeed") { } - - CreatureAI* GetAI(Creature* creature) const - { - return new npc_captain_saeedAI(creature); - } + npc_captain_saeed() : CreatureScript("npc_captain_saeed") { } struct npc_captain_saeedAI : public npc_escortAI { @@ -68,7 +63,7 @@ class npc_captain_saeed : public CreatureScript EventMap events; bool started, fight; - void Reset() + void Reset() override { if (!summons.empty()) { @@ -87,7 +82,7 @@ class npc_captain_saeed : public CreatureScript me->RestoreFaction(); } - void MoveInLineOfSight(Unit* who) + void MoveInLineOfSight(Unit* who) override { if (Player* player = GetPlayerForEscort()) if (me->GetDistance(who) < 10.0f && !me->GetVictim()) @@ -100,7 +95,7 @@ class npc_captain_saeed : public CreatureScript npc_escortAI::MoveInLineOfSight(who); } - void SetGUID(uint64 playerGUID, int32 type) + void SetGUID(uint64 playerGUID, int32 type) override { if (type == DATA_START_ENCOUNTER) { @@ -137,7 +132,7 @@ class npc_captain_saeed : public CreatureScript } } - void EnterEvadeMode() + void EnterEvadeMode() override { if (fight) SetEscortPaused(false); @@ -165,7 +160,7 @@ class npc_captain_saeed : public CreatureScript } } - void WaypointReached(uint32 i) + void WaypointReached(uint32 i) override { Player* player = GetPlayerForEscort(); if (!player) @@ -188,12 +183,12 @@ class npc_captain_saeed : public CreatureScript } } - void EnterCombat(Unit* who) + void EnterCombat(Unit* who) override { SummonsAction(who); } - void JustDied(Unit* /*killer*/) + void JustDied(Unit* /*killer*/) override { Player* player = GetPlayerForEscort(); if (player) @@ -202,12 +197,12 @@ class npc_captain_saeed : public CreatureScript summons.DespawnAll(); } - void CorpseRemoved(uint32&) + void CorpseRemoved(uint32&) override { summons.DespawnAll(); } - uint32 GetData(uint32 data) const + uint32 GetData(uint32 data) const override { if (data == 1) return (uint32)started; @@ -215,7 +210,7 @@ class npc_captain_saeed : public CreatureScript return 0; } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { npc_escortAI::UpdateAI(diff); @@ -248,10 +243,9 @@ class npc_captain_saeed : public CreatureScript } }; - - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (uiAction == GOSSIP_ACTION_INFO_DEF+1) { creature->AI()->SetGUID(player->GetGUID(), DATA_START_ENCOUNTER); @@ -262,11 +256,11 @@ class npc_captain_saeed : public CreatureScript creature->AI()->SetGUID(player->GetGUID(), DATA_START_FIGHT); } - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); @@ -274,15 +268,20 @@ class npc_captain_saeed : public CreatureScript if (player->GetQuestStatus(QUEST_DIMENSIUS_DEVOURING) == QUEST_STATUS_INCOMPLETE) { if (!creature->AI()->GetData(1)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Let's move out.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Let's move out.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); else - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Let's start the battle.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Let's start the battle.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } + + CreatureAI* GetAI(Creature* creature) const override + { + return new npc_captain_saeedAI(creature); + } }; @@ -603,27 +602,27 @@ class npc_professor_dabiri : public CreatureScript //if (quest->GetQuestId() == QUEST_DIMENSIUS) //creature->AI()->Talk(WHISPER_DABIRI, player); - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) { creature->CastSpell(player, SPELL_PHASE_DISTRUPTOR, false); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (player->GetQuestStatus(QUEST_ON_NETHERY_WINGS) == QUEST_STATUS_INCOMPLETE && !player->HasItemCount(29778)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp index 6860be43e10cfd..b18dabc5f6c7ab 100644 --- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp @@ -94,7 +94,7 @@ class spell_q10563_q10596_to_legion_hold : public SpellScriptLoader class spell_q10563_q10596_to_legion_hold_AuraScript : public AuraScript { PrepareAuraScript(spell_q10563_q10596_to_legion_hold_AuraScript) - + void HandleEffectRemove(AuraEffect const * /*aurEff*/, AuraEffectHandleModes /*mode*/) { if (Player* player = GetTarget()->ToPlayer()) @@ -641,21 +641,21 @@ class npc_drake_dealer_hurlunk : public CreatureScript public: npc_drake_dealer_hurlunk() : CreatureScript("npc_drake_dealer_hurlunk") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_TRADE) player->GetSession()->SendListInventory(creature->GetGUID()); return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsVendor() && player->GetReputationRank(1015) == REP_EXALTED) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } @@ -673,9 +673,9 @@ class npcs_flanis_swiftwing_and_kagrosh : public CreatureScript public: npcs_flanis_swiftwing_and_kagrosh() : CreatureScript("npcs_flanis_swiftwing_and_kagrosh") { } - bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) { ItemPosCountVec dest; @@ -683,7 +683,7 @@ class npcs_flanis_swiftwing_and_kagrosh : public CreatureScript if (msg == EQUIP_ERR_OK) { player->StoreNewItem(dest, 30658, 1, true); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); } } if (action == GOSSIP_ACTION_INFO_DEF+2) @@ -693,20 +693,20 @@ class npcs_flanis_swiftwing_and_kagrosh : public CreatureScript if (msg == EQUIP_ERR_OK) { player->StoreNewItem(dest, 30659, 1, true); - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); } } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(10583) == QUEST_STATUS_INCOMPLETE && !player->HasItemCount(30658, 1, true)) - player->ADD_GOSSIP_ITEM(0, GOSSIP_HSK1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, 0, GOSSIP_HSK1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); if (player->GetQuestStatus(10601) == QUEST_STATUS_INCOMPLETE && !player->HasItemCount(30659, 1, true)) - player->ADD_GOSSIP_ITEM(0, GOSSIP_HSK2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + AddGossipItemFor(player, 0, GOSSIP_HSK2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } diff --git a/src/server/scripts/Outland/zone_shattrath_city.cpp b/src/server/scripts/Outland/zone_shattrath_city.cpp index 71402052d73546..8342b1e7405e40 100644 --- a/src/server/scripts/Outland/zone_shattrath_city.cpp +++ b/src/server/scripts/Outland/zone_shattrath_city.cpp @@ -45,28 +45,28 @@ class npc_raliq_the_drunk : public CreatureScript public: npc_raliq_the_drunk() : CreatureScript("npc_raliq_the_drunk") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->setFaction(FACTION_HOSTILE_RD); creature->AI()->AttackStart(player); } return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_CRACK_SKULLS) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_RALIQ, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_RALIQ, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(9440, creature->GetGUID()); + SendGossipMenuFor(player, 9440, creature->GetGUID()); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_raliq_the_drunkAI(creature); } @@ -81,13 +81,13 @@ class npc_raliq_the_drunk : public CreatureScript uint32 m_uiNormFaction; uint32 Uppercut_Timer; - void Reset() + void Reset() override { Uppercut_Timer = 5000; me->RestoreFaction(); } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) return; @@ -126,7 +126,7 @@ class npc_salsalabim : public CreatureScript public: npc_salsalabim() : CreatureScript("npc_salsalabim") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_10004) == QUEST_STATUS_INCOMPLETE) { @@ -137,12 +137,12 @@ class npc_salsalabim : public CreatureScript { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); } return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_salsalabimAI(creature); } @@ -153,13 +153,13 @@ class npc_salsalabim : public CreatureScript uint32 MagneticPull_Timer; - void Reset() + void Reset() override { MagneticPull_Timer = 15000; me->RestoreFaction(); } - void DamageTaken(Unit* done_by, uint32 &damage, DamageEffectType, SpellSchoolMask) + void DamageTaken(Unit* done_by, uint32 &damage, DamageEffectType, SpellSchoolMask) override { // xinef: some corrections if (done_by) @@ -172,7 +172,7 @@ class npc_salsalabim : public CreatureScript } } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) return; @@ -204,28 +204,28 @@ class npc_shattrathflaskvendors : public CreatureScript public: npc_shattrathflaskvendors() : CreatureScript("npc_shattrathflaskvendors") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_TRADE) player->GetSession()->SendListInventory(creature->GetGUID()); return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->GetEntry() == 23484) { // Aldor vendor if (creature->IsVendor() && (player->GetReputationRank(932) == REP_EXALTED) && (player->GetReputationRank(935) == REP_EXALTED) && (player->GetReputationRank(942) == REP_EXALTED)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->SEND_GOSSIP_MENU(11085, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + SendGossipMenuFor(player, 11085, creature->GetGUID()); } else { - player->SEND_GOSSIP_MENU(11083, creature->GetGUID()); + SendGossipMenuFor(player, 11083, creature->GetGUID()); } } @@ -234,12 +234,12 @@ class npc_shattrathflaskvendors : public CreatureScript // Scryers vendor if (creature->IsVendor() && (player->GetReputationRank(934) == REP_EXALTED) && (player->GetReputationRank(935) == REP_EXALTED) && (player->GetReputationRank(942) == REP_EXALTED)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->SEND_GOSSIP_MENU(11085, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + SendGossipMenuFor(player, 11085, creature->GetGUID()); } else { - player->SEND_GOSSIP_MENU(11084, creature->GetGUID()); + SendGossipMenuFor(player, 11084, creature->GetGUID()); } } @@ -258,21 +258,21 @@ class npc_zephyr : public CreatureScript public: npc_zephyr() : CreatureScript("npc_zephyr") { } - bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) player->CastSpell(player, 37778, false); return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetReputationRank(989) >= REP_REVERED) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HZ, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HZ, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } @@ -427,26 +427,26 @@ class npc_ishanah : public CreatureScript public: npc_ishanah() : CreatureScript("npc_ishanah") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) - player->SEND_GOSSIP_MENU(9458, creature->GetGUID()); + SendGossipMenuFor(player, 9458, creature->GetGUID()); else if (action == GOSSIP_ACTION_INFO_DEF+2) - player->SEND_GOSSIP_MENU(9459, creature->GetGUID()); + SendGossipMenuFor(player, 9459, creature->GetGUID()); return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, ISANAH_GOSSIP_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, ISANAH_GOSSIP_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, ISANAH_GOSSIP_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, ISANAH_GOSSIP_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } diff --git a/src/server/scripts/Outland/zone_terokkar_forest.cpp b/src/server/scripts/Outland/zone_terokkar_forest.cpp index e860ca179dbe2f..88e13e8ac80eb2 100644 --- a/src/server/scripts/Outland/zone_terokkar_forest.cpp +++ b/src/server/scripts/Outland/zone_terokkar_forest.cpp @@ -72,7 +72,7 @@ class spell_q10930_big_bone_worm : public SpellScriptLoader PrepareAuraScript(spell_q10930_big_bone_worm_AuraScript); void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) - { + { if (GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE) return; @@ -524,17 +524,17 @@ class npc_floon : public CreatureScript public: npc_floon() : CreatureScript("npc_floon") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FLOON2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - player->SEND_GOSSIP_MENU(9443, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_FLOON2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + SendGossipMenuFor(player, 9443, creature->GetGUID()); } if (action == GOSSIP_ACTION_INFO_DEF+1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->setFaction(FACTION_HOSTILE_FL); creature->AI()->Talk(SAY_FLOON_ATTACK, player); creature->AI()->AttackStart(player); @@ -542,16 +542,16 @@ class npc_floon : public CreatureScript return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_CRACK_SKULLS) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FLOON1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_FLOON1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(9442, creature->GetGUID()); + SendGossipMenuFor(player, 9442, creature->GetGUID()); return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_floonAI(creature); } @@ -568,7 +568,7 @@ class npc_floon : public CreatureScript uint32 Frostbolt_Timer; uint32 FrostNova_Timer; - void Reset() + void Reset() override { Silence_Timer = 2000; Frostbolt_Timer = 4000; @@ -577,9 +577,9 @@ class npc_floon : public CreatureScript me->setFaction(m_uiNormFaction); } - void EnterCombat(Unit* /*who*/) { } + void EnterCombat(Unit* /*who*/) override { } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) return; @@ -763,9 +763,9 @@ class go_skull_pile : public GameObjectScript public: go_skull_pile() : GameObjectScript("go_skull_pile") { } - bool OnGossipSelect(Player* player, GameObject* go, uint32 sender, uint32 action) + bool OnGossipSelect(Player* player, GameObject* go, uint32 sender, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (sender) { case GOSSIP_SENDER_MAIN: SendActionMenu(player, go, action); break; @@ -773,17 +773,17 @@ class go_skull_pile : public GameObjectScript return true; } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if ((player->GetQuestStatus(11885) == QUEST_STATUS_INCOMPLETE) || player->GetQuestRewardStatus(11885)) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_S_DARKSCREECHER_AKKARAI, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_S_KARROG, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_S_GEZZARAK_THE_HUNTRESS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_S_VAKKIZ_THE_WINDRAGER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_S_DARKSCREECHER_AKKARAI, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_S_KARROG, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_S_GEZZARAK_THE_HUNTRESS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_S_VAKKIZ_THE_WINDRAGER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); } - player->SEND_GOSSIP_MENU(go->GetGOInfo()->questgiver.gossipID, go->GetGUID()); + SendGossipMenuFor(player, go->GetGOInfo()->questgiver.gossipID, go->GetGUID()); return true; } @@ -821,24 +821,24 @@ class npc_slim : public CreatureScript public: npc_slim() : CreatureScript("npc_slim") { } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_TRADE) player->GetSession()->SendListInventory(creature->GetGUID()); return true; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsVendor() && player->GetReputationRank(FACTION_CONSORTIUM) >= REP_FRIENDLY) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->SEND_GOSSIP_MENU(9896, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + SendGossipMenuFor(player, 9896, creature->GetGUID()); } else - player->SEND_GOSSIP_MENU(9895, creature->GetGUID()); + SendGossipMenuFor(player, 9895, creature->GetGUID()); return true; } diff --git a/src/server/scripts/Outland/zone_zangarmarsh.cpp b/src/server/scripts/Outland/zone_zangarmarsh.cpp index 6f632dee2ef6fa..52e95a66c8f86e 100644 --- a/src/server/scripts/Outland/zone_zangarmarsh.cpp +++ b/src/server/scripts/Outland/zone_zangarmarsh.cpp @@ -39,7 +39,7 @@ class npc_natrualist_bite : public CreatureScript public: npc_natrualist_bite() : CreatureScript("npc_natrualist_bite") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { uint32 menuId = creature->AI()->GetData(1) ? 7540 : 7520; player->PrepareGossipMenu(creature, menuId, false); @@ -47,10 +47,10 @@ class npc_natrualist_bite : public CreatureScript return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 /*action*/) override { - player->PlayerTalkClass->ClearMenus(); - player->CLOSE_GOSSIP_MENU(); + ClearGossipMenuFor(player); + CloseGossipMenuFor(player); if (creature->AI()->GetData(1)) { creature->CastSpell(player, SPELL_MARK_OF_BITE, true); @@ -84,7 +84,8 @@ class npc_natrualist_bite : public CreatureScript } uint8 _spoken; - void MoveInLineOfSight(Unit* who) + + void MoveInLineOfSight(Unit* who) override { if (!_spoken && !me->IsHostileTo(who)) { @@ -93,11 +94,19 @@ class npc_natrualist_bite : public CreatureScript } ScriptedAI::MoveInLineOfSight(who); } - void EnterCombat(Unit*) { _spoken = 2; } - uint32 GetData(uint32) const { return _spoken == 2; } + + void EnterCombat(Unit*) override + { + _spoken = 2; + } + + uint32 GetData(uint32) const override + { + return _spoken == 2; + } }; - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_natrualist_biteAI (creature); } @@ -135,24 +144,24 @@ class npcs_ashyen_and_keleth : public CreatureScript public: npcs_ashyen_and_keleth() : CreatureScript("npcs_ashyen_and_keleth") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetReputationRank(942) > REP_NEUTRAL) { if (creature->GetEntry() == NPC_ASHYEN) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BLESS_ASH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BLESS_ASH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); if (creature->GetEntry() == NPC_KELETH) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BLESS_KEL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_BLESS_KEL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+1) { creature->setPowerType(POWER_MANA); @@ -214,7 +223,7 @@ class npcs_ashyen_and_keleth : public CreatureScript creature->AI()->Talk(GOSSIP_REWARD_BLESS); } } - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->TalkedToCreature(creature->GetEntry(), creature->GetGUID()); } return true; @@ -249,16 +258,16 @@ class npc_cooshcoosh : public CreatureScript uint32 m_uiNormFaction; uint32 LightningBolt_Timer; - void Reset() + void Reset() override { LightningBolt_Timer = 2000; if (me->getFaction() != m_uiNormFaction) me->setFaction(m_uiNormFaction); } - void EnterCombat(Unit* /*who*/) { } + void EnterCombat(Unit* /*who*/) override { } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { if (!UpdateVictim()) return; @@ -273,26 +282,26 @@ class npc_cooshcoosh : public CreatureScript } }; - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_cooshcooshAI(creature); } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_CRACK_SKULLS) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_COOSH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_COOSH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(9441, creature->GetGUID()); + SendGossipMenuFor(player, 9441, creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->setFaction(FACTION_HOSTILE_CO); creature->AI()->AttackStart(player); } @@ -313,28 +322,28 @@ class npc_elder_kuruti : public CreatureScript public: npc_elder_kuruti() : CreatureScript("npc_elder_kuruti") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(9803) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KUR1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KUR1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(9226, creature->GetGUID()); + SendGossipMenuFor(player, 9226, creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KUR2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(9227, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KUR2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, 9227, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KUR3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->SEND_GOSSIP_MENU(9229, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_KUR3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + SendGossipMenuFor(player, 9229, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: { @@ -350,7 +359,7 @@ class npc_elder_kuruti : public CreatureScript else player->SendEquipError(msg, NULL, NULL, itemId); } - player->SEND_GOSSIP_MENU(9231, creature->GetGUID()); + SendGossipMenuFor(player, 9231, creature->GetGUID()); break; } } @@ -366,19 +375,19 @@ class npc_mortog_steamhead : public CreatureScript public: npc_mortog_steamhead() : CreatureScript("npc_mortog_steamhead") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsVendor() && player->GetReputationRank(942) == REP_EXALTED) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_TRADE) player->GetSession()->SendListInventory(creature->GetGUID()); return true; @@ -480,26 +489,26 @@ class npc_timothy_daniels : public CreatureScript public: npc_timothy_daniels() : CreatureScript("npc_timothy_daniels") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_POISONS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_POISONS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TIMOTHY_DANIELS_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_TIMOTHY_DANIELS_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF+1: - player->SEND_GOSSIP_MENU(GOSSIP_TEXTID_TIMOTHY_DANIELS1, creature->GetGUID()); + SendGossipMenuFor(player, GOSSIP_TEXTID_TIMOTHY_DANIELS1, creature->GetGUID()); break; case GOSSIP_ACTION_TRADE: player->GetSession()->SendListInventory(creature->GetGUID()); diff --git a/src/server/scripts/Pet/pet_generic.cpp b/src/server/scripts/Pet/pet_generic.cpp index e51fc6ddfe3d34..aa0bf458bb6d3b 100644 --- a/src/server/scripts/Pet/pet_generic.cpp +++ b/src/server/scripts/Pet/pet_generic.cpp @@ -102,7 +102,7 @@ class npc_pet_gen_soul_trader_beacon : public CreatureScript { uint64 ownerGUID; EventMap events; - npc_pet_gen_soul_trader_beaconAI(Creature *c) : ScriptedAI(c) + npc_pet_gen_soul_trader_beaconAI(Creature *c) : ScriptedAI(c) { events.Reset(); events.ScheduleEvent(EVENT_INITIAL_TALK, 0); @@ -164,7 +164,7 @@ enum eArgentPony SPELL_AURA_SHOP_S = 67377, SPELL_AURA_BANK_S = 67368, SPELL_AURA_TIRED_S = 67401, - + SPELL_AURA_BANK_G = 68849, SPELL_AURA_POSTMAN_G = 68850, SPELL_AURA_SHOP_G = 68851, @@ -214,7 +214,7 @@ class npc_pet_gen_argent_pony_bridle : public CreatureScript struct npc_pet_gen_argent_pony_bridleAI : public ScriptedAI { - npc_pet_gen_argent_pony_bridleAI(Creature *c) : ScriptedAI(c) + npc_pet_gen_argent_pony_bridleAI(Creature *c) : ScriptedAI(c) { _state = ARGENT_PONY_STATE_NONE; _init = false; @@ -223,7 +223,7 @@ class npc_pet_gen_argent_pony_bridle : public CreatureScript memset(_banners, 0, sizeof(_banners)); } - void EnterEvadeMode() + void EnterEvadeMode() override { if (Unit* owner = me->GetCharmerOrOwner()) { @@ -232,7 +232,7 @@ class npc_pet_gen_argent_pony_bridle : public CreatureScript } } - void Reset() + void Reset() override { if (_init) return; @@ -292,7 +292,7 @@ class npc_pet_gen_argent_pony_bridle : public CreatureScript } } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { _mountTimer += diff; if (_mountTimer > 5000) @@ -310,15 +310,15 @@ class npc_pet_gen_argent_pony_bridle : public CreatureScript } } - uint32 GetData(uint32 param) const + uint32 GetData(uint32 param) const override { if (param == 0) return _state; - + return _banners[param]; } - void DoAction(int32 param) + void DoAction(int32 param) override { if (param > 60000) { @@ -330,7 +330,7 @@ class npc_pet_gen_argent_pony_bridle : public CreatureScript _state = param; } - + private: bool _init; uint8 _state; @@ -339,7 +339,7 @@ class npc_pet_gen_argent_pony_bridle : public CreatureScript uint32 _lastAura; }; - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetGUID() != creature->GetOwnerGUID()) return true; @@ -348,24 +348,24 @@ class npc_pet_gen_argent_pony_bridle : public CreatureScript { uint8 _state = creature->AI()->GetData(0 /*GET_DATA_STATE*/); if (_state == ARGENT_PONY_STATE_ENCH || _state == ARGENT_PONY_STATE_VENDOR) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "Visit a trader.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, "Visit a trader.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); if (_state == ARGENT_PONY_STATE_ENCH || _state == ARGENT_PONY_STATE_BANK) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "Visit a bank.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_BANK); + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Visit a bank.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_BANK); if (_state == ARGENT_PONY_STATE_ENCH || _state == ARGENT_PONY_STATE_MAILBOX) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Visit a mailbox.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_MAILBOX); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Visit a mailbox.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_MAILBOX); } for (uint8 i = RACE_HUMAN; i < MAX_RACES; ++i) if (creature->AI()->GetData(i) == uint32(true)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, argentBanners[i].text, GOSSIP_SENDER_MAIN, argentBanners[i].spell); - - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, argentBanners[i].text, GOSSIP_SENDER_MAIN, argentBanners[i].spell); + + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 action) override { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); uint32 spellId = 0; switch (action) { @@ -408,7 +408,7 @@ class npc_pet_gen_argent_pony_bridle : public CreatureScript return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_pet_gen_argent_pony_bridleAI (creature); } @@ -433,7 +433,7 @@ class npc_pet_gen_target_following_bomb : public CreatureScript struct npc_pet_gen_target_following_bombAI : public NullCreatureAI { - npc_pet_gen_target_following_bombAI(Creature *c) : NullCreatureAI(c) + npc_pet_gen_target_following_bombAI(Creature *c) : NullCreatureAI(c) { checkTimer = 0; bombSpellId = 0; @@ -488,7 +488,7 @@ class npc_pet_gen_gnomish_flame_turret : public CreatureScript struct npc_pet_gen_gnomish_flame_turretAI : public ScriptedAI { - npc_pet_gen_gnomish_flame_turretAI(Creature *c) : ScriptedAI(c) + npc_pet_gen_gnomish_flame_turretAI(Creature *c) : ScriptedAI(c) { checkTimer = 0; } diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index 6811ef86195542..3cdbae441a8656 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -47,7 +47,7 @@ class go_noblegarden_colored_egg : public GameObjectScript public: go_noblegarden_colored_egg() : GameObjectScript("go_noblegarden_colored_egg") { } - bool OnGossipHello(Player* player, GameObject* /*pGO*/) + bool OnGossipHello(Player* player, GameObject* /*go*/) override { if (roll_chance_i(5)) player->CastSpell(player, 61734, true); // SPELL NOBLEGARDEN BUNNY @@ -60,7 +60,7 @@ class go_seer_of_zebhalak : public GameObjectScript public: go_seer_of_zebhalak() : GameObjectScript("go_seer_of_zebhalak") { } - bool OnGossipHello(Player* player, GameObject* /*pGO*/) + bool OnGossipHello(Player* player, GameObject* /*go*/) override { if (player->GetQuestStatus(12007) == QUEST_STATUS_INCOMPLETE) player->CastSpell(player, 47293, true); @@ -73,16 +73,16 @@ class go_mistwhisper_treasure : public GameObjectScript public: go_mistwhisper_treasure() : GameObjectScript("go_mistwhisper_treasure") { } - bool OnGossipHello(Player* pPlayer, GameObject *pGo) + bool OnGossipHello(Player* pPlayer, GameObject *go) override { - if (!pGo->FindNearestCreature(28105, 30.0f)) // Tartek + if (!go->FindNearestCreature(28105, 30.0f)) // Tartek { - if (Creature *cr = pGo->SummonCreature(28105, 6708.7f, 5115.45f, -18.3f, 0.7f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000)) + if (Creature *cr = go->SummonCreature(28105, 6708.7f, 5115.45f, -18.3f, 0.7f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000)) { cr->MonsterYell("My treasure! You no steal from Tartek, dumb big-tongue traitor thing. Tartek and nasty dragon going to kill you! You so dumb.", LANG_UNIVERSAL, 0); cr->AI()->AttackStart(pPlayer); } - } + } return false; } }; @@ -127,11 +127,11 @@ class go_arena_ready_marker : public GameObjectScript public: go_arena_ready_marker() : GameObjectScript("go_arena_ready_marker") { } - bool OnGossipHello(Player* player, GameObject * /*go*/) + bool OnGossipHello(Player* player, GameObject * /*go*/) override { if (Battleground* bg = player->GetBattleground()) bg->ReadyMarkerClicked(player); - + return false; } }; @@ -161,7 +161,7 @@ class go_ethereum_prison : public GameObjectScript public: go_ethereum_prison() : GameObjectScript("go_ethereum_prison") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { int Random = rand() % (sizeof(NpcPrisonEntry) / sizeof(uint32)); @@ -205,7 +205,7 @@ class go_ethereum_stasis : public GameObjectScript public: go_ethereum_stasis() : GameObjectScript("go_ethereum_stasis") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { int Random = rand() % (sizeof(NpcStasisEntry) / sizeof(uint32)); @@ -230,7 +230,7 @@ class go_resonite_cask : public GameObjectScript public: go_resonite_cask() : GameObjectScript("go_resonite_cask") { } - bool OnGossipHello(Player* /*player*/, GameObject* go) + bool OnGossipHello(Player* /*player*/, GameObject* go) override { // xinef: prevent spawning hundreds of them if (go->GetGoType() == GAMEOBJECT_TYPE_GOOBER && !go->FindNearestCreature(NPC_GOGGEROC, 20.0f)) @@ -329,7 +329,7 @@ class go_cat_figurine : public GameObjectScript public: go_cat_figurine() : GameObjectScript("go_cat_figurine") { } - bool OnGossipHello(Player* player, GameObject* /*go*/) + bool OnGossipHello(Player* player, GameObject* /*go*/) override { player->CastSpell(player, SPELL_SUMMON_GHOST_SABER, true); return false; @@ -350,7 +350,7 @@ class go_gilded_brazier : public GameObjectScript public: go_gilded_brazier() : GameObjectScript("go_gilded_brazier") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (go->GetGoType() == GAMEOBJECT_TYPE_GOOBER) { @@ -373,7 +373,7 @@ class go_tablet_of_madness : public GameObjectScript public: go_tablet_of_madness() : GameObjectScript("go_tablet_of_madness") { } - bool OnGossipHello(Player* player, GameObject* /*go*/) + bool OnGossipHello(Player* player, GameObject* /*go*/) override { if (player->HasSkill(SKILL_ALCHEMY) && player->GetSkillValue(SKILL_ALCHEMY) >= 300 && !player->HasSpell(24266)) player->CastSpell(player, 24267, false); @@ -392,7 +392,7 @@ class go_tablet_of_the_seven : public GameObjectScript go_tablet_of_the_seven() : GameObjectScript("go_tablet_of_the_seven") { } //TODO: use gossip option ("Transcript the Tablet") instead, if Trinity adds support. - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (go->GetGoType() != GAMEOBJECT_TYPE_QUESTGIVER) return true; @@ -413,7 +413,7 @@ class go_jump_a_tron : public GameObjectScript public: go_jump_a_tron() : GameObjectScript("go_jump_a_tron") { } - bool OnGossipHello(Player* player, GameObject* /*go*/) + bool OnGossipHello(Player* player, GameObject* /*go*/) override { if (player->GetQuestStatus(10111) == QUEST_STATUS_INCOMPLETE) player->CastSpell(player, 33382, true); @@ -436,7 +436,7 @@ class go_sacred_fire_of_life : public GameObjectScript public: go_sacred_fire_of_life() : GameObjectScript("go_sacred_fire_of_life") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (go->GetGoType() == GAMEOBJECT_TYPE_GOOBER) player->SummonCreature(NPC_ARIKARA, -5008.338f, -2118.894f, 83.657f, 0.874f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); @@ -464,7 +464,7 @@ class go_shrine_of_the_birds : public GameObjectScript public: go_shrine_of_the_birds() : GameObjectScript("go_shrine_of_the_birds") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { uint32 BirdEntry = 0; @@ -507,7 +507,7 @@ class go_southfury_moonstone : public GameObjectScript public: go_southfury_moonstone() : GameObjectScript("go_southfury_moonstone") { } - bool OnGossipHello(Player* player, GameObject* /*go*/) + bool OnGossipHello(Player* player, GameObject* /*go*/) override { //implicitTarget=48 not implemented as of writing this code, and manual summon may be just ok for our purpose //player->CastSpell(player, SPELL_SUMMON_RIZZLE, false); @@ -536,7 +536,7 @@ class go_tele_to_dalaran_crystal : public GameObjectScript public: go_tele_to_dalaran_crystal() : GameObjectScript("go_tele_to_dalaran_crystal") { } - bool OnGossipHello(Player* player, GameObject* /*go*/) + bool OnGossipHello(Player* player, GameObject* /*go*/) override { if (player->GetQuestRewardStatus(QUEST_TELE_CRYSTAL_FLAG)) return false; @@ -556,7 +556,7 @@ class go_tele_to_violet_stand : public GameObjectScript public: go_tele_to_violet_stand() : GameObjectScript("go_tele_to_violet_stand") { } - bool OnGossipHello(Player* player, GameObject* /*go*/) + bool OnGossipHello(Player* player, GameObject* /*go*/) override { if (player->GetQuestRewardStatus(QUEST_LEARN_LEAVE_RETURN) || player->GetQuestStatus(QUEST_LEARN_LEAVE_RETURN) == QUEST_STATUS_INCOMPLETE) return false; @@ -586,38 +586,38 @@ class go_fel_crystalforge : public GameObjectScript public: go_fel_crystalforge() : GameObjectScript("go_fel_crystalforge") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (go->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER) /* != GAMEOBJECT_TYPE_QUESTGIVER) */ player->PrepareQuestMenu(go->GetGUID()); /* return true*/ - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FEL_CRYSTALFORGE_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FEL_CRYSTALFORGE_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_FEL_CRYSTALFORGE_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_FEL_CRYSTALFORGE_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(GOSSIP_FEL_CRYSTALFORGE_TEXT, go->GetGUID()); + SendGossipMenuFor(player, GOSSIP_FEL_CRYSTALFORGE_TEXT, go->GetGUID()); return true; } - bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF: player->CastSpell(player, SPELL_CREATE_1_FLASK_OF_BEAST, false); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FEL_CRYSTALFORGE_ITEM_RETURN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(GOSSIP_FEL_CRYSTALFORGE_ITEM_TEXT_RETURN, go->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_FEL_CRYSTALFORGE_ITEM_RETURN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, GOSSIP_FEL_CRYSTALFORGE_ITEM_TEXT_RETURN, go->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 1: player->CastSpell(player, SPELL_CREATE_5_FLASK_OF_BEAST, false); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FEL_CRYSTALFORGE_ITEM_RETURN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(GOSSIP_FEL_CRYSTALFORGE_ITEM_TEXT_RETURN, go->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_FEL_CRYSTALFORGE_ITEM_RETURN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, GOSSIP_FEL_CRYSTALFORGE_ITEM_TEXT_RETURN, go->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FEL_CRYSTALFORGE_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_FEL_CRYSTALFORGE_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(GOSSIP_FEL_CRYSTALFORGE_TEXT, go->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_FEL_CRYSTALFORGE_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_FEL_CRYSTALFORGE_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, GOSSIP_FEL_CRYSTALFORGE_TEXT, go->GetGUID()); break; } return true; @@ -645,38 +645,38 @@ class go_bashir_crystalforge : public GameObjectScript public: go_bashir_crystalforge() : GameObjectScript("go_bashir_crystalforge") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (go->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER) /* != GAMEOBJECT_TYPE_QUESTGIVER) */ player->PrepareQuestMenu(go->GetGUID()); /* return true*/ - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(GOSSIP_BASHIR_CRYSTALFORGE_TEXT, go->GetGUID()); + SendGossipMenuFor(player, GOSSIP_BASHIR_CRYSTALFORGE_TEXT, go->GetGUID()); return true; } - bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF: player->CastSpell(player, SPELL_CREATE_1_FLASK_OF_SORCERER, false); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_RETURN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(GOSSIP_BASHIR_CRYSTALFORGE_ITEM_TEXT_RETURN, go->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_RETURN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_TEXT_RETURN, go->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 1: player->CastSpell(player, SPELL_CREATE_5_FLASK_OF_SORCERER, false); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_RETURN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); - player->SEND_GOSSIP_MENU(GOSSIP_BASHIR_CRYSTALFORGE_ITEM_TEXT_RETURN, go->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_RETURN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2); + SendGossipMenuFor(player, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_TEXT_RETURN, go->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(GOSSIP_BASHIR_CRYSTALFORGE_TEXT, go->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, GOSSIP_BASHIR_CRYSTALFORGE_TEXT, go->GetGUID()); break; } return true; @@ -697,7 +697,7 @@ class go_scourge_cage : public GameObjectScript public: go_scourge_cage() : GameObjectScript("go_scourge_cage") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { go->UseDoorOrButton(); if (Creature* pNearestPrisoner = go->FindNearestCreature(NPC_SCOURGE_PRISONER, 5.0f, true)) @@ -725,7 +725,7 @@ class go_arcane_prison : public GameObjectScript public: go_arcane_prison() : GameObjectScript("go_arcane_prison") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { // xinef: prevent spawning hundreds of them if (player->GetQuestStatus(QUEST_PRISON_BREAK) == QUEST_STATUS_INCOMPLETE && !go->FindNearestCreature(25318, 20.0f)) @@ -760,7 +760,7 @@ class go_jotunheim_cage : public GameObjectScript public: go_jotunheim_cage() : GameObjectScript("go_jotunheim_cage") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { go->UseDoorOrButton(); Creature* pPrisoner = go->FindNearestCreature(NPC_EBON_BLADE_PRISONER_HUMAN, 5.0f, true); @@ -810,12 +810,12 @@ class go_table_theka : public GameObjectScript public: go_table_theka() : GameObjectScript("go_table_theka") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { if (player->GetQuestStatus(QUEST_SPIDER_GOLD) == QUEST_STATUS_INCOMPLETE) player->AreaExploredOrEventHappens(QUEST_SPIDER_GOLD); - player->SEND_GOSSIP_MENU(GOSSIP_TABLE_THEKA, go->GetGUID()); + SendGossipMenuFor(player, GOSSIP_TABLE_THEKA, go->GetGUID()); return true; } @@ -839,7 +839,7 @@ class go_inconspicuous_landmark : public GameObjectScript _lastUsedTime = time(NULL); } - bool OnGossipHello(Player* player, GameObject* /*go*/) + bool OnGossipHello(Player* player, GameObject* /*go*/) override { if (player->HasItemCount(ITEM_CUERGOS_KEY)) return true; @@ -992,7 +992,7 @@ class go_dragonflayer_cage : public GameObjectScript public: go_dragonflayer_cage() : GameObjectScript("go_dragonflayer_cage") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { go->UseDoorOrButton(); if (player->GetQuestStatus(QUEST_PRISONERS_OF_WYRMSKULL) != QUEST_STATUS_INCOMPLETE) @@ -1048,26 +1048,26 @@ class go_amberpine_outhouse : public GameObjectScript public: go_amberpine_outhouse() : GameObjectScript("go_amberpine_outhouse") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { QuestStatus status = player->GetQuestStatus(QUEST_DOING_YOUR_DUTY); if (status == QUEST_STATUS_INCOMPLETE || status == QUEST_STATUS_COMPLETE || status == QUEST_STATUS_REWARDED) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_USE_OUTHOUSE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(GOSSIP_OUTHOUSE_VACANT, go->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_USE_OUTHOUSE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, GOSSIP_OUTHOUSE_VACANT, go->GetGUID()); } else - player->SEND_GOSSIP_MENU(GOSSIP_OUTHOUSE_INUSE, go->GetGUID()); + SendGossipMenuFor(player, GOSSIP_OUTHOUSE_INUSE, go->GetGUID()); return true; } - bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF +1) { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); Creature* target = GetClosestCreatureWithEntry(player, NPC_OUTHOUSE_BUNNY, 3.0f); if (target) { @@ -1081,7 +1081,7 @@ class go_amberpine_outhouse : public GameObjectScript } else { - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->GetSession()->SendNotification(GO_ANDERHOLS_SLIDER_CIDER_NOT_FOUND); return false; } @@ -1104,7 +1104,7 @@ class go_hive_pod : public GameObjectScript public: go_hive_pod() : GameObjectScript("go_hive_pod") { } - bool OnGossipHello(Player* player, GameObject* go) + bool OnGossipHello(Player* player, GameObject* go) override { player->SendLoot(go->GetGUID(), LOOT_CORPSE); @@ -1123,7 +1123,7 @@ class go_massive_seaforium_charge : public GameObjectScript public: go_massive_seaforium_charge() : GameObjectScript("go_massive_seaforium_charge") { } - bool OnGossipHello(Player* /*player*/, GameObject* go) + bool OnGossipHello(Player* /*player*/, GameObject* go) override { go->SetLootState(GO_JUST_DEACTIVATED); return true; @@ -1143,27 +1143,27 @@ enum MissingFriends class go_veil_skith_cage : public GameObjectScript { - public: - go_veil_skith_cage() : GameObjectScript("go_veil_skith_cage") { } - - bool OnGossipHello(Player* player, GameObject* go) - { - go->UseDoorOrButton(); - if (player->GetQuestStatus(QUEST_MISSING_FRIENDS) == QUEST_STATUS_INCOMPLETE) - { - std::list childrenList; - GetCreatureListWithEntryInGrid(childrenList, go, NPC_CAPTIVE_CHILD, INTERACTION_DISTANCE); - for (std::list::const_iterator itr = childrenList.begin(); itr != childrenList.end(); ++itr) - { - player->KilledMonsterCredit(NPC_CAPTIVE_CHILD, (*itr)->GetGUID()); - (*itr)->DespawnOrUnsummon(5000); - (*itr)->GetMotionMaster()->MovePoint(1, go->GetPositionX()+5, go->GetPositionY(), go->GetPositionZ()); - (*itr)->AI()->Talk(SAY_FREE_0); - (*itr)->GetMotionMaster()->Clear(); - } - } - return false; - } +public: + go_veil_skith_cage() : GameObjectScript("go_veil_skith_cage") { } + + bool OnGossipHello(Player* player, GameObject* go) override + { + go->UseDoorOrButton(); + if (player->GetQuestStatus(QUEST_MISSING_FRIENDS) == QUEST_STATUS_INCOMPLETE) + { + std::list childrenList; + GetCreatureListWithEntryInGrid(childrenList, go, NPC_CAPTIVE_CHILD, INTERACTION_DISTANCE); + for (std::list::const_iterator itr = childrenList.begin(); itr != childrenList.end(); ++itr) + { + player->KilledMonsterCredit(NPC_CAPTIVE_CHILD, (*itr)->GetGUID()); + (*itr)->DespawnOrUnsummon(5000); + (*itr)->GetMotionMaster()->MovePoint(1, go->GetPositionX()+5, go->GetPositionY(), go->GetPositionZ()); + (*itr)->AI()->Talk(SAY_FREE_0); + (*itr)->GetMotionMaster()->Clear(); + } + } + return false; + } }; void AddSC_go_scripts() diff --git a/src/server/scripts/World/npc_innkeeper.cpp b/src/server/scripts/World/npc_innkeeper.cpp index dd765a79092e0f..0bb23c1a887821 100644 --- a/src/server/scripts/World/npc_innkeeper.cpp +++ b/src/server/scripts/World/npc_innkeeper.cpp @@ -19,38 +19,38 @@ class npc_innkeeper : public CreatureScript public: npc_innkeeper() : CreatureScript("npc_innkeeper") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (IsEventActive(HALLOWEEN_EVENTID) && !player->HasAura(SPELL_TRICKED_OR_TREATED)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, "Trick or Treat!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+HALLOWEEN_EVENTID); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, "Trick or Treat!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+HALLOWEEN_EVENTID); if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); if (creature->IsInnkeeper()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_INTERACT_1, "Make this inn my home.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INN); + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Make this inn my home.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INN); player->TalkedToCreature(creature->GetEntry(), creature->GetGUID()); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF+HALLOWEEN_EVENTID && IsEventActive(HALLOWEEN_EVENTID) && !player->HasAura(SPELL_TRICKED_OR_TREATED)) { player->CastSpell(player, SPELL_TRICKED_OR_TREATED, true); creature->CastSpell(player, roll_chance_i(50) ? SPELL_TRICK : SPELL_TREAT, true); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); return true; } - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); switch (action) { diff --git a/src/server/scripts/World/npc_professions.cpp b/src/server/scripts/World/npc_professions.cpp index abe4338702d5ce..88a7cc9036f658 100644 --- a/src/server/scripts/World/npc_professions.cpp +++ b/src/server/scripts/World/npc_professions.cpp @@ -394,7 +394,7 @@ void ProcessCastaction(Player* player, Creature* creature, uint32 spellId, uint3 } else player->SendBuyError(BUY_ERR_NOT_ENOUGHT_MONEY, creature, 0, 0); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); } void ProcessUnlearnAction(Player* player, Creature* creature, uint32 spellId, uint32 alternativeSpellId, int32 cost) @@ -417,7 +417,7 @@ void ProcessUnlearnAction(Player* player, Creature* creature, uint32 spellId, ui } else player->SendEquipError(EQUIP_ERR_CANT_DO_RIGHT_NOW, NULL, NULL); - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); } /*### @@ -434,16 +434,16 @@ class npc_prof_alchemy : public CreatureScript return (player->HasSpell(S_TRANSMUTE) || player->HasSpell(S_ELIXIR) || player->HasSpell(S_POTION)); } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); if (creature->IsTrainer()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN); + AddGossipItemFor(player, GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN); if (player->HasSkill(SKILL_ALCHEMY) && player->GetBaseSkillValue(SKILL_ALCHEMY) >= 350 && player->getLevel() > 67) { @@ -453,27 +453,27 @@ class npc_prof_alchemy : public CreatureScript { case N_TRAINER_TRANSMUTE: //Zarevhi if (!HasAlchemySpell(player)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_TRANSMUTE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_TRANSMUTE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 1); if (player->HasSpell(S_TRANSMUTE)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_TRANSMUTE, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 4); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_TRANSMUTE, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 4); break; case N_TRAINER_ELIXIR: //Lorokeem if (!HasAlchemySpell(player)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_ELIXIR, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_ELIXIR, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 2); if (player->HasSpell(S_ELIXIR)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_ELIXIR, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 5); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_ELIXIR, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 5); break; case N_TRAINER_POTION: //Lauranna Thar'well if (!HasAlchemySpell(player)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_POTION, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_POTION, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 3); if (player->HasSpell(S_POTION)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_POTION, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 6); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_POTION, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 6); break; } } } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } @@ -517,19 +517,19 @@ class npc_prof_alchemy : public CreatureScript switch (creature->GetEntry()) { case N_TRAINER_TRANSMUTE: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_TRANSMUTE, GOSSIP_SENDER_CHECK, action); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_TRANSMUTE, GOSSIP_SENDER_CHECK, action); //unknown textID () - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; case N_TRAINER_ELIXIR: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_ELIXIR, GOSSIP_SENDER_CHECK, action); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_ELIXIR, GOSSIP_SENDER_CHECK, action); //unknown textID () - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; case N_TRAINER_POTION: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_POTION, GOSSIP_SENDER_CHECK, action); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_POTION, GOSSIP_SENDER_CHECK, action); //unknown textID () - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; } } @@ -542,27 +542,27 @@ class npc_prof_alchemy : public CreatureScript switch (creature->GetEntry()) { case N_TRAINER_TRANSMUTE: //Zarevhi - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_TRANSMUTE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player), false); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_TRANSMUTE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player), false); //unknown textID () - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; case N_TRAINER_ELIXIR: //Lorokeem - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_ELIXIR, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player), false); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_ELIXIR, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player), false); //unknown textID () - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; case N_TRAINER_POTION: //Lauranna Thar'well - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_POTION, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player), false); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_POTION, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ALCHEMY_SPEC, DoHighUnlearnCost(player), false); //unknown textID () - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; } } } - bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (sender) { case GOSSIP_SENDER_MAIN: @@ -599,16 +599,16 @@ class npc_prof_blacksmith : public CreatureScript return (player->HasSpell(S_HAMMER) || player->HasSpell(S_AXE) || player->HasSpell(S_SWORD)); } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); if (creature->IsTrainer()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN); + AddGossipItemFor(player, GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN); uint32 creatureId = creature->GetEntry(); //WEAPONSMITH & ARMORSMITH @@ -621,19 +621,19 @@ class npc_prof_blacksmith : public CreatureScript case N_TRAINER_SMITHOMNI1: //Myolor Sunderfury case N_TRAINER_SMITHOMNI2: //Krathok Moltenfist if (!player->HasSpell(S_ARMOR) && !player->HasSpell(S_WEAPON)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ARMOR_LEARN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ARMOR_LEARN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); if (!player->HasSpell(S_WEAPON) && !player->HasSpell(S_ARMOR)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WEAPON_LEARN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_WEAPON_LEARN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); break; case N_TRAINER_WEAPON1: //Ironus Coldsteel case N_TRAINER_WEAPON2: //Borgosh Corebender if (player->HasSpell(S_WEAPON)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WEAPON_UNLEARN, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_WEAPON_UNLEARN, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 3); break; case N_TRAINER_ARMOR1: //Grumnus Steelshaper case N_TRAINER_ARMOR2: //Okothos Ironrager if (player->HasSpell(S_ARMOR)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ARMOR_UNLEARN, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 4); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ARMOR_UNLEARN, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 4); break; } } @@ -645,26 +645,26 @@ class npc_prof_blacksmith : public CreatureScript { case N_TRAINER_HAMMER: //Lilith the Lithe if (!HasWeaponSub(player)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_HAMMER, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 5); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_HAMMER, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 5); if (player->HasSpell(S_HAMMER)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_HAMMER, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 8); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_HAMMER, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 8); break; case N_TRAINER_AXE: //Kilram if (!HasWeaponSub(player)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_AXE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 6); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_AXE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 6); if (player->HasSpell(S_AXE)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_AXE, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 9); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_AXE, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 9); break; case N_TRAINER_SWORD: //Seril Scourgebane if (!HasWeaponSub(player)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_SWORD, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 7); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_SWORD, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 7); if (player->HasSpell(S_SWORD)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_SWORD, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 10); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_SWORD, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 10); break; } } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } @@ -688,7 +688,7 @@ class npc_prof_blacksmith : public CreatureScript //Unlearn Armor/Weapon case GOSSIP_ACTION_INFO_DEF + 3: if (HasWeaponSub(player)) - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); else ProcessUnlearnAction(player, creature, S_UNLEARN_WEAPON, S_REP_ARMOR, DoLowUnlearnCost(player)); break; @@ -725,19 +725,19 @@ class npc_prof_blacksmith : public CreatureScript switch (creature->GetEntry()) { case N_TRAINER_HAMMER: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_HAMMER, GOSSIP_SENDER_CHECK, action); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_HAMMER, GOSSIP_SENDER_CHECK, action); //unknown textID (TALK_HAMMER_LEARN) - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; case N_TRAINER_AXE: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_AXE, GOSSIP_SENDER_CHECK, action); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_AXE, GOSSIP_SENDER_CHECK, action); //unknown textID (TALK_AXE_LEARN) - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; - case N_TRAINER_SWORD: player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_SWORD, GOSSIP_SENDER_CHECK, action); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_SWORD, GOSSIP_SENDER_CHECK, action); //unknown textID (TALK_SWORD_LEARN) - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; } } @@ -753,33 +753,33 @@ class npc_prof_blacksmith : public CreatureScript case N_TRAINER_WEAPON2: //Borgosh Corebender case N_TRAINER_ARMOR1: //Grumnus Steelshaper case N_TRAINER_ARMOR2: //Okothos Ironrager - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_SMITH_SPEC, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ARMORORWEAPON, DoLowUnlearnCost(player), false); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_SMITH_SPEC, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_ARMORORWEAPON, DoLowUnlearnCost(player), false); //unknown textID (TALK_UNLEARN_AXEORWEAPON) - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; case N_TRAINER_HAMMER: - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_HAMMER, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player), false); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_HAMMER, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player), false); //unknown textID (TALK_HAMMER_UNLEARN) - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; case N_TRAINER_AXE: - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_AXE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player), false); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_AXE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player), false); //unknown textID (TALK_AXE_UNLEARN) - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; case N_TRAINER_SWORD: - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_SWORD, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player), false); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_SWORD, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_WEAPON_SPEC, DoMedUnlearnCost(player), false); //unknown textID (TALK_SWORD_UNLEARN) - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; } } } - bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (sender) { case GOSSIP_SENDER_MAIN: @@ -847,7 +847,7 @@ class npc_engineering_tele_trinket : public CreatureScript return res; } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { uint32 npcTextId = 0; std::string gossipItem; @@ -881,17 +881,17 @@ class npc_engineering_tele_trinket : public CreatureScript } if (canLearn) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, gossipItem, creature->GetEntry(), GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, gossipItem, creature->GetEntry(), GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(npcTextId ? npcTextId : player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, npcTextId ? npcTextId : player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF + 1) - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); if (sender != creature->GetEntry()) return true; @@ -930,16 +930,16 @@ class npc_prof_leather : public CreatureScript return (player->HasSpell(S_DRAGON) || player->HasSpell(S_ELEMENTAL) || player->HasSpell(S_TRIBAL)); } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); if (creature->IsTrainer()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN); + AddGossipItemFor(player, GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN); // pussywizard: NO UNLEARNING! LEATHERWORKING SPECIALTY IS A PERMANENT DECISION AND CANNOT BE CHANGED IN ANY WAY! // pussywizard: CAN RE-LEARN ONLY THE ONE FOR WHICH QUEST IS COMPLETED! @@ -951,22 +951,22 @@ class npc_prof_leather : public CreatureScript case N_TRAINER_DRAGON1: //Peter Galen case N_TRAINER_DRAGON2: //Thorkaf Dragoneye if (!HasLeatherSpecialty(player) && (player->GetQuestRewardStatus(5141) || player->GetQuestRewardStatus(5145))) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_DRAGON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_DRAGON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); break; case N_TRAINER_ELEMENTAL1: //Sarah Tanner case N_TRAINER_ELEMENTAL2: //Brumn Winterhoof if (!HasLeatherSpecialty(player) && (player->GetQuestRewardStatus(5144) || player->GetQuestRewardStatus(5146))) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_ELEMENTAL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_ELEMENTAL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); break; case N_TRAINER_TRIBAL1: //Caryssia Moonhunter case N_TRAINER_TRIBAL2: //Se'Jib if (!HasLeatherSpecialty(player) && (player->GetQuestRewardStatus(5143) || player->GetQuestRewardStatus(5148))) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_TRIBAL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_TRIBAL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); break; } } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } @@ -993,9 +993,9 @@ class npc_prof_leather : public CreatureScript } } - bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (sender) { case GOSSIP_SENDER_MAIN: @@ -1020,16 +1020,16 @@ class npc_prof_tailor : public CreatureScript return (player->HasSpell(S_MOONCLOTH) || player->HasSpell(S_SHADOWEAVE) || player->HasSpell(S_SPELLFIRE)); } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); if (creature->IsVendor()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); + AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE); if (creature->IsTrainer()) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN); + AddGossipItemFor(player, GOSSIP_ICON_TRAINER, GOSSIP_TEXT_TRAIN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRAIN); //TAILORING SPEC if (player->HasSkill(SKILL_TAILORING) && player->GetBaseSkillValue(SKILL_TAILORING) >= 350 && player->getLevel() > 59) @@ -1040,27 +1040,27 @@ class npc_prof_tailor : public CreatureScript { case N_TRAINER_SPELLFIRE: //Gidge Spellweaver if (!HasTailorSpell(player)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_SPELLFIRE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_SPELLFIRE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 1); if (player->HasSpell(S_SPELLFIRE)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_SPELLFIRE, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 4); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_SPELLFIRE, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 4); break; case N_TRAINER_MOONCLOTH: //Nasmara Moonsong if (!HasTailorSpell(player)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_MOONCLOTH, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_MOONCLOTH, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 2); if (player->HasSpell(S_MOONCLOTH)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_MOONCLOTH, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 5); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_MOONCLOTH, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 5); break; case N_TRAINER_SHADOWEAVE: //Andrion Darkspinner if (!HasTailorSpell(player)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_SHADOWEAVE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_SHADOWEAVE, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 3); if (player->HasSpell(S_SHADOWEAVE)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_SHADOWEAVE, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 6); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_UNLEARN_SHADOWEAVE, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 6); break; } } } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } @@ -1104,19 +1104,19 @@ class npc_prof_tailor : public CreatureScript switch (creature->GetEntry()) { case N_TRAINER_SPELLFIRE: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_SPELLFIRE, GOSSIP_SENDER_CHECK, action); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_SPELLFIRE, GOSSIP_SENDER_CHECK, action); //unknown textID () - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; case N_TRAINER_MOONCLOTH: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_MOONCLOTH, GOSSIP_SENDER_CHECK, action); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_MOONCLOTH, GOSSIP_SENDER_CHECK, action); //unknown textID () - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; case N_TRAINER_SHADOWEAVE: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_SHADOWEAVE, GOSSIP_SENDER_CHECK, action); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_SHADOWEAVE, GOSSIP_SENDER_CHECK, action); //unknown textID () - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; } } @@ -1129,27 +1129,27 @@ class npc_prof_tailor : public CreatureScript switch (creature->GetEntry()) { case N_TRAINER_SPELLFIRE: //Gidge Spellweaver - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_SPELLFIRE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player), false); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_SPELLFIRE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player), false); //unknown textID () - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; case N_TRAINER_MOONCLOTH: //Nasmara Moonsong - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_MOONCLOTH, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player), false); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_MOONCLOTH, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player), false); //unknown textID () - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; case N_TRAINER_SHADOWEAVE: //Andrion Darkspinner - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_SHADOWEAVE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player), false); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_SHADOWEAVE, GOSSIP_SENDER_CHECK, action, BOX_UNLEARN_TAILOR_SPEC, DoHighUnlearnCost(player), false); //unknown textID () - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); break; } } } - bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (sender) { case GOSSIP_SENDER_MAIN: @@ -1177,7 +1177,7 @@ class go_evil_book_for_dummies : public GameObjectScript public: go_evil_book_for_dummies() : GameObjectScript("go_evil_book_for_dummies") { } - bool OnGossipHello(Player* player, GameObject* gameobject) + bool OnGossipHello(Player* player, GameObject* gameobject) override { //TAILORING SPEC if (player->HasSkill(SKILL_ENGINEERING) && player->GetBaseSkillValue(SKILL_ENGINEERING) >= 225 && player->getLevel() >= 35) { @@ -1185,21 +1185,21 @@ class go_evil_book_for_dummies : public GameObjectScript { if (player->HasSpell(S_GOBLIN)) // Has Goblin specialization { - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_GOBLIN, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 3, BOX_UNLEARN_ENGIN_SPEC, DoHighUnlearnCost(player), false); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_GOBLIN, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 3, BOX_UNLEARN_ENGIN_SPEC, DoHighUnlearnCost(player), false); } else if (player->HasSpell(S_GNOMISH)) // Has Gnomish specialization { - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_GNOMISH, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 4, BOX_UNLEARN_ENGIN_SPEC, DoHighUnlearnCost(player), false); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_GNOMISH, GOSSIP_SENDER_UNLEARN, GOSSIP_ACTION_INFO_DEF + 4, BOX_UNLEARN_ENGIN_SPEC, DoHighUnlearnCost(player), false); } else // does not have any specialization { - player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_CHAT, GOSSIP_LEARN_GOBLIN, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 1, BOX_LEARN_ENGIN_SPEC, DoLearnCost(player), false); - player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_CHAT, GOSSIP_LEARN_GNOMISH, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 2, BOX_LEARN_ENGIN_SPEC, DoLearnCost(player), false); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_GOBLIN, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 1, BOX_LEARN_ENGIN_SPEC, DoLearnCost(player), false); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_GNOMISH, GOSSIP_SENDER_LEARN, GOSSIP_ACTION_INFO_DEF + 2, BOX_LEARN_ENGIN_SPEC, DoLearnCost(player), false); } } } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(gameobject), gameobject->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(gameobject), gameobject->GetGUID()); return true; } @@ -1232,13 +1232,13 @@ class go_evil_book_for_dummies : public GameObjectScript { // Goblin case GOSSIP_ACTION_INFO_DEF + 1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_GOBLIN, GOSSIP_SENDER_CHECK, uiAction); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(gameobject), gameobject->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_GOBLIN, GOSSIP_SENDER_CHECK, uiAction); + SendGossipMenuFor(player, player->GetGossipTextId(gameobject), gameobject->GetGUID()); break; // Gnomish case GOSSIP_ACTION_INFO_DEF + 2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LEARN_GNOMISH, GOSSIP_SENDER_CHECK, uiAction); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(gameobject), gameobject->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LEARN_GNOMISH, GOSSIP_SENDER_CHECK, uiAction); + SendGossipMenuFor(player, player->GetGossipTextId(gameobject), gameobject->GetGUID()); break; } } @@ -1249,20 +1249,20 @@ class go_evil_book_for_dummies : public GameObjectScript { // Goblin case GOSSIP_ACTION_INFO_DEF + 3: - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_GOBLIN, GOSSIP_SENDER_CHECK, uiAction, BOX_UNLEARN_ENGIN_SPEC, DoHighUnlearnCost(player), false); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(gameobject), gameobject->GetGUID()); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_GOBLIN, GOSSIP_SENDER_CHECK, uiAction, BOX_UNLEARN_ENGIN_SPEC, DoHighUnlearnCost(player), false); + SendGossipMenuFor(player, player->GetGossipTextId(gameobject), gameobject->GetGUID()); break; // Gnomish case GOSSIP_ACTION_INFO_DEF + 4: - player->ADD_GOSSIP_ITEM_EXTENDED(0, GOSSIP_UNLEARN_GNOMISH, GOSSIP_SENDER_CHECK, uiAction, BOX_UNLEARN_ENGIN_SPEC, DoHighUnlearnCost(player), false); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(gameobject), gameobject->GetGUID()); + AddGossipItemFor(player, 0, GOSSIP_UNLEARN_GNOMISH, GOSSIP_SENDER_CHECK, uiAction, BOX_UNLEARN_ENGIN_SPEC, DoHighUnlearnCost(player), false); + SendGossipMenuFor(player, player->GetGossipTextId(gameobject), gameobject->GetGUID()); break; } } - bool OnGossipSelect(Player* player, GameObject* gameobject, uint32 uiSender, uint32 uiAction) + bool OnGossipSelect(Player* player, GameObject* gameobject, uint32 uiSender, uint32 uiAction) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch(uiSender) { case GOSSIP_SENDER_LEARN: SendActionMenu(player, gameobject, uiAction); break; diff --git a/src/server/scripts/World/npc_taxi.cpp b/src/server/scripts/World/npc_taxi.cpp index aa944f904063c4..4b57c858ec6c7f 100644 --- a/src/server/scripts/World/npc_taxi.cpp +++ b/src/server/scripts/World/npc_taxi.cpp @@ -50,7 +50,7 @@ class npc_taxi : public CreatureScript public: npc_taxi() : CreatureScript("npc_taxi") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); @@ -59,220 +59,220 @@ class npc_taxi : public CreatureScript { case 17435: // Azuremyst Isle - Susurrus if (player->HasItemCount(23843, 1, true)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SUSURRUS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SUSURRUS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); break; case 20903: // Netherstorm - Protectorate Nether Drake if (player->GetQuestStatus(10438) == QUEST_STATUS_INCOMPLETE && player->HasItemCount(29778)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_NETHER_DRAKE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_NETHER_DRAKE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); break; case 29154: // Stormwind City - Thargold Ironwing - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_IRONWING, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_IRONWING, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); break; case 19409: // Hellfire Peninsula - Wing Commander Dabir'ee //Mission: The Murketh and Shaadraz Gateways if (player->GetQuestStatus(10146) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DABIREE1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_DABIREE1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); //Shatter Point if (!player->GetQuestRewardStatus(10340)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DABIREE2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_DABIREE2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); break; case 20235: // Hellfire Peninsula - Gryphoneer Windbellow //Mission: The Abyssal Shelf || Return to the Abyssal Shelf if (player->GetQuestStatus(10163) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(10346) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WINDBELLOW1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_WINDBELLOW1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); //Go to the Front if (player->GetQuestStatus(10382) != QUEST_STATUS_NONE && !player->GetQuestRewardStatus(10382)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WINDBELLOW2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_WINDBELLOW2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7); break; case 19401: // Hellfire Peninsula - Wing Commander Brack //Mission: The Murketh and Shaadraz Gateways if (player->GetQuestStatus(10129) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BRACK1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BRACK1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8); //Mission: The Abyssal Shelf || Return to the Abyssal Shelf if (player->GetQuestStatus(10162) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(10347) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BRACK2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BRACK2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9); //Spinebreaker Post if (player->GetQuestStatus(10242) == QUEST_STATUS_COMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_BRACK3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_BRACK3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 10); break; case 23413: // Blade's Edge Mountains - Skyguard Handler Irena if (player->GetReputationRank(1031) >= REP_HONORED) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_IRENA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_IRENA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 11); break; case 25059: // Isle of Quel'Danas - Ayren Cloudbreaker if (player->GetQuestStatus(11532) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(11533) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_CLOUDBREAKER1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_CLOUDBREAKER1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 12); if (player->GetQuestStatus(11542) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(11543) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_CLOUDBREAKER2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_CLOUDBREAKER2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 13); break; case 25236: // Isle of Quel'Danas - Unrestrained Dragonhawk if (player->GetQuestStatus(11542) == QUEST_STATUS_COMPLETE || player->GetQuestStatus(11543) == QUEST_STATUS_COMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DRAGONHAWK, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_DRAGONHAWK, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 14); break; case 20162: // Netherstorm - Veronia //Behind Enemy Lines if (player->GetQuestStatus(10652) != QUEST_STATUS_REWARDED) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_VERONIA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 15); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_VERONIA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 15); break; case 23415: // Terokkar Forest - Skyguard Handler Deesak if (player->GetReputationRank(1031) >= REP_HONORED) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_DEESAK, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 16); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_DEESAK, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 16); break; case 27575: // Dragonblight - Lord Afrasastrasz // middle -> ground - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_AFRASASTRASZ1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 17); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_AFRASASTRASZ1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 17); // middle -> top - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_AFRASASTRASZ2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 18); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_AFRASASTRASZ2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 18); break; case 26443: // Dragonblight - Tariolstrasz //need to check if quests are required before gossip available (12123, 12124) // ground -> top - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TARIOLSTRASZ1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 19); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_TARIOLSTRASZ1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 19); // ground -> middle - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TARIOLSTRASZ2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 20); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_TARIOLSTRASZ2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 20); break; case 26949: // Dragonblight - Torastrasza // top -> middle - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TORASTRASZA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 21); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_TORASTRASZA1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 21); // top -> ground - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_TORASTRASZA2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 22); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_TORASTRASZA2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 22); break; case 23704: // Dustwallow Marsh - Cassa Crimsonwing if (player->GetQuestStatus(11142) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_CRIMSONWING, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+25); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_CRIMSONWING, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+25); break; case 17209: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WILLIAMKEILAR1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 26); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WILLIAMKEILAR2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 27); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_WILLIAMKEILAR3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 28); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_WILLIAMKEILAR1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 26); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_WILLIAMKEILAR2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 27); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_WILLIAMKEILAR3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 28); break; } - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF: //spellId is correct, however it gives flight a somewhat funny effect //TaxiPath 506. - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 32474, true); break; case GOSSIP_ACTION_INFO_DEF + 1: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->ActivateTaxiPathTo(627); //TaxiPath 627 (possibly 627+628(152->153->154->155)) break; case GOSSIP_ACTION_INFO_DEF + 3: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 53335, true); //TaxiPath 1041 (Stormwind Harbor) break; case GOSSIP_ACTION_INFO_DEF + 4: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 33768, true); //TaxiPath 585 (Gateways Murket and Shaadraz) break; case GOSSIP_ACTION_INFO_DEF + 5: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 35069, true); //TaxiPath 612 (Taxi - Hellfire Peninsula - Expedition Point to Shatter Point) break; case GOSSIP_ACTION_INFO_DEF + 6: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 33899, true); //TaxiPath 589 (Aerial Assault Flight (Alliance)) break; case GOSSIP_ACTION_INFO_DEF + 7: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 35065, true); //TaxiPath 607 (Taxi - Hellfire Peninsula - Shatter Point to Beach Head) break; case GOSSIP_ACTION_INFO_DEF + 8: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 33659, true); //TaxiPath 584 (Gateways Murket and Shaadraz) break; case GOSSIP_ACTION_INFO_DEF + 9: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 33825, true); //TaxiPath 587 (Aerial Assault Flight (Horde)) break; case GOSSIP_ACTION_INFO_DEF + 10: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 34578, true); //TaxiPath 604 (Taxi - Reaver's Fall to Spinebreaker Ridge) break; case GOSSIP_ACTION_INFO_DEF + 11: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 41278, true); //TaxiPath 706 break; case GOSSIP_ACTION_INFO_DEF + 12: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 45071, true); //TaxiPath 779 break; case GOSSIP_ACTION_INFO_DEF + 13: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 45113, true); //TaxiPath 784 break; case GOSSIP_ACTION_INFO_DEF + 14: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 45353, true); //TaxiPath 788 break; case GOSSIP_ACTION_INFO_DEF + 15: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 34905, true); //TaxiPath 606 break; case GOSSIP_ACTION_INFO_DEF + 16: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 41279, true); //TaxiPath 705 (Taxi - Skettis to Skyguard Outpost) break; case GOSSIP_ACTION_INFO_DEF + 17: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->ActivateTaxiPathTo(882); break; case GOSSIP_ACTION_INFO_DEF + 18: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->ActivateTaxiPathTo(881); break; case GOSSIP_ACTION_INFO_DEF + 19: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->ActivateTaxiPathTo(878); break; case GOSSIP_ACTION_INFO_DEF + 20: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->ActivateTaxiPathTo(883); break; case GOSSIP_ACTION_INFO_DEF + 21: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->ActivateTaxiPathTo(880); break; case GOSSIP_ACTION_INFO_DEF + 22: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->ActivateTaxiPathTo(879); break; case GOSSIP_ACTION_INFO_DEF + 23: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 43074, true); //TaxiPath 736 break; case GOSSIP_ACTION_INFO_DEF + 24: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); //player->ActivateTaxiPathTo(738); player->CastSpell(player, 43136, false); break; case GOSSIP_ACTION_INFO_DEF + 25: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, 42295, true); break; case GOSSIP_ACTION_INFO_DEF + 26: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->ActivateTaxiPathTo(494); break; case GOSSIP_ACTION_INFO_DEF + 27: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->ActivateTaxiPathTo(495); break; case GOSSIP_ACTION_INFO_DEF + 28: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->ActivateTaxiPathTo(496); break; } diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index f6310333c4038c..77b1d436008df4 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -71,7 +71,7 @@ class npc_elder_clearwater : public CreatureScript struct npc_elder_clearwaterAI : public ScriptedAI { - npc_elder_clearwaterAI(Creature *c) : ScriptedAI(c) + npc_elder_clearwaterAI(Creature *c) : ScriptedAI(c) { events.Reset(); events.ScheduleEvent(EVENT_CLEARWATER_ANNOUNCE, 1000, 1, 0); @@ -87,7 +87,7 @@ class npc_elder_clearwater : public CreatureScript bool startWarning; bool finishWarning; - uint32 GetData(uint32 type) const + uint32 GetData(uint32 type) const override { if (type == DATA_DERBY_FINISHED) return (uint32)finished; @@ -95,13 +95,13 @@ class npc_elder_clearwater : public CreatureScript return 0; } - void DoAction(int32 param) + void DoAction(int32 param) override { if (param == DATA_DERBY_FINISHED) finished = true; } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { events.Update(diff); switch (events.GetEvent()) @@ -142,7 +142,7 @@ class npc_elder_clearwater : public CreatureScript } }; - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { QuestRelationBounds pObjectQR; QuestRelationBounds pObjectQIR; @@ -181,18 +181,18 @@ class npc_elder_clearwater : public CreatureScript return true; } - bool OnQuestReward(Player* player, Creature* creature, Quest const* quest, uint32 /*opt*/) + bool OnQuestReward(Player* player, Creature* creature, Quest const* quest, uint32 /*opt*/) override { if (!creature->AI()->GetData(DATA_DERBY_FINISHED) && quest->GetQuestId() == QUEST_FISHING_DERBY) { creature->AI()->DoAction(DATA_DERBY_FINISHED); sCreatureTextMgr->SendChat(creature, CLEARWATER_SAY_WINNER, player, CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, TEXT_RANGE_MAP); } + return true; } - - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* pCreature) const override { return new npc_elder_clearwaterAI (pCreature); } @@ -218,7 +218,7 @@ class npc_riggle_bassbait : public CreatureScript struct npc_riggle_bassbaitAI : public ScriptedAI { - npc_riggle_bassbaitAI(Creature *c) : ScriptedAI(c) + npc_riggle_bassbaitAI(Creature *c) : ScriptedAI(c) { events.Reset(); events.ScheduleEvent(EVENT_RIGGLE_ANNOUNCE, 1000, 1, 0); @@ -232,7 +232,7 @@ class npc_riggle_bassbait : public CreatureScript bool startWarning; bool finishWarning; - uint32 GetData(uint32 type) const + uint32 GetData(uint32 type) const override { if (type == DATA_ANGLER_FINISHED) return (uint32)finished; @@ -240,13 +240,13 @@ class npc_riggle_bassbait : public CreatureScript return 0; } - void DoAction(int32 param) + void DoAction(int32 param) override { if (param == DATA_ANGLER_FINISHED) finished = true; } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { events.Update(diff); switch (events.GetEvent()) @@ -281,16 +281,16 @@ class npc_riggle_bassbait : public CreatureScript } }; - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (!creature->AI()->GetData(DATA_ANGLER_FINISHED)) player->PrepareQuestMenu(creature->GetGUID()); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnQuestReward(Player* player, Creature* creature, Quest const* quest, uint32 /*opt*/) + bool OnQuestReward(Player* player, Creature* creature, Quest const* quest, uint32 /*opt*/) override { if (!creature->AI()->GetData(DATA_ANGLER_FINISHED) && quest->GetQuestId() == QUEST_MASTER_ANGLER) { @@ -300,8 +300,7 @@ class npc_riggle_bassbait : public CreatureScript return true; } - - CreatureAI* GetAI(Creature* pCreature) const + CreatureAI* GetAI(Creature* pCreature) const override { return new npc_riggle_bassbaitAI (pCreature); } @@ -659,21 +658,21 @@ class npc_lunaclaw_spirit : public CreatureScript public: npc_lunaclaw_spirit() : CreatureScript("npc_lunaclaw_spirit") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (player->GetQuestStatus(QUEST_BODY_HEART_A) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_BODY_HEART_H) == QUEST_STATUS_INCOMPLETE) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_GRANT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_GRANT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(TEXT_ID_DEFAULT, creature->GetGUID()); + SendGossipMenuFor(player, TEXT_ID_DEFAULT, creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); if (action == GOSSIP_ACTION_INFO_DEF + 1) { - player->SEND_GOSSIP_MENU(TEXT_ID_PROGRESS, creature->GetGUID()); + SendGossipMenuFor(player, TEXT_ID_PROGRESS, creature->GetGUID()); player->AreaExploredOrEventHappens(player->GetTeamId() == TEAM_ALLIANCE ? QUEST_BODY_HEART_A : QUEST_BODY_HEART_H); } return true; @@ -706,16 +705,16 @@ class npc_chicken_cluck : public CreatureScript uint32 ResetFlagTimer; - void Reset() + void Reset() override { ResetFlagTimer = 120000; me->setFaction(FACTION_CHICKEN); me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); } - void EnterCombat(Unit* /*who*/) { } + void EnterCombat(Unit* /*who*/) override { } - void UpdateAI(uint32 diff) + void UpdateAI(uint32 diff) override { // Reset flags after a certain time has passed so that the next player has to start the 'event' again if (me->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER)) @@ -733,7 +732,7 @@ class npc_chicken_cluck : public CreatureScript DoMeleeAttackIfReady(); } - void ReceiveEmote(Player* player, uint32 emote) + void ReceiveEmote(Player* player, uint32 emote) override { switch (emote) { @@ -1552,7 +1551,7 @@ class npc_sayge : public CreatureScript public: npc_sayge() : CreatureScript("npc_sayge") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsQuestGiver()) player->PrepareQuestMenu(creature->GetGUID()); @@ -1565,11 +1564,11 @@ class npc_sayge : public CreatureScript player->HasSpellCooldown(SPELL_AGI) || player->HasSpellCooldown(SPELL_STM) || player->HasSpellCooldown(SPELL_SPI)) - player->SEND_GOSSIP_MENU(7393, creature->GetGUID()); + SendGossipMenuFor(player, 7393, creature->GetGUID()); else { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_SAYGE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->SEND_GOSSIP_MENU(7339, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_HELLO_SAYGE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + SendGossipMenuFor(player, 7339, creature->GetGUID()); } return true; @@ -1580,50 +1579,50 @@ class npc_sayge : public CreatureScript switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); - player->SEND_GOSSIP_MENU(7340, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + SendGossipMenuFor(player, 7340, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 2: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE5, GOSSIP_SENDER_MAIN + 1, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE6, GOSSIP_SENDER_MAIN + 2, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE7, GOSSIP_SENDER_MAIN + 3, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(7341, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE5, GOSSIP_SENDER_MAIN + 1, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE6, GOSSIP_SENDER_MAIN + 2, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE7, GOSSIP_SENDER_MAIN + 3, GOSSIP_ACTION_INFO_DEF); + SendGossipMenuFor(player, 7341, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 3: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE8, GOSSIP_SENDER_MAIN + 4, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE9, GOSSIP_SENDER_MAIN + 5, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE10, GOSSIP_SENDER_MAIN + 2, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(7361, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE8, GOSSIP_SENDER_MAIN + 4, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE9, GOSSIP_SENDER_MAIN + 5, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE10, GOSSIP_SENDER_MAIN + 2, GOSSIP_ACTION_INFO_DEF); + SendGossipMenuFor(player, 7361, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 4: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE11, GOSSIP_SENDER_MAIN + 6, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE12, GOSSIP_SENDER_MAIN + 7, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE13, GOSSIP_SENDER_MAIN + 8, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(7362, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE11, GOSSIP_SENDER_MAIN + 6, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE12, GOSSIP_SENDER_MAIN + 7, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE13, GOSSIP_SENDER_MAIN + 8, GOSSIP_ACTION_INFO_DEF); + SendGossipMenuFor(player, 7362, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 5: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE14, GOSSIP_SENDER_MAIN + 5, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE15, GOSSIP_SENDER_MAIN + 4, GOSSIP_ACTION_INFO_DEF); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE16, GOSSIP_SENDER_MAIN + 3, GOSSIP_ACTION_INFO_DEF); - player->SEND_GOSSIP_MENU(7363, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE14, GOSSIP_SENDER_MAIN + 5, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE15, GOSSIP_SENDER_MAIN + 4, GOSSIP_ACTION_INFO_DEF); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE16, GOSSIP_SENDER_MAIN + 3, GOSSIP_ACTION_INFO_DEF); + SendGossipMenuFor(player, 7363, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF: - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE17, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); - player->SEND_GOSSIP_MENU(7364, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE17, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); + SendGossipMenuFor(player, 7364, creature->GetGUID()); break; case GOSSIP_ACTION_INFO_DEF + 6: creature->CastSpell(player, SPELL_FORTUNE, false); - player->SEND_GOSSIP_MENU(7365, creature->GetGUID()); + SendGossipMenuFor(player, 7365, creature->GetGUID()); break; } } - bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (sender) { case GOSSIP_SENDER_MAIN: @@ -1755,56 +1754,56 @@ class npc_wormhole : public CreatureScript bool _showUnderground; }; - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { if (creature->IsSummon()) { if (player == creature->ToTempSummon()->GetSummoner()) { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ENGINEERING1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ENGINEERING2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ENGINEERING3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ENGINEERING4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ENGINEERING5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ENGINEERING1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ENGINEERING2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ENGINEERING3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ENGINEERING4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ENGINEERING5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); if (creature->AI()->GetData(DATA_SHOW_UNDERGROUND)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ENGINEERING6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ENGINEERING6, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); - player->PlayerTalkClass->SendGossipMenu(TEXT_WORMHOLE, creature->GetGUID()); + SendGossipMenuFor(player, TEXT_WORMHOLE, creature); } } return true; } - bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: // Borean Tundra - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->CastSpell(player, SPELL_BOREAN_TUNDRA, false); break; case GOSSIP_ACTION_INFO_DEF + 2: // Howling Fjord - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->CastSpell(player, SPELL_HOWLING_FJORD, false); break; case GOSSIP_ACTION_INFO_DEF + 3: // Sholazar Basin - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->CastSpell(player, SPELL_SHOLAZAR_BASIN, false); break; case GOSSIP_ACTION_INFO_DEF + 4: // Icecrown - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->CastSpell(player, SPELL_ICECROWN, false); break; case GOSSIP_ACTION_INFO_DEF + 5: // Storm peaks - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->CastSpell(player, SPELL_STORM_PEAKS, false); break; case GOSSIP_ACTION_INFO_DEF + 6: // Underground - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); creature->CastSpell(player, SPELL_UNDERGROUND, false); break; } @@ -1812,7 +1811,7 @@ class npc_wormhole : public CreatureScript return true; } - CreatureAI* GetAI(Creature* creature) const + CreatureAI* GetAI(Creature* creature) const override { return new npc_wormholeAI(creature); } @@ -1837,7 +1836,6 @@ class npc_pet_trainer : public CreatureScript { npc_pet_trainerAI(Creature* creature) : ScriptedAI(creature) { } - void sGossipSelect(Player* player, uint32 menuId, uint32 gossipListId) override { if (menuId == PET_UNLEARN && gossipListId == YES_PLEASE_DO) @@ -1907,90 +1905,90 @@ class npc_locksmith : public CreatureScript public: npc_locksmith() : CreatureScript("npc_locksmith") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { // Arcatraz Key if (player->GetQuestRewardStatus(QUEST_HOW_TO_BRAKE_IN_TO_THE_ARCATRAZ) && !player->HasItemCount(ITEM_ARCATRAZ_KEY, 1, true)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LOST_ARCATRAZ_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LOST_ARCATRAZ_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); // Shadowforge Key if (player->GetQuestRewardStatus(QUEST_DARK_IRON_LEGACY) && !player->HasItemCount(ITEM_SHADOWFORGE_KEY, 1, true)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LOST_SHADOWFORGE_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LOST_SHADOWFORGE_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); // Skeleton Key if ((player->GetQuestRewardStatus(QUEST_THE_KEY_TO_SCHOLOMANCE_A) || player->GetQuestRewardStatus(QUEST_THE_KEY_TO_SCHOLOMANCE_H)) && !player->HasItemCount(ITEM_SKELETON_KEY, 1, true)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LOST_SKELETON_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LOST_SKELETON_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3); // Shatered Halls Key if ((player->GetQuestRewardStatus(QUEST_HOTTER_THAN_HELL_A) || player->GetQuestRewardStatus(QUEST_HOTTER_THAN_HELL_H)) && !player->HasItemCount(ITEM_SHATTERED_HALLS_KEY, 1, true)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LOST_SHATTERED_HALLS_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LOST_SHATTERED_HALLS_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4); // Master's Key if (player->GetQuestRewardStatus(QUEST_RETURN_TO_KHAGDAR) && !player->HasItemCount(ITEM_THE_MASTERS_KEY, 1, true)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LOST_THE_MASTERS_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LOST_THE_MASTERS_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5); // Violet Hold Key if (player->GetQuestRewardStatus(QUEST_CONTAINMENT) && !player->HasItemCount(ITEM_VIOLET_HOLD_KEY, 1, true)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LOST_VIOLET_HOLD_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LOST_VIOLET_HOLD_KEY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6); // Essence-Infused Moonstone if (player->GetQuestRewardStatus(QUEST_ETERNAL_VIGILANCE) && !player->HasItemCount(ITEM_ESSENCE_INFUSED_MOONSTONE, 1, true)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LOST_ESSENCE_INFUSED_MOONSTONE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LOST_ESSENCE_INFUSED_MOONSTONE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 7); // Key to the Focusing Iris if (player->GetQuestRewardStatus(QUEST_KEY_TO_THE_FOCUSING_IRIS) && !player->HasItemCount(ITEM_KEY_TO_THE_FOCUSING_IRIS, 1, true)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LOST_KEY_TO_THE_FOCUSING_IRIS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LOST_KEY_TO_THE_FOCUSING_IRIS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 8); // Heroic Key to the Focusing Iris if (player->GetQuestRewardStatus(QUEST_HC_KEY_TO_THE_FOCUSING_IRIS) && !player->HasItemCount(ITEM_HC_KEY_TO_THE_FOCUSING_IRIS, 1, true)) - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_LOST_HC_KEY_TO_THE_FOCUSING_IRIS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_LOST_HC_KEY_TO_THE_FOCUSING_IRIS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 9); - player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); + SendGossipMenuFor(player, player->GetGossipTextId(creature), creature->GetGUID()); return true; } - bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); switch (action) { case GOSSIP_ACTION_INFO_DEF + 1: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, SPELL_ARCATRAZ_KEY, false); break; case GOSSIP_ACTION_INFO_DEF + 2: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, SPELL_SHADOWFORGE_KEY, false); break; case GOSSIP_ACTION_INFO_DEF + 3: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, SPELL_SKELETON_KEY, false); break; case GOSSIP_ACTION_INFO_DEF + 4: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, SPELL_SHATTERED_HALLS_KEY, false); break; case GOSSIP_ACTION_INFO_DEF + 5: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, SPELL_THE_MASTERS_KEY, false); break; case GOSSIP_ACTION_INFO_DEF + 6: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, SPELL_VIOLET_HOLD_KEY, false); break; case GOSSIP_ACTION_INFO_DEF + 7: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->CastSpell(player, SPELL_ESSENCE_INFUSED_MOONSTONE, false); break; case GOSSIP_ACTION_INFO_DEF + 8: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->AddItem(ITEM_KEY_TO_THE_FOCUSING_IRIS, 1); break; case GOSSIP_ACTION_INFO_DEF + 9: - player->CLOSE_GOSSIP_MENU(); + CloseGossipMenuFor(player); player->AddItem(ITEM_HC_KEY_TO_THE_FOCUSING_IRIS, 1); break; } @@ -2012,17 +2010,17 @@ class npc_experience : public CreatureScript public: npc_experience() : CreatureScript("npc_experience") { } - bool OnGossipHello(Player* player, Creature* creature) + bool OnGossipHello(Player* player, Creature* creature) override { - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_XP_OFF, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_XP_ON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - player->PlayerTalkClass->SendGossipMenu(GOSSIP_TEXT_EXP, creature->GetGUID()); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_XP_OFF, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_XP_ON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + SendGossipMenuFor(player, GOSSIP_TEXT_EXP, creature); return true; } - bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) + bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) override { - player->PlayerTalkClass->ClearMenus(); + ClearGossipMenuFor(player); bool noXPGain = player->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_NO_XP_GAIN); bool doSwitch = false;