void SetCrystalsStatus(bool active) { for (uint8 i = 0; i < 4; i++) if (ObjectGuid guid = instance->GetGuidData(DATA_NOVOS_CRYSTAL_1 + i)) if (GameObject* crystal = ObjectAccessor::GetGameObject(*me, guid)) SetCrystalStatus(crystal, active); }
void SetCrystalsStatus(bool active) { for (uint8 i = 0; i < 4; i++) if (uint64 guid = instance->GetData64(DATA_NOVOS_CRYSTAL_1 + i)) if (GameObject* crystal = instance->instance->GetGameObject(guid)) SetCrystalStatus(crystal, active); }
void CrystalHandlerDied() { for (uint8 i = 0; i < 4; i++) { ObjectGuid guid = instance->GetGuidData(DATA_NOVOS_CRYSTAL_1 + i); if (!guid.IsEmpty()) { if (GameObject* crystal = ObjectAccessor::GetGameObject(*me, guid)) { if (crystal->GetGoState() == GO_STATE_ACTIVE) { SetCrystalStatus(crystal, false); break; } } } } ObjectGuid guid = instance->GetGuidData(DATA_NOVOS_SUMMONER_4); if (++_crystalHandlerCount >= 4) { Talk(SAY_ARCANE_FIELD); SetSummonerStatus(false); SetBubbled(false); events.ScheduleEvent(EVENT_ATTACK, 3000); if (IsHeroic()) events.ScheduleEvent(EVENT_SUMMON_MINIONS, 15000); } else if (!guid.IsEmpty()) if (Creature* crystalChannelTarget = ObjectAccessor::GetCreature(*me, guid)) crystalChannelTarget->AI()->SetData(SPELL_SUMMON_CRYSTAL_HANDLER, 15000); }
void CrystalHandlerDied() { for (uint8 i = 0; i < 4; i++) if (uint64 guid = instance->GetData64(DATA_NOVOS_CRYSTAL_1 + i)) if (GameObject* crystal = instance->instance->GetGameObject(guid)) if (crystal->GetGoState() == GO_STATE_ACTIVE) { SetCrystalStatus(crystal, false); break; } if (++_crystalHandlerCount >= 4) { SetSummonerStatus(false); SetBubbled(false); events.ScheduleEvent(EVENT_ATTACK, 3000); if (IsHeroic()) events.ScheduleEvent(EVENT_SUMMON_MINIONS, 15000); } else if (uint64 guid = instance->GetData64(DATA_NOVOS_SUMMONER_4)) if (Creature* crystalChannelTarget = instance->instance->GetCreature(guid)) crystalChannelTarget->AI()->SetData(SPELL_SUMMON_CRYSTAL_HANDLER, 15000); }