AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#include "SpellInfo.h"
Classes | |
struct | StaticData |
Public Member Functions | |
SpellEffectInfo () | |
SpellEffectInfo (SpellEntry const *spellEntry, SpellInfo const *spellInfo, uint8 effIndex) | |
bool | IsEffect () const |
bool | IsEffect (SpellEffects effectName) const |
bool | IsAura () const |
bool | IsAura (AuraType aura) const |
bool | IsTargetingArea () const |
bool | IsAreaAuraEffect () const |
bool | IsFarUnitTargetEffect () const |
bool | IsFarDestTargetEffect () const |
bool | IsUnitOwnedAuraEffect () const |
int32 | CalcValue (Unit const *caster=nullptr, int32 const *basePoints=nullptr, Unit const *target=nullptr) const |
int32 | CalcBaseValue (int32 value) const |
float | CalcValueMultiplier (Unit *caster, Spell *spell=nullptr) const |
float | CalcDamageMultiplier (Unit *caster, Spell *spell=nullptr) const |
bool | HasRadius () const |
float | CalcRadius (Unit *caster=nullptr, Spell *=nullptr) const |
uint32 | GetProvidedTargetMask () const |
uint32 | GetMissingTargetMask (bool srcSet=false, bool destSet=false, uint32 mask=0) const |
SpellEffectImplicitTargetTypes | GetImplicitTargetType () const |
SpellTargetObjectTypes | GetUsedTargetObjectType () const |
Public Attributes | |
uint32 | Effect |
uint32 | ApplyAuraName |
uint32 | Amplitude |
int32 | DieSides |
float | RealPointsPerLevel |
int32 | BasePoints |
float | PointsPerComboPoint |
float | ValueMultiplier |
float | DamageMultiplier |
float | BonusMultiplier |
int32 | MiscValue |
int32 | MiscValueB |
Mechanics | Mechanic |
SpellImplicitTargetInfo | TargetA |
SpellImplicitTargetInfo | TargetB |
SpellRadiusEntry const * | RadiusEntry |
uint32 | ChainTarget |
uint32 | ItemType |
uint32 | TriggerSpell |
flag96 | SpellClassMask |
std::list< Condition * > * | ImplicitTargetConditions |
Private Attributes | |
SpellInfo const * | _spellInfo |
uint8 | _effIndex |
Static Private Attributes | |
static std::array< StaticData, TOTAL_SPELL_EFFECTS > | _data |
|
inline |
SpellEffectInfo::SpellEffectInfo | ( | SpellEntry const * | spellEntry, |
SpellInfo const * | spellInfo, | ||
uint8 | effIndex | ||
) |
References _effIndex, _spellInfo, Amplitude, ApplyAuraName, BasePoints, BonusMultiplier, ChainTarget, DamageMultiplier, DieSides, Effect, SpellEntry::Effect, SpellEntry::EffectAmplitude, SpellEntry::EffectApplyAuraName, SpellEntry::EffectBasePoints, SpellEntry::EffectBonusMultiplier, SpellEntry::EffectChainTarget, SpellEntry::EffectDamageMultiplier, SpellEntry::EffectDieSides, SpellEntry::EffectImplicitTargetA, SpellEntry::EffectImplicitTargetB, SpellEntry::EffectItemType, SpellEntry::EffectMechanic, SpellEntry::EffectMiscValue, SpellEntry::EffectMiscValueB, SpellEntry::EffectPointsPerComboPoint, SpellEntry::EffectRadiusIndex, SpellEntry::EffectRealPointsPerLevel, SpellEntry::EffectSpellClassMask, SpellEntry::EffectTriggerSpell, SpellEntry::EffectValueMultiplier, ImplicitTargetConditions, ItemType, Mechanic, MiscValue, MiscValueB, PointsPerComboPoint, RadiusEntry, RealPointsPerLevel, SpellClassMask, sSpellRadiusStore, TargetA, TargetB, TriggerSpell, and ValueMultiplier.
References _spellInfo, DamageMultiplier, Unit::GetSpellModOwner(), SpellInfo::Id, and SPELLMOD_DAMAGE_MULTIPLIER.
References _spellInfo, Unit::GetLevel(), Unit::GetSpellModOwner(), HasRadius(), SpellInfo::Id, RadiusEntry, SpellRadiusEntry::RadiusMax, SpellRadiusEntry::RadiusMin, SpellRadiusEntry::RadiusPerLevel, and SPELLMOD_RADIUS.
int32 SpellEffectInfo::CalcValue | ( | Unit const * | caster = nullptr , |
int32 const * | basePoints = nullptr , |
||
Unit const * | target = nullptr |
||
) | const |
References _effIndex, _spellInfo, ApplyAuraName, Unit::ApplyEffectModifiers(), CreatureBaseStats::BaseDamage, SpellInfo::BaseLevel, BasePoints, DieSides, Effect, SpellInfo::Effects, CreatureTemplate::expansion, Unit::getClass(), Unit::GetComboPoints(), Creature::GetCreatureTemplate(), Unit::GetLevel(), SpellInfo::HasAttribute(), irand(), Unit::IsControlledByPlayer(), SpellInfo::MaxLevel, PointsPerComboPoint, RealPointsPerLevel, sObjectMgr, SPELL_ATTR0_SCALES_WITH_CREATURE_LEVEL, 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_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, SPELL_EFFECT_WEAPON_DAMAGE, SpellInfo::SpellLevel, sSpellMgr, and Object::ToCreature().
Referenced by spell_dragonblight_corrosive_spit::AfterApply(), spell_dragonblight_corrosive_spit::PeriodicTick(), and spell_dragonblight_corrosive_spit::Validate().
References _spellInfo, Unit::GetSpellModOwner(), SpellInfo::Id, SPELLMOD_VALUE_MULTIPLIER, and ValueMultiplier.
SpellEffectImplicitTargetTypes SpellEffectInfo::GetImplicitTargetType | ( | ) | const |
uint32 SpellEffectInfo::GetMissingTargetMask | ( | bool | srcSet = false , |
bool | destSet = false , |
||
uint32 | mask = 0 |
||
) | const |
References SpellImplicitTargetInfo::GetObjectType(), GetTargetFlagMask(), GetUsedTargetObjectType(), TARGET_FLAG_CORPSE_MASK, TARGET_FLAG_DEST_LOCATION, TARGET_FLAG_GAMEOBJECT, TARGET_FLAG_GAMEOBJECT_ITEM, TARGET_FLAG_ITEM, TARGET_FLAG_SOURCE_LOCATION, TARGET_FLAG_UNIT_MASK, TargetA, and TargetB.
uint32 SpellEffectInfo::GetProvidedTargetMask | ( | ) | const |
References SpellImplicitTargetInfo::GetObjectType(), GetTargetFlagMask(), TargetA, and TargetB.
SpellTargetObjectTypes SpellEffectInfo::GetUsedTargetObjectType | ( | ) | const |
Referenced by GetMissingTargetMask().
bool SpellEffectInfo::HasRadius | ( | ) | const |
bool SpellEffectInfo::IsAreaAuraEffect | ( | ) | const |
References Effect, SPELL_EFFECT_APPLY_AREA_AURA_ENEMY, SPELL_EFFECT_APPLY_AREA_AURA_FRIEND, SPELL_EFFECT_APPLY_AREA_AURA_OWNER, SPELL_EFFECT_APPLY_AREA_AURA_PARTY, SPELL_EFFECT_APPLY_AREA_AURA_PET, and SPELL_EFFECT_APPLY_AREA_AURA_RAID.
Referenced by IsUnitOwnedAuraEffect().
bool SpellEffectInfo::IsAura | ( | ) | const |
References ApplyAuraName, Effect, IsUnitOwnedAuraEffect(), and SPELL_EFFECT_PERSISTENT_AREA_AURA.
Referenced by IsAura().
bool SpellEffectInfo::IsAura | ( | AuraType | aura | ) | const |
References ApplyAuraName, and IsAura().
bool SpellEffectInfo::IsEffect | ( | SpellEffects | effectName | ) | const |
bool SpellEffectInfo::IsFarDestTargetEffect | ( | ) | const |
References Effect, and SPELL_EFFECT_TELEPORT_UNITS.
bool SpellEffectInfo::IsFarUnitTargetEffect | ( | ) | const |
References Effect, SPELL_EFFECT_RESURRECT, SPELL_EFFECT_RESURRECT_NEW, SPELL_EFFECT_SUMMON_PLAYER, and SPELL_EFFECT_SUMMON_RAF_FRIEND.
bool SpellEffectInfo::IsTargetingArea | ( | ) | const |
References SpellImplicitTargetInfo::IsArea(), TargetA, and TargetB.
bool SpellEffectInfo::IsUnitOwnedAuraEffect | ( | ) | const |
References Effect, IsAreaAuraEffect(), and SPELL_EFFECT_APPLY_AURA.
Referenced by IsAura().
|
staticprivate |
Referenced by GetImplicitTargetType(), and GetUsedTargetObjectType().
|
private |
Referenced by CalcValue(), and SpellEffectInfo().
|
private |
Referenced by CalcDamageMultiplier(), CalcRadius(), CalcValue(), CalcValueMultiplier(), and SpellEffectInfo().
uint32 SpellEffectInfo::Amplitude |
Referenced by SpellEffectInfo().
uint32 SpellEffectInfo::ApplyAuraName |
Referenced by CalcValue(), Spell::CheckCast(), IsAura(), and SpellEffectInfo().
int32 SpellEffectInfo::BasePoints |
Referenced by CalcValue(), and SpellEffectInfo().
float SpellEffectInfo::BonusMultiplier |
Referenced by SpellEffectInfo().
uint32 SpellEffectInfo::ChainTarget |
Referenced by SpellEffectInfo().
float SpellEffectInfo::DamageMultiplier |
Referenced by CalcDamageMultiplier(), and SpellEffectInfo().
int32 SpellEffectInfo::DieSides |
Referenced by CalcBaseValue(), CalcValue(), and SpellEffectInfo().
uint32 SpellEffectInfo::Effect |
std::list<Condition*>* SpellEffectInfo::ImplicitTargetConditions |
Referenced by SpellEffectInfo().
uint32 SpellEffectInfo::ItemType |
Referenced by SpellEffectInfo().
Mechanics SpellEffectInfo::Mechanic |
Referenced by SpellEffectInfo().
int32 SpellEffectInfo::MiscValue |
Referenced by Spell::CheckCast(), and SpellEffectInfo().
int32 SpellEffectInfo::MiscValueB |
Referenced by SpellEffectInfo().
float SpellEffectInfo::PointsPerComboPoint |
Referenced by CalcValue(), and SpellEffectInfo().
SpellRadiusEntry const* SpellEffectInfo::RadiusEntry |
Referenced by CalcRadius(), HasRadius(), and SpellEffectInfo().
float SpellEffectInfo::RealPointsPerLevel |
Referenced by CalcValue(), and SpellEffectInfo().
flag96 SpellEffectInfo::SpellClassMask |
Referenced by SpellEffectInfo().
SpellImplicitTargetInfo SpellEffectInfo::TargetA |
Referenced by GetMissingTargetMask(), GetProvidedTargetMask(), IsTargetingArea(), and SpellEffectInfo().
SpellImplicitTargetInfo SpellEffectInfo::TargetB |
Referenced by GetMissingTargetMask(), GetProvidedTargetMask(), IsTargetingArea(), and SpellEffectInfo().
uint32 SpellEffectInfo::TriggerSpell |
Referenced by SpellEffectInfo().
float SpellEffectInfo::ValueMultiplier |
Referenced by CalcValueMultiplier(), and SpellEffectInfo().