133 for (
uint8 i = 0; i < NumGlobes; ++i)
135 float Angle = i * 2 * float(
M_PI) / NumGlobes;
142 Glob->UpdateAllowedPositionZ(X, Y, Z);
143 Glob->NearTeleportTo(X, Y, Z, 0.0f);
261 return GetAQ40AI<boss_viscidusAI>(creature);
280 Viscidus->AI()->SummonedCreatureDespawn(
me);
282 if (Viscidus->IsAlive() && Viscidus->GetHealthPct() < 5.0f)
284 Viscidus->SetVisible(
true);
285 if (Viscidus->GetVictim())
286 Unit::Kill(Viscidus->EnsureVictim(), Viscidus);
290 Viscidus->SetHealth(Viscidus->GetHealth() - Viscidus->GetMaxHealth() / 20);
309 return GetAQ40AI<npc_glob_of_viscidusAI>(creature);
@ SPELL_SCHOOL_MASK_FROST
@ UNIT_STATE_MELEE_ATTACKING
void AddSC_boss_viscidus()
Position const ViscidusCoord
@ SPELL_VISCIDUS_TELEPORT
@ SPELL_VISCIDUS_SLOWED_MORE
@ SPELL_POISONBOLT_VOLLEY
@ SPELL_VISCIDUS_WEAKNESS
@ SPELL_MEMBRANE_VISCIDUS
@ EVENT_POISONBOLT_VOLLEY
void JustEngagedWith(Unit *who) override
virtual void EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetCanMelee(bool canMelee, bool fleeFromMelee=false)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
Creature * GetCreature(uint32 type)
SpellSchoolMask GetSchoolMask() const
SpellCastResult DoCast(uint32 spellId)
float GetHealthPct() const
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
TempSummon * ToTempSummon()
void NearTeleportTo(Position const &pos, bool casting=false)
bool HasUnitState(const uint32 f) const
static void Kill(Unit *attacker, Unit *victim, bool durabilityLoss=true, bool skipSettingDeathState=false)
InstanceScript * GetInstanceScript() const
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)
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
constexpr float GetPositionX() const
constexpr float GetPositionY() const
constexpr float GetOrientation() const
constexpr float GetPositionZ() const
void ResetThreatList(Unit *who=nullptr)
void DamageTaken(Unit *attacker, uint32 &, DamageEffectType, SpellInfo const *) override
void EnterEvadeMode(EvadeReason why) override
boss_viscidusAI(Creature *creature)
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void JustEngagedWith(Unit *who) override
void JustDied(Unit *) override
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
void MovementInform(uint32, uint32 id) override
npc_glob_of_viscidusAI(Creature *creature)