111 if (player->IsAlive())
173 for (auto itr = _summons.begin(); reset && itr != _summons.end(); ++itr)
175 Creature* summon = ObjectAccessor::GetCreature(*me, *_summons.begin());
176 if (summon && player->IsEngagedBy(summon))
253 for (
uint8 i = 0; i < 11; ++i)
256 for (
uint8 i = 0; i < 6; ++i)
259 for (
uint8 i = 0; i < 4; ++i)
458 if (
Unit* summoner = casterSummon->GetSummonerUnit())
528 if (
Unit* summoner = casterSummon->GetSummonerUnit())
@ TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
@ QUEST_STATUS_INCOMPLETE
bool roll_chance_i(int chance)
#define RegisterCreatureAI(ai_name)
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ AURA_EFFECT_HANDLE_REAL
#define SpellCheckCastFn(F)
#define SpellEffectFn(F, I, N)
#define AuraEffectApplyFn(F, I, N, M)
#define AuraEffectRemoveFn(F, I, N, M)
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectApplyHandler > AfterEffectApply
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
bool _EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void SetHomePosition(float x, float y, float z, float o)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
void MoveFollow(Unit *target, float dist, ChaseAngle angle, Optional< Milliseconds > duration={}, MovementSlot slot=MOTION_SLOT_ACTIVE)
static ObjectGuid GetGUID(Object const *o)
uint32 GetQuestId() const
int32 CalcValue(WorldObject const *caster=nullptr, int32 const *basePoints=nullptr, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
HookList< CheckCastHandler > OnCheckCast
HookList< EffectHandler > OnEffectHit
Unit * GetHitUnit() const
int32 GetEffectValue() const
HookList< EffectHandler > OnEffectHitTarget
Unit * GetExplTargetUnit() const
SpellInfo const * GetSpellInfo() const
static void SendCastResult(Player *caster, SpellInfo const *spellInfo, SpellCastVisual spellVisual, ObjectGuid cast_count, SpellCastResult result, SpellCustomErrors customError=SPELL_CUSTOM_ERROR_NONE, int32 *param1=nullptr, int32 *param2=nullptr)
void Despawn(Creature const *summon)
void Summon(Creature const *summon)
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)
Vehicle * GetVehicle() const
void SetStandState(UnitStandStateType state, uint32 animKitID=0)
MotionMaster * GetMotionMaster()
void AddUnitState(uint32 f)
Unit * GetCharmerOrOwner() const
bool SetWalk(bool enable)
virtual float GetFollowAngle() const
Vehicle * GetVehicleKit() const
virtual bool IsEngaged() const
void Reset(bool evading=false)
Reapplies immunities and reinstalls accessories. Only has effect for creatures.
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
void AfterApply(AuraEffect const *, AuraEffectHandleModes)
void AfterRemove(AuraEffect const *, AuraEffectHandleModes)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *spellInfo) override
void HandleScript(SpellEffIndex)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
SpellCastResult CheckCast()
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
bool Validate(SpellInfo const *spellInfo) override
void HandleScript(SpellEffIndex)
TC_GAME_API Player * GetPlayer(Map const *, ObjectGuid const &guid)
auto SelectRandomContainerElement(C const &container) -> typename std::add_const< decltype(*std::begin(container))>::type &
void UpdateAI(uint32 diff) override
void OnQuestAccept(Player *player, Quest const *quest) override
void SummonGladiator(uint32 entry)
void EnterEvadeMode(EvadeReason why) override
void JustSummoned(Creature *summon) override
void SummonedCreatureDies(Creature *summon, Unit *) override
void SummonedCreatureDespawn(Creature *summon) override
npc_daegarn(Creature *creature)
@ SPELL_SUMMON_WINTERSKORN_BERSERKER
@ SPELL_SUMMON_PUTRID_HORROR
@ SPELL_SUMMON_WINTERSKORN_TRIBESMAN
@ SPELL_SUMMON_BABY_RIVEN_WIDOWS
@ SPELL_SUMMON_FANGGORE_WORG
@ SPELL_SUMMON_WINTERSKORN_WOODSMAN
@ SPELL_SUMMON_GJALERBRON_WARRIOR
@ SPELL_SUMMON_GJALERBRON_SLEEPWATCHER
@ SPELL_SUMMON_WINTERSKORN_ORACLE
@ SPELL_SUMMON_FREED_MIST_WHISPER_SCOUT
@ SPELL_SUMMON_GJALERBRON_RUNECASTER
@ SPELL_SUMMON_DARKCLAW_BAT
@ SPELL_RANDOM_CIRCUMFERENCE_POINT_POISON
@ SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE
@ SPELL_RANDOM_CIRCUMFERENCE_POINT_BONE_2
@ SPELL_MINDLESS_ABOMINATION_CONTROL
void AddSC_howling_fjord()
@ SPELL_MIRROR_IMAGE_AURA
@ SPELL_SUMMON_INNER_TURMOIL
@ SPELL_RECENT_MEDITATION
@ SPELL_FISHED_UP_REEF_SHARK
@ SPELL_CREATE_TASTY_REEF_FISH
static Position const daegarnSummonPosition
std::array< uint32, 11 > const CocoonSummonSpells
static Position const daegarnCenterPosition