153#define SHIELD_ORB_Z 45.000f
188 {1682.949951f, 637.75000f, 28.0231f, 5.717090f},
189 {1684.699951f, 614.41998f, 28.0580f, 0.698392f},
190 {1707.609985f, 612.15002f, 28.0946f, 1.990370f}
196 {1698.900f, 627.870f},
241 return GetSunwellPlateauAI<boss_kalecgos_kjAI>(creature);
270 for (
uint8 i = 0; i < 4; ++i)
295 for (
uint8 i = 0; i < 4; ++i)
309 for (
uint8 i = 0; i < 4; ++i)
315 pOrb->setActive(
true);
316 pOrb->SetFarVisible(
true);
328 pOrb->setActive(
true);
329 pOrb->SetFarVisible(
true);
353 for (
uint8 i = 0; i < 4; ++i)
360 pOrb->setActive(
true);
361 pOrb->SetFarVisible(
true);
400 return GetSunwellPlateauAI<go_orb_of_the_blue_flightAI>(go);
412 return GetSunwellPlateauAI<npc_kiljaeden_controllerAI>(creature);
491 for (
uint8 i = 0; i < 3; ++i)
673 for (
uint8 i = 0; i < 4; ++i)
678 target->GetPosition(x, y, z);
681 pSinisterReflection->SetDisplayId(target->GetDisplayId());
682 pSinisterReflection->AI()->AttackStart(target);
754 Unit* pRandomPlayer =
nullptr;
757 for (
uint8 z = 0; z < 6; ++z)
767 TC_LOG_ERROR(
"scripts",
"try to cast SPELL_LEGION_LIGHTNING on invalid target");
849 Unit* target =
nullptr;
850 for (
uint8 z = 0; z < 6; ++z)
914 return GetSunwellPlateauAI<boss_kiljaedenAI>(creature);
997 AddThreat(ref->GetVictim(), 1.0f, pPortal);
1007 return GetSunwellPlateauAI<npc_hand_of_the_deceiverAI>(creature);
1019 return GetSunwellPlateauAI<npc_felfire_portalAI>(creature);
1072 return GetSunwellPlateauAI<npc_volatile_felfire_fiendAI>(creature);
1137 return GetSunwellPlateauAI<npc_armageddonAI>(creature);
1199 return GetSunwellPlateauAI<npc_shield_orbAI>(creature);
1244 y =
my -
r * std::sin(
c);
1245 x =
mx -
r * std::cos(
c);
1249 y =
my +
r * std::sin(
c);
1250 x =
mx +
r * std::cos(
c);
1255 c += float(
M_PI)/32;
1256 if (
c >= 2 *
float(
M_PI))
c = 0;
1294 return GetSunwellPlateauAI<npc_sinster_reflectionAI>(creature);
1458 for (
uint8 i = 0; i < 3; ++i)
#define TC_LOG_DEBUG(filterType__,...)
#define TC_LOG_ERROR(filterType__,...)
@ TEMPSUMMON_DEAD_DESPAWN
@ TEMPSUMMON_MANUAL_DESPAWN
@ TEMPSUMMON_TIMED_DESPAWN
@ TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
@ TEMPSUMMON_CORPSE_DESPAWN
uint32 urand(uint32 min, uint32 max)
bool roll_chance_i(int chance)
@ UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_UNINTERACTIBLE
void AddSC_boss_kiljaeden()
float ShieldOrbLocations[4][2]
@ SPELL_SHADOW_BOLT_VOLLEY
@ SPELL_ARMAGEDDON_VISUAL3
@ SPELL_DARKNESS_OF_A_THOUSAND_SOULS
@ SPELL_ARMAGEDDON_DAMAGE
@ SPELL_ARMAGEDDON_SUMMON_TRIGGER
@ SPELL_DARKNESS_OF_A_THOUSAND_SOULS_DAMAGE
@ SPELL_ARMAGEDDON_VISUAL
@ SPELL_RING_OF_BLUE_FLAMES
@ SPELL_SINISTER_REFLECTION
@ SPELL_DESTROY_ALL_DRAKES
@ SPELL_ARMAGEDDON_TRIGGER
@ SPELL_SR_HAMMER_OF_JUSTICE
@ SPELL_SACRIFICE_OF_ANVEENA
@ SPELL_SR_CURSE_OF_AGONY
@ SPELL_ARMAGEDDON_VISUAL2
@ SPELL_ANVEENA_ENERGY_DRAIN
@ SPELL_SHADOW_CHANNELING
@ SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT
@ SPELL_COPY_OFFHAND_WEAPON
Position DeceiverLocations[3]
void DoZoneInCombat(Creature *creature=nullptr)
virtual void EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void SetCanDualWield(bool value) override
uint32 GetFaction() const override
void SetFaction(uint32 faction) override
virtual bool SetBossState(uint32 id, EncounterState state)
Creature * GetCreature(uint32 type)
virtual ObjectGuid GetGuidData(uint32 type) const override
EncounterState GetBossState(uint32 id) const
void MovePoint(uint32 id, Position const &pos, bool generatePath=true, Optional< float > finalOrient={})
void Summon(Creature const *summon)
Trinity::IteratorPair< ThreatListIterator, std::nullptr_t > GetUnsortedThreatList() const
void DoMeleeAttackIfReady()
virtual void InitializeAI()
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 IsWithinMeleeRange(Unit const *obj) const
void KillSelf(bool durabilityLoss=true)
ThreatManager & GetThreatManager()
void SetFaction(uint32 faction) override
void InterruptNonMeleeSpells(bool withDelayed, uint32 spellid=0, bool withInstant=true)
MotionMaster * GetMotionMaster()
bool IsNonMeleeSpellCast(bool withDelayed, bool skipChanneled=false, bool skipAutorepeat=false, bool isAutoshoot=false, bool skipInstant=true) const
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
bool SetDisableGravity(bool disable, bool updateAnimTier=true)
void AddUnitState(uint32 f)
Unit * EnsureVictim() const
void SetCombatReach(float combatReach)
uint32 GetFaction() const override
void RemoveDynObject(uint32 spellId)
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
void SetLevel(uint8 lvl, bool sendUpdate=true)
void SetUnitFlag(UnitFlags flags)
InstanceScript * GetInstanceScript() const
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)
void setActive(bool isActiveObject)
void SetFarVisible(bool on)
bool IsWithinDistInMap(WorldObject const *obj, float dist2compare, bool is3D=true, bool incOwnRadius=true, bool incTargetRadius=true) const
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
go_orb_of_the_blue_flight()
GameObjectAI * GetAI(GameObject *go) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
npc_hand_of_the_deceiver()
CreatureAI * GetAI(Creature *creature) const override
npc_kiljaeden_controller()
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
npc_volatile_felfire_fiend()
TC_GAME_API GameObject * GetGameObject(WorldObject const &u, ObjectGuid const &guid)
TC_GAME_API Player * GetPlayer(Map const *, ObjectGuid const &guid)
float GetPositionZ() const
float GetPositionX() const
void GetPosition(float &x, float &y) const
float GetPositionY() const
void SetCombatMovement(bool allowMovement)
void DoTeleportTo(float x, float y, float z, uint32 time=0)
bool HealthBelowPct(uint32 pct) const
Creature * DoSpawnCreature(uint32 entry, float offsetX, float offsetY, float offsetZ, float angle, uint32 type, Milliseconds despawntime)
void AddThreat(Unit *victim, float amount, Unit *who=nullptr)
void SetRingOfBlueFlames()
boss_kalecgos_kjAI(Creature *creature)
GameObject * GetOrb(int32 index)
void EmpowerOrb(bool all)
void UpdateAI(uint32) override
InstanceScript * instance
boss_kiljaedenAI(Creature *creature)
InstanceScript * instance
void CastSinisterReflection()
void JustDied(Unit *) override
void EnterEvadeMode(EvadeReason why) override
void InitializeAI() override
void ChangeTimers(bool status, uint32 WTimer)
void JustSummoned(Creature *summoned) override
void UpdateAI(uint32 diff) override
void KilledUnit(Unit *) override
bool TimerIsDeactivated[10]
void JustEngagedWith(Unit *) override
bool OnGossipHello(Player *player) override
InstanceScript * instance
go_orb_of_the_blue_flightAI(GameObject *go)
npc_armageddonAI(Creature *creature)
void UpdateAI(uint32 diff) override
void UpdateAI(uint32 diff) override
npc_felfire_portalAI(Creature *creature)
void JustSummoned(Creature *summoned) override
void JustDied(Unit *) override
InstanceScript * instance
void JustSummoned(Creature *summoned) override
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
npc_hand_of_the_deceiverAI(Creature *creature)
uint32 ShadowBoltVolleyTimer
uint32 FelfirePortalTimer
InstanceScript * instance
void JustSummoned(Creature *summoned) override
void InitializeAI() override
void UpdateAI(uint32 diff) override
npc_kiljaeden_controllerAI(Creature *creature)
InstanceScript * instance
void UpdateAI(uint32 diff) override
npc_shield_orbAI(Creature *creature)
void MovementInform(uint32 type, uint32) override
void UpdateAI(uint32 diff) override
npc_sinster_reflectionAI(Creature *creature)
void UpdateAI(uint32 diff) override
npc_volatile_felfire_fiendAI(Creature *creature)
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
@ DATA_KILJAEDEN_CONTROLLER
@ DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_4
@ DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_1
@ DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_2
@ DATA_ORB_OF_THE_BLUE_DRAGONFLIGHT_3
@ NPC_POWER_OF_THE_BLUE_DRAGONFLIGHT
@ NPC_VOLATILE_FELFIRE_FIEND
@ NPC_SINISTER_REFLECTION
@ NPC_HAND_OF_THE_DECEIVER