Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
SpellEffectInfo Class Reference

#include <SpellInfo.h>

Collaboration diagram for SpellEffectInfo:

Classes

struct  StaticData

Public Member Functions

int32 CalcBaseValue (int32 value) const
float CalcBonusMultiplier (Unit *caster, Spell *spell=NULL) const
float CalcDamageMultiplier (Unit *caster, Spell *spell=NULL) const
float CalcRadius (Unit *caster=NULL, Spell *=NULL) const
int32 CalcValue (Unit const *caster=NULL, int32 const *basePoints=NULL, Unit const *target=NULL) const
float CalcValueMultiplier (Unit *caster, Spell *spell=NULL) const
SpellEffectImplicitTargetTypes GetImplicitTargetType () const
uint32 GetMissingTargetMask (bool srcSet=false, bool destSet=false, uint32 mask=0) const
uint32 GetProvidedTargetMask () const
SpellTargetObjectTypes GetUsedTargetObjectType () const
bool HasMaxRadius () const
bool HasRadius () const
bool IsAreaAuraEffect () const
bool IsAura () const
bool IsAura (AuraType aura) const
bool IsEffect () const
bool IsEffect (SpellEffects effectName) const
bool IsFarDestTargetEffect () const
bool IsFarUnitTargetEffect () const
bool IsTargetingArea () const
bool IsUnitOwnedAuraEffect () const
 SpellEffectInfo ()
 SpellEffectInfo (SpellEntry const *spellEntry, SpellInfo const *spellInfo, uint8 effIndex, SpellEffectEntry const *effect)

Public Attributes

uint32 ApplyAuraName
uint32 ApplyAuraTickCount
int32 BasePoints
float BonusMultiplier
uint32 ChainTarget
float ComboScalingMultiplier
float DamageMultiplier
float DeltaScalingMultiplier
int32 DieSides
uint32 Effect
std::list< Condition * > * ImplicitTargetConditions = { }
uint32 ItemType
SpellRadiusEntry const * MaxRadiusEntry = { }
Mechanics Mechanic
int32 MiscValue
int32 MiscValueB
float PointsPerComboPoint
SpellRadiusEntry const * RadiusEntry = { }
float RealPointsPerLevel
float ScalingMultiplier
flag128 SpellClassMask
SpellImplicitTargetInfo TargetA
SpellImplicitTargetInfo TargetB
uint32 TriggerSpell
float ValueMultiplier

Private Attributes

uint8 _effIndex
SpellInfo const * _spellInfo

Static Private Attributes

static StaticData _data [TOTAL_SPELL_EFFECTS]

Detailed Description

Definition at line 84 of file SpellInfo.h.

Constructor & Destructor Documentation

◆ SpellEffectInfo() [1/2]

◆ SpellEffectInfo() [2/2]

SpellEffectInfo::SpellEffectInfo ( SpellEntry const * spellEntry,
SpellInfo const * spellInfo,
uint8 effIndex,
SpellEffectEntry const * effect )

Member Function Documentation

◆ CalcBaseValue()

int32 SpellEffectInfo::CalcBaseValue ( int32 value) const

Definition at line 261 of file SpellInfo.cpp.

References Skyfire::Spells::CalculateEffectBaseValue(), and DieSides.

◆ CalcBonusMultiplier()

float SpellEffectInfo::CalcBonusMultiplier ( Unit * caster,
Spell * spell = NULL ) const

◆ CalcDamageMultiplier()

float SpellEffectInfo::CalcDamageMultiplier ( Unit * caster,
Spell * spell = NULL ) const

◆ CalcRadius()

◆ CalcValue()

int32 SpellEffectInfo::CalcValue ( Unit const * caster = NULL,
int32 const * basePoints = NULL,
Unit const * target = NULL ) const

Definition at line 115 of file SpellInfo.cpp.

References _effIndex, _spellInfo, ApplyAuraName, Unit::ApplyEffectModifiers(), BasePoints, ComboScalingMultiplier, DeltaScalingMultiplier, DieSides, Effect, frand(), Player::GetComboPoints(), Unit::getLevel(), Unit::IsControlledByPlayer(), Unit::m_movedPlayer, MAX_CLASSES, PointsPerComboPoint, RealPointsPerLevel, ScalingMultiplier, sGtSpellScalingStore, SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION, SPELL_AURA_DAMAGE_SHIELD, SPELL_AURA_DUMMY, SPELL_AURA_PERIODIC_DAMAGE, SPELL_AURA_PERIODIC_HEAL, SPELL_AURA_PERIODIC_LEECH, SPELL_AURA_PERIODIC_MANA_LEECH, SPELL_AURA_PERIODIC_TRIGGER_SPELL_WITH_VALUE, SPELL_AURA_PROC_TRIGGER_DAMAGE, SPELL_AURA_SCHOOL_ABSORB, SPELL_EFFECT_APPLY_AURA, SPELL_EFFECT_DUMMY, SPELL_EFFECT_FORCE_CAST_WITH_VALUE, SPELL_EFFECT_HEAL, SPELL_EFFECT_HEALTH_LEECH, SPELL_EFFECT_NORMALIZED_WEAPON_DMG, SPELL_EFFECT_POWER_BURN, SPELL_EFFECT_POWER_DRAIN, SPELL_EFFECT_SCHOOL_DAMAGE, SPELL_EFFECT_SCRIPT_EFFECT, SPELL_EFFECT_TRIGGER_MISSILE_SPELL_WITH_VALUE, SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE, and SPELL_EFFECT_WEAPON_DAMAGE.

