*Fix Crypt Fever and Ebon Plague disease damage mod.
--HG-- branch : trunk
This commit is contained in:
@@ -1850,8 +1850,9 @@ INSERT INTO `spell_bonus_data` (`entry`, `direct_bonus`, `dot_bonus`, `ap_bonus`
|
||||
-- --------
|
||||
|
||||
TRUNCATE TABLE `spell_dbc`;
|
||||
INSERT INTO `spell_dbc` (`Id`, `DurationIndex`, `Effect1`, `EffectImplicitTargetA1`, `EffectApplyAuraName1`, `Comment`) VALUES
|
||||
(62388, 21, 6, 1, 4, 'Demonic Circle: Teleport(48020) - casterAuraSpell');
|
||||
INSERT INTO `spell_dbc` (`Id`, `Dispel`, `Mechanic`, `AttributesEx3`, `DurationIndex`, `RangeIndex`, `Effect1`, `EffectImplicitTargetA1`, `EffectApplyAuraName1`, `EffectMiscValue1`, `SpellFamilyName`, `SchoolMask`, `Comment`) VALUES
|
||||
(62388, 0, 0, 0x00000000, 21, 1, 6, 1, 4, 0, 0, 0, 'Demonic Circle: Teleport(48020) - casterAuraSpell'),
|
||||
(65142, 3, 22, 0x00000080, 21, 13, 6, 6, 255, 22, 15, 8, 'Crypt Fever - SPELL_AURA_LINKED');
|
||||
|
||||
-- --------
|
||||
-- SPELL ELIXIR
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
DELETE FROM `spell_dbc` WHERE `Id` IN(65142);
|
||||
INSERT INTO `spell_dbc` (`Id`, `Dispel`, `Mechanic`, `AttributesEx3`, `DurationIndex`, `RangeIndex`, `Effect1`, `EffectImplicitTargetA1`, `EffectApplyAuraName1`, `EffectMiscValue1`, `SpellFamilyName`, `SchoolMask`, `Comment`) VALUES
|
||||
(65142, 3, 22, 0x00000080, 21, 13, 6, 6, 255, 22, 15, 8, 'Crypt Fever - SPELL_AURA_LINKED');
|
||||
+1
-1
@@ -2840,7 +2840,7 @@ CREATE TABLE `spell_dbc` (
|
||||
`AreaGroupId` INT NOT NULL DEFAULT 0,
|
||||
`SchoolMask` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`Comment` TEXT NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
PRIMARY KEY (`Id`)
|
||||
)ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Custom spell.dbc entries';
|
||||
|
||||
--
|
||||
|
||||
+46
-1
@@ -1006,14 +1006,59 @@ void Aura::HandleAuraSpecificMods(bool apply)
|
||||
}
|
||||
}
|
||||
}
|
||||
// Sprint (skip non player casted spells by category)
|
||||
else if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_ROGUE)
|
||||
{
|
||||
// Sprint (skip non player casted spells by category)
|
||||
if(GetSpellProto()->SpellFamilyFlags[0] & 0x40 && GetSpellProto()->Category == 44)
|
||||
// in official maybe there is only one icon?
|
||||
if(m_target->HasAura(58039)) // Glyph of Blurred Speed
|
||||
m_target->CastSpell(m_target, 61922, true); // Sprint (waterwalk)
|
||||
}
|
||||
else if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_DEATHKNIGHT)
|
||||
{
|
||||
// Frost Fever and Blood Plague
|
||||
if(GetSpellProto()->SpellFamilyFlags[2] & 0x2)
|
||||
{
|
||||
// Can't proc on self
|
||||
if (GetCasterGUID() == m_target->GetGUID())
|
||||
return;
|
||||
Unit * caster = GetCaster();
|
||||
if (!caster)
|
||||
return;
|
||||
|
||||
AuraEffect * aurEff = NULL;
|
||||
// Ebon Plaguebringer / Crypt Fever
|
||||
Unit::AuraEffectList const& TalentAuras = caster->GetAurasByType(SPELL_AURA_OVERRIDE_CLASS_SCRIPTS);
|
||||
for(Unit::AuraEffectList::const_iterator itr = TalentAuras.begin(); itr != TalentAuras.end(); ++itr)
|
||||
{
|
||||
if ((*itr)->GetMiscValue() == 7282)
|
||||
{
|
||||
aurEff = *itr;
|
||||
// Ebon Plaguebringer - end search if found
|
||||
if ((*itr)->GetSpellProto()->SpellIconID == 1766)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (aurEff)
|
||||
{
|
||||
uint32 spellId = 0;
|
||||
switch (aurEff->GetId())
|
||||
{
|
||||
// Ebon Plague
|
||||
case 51161: spellId = 51735; break;
|
||||
case 51160: spellId = 51734; break;
|
||||
case 51099: spellId = 51726; break;
|
||||
// Crypt Fever
|
||||
case 49632: spellId = 50510; break;
|
||||
case 49631: spellId = 50509; break;
|
||||
case 49032: spellId = 50508; break;
|
||||
default:
|
||||
sLog.outError("Unknown rank of Crypt Fever/Ebon Plague %d", aurEff->GetId());
|
||||
}
|
||||
caster->CastSpell(m_target, spellId, true, 0, GetPartAura(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(GetId())
|
||||
|
||||
Reference in New Issue
Block a user