78 if (!hexboundSnarler->IsInCombat())
79 _hexboundSnarlerGuid = hexboundSnarler->GetGUID();
104 hexboundSnarler->AI()->AttackStart(who);
121 hexboundSnarler->DespawnOrUnsummon();
153 hexboundSnarler->SetAIAnimKitId(0);
154 hexboundSnarler->PlayOneShotAnimKitId(1099);
161 hexboundSnarler->SetImmuneToAll(
false);
162 hexboundSnarler->SetUninteractible(
false);
179 hexboundSnarler->SetScriptStringId(
"HelenaSummon");
180 hexboundSnarler->SetAIAnimKitId(730);
182 hexboundSnarler->SetImmuneToAll(
true);
183 hexboundSnarler->SetUninteractible(
true);
@ TEMPSUMMON_MANUAL_DESPAWN
#define RegisterCreatureAI(ai_name)
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_REMOVE_AURA_2
@ TRIGGERED_IGNORE_CAST_IN_PROGRESS
Will not check if a current cast is in progress.
@ TRIGGERED_DONT_REPORT_CAST_ERROR
Will return SPELL_FAILED_DONT_REPORT in CheckCast functions.
#define SpellEffectFn(F, I, N)
void DespawnOrUnsummon(Milliseconds timeToDespawn=0s, Seconds forceRespawnTime=0s)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
static bool OnConditionChange(WorldObject *object, bool updateVisibility=true)
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
TaskScheduler & CancelAll()
TaskScheduler & Schedule(duration_t time, task_handler_t task)
TaskScheduler & Update()
Update the scheduler to the current time.
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
bool HealthBelowPctDamaged(float pct, uint32 damage) const
bool HasUnitState(const uint32 f) const
Creature * FindNearestCreatureWithOptions(float range, FindCreatureOptions const &options) const
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)
void OnTrigger(WorldObject *, WorldObject *invoker, uint32) override
event_listen_to_helenas_story()
void OnSceneComplete(Player *player, uint32, SceneTemplate const *) override
void CloneCyril(Player *player) const
scene_drustvar_cleanse_fallhaven()
void OnSceneCancel(Player *player, uint32, SceneTemplate const *) override
bool Validate(SpellInfo const *) override
void HandleHit(SpellEffIndex) const
void AddSC_drustvar_chapter_1_the_final_effigy()
@ EVENT_HELENA_SUMMON_ALIVE
@ EVENT_HELENA_SUMMON_ATTACK
@ EVENT_HELENA_RUINED_BOLT
@ NPC_HELENA_GENTLE_HUMAN
@ SPELL_TAKE_A_SEAT_CURSED
@ SPELL_HELENA_EMPOWERING
@ SPELL_HELENA_RUINED_BOLT
constexpr Position HelenaPetSummonPos
@ SPELL_DRUSTVAR_FALLHAVEN_SCENE
TC_GAME_API Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
void SummonHexboundSnarler()
void JustDied(Unit *) override
TaskScheduler _oocScheduler
void EnterEvadeMode(EvadeReason) override
void JustEngagedWith(Unit *who) override
npc_helena_gentle_witch_hunt(Creature *creature)
void UpdateAI(uint32 diff) override
void DamageTaken(Unit *, uint32 &damage, DamageEffectType, SpellInfo const *) override
ObjectGuid _hexboundSnarlerGuid
void JustAppeared() override