*Fix Shattered Barrier
--HG-- branch : trunk
This commit is contained in:
@@ -1,7 +0,0 @@
|
|||||||
DELETE FROM `spell_proc_event` WHERE `entry` IN (47571, 47572, 53754, 53759);
|
|
||||||
-- Psychic Horror
|
|
||||||
INSERT INTO `spell_proc_event` VALUES (47571, 0x00, 6, 65536, 0x00000000, 0x00000000, 0x00000000, 0x0002000, 0.000000, 0.000000, 0);
|
|
||||||
INSERT INTO `spell_proc_event` VALUES (47572, 0x00, 6, 59981, 0x00000000, 0x00000000, 0x00000000, 0x0002000, 0.000000, 0.000000, 0);
|
|
||||||
-- Improved Fear
|
|
||||||
INSERT INTO `spell_proc_event` VALUES (53754, 0x00, 5, 0x00000000, 1024, 0x00000000, 0x00000000, 0x0002000, 0.000000, 0.000000, 0);
|
|
||||||
INSERT INTO `spell_proc_event` VALUES (53759, 0x00, 5, 0x00000000, 1024, 0x00000000, 0x00000000, 0x0002000, 0.000000, 0.000000, 0);
|
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
-- Shattered Barrier
|
||||||
|
-- Psychic Horror
|
||||||
|
-- Improved Fear
|
||||||
|
DELETE FROM `spell_proc_event` WHERE `entry` IN (44745, 54787, 47571, 47572, 53754, 53759);
|
||||||
|
INSERT INTO `spell_proc_event` VALUES
|
||||||
|
(44745, 0x00, 3, 0x00000000, 0x00000001, 0x00000000, 0x00008000, 0x0006000, 0.000000, 0.000000, 0),
|
||||||
|
(54787, 0x00, 3, 0x00000000, 0x00000001, 0x00000000, 0x00008000, 0x0006000, 0.000000, 0.000000, 0),
|
||||||
|
(47571, 0x00, 6, 65536, 0x00000000, 0x00000000, 0x00000000, 0x0006000, 0.000000, 0.000000, 0),
|
||||||
|
(47572, 0x00, 6, 59981, 0x00000000, 0x00000000, 0x00000000, 0x0006000, 0.000000, 0.000000, 0),
|
||||||
|
(53754, 0x00, 5, 0x00000000, 1024, 0x00000000, 0x00000000, 0x0006000, 0.000000, 0.000000, 0),
|
||||||
|
(53759, 0x00, 5, 0x00000000, 1024, 0x00000000, 0x00000000, 0x0006000, 0.000000, 0.000000, 0);
|
||||||
@@ -78,7 +78,6 @@ INSTALL(FILES
|
|||||||
1814_world.sql
|
1814_world.sql
|
||||||
1825_world.sql
|
1825_world.sql
|
||||||
1828_world.sql
|
1828_world.sql
|
||||||
1857_world.sql
|
|
||||||
1877_mangos_7439_01_world_trinity_string.sql
|
1877_mangos_7439_01_world_trinity_string.sql
|
||||||
1881_world.sql
|
1881_world.sql
|
||||||
1884_world.sql
|
1884_world.sql
|
||||||
@@ -86,4 +85,5 @@ INSTALL(FILES
|
|||||||
1895_world.sql
|
1895_world.sql
|
||||||
1905_world.sql
|
1905_world.sql
|
||||||
1906_world.sql
|
1906_world.sql
|
||||||
|
1910_world.sql
|
||||||
DESTINATION share/trinity/sql/updates)
|
DESTINATION share/trinity/sql/updates)
|
||||||
+10
-3
@@ -1043,7 +1043,13 @@ void Aura::_RemoveAura()
|
|||||||
ProcCaster = PROC_FLAG_SUCCESSFUL_NEGATIVE_SPELL_HIT;
|
ProcCaster = PROC_FLAG_SUCCESSFUL_NEGATIVE_SPELL_HIT;
|
||||||
ProcVictim = PROC_FLAG_TAKEN_NEGATIVE_SPELL_HIT;
|
ProcVictim = PROC_FLAG_TAKEN_NEGATIVE_SPELL_HIT;
|
||||||
}
|
}
|
||||||
caster->ProcDamageAndSpell(m_target,ProcCaster, ProcVictim, PROC_EX_AURA_REMOVE, 0, BASE_ATTACK, m_spellProto);
|
uint32 procEx=0;
|
||||||
|
if (m_removeMode == AURA_REMOVE_BY_DISPEL)
|
||||||
|
procEx = PROC_EX_AURA_REMOVE_DISPEL;
|
||||||
|
else if (m_removeMode == AURA_REMOVE_BY_DEFAULT)
|
||||||
|
procEx = PROC_EX_AURA_REMOVE_EXPIRE;
|
||||||
|
|
||||||
|
caster->ProcDamageAndSpell(m_target,ProcCaster, ProcVictim, procEx, m_modifier.m_amount, BASE_ATTACK, m_spellProto);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2051,9 +2057,10 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
|
|||||||
// Living Bomb
|
// Living Bomb
|
||||||
if (m_spellProto->SpellFamilyFlags[1] & 0x20000)
|
if (m_spellProto->SpellFamilyFlags[1] & 0x20000)
|
||||||
{
|
{
|
||||||
if(!m_target || !caster || !(m_removeMode == AURA_REMOVE_BY_DISPEL || m_removeMode == AURA_REMOVE_BY_DEFAULT))
|
if(!m_target || !(m_removeMode == AURA_REMOVE_BY_DISPEL || m_removeMode == AURA_REMOVE_BY_DEFAULT))
|
||||||
return;
|
return;
|
||||||
caster->CastSpell(m_target, GetModifier()->m_amount, true, NULL, NULL, GetCasterGUID());
|
Unit* target=NULL;
|
||||||
|
m_target->CastSpell(m_target, GetModifier()->m_amount, true, NULL, NULL, GetCasterGUID());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
+2
-3
@@ -603,9 +603,8 @@ enum ProcFlagsEx
|
|||||||
PROC_EX_ABSORB = 0x0000400,
|
PROC_EX_ABSORB = 0x0000400,
|
||||||
PROC_EX_REFLECT = 0x0000800,
|
PROC_EX_REFLECT = 0x0000800,
|
||||||
PROC_EX_INTERRUPT = 0x0001000, // Melee hit result can be Interrupt (not used)
|
PROC_EX_INTERRUPT = 0x0001000, // Melee hit result can be Interrupt (not used)
|
||||||
PROC_EX_AURA_REMOVE = 0x0002000,
|
PROC_EX_AURA_REMOVE_DISPEL = 0x0002000,
|
||||||
PROC_EX_RESERVED2 = 0x0004000,
|
PROC_EX_AURA_REMOVE_EXPIRE = 0x0004000,
|
||||||
PROC_EX_RESERVED3 = 0x0008000,
|
|
||||||
PROC_EX_EX_TRIGGER_ALWAYS = 0x0010000, // If set trigger always ( no matter another flags) used for drop charges
|
PROC_EX_EX_TRIGGER_ALWAYS = 0x0010000, // If set trigger always ( no matter another flags) used for drop charges
|
||||||
PROC_EX_EX_ONE_TIME_TRIGGER = 0x0020000 // If set trigger always but only one time (not used)
|
PROC_EX_EX_ONE_TIME_TRIGGER = 0x0020000 // If set trigger always but only one time (not used)
|
||||||
};
|
};
|
||||||
|
|||||||
+12
-1
@@ -2181,7 +2181,7 @@ void Unit::CalcAbsorbResist(Unit *pVictim,SpellSchoolMask schoolMask, DamageEffe
|
|||||||
{
|
{
|
||||||
if ((*i)->GetModifier()->m_amount<=0)
|
if ((*i)->GetModifier()->m_amount<=0)
|
||||||
{
|
{
|
||||||
pVictim->RemoveAurasDueToSpell((*i)->GetId());
|
pVictim->RemoveAurasByCasterSpell((*i)->GetId(), (*i)->GetCasterGUID());
|
||||||
i = vSchoolAbsorb.begin();
|
i = vSchoolAbsorb.begin();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -5376,6 +5376,17 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
|||||||
triggered_spell_id = 29077;
|
triggered_spell_id = 29077;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// Shattered Barrier
|
||||||
|
if (dummySpell->SpellIconID == 2945)
|
||||||
|
{
|
||||||
|
// only on dispel/remove aura by sestroy
|
||||||
|
if (procEx & PROC_EX_AURA_REMOVE_EXPIRE && damage)
|
||||||
|
return false;
|
||||||
|
target = NULL;
|
||||||
|
triggered_spell_id = 55080;
|
||||||
|
CastSpell(target, triggered_spell_id, true);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
// Hot Streak
|
// Hot Streak
|
||||||
if (dummySpell->SpellIconID == 2999)
|
if (dummySpell->SpellIconID == 2999)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user