aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2015_11_22_02_world.sql22
-rw-r--r--src/server/game/Spells/Spell.cpp9
-rw-r--r--src/server/game/Spells/SpellInfo.h2
-rw-r--r--src/server/game/Spells/SpellMgr.cpp24
4 files changed, 27 insertions, 30 deletions
diff --git a/sql/updates/world/2015_11_22_02_world.sql b/sql/updates/world/2015_11_22_02_world.sql
new file mode 100644
index 00000000000..7fcbc7ec9aa
--- /dev/null
+++ b/sql/updates/world/2015_11_22_02_world.sql
@@ -0,0 +1,22 @@
+DELETE FROM `spell_custom_attr` WHERE `entry` IN (1130,1725,3600,14323,14324,14325,32375,32592,35009,39897,42650,43263,43264,53338,58831,58832,58833,58834,58838);
+INSERT INTO `spell_custom_attr` (`entry`, `attributes`) VALUES
+(1130, 64), -- Hunter spell 1130, Hunter's Mark Rank 1
+(1725, 64), -- Rogue spell 1725, Distract
+(3600, 64), -- Greater Earthbind Totem spell 3600, Earthbind
+(14323, 64), -- Hunter spell 14323, Hunter's Mark Rank 2
+(14324, 64), -- Hunter spell 14324, Hunter's Mark Rank 3
+(14325, 64), -- Hunter spell 14325, Hunter's Mark Rank 4
+(32375, 64), -- Priest Discipline spell 32375, Mass Dispel
+(32592, 64), -- Priest Discipline spell 32592, Mass Dispel
+-- Spell ID 35009 - Server-side - Invisibility - Reducing threat
+(35009, 64), -- Triggered by Mage Invisibility (Level 68), spells 66 & 67765
+(39897, 64), -- Priest Discipline spell 39897, Mass Dispel
+(42650, 64), -- Death Knight Unholy spell 42650, Army of the Dead
+(43263, 64), -- Ghoul level 66 spell 43263, Ghoul Taunt
+(43264, 64), -- Periodic Taunt, Trigger for Ghoul Taunt
+(53338, 64), -- Hunter spell 53338, Hunter's Mark Rank 5
+(58831, 64), -- Mirror Image, spawns left Mirror Image NPC
+(58832, 64), -- Mirror Image, Triggers 58831,58833,58834
+(58833, 64), -- Mirror Image, spawns center Mirror Image NPC
+(58834, 64), -- Mirror Image, spawns right Mirror Image NPC
+(58838, 64); -- Inherit Master's Threat List
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 7c9d956edd2..a443aab32e6 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -2429,9 +2429,8 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
{
m_caster->CombatStart(unit, !m_spellInfo->HasAttribute(SPELL_ATTR3_NO_INITIAL_AGGRO));
- if (m_spellInfo->HasAttribute(SPELL_ATTR0_CU_AURA_CC))
- if (!unit->IsStandState())
- unit->SetStandState(UNIT_STAND_STATE_STAND);
+ if (!unit->IsStandState())
+ unit->SetStandState(UNIT_STAND_STATE_STAND);
}
if (spellHitTarget)
@@ -2515,8 +2514,8 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA
if (m_caster->_IsValidAttackTarget(unit, m_spellInfo))
{
unit->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_HITBYSPELL);
- /// @todo This is a hack. But we do not know what types of stealth should be interrupted by CC
- if (m_spellInfo->HasAttribute(SPELL_ATTR0_CU_AURA_CC) && unit->IsControlledByPlayer())
+
+ if (!m_spellInfo->HasAttribute(SPELL_ATTR0_CU_DONT_BREAK_STEALTH))
unit->RemoveAurasByType(SPELL_AURA_MOD_STEALTH);
}
else if (m_caster->IsFriendlyTo(unit))
diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h
index 241e7df9544..d042f926d02 100644
--- a/src/server/game/Spells/SpellInfo.h
+++ b/src/server/game/Spells/SpellInfo.h
@@ -176,7 +176,7 @@ enum SpellCustomAttributes
SPELL_ATTR0_CU_CONE_LINE = 0x00000004,
SPELL_ATTR0_CU_SHARE_DAMAGE = 0x00000008,
SPELL_ATTR0_CU_NO_INITIAL_THREAT = 0x00000010,
- SPELL_ATTR0_CU_AURA_CC = 0x00000040,
+ SPELL_ATTR0_CU_DONT_BREAK_STEALTH = 0x00000040,
SPELL_ATTR0_CU_DIRECT_DAMAGE = 0x00000100,
SPELL_ATTR0_CU_CHARGE = 0x00000200,
SPELL_ATTR0_CU_PICKPOCKET = 0x00000400,
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 6305d0a456f..019b9e6f4d5 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -2801,14 +2801,6 @@ void SpellMgr::LoadSpellInfoCustomAttributes()
{
switch (spellInfo->Effects[j].ApplyAuraName)
{
- case SPELL_AURA_MOD_POSSESS:
- case SPELL_AURA_MOD_CONFUSE:
- case SPELL_AURA_MOD_CHARM:
- case SPELL_AURA_AOE_CHARM:
- case SPELL_AURA_MOD_FEAR:
- case SPELL_AURA_MOD_STUN:
- spellInfo->AttributesCu |= SPELL_ATTR0_CU_AURA_CC;
- break;
case SPELL_AURA_PERIODIC_HEAL:
case SPELL_AURA_PERIODIC_DAMAGE:
case SPELL_AURA_PERIODIC_DAMAGE_PERCENT:
@@ -2901,22 +2893,6 @@ void SpellMgr::LoadSpellInfoCustomAttributes()
if (spellInfo->SpellVisual[0] == 3879)
spellInfo->AttributesCu |= SPELL_ATTR0_CU_CONE_BACK;
- switch (spellInfo->SpellFamilyName)
- {
- case SPELLFAMILY_WARRIOR:
- // Shout
- if (spellInfo->SpellFamilyFlags[0] & 0x20000 || spellInfo->SpellFamilyFlags[1] & 0x20)
- spellInfo->AttributesCu |= SPELL_ATTR0_CU_AURA_CC;
- break;
- case SPELLFAMILY_DRUID:
- // Roar
- if (spellInfo->SpellFamilyFlags[0] & 0x8)
- spellInfo->AttributesCu |= SPELL_ATTR0_CU_AURA_CC;
- break;
- default:
- break;
- }
-
spellInfo->_InitializeExplicitTargetMask();
}