126 if (
urand(0, 1) == 0)
149 fetidMaggot->DespawnOrUnsummon();
271 creature->DespawnOrUnsummon(300ms);
@ ENCOUNTER_FRAME_DISENGAGE
uint32 urand(uint32 min, uint32 max)
#define RegisterAreaTriggerAI(ai_name)
#define RegisterSpellScript(spell_script)
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_AREA_TRIGGER
@ SPELL_AURA_PERIODIC_DUMMY
#define AuraEffectPeriodicFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
@ SPELL_SUMMON_BLOOD_TICK_VISUAL
@ SPELL_POWER_ENERGIZE_TANTRUM
@ SPELL_SUMMON_BLOOD_TICK
@ SPELL_POWER_DISPLAY_TANTRUM
@ SPELL_BLOOD_BURST_DAMAGE
@ POINT_TANTRUM_START_RND_MOVEMENT
Position const FetidMaggotSpawn
@ EVENT_CHECK_ENERGY_TANTRUM
void AddSC_boss_cragmaw_the_infested()
uint32 GetTickNumber() const
uint32 GetTotalTicks() const
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectPeriodicHandler > OnEffectPeriodic
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
virtual void JustSummoned(Creature *)
bool _EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void GetHomePosition(float &x, float &y, float &z, float &ori) const
void SetReactState(ReactStates st)
void Repeat(Milliseconds time)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
Creature * GetCreature(uint32 type)
void SendEncounterUnit(EncounterFrameType type, Unit const *unit, Optional< int32 > param1={}, Optional< int32 > param2={})
void MoveRandom(float wanderDistance=0.0f, Optional< Milliseconds > duration={}, MovementSlot slot=MOTION_SLOT_DEFAULT)
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< float > closeEnoughDistance={})
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
void SetPower(Powers power, int32 val, bool withPowerUpdate=true)
MotionMaster * GetMotionMaster()
void SetEmoteState(Emote emote)
void SetPowerType(Powers power, bool sendUpdate=true)
int32 GetPower(Powers power) const
bool HasUnitState(const uint32 f) const
InstanceScript * GetInstanceScript() 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)
virtual uint32 GetData(uint32) const
virtual void SetData(uint32, uint32)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandlePeriodic(AuraEffect const *)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
constexpr void GetPosition(float &x, float &y) const
Difficulty GetDifficulty() const
bool IsHeroicOrHigher() const
void OnUnitEnter(Unit *unit) override
at_cragmaw_destroy_larva(AreaTrigger *areatrigger)
void UpdateAI(uint32 diff) override
void OnChannelFinished(SpellInfo const *spell) override
void JustDied(Unit *) override
void EnterEvadeMode(EvadeReason) override
void JustAppeared() override
boss_cragmaw_the_infested(Creature *creature)
void MovementInform(uint32, uint32 id) override
void JustEngagedWith(Unit *who) override
ObjectGuid _fetidMaggotGuid
void JustEngagedWith(Unit *) override
npc_cragmaw_blood_tick(Creature *creature)
void JustAppeared() override
void UpdateAI(uint32 diff) override
@ DATA_CRAGMAW_CRAWG_EATING
@ DATA_CRAGMAW_THE_INFESTED
#define RegisterUnderrotCreatureAI(ai_name)