Jump to content

SKW

Members
  • Posts

    3
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

SKW's Achievements

Newbie

Newbie (1/3)

0

Reputation

  1. Patch for glyph of siphon life. Author: me (SKW) Tested on rev. 8145 @@ -5137,10 +5137,13 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu break; } // Siphon Life case 63108: { + // Glyph of Siphon Life + if (this->HasAura(56216)) + triggerAmount += triggerAmount / 4; basepoints0 = int32(damage * triggerAmount / 100); triggered_spell_id = 63106; break; } }
  2. Got info from warlocks playing on retail. FA should heal for const 2.6, 2.4 or 2.2% with talent and spell healing bonus don't affect the amount. Tested on rev. 8145 @@ -6020,20 +6020,34 @@ void Aura::PeriodicTick() // heal for caster damage (must be alive) if(m_target != pCaster && GetSpellProto()->SpellVisual[0] == 163 && !pCaster->isAlive()) return; // ignore non positive values (can be result apply spellmods to aura damage - uint32 amount = m_modifier.m_amount > 0 ? m_modifier.m_amount : 0; + float amount = m_modifier.m_amount > 0 ? m_modifier.m_amount : 0; uint32 pdamage; if(m_modifier.m_auraname==SPELL_AURA_OBS_MOD_HEALTH) + { + //Fel Armor: Demonic Aegis + switch (GetId()) + { + case 28176: + case 28189: + case 47892: + case 47893: + if (m_target->HasAura(30145)) amount += amount * 0.3f; + else if (m_target->HasAura(30144)) amount += amount * 0.2f; + else if (m_target->HasAura(30143)) amount += amount * 0.1f; + break; + default: + break; + } pdamage = uint32(m_target->GetMaxHealth() * amount / 100); + } else - pdamage = amount; - - pdamage = pCaster->SpellHealingBonus(m_target, GetSpellProto(), pdamage, DOT, GetStackAmount()); + pdamage = pCaster->SpellHealingBonus(m_target, GetSpellProto(), uint32(amount), DOT, GetStackAmount()); // This method can modify pdamage bool isCrit = IsCritFromAbilityAura(pCaster, pdamage); sLog.outDetail("PeriodicTick: %u (TypeId: %u) heal of %u (TypeId: %u) for %u health inflicted by %u", I know it's hacky but works The basic fix for aura: else - pdamage = amount; - - pdamage = pCaster->SpellHealingBonus(m_target, GetSpellProto(), pdamage, DOT, GetStackAmount()); + pdamage = pCaster->SpellHealingBonus(m_target, GetSpellProto(), amount, DOT, GetStackAmount()); // This method can modify pdamage bool isCrit = IsCritFromAbilityAura(pCaster, pdamage);
  3. I think this only prevent adding player's spellpower to spell (how other effects like mortal strike or wound poison?) but if you fix SPELL_AURA_OBS_MOD_HEALTH all spells using that aura will be working as they should (not only players use spells with that aura, some npc's i found also)
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use