示例#1
0
 void SaveDespawnCreatures()
 {
     DespawnCreatures(NPC_INVOCATION_OF_THE_FLAME_STALKER,500.0f); // Maybe the Core crashes on unload the Trigger
     DespawnCreatures(NPC_INVOKED_FLAMING_SPIRIT,500.0f);
     DespawnCreatures(NPC_SEEPING_TWILIGHT_TRIGGER,500.0f);
     DespawnCreatures(NPC_VALIONA,500.0f);
 }
示例#2
0
 inline void DespawnMinions()
 {
     DespawnCreatures(NPC_SUMMONED_WITCH);
     DespawnCreatures(NPC_SUMMONED_GUARD);
     DespawnCreatures(NPC_SUMMONED_WATERSPOUT);
     DespawnCreatures(NPC_SUMMONED_GEYSER);
 }
示例#3
0
            void JustDied(Unit* /*killer*/)
            {
                _JustDied();
                DespawnCreatures(NPC_CINDERWEB_SPINNER);
                DespawnCreatures(NPC_SPIDERWEB_FILAMENT);

                AddSmoulderingAura(me);
            }
示例#4
0
 void JustDied(Unit *victim)
 {
     DoScriptText(SAY_DEATH, me);  
     _JustDied();
     DespawnCreatures(VEHICLE_SIEGE, 200);
     DespawnCreatures(VEHICLE_DEMOLISHER, 200);
     DespawnCreatures(VEHICLE_CHOPPER, 200);
 }
示例#5
0
		inline void DespawnMinions()
		{
			DespawnCreatures(NPC_IGNITION_TRIGGER);
			DespawnCreatures(NPC_LAVA_PARASITE);

			DespawnCreatures(NPC_NEFARIAN_HELPER_HEROIC);
			DespawnCreatures(NPC_BLAZING_BONE_CONSTRUCT);
		}
		void Reset()
		{
			currentWaepon = WEAPON_NON;
			DespawnCreatures(NPC_FIRE_PATCH);
			DespawnCreatures(NPC_TWILIGHT_ARCHER);

			SetEquipmentSlots(false, 0, 0,0);
		}
		inline void DespawnMinions()
		{
			DespawnCreatures(NPC_LEAPING_FLAMES);

			DespawnCreatures(BOSS_ARION);
			DespawnCreatures(BOSS_TERRASTRA);
			
			Arion = Terrestra = Ascendants[2], Ascendants[3] = NULL;
		}
示例#8
0
		void ResetMinions()
		{
			DespawnCreatures(NPC_FACELESS);
			DespawnCreatures(NPC_FACELESS_HC);
			DespawnCreatures(NPC_FACELESS_PORTAL_STALKER);
			DespawnCreatures(NPC_TWILIGHT_HATCHLING);
			DespawnCreatures(NPC_SHADOW_GALE_STALKER);
			RespawnEggs();
		}
示例#9
0
 void Reset()
 {
     _Reset();
     DespawnCreatures(MOB_SARONITE_VAPORS, 100);
     DespawnCreatures(BOSS_SARONITE_ANIMUS, 100);
     me->ResetLootMode();
     VaporsCount = 0;
     HardMode = true;
     Dodged = true;
 }
            void JustDied(Unit* /*killer*/)
            {
                _JustDied();

                Talk(SAY_DEATH);

                instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_TWILIGHT_EPIPHANY_DMG);
                DespawnCreatures(NPC_PURIFYING_BLAST);
                DespawnCreatures(NPC_TWILIGHT_BLAST);
            }
            void Reset()
            {
                _Reset();

                bPhase = false;

                instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_TWILIGHT_EPIPHANY_DMG);
                DespawnCreatures(NPC_PURIFYING_BLAST);
                DespawnCreatures(NPC_TWILIGHT_BLAST);

            }
        void Reset()
        {
            timer = 1000;
            eventStep = 0;
            eventProcessed = false;

            DespawnCreatures(NPC_PRE_NEFARIAN);
            DespawnCreatures(NPC_PRE_MALORIAK);
            DespawnCreatures(NPC_PRE_ATRAMEDES);
            me->SummonCreature(NPC_PRE_NEFARIAN, 127.802f, -234.484f, 75.453453f, 2.046f, TEMPSUMMON_CORPSE_DESPAWN, 3000);
            me->SummonCreature(NPC_PRE_MALORIAK, 122.799f, -216.601f, 75.453453f, 5.011f, TEMPSUMMON_CORPSE_DESPAWN, 3000);
            me->SummonCreature(NPC_PRE_ATRAMEDES, 117.386f, -219.943f, 75.453453f, 5.305f, TEMPSUMMON_CORPSE_DESPAWN, 3000);
            me->SummonGameObject(GOB_NEFARIANS_THRONE, 129.937f, -236.88f, 75.4534f, 2.274f, 0, 0, 0, 0, 0);
        };
