68static float m_afAmbushA[]= {-1568.805786f, 8533.873047f, 1.958f};
69static float m_afAmbushB[]= {-1491.554321f, 8506.483398f, 1.248f};
477 if (waypointId == 11)
479 else if (waypointId == 4 || waypointId == 8)
481 else if (waypointId == 10)
483 else if (waypointId == 3 || waypointId == 7)
661 FrostShock.Repeat(
Seconds(12));
709 return !ai->IsBannered();
734 if (
Unit* summoner = casterSummon->GetSummonerUnit())
std::chrono::seconds Seconds
Seconds shorthand typedef.
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
@ TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
uint32 urand(uint32 min, uint32 max)
#define RegisterSpellScript(spell_script)
@ EMOTE_STATE_USE_STANDING
@ SPELL_EFFECT_SCRIPT_EFFECT
@ FACTION_ESCORTEE_A_NEUTRAL_ACTIVE
@ FACTION_ESCORTEE_H_NEUTRAL_ACTIVE
#define SpellEffectFn(F, I, N)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void AttackStart(Unit *victim) override
== Triggered Actions Requested ==================
void DoFleeToGetAssistance()
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
static Creature * ToCreature(Object *o)
static ObjectGuid GetGUID(Object const *o)
uint32 GetQuestId() const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
HookList< EffectHandler > OnEffectHit
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
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 DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
Unit * SelectTarget(SelectTargetMethod targetType, uint32 offset=0, float dist=0.0f, bool playerOnly=false, bool withTank=true, int32 aura=0)
SpellCastResult DoCast(uint32 spellId)
void SetStandState(UnitStandStateType state, uint32 animKitID=0)
void SetFaction(uint32 faction) override
MotionMaster * GetMotionMaster()
Unit * EnsureVictim() const
bool SetWalk(bool enable)
bool HasUnitState(const uint32 f) const
void HandleEmoteCommand(Emote emoteId, Player *target=nullptr, Trinity::IteratorPair< int32 const * > spellVisualKitIds={}, int32 sequenceVariation=0)
bool HealthBelowPctDamaged(int32 pct, uint32 damage) const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
TempSummon * SummonCreature(uint32 entry, Position const &pos, TempSummonType despawnType=TEMPSUMMON_MANUAL_DESPAWN, Milliseconds despawnTime=0s, uint32 vehId=0, uint32 spellId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty)
bool OnConditionCheck(Condition const *condition, ConditionSourceInfo &sourceInfo) override
condition_nagrand_banner()
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
WorldObject const * mConditionTargets[MAX_CONDITION_TARGETS]
void Start(bool isActiveAttacker=true, ObjectGuid playerGUID=ObjectGuid::Empty, Quest const *quest=nullptr, bool instantRespawn=false, bool canLoopPath=false)
bool HasEscortState(uint32 escortState)
void LoadPath(uint32 pathId)
Player * GetPlayerForEscort()
void UpdateAI(uint32 diff) override
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr float GetPositionZ() const
bool HealthBelowPct(uint32 pct) const
void JustDied(Unit *) override
void JustSummoned(Creature *summoned) override
void OnQuestAccept(Player *player, Quest const *quest) override
uint32 ChainLightningTimer
void JustEngagedWith(Unit *) override
npc_kurenai_captiveAI(Creature *creature)
void UpdateAI(uint32 diff) override
void SpellHitTarget(WorldObject *, SpellInfo const *spellInfo) override
void WaypointReached(uint32 waypointId, uint32) override
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *) override
void SpellHitTarget(WorldObject *, SpellInfo const *spellInfo) override
uint32 ChainLightningTimer
void OnQuestAccept(Player *player, Quest const *quest) override
npc_maghar_captiveAI(Creature *creature)
void JustDied(Unit *) override
void WaypointReached(uint32 waypointId, uint32) override
void JustSummoned(Creature *summoned) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
@ SPELL_GISELDA_TRANSFORM_DND
npc_giselda_the_croneAI(Creature *creature)
void JustEngagedWith(Unit *) override
npc_kil_sorrow_cultistAI(Creature *creature)
void JustEngagedWith(Unit *) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
npc_kil_sorrow_deathswornAI(Creature *creature)
void JustEngagedWith(Unit *) override
uint32 interrupt_cooldown
void JustEngagedWith(Unit *) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
npc_kil_sorrow_spellbinderAI(Creature *creature)
void UpdateAI(uint32 diff) override
npc_nagrand_bannerAI(Creature *creature)
void UpdateAI(uint32 diff) override
void WaypointReached(uint32 waypointId, uint32 pathId) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
void JustEngagedWith(Unit *) override
npc_warmaul_shamanAI(Creature *creature)
@ PATH_ESCORT_KURENAI_CAPTIVE
@ SPELL_KUR_EARTHBIND_TOTEM
@ SPELL_KUR_CHAIN_LIGHTNING
@ SPELL_PLANT_WARMAUL_OGRE_BANNER
@ SPELL_PLANT_KIL_SORROW_BANNER
@ NPC_KIL_SORROW_DEATHSWORN
@ NPC_KIL_SORROW_SPELLBINDER
static float kurenaiAmbushA[]
@ SPELL_FIRE_BOMB_DAMAGE_MISSILE
@ SPELL_FIRE_BOMB_TARGET_SUMMON_EFFECT
@ SPELL_FIRE_BOMB_SUMMON_CATAPULT_BLAZE
@ PATH_ESCORT_MAGHAR_CAPTIVE
static float m_afAmbushB[]
static float m_afAmbushA[]
static float kurenaiAmbushB[]