mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 08:55:32 +01:00
*Redefine attribute flag NO_INITIAL_AGGRO to make Mind Soothe and Soothe animal work
*Fix Glyph of Shadow Word: Death. --HG-- branch : trunk
This commit is contained in:
@@ -261,7 +261,7 @@ enum SpellCategory
|
||||
#define SPELL_ATTR_EX_NEGATIVE 0x00000080 // 7
|
||||
#define SPELL_ATTR_EX_NOT_IN_COMBAT_TARGET 0x00000100 // 8 Spell req target not to be in combat state
|
||||
#define SPELL_ATTR_EX_UNK9 0x00000200 // 9 melee spells
|
||||
#define SPELL_ATTR_EX_NO_INITIAL_AGGRO 0x00000400 // 10 no generates threat on cast 100%?
|
||||
#define SPELL_ATTR_EX_UNK10 0x00000400 // 10 no generates threat on cast 100%? ( old NO_INITIAL_AGGRO)
|
||||
#define SPELL_ATTR_EX_UNK11 0x00000800 // 11 aura
|
||||
#define SPELL_ATTR_EX_UNK12 0x00001000 // 12
|
||||
#define SPELL_ATTR_EX_UNK13 0x00002000 // 13
|
||||
@@ -334,7 +334,7 @@ enum SpellCategory
|
||||
#define SPELL_ATTR_EX3_UNK14 0x00004000 // 14 "Honorless Target" only this spells have this flag
|
||||
#define SPELL_ATTR_EX3_UNK15 0x00008000 // 15 Auto Shoot, Shoot, Throw, - this is autoshot flag
|
||||
#define SPELL_ATTR_EX3_UNK16 0x00010000 // 16 no triggers effects that trigger on casting a spell??
|
||||
#define SPELL_ATTR_EX3_UNK17 0x00020000 // 17 no triggers effects that trigger on casting a spell??
|
||||
#define SPELL_ATTR_EX3_NO_INITIAL_AGGRO 0x00020000 // 17 Soothe Animal, 39758, Mind Soothe
|
||||
#define SPELL_ATTR_EX3_UNK18 0x00040000 // 18
|
||||
#define SPELL_ATTR_EX3_UNK19 0x00080000 // 19 spells triggered by spell with this flag can't proc caster auras and can proc from triggered (swings too - 20178)
|
||||
#define SPELL_ATTR_EX3_DEATH_PERSISTENT 0x00100000 // 20 Death persistent spells
|
||||
|
||||
@@ -1117,7 +1117,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target)
|
||||
|
||||
if( !m_caster->IsFriendlyTo(unit) && !IsPositiveSpell(m_spellInfo->Id))
|
||||
{
|
||||
if( !(m_spellInfo->AttributesEx & SPELL_ATTR_EX_NO_INITIAL_AGGRO) )
|
||||
if( !(m_spellInfo->AttributesEx3 & SPELL_ATTR_EX3_NO_INITIAL_AGGRO) )
|
||||
{
|
||||
m_caster->CombatStart(unit);
|
||||
}
|
||||
@@ -1221,7 +1221,7 @@ SpellMissInfo Spell::DoSpellHitOnUnit(Unit *unit, const uint32 effectMask)
|
||||
if(m_caster->GetTypeId() == TYPEID_PLAYER)
|
||||
((Player*)m_caster)->UpdatePvP(true);
|
||||
}
|
||||
if( unit->isInCombat() && !(m_spellInfo->AttributesEx & SPELL_ATTR_EX_NO_INITIAL_AGGRO) )
|
||||
if( unit->isInCombat() && !(m_spellInfo->AttributesEx & SPELL_ATTR_EX3_NO_INITIAL_AGGRO) )
|
||||
{
|
||||
m_caster->SetInCombatState(unit->GetCombatTimer() > 0);
|
||||
unit->getHostilRefManager().threatAssist(m_caster, 0.0f);
|
||||
|
||||
@@ -5381,7 +5381,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
|
||||
case 56374:
|
||||
RemoveAurasByType(SPELL_AURA_MOD_HASTE, 0, 0, true, false);
|
||||
RemoveAurasByType(SPELL_AURA_MOD_DECREASE_SPEED);
|
||||
break;
|
||||
return true;
|
||||
// Ignite
|
||||
case 11119:
|
||||
case 11120:
|
||||
@@ -8967,6 +8967,16 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3
|
||||
DoneTotalMod *= 3.0f;
|
||||
}
|
||||
|
||||
// Glyph of Shadow Word: Pain
|
||||
if (spellProto->SpellFamilyName == SPELLFAMILY_PRIEST && spellProto->SpellFamilyFlags[0] & 0x800000)
|
||||
{
|
||||
// Increase Mind Flay damage
|
||||
if (AuraEffect * aurEff = GetDummyAura(55687))
|
||||
// if Shadow Word: Pain present
|
||||
if (pVictim->GetAura(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_PRIEST, 0x8000, 0,0, GetGUID()))
|
||||
DoneTotalMod *= (aurEff->GetAmount() + 100.0f) / 100.f;
|
||||
}
|
||||
|
||||
// Torment the weak
|
||||
if (spellProto->SpellFamilyName== SPELLFAMILY_MAGE && (spellProto->SpellFamilyFlags[0]&0x20200021 || spellProto->SpellFamilyFlags[1]& 0x9000))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user