示例#13
0
                void JustDied(Unit* killer)
                {
                    if (instance)
                    {
                        instance->SetData(DATA_BETHTILAC, DONE);
                        instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me); // Remove
                    }
                    DespawnCreatures(NPC_CINDERWEB_SPIDERLING);
                    DespawnCreatures(NPC_CINDERWEB_SPINNER);
                    DespawnCreatures(NPC_WEB_RIP);

                    if (me->GetPositionZ() > POSITION_Z)
                        me->NearTeleportTo(me->GetPositionX(), me->GetPositionY(), POSITION_Z, 0);
                }
示例#14
0
        void JustDied(Unit* /*Killer*/)
        {
            Talk(SAY_DEATH);
            instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
            instance->SetData(DATA_HIGH_PROPHET_BARIM_EVENT, DONE);
            summons.DespawnAll();

            if (soulCounter >= 3 && IsHeroic())
                instance->DoCompleteAchievement(ACHIEVEMENT_KILL_IT_WITH_FIRE);
            DespawnCreatures(48904);
            DespawnCreatures(48907);
            DespawnCreatures(NPC_BLAZE_OF_HEAVENS);
            DespawnCreatures(NPC_HARBINGER_OF_DARKNESS);
        }
示例#15
0
 void Reset()
 {
     me->SetReactState(REACT_AGGRESSIVE);
     instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me);
     instance->SetData(DATA_HIGH_PROPHET_BARIM_EVENT, NOT_STARTED);
     instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_REPENTANCE_PHASE_EFFECT);
     me->RemoveAurasDueToSpell(SPELL_REPENTANCE_PHASE_EFFECT);
     summons.DespawnAll();
     events.Reset();
     soulCounter = 0;
     DespawnCreatures(48904);
     DespawnCreatures(48907);
     DespawnCreatures(NPC_BLAZE_OF_HEAVENS);
     DespawnCreatures(NPC_HARBINGER_OF_DARKNESS);
 }
示例#16
0
            void Reset()
            {
                _Reset();
                DespawnCreatures(NPC_CINDERWEB_SPINNER);
                DespawnCreatures(NPC_SPIDERWEB_FILAMENT);

                DoCast(me, SPELL_ZERO_POWER, true);
                me->SetReactState(REACT_PASSIVE);
                //me->SetUInt32Value(UNIT_FIELD_BYTES_1, 50331648);
                //me->SetUInt32Value(UNIT_FIELD_BYTES_2, 1);
                uiPhase = 0;
                uiCount = 0;
                uiSide = 0;
                me->SetMaxPower(POWER_MANA, 9000);
                me->SetPower(POWER_MANA, 9000);
            }
        void Reset()
		{
			events.Reset();
			me->RemoveAllAuras();

			DespawnCreatures(NPC_BOUND_FLAMES);
		}
示例#18
0
        void EnterEvadeMode()
        {
            // Remove all auras from the Legs and unset them in combat.
            for (uint8 i = 0; i <= 3; ++i)
                if (Unit* Leg = vehicle->GetPassenger(i))
                {
                    Leg->RemoveAllAuras();
                    Leg->DeleteThreatList();
                    Leg->CombatStop(false);

                    if (instance)
                        instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, Leg); // Remove
                }

            DespawnCreatures(NPC_PHEROMONE_TRAIL);
            me->RemoveAllAuras();
            Reset();
            me->DeleteThreatList();
            me->CombatStop(false);
            me->GetMotionMaster()->MoveTargetedHome();

            if (instance)
            {
                instance->SetData(DATA_GARALON, FAIL);
                instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me); // Remove
                instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_PHEROMONES_AURA); // Remove Pheromones.
            }

            _EnterEvadeMode();
        }
示例#19
0
        void Reset()
        {
            if (!IsCombatMovement())
                SetCombatMovement(true);

            m_uiPhase = PHASE_START;

            m_uiFlameBreathTimer = urand(10000, 20000);
            m_uiTailSweepTimer = urand(15000, 20000);
            m_uiCleaveTimer = urand(2000, 5000);
            m_uiWingBuffetTimer = urand(10000, 20000);

            m_uiMovePoint = urand(0, 5);
            m_uiMovementTimer = 14000;
            m_pPointData = GetMoveData();

            m_uiFireballTimer = 15000;
            m_uiWhelpTimer = 60000;
            m_uiLairGuardTimer = 60000;
            m_uiDeepBreathTimer = 85000;

            m_uiBellowingRoarTimer = 30000;

            Summons.DespawnAll();
            DespawnCreatures(NPC_WHELP, 150.0f);
            m_uiSummonWhelpCount = 0;
            m_bIsMoving = false;

            if (m_pInstance)
            {
                m_pInstance->SetBossState(DATA_ONYXIA, NOT_STARTED);
                m_pInstance->SetData(DATA_ONYXIA_PHASE, m_uiPhase);
                m_pInstance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT,  ACHIEV_TIMED_START_EVENT);
            }
        }
