TrinityCore
Loading...
Searching...
No Matches
SpellMgr Class Reference

#include <SpellMgr.h>

Public Member Functions

uint32 GetSpellDifficultyId (uint32 spellId) const
 
void SetSpellDifficultyId (uint32 spellId, uint32 id)
 
uint32 GetSpellIdForDifficulty (uint32 spellId, WorldObject const *caster) const
 
SpellInfo const * GetSpellForDifficultyFromSpell (SpellInfo const *spell, WorldObject const *caster) const
 
SpellChainNode const * GetSpellChainNode (uint32 spell_id) const
 
uint32 GetFirstSpellInChain (uint32 spell_id) const
 
uint32 GetLastSpellInChain (uint32 spell_id) const
 
uint32 GetNextSpellInChain (uint32 spell_id) const
 
uint32 GetPrevSpellInChain (uint32 spell_id) const
 
uint8 GetSpellRank (uint32 spell_id) const
 
uint32 GetSpellWithRank (uint32 spell_id, uint32 rank, bool strict=false) const
 
Trinity::IteratorPair< SpellRequiredMap::const_iterator > GetSpellsRequiredForSpellBounds (uint32 spell_id) const
 
SpellsRequiringSpellMapBounds GetSpellsRequiringSpellBounds (uint32 spell_id) const
 
bool IsSpellRequiringSpell (uint32 spellid, uint32 req_spellid) const
 
SpellLearnSkillNode const * GetSpellLearnSkill (uint32 spell_id) const
 
SpellLearnSpellMapBounds GetSpellLearnSpellMapBounds (uint32 spell_id) const
 
bool IsSpellLearnSpell (uint32 spell_id) const
 
bool IsSpellLearnToSpell (uint32 spell_id1, uint32 spell_id2) const
 
SpellTargetPosition const * GetSpellTargetPosition (uint32 spell_id, SpellEffIndex effIndex) const
 
SpellSpellGroupMapBounds GetSpellSpellGroupMapBounds (uint32 spell_id) const
 
bool IsSpellMemberOfSpellGroup (uint32 spellid, SpellGroup groupid) const
 
SpellGroupSpellMapBounds GetSpellGroupSpellMapBounds (SpellGroup group_id) const
 
void GetSetOfSpellsInSpellGroup (SpellGroup group_id, std::set< uint32 > &foundSpells) const
 
void GetSetOfSpellsInSpellGroup (SpellGroup group_id, std::set< uint32 > &foundSpells, std::set< SpellGroup > &usedGroups) const
 
bool AddSameEffectStackRuleSpellGroups (SpellInfo const *spellInfo, uint32 auraType, int32 amount, std::map< SpellGroup, int32 > &groups) const
 
SpellGroupStackRule CheckSpellGroupStackRules (SpellInfo const *spellInfo1, SpellInfo const *spellInfo2) const
 
SpellGroupStackRule GetSpellGroupStackRule (SpellGroup groupid) const
 
SpellProcEntry const * GetSpellProcEntry (uint32 spellId) const
 
SpellBonusEntry const * GetSpellBonusData (uint32 spellId) const
 
SpellThreatEntry const * GetSpellThreatEntry (uint32 spellID) const
 
SkillLineAbilityMapBounds GetSkillLineAbilityMapBounds (uint32 spell_id) const
 
PetAura const * GetPetAura (uint32 spell_id, uint8 eff) const
 
SpellEnchantProcEntry const * GetSpellEnchantProcEvent (uint32 enchId) const
 
bool IsArenaAllowedEnchancment (uint32 ench_id) const
 
std::vector< int32 > const * GetSpellLinked (int32 spell_id) const
 
PetLevelupSpellSet const * GetPetLevelupSpellList (uint32 petFamily) const
 
PetDefaultSpellsEntry const * GetPetDefaultSpellsEntry (int32 id) const
 
SpellAreaMapBounds GetSpellAreaMapBounds (uint32 spell_id) const
 
SpellAreaForQuestMapBounds GetSpellAreaForQuestMapBounds (uint32 quest_id) const
 
SpellAreaForQuestMapBounds GetSpellAreaForQuestEndMapBounds (uint32 quest_id) const
 
SpellAreaForAuraMapBounds GetSpellAreaForAuraMapBounds (uint32 spell_id) const
 
SpellAreaForAreaMapBounds GetSpellAreaForAreaMapBounds (uint32 area_id) const
 
SpellInfo const * GetSpellInfo (uint32 spellId) const
 
SpellInfo const * AssertSpellInfo (uint32 spellId) const
 
uint32 GetSpellInfoStoreSize () const
 
void UnloadSpellInfoChains ()
 
void LoadSpellTalentRanks ()
 
void LoadSpellRanks ()
 
void LoadSpellRequired ()
 
void LoadSpellLearnSkills ()
 
void LoadSpellLearnSpells ()
 
void LoadSpellTargetPositions ()
 
void LoadSpellGroups ()
 
void LoadSpellGroupStackRules ()
 
void LoadSpellProcs ()
 
void LoadSpellBonuses ()
 
void LoadSpellThreats ()
 
void LoadSkillLineAbilityMap ()
 
void LoadSpellPetAuras ()
 
void LoadEnchantCustomAttr ()
 
void LoadSpellEnchantProcData ()
 
void LoadSpellLinked ()
 
void LoadPetLevelupSpellMap ()
 
void LoadPetDefaultSpells ()
 
void LoadSpellAreas ()
 
void LoadSpellInfoStore ()
 
void UnloadSpellInfoStore ()
 
void UnloadSpellInfoImplicitTargetConditionLists ()
 
