diff --git a/sql/mangos_spell_check.sql b/sql/mangos_spell_check.sql index 888ae25ba..22d3f047c 100644 --- a/sql/mangos_spell_check.sql +++ b/sql/mangos_spell_check.sql @@ -392,6 +392,11 @@ INSERT INTO spell_check (spellid,SpellFamilyName,SpellFamilyMaskA,SpellFamilyMas (53343, 0, -1, -1, -1, -1, -1, 3, -1,-1,'Rune of Razorice', 'Spell::EffectDummy'), (53478, 9, -1, -1, -1, -1, -1, 3, -1,-1,'Last Stand', 'Spell::EffectDummy'), (53479,-1, -1, -1, -1, -1, -1, -1, 34, 0,'Last Stand', 'Spell::EffectDummy'), +(54049, 5,0x0040000000000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadow Bite', 'Spell::EffectSchoolDMG'), +(54050, 5,0x0040000000000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadow Bite', 'Spell::EffectSchoolDMG'), +(54051, 5,0x0040000000000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadow Bite', 'Spell::EffectSchoolDMG'), +(54052, 5,0x0040000000000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadow Bite', 'Spell::EffectSchoolDMG'), +(54053, 5,0x0040000000000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadow Bite', 'Spell::EffectSchoolDMG'), (54216,-1, -1, -1, -1, -1, -1, -1, -1,-1,'Master''s Call', 'Spell::EffectDummy'), (54586,-1, -1, -1, -1, -1, -1, -1, -1,-1,'Runeforging Credit', 'Spell::EffectDummy'), (54824,-1, -1, -1, -1, -1, -1, -1, 4,-1,'Glyph of Swiftmend', 'Spell::EffectHeal'), @@ -524,6 +529,11 @@ INSERT INTO spell_check (spellid,SpellFamilyName,SpellFamilyMaskA,SpellFamilyMas ( 0,11, -1, -1, 338, -1, -1, -1, 4, 1,'Restorative Totems', 'Spell::EffectSchoolDMG'), /*part 1*/ ( 0, 4,0x0000000000000400,0x00000000, -1, -1, -1, 2, -1,-1,'Revenge', 'Spell::EffectSchoolDMG'), ( 0,11,0x0000000000400000,0x00000000, -1, -1, -1, 54, -1,-1,'Rockbiter Weapon', 'Spell::EffectEnchantItemTmp'), +( 0, 5,0x0040000000000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadow Bite', 'Spell::EffectSchoolDMG'), +( 0, 5,0x0040000000000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadow Bite', 'Spell::EffectSchoolDMG'), +( 0, 5,0x0040000000000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadow Bite', 'Spell::EffectSchoolDMG'), +( 0, 5,0x0040000000000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadow Bite', 'Spell::EffectSchoolDMG'), +( 0, 5,0x0040000000000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadow Bite', 'Spell::EffectSchoolDMG'), ( 0, 6,0x0000000200000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadow Word: Death', 'Spell::EffectSchoolDMG'), ( 0, 5,0x0000000000000000,0x00000002, -1, -1, -1, -1, 3,-1,'Shadowflame', 'Spell::EffectSchoolDMG'), /* dot */ ( 0, 5,0x0001000000000000,0x00000000, -1, -1, -1, 2, -1,-1,'Shadowflame', 'Spell::EffectSchoolDMG'), /* explcit damage */ diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index cac095fbf..6949192c8 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -464,6 +464,22 @@ void Spell::EffectSchoolDMG(SpellEffectIndex effect_idx) break; } } + // Shadow Bite + else if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0040000000000000)) + { + Unit *owner = m_caster->GetOwner(); + if (!owner) + break; + + uint32 counter = 0; + Unit::AuraList const& dotAuras = unitTarget->GetAurasByType(SPELL_AURA_PERIODIC_DAMAGE); + for(Unit::AuraList::const_iterator itr = dotAuras.begin(); itr!=dotAuras.end(); ++itr) + if ((*itr)->GetCasterGUID() == owner->GetGUID()) + ++counter; + + if (counter) + damage += (counter * owner->CalculateSpellDamage(unitTarget, m_spellInfo, EFFECT_INDEX_2) * damage) / 100.0f; + } // Conflagrate - consumes Immolate or Shadowflame else if (m_spellInfo->TargetAuraState == AURA_STATE_CONFLAGRATE) { diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 3c1970f7c..15ffcf97e 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9740" + #define REVISION_NR "9741" #endif // __REVISION_NR_H__ diff --git a/win/mangosd100413.vsp b/win/mangosd100413.vsp new file mode 100644 index 000000000..cc833a39a Binary files /dev/null and b/win/mangosd100413.vsp differ