Kayen: Implemented additional functionality for SE_CurrentHP utilizing base2 values. (ie limit to body type)

Kayen: Implemented SE_MitigateMeleeDamageSP (Partial Melee Rune that only is lowered if melee hits are over X amount of damage)
Kayen: Implemented SE_SpellOnAmtDmgTaken (Effect is triggered when X amount of damage is taken)
Kayen: Fix for various spell triggers/procs to now properly use their resist modifier.
Kayen: Fix to mob->ModSkillDmgTaken(skill_num, value), setting value to -1 will now properly effect all skills.
This commit is contained in:
KayenEQ
2013-12-13 21:29:35 -05:00
parent cd2825288d
commit f6d5e8031f
10 changed files with 283 additions and 14 deletions
+28 -1
View File
@@ -2150,6 +2150,17 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses* ne
break;
}
case SE_MitigateMeleeDamageSP:
{
if (newbon->MitigateMeleeRuneSP[0] < effect_value){
newbon->MitigateMeleeRuneSP[0] = effect_value;
newbon->MitigateMeleeRuneSP[1] = buffslot;
newbon->MitigateMeleeRuneSP[2] = spells[spell_id].base2[i];
}
break;
}
case SE_MitigateSpellDamage:
{
if (newbon->MitigateSpellRune[0] < effect_value){
@@ -2158,7 +2169,7 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses* ne
}
break;
}
case SE_ManaAbsorbPercentDamage:
{
if (newbon->ManaAbsorbPercentDamage[0] < effect_value){
@@ -2168,6 +2179,16 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses* ne
break;
}
case SE_SpellOnAmtDmgTaken:
{
if (newbon->SpellOnAmtDmgTaken[2] < spells[spell_id].base2[i]){
newbon->SpellOnAmtDmgTaken[0] = effect_value;
newbon->SpellOnAmtDmgTaken[1] = buffslot;
newbon->SpellOnAmtDmgTaken[2] = spells[spell_id].base2[i];
}
break;
}
case SE_ShieldBlock:
newbon->ShieldBlock += effect_value;
break;
@@ -3386,6 +3407,12 @@ void Mob::NegateSpellsBonuses(uint16 spell_id)
spellbonuses.MitigateMeleeRune[1] = -1;
break;
case SE_MitigateMeleeDamageSP:
spellbonuses.MitigateMeleeRuneSP[0] = effect_value;
spellbonuses.MitigateMeleeRuneSP[1] = -1;
spellbonuses.MitigateMeleeRuneSP[1] = effect_value;
break;
case SE_MitigateSpellDamage:
spellbonuses.MitigateSpellRune[0] = effect_value;
spellbonuses.MitigateSpellRune[1] = -1;