void Update(uint32 diff) { if (GetData(DATA_ONYXIA) == IN_PROGRESS) { if (OnyxiaLiftoffTimer && OnyxiaLiftoffTimer <= diff) { OnyxiaLiftoffTimer = 0; if (ManyWhelpsCounter >= 50) _bAchievManyWhelpsHandleIt = true; } else OnyxiaLiftoffTimer -= diff; } if (!FloorEruptionGUIDQueue.empty()) { if (EruptTimer <= diff) { uint32 treeHeight = 0; do { treeHeight = (*FloorEruptionGUID[1].find(FloorEruptionGUIDQueue.front())).second; FloorEruption(FloorEruptionGUIDQueue.front()); FloorEruptionGUIDQueue.pop(); } while (!FloorEruptionGUIDQueue.empty() && (*FloorEruptionGUID[1].find(FloorEruptionGUIDQueue.front())).second == treeHeight); EruptTimer = 1000; } else EruptTimer -= diff; } }
void Update(uint32 uiDiff) { if(GetData(TYPE_ONYXIA) == IN_PROGRESS) { if(uiOnyxiaKillTimer > uiDiff) uiOnyxiaKillTimer -= uiDiff; else uiOnyxiaKillTimer = 0; if(uiOnyxiaLiftoffTimer != 0 && uiOnyxiaLiftoffTimer <= uiDiff) { uiOnyxiaLiftoffTimer = 0; if (uiManyWhelpsCounter >= 50) bAchievManyWhelpsHandleIt = true; } else uiOnyxiaLiftoffTimer -= uiDiff; } if (!FloorEruptionGUIDQueue.empty()) { if (m_uiEruptTimer <= uiDiff) { uint32 treeHeight = 0; do { treeHeight = (*FloorEruptionGUID[1].find(FloorEruptionGUIDQueue.front())).second; FloorEruption(FloorEruptionGUIDQueue.front()); FloorEruptionGUIDQueue.pop(); } while (!FloorEruptionGUIDQueue.empty() && (*FloorEruptionGUID[1].find(FloorEruptionGUIDQueue.front())).second == treeHeight); m_uiEruptTimer = 1000; } else m_uiEruptTimer -= uiDiff; } }
void Update(uint32 diff) override { if (GetBossState(DATA_ONYXIA) == IN_PROGRESS) { if (onyxiaLiftoffTimer && onyxiaLiftoffTimer <= diff) { onyxiaLiftoffTimer = 0; if (manyWhelpsCounter >= 50) achievManyWhelpsHandleIt = true; } else onyxiaLiftoffTimer -= diff; } if (!FloorEruptionGUIDQueue.empty()) { if (eruptTimer <= diff) { ObjectGuid frontGuid = FloorEruptionGUIDQueue.front(); std::map<ObjectGuid, uint32>::iterator itr = FloorEruptionGUID[1].find(frontGuid); if (itr != FloorEruptionGUID[1].end()) { uint32 treeHeight = itr->second; do { FloorEruption(frontGuid); FloorEruptionGUIDQueue.pop(); if (FloorEruptionGUIDQueue.empty()) break; frontGuid = FloorEruptionGUIDQueue.front(); itr = FloorEruptionGUID[1].find(frontGuid); } while (itr != FloorEruptionGUID[1].end() && itr->second == treeHeight); } eruptTimer = 1000; } else eruptTimer -= diff; } }
void Update(uint32 Diff) { if (GetData(DATA_ONYXIA) == IN_PROGRESS) { if (OnyxiaLiftoffTimer && OnyxiaLiftoffTimer <= Diff) { OnyxiaLiftoffTimer = 0; if (ManyWhelpsCounter >= 50) AchievManyWhelpsHandleIt = true; } else OnyxiaLiftoffTimer -= Diff; } if (!FloorEruptionGUIDQueue.empty()) { if (EruptTimer <= Diff) { uint64 frontGuid = FloorEruptionGUIDQueue.front(); std::map<uint64, uint32>::iterator itr = FloorEruptionGUID[1].find(frontGuid); if (itr != FloorEruptionGUID[1].end()) { uint32 treeHeight = itr->second; do { FloorEruption(frontGuid); FloorEruptionGUIDQueue.pop(); if (FloorEruptionGUIDQueue.empty()) break; frontGuid = FloorEruptionGUIDQueue.front(); itr = FloorEruptionGUID[1].find(frontGuid); } while (itr != FloorEruptionGUID[1].end() && itr->second == treeHeight); } EruptTimer = 1000; } else EruptTimer -= Diff; } }