123 ignorePainAura->ChangeAmount(ignorePainAura->GetAmount() +
_damageAmount);
173 for (
uint32 i = 0; i < 5; ++i)
368 if (
GetCaster()->GetMap()->Instanceable())
375 bool result = generatedPath.
CalculatePath(dest->GetPositionX(), dest->GetPositionY(), dest->GetPositionZ(),
false);
381 else if (dest->GetPositionZ() >
GetCaster()->GetPositionZ() + 4.0f)
704 SpellInfo const* spellInfo = damageInfo->GetSpellInfo();
761 if (damageInfo && damageInfo->
GetDamage())
std::chrono::seconds Seconds
Seconds shorthand typedef.
std::optional< T > Optional
Optional helper class to wrap optional values within.
bool roll_chance_i(int chance)
#define RegisterSpellScript(spell_script)
@ TARGET_UNIT_SRC_AREA_ENEMY
@ SPELL_FAILED_OUT_OF_RANGE
@ SPELL_FAILED_NO_VALID_TARGETS
@ AURA_STATE_WOUNDED_20_PERCENT
@ AURA_EFFECT_HANDLE_REAL
@ SPELL_AURA_PROC_TRIGGER_SPELL
@ SPELL_AURA_PERIODIC_DUMMY
@ SPELL_AURA_PERIODIC_TRIGGER_SPELL
@ TRIGGERED_FULL_MASK
Used when doing CastSpell with triggered == true.
@ TRIGGERED_IGNORE_CAST_IN_PROGRESS
Will not check if a current cast is in progress.
#define SpellCheckCastFn(F)
#define AuraEffectProcFn(F, I, N)
#define SpellEffectFn(F, I, N)
#define SpellObjectAreaTargetSelectFn(F, I, N)
#define AuraEffectPeriodicFn(F, I, N)
#define AuraCheckEffectProcFn(F, I, N)
#define AuraCheckProcFn(F)
#define AuraEffectRemoveFn(F, I, N, M)
T CalculatePct(T base, U pct)
void PreventDefaultAction()
HookList< CheckEffectProcHandler > DoCheckEffectProc
HookList< EffectPeriodicHandler > OnEffectPeriodic
HookList< EffectApplyHandler > AfterEffectApply
HookList< EffectProcHandler > AfterEffectProc
SpellEffectInfo const & GetEffectInfo(SpellEffIndex effIndex) const
Difficulty GetCastDifficulty() const
HookList< CheckProcHandler > DoCheckProc
HookList< EffectProcHandler > OnEffectProc
HookList< AuraProcHandler > OnProc
static Player * ToPlayer(Object *o)
PathType GetPathType() const
void SetPathLengthLimit(float distance)
bool CalculatePath(float destX, float destY, float destZ, bool forceDest=false)
ChrSpecialization GetPrimarySpecialization() const
Unit * GetActionTarget() const
Spell const * GetProcSpell() const
DamageInfo * GetDamageInfo() const
Unit * GetProcTarget() const
int32 CalcValue(WorldObject const *caster=nullptr, int32 const *basePoints=nullptr, Unit const *target=nullptr, float *variance=nullptr, uint32 castItemId=0, int32 itemLevel=-1) const
void ResetCooldown(uint32 spellId, bool update=false)
void ModifyCooldown(uint32 spellId, Duration cooldownMod, bool withoutCategoryCooldown=false)
float GetMaxRange(bool positive=false, WorldObject *caster=nullptr, Spell *spell=nullptr) const
SpellEffectInfo const & GetEffect(SpellEffIndex index) const
static bool ValidateSpellInfo(std::initializer_list< uint32 > spellIds)
static bool ValidateSpellEffect(std::initializer_list< std::pair< uint32, SpellEffIndex > > effects)
HookList< CastHandler > AfterCast
WorldLocation * GetHitDest() const
HookList< CheckCastHandler > OnCheckCast
HookList< HitHandler > OnHit
HookList< EffectHandler > OnEffectHit
Unit * GetHitUnit() const
int32 GetEffectValue() const
SpellEffectInfo const & GetEffectInfo() const
HookList< EffectHandler > OnEffectHitTarget
WorldObject * GetExplTargetWorldObject() const
HookList< EffectHandler > OnEffectLaunchTarget
WorldLocation const * GetExplTargetDest() const
SpellInfo const * GetSpellInfo() const
HookList< ObjectAreaTargetSelectHandler > OnObjectAreaTargetSelect
Optional< int32 > GetPowerTypeCostAmount(Powers power) const
Unit * SelectNearbyTarget(Unit *exclude=nullptr, float dist=NOMINAL_MELEE_RANGE) const
void SendPlaySpellVisual(Unit *target, uint32 spellVisualId, uint16 missReason, uint16 reflectStatus, float travelSpeed, bool speedAsTime=false, float launchDelay=0.0f)
bool HealthBelowPct(int32 pct) const
uint64 GetMaxHealth() const
bool HasAuraState(AuraStateType flag, SpellInfo const *spellProto=nullptr, Unit const *Caster=nullptr) const
std::unique_ptr< Movement::MoveSpline > movespline
bool HasAura(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, ObjectGuid itemCasterGUID=ObjectGuid::Empty, uint32 reqEffMask=0) const
SpellHistory * GetSpellHistory()
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={ })
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
void HandleDummyTick(AuraEffect const *)
void DropFireVisual(AuraEffect const *aurEff)
void HandleCharge(SpellEffIndex)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void HandleProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *spellInfo) override
void OnProc(AuraEffect const *, ProcEventInfo const &) const
void HandlePeriodic(AuraEffect const *)
bool Validate(SpellInfo const *) override
void HandleProc(ProcEventInfo &eventInfo)
void AfterJump(SpellEffIndex)
bool Validate(SpellInfo const *) override
SpellCastResult CheckElevation()
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
void FilterTargets(std::list< WorldObject * > &unitList)
void HandleProc(ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *spellInfo) override
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleScript(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleHitTarget(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleDummy(SpellEffIndex)
bool Validate(SpellInfo const *) override
void HandleStun(SpellEffIndex)
bool Validate(SpellInfo const *spellInfo) override
void HandleOnHit(SpellEffIndex)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
void HandleCooldown(AuraEffect const *, ProcEventInfo const &) const
static bool CheckProc(AuraEffect const *aurEff, ProcEventInfo const &)
void HandleApply(AuraEffect const *, AuraEffectHandleModes)
bool Validate(SpellInfo const *) override
void HandleProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
bool CheckProc(ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
bool CheckProc(ProcEventInfo &eventInfo)
bool Validate(SpellInfo const *) override
void HandleProc(AuraEffect *aurEff, ProcEventInfo &eventInfo)
void HandleOnProc(AuraEffect *, ProcEventInfo &procInfo)
bool Validate(SpellInfo const *) override
bool Validate(SpellInfo const *) override
@ SPELL_WARRIOR_IMPROVED_HEROIC_LEAP
@ SPELL_WARRIOR_BLOODTHIRST_HEAL
@ SPELL_WARRIOR_SHIELD_BLOCK_AURA
@ SPELL_WARRIOR_RALLYING_CRY
@ SPELL_WARRIOR_GLYPH_OF_THE_BLAZING_TRAIL
@ SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_1
@ SPELL_WARRIOR_CHARGE_EFFECT
@ SPELL_WARRIOR_GLYPH_OF_HEROIC_LEAP
@ SPELL_WARRIOR_CHARGE_PAUSE_RAGE_DECAY
@ SPELL_WARRIOR_CRITICAL_THINKING_ENERGIZE
@ SPELL_WARRIOR_SHIELD_SLAM_MARKER
@ SPELL_WARRIOR_SHOCKWAVE_STUN
@ SPELL_WARRIOR_VICTORY_RUSH_HEAL
@ SPELL_WARRIOR_SHIELD_SLAM
@ SPELL_WARRIOR_FUELED_BY_VIOLENCE_HEAL
@ SPELL_WARRIOR_SHIELD_CHARGE_EFFECT
@ SPELL_WARRIOR_STORM_BOLT_STUN
@ SPELL_WARRIOR_COLOSSUS_SMASH
@ SPELL_WARRIOR_MORTAL_WOUNDS
@ SPELL_WARRIOR_CHARGE_ROOT_EFFECT
@ SPELL_WARRIOR_STRATEGIST
@ SPELL_WARRIOR_IMPENDING_VICTORY
@ SPELL_WARRIOR_IN_FOR_THE_KILL
@ SPELL_WARRIOR_HEROIC_LEAP_JUMP
@ SPELL_WARRIOR_COLOSSUS_SMASH_AURA
@ SPELL_WARRIOR_CHARGE_EFFECT_BLAZING_TRAIL
@ SPELL_WARRIOR_GLYPH_OF_HEROIC_LEAP_BUFF
@ SPELL_WARRIOR_IMPENDING_VICTORY_HEAL
@ SPELL_WARRIOR_BLADESTORM_PERIODIC_WHIRLWIND
@ SPELL_WARRIOR_SHOCKWAVE
@ SPELL_WARRIOR_IGNORE_PAIN
@ SPELL_WARRIOR_TRAUMA_EFFECT
@ SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_2
@ SPELL_WARRIOR_VICTORIOUS
@ SPELL_WARRIOR_MORTAL_STRIKE
@ SPELL_WARRIOR_IN_FOR_THE_KILL_HASTE
@ SPELL_WARRIOR_CHARGE_SLOW_EFFECT
void AddSC_warrior_spell_scripts()
@ SPELL_VISUAL_BLAZING_CHARGE