void LoadSpellInfoCustomAttributes ()
 
void LoadSpellInfoCorrections ()
 
void LoadSpellInfoSpellSpecificAndAuraState ()
 
void LoadSpellInfoDiminishing ()
 
void LoadSpellInfoImmunities ()
 

Static Public Member Functions

static SpellMgr * instance ()
 
static bool IsSpellValid (SpellInfo const *spellInfo, Player *player=nullptr, bool msg=true)
 Some checks for spells, to prevent adding deprecated/broken spells for trainers, spell book, etc.
 
static bool CanSpellTriggerProcOnEvent (SpellProcEntry const &procEntry, ProcEventInfo &eventInfo)
 

Private Member Functions

 SpellMgr ()
 
 ~SpellMgr ()
 
SpellInfo * _GetSpellInfo (uint32 spellId)
 

Private Attributes

SpellDifficultySearcherMap mSpellDifficultySearcherMap
 
SpellChainMap mSpellChains
 
SpellsRequiringSpellMap mSpellsReqSpell
 
SpellRequiredMap mSpellReq
 
SpellLearnSkillMap mSpellLearnSkills
 
SpellLearnSpellMap mSpellLearnSpells
 
SpellTargetPositionMap mSpellTargetPositions
 
SpellSpellGroupMap mSpellSpellGroup
 
SpellGroupSpellMap mSpellGroupSpell
 
SpellGroupStackMap mSpellGroupStack
 
SameEffectStackMap mSpellSameEffectStack
 
SpellProcMap mSpellProcMap
 
SpellBonusMap mSpellBonusMap
 
SpellThreatMap mSpellThreatMap
 
SpellPetAuraMap mSpellPetAuraMap
 
SpellLinkedMap mSpellLinkedMap
 
SpellEnchantProcEventMap mSpellEnchantProcEventMap
 
EnchantCustomAttribute mEnchantCustomAttr
 
SpellAreaMap mSpellAreaMap
 
SpellAreaForQuestMap mSpellAreaForQuestMap
 
SpellAreaForQuestMap mSpellAreaForQuestEndMap
 
SpellAreaForAuraMap mSpellAreaForAuraMap
 
SpellAreaForAreaMap mSpellAreaForAreaMap
 
SkillLineAbilityMap mSkillLineAbilityMap
 
PetLevelupSpellMap mPetLevelupSpellMap
 
PetDefaultSpellsMap mPetDefaultSpellsMap
 
SpellInfoMap mSpellInfoMap
 

Friends

class UnitTestDataLoader
 

Detailed Description

Definition at line 572 of file SpellMgr.h.

Constructor & Destructor Documentation

◆ SpellMgr()

SpellMgr::SpellMgr ( )
private

Definition at line 57 of file SpellMgr.cpp.

◆ ~SpellMgr()

SpellMgr::~SpellMgr ( )
private

Definition at line 59 of file SpellMgr.cpp.

References UnloadSpellInfoStore().

Member Function Documentation

◆ _GetSpellInfo()

SpellInfo * SpellMgr::_GetSpellInfo ( uint32  spellId)
inlineprivate

Definition at line 671 of file SpellMgr.h.

Referenced by LoadSpellInfoCustomAttributes().

◆ AddSameEffectStackRuleSpellGroups()

bool SpellMgr::AddSameEffectStackRuleSpellGroups ( SpellInfo const *  spellInfo,
uint32  auraType,
int32  amount,
std::map< SpellGroup, int32 > &  groups 
) const

◆ AssertSpellInfo()

SpellInfo const * SpellMgr::AssertSpellInfo ( uint32  spellId) const
inline

Definition at line 661 of file SpellMgr.h.

References ASSERT.

Referenced by LoadSpellGroupStackRules().

◆ CanSpellTriggerProcOnEvent()

◆ CheckSpellGroupStackRules()

SpellGroupStackRule SpellMgr::CheckSpellGroupStackRules ( SpellInfo const *  spellInfo1,
SpellInfo const *  spellInfo2 
) const

◆ GetFirstSpellInChain()

uint32 SpellMgr::GetFirstSpellInChain ( uint32  spell_id) const

◆ GetLastSpellInChain()

uint32 SpellMgr::GetLastSpellInChain ( uint32  spell_id) const

Definition at line 251 of file SpellMgr.cpp.

References GetSpellChainNode().

◆ GetNextSpellInChain()

uint32 SpellMgr::GetNextSpellInChain ( uint32  spell_id) const

Definition at line 259 of file SpellMgr.cpp.

References GetSpellChainNode().

◆ GetPetAura()

PetAura const * SpellMgr::GetPetAura ( uint32  spell_id,
uint8  eff 
) const

Definition at line 603 of file SpellMgr.cpp.

References mSpellPetAuraMap.

◆ GetPetDefaultSpellsEntry()

PetDefaultSpellsEntry const * SpellMgr::GetPetDefaultSpellsEntry ( int32  id) const

Definition at line 639 of file SpellMgr.cpp.

References mPetDefaultSpellsMap.

◆ GetPetLevelupSpellList()

PetLevelupSpellSet const * SpellMgr::GetPetLevelupSpellList ( uint32  petFamily) const

Definition at line 630 of file SpellMgr.cpp.

References mPetLevelupSpellMap.

◆ GetPrevSpellInChain()

uint32 SpellMgr::GetPrevSpellInChain ( uint32  spell_id) const

Definition at line 268 of file SpellMgr.cpp.

References GetSpellChainNode().

◆ GetSetOfSpellsInSpellGroup() [1/2]

