206 {
207
209 {
211 return false;
212 }
213
214 if (!player)
216
217 if (!player->IsConnected())
218 {
220 return false;
221 }
222
224 if (!map)
225 {
227 return false;
228 }
229
231 {
233 return false;
234 }
235
236
237 std::unordered_map<uint32, char const*> encounterNames;
239
240
241
242
244 if ((map->
GetId() == 631 || map->
GetId() == 724)
246 {
247 encounters =
sObjectMgr->GetDungeonEncounterList(
252 }
253 else
254 {
257 : difficulty;
258 encounters =
sObjectMgr->GetDungeonEncounterList(
259 map->
GetId(), diffFixed);
260 }
261
262 if (encounters)
263 {
264 for (auto const* encounter : *encounters)
265 encounterNames[encounter->dbcEntry->encounterIndex]
266 = encounter->dbcEntry->encounterName[0];
267 }
268
270 {
273
274 auto it = encounterNames.find(i);
275 std::string bossName = (it != encounterNames.end()
276 && it->second) ? it->second : "Unknown";
277
280 i, bossName, state, stateName);
281 }
282
283 return true;
284 }
Difficulty
Definition DBCEnums.h:266
@ RAID_DIFFICULTY_10MAN_NORMAL
Definition DBCEnums.h:273
@ RAID_DIFFICULTY_25MAN_NORMAL
Definition DBCEnums.h:274
bool IsSharedDifficultyMap(uint32 mapid)
Definition DBCStores.cpp:829
std::uint8_t uint8
Definition Define.h:109
std::uint32_t uint32
Definition Define.h:107
@ LANG_COMMAND_INST_GET_BOSS_STATE
Definition Language.h:1122
@ LANG_NOT_DUNGEON
Definition Language.h:1119
@ LANG_NO_INSTANCE_DATA
Definition Language.h:1120
@ LANG_CMD_SYNTAX
Definition Language.h:42
@ LANG_PLAYER_NOT_FOUND
Definition Language.h:548
#define sObjectMgr
Definition ObjectMgr.h:1723
std::list< DungeonEncounter const * > DungeonEncounterList
Definition ObjectMgr.h:714
void PSendSysMessage(std::string_view str, bool escapeCharacters=false)
Definition Chat.cpp:219
WorldSession * GetSession()
Definition Chat.h:242
void SendErrorMessage(uint32 entry)
Definition Chat.cpp:224
InstanceScript * GetInstanceScript()
Definition Map.h:720
EncounterState GetBossState(uint32 id) const
Definition InstanceScript.h:252
static std::string GetBossStateName(uint8 state)
Definition InstanceScript.cpp:837
bool Is25ManRaid() const
Definition Map.h:302
uint32 GetId() const
Definition Map.h:232
InstanceMap * ToInstanceMap()
Definition Map.h:381
Difficulty GetDifficulty() const
Definition Map.h:292
bool IsHeroic() const
Definition Map.h:301
static Optional< PlayerIdentifier > FromSelf(ChatHandler *handler)
Definition ChatCommandTags.cpp:147