280 if (
Unit* summoner = target->GetSummonerUnit())
324 aurEff->GetBase()->ModStackAmount(-7);
@ ENCOUNTER_FRAME_DISENGAGE
#define RegisterSpellAndAuraScriptPair(script_1, script_2)
#define RegisterSpellScript(spell_script)
@ SPELL_EFFECT_SCRIPT_EFFECT
@ SPELL_EFFECT_TRIGGER_ACTION_SET
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_PERIODIC_DAMAGE
@ SPELL_AURA_PERIODIC_DUMMY
@ TRIGGERED_FULL_MASK
Used when doing CastSpell with triggered == true.
#define SpellEffectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define AuraEffectRemoveFn(F, I, N, M)
void AddSC_boss_soulbound_goliath()
@ SPELL_SOUL_HARVEST_DAMAGE
@ SPELL_SOUL_HARVEST_PERIODIC
@ SPELL_SOUL_THORNS_SELECTOR
@ EVENT_SOUL_HARVEST_WARNING
AuraApplication const * GetTargetApplication() const
HookList< EffectApplyHandler > AfterEffectRemove
HookList< EffectPeriodicHandler > OnEffectPeriodic
InstanceScript *const instance
void JustEngagedWith(Unit *who) override
void _DespawnAtEvade(Seconds delayToRespawn=30s, Creature *who=nullptr)
bool _EnterEvadeMode(EvadeReason why=EvadeReason::Other)
void SetImmuneToPC(bool apply) override
void SetReactState(ReactStates st)
void Repeat(Milliseconds time)
void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group=0, uint8 phase=0)
virtual bool SetBossState(uint32 id, EncounterState state)
EncounterState GetBossState(uint32 id) const
void SendEncounterUnit(EncounterFrameType type, Unit const *unit, Optional< int32 > param1={}, Optional< int32 > param2={})
bool IsHeroicOrHigher() const
void MoveRandom(float wanderDistance=0.0f, Optional< Milliseconds > duration={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::ForceWalk, MovementSlot slot=MOTION_SLOT_DEFAULT, Scripting::v2::ActionResultSetter< MovementStopReason > &&scriptResult={})
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
Creature * GetHitCreature() const
int32 GetEffectValueAsInt() const
Unit * GetHitUnit() const
HookList< EffectHandler > OnEffectHitTarget
TaskScheduler & Schedule(duration_t time, task_handler_t task)
TaskScheduler & Update()
Update the scheduler to the current time.
SpellCastResult DoCastSelf(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCastVictim(uint32 spellId, CastSpellExtraArgs const &args={})
SpellCastResult DoCast(uint32 spellId)
void PlayOneShotAnimKitId(uint16 animKitId)
MotionMaster * GetMotionMaster()
AuraEffect * GetAuraEffect(uint32 spellId, uint8 effIndex, ObjectGuid casterGUID=ObjectGuid::Empty) const
void SetUninteractible(bool apply)
bool HasUnitState(const uint32 f) const
void SetAIAnimKitId(uint16 animKitId)
InstanceScript * GetInstanceScript() const
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
virtual uint32 GetData(uint32) const
bool Validate(SpellInfo const *) override
void OnRemove(AuraEffect const *, AuraEffectHandleModes)
void HandlePeriodic(AuraEffect const *)
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandlePeriodic(AuraEffect const *)
void HandleDamage(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleHitTarget(SpellEffIndex)
bool Validate(SpellInfo const *) override
void SpellHitTarget(WorldObject *target, SpellInfo const *spellInfo) override
void DoAction(int32 actionId) override
void JustAppeared() override
void JustDied(Unit *) override
void SpellHit(WorldObject *, SpellInfo const *spellInfo) override
boss_soulbound_goliath(Creature *creature)
void KilledUnit(Unit *victim) override
void JustEngagedWith(Unit *who) override
void EnterEvadeMode(EvadeReason) override
void UpdateAI(uint32 diff) override
#define RegisterWaycrestManorCreatureAI(ai_name)
@ DATA_SOULBOUND_GOLIATH_INTRO
@ ACTION_SOULBOUND_GOLIATH_INTRO