message: Player: add some ToggleDM improvements
diff: @@ -1488,12 +1488,37 @@ ArgumentStack Player::ToggleDM(ArgumentStack&& args)
  pMessage->SendServerToPlayerDungeonMasterLoginState(pPlayer, true, true);
  pPlayerInfo->m_bGameMasterPrivileges = true;
  pPlayerInfo->m_bGameMasterIsPlayerLogin = true;
  +
  + if (auto *pCreature = Utils::AsNWSCreature(Utils::GetGameObject(pPlayer->m_oidNWSObject)))
  + {
  + pCreature->m_pStats->m_bDMManifested = true;
  + pCreature->UpdateVisibleList();
  + }
  +
  + Globals::AppManager()->m_pServerExoApp->AddToExclusionList(pPlayer->m_oidNWSObject, 1/*Timestop*/);
  + Globals::AppManager()->m_pServerExoApp->AddToExclusionList(pPlayer->m_oidNWSObject, 2/*Pause*/);
  + uint8_t nActivePauseState = Globals::AppManager()->m_pServerExoApp->GetActivePauseState();
  + pMessage->SendServerToPlayerModule_SetPauseState(nActivePauseState, nActivePauseState > 0);
  +
  + pMessage->SendServerToPlayerDungeonMasterAreaList(pPlayer->m_nPlayerID);
  + pMessage->SendServerToPlayerDungeonMasterCreatorLists(pPlayer);
  }
  else if (!isDM && currentlyPlayerDM)
  {
  pMessage->SendServerToPlayerDungeonMasterLoginState(pPlayer, false, true);
  pPlayerInfo->m_bGameMasterPrivileges = false;
  pPlayerInfo->m_bGameMasterIsPlayerLogin = false;
  +
  + if (auto *pCreature = Utils::AsNWSCreature(Utils::GetGameObject(pPlayer->m_oidNWSObject)))
  + {
  + pCreature->m_pStats->m_bDMManifested = true;
  + pCreature->UpdateVisibleList();
  + }
  +
  + Globals::AppManager()->m_pServerExoApp->RemoveFromExclusionList(pPlayer->m_oidNWSObject, 1/*Timestop*/);
  + Globals::AppManager()->m_pServerExoApp->RemoveFromExclusionList(pPlayer->m_oidNWSObject, 2/*Pause*/);
  + uint8_t nActivePauseState = Globals::AppManager()->m_pServerExoApp->GetActivePauseState();
  + pMessage->SendServerToPlayerModule_SetPauseState(nActivePauseState, nActivePauseState > 0);
  }
  }
  }
  