151 return GetBaradinHoldAI<boss_occutharAI>(creature);
172 occuthar->AI()->JustSummoned(
me);
203 return GetBaradinHoldAI<npc_eyestalkAI>(creature);
217 if (targets.size() < 2)
225 if (targets.size() >= 2)
341 caster->ToCreature()->DespawnOrUnsummon(500ms);
TC_GAME_API bool InstanceHasScript(WorldObject const *obj, char const *scriptName)
@ ENCOUNTER_FRAME_DISENGAGE
@ TARGET_UNIT_SRC_AREA_ENTRY
@ TARGET_UNIT_SRC_AREA_ENEMY
@ SPELL_EFFECT_SCRIPT_EFFECT
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
@ MAX_OCCUTHAR_VEHICLE_SEATS
@ SPELL_FOCUSED_FIRE_FIRST_DAMAGE
@ SPELL_FOCUSED_FIRE_TRIGGER
@ SPELL_OCCUTHARS_DESTUCTION
@ SPELL_FOCUSED_FIRE_VISUAL
void AddSC_boss_occuthar()
@ EVENT_FOCUSED_FIRE_FIRST_DAMAGE
HookList< EffectApplyHandler > OnEffectRemove
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
virtual void EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
void RescheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
Creature * GetCreature(uint32 type)
void SendEncounterUnit(EncounterFrameType type, Unit const *unit, Optional< int32 > param1={}, Optional< int32 > param2={})
int32 CalcValue(WorldObject const *caster=nullptr, int32 const *basePoints=nullptr, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
static bool ValidateSpellEffect(std::initializer_list< std::pair< uint32, SpellEffIndex > > effects)
HookList< HitHandler > AfterHit
Unit * GetHitUnit() const
int32 GetEffectValue() const
HookList< EffectHandler > OnEffectHitTarget
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
void Summon(Creature const *summon)
SpellCastResult DoCastAOE(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
bool HasUnitState(const uint32 f) const
Unit * GetPassenger(int8 seatId) const
Gets a passenger on specified seat.
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)
CreatureAI * GetAI(Creature *creature) const override
CreatureAI * GetAI(Creature *creature) const override
void HandleScript(SpellEffIndex)
void FilterTargets(std::list< WorldObject * > &targets)
bool Validate(SpellInfo const *spellInfo) override
SpellScript * GetSpellScript() const override
spell_occuthar_eyes_of_occuthar_vehicle()
SpellScript * GetSpellScript() const override
spell_occuthar_eyes_of_occuthar()
void FilterTargets(std::list< WorldObject * > &targets)
SpellScript * GetSpellScript() const override
spell_occuthar_focused_fire()
void OnRemove(AuraEffect const *aurEff, AuraEffectHandleModes)
AuraScript * GetAuraScript() const override
spell_occuthar_occuthars_destruction()
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void RandomResize(C &container, std::size_t requestedSize)
constexpr void GetPosition(float &x, float &y) const
void JustDied(Unit *) override
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *who) override
void EnterEvadeMode(EvadeReason why) override
void JustSummoned(Creature *summon) override
boss_occutharAI(Creature *creature)
void EnterEvadeMode(EvadeReason) override
npc_eyestalkAI(Creature *creature)
void UpdateAI(uint32 diff) override
InstanceScript * _instance
void IsSummonedBy(WorldObject *) override