124 Talk(SAY_DOROTHEE_AGGRO);
125 me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
129 me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
133 me->SetImmuneToPC(false);
445 me->HandleEmoteCommand(EMOTE_ONESHOT_POINT);
446 Talk(SAY_CRONE_AGGRO);
450 me->SetImmuneToPC(false);
452 SetEquipmentSlots(false, EQUIP_ID_BROOM);
716 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)
@ UNIT_FLAG_UNINTERACTIBLE
@ 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 DoZoneInCombat(Creature *creature=nullptr)
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
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
TaskContext & Repeat(std::chrono::duration< _Rep, _Period > const &duration)
TaskScheduler::repeated_t GetRepeatCounter() const
Returns the repeat counter which increases every time the task is repeated.
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 AddThreat(Unit *target, float amount, SpellInfo const *spell=nullptr, bool ignoreModifiers=false, bool ignoreRedirects=false)
== AFFECT MY THREAT LIST ==
void DoMeleeAttackIfReady()
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()
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint8 reqEffMask=0) const
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
bool HasUnitState(const uint32 f) const
void SetUnitFlag(UnitFlags flags)
void RemoveUnitFlag(UnitFlags flags)
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
virtual uint32 GetData(uint32) const
virtual void SetData(uint32, uint32)
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
PrepareSpellScript(spell_opera_little_red_riding_hood)
bool Validate(SpellInfo const *) override
void FilterTargets(std::list< WorldObject * > &targets)
PrepareSpellScript(spell_opera_pick_red_riding_hood)
void HandleScript(SpellEffIndex)
PrepareAuraScript(spell_opera_picnic_basket_smell)
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)
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