void SpellMgr::GetSetOfSpellsInSpellGroup ( SpellGroup  group_id,
std::set< uint32 > &  foundSpells 
) const

◆ GetSetOfSpellsInSpellGroup() [2/2]

void SpellMgr::GetSetOfSpellsInSpellGroup ( SpellGroup  group_id,
std::set< uint32 > &  foundSpells,
std::set< SpellGroup > &  usedGroups 
) const

Definition at line 382 of file SpellMgr.cpp.

References GetSetOfSpellsInSpellGroup(), and GetSpellGroupSpellMapBounds().

◆ GetSkillLineAbilityMapBounds()

SkillLineAbilityMapBounds SpellMgr::GetSkillLineAbilityMapBounds ( uint32  spell_id) const

Definition at line 598 of file SpellMgr.cpp.

References mSkillLineAbilityMap.

◆ GetSpellAreaForAreaMapBounds()

SpellAreaForAreaMapBounds SpellMgr::GetSpellAreaForAreaMapBounds ( uint32  area_id) const

Definition at line 667 of file SpellMgr.cpp.

References mSpellAreaForAreaMap.

◆ GetSpellAreaForAuraMapBounds()

SpellAreaForAuraMapBounds SpellMgr::GetSpellAreaForAuraMapBounds ( uint32  spell_id) const

Definition at line 662 of file SpellMgr.cpp.

References mSpellAreaForAuraMap.

Referenced by LoadSpellAreas().

◆ GetSpellAreaForQuestEndMapBounds()

SpellAreaForQuestMapBounds SpellMgr::GetSpellAreaForQuestEndMapBounds ( uint32  quest_id) const

Definition at line 657 of file SpellMgr.cpp.

References mSpellAreaForQuestEndMap.

◆ GetSpellAreaForQuestMapBounds()

SpellAreaForQuestMapBounds SpellMgr::GetSpellAreaForQuestMapBounds ( uint32  quest_id) const

Definition at line 652 of file SpellMgr.cpp.

References mSpellAreaForQuestMap.

◆ GetSpellAreaMapBounds()

SpellAreaMapBounds SpellMgr::GetSpellAreaMapBounds ( uint32  spell_id) const

Definition at line 647 of file SpellMgr.cpp.

References mSpellAreaMap.

Referenced by LoadSpellAreas().

◆ GetSpellBonusData()

SpellBonusEntry const * SpellMgr::GetSpellBonusData ( uint32  spellId) const

Definition at line 567 of file SpellMgr.cpp.

References GetFirstSpellInChain(), and mSpellBonusMap.

◆ GetSpellChainNode()

SpellChainNode const * SpellMgr::GetSpellChainNode ( uint32  spell_id) const

◆ GetSpellDifficultyId()

uint32 SpellMgr::GetSpellDifficultyId ( uint32  spellId) const

Definition at line 162 of file SpellMgr.cpp.

References mSpellDifficultySearcherMap.

Referenced by GetSpellIdForDifficulty(), and SetSpellDifficultyId().

◆ GetSpellEnchantProcEvent()

SpellEnchantProcEntry const * SpellMgr::GetSpellEnchantProcEvent ( uint32  enchId) const

Definition at line 612 of file SpellMgr.cpp.

References mSpellEnchantProcEventMap.

◆ GetSpellForDifficultyFromSpell()

SpellInfo const * SpellMgr::GetSpellForDifficultyFromSpell ( SpellInfo const *  spell,
WorldObject const *  caster 
) const

Definition at line 217 of file SpellMgr.cpp.

References GetSpellIdForDifficulty(), GetSpellInfo(), SpellInfo::Id, and TC_LOG_DEBUG.

◆ GetSpellGroupSpellMapBounds()

SpellGroupSpellMapBounds SpellMgr::GetSpellGroupSpellMapBounds ( SpellGroup  group_id) const

◆ GetSpellGroupStackRule()

SpellGroupStackRule SpellMgr::GetSpellGroupStackRule ( SpellGroup  groupid) const

Definition at line 484 of file SpellMgr.cpp.

References mSpellGroupStack, and SPELL_GROUP_STACK_RULE_DEFAULT.

◆ GetSpellIdForDifficulty()

◆ GetSpellInfo()

◆ GetSpellInfoStoreSize()

◆ GetSpellLearnSkill()

SpellLearnSkillNode const * SpellMgr::GetSpellLearnSkill ( uint32  spell_id) const

Definition at line 318 of file SpellMgr.cpp.

References mSpellLearnSkills.

◆ GetSpellLearnSpellMapBounds()

SpellLearnSpellMapBounds SpellMgr::GetSpellLearnSpellMapBounds ( uint32  spell_id) const

Definition at line 327 of file SpellMgr.cpp.

References mSpellLearnSpells.

Referenced by IsSpellLearnToSpell(), and LoadSpellLearnSpells().

◆ GetSpellLinked()

std::vector< int32 > const * SpellMgr::GetSpellLinked ( int32  spell_id) const

Definition at line 625 of file SpellMgr.cpp.

References Trinity::Containers::MapGetValuePtr(), and mSpellLinkedMap.

◆ GetSpellProcEntry()

SpellProcEntry const * SpellMgr::GetSpellProcEntry ( uint32  spellId) const

Definition at line 493 of file SpellMgr.cpp.

References mSpellProcMap.

◆ GetSpellRank()

uint8 SpellMgr::GetSpellRank ( uint32  spell_id) const

Definition at line 277 of file SpellMgr.cpp.

References GetSpellChainNode().

◆ GetSpellSpellGroupMapBounds()