Referenced by spell_valkyr_essences::spell_valkyr_essences_AuraScript::Absorb(), spell_dk_anti_magic_zone::spell_dk_anti_magic_zone_AuraScript::CalculateAmount(), spell_hun_pet_scaling_01::spell_hun_pet_scaling_01_AuraScript::CalculateAttackPowerAmount(), spell_rog_recuperate::spell_rog_recuperate_AuraScript::CalculateBonus(), spell_hun_pet_scaling_01::spell_hun_pet_scaling_01_AuraScript::CalculateDamageDoneAmount(), Unit::CalculateSpellDamage(), spell_hun_pet_scaling_01::spell_hun_pet_scaling_01_AuraScript::CalculateStaminaAmount(), spell_dk_pet_scaling_01::spell_dk_pet_scaling_01_AuraScript::CalculateStrengthAmount(), Unit::HandleAuraProc(), spell_gen_oracle_wolvar_reputation::spell_gen_oracle_wolvar_reputation_SpellScript::HandleDummy(), spell_q12683_take_sputum_sample::spell_q12683_take_sputum_sample_SpellScript::HandleDummy(), Unit::HandleDummyAuraProc(), AuraEffect::HandlePeriodicDamageAurasTick(), Unit::HandleProcTriggerSpell(), spell_putricide_mutated_plague::spell_putricide_mutated_plague_AuraScript::HandleTriggerSpell(), spell_dk_anti_magic_shell_raid::spell_dk_anti_magic_shell_raid_AuraScript::Load(), spell_dk_anti_magic_shell_self::spell_dk_anti_magic_shell_self_AuraScript::Load(), spell_dk_anti_magic_zone::spell_dk_anti_magic_zone_AuraScript::Load(), spell_dru_savage_defense::spell_dru_savage_defense_AuraScript::Load(), spell_gen_absorb0_hitlimit1::spell_gen_absorb0_hitlimit1_AuraScript::Load(), spell_monk_dampen_harm::spell_monk_dampen_harm_AuraScript::Load(), spell_rog_cheat_death::spell_rog_cheat_death_AuraScript::Load(), SpellMgr::LoadSpellLearnSkills(), SpellMgr::LoadSpellPetAuras(), spell_sha_nature_guardian::spell_sha_nature_guardian_AuraScript::OnProc(), spell_blood_queen_pact_of_the_darkfallen_dmg::spell_blood_queen_pact_of_the_darkfallen_dmg_AuraScript::PeriodicTick(), and spell_mage_living_bomb::spell_mage_living_bomb_AuraScript::Validate().

◆ CalcValueMultiplier()

◆ GetImplicitTargetType()

SpellEffectImplicitTargetTypes SpellEffectInfo::GetImplicitTargetType ( ) const

Definition at line 351 of file SpellInfo.cpp.

References _data, and Effect.

◆ GetMissingTargetMask()

uint32 SpellEffectInfo::GetMissingTargetMask ( bool srcSet = false,
bool destSet = false,
uint32 mask = 0 ) const

◆ GetProvidedTargetMask()

uint32 SpellEffectInfo::GetProvidedTargetMask ( ) const

Definition at line 322 of file SpellInfo.cpp.

References GetTargetFlagMask(), TargetA, and TargetB.

◆ GetUsedTargetObjectType()

SpellTargetObjectTypes SpellEffectInfo::GetUsedTargetObjectType ( ) const

Definition at line 356 of file SpellInfo.cpp.

References _data, and Effect.

Referenced by GetMissingTargetMask().

◆ HasMaxRadius()

bool SpellEffectInfo::HasMaxRadius ( ) const

Definition at line 295 of file SpellInfo.cpp.

References MaxRadiusEntry.

Referenced by CalcRadius().

◆ HasRadius()

bool SpellEffectInfo::HasRadius ( ) const

Definition at line 290 of file SpellInfo.cpp.

References RadiusEntry.

Referenced by CalcRadius().

◆ IsAreaAuraEffect()

◆ IsAura() [1/2]

bool SpellEffectInfo::IsAura ( ) const

Definition at line 69 of file SpellInfo.cpp.

References ApplyAuraName, Effect, IsUnitOwnedAuraEffect(), and SPELL_EFFECT_PERSISTENT_AREA_AURA.

Referenced by IsAura().

◆ IsAura() [2/2]

bool SpellEffectInfo::IsAura ( AuraType aura) const

Definition at line 74 of file SpellInfo.cpp.

