diff options
author | Shocker <none@none> | 2010-08-28 01:44:35 +0300 |
---|---|---|
committer | Shocker <none@none> | 2010-08-28 01:44:35 +0300 |
commit | e3b92f9630106570784aa84efba08a1fcd0770c6 (patch) | |
tree | 926fcf1c849c84b4885ed135e2bff2c29898c99b /src | |
parent | e85df477497de743dd6d862213238c25a7ebedc2 (diff) |
Implement .reload all_gossips, .reload quest_poi, .reload locales_gossip_menu_option. Original code by VladimirMangos, ported by Ramus. Closes issue #3466, issue #3637 and issue #3477
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Chat/Chat.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Chat/Chat.h | 3 | ||||
-rw-r--r-- | src/server/game/Chat/Commands/Level3.cpp | 35 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 4 |
5 files changed, 44 insertions, 3 deletions
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp index aed1818ca8b..373559b73cc 100644 --- a/src/server/game/Chat/Chat.cpp +++ b/src/server/game/Chat/Chat.cpp @@ -446,6 +446,7 @@ ChatCommand * ChatHandler::getCommandTable() { "all_achievement",SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllAchievementCommand,"", NULL }, { "all_area", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllAreaCommand, "", NULL }, { "all_eventai", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllEventAICommand, "", NULL }, + { "all_gossips", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllGossipsCommand, "", NULL }, { "all_item", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllItemCommand, "", NULL }, { "all_locales", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllLocalesCommand, "", NULL }, { "all_loot", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadAllLootCommand, "", NULL }, @@ -494,6 +495,7 @@ ChatCommand * ChatHandler::getCommandTable() { "locales_achievement_reward", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesAchievementRewardCommand,"", NULL }, { "locales_creature", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesCreatureCommand, "", NULL }, { "locales_gameobject", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesGameobjectCommand, "", NULL }, + { "locales_gossip_menu_option", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesGossipMenuOptionCommand, "", NULL }, { "locales_item", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesItemCommand, "", NULL }, { "locales_item_set_name", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesItemSetNameCommand, "", NULL }, { "locales_npc_text", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLocalesNpcTextCommand, "", NULL }, @@ -513,6 +515,7 @@ ChatCommand * ChatHandler::getCommandTable() { "points_of_interest", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadPointsOfInterestCommand, "",NULL}, { "prospecting_loot_template", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLootTemplatesProspectingCommand,"", NULL }, { "quest_end_scripts", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadQuestEndScriptsCommand, "", NULL }, + { "quest_poi", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadQuestPOICommand, "", NULL }, { "quest_start_scripts", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadQuestStartScriptsCommand, "", NULL }, { "quest_template", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadQuestTemplateCommand, "", NULL }, { "reference_loot_template", SEC_ADMINISTRATOR, true, &ChatHandler::HandleReloadLootTemplatesReferenceCommand, "", NULL }, diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h index 630a8668e49..913e9b71360 100644 --- a/src/server/game/Chat/Chat.h +++ b/src/server/game/Chat/Chat.h @@ -348,6 +348,7 @@ class ChatHandler bool HandleReloadAllCommand(const char* args); bool HandleReloadAllAchievementCommand(const char* args); bool HandleReloadAllAreaCommand(const char* args); + bool HandleReloadAllGossipsCommand(const char* args); bool HandleReloadAllItemCommand(const char* args); bool HandleReloadAllLootCommand(const char* args); bool HandleReloadAllNpcCommand(const char* args); @@ -389,6 +390,7 @@ class ChatHandler bool HandleReloadLocalesAchievementRewardCommand(const char* args); bool HandleReloadLocalesCreatureCommand(const char* args); bool HandleReloadLocalesGameobjectCommand(const char* args); + bool HandleReloadLocalesGossipMenuOptionCommand(const char* args); bool HandleReloadLocalesItemCommand(const char* args); bool HandleReloadLocalesItemSetNameCommand(const char* args); bool HandleReloadLocalesNpcTextCommand(const char* args); @@ -418,6 +420,7 @@ class ChatHandler bool HandleReloadSpellClickSpellsCommand(const char* args); bool HandleReloadQuestAreaTriggersCommand(const char* args); bool HandleReloadQuestEndScriptsCommand(const char* args); + bool HandleReloadQuestPOICommand(const char* args); bool HandleReloadQuestStartScriptsCommand(const char* args); bool HandleReloadQuestTemplateCommand(const char* args); bool HandleReloadReservedNameCommand(const char*); diff --git a/src/server/game/Chat/Commands/Level3.cpp b/src/server/game/Chat/Commands/Level3.cpp index 30062e91619..3bc1c569889 100644 --- a/src/server/game/Chat/Commands/Level3.cpp +++ b/src/server/game/Chat/Commands/Level3.cpp @@ -73,6 +73,7 @@ bool ChatHandler::HandleReloadAllCommand(const char*) HandleReloadAllQuestCommand(""); HandleReloadAllSpellCommand(""); HandleReloadAllItemCommand(""); + HandleReloadAllGossipsCommand(""); HandleReloadAllLocalesCommand(""); HandleReloadAccessRequirementCommand(""); @@ -111,9 +112,10 @@ bool ChatHandler::HandleReloadAllLootCommand(const char*) return true; } -bool ChatHandler::HandleReloadAllNpcCommand(const char* /*args*/) +bool ChatHandler::HandleReloadAllNpcCommand(const char* args) { - HandleReloadNpcGossipCommand("a"); + if(*args != 'a') // will be reloaded from all_gossips + HandleReloadNpcGossipCommand("a"); HandleReloadNpcTrainerCommand("a"); HandleReloadNpcVendorCommand("a"); HandleReloadPointsOfInterestCommand("a"); @@ -124,6 +126,7 @@ bool ChatHandler::HandleReloadAllNpcCommand(const char* /*args*/) bool ChatHandler::HandleReloadAllQuestCommand(const char* /*args*/) { HandleReloadQuestAreaTriggersCommand("a"); + HandleReloadQuestPOICommand("a"); HandleReloadQuestTemplateCommand("a"); sLog.outString("Re-Loading Quests Relations..."); @@ -180,6 +183,17 @@ bool ChatHandler::HandleReloadAllSpellCommand(const char*) return true; } +bool ChatHandler::HandleReloadAllGossipsCommand(const char* args) +{ + HandleReloadGossipMenuCommand("a"); + HandleReloadGossipMenuOptionCommand("a"); + if(*args != 'a') // already reload from all_scripts + HandleReloadGossipScriptsCommand("a"); + HandleReloadNpcGossipCommand("a"); + HandleReloadPointsOfInterestCommand("a"); + return true; +} + bool ChatHandler::HandleReloadAllItemCommand(const char*) { HandleReloadPageTextsCommand("a"); @@ -192,6 +206,7 @@ bool ChatHandler::HandleReloadAllLocalesCommand(const char* /*args*/) HandleReloadLocalesAchievementRewardCommand("a"); HandleReloadLocalesCreatureCommand("a"); HandleReloadLocalesGameobjectCommand("a"); + HandleReloadLocalesGossipMenuOptionCommand("a"); HandleReloadLocalesItemCommand("a"); HandleReloadLocalesNpcTextCommand("a"); HandleReloadLocalesPageTextCommand("a"); @@ -651,6 +666,14 @@ bool ChatHandler::HandleReloadPointsOfInterestCommand(const char*) return true; } +bool ChatHandler::HandleReloadQuestPOICommand(const char*) +{ + sLog.outString( "Re-Loading Quest POI ..." ); + sObjectMgr.LoadQuestPOI(); + SendGlobalGMSysMessage("DB Table `quest_poi` and `quest_poi_points` reloaded."); + return true; +} + bool ChatHandler::HandleReloadSpellClickSpellsCommand(const char*) { sLog.outString("Re-Loading `npc_spellclick_spells` Table!"); @@ -1048,6 +1071,14 @@ bool ChatHandler::HandleReloadLocalesGameobjectCommand(const char* /*arg*/) return true; } +bool ChatHandler::HandleReloadLocalesGossipMenuOptionCommand(const char* /*arg*/) +{ + sLog.outString( "Re-Loading Locales Gossip Menu Option ... "); + sObjectMgr.LoadGossipMenuItemsLocales(); + SendGlobalGMSysMessage("DB table `locales_gossip_menu_option` reloaded."); + return true; +} + bool ChatHandler::HandleReloadLocalesItemCommand(const char* /*arg*/) { sLog.outString("Re-Loading Locales Item ... "); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 73bb481d0bc..06b5a7fd33b 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -20335,7 +20335,7 @@ bool Player::canSeeOrDetect(Unit const* u, bool detect, bool inVisibleList, bool return true; // Arena visibility before arena start - if (InArena() && GetBattleground() && GetBattleground()->GetStatus() == STATUS_WAIT_JOIN) + if (InArena() && GetBattleground()->GetStatus() == STATUS_WAIT_JOIN) if (const Player* target = u->GetCharmerOrOwnerPlayerOrPlayerItself()) return GetBGTeam() == target->GetBGTeam(); diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 1e425dbe430..aecf48a4f1a 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -6986,6 +6986,8 @@ void ObjectMgr::LoadReputationSpilloverTemplate() void ObjectMgr::LoadPointsOfInterest() { + mPointsOfInterest.clear(); // need for reload case + uint32 count = 0; // 0 1 2 3 4 5 6 @@ -7036,6 +7038,8 @@ void ObjectMgr::LoadPointsOfInterest() void ObjectMgr::LoadQuestPOI() { + mQuestPOIMap.clear(); // need for reload case + uint32 count = 0; // 0 1 2 3 |