#define MAX_SPELL_REAGENTS
#define MAX_SPELL_EFFECTS
@ SPELL_ATTR0_CU_IGNORE_ARMOR
@ SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER
@ SPELL_ATTR0_CU_ENCHANT_PROC
@ SPELL_ATTR0_CU_DIRECT_DAMAGE
@ SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET
@ SPELL_ATTR0_CU_CONE_BACK
@ SPELL_ATTR0_CU_NEGATIVE_EFF2
@ SPELL_ATTR0_CU_NEGATIVE_EFF1
@ SPELL_ATTR0_CU_NEGATIVE
@ SPELL_ATTR0_CU_NEGATIVE_EFF0
@ SPELL_ATTR0_CU_SHARE_DAMAGE
@ SPELL_ATTR0_CU_PICKPOCKET
@ SPELL_ATTR0_CU_CONE_LINE
@ SPELL_ATTR0_CU_NO_INITIAL_THREAT
@ SPELL_SPECIFIC_MAGE_ARMOR
@ SPELL_SPECIFIC_MAGE_ARCANE_BRILLANCE
@ SPELL_SPECIFIC_PRIEST_DIVINE_SPIRIT
@ SPELL_SPECIFIC_ELEMENTAL_SHIELD
@ SPELL_SPECIFIC_WARLOCK_CORRUPTION
@ SPELL_SPECIFIC_PRESENCE
@ SPELL_SPECIFIC_JUDGEMENT
@ SPELL_SPECIFIC_WARRIOR_ENRAGE
@ SPELL_SPECIFIC_WARLOCK_ARMOR
@ SPELL_SPECIFIC_MAGE_POLYMORPH
@ SPELL_SPECIFIC_FOOD_AND_DRINK
SpellEffectImplicitTargetTypes
float ComboScalingMultiplier
bool IsUnitOwnedAuraEffect() const
float CalcValueMultiplier(Unit *caster, Spell *spell=NULL) const
float PointsPerComboPoint
static StaticData _data[TOTAL_SPELL_EFFECTS]
std::list< Condition * > * ImplicitTargetConditions
float CalcDamageMultiplier(Unit *caster, Spell *spell=NULL) const
bool IsAreaAuraEffect() const
SpellInfo const * _spellInfo
uint32 GetMissingTargetMask(bool srcSet=false, bool destSet=false, uint32 mask=0) const
bool IsFarUnitTargetEffect() const
bool HasMaxRadius() const
bool IsTargetingArea() const
bool IsFarDestTargetEffect() const
float CalcBonusMultiplier(Unit *caster, Spell *spell=NULL) const
uint32 ApplyAuraTickCount
SpellEffectImplicitTargetTypes GetImplicitTargetType() const
float CalcRadius(Unit *caster=NULL, Spell *=NULL) const
float DeltaScalingMultiplier
SpellTargetObjectTypes GetUsedTargetObjectType() const
SpellRadiusEntry const * MaxRadiusEntry
SpellRadiusEntry const * RadiusEntry
uint32 GetProvidedTargetMask() const
SpellImplicitTargetInfo TargetA
int32 CalcBaseValue(int32 value) const
int32 CalcValue(Unit const *caster=NULL, int32 const *basePoints=NULL, Unit const *target=NULL) const
SpellImplicitTargetInfo TargetB
uint32 ChannelInterruptFlags
SpellInterruptsEntry const * GetSpellInterrupts() const
bool IsExplicitDiscovery() const
uint32 RequiresSpellFocus
SpellEffectInfo Effects[MAX_SPELL_EFFECTS]
bool _IsPositiveSpell() const
static bool _IsPositiveTarget(uint32 targetA, uint32 targetB)
SpellReagentsEntry const * GetSpellReagents() const
bool IsRankOf(SpellInfo const *spellInfo) const
uint32 GetMaxTicks() const
uint32 ExcludeTargetAuraSpell
uint32 GetEffectMechanicMask(uint8 effIndex) const
uint32 TargetAuraStateNot
bool IsProfessionOrRiding() const
SpellInfo const * GetFirstRankSpell() const
bool IsAutocastable() const
uint32 GetCategory() const
SpellCastResult CheckShapeshift(uint32 form) const
SpellScalingEntry const * GetSpellScaling() const
bool IsRequiringDeadTarget() const
uint32 ReagentCount[MAX_SPELL_REAGENTS]
bool IsAuraExclusiveBySpecificPerCasterWith(SpellInfo const *spellInfo) const
SpellInfo const * GetPrevRankSpell() const
bool IsDeathPersistent() const
SpellShapeshiftEntry const * GetSpellShapeshift() const
bool IsCooldownStartedOnEvent() const
uint32 SpellAuraRestrictionsId
uint32 CalcCastTime(uint8 level=0, Spell *spell=NULL) const
bool IsAuraExclusiveBySpecificWith(SpellInfo const *spellInfo) const
SpellRangeEntry const * RangeEntry
uint32 SpellTargetRestrictionsId
bool IsLootCrafting() const
SpellClassOptionsEntry const * GetSpellClassOptions() const
bool IsStackableOnOneSlotWithDifferentCasters() const
uint32 GetDispelMask() const
bool IsHighRankOf(SpellInfo const *spellInfo) const
SpellLevelsEntry const * GetSpellLevels() const
SpellInfo const * GetAuraRankForLevel(uint8 level) const
bool NeedsToBeTriggeredByCaster(SpellInfo const *triggeringSpell) const
uint32 GetRecoveryTime() const
SpellSpecificType GetSpellSpecific() const
bool IsMultiSlotAura() const
void _UnloadImplicitTargetConditionLists()
float GetMinRange(bool positive=false) const
int32 GetMaxDuration() const
SpellTotemsEntry const * GetSpellTotems() const
bool IsAbilityOfSkillType(uint32 skillType) const
SpellCategoriesEntry const * GetSpellCategories() const
bool IsAffectedBySpellMod(SpellModifier const *mod) const
bool CanPierceImmuneAura(SpellInfo const *aura) const
bool CheckTargetCreatureType(Unit const *target) const
bool IsStackableWithRanks() const
SpellCastResult CheckLocation(uint32 map_id, uint32 zone_id, uint32 area_id, Player const *player=NULL) const
bool CanBeUsedInCombat() const
SpellTargetRestrictionsEntry const * GetSpellTargetRestrictions() const
uint32 CategoryRecoveryTime
bool HasAnyEffectMechanic() const
uint32 GetSpellMechanicMaskByEffectMask(uint32 effectMask) const
SpellInfo(SpellEntry const *spellEntry, SpellEffectEntry const **effects)
uint32 ExplicitTargetMask
std::list< uint32 > SpecializationIdList
bool IsAbilityLearnedWithProfession() const
float GetMaxRange(bool positive=false, Unit *caster=NULL, Spell *spell=NULL) const
bool IsAllowingDeadTarget() const
uint32 CasterAuraStateNot
bool _IsPositiveEffect(uint8 effIndex, bool deep) const
Mechanics GetEffectMechanic(uint8 effIndex) const
SpellSchoolMask GetSchoolMask() const
bool IsPrimaryProfession() const
bool NeedsComboPoints() const
AuraStateType GetAuraState() const
SpellDurationEntry const * DurationEntry
bool IsPassiveStackableWithRanks() const
SpellCategoryEntry const * CategoryEntry
uint32 MaxAffectedTargets
int32 GetDuration() const
bool IsAffectedBySpellMods() const
SpellCastResult CheckVehicle(Unit const *caster) const
std::list< uint32 > OverrideSpellList
int32 EquippedItemSubClassMask
uint32 GetExplicitTargetMask() const
bool HasAreaAuraEffect() const
uint32 GetAllEffectsMechanicMask() const
SpellChainNode const * ChainEntry
uint32 SpellAuraOptionsId
SpellAuraRestrictionsEntry const * GetSpellAuraRestrictions() const
void _InitializeExplicitTargetMask()
bool IsDifferentRankOf(SpellInfo const *spellInfo) const
SpellInfo const * GetLastRankSpell() const
bool NeedsExplicitUnitTarget() const
SpellInfo const * GetNextRankSpell() const
SpellCastTimesEntry const * CastTimeEntry
int32 EquippedItemInventoryTypeMask
SpellCastResult CheckTarget(Unit const *caster, WorldObject const *target, bool implicit=true) const
SpellCastingRequirementsEntry const * GetSpellCastingRequirements() const
bool IsPrimaryProfessionFirstRank() const
bool HasEffect(SpellEffects effect) const
uint32 SpellClassOptionsId
bool IsAffectingArea() const
bool IsProfession() const
bool IsAutoRepeatRangedSpell() const
uint32 TargetCreatureType
uint32 SpellCastingRequirementsId
bool IsRangedWeaponSpell() const
bool CanDispelAura(SpellInfo const *aura) const
uint32 ExcludeCasterAuraSpell
bool HasAura(AuraType aura) const
bool IsTargetingArea() const
uint32 StartRecoveryCategory
int32 Reagent[MAX_SPELL_REAGENTS]
SpellCastResult CheckExplicitTarget(Unit const *caster, WorldObject const *target, Item const *itemTarget=NULL) const
SpellCooldownsEntry const * GetSpellCooldowns() const
uint32 AuraInterruptFlags
bool IsBreakingStealth() const
bool IsPositiveEffect(uint8 effIndex) const
bool IsSingleTarget() const
SpellEquippedItemsEntry const * GetSpellEquippedItems() const
SpellAuraOptionsEntry const * GetSpellAuraOptions() const
uint32 SpellEquippedItemsId
SpellTargetObjectTypes UsedTargetObjectType
SpellEffectImplicitTargetTypes ImplicitTargetType