diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 6b202513103..3dabb81a98b 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -18394,14 +18394,20 @@ void Player::SendRaidInfo() if (itr->second.perm) { InstanceSave* save = itr->second.save; + bool isHeroic = save->GetDifficulty() == RAID_DIFFICULTY_10MAN_HEROIC || save->GetDifficulty() == RAID_DIFFICULTY_25MAN_HEROIC; + uint32 completedEncounters = 0; + if (Map* map = sMapMgr->FindMap(save->GetMapId(), save->GetInstanceId())) + if (InstanceScript* instanceScript = ((InstanceMap*)map)->GetInstanceScript()) + completedEncounters = instanceScript->GetCompletedEncounterMask(); + data << uint32(save->GetMapId()); // map id data << uint32(save->GetDifficulty()); // difficulty - data << uint32(0); // Unknown 4.2.2 + data << uint32(isHeroic); // heroic data << uint64(save->GetInstanceId()); // instance id data << uint8(1); // expired = 0 data << uint8(0); // extended = 1 data << uint32(save->GetResetTime() - now); // reset time - data << uint32(0); // Unknown 4.2.2 + data << uint32(completedEncounters); // completed encounters mask ++counter; } } |
