diff options
author | QAston <qaston@gmail.com> | 2011-07-01 12:47:26 +0200 |
---|---|---|
committer | QAston <qaston@gmail.com> | 2011-07-01 12:47:26 +0200 |
commit | 3b8dce669d6ce4aad680da99dae1b73fe54b17df (patch) | |
tree | ef9e77e79baade3cbca18a6084381e94aee1d839 /src | |
parent | d3e887060d0fed28378908f8c24150fbe375a659 (diff) |
Core/Spells: Define attributes: SPELL_ATTR0_CAST_TRACK_TARGET(0x00400000), SPELL_ATTR1_CHANNEL_TRACK_TARGET(0x00004000), SPELL_ATTR0_ON_NEXT_SWING_2(0x00000400), add some attribute flag comments based on client research.
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Miscellaneous/SharedDefines.h | 14 | ||||
-rwxr-xr-x | src/server/game/Spells/SpellMgr.cpp | 5 |
2 files changed, 9 insertions, 10 deletions
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index a367b4a3d0e..250242b3b49 100755 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -265,7 +265,7 @@ enum SpellAttr0 { SPELL_ATTR0_UNK0 = 0x00000001, // 0 SPELL_ATTR0_REQ_AMMO = 0x00000002, // 1 - SPELL_ATTR0_ON_NEXT_SWING = 0x00000004, // 2 on next swing + SPELL_ATTR0_ON_NEXT_SWING = 0x00000004, // 2 SPELL_ATTR0_UNK3 = 0x00000008, // 3 not set in 3.0.3 SPELL_ATTR0_ABILITY = 0x00000010, // 4 client puts 'ability' instead of 'spell' in game strings for these spells SPELL_ATTR0_TRADESPELL = 0x00000020, // 5 trade spells (recipes), will be added by client to a sublist of profession spell @@ -273,7 +273,7 @@ enum SpellAttr0 SPELL_ATTR0_HIDDEN_CLIENTSIDE = 0x00000080, // 7 Spells with this attribute are not visible in spellbook or aura bar SPELL_ATTR0_HIDE_IN_COMBAT_LOG = 0x00000100, // 8 This attribite controls whether spell appears in combat logs SPELL_ATTR0_TARGET_MAINHAND_ITEM = 0x00000200, // 9 Client automatically selects item from mainhand slot as a cast target - SPELL_ATTR0_UNK10 = 0x00000400, // 10 + SPELL_ATTR0_ON_NEXT_SWING_2 = 0x00000400, // 10 SPELL_ATTR0_UNK11 = 0x00000800, // 11 SPELL_ATTR0_DAYTIME_ONLY = 0x00001000, // 12 only useable at daytime, not set in 2.4.2 SPELL_ATTR0_NIGHT_ONLY = 0x00002000, // 13 only useable at night, not set in 2.4.2 @@ -285,7 +285,7 @@ enum SpellAttr0 SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION = 0x00080000, // 19 spelldamage depends on caster level SPELL_ATTR0_STOP_ATTACK_TARGET = 0x00100000, // 20 Stop attack after use this spell (and not begin attack if use) SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK = 0x00200000, // 21 Cannot be dodged/parried/blocked - SPELL_ATTR0_FORCE_FACING_TARGET = 0x00400000, // 22 Client automatically forces player to face target when casting + SPELL_ATTR0_CAST_TRACK_TARGET = 0x00400000, // 22 Client automatically forces player to face target when casting SPELL_ATTR0_CASTABLE_WHILE_DEAD = 0x00800000, // 23 castable while dead? SPELL_ATTR0_CASTABLE_WHILE_MOUNTED = 0x01000000, // 24 castable while mounted SPELL_ATTR0_DISABLED_WHILE_ACTIVE = 0x02000000, // 25 Activate and start cooldown after aura fade or remove summoned creature or go @@ -299,9 +299,9 @@ enum SpellAttr0 enum SpellAttr1 { - SPELL_ATTR1_DISMISS_PET = 0x00000001, // 0 dismiss pet and not allow to summon new one? + SPELL_ATTR1_DISMISS_PET = 0x00000001, // 0 for spells without this flag client doesn't allow to summon pet if caster has a pet SPELL_ATTR1_DRAIN_ALL_POWER = 0x00000002, // 1 use all power (Only paladin Lay of Hands and Bunyanize) - SPELL_ATTR1_CHANNELED_1 = 0x00000004, // 2 + SPELL_ATTR1_CHANNELED_1 = 0x00000004, // 2 clientside checked? SPELL_ATTR1_PUT_CASTER_IN_COMBAT = 0x00000008, // 3 spells that cause a caster to enter a combat SPELL_ATTR1_UNK4 = 0x00000010, // 4 stealth and whirlwind SPELL_ATTR1_NOT_BREAK_STEALTH = 0x00000020, // 5 Not break stealth @@ -313,7 +313,7 @@ enum SpellAttr1 SPELL_ATTR1_UNK11 = 0x00000800, // 11 aura SPELL_ATTR1_UNK12 = 0x00001000, // 12 SPELL_ATTR1_USE_RADIUS_AS_MAX_DISTANCE = 0x00002000, // 13 - SPELL_ATTR1_STACK_FOR_DIFF_CASTERS = 0x00004000, // 14 + SPELL_ATTR1_CHANNEL_TRACK_TARGET = 0x00004000, // 14 Client automatically forces player to face target when channeling SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY = 0x00008000, // 15 remove auras on immunity SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE = 0x00010000, // 16 on immuniy SPELL_ATTR1_UNAUTOCASTABLE_BY_PET = 0x00020000, // 17 @@ -1399,7 +1399,7 @@ enum SpellMissInfo SPELL_MISS_BLOCK = 5, SPELL_MISS_EVADE = 6, SPELL_MISS_IMMUNE = 7, - SPELL_MISS_IMMUNE2 = 8, + SPELL_MISS_IMMUNE2 = 8, // one of these 2 is MISS_TEMPIMMUNE SPELL_MISS_DEFLECT = 9, SPELL_MISS_ABSORB = 10, SPELL_MISS_REFLECT = 11 diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 0c014509804..a941c26e358 100755 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -3323,8 +3323,7 @@ bool SpellMgr::CanAurasStack(Aura const *aura1, Aura const *aura2, bool sameCast if (!sameCaster) { - if (spellInfo_1->AttributesEx & SPELL_ATTR1_STACK_FOR_DIFF_CASTERS - || spellInfo_1->AttributesEx3 & SPELL_ATTR3_STACK_FOR_DIFF_CASTERS) + if (spellInfo_1->AttributesEx3 & SPELL_ATTR3_STACK_FOR_DIFF_CASTERS) return true; // check same periodic auras @@ -4300,7 +4299,7 @@ void SpellMgr::LoadSpellCustomAttr() ++count; break; case 70602: // Corruption - spellInfo->AttributesEx |= SPELL_ATTR1_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; ++count; break; case 70715: // Column of Frost (visual marker) |