![]() |
TrinityCore
|
#include <SpellMgr.h>
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) |
Friends | |
| class | UnitTestDataLoader |
Definition at line 572 of file SpellMgr.h.
|
private |
Definition at line 57 of file SpellMgr.cpp.
|
private |
Definition at line 59 of file SpellMgr.cpp.
References UnloadSpellInfoStore().
Definition at line 671 of file SpellMgr.h.
Referenced by LoadSpellInfoCustomAttributes().
| bool SpellMgr::AddSameEffectStackRuleSpellGroups | ( | SpellInfo const * | spellInfo, |
| uint32 | auraType, | ||
| int32 | amount, | ||
| std::map< SpellGroup, int32 > & | groups | ||
| ) | const |
Definition at line 403 of file SpellMgr.cpp.
References SpellInfo::GetFirstRankSpell(), GetSpellSpellGroupMapBounds(), SpellInfo::Id, and mSpellSameEffectStack.
Definition at line 661 of file SpellMgr.h.
References ASSERT.
Referenced by LoadSpellGroupStackRules().
|
static |
Definition at line 501 of file SpellMgr.cpp.
References SpellProcEntry::AttributesMask, DONE_HIT_PROC_FLAG_MASK, ProcEventInfo::GetActionTarget(), ProcEventInfo::GetActor(), ProcEventInfo::GetHitMask(), ProcEventInfo::GetSchoolMask(), ProcEventInfo::GetSpellInfo(), ProcEventInfo::GetSpellPhaseMask(), ProcEventInfo::GetSpellTypeMask(), ProcEventInfo::GetTypeMask(), SpellProcEntry::HitMask, PROC_ATTR_REQ_EXP_OR_HONOR, PROC_ATTR_REQ_MANA_COST, PROC_FLAG_DEATH, PROC_FLAG_KILL, PROC_FLAG_KILLED, PROC_HIT_ABSORB, PROC_HIT_CRITICAL, PROC_HIT_NORMAL, PROC_SPELL_PHASE_CAST, SpellProcEntry::ProcFlags, REQ_SPELL_PHASE_PROC_FLAG_MASK, SpellProcEntry::SchoolMask, SPELL_PROC_FLAG_MASK, SpellProcEntry::SpellFamilyMask, SpellProcEntry::SpellFamilyName, SpellProcEntry::SpellPhaseMask, SpellProcEntry::SpellTypeMask, TAKEN_HIT_PROC_FLAG_MASK, and Object::ToPlayer().
Referenced by Aura::GetProcEffectMask().
| SpellGroupStackRule SpellMgr::CheckSpellGroupStackRules | ( | SpellInfo const * | spellInfo1, |
| SpellInfo const * | spellInfo2 | ||
| ) | const |
Definition at line 437 of file SpellMgr.cpp.
References ASSERT, SpellInfo::GetFirstRankSpell(), GetSpellGroupSpellMapBounds(), GetSpellSpellGroupMapBounds(), SpellInfo::Id, IsSpellMemberOfSpellGroup(), mSpellGroupStack, and SPELL_GROUP_STACK_RULE_DEFAULT.
Definition at line 243 of file SpellMgr.cpp.
References SpellChainNode::first, GetSpellChainNode(), and SpellInfo::Id.
Referenced by GetSpellBonusData(), GetSpellSpellGroupMapBounds(), and GetSpellThreatEntry().
Definition at line 251 of file SpellMgr.cpp.
References GetSpellChainNode().
Definition at line 259 of file SpellMgr.cpp.
References GetSpellChainNode().
Definition at line 603 of file SpellMgr.cpp.
References mSpellPetAuraMap.
| PetDefaultSpellsEntry const * SpellMgr::GetPetDefaultSpellsEntry | ( | int32 | id | ) | const |
Definition at line 639 of file SpellMgr.cpp.
References mPetDefaultSpellsMap.
| PetLevelupSpellSet const * SpellMgr::GetPetLevelupSpellList | ( | uint32 | petFamily | ) | const |
Definition at line 630 of file SpellMgr.cpp.
References mPetLevelupSpellMap.
Definition at line 268 of file SpellMgr.cpp.
References GetSpellChainNode().
| void SpellMgr::GetSetOfSpellsInSpellGroup | ( | SpellGroup | group_id, |
| std::set< uint32 > & | foundSpells | ||
| ) | const |
Definition at line 376 of file SpellMgr.cpp.
References GetSetOfSpellsInSpellGroup().
Referenced by GetSetOfSpellsInSpellGroup(), GetSetOfSpellsInSpellGroup(), LoadSpellGroups(), and LoadSpellGroupStackRules().
| 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().
| SkillLineAbilityMapBounds SpellMgr::GetSkillLineAbilityMapBounds | ( | uint32 | spell_id | ) | const |
Definition at line 598 of file SpellMgr.cpp.
References mSkillLineAbilityMap.
| SpellAreaForAreaMapBounds SpellMgr::GetSpellAreaForAreaMapBounds | ( | uint32 | area_id | ) | const |
Definition at line 667 of file SpellMgr.cpp.
References mSpellAreaForAreaMap.
| SpellAreaForAuraMapBounds SpellMgr::GetSpellAreaForAuraMapBounds | ( | uint32 | spell_id | ) | const |
Definition at line 662 of file SpellMgr.cpp.
References mSpellAreaForAuraMap.
Referenced by LoadSpellAreas().
| SpellAreaForQuestMapBounds SpellMgr::GetSpellAreaForQuestEndMapBounds | ( | uint32 | quest_id | ) | const |
Definition at line 657 of file SpellMgr.cpp.
References mSpellAreaForQuestEndMap.
| SpellAreaForQuestMapBounds SpellMgr::GetSpellAreaForQuestMapBounds | ( | uint32 | quest_id | ) | const |
Definition at line 652 of file SpellMgr.cpp.
References mSpellAreaForQuestMap.
| SpellAreaMapBounds SpellMgr::GetSpellAreaMapBounds | ( | uint32 | spell_id | ) | const |
Definition at line 647 of file SpellMgr.cpp.
References mSpellAreaMap.
Referenced by LoadSpellAreas().
| SpellBonusEntry const * SpellMgr::GetSpellBonusData | ( | uint32 | spellId | ) | const |
Definition at line 567 of file SpellMgr.cpp.
References GetFirstSpellInChain(), and mSpellBonusMap.
| SpellChainNode const * SpellMgr::GetSpellChainNode | ( | uint32 | spell_id | ) | const |
Definition at line 234 of file SpellMgr.cpp.
References mSpellChains.
Referenced by GetFirstSpellInChain(), GetLastSpellInChain(), GetNextSpellInChain(), GetPrevSpellInChain(), GetSpellRank(), and GetSpellWithRank().
Definition at line 162 of file SpellMgr.cpp.
References mSpellDifficultySearcherMap.
Referenced by GetSpellIdForDifficulty(), and SetSpellDifficultyId().
| SpellEnchantProcEntry const * SpellMgr::GetSpellEnchantProcEvent | ( | uint32 | enchId | ) | const |
Definition at line 612 of file SpellMgr.cpp.
References mSpellEnchantProcEventMap.
| 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.
| SpellGroupSpellMapBounds SpellMgr::GetSpellGroupSpellMapBounds | ( | SpellGroup | group_id | ) | const |
Definition at line 371 of file SpellMgr.cpp.
References mSpellGroupSpell.
Referenced by CheckSpellGroupStackRules(), GetSetOfSpellsInSpellGroup(), and LoadSpellGroupStackRules().
| SpellGroupStackRule SpellMgr::GetSpellGroupStackRule | ( | SpellGroup | groupid | ) | const |
Definition at line 484 of file SpellMgr.cpp.
References mSpellGroupStack, and SPELL_GROUP_STACK_RULE_DEFAULT.
| uint32 SpellMgr::GetSpellIdForDifficulty | ( | uint32 | spellId, |
| WorldObject const * | caster | ||
| ) | const |
Definition at line 175 of file SpellMgr.cpp.
References SpellDifficultyEntry::DifficultySpellID, DUNGEON_DIFFICULTY_HEROIC, WorldObject::GetMap(), Map::GetSpawnMode(), GetSpellDifficultyId(), GetSpellInfo(), Map::IsBattleground(), Map::IsDungeon(), MAX_DIFFICULTY, sSpellDifficultyStore, TC_LOG_DEBUG, and TC_LOG_ERROR.
Referenced by GetSpellForDifficultyFromSpell().
Definition at line 659 of file SpellMgr.h.
Referenced by GetSpellForDifficultyFromSpell(), GetSpellIdForDifficulty(), LoadEnchantCustomAttr(), LoadPetDefaultSpells(), LoadPetLevelupSpellMap(), LoadSpellAreas(), LoadSpellBonuses(), LoadSpellGroups(), LoadSpellInfoCorrections(), LoadSpellLearnSpells(), LoadSpellLinked(), LoadSpellPetAuras(), LoadSpellProcs(), LoadSpellRanks(), LoadSpellRequired(), LoadSpellTalentRanks(), LoadSpellTargetPositions(), and LoadSpellThreats().
|
inline |
Definition at line 668 of file SpellMgr.h.
Referenced by LoadEnchantCustomAttr(), LoadPetDefaultSpells(), LoadSpellInfoCorrections(), LoadSpellInfoStore(), LoadSpellLearnSpells(), UnloadSpellInfoImplicitTargetConditionLists(), and UnloadSpellInfoStore().
| SpellLearnSkillNode const * SpellMgr::GetSpellLearnSkill | ( | uint32 | spell_id | ) | const |
Definition at line 318 of file SpellMgr.cpp.
References mSpellLearnSkills.
| SpellLearnSpellMapBounds SpellMgr::GetSpellLearnSpellMapBounds | ( | uint32 | spell_id | ) | const |
Definition at line 327 of file SpellMgr.cpp.
References mSpellLearnSpells.
Referenced by IsSpellLearnToSpell(), and LoadSpellLearnSpells().
Definition at line 625 of file SpellMgr.cpp.
References Trinity::Containers::MapGetValuePtr(), and mSpellLinkedMap.
| SpellProcEntry const * SpellMgr::GetSpellProcEntry | ( | uint32 | spellId | ) | const |
Definition at line 493 of file SpellMgr.cpp.
References mSpellProcMap.
Definition at line 277 of file SpellMgr.cpp.
References GetSpellChainNode().
| SpellSpellGroupMapBounds SpellMgr::GetSpellSpellGroupMapBounds | ( | uint32 | spell_id | ) | const |
Definition at line 354 of file SpellMgr.cpp.
References GetFirstSpellInChain(), and mSpellSpellGroup.
Referenced by AddSameEffectStackRuleSpellGroups(), CheckSpellGroupStackRules(), and IsSpellMemberOfSpellGroup().
| 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.
| SpellsRequiringSpellMapBounds SpellMgr::GetSpellsRequiringSpellBounds | ( | uint32 | spell_id | ) | const |
Definition at line 302 of file SpellMgr.cpp.
References mSpellsReqSpell.
Referenced by IsSpellRequiringSpell().
| SpellTargetPosition const * SpellMgr::GetSpellTargetPosition | ( | uint32 | spell_id, |
| SpellEffIndex | effIndex | ||
| ) | const |
Definition at line 346 of file SpellMgr.cpp.
References mSpellTargetPositions.
| SpellThreatEntry const * SpellMgr::GetSpellThreatEntry | ( | uint32 | spellID | ) | const |
Definition at line 583 of file SpellMgr.cpp.
References GetFirstSpellInChain(), and mSpellThreatMap.
Definition at line 285 of file SpellMgr.cpp.
References GetSpellChainNode(), and GetSpellWithRank().
Referenced by GetSpellWithRank().
|
static |
| bool SpellMgr::IsArenaAllowedEnchancment | ( | uint32 | ench_id | ) | const |
Definition at line 620 of file SpellMgr.cpp.
References mEnchantCustomAttr.
| bool SpellMgr::IsSpellLearnSpell | ( | uint32 | spell_id | ) | const |
Definition at line 332 of file SpellMgr.cpp.
References mSpellLearnSpells.
Definition at line 337 of file SpellMgr.cpp.
References GetSpellLearnSpellMapBounds().
| bool SpellMgr::IsSpellMemberOfSpellGroup | ( | uint32 | spellid, |
| SpellGroup | groupid | ||
| ) | const |
Definition at line 360 of file SpellMgr.cpp.
References GetSpellSpellGroupMapBounds().
Referenced by CheckSpellGroupStackRules().
Definition at line 307 of file SpellMgr.cpp.
References GetSpellsRequiringSpellBounds().
Referenced by LoadSpellRequired().
|
static |
Some checks for spells, to prevent adding deprecated/broken spells for trainers, spell book, etc.
Definition at line 71 of file SpellMgr.cpp.
References SpellInfo::GetEffects(), Player::GetSession(), SpellInfo::Id, SpellInfo::IsLootCrafting(), IsSpellValid(), MAX_SPELL_REAGENTS, ChatHandler::PSendSysMessage(), SpellInfo::Reagent, sObjectMgr, SPELL_EFFECT_CREATE_ITEM, SPELL_EFFECT_CREATE_ITEM_2, SPELL_EFFECT_LEARN_SPELL, sSpellMgr, and TC_LOG_ERROR.
Referenced by Player::AddSpell(), Player::AddTalent(), cast_commandscript::CheckSpellExistsAndIsValid(), learn_commandscript::HandleLearnAllGMCommand(), learn_commandscript::HandleLearnAllPetTalentsCommand(), learn_commandscript::HandleLearnAllTalentsCommand(), learn_commandscript::HandleLearnCommand(), learn_commandscript::HandleLearnSkillRecipesHelper(), pet_commandscript::HandlePetLearnCommand(), IsSpellValid(), ObjectMgr::LoadQuests(), and Player::ResetSpells().
| void SpellMgr::LoadEnchantCustomAttr | ( | ) |
Definition at line 2009 of file SpellMgr.cpp.
References SpellInfo::GetEffects(), getMSTime(), GetMSTimeDiffToNow(), GetSpellInfo(), GetSpellInfoStoreSize(), SpellInfo::HasAttribute(), mEnchantCustomAttr, SPELL_ATTR0_NOT_SHAPESHIFT, SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA, SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY, sSpellItemEnchantmentStore, and TC_LOG_INFO.
| void SpellMgr::LoadPetDefaultSpells | ( | ) |
Definition at line 2243 of file SpellMgr.cpp.
References CreatureTemplate::Entry, SpellInfo::GetEffects(), getMSTime(), GetMSTimeDiffToNow(), GetSpellInfo(), GetSpellInfoStoreSize(), LoadPetDefaultSpells_helper(), MAX_CREATURE_SPELL_DATA_SLOT, mPetDefaultSpellsMap, CreatureTemplate::PetSpellDataId, sCreatureSpellDataStore, sObjectMgr, SPELL_EFFECT_SUMMON, SPELL_EFFECT_SUMMON_PET, PetDefaultSpellsEntry::spellid, CreatureSpellDataEntry::Spells, CreatureTemplate::spells, and TC_LOG_INFO.
| void SpellMgr::LoadPetLevelupSpellMap | ( | ) |
Definition at line 2146 of file SpellMgr.cpp.
References getMSTime(), GetMSTimeDiffToNow(), GetSkillLineAbilitiesBySkill(), GetSpellInfo(), SpellInfo::Id, CreatureFamilyEntry::ID, mPetLevelupSpellMap, sCreatureFamilyStore, SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN, CreatureFamilyEntry::SkillLine, SpellInfo::SpellLevel, and TC_LOG_INFO.
| void SpellMgr::LoadSkillLineAbilityMap | ( | ) |
Definition at line 1923 of file SpellMgr.cpp.
References SkillLineAbilityEntry::AcquireMethod, getMSTime(), GetMSTimeDiffToNow(), mSkillLineAbilityMap, SkillLineAbilityEntry::Spell, sSkillLineAbilityStore, and TC_LOG_INFO.
| void SpellMgr::LoadSpellAreas | ( | ) |
Definition at line 2321 of file SpellMgr.cpp.
References SpellArea::areaId, SpellArea::auraSpell, SpellArea::autocast, SpellArea::gender, GENDER_FEMALE, GENDER_MALE, GENDER_NONE, Field::GetBool(), Field::GetInt32(), getMSTime(), GetMSTimeDiffToNow(), GetSpellAreaForAuraMapBounds(), GetSpellAreaMapBounds(), GetSpellInfo(), Field::GetUInt32(), mSpellAreaForAreaMap, mSpellAreaForAuraMap, mSpellAreaForQuestEndMap, mSpellAreaForQuestMap, mSpellAreaMap, SpellArea::questEnd, SpellArea::questEndStatus, SpellArea::questStart, SpellArea::questStartStatus, SpellArea::raceMask, RACEMASK_ALL_PLAYABLE, sAreaTableStore, sObjectMgr, SPELL_ATTR0_CANT_CANCEL, SpellArea::spellId, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| void SpellMgr::LoadSpellBonuses | ( | ) |
Definition at line 1845 of file SpellMgr.cpp.
References SpellBonusEntry::ap_bonus, SpellBonusEntry::ap_dot_bonus, SpellBonusEntry::direct_damage, SpellBonusEntry::dot_damage, Field::GetFloat(), getMSTime(), GetMSTimeDiffToNow(), GetSpellInfo(), Field::GetUInt32(), mSpellBonusMap, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| void SpellMgr::LoadSpellEnchantProcData | ( | ) |
Definition at line 2045 of file SpellMgr.cpp.
References SpellEnchantProcEntry::AttributesMask, SpellEnchantProcEntry::Chance, Field::GetFloat(), getMSTime(), GetMSTimeDiffToNow(), Field::GetUInt32(), SpellEnchantProcEntry::HitMask, mSpellEnchantProcEventMap, SpellEnchantProcEntry::ProcsPerMinute, sSpellItemEnchantmentStore, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| void SpellMgr::LoadSpellGroups | ( | ) |
Definition at line 1250 of file SpellMgr.cpp.
References Field::GetInt32(), getMSTime(), GetMSTimeDiffToNow(), SpellInfo::GetRank(), GetSetOfSpellsInSpellGroup(), GetSpellInfo(), Field::GetUInt32(), mSpellGroupSpell, mSpellSpellGroup, SPELL_GROUP_CORE_RANGE_MAX, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| void SpellMgr::LoadSpellGroupStackRules | ( | ) |
Definition at line 1329 of file SpellMgr.cpp.
References AssertSpellInfo(), SpellInfo::GetEffects(), Field::GetInt8(), getMSTime(), GetMSTimeDiffToNow(), SpellInfo::GetNextRankSpell(), GetSetOfSpellsInSpellGroup(), GetSpellGroupSpellMapBounds(), Field::GetUInt32(), SpellInfo::HasAura(), mSpellGroupStack, mSpellSameEffectStack, SPELL_AURA_MOD_MELEE_HASTE, SPELL_AURA_MOD_MELEE_RANGED_HASTE, SPELL_AURA_MOD_RANGED_HASTE, SPELL_GROUP_STACK_RULE_EXCLUSIVE_SAME_EFFECT, SPELL_GROUP_STACK_RULE_MAX, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| void SpellMgr::LoadSpellInfoCorrections | ( | ) |
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.
| 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.
| void SpellMgr::LoadSpellInfoDiminishing | ( | ) |
Definition at line 5059 of file SpellMgr.cpp.
References getMSTime(), GetMSTimeDiffToNow(), mSpellInfoMap, and TC_LOG_INFO.
| void SpellMgr::LoadSpellInfoImmunities | ( | ) |
Definition at line 5074 of file SpellMgr.cpp.
References getMSTime(), GetMSTimeDiffToNow(), mSpellInfoMap, and TC_LOG_INFO.
| void SpellMgr::LoadSpellInfoSpellSpecificAndAuraState | ( | ) |
Definition at line 5042 of file SpellMgr.cpp.
References getMSTime(), GetMSTimeDiffToNow(), mSpellInfoMap, and TC_LOG_INFO.
| void SpellMgr::LoadSpellInfoStore | ( | ) |
Definition at line 2519 of file SpellMgr.cpp.
References ASSERT, getMSTime(), GetMSTimeDiffToNow(), GetSpellInfoStoreSize(), mSpellInfoMap, sSpellStore, TC_LOG_INFO, TOTAL_AURAS, TOTAL_SPELL_EFFECTS, TOTAL_SPELL_TARGETS, and UnloadSpellInfoStore().
| void SpellMgr::LoadSpellLearnSkills | ( | ) |
Definition at line 1020 of file SpellMgr.cpp.
References getMSTime(), GetMSTimeDiffToNow(), SpellLearnSkillNode::maxvalue, mSpellInfoMap, mSpellLearnSkills, SpellLearnSkillNode::skill, SKILL_DUAL_WIELD, SKILL_RIDING, SPELL_EFFECT_DUAL_WIELD, SPELL_EFFECT_SKILL, SpellLearnSkillNode::step, TC_LOG_INFO, and SpellLearnSkillNode::value.
| void SpellMgr::LoadSpellLearnSpells | ( | ) |
Definition at line 1066 of file SpellMgr.cpp.
References SpellLearnSpellNode::Active, SpellLearnSpellNode::AutoLearned, Field::GetBool(), SpellInfo::GetEffects(), getMSTime(), GetMSTimeDiffToNow(), GetSpellInfo(), GetSpellInfoStoreSize(), GetSpellLearnSpellMapBounds(), Field::GetUInt32(), SpellInfo::HasAttribute(), SpellInfo::HasEffect(), SpellInfo::IsPassive(), mSpellLearnSpells, SpellLearnSpellNode::Spell, SPELL_ATTR0_CU_IS_TALENT, SPELL_EFFECT_LEARN_SPELL, SPELL_EFFECT_SKILL_STEP, TARGET_UNIT_PET, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| void SpellMgr::LoadSpellLinked | ( | ) |
Definition at line 2087 of file SpellMgr.cpp.
References SpellInfo::GetEffects(), Field::GetInt32(), getMSTime(), GetMSTimeDiffToNow(), GetSpellInfo(), Field::GetUInt8(), mSpellLinkedMap, SPELL_LINKED_MAX_SPELLS, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| void SpellMgr::LoadSpellPetAuras | ( | ) |
Definition at line 1948 of file SpellMgr.cpp.
References SpellEffectInfo::ApplyAuraName, SpellEffectInfo::CalcValue(), SpellEffectInfo::Effect, SpellInfo::GetEffect(), getMSTime(), GetMSTimeDiffToNow(), GetSpellInfo(), SpellImplicitTargetInfo::GetTarget(), Field::GetUInt32(), mSpellPetAuraMap, SPELL_AURA_DUMMY, SPELL_EFFECT_APPLY_AURA, SPELL_EFFECT_DUMMY, TARGET_UNIT_PET, SpellEffectInfo::TargetA, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| 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.
| void SpellMgr::LoadSpellRanks | ( | ) |
Definition at line 843 of file SpellMgr.cpp.
References getMSTime(), GetMSTimeDiffToNow(), GetSpellInfo(), Field::GetUInt32(), Field::GetUInt8(), LoadSpellTalentRanks(), mSpellChains, mSpellInfoMap, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| void SpellMgr::LoadSpellRequired | ( | ) |
Definition at line 959 of file SpellMgr.cpp.
References getMSTime(), GetMSTimeDiffToNow(), GetSpellInfo(), Field::GetUInt32(), SpellInfo::IsRankOf(), IsSpellRequiringSpell(), mSpellReq, mSpellsReqSpell, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| void SpellMgr::LoadSpellTalentRanks | ( | ) |
Definition at line 782 of file SpellMgr.cpp.
References SpellChainNode::first, GetSpellInfo(), SpellChainNode::last, MAX_TALENT_RANK, mSpellChains, mSpellInfoMap, SpellChainNode::next, SpellChainNode::prev, SpellChainNode::rank, TalentEntry::SpellRank, sTalentStore, TC_LOG_ERROR, and UnloadSpellInfoChains().
Referenced by LoadSpellRanks().
| void SpellMgr::LoadSpellTargetPositions | ( | ) |
Definition at line 1168 of file SpellMgr.cpp.
References SpellInfo::GetEffect(), Field::GetFloat(), getMSTime(), GetMSTimeDiffToNow(), GetSpellInfo(), SpellImplicitTargetInfo::GetTarget(), Field::GetUInt16(), Field::GetUInt32(), mSpellTargetPositions, sMapStore, TARGET_DEST_DB, SpellTargetPosition::target_mapId, SpellTargetPosition::target_Orientation, SpellTargetPosition::target_X, SpellTargetPosition::target_Y, SpellTargetPosition::target_Z, SpellEffectInfo::TargetA, SpellEffectInfo::TargetB, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
| void SpellMgr::LoadSpellThreats | ( | ) |
Definition at line 1884 of file SpellMgr.cpp.
References SpellThreatEntry::apPctMod, SpellThreatEntry::flatMod, Field::GetFloat(), Field::GetInt32(), getMSTime(), GetMSTimeDiffToNow(), GetSpellInfo(), Field::GetUInt32(), mSpellThreatMap, SpellThreatEntry::pctMod, TC_LOG_ERROR, TC_LOG_INFO, and WorldDatabase.
Definition at line 168 of file SpellMgr.cpp.
References GetSpellDifficultyId(), mSpellDifficultySearcherMap, and TC_LOG_ERROR.
| void SpellMgr::UnloadSpellInfoChains | ( | ) |
Definition at line 774 of file SpellMgr.cpp.
References mSpellChains, and mSpellInfoMap.
Referenced by LoadSpellTalentRanks().
| void SpellMgr::UnloadSpellInfoImplicitTargetConditionLists | ( | ) |
Definition at line 2555 of file SpellMgr.cpp.
References GetSpellInfoStoreSize(), and mSpellInfoMap.
| void SpellMgr::UnloadSpellInfoStore | ( | ) |
Definition at line 2547 of file SpellMgr.cpp.
References GetSpellInfoStoreSize(), and mSpellInfoMap.
Referenced by LoadSpellInfoStore(), and ~SpellMgr().
|
friend |
Definition at line 735 of file SpellMgr.h.
|
private |
Definition at line 724 of file SpellMgr.h.
Referenced by IsArenaAllowedEnchancment(), and LoadEnchantCustomAttr().
|
private |
Definition at line 732 of file SpellMgr.h.
Referenced by GetPetDefaultSpellsEntry(), and LoadPetDefaultSpells().
|
private |
Definition at line 731 of file SpellMgr.h.
Referenced by GetPetLevelupSpellList(), and LoadPetLevelupSpellMap().
|
private |
Definition at line 730 of file SpellMgr.h.
Referenced by GetSkillLineAbilityMapBounds(), and LoadSkillLineAbilityMap().
|
private |
Definition at line 729 of file SpellMgr.h.
Referenced by GetSpellAreaForAreaMapBounds(), and LoadSpellAreas().
|
private |
Definition at line 728 of file SpellMgr.h.
Referenced by GetSpellAreaForAuraMapBounds(), and LoadSpellAreas().
|
private |
Definition at line 727 of file SpellMgr.h.
Referenced by GetSpellAreaForQuestEndMapBounds(), and LoadSpellAreas().
|
private |
Definition at line 726 of file SpellMgr.h.
Referenced by GetSpellAreaForQuestMapBounds(), and LoadSpellAreas().
|
private |
Definition at line 725 of file SpellMgr.h.
Referenced by GetSpellAreaMapBounds(), and LoadSpellAreas().
|
private |
Definition at line 719 of file SpellMgr.h.
Referenced by GetSpellBonusData(), and LoadSpellBonuses().
|
private |
Definition at line 708 of file SpellMgr.h.
Referenced by GetSpellChainNode(), LoadSpellRanks(), LoadSpellTalentRanks(), and UnloadSpellInfoChains().
|
private |
Definition at line 707 of file SpellMgr.h.
Referenced by GetSpellDifficultyId(), and SetSpellDifficultyId().
|
private |
Definition at line 723 of file SpellMgr.h.
Referenced by GetSpellEnchantProcEvent(), and LoadSpellEnchantProcData().
|
private |
Definition at line 715 of file SpellMgr.h.
Referenced by GetSpellGroupSpellMapBounds(), and LoadSpellGroups().
|
private |
Definition at line 716 of file SpellMgr.h.
Referenced by CheckSpellGroupStackRules(), GetSpellGroupStackRule(), and LoadSpellGroupStackRules().
|
private |
Definition at line 733 of file SpellMgr.h.
Referenced by LoadSpellInfoCorrections(), LoadSpellInfoCustomAttributes(), LoadSpellInfoDiminishing(), LoadSpellInfoImmunities(), LoadSpellInfoSpellSpecificAndAuraState(), LoadSpellInfoStore(), LoadSpellLearnSkills(), LoadSpellProcs(), LoadSpellRanks(), LoadSpellTalentRanks(), UnloadSpellInfoChains(), UnloadSpellInfoImplicitTargetConditionLists(), and UnloadSpellInfoStore().
|
private |
Definition at line 711 of file SpellMgr.h.
Referenced by GetSpellLearnSkill(), and LoadSpellLearnSkills().
|
private |
Definition at line 712 of file SpellMgr.h.
Referenced by GetSpellLearnSpellMapBounds(), IsSpellLearnSpell(), and LoadSpellLearnSpells().
|
private |
Definition at line 722 of file SpellMgr.h.
Referenced by GetSpellLinked(), and LoadSpellLinked().
|
private |
Definition at line 721 of file SpellMgr.h.
Referenced by GetPetAura(), and LoadSpellPetAuras().
|
private |
Definition at line 718 of file SpellMgr.h.
Referenced by GetSpellProcEntry(), and LoadSpellProcs().
|
private |
Definition at line 710 of file SpellMgr.h.
Referenced by GetSpellsRequiredForSpellBounds(), and LoadSpellRequired().
|
private |
Definition at line 717 of file SpellMgr.h.
Referenced by AddSameEffectStackRuleSpellGroups(), and LoadSpellGroupStackRules().
|
private |
Definition at line 714 of file SpellMgr.h.
Referenced by GetSpellSpellGroupMapBounds(), and LoadSpellGroups().
|
private |
Definition at line 709 of file SpellMgr.h.
Referenced by GetSpellsRequiringSpellBounds(), and LoadSpellRequired().
|
private |
Definition at line 713 of file SpellMgr.h.
Referenced by GetSpellTargetPosition(), and LoadSpellTargetPositions().
|
private |
Definition at line 720 of file SpellMgr.h.
Referenced by GetSpellThreatEntry(), and LoadSpellThreats().