124 Talk(SAY_DOROTHEE_AGGRO);
125 me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
129 me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
133 me->SetImmuneToPC(false);
441 me->HandleEmoteCommand(EMOTE_ONESHOT_POINT);
442 Talk(SAY_CRONE_AGGRO);
446 me->SetImmuneToPC(false);
448 SetEquipmentSlots(false, EQUIP_ID_BROOM);
705 caster->GetThreatManager().AddThreat(target, 1000000.0f,
nullptr,
true,
true);
#define RegisterSpellScript(spell_script)
void CloseGossipMenuFor(Player *player)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ TARGET_UNIT_SRC_AREA_ENEMY
@ AURA_EFFECT_HANDLE_REAL
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
@ EVENT_ROMULO_TRANSITION
@ EVENT_JULIANNE_TRANSITION_2_1
@ EVENT_JULIANNE_TRANSITION_1_1
@ EVENT_JULIANNE_TRANSITION_1_2
@ EVENT_POWERFUL_ATTRACTION
@ EVENT_ETERNAL_AFFECTION
@ EVENT_JULIANNE_TRANSITION_1_3
@ SPELL_PICK_RED_RIDING_HOOD
@ SPELL_PICNIC_BASKET_SMELL
@ SPELL_LITTLE_RED_RIDING_HOOD
@ ACTION_FINISH_TRANSITION
@ SPELL_FRIGHTENED_SCREAM
@ SPELL_CLEAR_ALL_DEBUFFS
@ SPELL_ETERNAL_AFFECTION
@ SPELL_SUICIDE_WHILE_DEAD
@ SPELL_POWERFUL_ATTRACTION
@ SPELL_PERMANENT_FEIGN_DEATH
@ GOSSIP_MENU_GRANDMOTHER
@ SPAWN_GROUP_BIG_BAD_WOLF
void AddSC_bosses_opera()
@ SAY_DOROTHEE_TITO_DEATH
void SummonCroneIfReady(InstanceScript *instance, Creature *creature)
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void SetImmuneToPC(bool apply) override
void SetReactState(ReactStates st)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void SetCorpseDelay(uint32 delay, bool ignoreCorpseDecayRatio=false)
void Repeat(Milliseconds time)
bool IsInPhase(PhaseIndex phase) const
void SetPhase(PhaseIndex phase)
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
virtual bool SetBossState(uint32 id, EncounterState state)
Creature * GetCreature(uint32 type)
void HandleGameObject(ObjectGuid guid, bool open, GameObject *go=nullptr)
GameObject * GetGameObject(uint32 type)
bool SpawnGroupSpawn(uint32 groupId, bool ignoreRespawn=false, bool force=false, std::vector< WorldObject * > *spawnedObjects=nullptr)
bool SpawnGroupDespawn(uint32 groupId, bool deleteRespawnTimes=false, size_t *count=nullptr)
static ObjectGuid const Empty
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
TaskScheduler::repeated_t GetRepeatCounter() const
Returns the repeat counter which increases every time the task is repeated.
TaskContext & Repeat(TaskScheduler::duration_t duration)
TaskScheduler & CancelAll()
TaskScheduler & Schedule(duration_t time, task_handler_t task)
TaskScheduler & SetValidator(P &&predicate)
Sets a validator which is asked if tasks are allowed to be executed.
TaskScheduler & Update()
Update the scheduler to the current time.
void AddThreat(Unit *target, float amount, SpellInfo const *spell=nullptr, bool ignoreModifiers=false, bool ignoreRedirects=false)
== AFFECT MY THREAT LIST ==
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
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 DoCast(uint32 spellId)
ThreatManager & GetThreatManager()
TempSummon * ToTempSummon()
void SetUninteractible(bool apply)
bool HasUnitState(const uint32 f) const
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)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
virtual uint32 GetData(uint32) const
virtual void SetData(uint32, uint32)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void FilterTargets(std::list< WorldObject * > &targets)
void HandleScript(SpellEffIndex)
void AfterRemove(AuraEffect const *, AuraEffectHandleModes)
@ DATA_OPERA_OZ_DEATH_COUNT
@ DATA_GO_STAGE_DOOR_LEFT
#define RegisterKarazhanCreatureAI(ai_name)
void RandomResize(C &container, std::size_t requestedSize)
Unit * DoSelectLowestHpFriendly(float range, uint32 minHPDiff=1)
ScriptedAI(Creature *creature, uint32 scriptId=0) noexcept
void ResetThreatList(Unit *who=nullptr)
void DoPlaySoundToSet(WorldObject *source, uint32 soundId)
boss_big_bad_wolf(Creature *creature)
void KilledUnit(Unit *) override
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *who) override
void JustAppeared() override
void JustReachedHome() override
void OnSpellCast(SpellInfo const *spellInfo) override
void JustDied(Unit *) override
void JustDied(Unit *) override
void JustReachedHome() override
boss_crone(Creature *creature)
void UpdateAI(uint32 diff) override
void JustAppeared() override
void JustEngagedWith(Unit *) override
void KilledUnit(Unit *) override
void DoAction(int32 action) override
void JustDied(Unit *) override
void UpdateAI(uint32 diff) override
void JustAppeared() override
void JustReachedHome() override
InstanceScript * _instance
boss_dorothee(Creature *creature)
void JustEngagedWith(Unit *) override
void JustEngagedWith(Unit *who) override
void JustAppeared() override
void DamageTaken(Unit *who, uint32 &damage, DamageEffectType, SpellInfo const *) override
boss_julianne(Creature *creature)
void JustReachedHome() override
void KilledUnit(Unit *victim) override
uint32 GetData(uint32 data) const override
void DoAction(int32 action) override
void JustDied(Unit *) override
void UpdateAI(uint32 diff) override
void JustEngagedWith(Unit *) override
void UpdateAI(uint32 diff) override
void JustDied(Unit *) override
void JustReachedHome() override
boss_roar(Creature *creature)
void KilledUnit(Unit *) override
InstanceScript * _instance
void JustAppeared() override
uint32 GetData(uint32 data) const override
boss_romulo(Creature *creature)
void DamageTaken(Unit *who, uint32 &damage, DamageEffectType, SpellInfo const *) override
void JustAppeared() override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
void JustDied(Unit *) override
void JustEngagedWith(Unit *who) override
void UpdateAI(uint32 diff) override
void KilledUnit(Unit *victim) override
void JustReachedHome() override
void KilledUnit(Unit *) override
boss_strawman(Creature *creature)
void JustEngagedWith(Unit *) override
void JustReachedHome() override
InstanceScript * _instance
void JustDied(Unit *) override
void JustAppeared() override
void UpdateAI(uint32 diff) override
void OnSpellCast(SpellInfo const *spellInfo) override
void JustDied(Unit *) override
void JustReachedHome() override
void JustEngagedWith(Unit *) override
InstanceScript * _instance
boss_tinhead(Creature *creature)
void KilledUnit(Unit *) override
void JustAppeared() override
void UpdateAI(uint32 diff) override
void JustAppeared() override
void InitializeAI() override
bool OnGossipSelect(Player *player, uint32 menuId, uint32) override
void JustReachedHome() override
void JustAppeared() override
void JustEngagedWith(Unit *) override
void InitializeAI() override
void JustDied(Unit *) override
void UpdateAI(uint32 diff) override