62#define SPELL_TWO_ARM_SMASH RAID_MODE<uint32>(63356,64003)
63#define SPELL_FALLING_RUBBLE RAID_MODE<uint32>(63821,64001)
64#define SPELL_ARM_DEAD_DAMAGE RAID_MODE<uint32>(63629,63979)
132 for (
uint8 i = 0; i < 2; ++i)
133 if (
Unit* arm = vehicle->GetPassenger(i))
168 if (!
apply && isEncounterInProgress)
178 if (!
apply && isEncounterInProgress)
185 if (!isEncounterInProgress)
238 summon->
Attack(target,
false);
323 return GetUlduarAI<boss_kologarnAI>(creature);
343 for (
uint8 i = 0; i < 5; ++i)
345 .SetOriginalCaster(originalCaster));
406 while (maxTargets < unitList.size())
408 std::list<WorldObject*>::iterator itr = unitList.begin();
409 advance(itr,
urand(0, unitList.size()-1));
618 return !creature->IsPet();
@ TEMPSUMMON_MANUAL_DESPAWN
float frand(float min, float max)
int32 irand(int32 min, int32 max)
uint32 urand(uint32 min, uint32 max)
if(posix_memalign(&__mallocedMemory, __align, __size)) return NULL
@ TARGET_UNIT_SRC_AREA_ENEMY
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_FORCE_CAST
@ AURA_EFFECT_HANDLE_REAL
@ AURA_REMOVE_BY_ENEMY_SPELL
@ SPELL_AURA_CONTROL_VEHICLE
@ SPELL_AURA_SCHOOL_ABSORB
@ TRIGGERED_FULL_MASK
Used when doing CastSpell with triggered == true.
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
@ SPELL_FOCUSED_EYEBEAM_VISUAL
@ SPELL_SUMMON_FOCUSED_EYEBEAM
@ SPELL_ARM_ENTER_VEHICLE
@ SPELL_STONE_GRIP_CANCEL
@ SPELL_FOCUSED_EYEBEAM_VISUAL_LEFT
@ SPELL_FOCUSED_EYEBEAM_PERIODIC
@ SPELL_KOLOGARN_REDUCE_PARRY
@ SPELL_FOCUSED_EYEBEAM_VISUAL_RIGHT
#define SPELL_FALLING_RUBBLE
void AddSC_boss_kologarn()
#define SPELL_TWO_ARM_SMASH
#define SPELL_ARM_DEAD_DAMAGE
@ EVENT_RESPAWN_RIGHT_ARM
@ EVENT_INSTALL_ACCESSORIES
void PreventDefaultAction()
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
WorldObject * GetOwner() const
HookList< EffectApplyHandler > OnEffectRemove
Unit * GetUnitOwner() const
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void JustSummoned(Creature *summon) override
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr)
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void SetCorpseDelay(uint32 delay, bool ignoreCorpseDecayRatio=false)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void CancelEvent(uint32 eventId)
virtual ObjectGuid GetGuidData(uint32 type) const override
EncounterState GetBossState(uint32 id) const
void TriggerGameEvent(uint32 gameEventId, WorldObject *source=nullptr, WorldObject *target=nullptr) override
Difficulty GetDifficultyID() const
void MoveChase(Unit *target, Optional< ChaseRange > dist={}, Optional< ChaseAngle > angle={})
void MoveFall(uint32 id=0)
static ObjectGuid const Empty
static Creature * ToCreature(Object *o)
static bool ValidateSpellEffect(std::initializer_list< std::pair< uint32, SpellEffIndex > > effects)
void PreventHitDefaultEffect(SpellEffIndex effIndex)
Unit * GetHitUnit() const
int32 GetEffectValue() const
SpellEffectInfo const & GetEffectInfo() const
HookList< EffectHandler > OnEffectHitTarget
SpellInfo const * GetSpellInfo() const
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
StoneGripTargetSelector(Creature *me, Unit const *victim)
bool operator()(WorldObject *target)
void Summon(Creature const *summon)
size_t GetThreatListSize() const
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 DoCast(uint32 spellId)
bool IsWithinMeleeRange(Unit const *obj) const
Vehicle * GetVehicle() const
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
void UpdateObjectVisibility(bool forced=true) override
ThreatManager & GetThreatManager()
void SetControlled(bool apply, UnitState state)
MotionMaster * GetMotionMaster()
void _ExitVehicle(Position const *exitPosition=nullptr)
void SetUninteractible(bool apply)
bool Attack(Unit *victim, bool meleeAttack)
bool HasUnitState(const uint32 f) const
Vehicle * GetVehicleKit() const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
virtual void ExitVehicle(Position const *exitPosition=nullptr)
void RemovePendingEventsForPassenger(Unit *passenger)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
void DestroyForNearbyPlayers()
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
CreatureAI * GetAI(Creature *creature) const override
void FilterTargets(std::list< WorldObject * > &targets)
spell_kologarn_stone_shout()
SpellScript * GetSpellScript() const override
void HandleForceCast(SpellEffIndex effIndex)
spell_kologarn_summon_focused_eyebeam()
SpellScript * GetSpellScript() const override
bool Validate(SpellInfo const *spellInfo) override
void HandleScript(SpellEffIndex)
SpellScript * GetSpellScript() const override
spell_ulduar_cancel_stone_grip()
void HandleScript(SpellEffIndex)
SpellScript * GetSpellScript() const override
spell_ulduar_rubble_summon()
void HandleInstaKill(SpellEffIndex)
SpellScript * GetSpellScript() const override
spell_ulduar_squeezed_lifeless()
void OnRemoveStun(AuraEffect const *aurEff, AuraEffectHandleModes)
void OnRemoveVehicle(AuraEffect const *, AuraEffectHandleModes)
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
AuraScript * GetAuraScript() const override
spell_ulduar_stone_grip_absorb()
void FillTargetsSubsequential(std::list< WorldObject * > &unitList)
void FilterTargetsInitial(std::list< WorldObject * > &unitList)
std::list< WorldObject * > _unitList
SpellScript * GetSpellScript() const override
spell_ulduar_stone_grip_cast_target()
AuraScript * GetAuraScript() const override
spell_ulduar_stone_grip()
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)
constexpr void SetOrientation(float orientation)
constexpr void GetPosition(float &x, float &y) const
constexpr void Relocate(float x, float y)
void SetCombatMovement(bool allowMovement)
void JustSummoned(Creature *summon) override
void KilledUnit(Unit *who) override
void PassengerBoarded(Unit *who, int8, bool apply) override
== Fields =======================================
void JustDied(Unit *) override
boss_kologarnAI(Creature *creature)
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *who) override
@ NPC_FOCUSED_EYEBEAM_RIGHT