diff --git a/data/sql/updates/pending_db_world/rev_1736546523943069600.sql b/data/sql/updates/pending_db_world/rev_1736546523943069600.sql new file mode 100644 index 000000000..f9f863d9e --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1736546523943069600.sql @@ -0,0 +1,2 @@ +-- +UPDATE `command` SET `help` = 'Syntax: .instance getbossstate [$Name]\nDisplays the state for every available encounter.\nIf no character name is provided, the current map will be used as target.' WHERE `name` = 'instance getbossstate'; diff --git a/src/server/scripts/Commands/cs_instance.cpp b/src/server/scripts/Commands/cs_instance.cpp index cd6836372..7b1c452e9 100644 --- a/src/server/scripts/Commands/cs_instance.cpp +++ b/src/server/scripts/Commands/cs_instance.cpp @@ -206,7 +206,7 @@ public: return true; } - static bool HandleInstanceGetBossStateCommand(ChatHandler* handler, uint32 encounterId, Optional player) + static bool HandleInstanceGetBossStateCommand(ChatHandler* handler, Optional player) { // Character name must be provided when using this from console. if (!player && !handler->GetSession()) @@ -237,15 +237,13 @@ public: return false; } - if (encounterId > map->GetInstanceScript()->GetEncounterCount()) + for (uint8 i = 0; i < map->GetInstanceScript()->GetEncounterCount(); ++i) { - handler->SendErrorMessage(LANG_BAD_VALUE); - return false; + uint32 state = map->GetInstanceScript()->GetBossState(i); + std::string stateName = InstanceScript::GetBossStateName(state); + handler->PSendSysMessage(LANG_COMMAND_INST_GET_BOSS_STATE, i, state, stateName); } - uint32 state = map->GetInstanceScript()->GetBossState(encounterId); - std::string stateName = InstanceScript::GetBossStateName(state); - handler->PSendSysMessage(LANG_COMMAND_INST_GET_BOSS_STATE, encounterId, state, stateName); return true; } };