void InitializeAI() { Reset(); if (me->isAlive()) JustReachedHome(); }
void Reset() { JustReachedHome(); // Starting Timers uiStrikeTimer = urand(1000,3000); uiBlightTimer = urand(5000,8000); }
void SmartAI::InitializeAI() { GetScript()->OnInitialize(me); if (!me->isDead()) mJustReset = true; JustReachedHome(); GetScript()->ProcessEventsFor(SMART_EVENT_RESPAWN); }
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; }
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(); } }
void JustRespawned() { JustReachedHome(); }
void InitializeAI() { JustReachedHome();; }
void InitializeAI() { ScriptedAI::InitializeAI(); //Talk(SAY_ENTER); JustReachedHome(); }
void InitializeAI() { SpawnPositionId = 0; JustReachedHome(); }