mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Scripts/Spells: Fixed Black Magic proc with some druid spells (#24002)
This commit is contained in:
7
sql/updates/world/3.3.5/2019_12_30_00_world.sql
Normal file
7
sql/updates/world/3.3.5/2019_12_30_00_world.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_gen_black_magic';
|
||||
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
|
||||
(59630,'spell_gen_black_magic');
|
||||
|
||||
DELETE FROM `spell_proc` WHERE `SpellId`=59630;
|
||||
INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`ProcFlags`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES
|
||||
(59630,0,0,0,0,0,69648,5,1,0,2,0,0,35000,0);
|
||||
@@ -504,6 +504,46 @@ class spell_gen_bandage : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
enum BlackMagicSpellIconId
|
||||
{
|
||||
SPELLICON_DRUID_INFECTED_WOUNDS = 2857
|
||||
};
|
||||
|
||||
// 59630 - Black Magic
|
||||
class spell_gen_black_magic : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_gen_black_magic);
|
||||
|
||||
bool CheckProc(ProcEventInfo& eventInfo)
|
||||
{
|
||||
SpellInfo const* spellInfo = eventInfo.GetSpellInfo();
|
||||
uint32 typeMask = eventInfo.GetTypeMask();
|
||||
if (!spellInfo)
|
||||
return false;
|
||||
|
||||
if (typeMask & PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_NEG)
|
||||
return true;
|
||||
else if (typeMask & PROC_FLAG_DONE_SPELL_MELEE_DMG_CLASS)
|
||||
{
|
||||
// Shred and Mangle (Cat)
|
||||
if (spellInfo->SpellFamilyName == SPELLFAMILY_DRUID && (spellInfo->SpellFamilyFlags[0] == 0x00008000 || spellInfo->SpellFamilyFlags[1] == 0x00000400))
|
||||
return true;
|
||||
}
|
||||
else if (typeMask & PROC_FLAG_DONE_SPELL_NONE_DMG_CLASS_NEG)
|
||||
{
|
||||
if (spellInfo->SpellFamilyName == SPELLFAMILY_DRUID && spellInfo->SpellIconID == SPELLICON_DRUID_INFECTED_WOUNDS)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoCheckProc += AuraCheckProcFn(spell_gen_black_magic::CheckProc);
|
||||
}
|
||||
};
|
||||
|
||||
// Blood Reserve - 64568
|
||||
enum BloodReserve
|
||||
{
|
||||
@@ -4367,6 +4407,7 @@ void AddSC_generic_spell_scripts()
|
||||
RegisterAuraScript(spell_gen_aura_service_uniform);
|
||||
RegisterAuraScript(spell_gen_av_drekthar_presence);
|
||||
RegisterSpellScript(spell_gen_bandage);
|
||||
RegisterAuraScript(spell_gen_black_magic);
|
||||
RegisterAuraScript(spell_gen_blood_reserve);
|
||||
RegisterAuraScript(spell_gen_blade_warding);
|
||||
RegisterSpellScript(spell_gen_bonked);
|
||||
|
||||
Reference in New Issue
Block a user