163 if (StormCount < 10 && StormCount > 1)
170 std::list<Unit*> tempUnitMap;
176 for (std::list<Unit*>::const_iterator i = tempUnitMap.begin(); i != tempUnitMap.end(); ++i)
178 if (
Unit* target = (*i))
195 for (
uint8 i = 0; i < maxCount; ++i)
197 x = 343.0f +
rand32() % 60;
198 y = 1380.0f +
rand32() % 60;
202 trigger->SetMaxHealth(100000);
203 trigger->SetHealth(100000);
323 if (!target || !target->
IsAlive())
339 for (
uint8 i = 0; i < 8; ++i)
346 x = target->GetPositionX() +
irand(-10, 10);
347 y = target->GetPositionY() +
irand(-10, 10);
348 z = target->GetPositionZ() +
urand(16, 20);
350 z = 95.0f -
urand(0, 5);
386 return GetZulAmanAI<boss_akilzonAI>(creature);
453 x = target->GetPositionX() +
irand(-10, 10);
454 y = target->GetPositionY() +
irand(-10, 10);
455 z = target->GetPositionZ() +
urand(10, 15);
457 z = 95.0f -
urand(0, 5);
461 target->GetContactPoint(
me, x, y, z);
475 return GetZulAmanAI<npc_akilzon_eagleAI>(creature);
@ TEMPSUMMON_CORPSE_DESPAWN
int32 irand(int32 min, int32 max)
uint32 urand(uint32 min, uint32 max)
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ TRIGGERED_FULL_MASK
Will return SPELL_FAILED_DONT_REPORT in CheckCast functions.
#define SpellEffectFn(F, I, N)
@ UNIT_FLAG_UNINTERACTIBLE
@ SPELL_ELECTRICAL_OVERLOAD
@ SPELL_STATIC_DISRUPTION
@ SPELL_ELECTRICAL_STORM_AURA
void AddSC_boss_akilzon()
@ EVENT_STATIC_DISRUPTION
void JustEngagedWith(Unit *who) override
void DoZoneInCombat(Creature *creature=nullptr)
virtual void EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
void SendToPlayers(WorldPacket const *data) const
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={})
static ObjectGuid GetGUID(Object const *o)
virtual void SetObjectScale(float scale)
HookList< HitHandler > AfterHit
HookList< EffectHandler > OnEffectHit
Unit * GetHitUnit() const
void DoMeleeAttackIfReady()
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)
virtual void AttackStart(Unit *)
SpellCastResult DoCast(uint32 spellId)
void KillSelf(bool durabilityLoss=true)
void SetFaction(uint32 faction) override
void StopMoving(bool force=false)
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
MotionMaster * GetMotionMaster()
void SetHealth(uint32 val)
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
void SetSpeedRate(UnitMoveType mtype, float rate)
void SetMaxHealth(uint32 val)
void RemoveUnitFlag(UnitFlags flags)
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)
Creature * SummonTrigger(float x, float y, float z, float ang, Milliseconds despawnTime, CreatureAI *(*GetAI)(Creature *)=nullptr)
bool IsWithinDist(WorldObject const *obj, float dist2compare, bool is3D=true) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
bool Validate(SpellInfo const *) override
PrepareSpellScript(spell_akilzon_electrical_overload)
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_akilzon_electrical_storm)
bool Validate(SpellInfo const *) override
@ WEATHER_STATE_HEAVY_RAIN
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
static void VisitAllObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
float GetPositionZ() const
void GetPosition(float &x, float &y) const
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
void UpdateAI(uint32 diff) override
void SetWeather(WeatherState weather, float grade)
boss_akilzonAI(Creature *creature)
void KilledUnit(Unit *who) override
void JustDied(Unit *) override
void JustEngagedWith(Unit *who) override
void HandleStormSequence(Unit *Cloud)
npc_akilzon_eagleAI(Creature *creature)
void JustEngagedWith(Unit *) override
void MoveInLineOfSight(Unit *) override
void UpdateAI(uint32 diff) override
void MovementInform(uint32, uint32) override