SpellSpellGroupMapBounds SpellMgr::GetSpellSpellGroupMapBounds ( uint32  spell_id) const

◆ GetSpellsRequiredForSpellBounds()

Trinity::IteratorPair< SpellRequiredMap::const_iterator > SpellMgr::GetSpellsRequiredForSpellBounds ( uint32  spell_id) const

Definition at line 297 of file SpellMgr.cpp.

References Trinity::Containers::MapEqualRange(), and mSpellReq.

◆ GetSpellsRequiringSpellBounds()

SpellsRequiringSpellMapBounds SpellMgr::GetSpellsRequiringSpellBounds ( uint32  spell_id) const

Definition at line 302 of file SpellMgr.cpp.

References mSpellsReqSpell.

Referenced by IsSpellRequiringSpell().

◆ GetSpellTargetPosition()

SpellTargetPosition const * SpellMgr::GetSpellTargetPosition ( uint32  spell_id,
SpellEffIndex  effIndex 
) const

Definition at line 346 of file SpellMgr.cpp.

References mSpellTargetPositions.

◆ GetSpellThreatEntry()

SpellThreatEntry const * SpellMgr::GetSpellThreatEntry ( uint32  spellID) const

Definition at line 583 of file SpellMgr.cpp.

References GetFirstSpellInChain(), and mSpellThreatMap.

◆ GetSpellWithRank()

uint32 SpellMgr::GetSpellWithRank ( uint32  spell_id,
uint32  rank,
bool  strict = false 
) const

Definition at line 285 of file SpellMgr.cpp.

References GetSpellChainNode(), and GetSpellWithRank().

Referenced by GetSpellWithRank().

◆ instance()

SpellMgr * SpellMgr::instance ( )
static

Definition at line 64 of file SpellMgr.cpp.

References instance().

Referenced by instance().

◆ IsArenaAllowedEnchancment()

bool SpellMgr::IsArenaAllowedEnchancment ( uint32  ench_id) const

Definition at line 620 of file SpellMgr.cpp.

References mEnchantCustomAttr.

◆ IsSpellLearnSpell()

bool SpellMgr::IsSpellLearnSpell ( uint32  spell_id) const

Definition at line 332 of file SpellMgr.cpp.

References mSpellLearnSpells.

◆ IsSpellLearnToSpell()

bool SpellMgr::IsSpellLearnToSpell ( uint32  spell_id1,
uint32  spell_id2 
) const

Definition at line 337 of file SpellMgr.cpp.

References GetSpellLearnSpellMapBounds().

◆ IsSpellMemberOfSpellGroup()

bool SpellMgr::IsSpellMemberOfSpellGroup ( uint32  spellid,
SpellGroup  groupid 
) const

Definition at line 360 of file SpellMgr.cpp.

References GetSpellSpellGroupMapBounds().

Referenced by CheckSpellGroupStackRules().

◆ IsSpellRequiringSpell()

bool SpellMgr::IsSpellRequiringSpell ( uint32  spellid,
uint32  req_spellid 
) const

Definition at line 307 of file SpellMgr.cpp.

References GetSpellsRequiringSpellBounds().

Referenced by LoadSpellRequired().

◆ IsSpellValid()

◆ LoadEnchantCustomAttr()

◆ LoadPetDefaultSpells()

◆ LoadPetLevelupSpellMap()

◆ LoadSkillLineAbilityMap()

◆ LoadSpellAreas()

◆ LoadSpellBonuses()

◆ LoadSpellEnchantProcData()

◆ LoadSpellGroups()

◆ LoadSpellGroupStackRules()

◆ LoadSpellInfoCorrections()

void SpellMgr::LoadSpellInfoCorrections ( )
Todo:
: remove this when basepoints of all Ride Vehicle auras are calculated correctly

HACK: This spell break quest complete for alliance and on retail not used

Definition at line 2929 of file SpellMgr.cpp.

