diff --git a/src/game/Object/Player.cpp b/src/game/Object/Player.cpp index d04f5445..0765db72 100644 --- a/src/game/Object/Player.cpp +++ b/src/game/Object/Player.cpp @@ -2465,9 +2465,9 @@ void Player::SetGameMaster(bool on) if (on) { m_ExtraFlags |= PLAYER_EXTRA_GM_ON; - setFaction(35); + //setFaction(35); + SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_0); SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_GM); - CallForAllControlledUnits(SetGameMasterOnHelper(), CONTROLLED_PET | CONTROLLED_TOTEMS | CONTROLLED_GUARDIANS | CONTROLLED_CHARM); SetFFAPvP(false); @@ -2479,9 +2479,11 @@ void Player::SetGameMaster(bool on) else { m_ExtraFlags &= ~ PLAYER_EXTRA_GM_ON; - setFactionForRace(getRace()); + //setFactionForRace(getRace()); + RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNK_0); RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_GM); + CallForAllControlledUnits(SetGameMasterOffHelper(getFaction()), CONTROLLED_PET | CONTROLLED_TOTEMS | CONTROLLED_GUARDIANS | CONTROLLED_CHARM); // restore FFA PvP Server state diff --git a/src/game/WorldHandlers/Chat.cpp b/src/game/WorldHandlers/Chat.cpp index 7858c3b9..38cc49a4 100644 --- a/src/game/WorldHandlers/Chat.cpp +++ b/src/game/WorldHandlers/Chat.cpp @@ -1546,7 +1546,7 @@ bool ChatHandler::ShowHelpForCommand(ChatCommand* table, const char* cmd) break; } - if (!command->Help.empty()) + if (command && !command->Help.empty()) { std::string helpText = command->Help;