74 { -9188.4404296875f, 1940.2099609375f, 85.6390991210937f, 3.17650008201599f },
75 { -9244.41015625f, 1808.97998046875f, 85.6390991210937f, 5.63741016387939f },
76 { -9248.41015625f, 1974.82995605469f, 85.6390991210937f, 5.89920997619629f },
77 { -9282.080078125f, 1887.33996582031f, 85.6390991210937f, 2.00712990760803f },
78 { -9299.73046875f, 1748.44995117187f, 85.6390991210937f, 1.44861996173859f },
79 { -9357.8603515625f, 1929.07995605469f, 85.6390991210937f, 1.06465005874634f },
80 { -9367.169921875f, 1780.89001464844f, 85.6390991210937f, 1.90241003036499f },
81 { -9383.2900390625f, 2012.68005371094f, 85.6511001586914f, 2.93214988708496f },
82 { -9406.099609375f, 1862.38000488281f, 85.6390991210937f, 6.2308201789856f },
83 { -9407.7197265625f, 1960.2099609375f, 85.6390991210937f, 1.11700999736786f },
84 { -9432.400390625f, 1782.53002929687f, 85.6390991210937f, 5.86430978775024f },
85 { -9506.1904296875f, 1865.56994628906f, 85.6390991210937f, 4.27606010437012f }
136 creatureCaster->DespawnOrUnsummon();
238 bool ApplySupreme =
true;
241 ApplySupreme =
false;
248 ApplySupreme =
false;
285 return GetAQ20AI<boss_ossirianAI>(creature);
315 return GetAQ20AI<go_ossirian_crystalAI>(go);
@ GO_SUMMON_TIMED_DESPAWN
uint32 urand(uint32 min, uint32 max)
GameObject * GetClosestGameObjectWithEntry(WorldObject *source, uint32 entry, float maxSearchRange, bool spawnedOnly=true)
@ ACTION_TRIGGER_WEAKNESS
Position CrystalCoordinates[NUM_CRYSTALS]
Position const RoomCenter
uint32 const SpellWeakness[NUM_WEAKNESS]
void AddSC_boss_ossirian()
void JustEngagedWith(Unit *who) override
virtual void MoveInLineOfSight(Unit *)
virtual void EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void SetLootState(LootState s, Unit *unit=nullptr)
EncounterState GetBossState(uint32 id) const
TempSummon * SummonCreature(uint32 entry, Position const &pos, SummonPropertiesEntry const *properties=nullptr, Milliseconds duration=0ms, WorldObject *summoner=nullptr, uint32 spellId=0, uint32 vehId=0, ObjectGuid privateObjectOwner=ObjectGuid::Empty, SmoothPhasingInfo const *smoothPhasingInfo=nullptr)
void SendToPlayers(WorldPacket const *data) const
static Creature * ToCreature(Object *o)
virtual void DoAction(int32)
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
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)
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
float GetDistance(WorldObject const *obj) const
void GetRandomPoint(Position const &srcPos, float distance, float &rand_x, float &rand_y, float &rand_z) const
WorldPacket const * Write() override
CreatureAI * GetAI(Creature *creature) const override
GameObjectAI * GetAI(GameObject *go) const override
@ WEATHER_STATE_HEAVY_SANDSTORM
TC_GAME_API void Trigger(uint32 gameEventId, WorldObject *source, WorldObject *target)
TC_GAME_API GameObject * GetGameObject(WorldObject const &u, ObjectGuid const &guid)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
constexpr float GetOrientation() const
static QuaternionData fromEulerAnglesZYX(float Z, float Y, float X)
void EnterEvadeMode(EvadeReason why) override
void SpellHit(WorldObject *caster, SpellInfo const *spellInfo) override
void JustDied(Unit *) override
void JustEngagedWith(Unit *who) override
void KilledUnit(Unit *) override
void DoAction(int32 action) override
void MoveInLineOfSight(Unit *who) override
void UpdateAI(uint32 diff) override
boss_ossirianAI(Creature *creature)
InstanceScript * instance
bool OnGossipHello(Player *player) override
go_ossirian_crystalAI(GameObject *go)