void InitializeAI()
            {
                Reset();

                if (me->isAlive())
                    JustReachedHome();
            }
Beispiel #2
0
 void Reset()
 {
     JustReachedHome();
     // Starting Timers
     uiStrikeTimer = urand(1000,3000);
     uiBlightTimer = urand(5000,8000);
 }
Beispiel #3
0
void SmartAI::InitializeAI()
{
    GetScript()->OnInitialize(me);
    if (!me->isDead())
    mJustReset = true;
    JustReachedHome();
    GetScript()->ProcessEventsFor(SMART_EVENT_RESPAWN);
}
Beispiel #4
0
void SmartAI::JustRespawned()
{
    mDespawnTime = 0;
    mDespawnState = 0;
    mEscortState = SMART_ESCORT_NONE;
    me->SetVisible(true);
    if (me->getFaction() != me->GetCreatureTemplate()->faction)
        me->RestoreFaction();
    GetScript()->ProcessEventsFor(SMART_EVENT_RESPAWN);
    mJustReset = true;
    JustReachedHome();
    mFollowGuid = 0;//do not reset follower on Reset(), we need it after combat evade
    mFollowDist = 0;
    mFollowAngle = 0;
    mFollowCredit = 0;
    mFollowArrivedTimer = 1000;
    mFollowArrivedEntry = 0;
    mFollowCreditType = 0;
}
Beispiel #5
0
    void DamageTaken(Unit* /*pDoneBy*/, uint32& uiDamage) override
    {
        if (!HasEscortState(STATE_ESCORT_ESCORTING))
            return;

        if (m_creature->GetHealthPercent() < 20.0f || uiDamage > m_creature->GetHealth())
        {
            // despawn friend - Note: may not work on guardian pets
            if (Creature* pFriend = GetClosestCreatureWithEntry(m_creature, NPC_SLIMS_FRIEND, 10.0f))
            {
                DoScriptText(SAY_FRIEND_DEFEAT, pFriend);
                pFriend->ForcedDespawn(1000);
            }

            // set escort on pause and evade
            uiDamage = 0;
            m_bEventComplete = true;

			JustReachedHome();
            SetEscortPaused(true);
            EnterEvadeMode();
        }
    }
Beispiel #6
0
 void JustRespawned()
 {
     JustReachedHome();
 }
Beispiel #7
0
 void InitializeAI()
 {
     JustReachedHome();;
 }
 void InitializeAI()
 {
     ScriptedAI::InitializeAI();
     //Talk(SAY_ENTER);
     JustReachedHome();
 }
 void InitializeAI()
 {
     SpawnPositionId = 0;
     JustReachedHome();
 }