References ApplyAuraName, and IsAura().

◆ IsEffect() [1/2]

bool SpellEffectInfo::IsEffect ( ) const

◆ IsEffect() [2/2]

bool SpellEffectInfo::IsEffect ( SpellEffects effectName) const

Definition at line 64 of file SpellInfo.cpp.

References Effect.

◆ IsFarDestTargetEffect()

bool SpellEffectInfo::IsFarDestTargetEffect ( ) const

Definition at line 105 of file SpellInfo.cpp.

References Effect, and SPELL_EFFECT_TELEPORT_UNITS.

◆ IsFarUnitTargetEffect()

bool SpellEffectInfo::IsFarUnitTargetEffect ( ) const

◆ IsTargetingArea()

bool SpellEffectInfo::IsTargetingArea ( ) const

Definition at line 79 of file SpellInfo.cpp.

References TargetA, and TargetB.

Referenced by Aura::CanStackWith(), and Unit::GetCastingTimeForBonus().

◆ IsUnitOwnedAuraEffect()

bool SpellEffectInfo::IsUnitOwnedAuraEffect ( ) const

Definition at line 110 of file SpellInfo.cpp.

References Effect, IsAreaAuraEffect(), and SPELL_EFFECT_APPLY_AURA.

Referenced by Aura::BuildEffectMaskForOwner(), and IsAura().

Member Data Documentation

◆ _data

SpellEffectInfo::StaticData SpellEffectInfo::_data
staticprivate

Definition at line 361 of file SpellInfo.h.

Referenced by GetImplicitTargetType(), and GetUsedTargetObjectType().

◆ _effIndex

uint8 SpellEffectInfo::_effIndex
private

Definition at line 87 of file SpellInfo.h.

Referenced by CalcValue(), SpellEffectInfo(), and SpellEffectInfo().

◆ _spellInfo

SpellInfo const* SpellEffectInfo::_spellInfo
private

◆ ApplyAuraName

◆ ApplyAuraTickCount

◆ BasePoints

◆ BonusMultiplier

float SpellEffectInfo::BonusMultiplier

Definition at line 98 of file SpellInfo.h.

Referenced by CalcBonusMultiplier(), SpellEffectInfo(), and SpellEffectInfo().

◆ ChainTarget

uint32 SpellEffectInfo::ChainTarget

Definition at line 106 of file SpellInfo.h.

Referenced by SpellEffectInfo(), and SpellEffectInfo().

◆ ComboScalingMultiplier

float SpellEffectInfo::ComboScalingMultiplier

Definition at line 114 of file SpellInfo.h.

Referenced by CalcValue(), SpellEffectInfo(), and SpellEffectInfo().

◆ DamageMultiplier

float SpellEffectInfo::DamageMultiplier

Definition at line 97 of file SpellInfo.h.

Referenced by CalcDamageMultiplier(), SpellEffectInfo(), and SpellEffectInfo().

◆ DeltaScalingMultiplier

float SpellEffectInfo::DeltaScalingMultiplier

Definition at line 113 of file SpellInfo.h.

Referenced by CalcValue(), SpellEffectInfo(), and SpellEffectInfo().

◆ DieSides

int32 SpellEffectInfo::DieSides

Definition at line 92 of file SpellInfo.h.

Referenced by CalcBaseValue(), CalcValue(), SpellEffectInfo(), and SpellEffectInfo().

◆ Effect

uint32 SpellEffectInfo::Effect

◆ ImplicitTargetConditions

std::list<Condition*>* SpellEffectInfo::ImplicitTargetConditions = { }

◆ ItemType

uint32 SpellEffectInfo::ItemType

◆ MaxRadiusEntry

SpellRadiusEntry const* SpellEffectInfo::MaxRadiusEntry = { }

◆ Mechanic

◆ MiscValue

◆ MiscValueB

int32 SpellEffectInfo::MiscValueB

◆ PointsPerComboPoint

float SpellEffectInfo::PointsPerComboPoint

Definition at line 95 of file SpellInfo.h.

Referenced by CalcValue(), SpellEffectInfo(), and SpellEffectInfo().

◆ RadiusEntry

SpellRadiusEntry const* SpellEffectInfo::RadiusEntry = { }

◆ RealPointsPerLevel

float SpellEffectInfo::RealPointsPerLevel

Definition at line 93 of file SpellInfo.h.

Referenced by CalcValue(), SpellEffectInfo(), and SpellEffectInfo().

◆ ScalingMultiplier

float SpellEffectInfo::ScalingMultiplier

Definition at line 112 of file SpellInfo.h.

Referenced by CalcValue(), SpellEffectInfo(), and SpellEffectInfo().

◆ SpellClassMask

◆ TargetA

◆ TargetB

◆ TriggerSpell

◆ ValueMultiplier

float SpellEffectInfo::ValueMultiplier

Definition at line 96 of file SpellInfo.h.

Referenced by CalcValueMultiplier(), SpellEffectInfo(), and SpellEffectInfo().


The documentation for this class was generated from the following files: