123 meleeContext.Repeat();
130 me->resetAttackTimer();
131 DoCastVictim(spellInfo->Id);
137 bool healing =
false;
214 DoCast(temp, me->GetEntry() == NPC_ALDOR_VINDICATOR ? SPELL_BANISHED_SHATTRATH_S : SPELL_BANISHED_SHATTRATH_A);
215 ObjectGuid playerGUID = temp->GetGUID();
216 banishContext.Schedule(Seconds(9), [this, playerGUID](TaskContext )
218 if (Unit* temp = ObjectAccessor::GetUnit(*me, playerGUID))
220 temp->CastSpell(temp, SPELL_EXILE, true);
221 temp->CastSpell(temp, SPELL_BANISH_TELEPORT, true);
@ SELECT_TARGET_ANY_FRIEND
@ SELECT_TARGET_ANY_ENEMY
std::chrono::seconds Seconds
Seconds shorthand typedef.
std::chrono::minutes Minutes
Minutes shorthand typedef.
#define NOMINAL_MELEE_RANGE
bool roll_chance_i(int chance)
if(posix_memalign(&__mallocedMemory, __align, __size)) return NULL
#define RegisterCreatureAI(ai_name)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
bool IsInEvadeMode() const
TaskContext & Repeat(std::chrono::duration< Rep, Period > duration)
TaskScheduler & CancelAll()
TaskScheduler & Schedule(std::chrono::duration< Rep, Period > time, task_handler_t task)
TaskScheduler & Update(success_t const &callback=nullptr)
TaskScheduler & SetValidator(P &&predicate)
Sets a validator which is asked if tasks are allowed to be executed.
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
bool IsWithinMeleeRange(Unit const *obj) const
bool HealthBelowPct(int32 pct) const
bool HasUnitState(const uint32 f) const
void HandleEmoteCommand(Emote emoteId, Player *target=nullptr, Trinity::IteratorPair< int32 const * > spellVisualKitIds={}, int32 sequenceVariation=0)
bool isAttackReady(WeaponAttackType type=BASE_ATTACK) const
bool IsFriendlyTo(WorldObject const *target) const
@ NPC_STORMWIND_CITY_GUARD
@ NPC_CENARION_HOLD_INFANTRY
@ NPC_STORMWIND_CITY_PATROLLER
@ SPELL_BANISHED_SHATTRATH_S
@ SPELL_BANISHED_SHATTRATH_A
SpellInfo const * SelectSpell(Unit *target, uint32 school, uint32 mechanic, SelectTargetType targets, float rangeMin, float rangeMax, SelectEffect effect)
void UpdateAI(uint32 diff) override
void DoReplyToTextEmote(uint32 emote)
npc_guard_generic(Creature *creature)
TaskScheduler _combatScheduler
void ReceiveEmote(Player *player, uint32 textEmote) override
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *) override
npc_guard_shattrath_faction(Creature *creature)