コード例 #1
0
ファイル: boss_novos.cpp プロジェクト: mysql1/TournamentCore
 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);
 }
コード例 #2
0
 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);
 }
コード例 #3
0
ファイル: boss_novos.cpp プロジェクト: Abrek/My-WoDCore-6.x.x
        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);
        }
コード例 #4
0
        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);
        }