References SpellInfo::_GetEffect(), SpellInfo::_GetEffects(), SpellInfo::ActiveIconID, ApplySpellFix(), SpellInfo::Attributes, SpellInfo::AttributesEx5, AURA_INTERRUPT_FLAG_CAST, AURA_INTERRUPT_FLAG_HITBYSPELL, AURA_INTERRUPT_FLAG_JUMP, AURA_INTERRUPT_FLAG_MOVE, AURA_INTERRUPT_FLAG_TAKE_DAMAGE, EFFECT_0, EFFECT_1, EFFECT_2, EFFECT_RADIUS_100_YARDS, EFFECT_RADIUS_10_YARDS, EFFECT_RADIUS_12_YARDS, EFFECT_RADIUS_150_YARDS, EFFECT_RADIUS_200_YARDS, EFFECT_RADIUS_20_YARDS, EFFECT_RADIUS_25_YARDS, EFFECT_RADIUS_3_YARDS, EFFECT_RADIUS_40_YARDS, EFFECT_RADIUS_50000_YARDS, EFFECT_RADIUS_50_YARDS, EFFECT_RADIUS_5_YARDS, EFFECT_RADIUS_60_YARDS, EFFECT_RADIUS_6_YARDS, EFFECT_RADIUS_7_YARDS, FORM_CAT, FORM_MOONKIN, FORM_TREE, SpellInfo::GetEffects(), getMSTime(), GetMSTimeDiffToNow(), GetSpellInfo(), GetSpellInfoStoreSize(), GetTalentSpellCost(), SpellInfo::HasAttribute(), SpellInfo::HasAura(), IN_MILLISECONDS, SpellInfo::IsPassive(), LOCK_KEY_NONE, MECHANIC_NONE, MECHANIC_SNARE, MECHANIC_STUN, mSpellInfoMap, POWER_MANA, SpellInfo::ProcFlags, SpellInfo::RangeEntry, SpellRangeEntry::RangeMax, sLockStore, SpellInfo::Speed, SPEED_CHARGE, SPELL_ATTR0_NEGATIVE_1, SPELL_ATTR0_PASSIVE, SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY, SPELL_ATTR1_CANT_TARGET_SELF, SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY, SPELL_ATTR1_NO_THREAT, SPELL_ATTR2_CAN_TARGET_DEAD, SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS, SPELL_ATTR2_CANT_CRIT, SPELL_ATTR3_CAN_PROC_FROM_PROCS, SPELL_ATTR3_CANT_TRIGGER_PROC, SPELL_ATTR3_DEATH_PERSISTENT, SPELL_ATTR3_NO_DONE_BONUS, SPELL_ATTR3_NO_INITIAL_AGGRO, SPELL_ATTR3_STACK_FOR_DIFF_CASTERS, SPELL_ATTR4_FIXED_DAMAGE, SPELL_ATTR5_DONT_TURN_DURING_CAST, SPELL_ATTR5_START_PERIODIC_AT_APPLY, SPELL_ATTR6_CAN_TARGET_INVISIBLE, SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS, SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER, SPELL_AURA_ADD_FLAT_MODIFIER, SPELL_AURA_ADD_PCT_MODIFIER, SPELL_AURA_CONTROL_VEHICLE, SPELL_AURA_DUMMY, SPELL_AURA_MOD_ATTACK_POWER_OF_ARMOR, SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, SPELL_AURA_MOD_DECREASE_SPEED, SPELL_AURA_MOD_INCREASE_ENERGY_PERCENT, SPELL_AURA_PERIODIC_TRIGGER_SPELL, SPELL_AURA_PROC_TRIGGER_SPELL, SPELL_AURA_SPELL_MAGNET, SPELL_DAMAGE_CLASS_MAGIC, SPELL_EFFECT_APPLY_AURA, SPELL_EFFECT_CHARGE, SPELL_EFFECT_CHARGE_DEST, SPELL_EFFECT_JUMP, SPELL_EFFECT_JUMP_DEST, SPELL_EFFECT_LEAP_BACK, SPELL_EFFECT_MODIFY_THREAT_PERCENT, SPELL_EFFECT_NONE, SpellEffectInfo::SpellClassMask, SPELLFAMILY_DEATHKNIGHT, SPELLFAMILY_PALADIN, SpellInfo::SpellFamilyFlags, SpellInfo::SpellFamilyName, SpellInfo::SpellIconID, sSpellCastTimesStore, sSpellDurationStore, sSpellRadiusStore, sSpellRangeStore, sSummonPropertiesStore, SUMMON_CATEGORY_PET, SUMMON_TYPE_TOTEM, TARGET_DEST_CASTER, TARGET_DEST_CASTER_LEFT, TARGET_DEST_DB, TARGET_DEST_DEST, TARGET_DEST_TRAJ, TARGET_UNIT_CASTER, TARGET_UNIT_CASTER_AREA_PARTY, TARGET_UNIT_MASTER, TARGET_UNIT_NEARBY_ENTRY, TARGET_UNIT_PET, TARGET_UNIT_SRC_AREA_ALLY, TARGET_UNIT_SRC_AREA_ENEMY, TARGET_UNIT_SRC_AREA_ENTRY, TARGET_UNIT_TARGET_ALLY, TARGET_UNIT_TARGET_ANY, TARGET_UNIT_TARGET_ENEMY, TC_LOG_INFO, and UI64LIT.

◆ LoadSpellInfoCustomAttributes()

void SpellMgr::LoadSpellInfoCustomAttributes ( )

Definition at line 2562 of file SpellMgr.cpp.

