214 std::list<Creature*> minionList;
322 target->DespawnOrUnsummon();
424 target->DespawnOrUnsummon(4s);
bool roll_chance_i(int chance)
#define RegisterCreatureAI(ai_name)
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ EMOTE_ONESHOT_CUSTOM_SPELL_01
@ EMOTE_ONESHOT_BATTLE_ROAR
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_PROC_TRIGGER_SPELL
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
#define AuraEffectProcFn(F, I, N)
#define SpellEffectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraCheckProcFn(F)
@ CURRENT_CHANNELED_SPELL
void PreventDefaultAction()
HookList< EffectPeriodicHandler > OnEffectPeriodic
HookList< EffectApplyHandler > AfterEffectApply
HookList< CheckProcHandler > DoCheckProc
HookList< EffectProcHandler > OnEffectProc
Unit * GetUnitOwner() const
bool _EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
virtual void JustAppeared()
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
MovementGeneratorType GetCurrentMovementGeneratorType() const
void MoveChase(Unit *target, Optional< ChaseRange > dist={}, Optional< ChaseAngle > angle={})
void MoveFollow(Unit *target, float dist, ChaseAngle angle, MovementSlot slot=MOTION_SLOT_ACTIVE)
LowType GetCounter() const
static ObjectGuid GetGUID(Object const *o)
Unit * GetActionTarget() const
int32 CalcValue(WorldObject const *caster=nullptr, int32 const *basePoints=nullptr) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
Creature * GetHitCreature() const
void PreventHitDefaultEffect(SpellEffIndex effIndex)
Unit * GetHitUnit() const
int32 GetEffectValue() const
HookList< EffectHandler > OnEffectHitTarget
TaskScheduler & Schedule(std::chrono::duration< _Rep, _Period > const &time, task_handler_t const &task)
TaskScheduler & Update(success_t const &callback=EmptyCallback)
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
void StopMoving(bool force=false)
MotionMaster * GetMotionMaster()
Unit * GetCharmerOrOwner() const
void SetFacingToObject(WorldObject const *object, bool force=true, uint32 movementId=EVENT_FACE)
bool Attack(Unit *victim, bool meleeAttack)
void InterruptSpell(CurrentSpellTypes spellType, bool withDelayed=true, bool withInstant=true, SpellCastResult result=SPELL_FAILED_INTERRUPTED, Optional< SpellCastResult > resultOther={})
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void HandleEmoteCommand(Emote emoteId)
void GetAllMinionsByEntry(std::list< Creature * > &Minions, uint32 entry)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void PlayDistanceSound(uint32 soundId, Player *target=nullptr)
bool IsWithinDist(WorldObject const *obj, float dist2compare, bool is3D=true) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex effIndex)
PrepareSpellScript(spell_gen_elwynn_forest_wolf)
void HandlePeriodic(AuraEffect const *)
PrepareAuraScript(spell_gen_elwynn_lamb)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_pet_gen_lich_pet_aura_remove)
PrepareAuraScript(spell_pet_gen_lich_pet_aura)
bool Validate(SpellInfo const *) override
bool CheckProc(ProcEventInfo &eventInfo)
void HandleProc(AuraEffect const *, ProcEventInfo &)
void AfterApply(AuraEffect const *, AuraEffectHandleModes)
PrepareAuraScript(spell_pet_gen_lich_pet_emote)
bool Validate(SpellInfo const *spellInfo) override
PrepareSpellScript(spell_pet_gen_lich_pet_focus)
void HandleScript(SpellEffIndex)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_pet_gen_lich_pet_onsummon)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_pet_gen_lich_pet_periodic_emote)
bool Validate(SpellInfo const *) override
void OnPeriodic(AuraEffect const *)
PrepareSpellScript(spell_pet_gen_toxic_wasteling_devour)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
PrepareSpellScript(spell_pet_gen_toxic_wasteling_find_target)
void HandleScript(SpellEffIndex)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
@ SPELL_LICH_PET_AURA_ONKILL
@ SPELL_ELWYNN_FOREST_WOLF
@ SPELL_ETHEREAL_ONSUMMON
@ SPELL_ETHEREAL_PET_REMOVE_AURA
void AddSC_generic_pet_scripts()
void UpdateAI(uint32 diff) override
void _ScheduleBeforeChasingEvents()
npc_elwynn_forest_wolf(Creature *creature)
void _ScheduleAfterChasingEvents()
void MovementInform(uint32 type, uint32 id) override
void IsSummonedBy(WorldObject *summoner) override
npc_pet_gen_pandaren_monk(Creature *creature)
void EnterEvadeMode(EvadeReason why) override
void ReceiveEmote(Player *, uint32 emote) override
void UpdateAI(uint32 diff) override
npc_pet_gen_soul_trader(Creature *creature)
void JustAppeared() override
void OnDespawn() override