diff options
| -rw-r--r-- | sql/base/world_database.sql | 3 | ||||
| -rw-r--r-- | sql/updates/9644_world_command.sql | 5 | ||||
| -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 |
7 files changed, 52 insertions, 3 deletions
diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql index d7153a86a60..b4af6b72227 100644 --- a/sql/base/world_database.sql +++ b/sql/base/world_database.sql @@ -555,6 +555,7 @@ INSERT INTO `command` VALUES ('recall',1,'Syntax: .recall [$playername]\r\n\r\nTeleport $playername or selected player to the place where he has been before last use of a teleportation command. If no $playername is entered and no player is selected, it will teleport you.'), ('reload',3,'Syntax: .reload $subcommand\nType .reload to see the list of possible subcommands or .help reload $subcommand to see info on subcommands'), ('reload all',3,'Syntax: .reload all\r\n\r\nReload all tables with reload support added and that can be _safe_ reloaded.'), +('reload all_gossips',3,'Syntax: .reload all_gossips\nReload gossip_menu, gossip_menu_option, gossip_scripts, npc_gossip, points_of_interest tables.'), ('reload all_item',3,'Syntax: .reload all_item\nReload page_text, item_enchantment_table tables.'), ('reload all_locales',3,'Syntax: .reload all_locales\r\n\r\nReload all `locales_*` tables with reload support added and that can be _safe_ reloaded.'), ('reload all_loot',3,'Syntax: .reload all_loot\r\n\r\nReload all `*_loot_template` tables. This can be slow operation with lags for server run.'), @@ -593,6 +594,7 @@ INSERT INTO `command` VALUES ('reload item_set_names',3,'Syntax: .reload item_set_names\nReload item_set_names table.'), ('reload locales_creature',3,'Syntax: .reload locales_creature\nReload locales_creature table.'), ('reload locales_gameobject',3,'Syntax: .reload locales_gameobject\nReload locales_gameobject table.'), +('reload locales_gossip_menu_option',3, 'Syntax: .reload locales_gossip_menu_option\nReload locales_gossip_menu_option table.'), ('reload locales_item',3,'Syntax: .reload locales_item\nReload locales_item table.'), ('reload locales_item_set_name',3,'Syntax: .reload locales_item_set_name\nReload locales_item_set_name table.'), ('reload locales_npc_text',3,'Syntax: .reload locales_npc_text\nReload locales_npc_text table.'), @@ -609,6 +611,7 @@ INSERT INTO `command` VALUES ('reload prospecting_loot_template',3,'Syntax: .reload prospecting_loot_template\nReload prospecting_loot_template table.'), ('reload quest_end_scripts',3,'Syntax: .reload quest_end_scripts\nReload quest_end_scripts table.'), ('reload mail_loot_template',3,'Syntax: .reload mail_loot_template\nReload mail_loot_template table.'), +('reload quest_poi',3,'Syntax: .reload quest_poi\nReload quest_poi table.'), ('reload quest_start_scripts',3,'Syntax: .reload quest_start_scripts\nReload quest_start_scripts table.'), ('reload quest_template',3,'Syntax: .reload quest_template\nReload quest_template table.'), ('reload reference_loot_template',3,'Syntax: .reload reference_loot_template\nReload reference_loot_template table.'), diff --git a/sql/updates/9644_world_command.sql b/sql/updates/9644_world_command.sql new file mode 100644 index 00000000000..d1e5687f68e --- /dev/null +++ b/sql/updates/9644_world_command.sql @@ -0,0 +1,5 @@ +DELETE FROM command WHERE name IN ('reload all_gossips', 'reload locales_gossip_menu_option', 'reload quest_poi'); +INSERT INTO command (name, security, help) VALUES +('reload all_gossips',3,'Syntax: .reload all_gossips\nReload gossip_menu, gossip_menu_option, gossip_scripts, npc_gossip, points_of_interest tables.'), +('reload locales_gossip_menu_option',3, 'Syntax: .reload locales_gossip_menu_option\nReload locales_gossip_menu_option table.'), +('reload quest_poi',3,'Syntax: .reload quest_poi\nReload quest_poi table.');
\ No newline at end of file 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 |
