void EnterCombat(Unit * /*who*/)
        {
            if (pInstance)
                pInstance->SetData(TYPE_NIGHTBANE, IN_PROGRESS);

            HandleTerraceDoors(false);
            me->MonsterYell(YELL_AGGRO, LANG_UNIVERSAL, NULL);
        }
Beispiel #2
0
    void EnterCombat(Unit *who)
    {
        if(pInstance)
            pInstance->SetData(DATA_NIGHTBANE_EVENT, IN_PROGRESS);

        HandleTerraceDoors(false);
        DoYell(YELL_AGGRO, LANG_UNIVERSAL, NULL);
    }
Beispiel #3
0
        void EnterCombat(Unit* /*who*/)
        {
            if (instance)
                instance->SetData(TYPE_NIGHTBANE, IN_PROGRESS);

            HandleTerraceDoors(false);
           Talk(YELL_AGGRO);
        }
Beispiel #4
0
	void JustDied(Unit* /*killer*/)
	{
		if (!isReseted)
			if (pInstance)
				pInstance->SetData(TYPE_NIGHTBANE, DONE);

		HandleTerraceDoors(true);
	}
        void Reset()
        {
            BellowingRoarTimer = 30000;
            CharredEarthTimer = 15000;
            DistractingAshTimer = 20000;
            SmolderingBreathTimer = 10000;
            TailSweepTimer = 12000;
            RainofBonesTimer = 10000;
            SmokingBlastTimer = 20000;
            FireballBarrageTimer = 13000;
            SearingCindersTimer = 14000;

            Phase = 1;
            FlyCount = 0;
            MovePhase = 0;
            Movement = false;
            Flying = false;

            me->SetSpeed(MOVE_RUN, 2.0f);
            me->SetDisableGravity(true);
            me->SetWalk(false);
            me->setActive(true);

            if (instance)
            {
                if (instance->GetData(TYPE_NIGHTBANE) == DONE || instance->GetData(TYPE_NIGHTBANE) == IN_PROGRESS)
                    me->DisappearAndDie();
                else
                    instance->SetData(TYPE_NIGHTBANE, NOT_STARTED);
            }

            HandleTerraceDoors(true);
            me->SetReactState(REACT_PASSIVE);

            if (!Intro)
            {
                me->SetHomePosition(IntroWay[7][0], IntroWay[7][1], IntroWay[7][2], 0);
                me->GetMotionMaster()->MoveTargetedHome();
            }
            else
                instance->DoSendNotifyToInstance(EMOTE_SUMMON);
        }
        void Reset()
        {
            BellowingRoarTimer = 30000;
            CharredEarthTimer = 15000;
            DistractingAshTimer = 20000;
            SmolderingBreathTimer = 10000;
            TailSweepTimer = 12000;
            RainofBonesTimer = 10000;
            SmokingBlastTimer = 20000;
            FireballBarrageTimer = 13000;
            SearingCindersTimer = 14000;
            WaitTimer = 1000;

            Phase =1;
            FlyCount = 0;
            MovePhase = 0;

            me->SetSpeed(MOVE_RUN, 2.0f);
            me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
            me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
            me->setActive(true);

            if (pInstance)
            {
                if (pInstance->GetData(TYPE_NIGHTBANE) == DONE || pInstance->GetData(TYPE_NIGHTBANE) == IN_PROGRESS)
                    me->DisappearAndDie();
                else
                    pInstance->SetData(TYPE_NIGHTBANE, NOT_STARTED);
            }

            HandleTerraceDoors(true);

            Flying = false;
            Movement = false;

            if (!Intro)
            {
                me->SetHomePosition(IntroWay[7][0],IntroWay[7][1],IntroWay[7][2],0);
                me->GetMotionMaster()->MoveTargetedHome();
            }
        }
Beispiel #7
0
        void Reset() override
        {
            Initialize();

            me->SetSpeed(MOVE_RUN, 2.0f);
            me->SetDisableGravity(true);
            me->SetWalk(false);
            me->setActive(true);

            if (instance->GetData(TYPE_NIGHTBANE) == DONE || instance->GetData(TYPE_NIGHTBANE) == IN_PROGRESS)
                me->DisappearAndDie();
            else
                instance->SetData(TYPE_NIGHTBANE, NOT_STARTED);

            HandleTerraceDoors(true);

            if (!Intro)
            {
                me->SetHomePosition(IntroWay[7][0], IntroWay[7][1], IntroWay[7][2], 0);
                me->GetMotionMaster()->MoveTargetedHome();
            }
        }
    void Reset()
    {
        if (pInstance)
        {
            bool isCorrectSpawned = true;

            if (pInstance->GetData(TYPE_NIGHTBANE) != DONE)
            {
                uint64 NightbaneGUID = 0;
                NightbaneGUID = pInstance->GetData64(DATA_NIGHTBANE);

                if (NightbaneGUID)
                    if (Creature* Nightbane = Creature::GetCreature((*me),NightbaneGUID))
                        isCorrectSpawned = false;
            }
            else
                isCorrectSpawned = false;

            if (!isCorrectSpawned)
            {
                (*me).GetMotionMaster()->Clear(false);
                isReseted = true;
                me->DealDamage(me, me->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
                me->RemoveCorpse();
            }
            else
            {
                pInstance->SetData64(DATA_NIGHTBANE,me->GetGUID());
            }

            if (!Intro)
            {
                (*me).GetMotionMaster()->Clear(false);
                isReseted = true;
                pInstance->SetData(TYPE_NIGHTBANE, NOT_STARTED);
                me->DealDamage(me, me->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
                me->RemoveCorpse();
                return;
            } else
            {

                BellowingRoarTimer = 30000;
                CharredEarthTimer = 15000;
                DistractingAshTimer = 20000;
                SmolderingBreathTimer = 10000;
                TailSweepTimer = 12000;
                RainofBonesTimer = 10000;
                SmokingBlastTimer = 20000;
                FireballBarrageTimer = 13000;
                SearingCindersTimer = 14000;
                WaitTimer = 1000;

                Phase =1;
                FlyCount = 0;
                MovePhase = 0;

                me->SetSpeed(MOVE_RUN, 2.0f);
                me->AddUnitMovementFlag(MOVEFLAG_ONTRANSPORT | MOVEFLAG_LEVITATING);
                me->RemoveUnitMovementFlag(MOVEFLAG_WALK_MODE);
                me->setActive(true);

                me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);

                HandleTerraceDoors(true);
                Flying = false;
                Movement = false;
            }
        }
    }
Beispiel #9
0
        void JustDied(Unit* /*killer*/) override
        {
            instance->SetData(TYPE_NIGHTBANE, DONE);

            HandleTerraceDoors(true);
        }
        void JustDied(Unit* /*killer*/) override
        {
            instance->SetBossState(DATA_NIGHTBANE, DONE);

            HandleTerraceDoors(true);
        }