示例#20
0
        void JustDied(Unit* /*killer*/)
        {
            if (m_pInstance)
                m_pInstance->SetBossState(DATA_ONYXIA, DONE);

            Summons.DespawnAll();
            DespawnCreatures(NPC_WHELP, 150.0f);
        }
		void JustDied(Unit * /*victim*/)
		{
			DespawnCreatures(NPC_ANGERED_EARTH);
			me->MonsterYell("Boss Cho'gall not gonna be happy 'bout dis!", LANG_UNIVERSAL, NULL);

			if(chainsOfWoe != NULL)
				chainsOfWoe->DespawnOrUnsummon();

			chainsOfWoe = NULL;
		}
示例#22
0
        void Reset()
        {
            if (instance)
                instance->SetData(DATA_OZUMAT, NOT_STARTED);

            if (instance && instance->GetData(DATA_LADY_NAZJAR) == DONE)
                if (Creature* ozumat = ObjectAccessor::GetCreature(*me, instance->GetData64(BOSS_OZUMAT)))
                    ozumat->AI()->DoAction(ACTION_OZUMAT_PREPARE_EVENT);

            me->RemoveAllAuras();
            me->CastStop();

            waveCount = 0;
            nextStep = 3;
            generalTimer = 10000;
            playerAliveChecker = 1500;
            me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
            DespawnCreatures(NPC_BLIGHT_OF_OZUMAT);
            DespawnCreatures(NPC_OZUMAT_VISUAL_TRIGGER);
        }
		boss_feludiusAI(Creature* creature) : ScriptedAI(creature)
		{
			instance = creature->GetInstanceScript();

			Ascendants[0]= creature;

			DespawnCreatures(BOSS_IGNACIOUS);
			Ascendants[1] = Ignacious = me->SummonCreature(BOSS_IGNACIOUS,position[0],TEMPSUMMON_MANUAL_DESPAWN);
			
			DespawnMinions();
		}
示例#24
0
        void Reset()
        {
            uiPhase = PHASE_NON;
            introSpeechDone = false;

            if (instance)
            {
                instance->SetData(DATA_SHANNOX, NOT_STARTED);
                instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me); // Remove
            }

            me->RemoveAllAuras();
            hurlSpeer = false;
            events.Reset();

            DespawnCreatures(NPC_CRYSTAL_PRISON, 5000.0f);
            DespawnCreatures(NPC_SHANNOX_SPEAR, 5000.0f);
            DespawnCreatures(NPC_FAKE_SHANNOX_SPEAR, 5000.0f);
            DespawnCreatures(NPC_CRYSTAL_TRAP, 5000.0f);

            if(GetRiplimb())  // Prevents Crashes
            {
                GetRiplimb()->Respawn(true);
                GetRiplimb()->AI()->Reset();
            }
            else
                me->SummonCreature(NPC_RIPLIMB, me->GetPositionX()-5 , me->GetPositionY()-5 ,me->GetPositionZ() , TEMPSUMMON_MANUAL_DESPAWN);

            if(GetRageface())  // Prevents Crashes
            {
                GetRageface()->Respawn(true);
                GetRageface()->AI()->Reset();
            }
            else
                me->SummonCreature(NPC_RAGEFACE, me->GetPositionX()+5 , me->GetPositionY()+5, me->GetPositionZ(), TEMPSUMMON_MANUAL_DESPAWN);

            /// @todo me->SetDisplayId(???);
            me->LoadEquipment(); // reseting equipment
            
            _Reset();
        }
		void Reset()
		{
			me->GetMotionMaster()->MoveTargetedHome();
			castSkullCracker = false;

			if(chainsOfWoe != NULL)
				chainsOfWoe->DespawnOrUnsummon();

			chainsOfWoe = NULL;

			DespawnCreatures(NPC_ANGERED_EARTH);
		}
