55 { 373.4807f, -856.5301f, -74.30518f, 0.2094395f },
56 { 358.4792f, -879.3193f, -75.9463f, 5.166174f },
57 { 356.5531f, -846.3022f, -72.1796f, 3.193953f },
58 { 332.369f, -846.081f, -74.30516f, 4.834562f },
59 { 360.2234f, -862.055f, -75.22755f, 1.658063f },
60 { 351.7189f, -890.9619f, -76.54617f, 1.064651f },
61 { 345.8126f, -869.1772f, -77.17728f, 1.361357f },
62 { 367.5179f, -884.0129f, -77.32881f, 4.276057f },
63 { 370.6044f, -868.4305f, -74.19881f, 0.8901179f },
64 { 381.3156f, -873.2377f, -74.82656f, 1.099557f },
65 { 371.5869f, -873.8141f, -74.72424f, 1.082104f },
66 { 340.4079f, -891.6375f, -74.99128f, 1.134464f },
67 { 368.21f, -851.5953f, -73.99741f, 4.694936f },
68 { 328.7047f, -853.9812f, -75.51253f, 0.5759587f },
69 { 366.4145f, -876.39f, -75.52739f, 5.253441f },
70 { 380.1362f, -861.4344f, -73.45917f, 3.787364f },
71 { 373.3007f, -888.8057f, -79.03593f, 5.602507f },
72 { 348.3599f, -848.0839f, -73.54117f, 1.745329f },
73 { 352.5586f, -882.6624f, -75.68202f, 3.822271f },
74 { 357.8967f, -871.179f, -75.77553f, 2.443461f },
75 { 360.1034f, -842.3351f, -71.08852f, 4.34587f },
76 { 348.1334f, -861.5244f, -74.61307f, 2.565634f },
77 { 401.4896f, -866.7059f, -73.22395f, 0.8901179f },
78 { 360.1683f, -889.1515f, -76.74798f, 3.612832f },
79 { 350.1828f, -907.7313f, -74.94678f, 5.044002f },
80 { 340.6278f, -856.5973f, -74.23862f, 4.415683f },
81 { 366.4849f, -859.7621f, -74.82679f, 1.500983f },
82 { 359.1482f, -853.3346f, -74.47543f, 5.654867f },
83 { 374.9992f, -879.0921f, -75.56115f, 1.867502f },
84 { 339.5252f, -850.4612f, -74.45442f, 4.764749f },
85 { 337.0534f, -864.002f, -75.72749f, 4.642576f },
86 { 398.2797f, -851.8694f, -68.84419f, 0.5759587f }
218 std::vector<Player*> playersNearby;
220 if (!playersNearby.empty())
224 for (
Player* foundPlayer : playersNearby)
236 checkRangeContext.
Repeat(1s);
std::chrono::seconds Seconds
Seconds shorthand typedef.
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
bool roll_chance_i(int chance)
#define RegisterSpellScript(spell_script)
void GetPlayerListInGrid(Container &container, WorldObject *source, float maxSearchRange, bool alive=true)
@ AURA_EFFECT_HANDLE_REAL
#define AuraEffectApplyFn(F, I, N, M)
#define RegisterAhnKahetCreatureAI(ai_name)
void AddSC_boss_amanitar()
@ SPELL_VENOM_BOLT_VOLLEY
@ SPELL_POWER_MUSHROOM_VISUAL_AURA
@ SPELL_REMOVE_MUSHROOM_POWER
@ SPELL_POISONOUS_MUSHROOM_POISON_CLOUD
@ SPELL_POISONOUS_MUSHROOM_VISUAL_AURA
Position const MushroomPositions[32]
HookList< EffectApplyHandler > AfterEffectApply
void Remove(AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
virtual void SummonedCreatureDies(Creature *, Unit *)
bool _EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void SetObjectScale(float scale) override
void SetDisplayFromModel(uint32 modelIdx)
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void Repeat(Milliseconds time)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void DoRemoveAurasDueToSpellOnPlayers(uint32 spell, bool includePets=false, bool includeControlled=false)
void Summon(Creature const *summon)
TaskContext & Repeat(std::chrono::duration< Rep, Period > duration)
TaskScheduler & Schedule(std::chrono::duration< Rep, Period > time, task_handler_t task)
TaskScheduler & Update(success_t const &callback=nullptr)
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 DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
bool HasUnitState(const uint32 f) const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
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)
void OnApply(AuraEffect const *, AuraEffectHandleModes)
constexpr void GetPosition(float &x, float &y) const
void JustSummoned(Creature *summon) override
void JustDied(Unit *) override
void SummonedCreatureDies(Creature *summon, Unit *killer) override
void EnterEvadeMode(EvadeReason) override
std::deque< Position > _mushroomsDeque
void SpawnMushroom(Position const pos)
boss_amanitar(Creature *creature)
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
npc_amanitar_mushrooms(Creature *creature)
void UpdateAI(uint32 diff) override