*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`;
|
TRUNCATE TABLE `spell_dbc`;
|
||||||
INSERT INTO `spell_dbc` (`Id`, `DurationIndex`, `Effect1`, `EffectImplicitTargetA1`, `EffectApplyAuraName1`, `Comment`) VALUES
|
INSERT INTO `spell_dbc` (`Id`, `Dispel`, `Mechanic`, `AttributesEx3`, `DurationIndex`, `RangeIndex`, `Effect1`, `EffectImplicitTargetA1`, `EffectApplyAuraName1`, `EffectMiscValue1`, `SpellFamilyName`, `SchoolMask`, `Comment`) VALUES
|
||||||
(62388, 21, 6, 1, 4, 'Demonic Circle: Teleport(48020) - casterAuraSpell');
|
(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
|
-- 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,
|
`AreaGroupId` INT NOT NULL DEFAULT 0,
|
||||||
`SchoolMask` INT UNSIGNED NOT NULL DEFAULT 0,
|
`SchoolMask` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||||
`Comment` TEXT NOT NULL,
|
`Comment` TEXT NOT NULL,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`Id`)
|
||||||
)ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Custom spell.dbc entries';
|
)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)
|
else if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_ROGUE)
|
||||||
{
|
{
|
||||||
|
// Sprint (skip non player casted spells by category)
|
||||||
if(GetSpellProto()->SpellFamilyFlags[0] & 0x40 && GetSpellProto()->Category == 44)
|
if(GetSpellProto()->SpellFamilyFlags[0] & 0x40 && GetSpellProto()->Category == 44)
|
||||||
// in official maybe there is only one icon?
|
// in official maybe there is only one icon?
|
||||||
if(m_target->HasAura(58039)) // Glyph of Blurred Speed
|
if(m_target->HasAura(58039)) // Glyph of Blurred Speed
|
||||||
m_target->CastSpell(m_target, 61922, true); // Sprint (waterwalk)
|
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
|
else
|
||||||
{
|
{
|
||||||
switch(GetId())
|
switch(GetId())
|
||||||
|
|||||||
Reference in New Issue
Block a user