diff options
-rwxr-xr-x | src/server/game/Miscellaneous/SharedDefines.h | 82 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 2 |
2 files changed, 45 insertions, 39 deletions
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 4159b58554c..9e160c9fe86 100755 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -534,7 +534,7 @@ enum SpellAttr7 SPELL_ATTR7_REACTIVATE_AT_RESURRECT = 0x00000004, // 2 Paladin's auras and 65607 only. SPELL_ATTR7_IS_CHEAT_SPELL = 0x00000008, // 3 Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS SPELL_ATTR7_UNK4 = 0x00000010, // 4 Only 47883 (Soulstone Resurrection) and test spell. - SPELL_ATTR7_SUMMON_PLAYER_TOTEM = 0x00000020, // 5 Only Shaman player totems. + SPELL_ATTR7_SUMMON_TOTEM = 0x00000020, // 5 Only Shaman player totems. SPELL_ATTR7_UNK6 = 0x00000040, // 6 Dark Surge, Surge of Light, Burning Breath triggers (boss spells). SPELL_ATTR7_UNK7 = 0x00000080, // 7 66218 (Launch) spell. SPELL_ATTR7_HORDE_ONLY = 0x00000100, // 8 Teleports, mounts and other spells. @@ -565,31 +565,31 @@ enum SpellAttr7 enum SpellAttr8 { - SPELL_ATTR8_UNK0 = 0x00000001, // 0 - SPELL_ATTR8_UNK1 = 0x00000002, // 1 - SPELL_ATTR8_UNK2 = 0x00000004, // 2 - SPELL_ATTR8_UNK3 = 0x00000008, // 3 - SPELL_ATTR8_UNK4 = 0x00000010, // 4 - SPELL_ATTR8_UNK5 = 0x00000020, // 5 - SPELL_ATTR8_UNK6 = 0x00000040, // 6 - SPELL_ATTR8_UNK7 = 0x00000080, // 7 - SPELL_ATTR8_UNK8 = 0x00000100, // 8 - SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER = 0x00000200, // 9 Periodic auras with this flag keep old periodic timer when refreshing at close to one tick remaining (kind of anti DoT clipping) - SPELL_ATTR8_UNK10 = 0x00000400, // 10 + SPELL_ATTR8_UNK0 = 0x00000001, // 0 + SPELL_ATTR8_UNK1 = 0x00000002, // 1 + SPELL_ATTR8_UNK2 = 0x00000004, // 2 + SPELL_ATTR8_UNK3 = 0x00000008, // 3 + SPELL_ATTR8_UNK4 = 0x00000010, // 4 + SPELL_ATTR8_UNK5 = 0x00000020, // 5 + SPELL_ATTR8_UNK6 = 0x00000040, // 6 + SPELL_ATTR8_UNK7 = 0x00000080, // 7 + SPELL_ATTR8_AFFECT_PARTY_AND_RAID = 0x00000100, // 8 Nearly all spells have "all party and raid" in description + SPELL_ATTR8_DONT_RESET_PERIODIC_TIMER = 0x00000200, // 9 Periodic auras with this flag keep old periodic timer when refreshing at close to one tick remaining (kind of anti DoT clipping) + SPELL_ATTR8_NAME_CHANGED_DURING_TRANSFORM = 0x00000400, // 10 according to wowhead comments, name changes, title remains SPELL_ATTR8_UNK11 = 0x00000800, // 11 SPELL_ATTR8_AURA_SEND_AMOUNT = 0x00001000, // 12 Aura must have flag AFLAG_ANY_EFFECT_AMOUNT_SENT to send amount SPELL_ATTR8_UNK13 = 0x00002000, // 13 SPELL_ATTR8_UNK14 = 0x00004000, // 14 - SPELL_ATTR8_UNK15 = 0x00008000, // 15 + SPELL_ATTR8_WATER_MOUNT = 0x00008000, // 15 only one River Boat used in Thousand Needles SPELL_ATTR8_UNK16 = 0x00010000, // 16 SPELL_ATTR8_UNK17 = 0x00020000, // 17 - SPELL_ATTR8_UNK18 = 0x00040000, // 18 - SPELL_ATTR8_UNK19 = 0x00080000, // 19 + SPELL_ATTR8_REMEMBER_SPELLS = 0x00040000, // 18 at some point in time, these auras remember spells and allow to cast them later + SPELL_ATTR8_USE_COMBO_POINTS_ON_ANY_TARGET = 0x00080000, // 19 allows to consume combo points from dead targets SPELL_ATTR8_ARMOR_SPECIALIZATION = 0x00100000, // 20 SPELL_ATTR8_UNK21 = 0x00200000, // 21 SPELL_ATTR8_UNK22 = 0x00400000, // 22 SPELL_ATTR8_UNK23 = 0x00800000, // 23 - SPELL_ATTR8_UNK24 = 0x01000000, // 24 + SPELL_ATTR8_HEALING_SPELL = 0x01000000, // 24 SPELL_ATTR8_UNK25 = 0x02000000, // 25 SPELL_ATTR8_RAID_MARKER = 0x04000000, // 26 probably spell no need learn to cast SPELL_ATTR8_UNK27 = 0x08000000, // 27 @@ -601,20 +601,20 @@ enum SpellAttr8 enum SpellAttr9 { - SPELL_ATTR9_UNK0 = 0x00000001, // 0 - SPELL_ATTR9_UNK1 = 0x00000002, // 1 - SPELL_ATTR9_UNK2 = 0x00000004, // 2 - SPELL_ATTR9_UNK3 = 0x00000008, // 3 - SPELL_ATTR9_UNK4 = 0x00000010, // 4 - SPELL_ATTR9_UNK5 = 0x00000020, // 5 - SPELL_ATTR9_UNK6 = 0x00000040, // 6 - SPELL_ATTR9_UNK7 = 0x00000080, // 7 - SPELL_ATTR9_UNK8 = 0x00000100, // 8 - SPELL_ATTR9_NOT_USABLE_IN_ARENA = 0x00000200, // 9 Cannot be used in arenas + SPELL_ATTR9_UNK0 = 0x00000001, // 0 + SPELL_ATTR9_UNK1 = 0x00000002, // 1 + SPELL_ATTR9_RESTRICTED_FLIGHT_AREA = 0x00000004, // 2 Dalaran and Wintergrasp flight area auras have it + SPELL_ATTR9_UNK3 = 0x00000008, // 3 + SPELL_ATTR9_UNK4 = 0x00000010, // 4 + SPELL_ATTR9_SUMMON_PLAYER_TOTEM = 0x00000020, // 5 + SPELL_ATTR9_UNK6 = 0x00000040, // 6 + SPELL_ATTR9_UNK7 = 0x00000080, // 7 + SPELL_ATTR9_AIMED_SHOT = 0x00000100, // 8 + SPELL_ATTR9_NOT_USABLE_IN_ARENA = 0x00000200, // 9 Cannot be used in arenas SPELL_ATTR9_UNK10 = 0x00000400, // 10 SPELL_ATTR9_UNK11 = 0x00000800, // 11 SPELL_ATTR9_UNK12 = 0x00001000, // 12 - SPELL_ATTR9_UNK13 = 0x00002000, // 13 + SPELL_ATTR9_SLAM = 0x00002000, // 13 SPELL_ATTR9_USABLE_IN_RATED_BATTLEGROUNDS = 0x00004000, // 14 Can be used in Rated Battlegrounds SPELL_ATTR9_UNK15 = 0x00008000, // 15 SPELL_ATTR9_UNK16 = 0x00010000, // 16 @@ -637,18 +637,18 @@ enum SpellAttr9 enum SpellAttr10 { - SPELL_ATTR10_UNK0 = 0x00000001, // 0 - SPELL_ATTR10_UNK1 = 0x00000002, // 1 - SPELL_ATTR10_UNK2 = 0x00000004, // 2 - SPELL_ATTR10_UNK3 = 0x00000008, // 3 - SPELL_ATTR10_UNK4 = 0x00000010, // 4 - SPELL_ATTR10_UNK5 = 0x00000020, // 5 - SPELL_ATTR10_UNK6 = 0x00000040, // 6 - SPELL_ATTR10_UNK7 = 0x00000080, // 7 - SPELL_ATTR10_UNK8 = 0x00000100, // 8 - SPELL_ATTR10_UNK9 = 0x00000200, // 9 + SPELL_ATTR10_UNK0 = 0x00000001, // 0 + SPELL_ATTR10_UNK1 = 0x00000002, // 1 + SPELL_ATTR10_UNK2 = 0x00000004, // 2 + SPELL_ATTR10_UNK3 = 0x00000008, // 3 + SPELL_ATTR10_WATER_SPOUT = 0x00000010, // 4 + SPELL_ATTR10_UNK5 = 0x00000020, // 5 + SPELL_ATTR10_UNK6 = 0x00000040, // 6 + SPELL_ATTR10_TELEPORT_PLAYER = 0x00000080, // 7 4 Teleport Player spells + SPELL_ATTR10_UNK8 = 0x00000100, // 8 + SPELL_ATTR10_UNK9 = 0x00000200, // 9 SPELL_ATTR10_UNK10 = 0x00000400, // 10 - SPELL_ATTR10_UNK11 = 0x00000800, // 11 + SPELL_ATTR10_HERB_GATHERING_MINING = 0x00000800, // 11 Only Herb Gathering and Mining SPELL_ATTR10_UNK12 = 0x00001000, // 12 SPELL_ATTR10_UNK13 = 0x00002000, // 13 SPELL_ATTR10_UNK14 = 0x00004000, // 14 @@ -3724,6 +3724,12 @@ enum ActivateTaxiReply ERR_TAXINOTSTANDING = 12 }; +enum ProfessionUI +{ + MAX_PRIMARY_PROFESSIONS = 2, + MAX_SECONDARY_SKILLS = 5 +}; + // Calendar - start enum CalendarFlags diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 416213c202e..c7990eb1ed6 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -5944,7 +5944,7 @@ void Spell::EffectCastButtons(SpellEffIndex effIndex) if (!p_caster->HasSpell(spell_id) || p_caster->HasSpellCooldown(spell_id)) continue; - if (!(spellInfo->AttributesEx7 & SPELL_ATTR7_SUMMON_PLAYER_TOTEM)) + if (!(spellInfo->AttributesEx9 & SPELL_ATTR9_SUMMON_PLAYER_TOTEM)) continue; int32 cost = spellInfo->CalcPowerCost(m_caster, spellInfo->GetSchoolMask()); |