References _GetSpellInfo(), SpellInfo::AttributesCu, SpellItemEnchantmentEntry::Effect, SpellItemEnchantmentEntry::EffectArg, SpellInfo::GetEffects(), getMSTime(), GetMSTimeDiffToNow(), GetTalentSpellPos(), Field::GetUInt32(), SpellInfo::HasAura(), IsPartOfSkillLine(), ITEM_ENCHANTMENT_TYPE_COMBAT_SPELL, MAX_ITEM_ENCHANTMENT_EFFECTS, MECHANIC_BLEED, mSpellInfoMap, SKILL_ENCHANTING, sLiquidTypeStore, SPELL_ATTR0_CU_AURA_CANNOT_BE_SAVED, SPELL_ATTR0_CU_AURA_CC, SPELL_ATTR0_CU_BINARY_SPELL, SPELL_ATTR0_CU_CAN_CRIT, SPELL_ATTR0_CU_CHARGE, SPELL_ATTR0_CU_CONE_BACK, SPELL_ATTR0_CU_DIRECT_DAMAGE, SPELL_ATTR0_CU_ENCHANT_PROC, SPELL_ATTR0_CU_IGNORE_ARMOR, SPELL_ATTR0_CU_IS_TALENT, SPELL_ATTR0_CU_NEEDS_AMMO_DATA, SPELL_ATTR0_CU_NEGATIVE, SPELL_ATTR0_CU_NEGATIVE_EFF0, SPELL_ATTR0_CU_NO_INITIAL_THREAT, SPELL_ATTR0_CU_PICKPOCKET, SPELL_ATTR0_CU_SCHOOLMASK_NORMAL_WITH_MAGIC, SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY, SPELL_ATTR2_CANT_CRIT, SPELL_ATTR3_IGNORE_HIT_RESULT, SPELL_AURA_AOE_CHARM, SPELL_AURA_BIND_SIGHT, SPELL_AURA_CONTROL_VEHICLE, SPELL_AURA_CONVERT_RUNE, SPELL_AURA_DUMMY, SPELL_AURA_MOD_CHARM, SPELL_AURA_MOD_CONFUSE, SPELL_AURA_MOD_FEAR, SPELL_AURA_MOD_POSSESS, SPELL_AURA_MOD_POSSESS_PET, SPELL_AURA_MOD_STUN, SPELL_AURA_OPEN_STABLE, SPELL_AURA_PERIODIC_DAMAGE, SPELL_AURA_PERIODIC_DAMAGE_PERCENT, SPELL_AURA_PERIODIC_DUMMY, SPELL_AURA_PERIODIC_HEALTH_FUNNEL, SPELL_AURA_PERIODIC_LEECH, SPELL_AURA_PERIODIC_TRIGGER_SPELL, SPELL_AURA_PERIODIC_TRIGGER_SPELL_FROM_CLIENT, SPELL_AURA_PERIODIC_TRIGGER_SPELL_WITH_VALUE, SPELL_AURA_PROC_TRIGGER_SPELL, 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, SPELL_EFFECT_APPLY_AREA_AURA_RAID, SPELL_EFFECT_APPLY_AURA, SPELL_EFFECT_CHARGE, SPELL_EFFECT_CHARGE_DEST, SPELL_EFFECT_ENCHANT_HELD_ITEM, SPELL_EFFECT_ENCHANT_ITEM, SPELL_EFFECT_ENCHANT_ITEM_PRISMATIC, SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY, SPELL_EFFECT_ENERGIZE, SPELL_EFFECT_ENERGIZE_PCT, SPELL_EFFECT_HEAL, SPELL_EFFECT_HEAL_MAX_HEALTH, SPELL_EFFECT_HEAL_MECHANICAL, SPELL_EFFECT_HEAL_PCT, SPELL_EFFECT_HEALTH_LEECH, SPELL_EFFECT_INTERRUPT_CAST, SPELL_EFFECT_JUMP, SPELL_EFFECT_JUMP_DEST, SPELL_EFFECT_LEAP_BACK, SPELL_EFFECT_NORMALIZED_WEAPON_DMG, SPELL_EFFECT_PERSISTENT_AREA_AURA, SPELL_EFFECT_PICKPOCKET, SPELL_EFFECT_POWER_BURN, SPELL_EFFECT_POWER_DRAIN, SPELL_EFFECT_SCHOOL_DAMAGE, SPELL_EFFECT_TRIGGER_SPELL, SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE, SPELL_EFFECT_WEAPON_DAMAGE, SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE, SPELL_SCHOOL_MASK_MAGIC, SPELL_SCHOOL_MASK_NORMAL, SPELLFAMILY_DRUID, SPELLFAMILY_GENERIC, SPELLFAMILY_MAGE, SPELLFAMILY_WARLOCK, SPELLFAMILY_WARRIOR, sSpellItemEnchantmentStore, sSpellMgr, sSpellVisualStore, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.

◆ LoadSpellInfoDiminishing()

void SpellMgr::LoadSpellInfoDiminishing ( )

Definition at line 5059 of file SpellMgr.cpp.

References getMSTime(), GetMSTimeDiffToNow(), mSpellInfoMap, and TC_LOG_INFO.

◆ LoadSpellInfoImmunities()

void SpellMgr::LoadSpellInfoImmunities ( )

Definition at line 5074 of file SpellMgr.cpp.

References getMSTime(), GetMSTimeDiffToNow(), mSpellInfoMap, and TC_LOG_INFO.

◆ LoadSpellInfoSpellSpecificAndAuraState()

void SpellMgr::LoadSpellInfoSpellSpecificAndAuraState ( )

Definition at line 5042 of file SpellMgr.cpp.

References getMSTime(), GetMSTimeDiffToNow(), mSpellInfoMap, and TC_LOG_INFO.

◆ LoadSpellInfoStore()

◆ LoadSpellLearnSkills()

◆ LoadSpellLearnSpells()

◆ LoadSpellLinked()

◆ LoadSpellPetAuras()

◆ LoadSpellProcs()

void SpellMgr::LoadSpellProcs ( )

Definition at line 1481 of file SpellMgr.cpp.

