103 {-10991.0f, -1884.33f, 81.73f, 0.614315f},
104 {-10989.4f, -1885.88f, 81.73f, 0.904913f},
105 {-10978.1f, -1887.07f, 81.73f, 2.035550f},
106 {-10975.9f, -1885.81f, 81.73f, 2.253890f},
109constexpr std::array<uint32, 6>
Adds =
190 std::array<uint32, 6> AddList =
Adds;
194 for (std::size_t i = 0; i <
AddId.size(); ++i)
195 AddId[i] = AddList[i];
200 for (std::size_t i = 0; i <
AddId.size(); ++i)
202 AddGUID[i] = creature->GetGUID();
207 return std::ranges::find(
AddId, 0u) !=
AddId.end();
213 if (!addGuid.IsEmpty())
215 temp->DespawnOrUnsummon();
222 if (!addGuid.IsEmpty())
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
#define RegisterSpellScript(spell_script)
@ AURA_EFFECT_HANDLE_REAL
#define AuraEffectApplyFn(F, I, N, M)
Position const Locations[4]
@ SPELL_HAMMER_OF_JUSTICE
@ SPELL_GREATER_BLESS_OF_MIGHT
@ SPELL_JUDGEMENT_OF_COMMAND
@ SPELL_POWER_WORD_SHIELD
constexpr std::array< uint32, 6 > Adds
HookList< EffectApplyHandler > AfterEffectApply
void JustEngagedWith(Unit *who) override
void DoZoneInCombat(Creature *creature=nullptr)
virtual void EnterEvadeMode(EvadeReason why=EVADE_REASON_OTHER)
void Repeat(Milliseconds time)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
TaskContext & Repeat(std::chrono::duration< _Rep, _Period > const &duration)
TaskScheduler & CancelAll()
TaskScheduler & Schedule(std::chrono::duration< _Rep, _Period > const &time, task_handler_t const &task)
TaskScheduler & Update(success_t const &callback=EmptyCallback)
TaskScheduler & SetValidator(P &&predicate)
Sets a validator which is asked if tasks are allowed to be executed.
void DoMeleeAttackIfReady()
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
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)
virtual void AttackStart(Unit *)
SpellCastResult DoCast(uint32 spellId)
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
bool HasUnitState(const uint32 f) const
bool HealthBelowPctDamaged(int32 pct, uint32 damage) const
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)
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
void OnApply(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
PrepareAuraScript(spell_moroes_garrote_remove)
#define RegisterKarazhanCreatureAI(ai_name)
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void RandomShuffle(C &container)
Reorder the elements of the container randomly.
virtual void ScheduleEvents()=0
void JustEngagedWith(Unit *) override
void UpdateAI(uint32 diff) override
GuestBaseAI(Creature *creature)
Unit * DoSelectLowestHpFriendly(float range, uint32 minHPDiff=1)
void ScheduleEvents() override
boss_baron_rafe_dreuger(Creature *creature)
boss_baroness_dorothea_millstipe(Creature *creature)
void ScheduleEvents() override
void ScheduleEvents() override
boss_lady_catriona_von_indi(Creature *creature)
boss_lady_keira_berrybuck(Creature *creature)
void ScheduleEvents() override
boss_lord_crispin_ference(Creature *creature)
void ScheduleEvents() override
boss_lord_robin_daris(Creature *creature)
void ScheduleEvents() override
void JustSummoned(Creature *) override
void KilledUnit(Unit *) override
void JustDied(Unit *) override
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void OnSpellCast(SpellInfo const *spell) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
std::array< uint32, 4 > AddId
boss_moroes(Creature *creature)
std::array< ObjectGuid, 4 > AddGUID