Class SpellInfo [-] [+]

Represents spell metadata used for behavior, targeting, attributes, mechanics, auras, and conditions.

Unlike SpellEntry, this class includes helper functions and logic used to determine spell behavior in-game. Used for checking if a spell is passive, area-targeted, profession-related, or has specific effects or auras.

Inherits all methods from: none

Methods

CanBeUsedInCombat Returns true if the SpellInfo can be cast while in combat, false otherwise.
CanDispelAura Returns true if the SpellInfo can dispel the specified aura SpellInfo, false otherwise.
CanPierceImmuneAura Returns true if the SpellInfo can pierce through an immunity aura defined by the given SpellInfo, false otherwise.
CheckExplicitTarget Returns true if the SpellInfo can be explicitly cast on the given [target] with the optional Item.
CheckLocation Returns true if the SpellInfo can be cast in the specified location.
CheckShapeshift Returns true if the SpellInfo can be cast while in the specified shapeshift form.
CheckTarget Returns true if the target is valid for the SpellInfo.
CheckTargetCreatureType Returns true if the SpellInfo can affect the Unit based on its creature type.
GetAllEffectsMechanicMask Returns a combined mechanic mask of all effects for the SpellInfo.
GetAttributes Retrieves the attributes of the SpellInfo based on the attribute type.
GetAuraState Returns the aura state requirement for the SpellInfo.
GetCategory Retrieves the category of the SpellInfo.
GetDispelMask Returns the dispel mask for the SpellInfo.
GetEffectMechanic Returns the mechanic of the specified effect index in the SpellInfo.
GetEffectMechanicMask Returns the mechanic mask of a specific effect of the SpellInfo.
GetEffectMiscValueA Retrieves the MiscValueA of a spell effect at the specified index.
GetEffectMiscValueB Retrieves the MiscValueB of a spell effect at the specified index.
GetExplicitTargetMask Returns the explicit target mask of the SpellInfo.
GetName Returns the name of the SpellInfo
GetSchoolMask Returns the school mask of the SpellInfo.
GetSpellMechanicMaskByEffectMask Returns the mechanic mask for the SpellInfo based on an effect bitmask.
GetSpellSpecific Returns the spell specific type of the SpellInfo.
HasAreaAuraEffect Checks if the SpellInfo has an area aura effect.
HasAttribute Checks if the SpellInfo has a specific attribute.
HasAura Checks if the SpellInfo has a specific aura.
HasEffect Checks if the SpellInfo has a specific effect.
IsAbilityLearnedWithProfession Checks if the SpellInfo represents an ability learned with a profession skill.
IsAbilityOfSkillType Checks if the SpellInfo represents an ability of a specific skill type.
IsAffectedBySpellMods Returns true if the SpellInfo is affected by spell modifiers (e.g., talents, auras), false otherwise.
IsAffectingArea Determines whether the SpellInfo affects an area (AOE - Area of Effect)
IsAllowingDeadTarget Returns true if the SpellInfo allows casting on dead targets, false otherwise.
IsAuraExclusiveBySpecificPerCasterWith Returns true if the SpellInfo is exclusive with the specified SpellInfo per caster, based on aura exclusivity rules.
IsAuraExclusiveBySpecificWith Returns true if the SpellInfo is mutually exclusive with the specified SpellInfo due to specific aura exclusivity rules.
IsAutoRepeatRangedSpell Returns true if the SpellInfo is an auto-repeat ranged spell (e.g., auto-shot), false otherwise.
IsAutocastable Checks if the SpellInfo represents a spell or ability that can be set to autocast.
IsBreakingStealth Returns true if the SpellInfo breaks stealth when cast, false otherwise.
IsChanneled Returns true if the SpellInfo is a channeled spell, false otherwise.
IsCooldownStartedOnEvent Returns a boolean indicating whether the cooldown has started on the event associated with the SpellInfo
IsDeathPersistent Returns a boolean indicating whether the death is persistent for the given SpellInfo
IsExplicitDiscovery Checks if the SpellInfo is an explicit discovery.
IsLootCrafting Checks if the SpellInfo is related to loot crafting.
IsMultiSlotAura Checks if the SpellInfo represents a multi-slot aura spell or effect.
IsPassive Checks if the SpellInfo represents a passive spell or ability.
IsPassiveStackableWithRanks Checks if the SpellInfo represents a passive spell or ability that is stackable with different ranks.
IsPositive Returns true if the SpellInfo is considered a positive (beneficial) spell, false otherwise.
IsPositiveEffect Returns true if the specified effect index of the SpellInfo is positive, false otherwise.
IsPrimaryProfession Checks if the SpellInfo is related to a primary profession skill.
IsPrimaryProfessionFirstRank Checks if the SpellInfo represents the first rank of a primary profession skill.
IsProfession Checks if the SpellInfo is related to a profession skill.
IsProfessionOrRiding Checks if the SpellInfo is related to a Profession skill or Riding skill.
IsRangedWeaponSpell Returns true if the SpellInfo is a ranged weapon attack (e.g., shoot, throw), false otherwise.
IsRequiringDeadTarget Returns a boolean indicating whether the SpellInfo requires a dead target
IsSelfCast Checks if the SpellInfo represents a self-casting spell or ability.
IsSingleTarget Returns true if the SpellInfo only affects a single target, false if it affects multiple or area targets.
IsStackableWithRanks Determines if the SpellInfo represents a spell or ability that stack with different ranks.
IsTargetingArea Determines if the SpellInfo represents a spell or ability that targets an area.
NeedsComboPoints Returns true if the SpellInfo requires combo points to cast, false otherwise.
NeedsExplicitUnitTarget Checks if the SpellInfo requires an explicit unit target.
NeedsToBeTriggeredByCaster Checks if the SpellInfo requires to be triggered by the caster of another specified SpellInfo.