137 me->SetVisible(
true);
184 return radius * (float)(rand()%100)/100.0f +
CENTER_X;
189 float z =
RAND(1.0f, -1.0f);
208 me->SetVisible(
false);
227 me->InterruptNonMeleeSpells(
false);
246 if (!
me->HasInArc(2.5f, target))
247 target =
me->GetVictim();
259 me->InterruptNonMeleeSpells(
false);
281 me->GetMotionMaster()->Clear();
283 for (
uint8 i=0; i <= 2; ++i)
306 for (
int i=0; i <= 2; ++i)
328 for (
int i=0; i <= 2; ++i)
329 for (
int j=1; j <= 4; j++)
349 me->GetMotionMaster()->Clear();
352 for (
int j=0; j <= 2; j++)
357 me->SetVisible(
true);
387 if (
Phase != 4 &&
me->HealthBelowPct(20))
392 me->SetVisible(
true);
446 switch (std::rand() % 1)
const T & RAND(const T &v1, const T &v2)
@ TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
@ TEMPSUMMON_TIMED_DESPAWN
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
@ AURA_EFFECT_HANDLE_REAL
#define AuraEffectRemoveFn(F, I, N, M)
@ UNIT_FLAG_NOT_SELECTABLE
const float SMALL_PORTAL_RADIUS
@ NPC_ASTROMANCER_SOLARIAN_SPOTLIGHT
void AddSC_boss_high_astromancer_solarian()
@ SPELL_WRATH_OF_THE_ASTROMANCER_DOT
@ SPELL_SOLARIUM_GREAT_HEAL
@ SPELL_SOLARIUM_HOLY_SMITE
@ SPELL_SOLARIUM_ARCANE_TORRENT
@ SPELL_WRATH_OF_THE_ASTROMANCER
const float LARGE_PORTAL_RADIUS
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
SpellInfo const * GetSpellInfo() const
Unit * GetUnitOwner() const
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
CreatureScript(const char *name)
float GetObjectScale() const
SpellScriptLoader(const char *name)
void DoMeleeAttackIfReady()
void DoCast(uint32 spellId)
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
void DoCastVictim(uint32 spellId, bool triggered=false)
virtual void AttackStart(Unit *)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
static Unit * GetUnit(WorldObject &object, uint64 guid)
InstanceScript * GetInstanceScript()
boss_high_astromancer_solarian()
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
PrepareAuraScript(spell_astromancer_wrath_of_the_astromancer_AuraScript)
bool Validate(SpellInfo const *) OVERRIDE
void AfterRemove(AuraEffect const *, AuraEffectHandleModes)
AuraScript * GetAuraScript() const OVERRIDE
spell_astromancer_wrath_of_the_astromancer()
ScriptedAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
float Portal_X(float radius)
uint32 BlindingLight_Timer
float Portal_Y(float x, float radius)
void SummonMinion(uint32 entry, float x, float y, float z)
boss_high_astromancer_solarianAI(Creature *creature)
void EnterCombat(Unit *) OVERRIDE
uint32 ArcaneMissiles_Timer
void JustDied(Unit *) OVERRIDE
void KilledUnit(Unit *) OVERRIDE
InstanceScript * instance
uint32 m_uiWrathOfTheAstromancer_Timer
void EnterCombat(Unit *) OVERRIDE
InstanceScript * instance
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_solarium_priestAI(Creature *creature)
@ DATA_HIGHASTROMANCERSOLARIANEVENT