aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Miscellaneous/SharedDefines.h82
-rw-r--r--src/server/game/Spells/SpellEffects.cpp2
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());