References SpellProcEntry::AttributesMask, SpellProcEntry::Chance, SpellProcEntry::Charges, SpellProcEntry::Cooldown, SpellProcEntry::DisableEffectsMask, DONE_HIT_PROC_FLAG_MASK, SpellInfo::GetEffects(), SpellInfo::GetFirstRankSpell(), Field::GetFloat(), Field::GetInt32(), Field::GetInt8(), getMSTime(), GetMSTimeDiffToNow(), SpellInfo::GetNextRankSpell(), GetSpellInfo(), Field::GetUInt16(), Field::GetUInt32(), Field::GetUInt8(), SpellProcEntry::HitMask, SpellInfo::Id, SpellInfo::IsRanked(), mSpellInfoMap, mSpellProcMap, PROC_ATTR_REQ_EXP_OR_HONOR, PROC_ATTR_REQ_SPELLMOD, PROC_ATTR_TRIGGERED_CAN_PROC, PROC_FLAG_KILL, PROC_HIT_BLOCK, PROC_HIT_CRITICAL, PROC_HIT_MASK_ALL, PROC_HIT_MISS, PROC_HIT_NONE, PROC_HIT_REFLECT, PROC_SPELL_PHASE_FINISH, PROC_SPELL_PHASE_HIT, PROC_SPELL_PHASE_MASK_ALL, PROC_SPELL_TYPE_DAMAGE, PROC_SPELL_TYPE_MASK_ALL, PROC_SPELL_TYPE_NO_DMG_HEAL, PROC_SPELL_TYPE_NONE, SpellInfo::ProcChance, SpellInfo::ProcCharges, SpellInfo::ProcFlags, SpellProcEntry::ProcFlags, SpellProcEntry::ProcsPerMinute, REQ_SPELL_PHASE_PROC_FLAG_MASK, SpellProcEntry::SchoolMask, SPELL_AURA_ABILITY_IGNORE_AURASTATE, SPELL_AURA_ADD_CASTER_HIT_TRIGGER, SPELL_AURA_ADD_FLAT_MODIFIER, SPELL_AURA_ADD_PCT_MODIFIER, SPELL_AURA_DAMAGE_IMMUNITY, SPELL_AURA_DUMMY, SPELL_AURA_FORCE_REACTION, SPELL_AURA_MOD_ATTACK_POWER, SPELL_AURA_MOD_ATTACK_POWER_PCT, SPELL_AURA_MOD_ATTACKER_MELEE_HIT_CHANCE, SPELL_AURA_MOD_BLOCK_PERCENT, SPELL_AURA_MOD_CASTING_SPEED_NOT_STACK, SPELL_AURA_MOD_CONFUSE, SPELL_AURA_MOD_DAMAGE_DONE, SPELL_AURA_MOD_DAMAGE_PERCENT_DONE, SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN, SPELL_AURA_MOD_DAMAGE_TAKEN, SPELL_AURA_MOD_DETAUNT, SPELL_AURA_MOD_FEAR, SPELL_AURA_MOD_HIT_CHANCE, SPELL_AURA_MOD_INVISIBILITY, SPELL_AURA_MOD_MELEE_HASTE, SPELL_AURA_MOD_POWER_COST_SCHOOL, SPELL_AURA_MOD_POWER_COST_SCHOOL_PCT, SPELL_AURA_MOD_RESISTANCE, SPELL_AURA_MOD_ROOT, SPELL_AURA_MOD_SPELL_CRIT_CHANCE, SPELL_AURA_MOD_STEALTH, SPELL_AURA_MOD_STUN, SPELL_AURA_MOD_TAUNT, SPELL_AURA_MOD_THREAT, SPELL_AURA_MOD_WEAPON_CRIT_PERCENT, SPELL_AURA_OVERRIDE_CLASS_SCRIPTS, SPELL_AURA_PROC_TRIGGER_DAMAGE, SPELL_AURA_PROC_TRIGGER_SPELL, SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE, SPELL_AURA_RAID_PROC_FROM_CHARGE, SPELL_AURA_RAID_PROC_FROM_CHARGE_WITH_VALUE, SPELL_AURA_REFLECT_SPELLS, SPELL_AURA_REFLECT_SPELLS_SCHOOL, SPELL_AURA_TRANSFORM, SPELL_PROC_FLAG_MASK, SPELL_SCHOOL_MASK_ALL, SPELLFAMILY_MAGE, SPELLFAMILY_PET, SpellProcEntry::SpellFamilyMask, SpellProcEntry::SpellFamilyName, SpellProcEntry::SpellPhaseMask, SpellProcEntry::SpellTypeMask, TAKEN_HIT_PROC_FLAG_MASK, TC_LOG_ERROR, TC_LOG_INFO, TOTAL_AURAS, and WorldDatabase.

◆ LoadSpellRanks()

◆ LoadSpellRequired()

◆ LoadSpellTalentRanks()

◆ LoadSpellTargetPositions()

◆ LoadSpellThreats()

◆ SetSpellDifficultyId()

void SpellMgr::SetSpellDifficultyId ( uint32  spellId,
uint32  id 
)

Definition at line 168 of file SpellMgr.cpp.

References GetSpellDifficultyId(), mSpellDifficultySearcherMap, and TC_LOG_ERROR.

◆ UnloadSpellInfoChains()

void SpellMgr::UnloadSpellInfoChains ( )

Definition at line 774 of file SpellMgr.cpp.

References mSpellChains, and mSpellInfoMap.

Referenced by LoadSpellTalentRanks().

◆ UnloadSpellInfoImplicitTargetConditionLists()

void SpellMgr::UnloadSpellInfoImplicitTargetConditionLists ( )

Definition at line 2555 of file SpellMgr.cpp.

References GetSpellInfoStoreSize(), and mSpellInfoMap.

◆ UnloadSpellInfoStore()

void SpellMgr::UnloadSpellInfoStore ( )

Definition at line 2547 of file SpellMgr.cpp.

References GetSpellInfoStoreSize(), and mSpellInfoMap.

Referenced by LoadSpellInfoStore(), and ~SpellMgr().

Friends And Related Symbol Documentation

◆ UnitTestDataLoader

friend class UnitTestDataLoader
friend

Definition at line 735 of file SpellMgr.h.

Member Data Documentation

◆ mEnchantCustomAttr

EnchantCustomAttribute SpellMgr::mEnchantCustomAttr
private

Definition at line 724 of file SpellMgr.h.

Referenced by IsArenaAllowedEnchancment(), and LoadEnchantCustomAttr().

◆ mPetDefaultSpellsMap

PetDefaultSpellsMap SpellMgr::mPetDefaultSpellsMap
private

Definition at line 732 of file SpellMgr.h.

Referenced by GetPetDefaultSpellsEntry(), and LoadPetDefaultSpells().

◆ mPetLevelupSpellMap

