mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 17:54:48 +01:00
Fixed instance reset when high server uptime, thx Wowka321
--HG-- branch : trunk
This commit is contained in:
@@ -1491,6 +1491,22 @@ void WorldSession::HandleSetDungeonDifficultyOpcode( WorldPacket & recv_data )
|
||||
{
|
||||
if(pGroup->IsLeader(_player->GetGUID()))
|
||||
{
|
||||
for(GroupReference *itr = pGroup->GetFirstMember(); itr != NULL; itr = itr->next())
|
||||
{
|
||||
Player* pGroupGuy = itr->getSource();
|
||||
if(!pGroupGuy)
|
||||
continue;
|
||||
|
||||
if(!pGroupGuy->IsInMap(pGroupGuy))
|
||||
return;
|
||||
|
||||
map = pGroupGuy->GetMap();
|
||||
if(map && map->IsRaidOrHeroicDungeon())
|
||||
{
|
||||
sLog.outError("WorldSession::HandleSetDungeonDifficultyOpcode: player %d tried to reset the instance while inside!", _player->GetGUIDLow());
|
||||
return;
|
||||
}
|
||||
}
|
||||
// the difficulty is set even if the instances can't be reset
|
||||
//_player->SendDungeonDifficulty(true);
|
||||
pGroup->ResetInstances(INSTANCE_RESET_CHANGE_DIFFICULTY, false, _player);
|
||||
@@ -1531,10 +1547,27 @@ void WorldSession::HandleSetRaidDifficultyOpcode( WorldPacket & recv_data )
|
||||
if(_player->getLevel() < LEVELREQUIREMENT_HEROIC)
|
||||
return;
|
||||
|
||||
if(Group *pGroup = _player->GetGroup())
|
||||
Group *pGroup = _player->GetGroup();
|
||||
if(pGroup)
|
||||
{
|
||||
if(pGroup->IsLeader(_player->GetGUID()))
|
||||
{
|
||||
for(GroupReference *itr = pGroup->GetFirstMember(); itr != NULL; itr = itr->next())
|
||||
{
|
||||
Player* pGroupGuy = itr->getSource();
|
||||
if(!pGroupGuy)
|
||||
continue;
|
||||
|
||||
if(!pGroupGuy->IsInMap(pGroupGuy))
|
||||
return;
|
||||
|
||||
map = pGroupGuy->GetMap();
|
||||
if(map && map->IsRaidOrHeroicDungeon())
|
||||
{
|
||||
sLog.outError("WorldSession::HandleSetDungeonDifficultyOpcode: player %d tried to reset the instance while inside!", _player->GetGUIDLow());
|
||||
return;
|
||||
}
|
||||
}
|
||||
// the difficulty is set even if the instances can't be reset
|
||||
//_player->SendDungeonDifficulty(true);
|
||||
pGroup->ResetInstances(INSTANCE_RESET_CHANGE_DIFFICULTY, true, _player);
|
||||
|
||||
Reference in New Issue
Block a user