fix(Core/Spell): Restore SPELL_ATTR0_CU_AURA_CC (#4472)
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1612676592853947300');
|
||||||
|
|
||||||
|
-- Stoneclaw Totem effect
|
||||||
|
UPDATE `spell_custom_attr` SET `attributes`=`attributes`|32 WHERE `spell_id` = 5729;
|
||||||
@@ -197,7 +197,7 @@ namespace ArenaSpectator
|
|||||||
if (aura->GetSpellInfo()->SpellIconID == 1 || aura->GetSpellInfo()->HasAttribute(SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR))
|
if (aura->GetSpellInfo()->SpellIconID == 1 || aura->GetSpellInfo()->HasAttribute(SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (remove || aura->GetSpellInfo()->HasAttribute(SPELL_ATTR0_CU_DONT_BREAK_STEALTH) || aura->GetSpellInfo()->SpellFamilyName == SPELLFAMILY_GENERIC)
|
if (remove || aura->GetSpellInfo()->HasAttribute(SPELL_ATTR0_CU_AURA_CC) || aura->GetSpellInfo()->SpellFamilyName == SPELLFAMILY_GENERIC)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
for(uint8 i = EFFECT_0; i < MAX_SPELL_EFFECTS; ++i)
|
for(uint8 i = EFFECT_0; i < MAX_SPELL_EFFECTS; ++i)
|
||||||
|
|||||||
@@ -4768,7 +4768,7 @@ void Unit::RemoveAurasByShapeShift()
|
|||||||
{
|
{
|
||||||
Aura const* aura = iter->second->GetBase();
|
Aura const* aura = iter->second->GetBase();
|
||||||
if ((aura->GetSpellInfo()->GetAllEffectsMechanicMask() & mechanic_mask) &&
|
if ((aura->GetSpellInfo()->GetAllEffectsMechanicMask() & mechanic_mask) &&
|
||||||
(!aura->GetSpellInfo()->HasAttribute(SPELL_ATTR0_CU_DONT_BREAK_STEALTH) || (aura->GetSpellInfo()->SpellFamilyName == SPELLFAMILY_WARRIOR && (aura->GetSpellInfo()->SpellFamilyFlags[1] & 0x20))))
|
(!aura->GetSpellInfo()->HasAttribute(SPELL_ATTR0_CU_AURA_CC) || (aura->GetSpellInfo()->SpellFamilyName == SPELLFAMILY_WARRIOR && (aura->GetSpellInfo()->SpellFamilyFlags[1] & 0x20))))
|
||||||
{
|
{
|
||||||
RemoveAura(iter);
|
RemoveAura(iter);
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -2808,8 +2808,10 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit* unit, uint32 effectMask, bool scaleA
|
|||||||
unit->IncrDiminishing(m_diminishGroup);
|
unit->IncrDiminishing(m_diminishGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_caster != unit && m_caster->IsHostileTo(unit) && !m_spellInfo->IsPositive() && !m_triggeredByAuraSpell && !m_spellInfo->HasAttribute(SPELL_ATTR0_CU_DONT_BREAK_STEALTH))
|
if (!m_spellInfo->HasAttribute(SPELL_ATTR0_CU_DONT_BREAK_STEALTH))
|
||||||
|
{
|
||||||
unit->RemoveAurasByType(SPELL_AURA_MOD_STEALTH);
|
unit->RemoveAurasByType(SPELL_AURA_MOD_STEALTH);
|
||||||
|
}
|
||||||
|
|
||||||
if (aura_effmask)
|
if (aura_effmask)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ enum SpellCustomAttributes
|
|||||||
SPELL_ATTR0_CU_CONE_LINE = 0x00000004,
|
SPELL_ATTR0_CU_CONE_LINE = 0x00000004,
|
||||||
SPELL_ATTR0_CU_SHARE_DAMAGE = 0x00000008,
|
SPELL_ATTR0_CU_SHARE_DAMAGE = 0x00000008,
|
||||||
SPELL_ATTR0_CU_NO_INITIAL_THREAT = 0x00000010,
|
SPELL_ATTR0_CU_NO_INITIAL_THREAT = 0x00000010,
|
||||||
SPELL_ATTR0_CU_NONE2 = 0x00000020, // UNUSED
|
SPELL_ATTR0_CU_AURA_CC = 0x00000020,
|
||||||
SPELL_ATTR0_CU_DONT_BREAK_STEALTH = 0x00000040,
|
SPELL_ATTR0_CU_DONT_BREAK_STEALTH = 0x00000040,
|
||||||
SPELL_ATTR0_CU_NONE3 = 0x00000080, // UNUSED
|
SPELL_ATTR0_CU_NONE3 = 0x00000080, // UNUSED
|
||||||
SPELL_ATTR0_CU_DIRECT_DAMAGE = 0x00000100,
|
SPELL_ATTR0_CU_DIRECT_DAMAGE = 0x00000100,
|
||||||
|
|||||||
@@ -2805,6 +2805,18 @@ void SpellMgr::LoadSpellCustomAttr()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
switch (spellInfo->Effects[j].Effect)
|
switch (spellInfo->Effects[j].Effect)
|
||||||
{
|
{
|
||||||
case SPELL_EFFECT_SCHOOL_DAMAGE:
|
case SPELL_EFFECT_SCHOOL_DAMAGE:
|
||||||
@@ -2936,6 +2948,22 @@ void SpellMgr::LoadSpellCustomAttr()
|
|||||||
if (spellInfo->SpellVisual[0] == 3879)
|
if (spellInfo->SpellVisual[0] == 3879)
|
||||||
spellInfo->AttributesCu |= SPELL_ATTR0_CU_CONE_BACK;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
switch (spellInfo->Id)
|
switch (spellInfo->Id)
|
||||||
{
|
{
|
||||||
// Xinef: additional spells which should be binary
|
// Xinef: additional spells which should be binary
|
||||||
|
|||||||
Reference in New Issue
Block a user