PetLevelupSpellMap SpellMgr::mPetLevelupSpellMap
private

Definition at line 731 of file SpellMgr.h.

Referenced by GetPetLevelupSpellList(), and LoadPetLevelupSpellMap().

◆ mSkillLineAbilityMap

SkillLineAbilityMap SpellMgr::mSkillLineAbilityMap
private

Definition at line 730 of file SpellMgr.h.

Referenced by GetSkillLineAbilityMapBounds(), and LoadSkillLineAbilityMap().

◆ mSpellAreaForAreaMap

SpellAreaForAreaMap SpellMgr::mSpellAreaForAreaMap
private

Definition at line 729 of file SpellMgr.h.

Referenced by GetSpellAreaForAreaMapBounds(), and LoadSpellAreas().

◆ mSpellAreaForAuraMap

SpellAreaForAuraMap SpellMgr::mSpellAreaForAuraMap
private

Definition at line 728 of file SpellMgr.h.

Referenced by GetSpellAreaForAuraMapBounds(), and LoadSpellAreas().

◆ mSpellAreaForQuestEndMap

SpellAreaForQuestMap SpellMgr::mSpellAreaForQuestEndMap
private

Definition at line 727 of file SpellMgr.h.

Referenced by GetSpellAreaForQuestEndMapBounds(), and LoadSpellAreas().

◆ mSpellAreaForQuestMap

SpellAreaForQuestMap SpellMgr::mSpellAreaForQuestMap
private

Definition at line 726 of file SpellMgr.h.

Referenced by GetSpellAreaForQuestMapBounds(), and LoadSpellAreas().

◆ mSpellAreaMap

SpellAreaMap SpellMgr::mSpellAreaMap
private

Definition at line 725 of file SpellMgr.h.

Referenced by GetSpellAreaMapBounds(), and LoadSpellAreas().

◆ mSpellBonusMap

SpellBonusMap SpellMgr::mSpellBonusMap
private

Definition at line 719 of file SpellMgr.h.

Referenced by GetSpellBonusData(), and LoadSpellBonuses().

◆ mSpellChains

SpellChainMap SpellMgr::mSpellChains
private

◆ mSpellDifficultySearcherMap

SpellDifficultySearcherMap SpellMgr::mSpellDifficultySearcherMap
private

Definition at line 707 of file SpellMgr.h.

Referenced by GetSpellDifficultyId(), and SetSpellDifficultyId().

◆ mSpellEnchantProcEventMap

SpellEnchantProcEventMap SpellMgr::mSpellEnchantProcEventMap
private

Definition at line 723 of file SpellMgr.h.

Referenced by GetSpellEnchantProcEvent(), and LoadSpellEnchantProcData().

◆ mSpellGroupSpell

SpellGroupSpellMap SpellMgr::mSpellGroupSpell
private

Definition at line 715 of file SpellMgr.h.

Referenced by GetSpellGroupSpellMapBounds(), and LoadSpellGroups().

◆ mSpellGroupStack

SpellGroupStackMap SpellMgr::mSpellGroupStack
private

◆ mSpellInfoMap

◆ mSpellLearnSkills

SpellLearnSkillMap SpellMgr::mSpellLearnSkills
private

Definition at line 711 of file SpellMgr.h.

Referenced by GetSpellLearnSkill(), and LoadSpellLearnSkills().

◆ mSpellLearnSpells

SpellLearnSpellMap SpellMgr::mSpellLearnSpells
private

◆ mSpellLinkedMap

SpellLinkedMap SpellMgr::mSpellLinkedMap
private

Definition at line 722 of file SpellMgr.h.

Referenced by GetSpellLinked(), and LoadSpellLinked().

◆ mSpellPetAuraMap

SpellPetAuraMap SpellMgr::mSpellPetAuraMap
private

Definition at line 721 of file SpellMgr.h.

Referenced by GetPetAura(), and LoadSpellPetAuras().

◆ mSpellProcMap

SpellProcMap SpellMgr::mSpellProcMap
private

Definition at line 718 of file SpellMgr.h.

Referenced by GetSpellProcEntry(), and LoadSpellProcs().

◆ mSpellReq

SpellRequiredMap SpellMgr::mSpellReq
private

Definition at line 710 of file SpellMgr.h.

Referenced by GetSpellsRequiredForSpellBounds(), and LoadSpellRequired().

◆ mSpellSameEffectStack

SameEffectStackMap SpellMgr::mSpellSameEffectStack
private

Definition at line 717 of file SpellMgr.h.

Referenced by AddSameEffectStackRuleSpellGroups(), and LoadSpellGroupStackRules().

◆ mSpellSpellGroup

SpellSpellGroupMap SpellMgr::mSpellSpellGroup
private

Definition at line 714 of file SpellMgr.h.

Referenced by GetSpellSpellGroupMapBounds(), and LoadSpellGroups().

◆ mSpellsReqSpell

SpellsRequiringSpellMap SpellMgr::mSpellsReqSpell
private

Definition at line 709 of file SpellMgr.h.

Referenced by GetSpellsRequiringSpellBounds(), and LoadSpellRequired().

◆ mSpellTargetPositions

SpellTargetPositionMap SpellMgr::mSpellTargetPositions
private

Definition at line 713 of file SpellMgr.h.

Referenced by GetSpellTargetPosition(), and LoadSpellTargetPositions().

◆ mSpellThreatMap

SpellThreatMap SpellMgr::mSpellThreatMap
private

Definition at line 720 of file SpellMgr.h.

Referenced by GetSpellThreatEntry(), and LoadSpellThreats().


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