diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp index 188587e7b..1acc91497 100644 --- a/src/game/Chat.cpp +++ b/src/game/Chat.cpp @@ -389,6 +389,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 }, diff --git a/src/game/Chat.h b/src/game/Chat.h index 583a0c8d2..7823c2888 100644 --- a/src/game/Chat.h +++ b/src/game/Chat.h @@ -308,6 +308,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); diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index c51e2ac14..a7b186fd6 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -65,6 +65,7 @@ bool ChatHandler::HandleReloadAllCommand(const char*) HandleReloadAllQuestCommand(""); HandleReloadAllSpellCommand(""); HandleReloadAllItemCommand(""); + HandleReloadAllGossipsCommand(""); HandleReloadAllLocalesCommand(""); HandleReloadMailLevelRewardCommand(""); @@ -99,9 +100,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"); @@ -168,6 +170,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"); diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index 38fc72940..333e6be2b 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -6424,6 +6424,8 @@ void ObjectMgr::LoadReputationOnKill() void ObjectMgr::LoadPointsOfInterest() { + mPointsOfInterest.clear(); // need for reload case + uint32 count = 0; // 0 1 2 3 4 5 diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index a453c2405..b2f1ec879 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9370" + #define REVISION_NR "9371" #endif // __REVISION_NR_H__