示例#26
0
        void MovementInform(uint32 type, uint32 id)
        {
            if (type != POINT_MOTION_TYPE)
                return;

            switch (id)
            {
            case POINT_VALIONA_FLY_IN_THE_AIR:
                currentWaypoint++;

                if(currentWaypoint < 3) // You can extend the Waypoints by yourself if you want
                {
                    me->GetMotionMaster()->MovePoint(POINT_VALIONA_FLY_IN_THE_AIR, position[currentWaypoint]);
                }else
                    me->GetMotionMaster()->MovePoint(POINT_VALIONA_LAND, position[3]);

                break;

            case POINT_VALIONA_LAND:
                pDragah->GetAI()->DoAction(ACTION_DRAGAH_IS_ON_THE_GROUND);

                me->SetSpeed(MOVE_WALK, 1.0f);

                me->SetFlying(false);
                me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
                me->SetReactState(REACT_AGGRESSIVE);

                me->GetMotionMaster()->Clear();
                me->GetMotionMaster()->MoveChase(me->getVictim());

                events.ScheduleEvent(EVENT_VALIONAS_FLAME, urand(4000,7000));
                events.ScheduleEvent(EVENT_SHREDDING_SWIPE, urand(10000,13000));

                if(/*me->GetMap()->IsHeroic()*/ true) // To test it on non heroic difficulty
                    events.ScheduleEvent(EVENT_DEVOURING_FLAMES, urand(15000,17000));
                break;

            case POINT_VALIONA_FLY_AWAY:
                DespawnCreatures(NPC_SEEPING_TWILIGHT_TRIGGER,500.0f);
                me->GetMotionMaster()->MovePoint(POINT_VALIONA_IS_AWAY, position[4]);
                break;

            case POINT_VALIONA_IS_AWAY:
                me->DespawnOrUnsummon();
                break;

            default:
                break;
            }
        }
示例#27
0
        void JustDied(Unit* /*killer*/)
        {
            summons.DespawnAll();
            DespawnCreatures(NPC_PHEROMONE_TRAIL);

            if (instance)
            {
                instance->SetData(DATA_GARALON, DONE);
                instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me); // Remove
                instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_PHEROMONES_AURA); // Remove Pheromones.
            }

            _JustDied();
        }
            inline void DespawnMinions()
            {
                DespawnCreatures(NPC_IGNITION_TRIGGER);
                DespawnCreatures(NPC_LAVA_PARASITE);
                DespawnCreatures(NPC_LAVA_PARASITE_2);

                DespawnCreatures(NPC_NEFARIAN_HELPER_HEROIC);
                DespawnCreatures(NPC_BLAZING_BONE_CONSTRUCT);
                DespawnCreatures(NPC_PILLAR_OF_FLAME_TRIGGER);
                
                if (instance)
                    instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_PARASITIC_INFECTION);
            }
示例#29
0
                void Reset()
                {
                    if (_moveup)
                    {
                        me->GetMotionMaster()->Clear();
                        me->GetMotionMaster()->MoveJump(upPos, 37.0f, 0.0f);
                        _moveup = false;
                        return;
                    }
					
					AggroResetTime = false;

                    AchievementChecker = true;
                    if (instance)
                    {
                        instance->SetData(DATA_BETHTILAC, NOT_STARTED);
                        instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me); // Remove
                    }

                    events.Reset();

                    me->SetHealth(me->GetMaxHealth());
                    me->SetCanFly(true);
                    me->SetDisableGravity(true);
                    me->RemoveAurasDueToSpell(SPELL_NO_REGEN);
                    me->SetUInt32Value(UNIT_FIELD_BYTES_1, 50331648);
                    me->AddUnitState(MOVEMENTFLAG_SWIMMING);
                    me->GetMotionMaster()->MoveTargetedHome();
                    me->SetPower(POWER_ENERGY, 100);
                    me->SetMaxPower(POWER_ENERGY, 100);
                    DespawnCreatures(NPC_LIFT_CONTROLLER);
                    DespawnCreatures(NPC_SPIDERWEB_FILAMENT);
                    DespawnCreatures(NPC_CINDERWEB_SPINNER);
                    DespawnCreatures(NPC_CINDERWEB_DRONE);
                    DespawnCreatures(NPC_CINDERWEB_SPIDERLING);
                    DespawnCreatures(NPC_ENGORGED_BROODLING);
                    DespawnCreatures(NPC_WEB_RIP);

                    events.ScheduleEvent(EVENT_EMBER_FLARE, 10000);
                    events.ScheduleEvent(EVENT_METEOR_FALL, 30000);
                    //phase upper
                    events.ScheduleEvent(EVENT_PHASE_UPPER, 100);

                    Devastion = 0;
                }
示例#30
0
		inline void ResetWeapon()
		{ // Resets last Phase

			events.Reset();
			DespawnCreatures(NPC_TWILIGHT_ARCHER);

			// Remove Auras spezified to the Phases
			// Shield Phase
			me->RemoveAura(SPELL_FLAMING_SHIELD);
			me->RemoveAura(SPELL_PERSONAL_PHALANX);

			// Swords Phase
			me->RemoveAura(SPELL_DUAL_BLADES_BUFF);
			me->RemoveAura(SPELL_TRASH_BUFF);

			// Mace Phase
			me->RemoveAura(SPELL_LAVA_PATCH);
			me->RemoveAura(SPELL_ENCUMBERED);

		}