mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
Implemention for SE_Berserk, SE_Vampirism (These are not used on live)
Fix for NPC not receiving spell bonus derived HP regen.
This commit is contained in:
+9
-12
@@ -4337,22 +4337,19 @@ int16 Mob::GetSkillDmgAmt(uint16 skill)
|
||||
|
||||
void Mob::MeleeLifeTap(int32 damage) {
|
||||
|
||||
if(damage > 0 && (spellbonuses.MeleeLifetap || itembonuses.MeleeLifetap || aabonuses.MeleeLifetap ))
|
||||
{
|
||||
int lifetap_amt = spellbonuses.MeleeLifetap + itembonuses.MeleeLifetap + aabonuses.MeleeLifetap;
|
||||
|
||||
if(lifetap_amt > 100)
|
||||
lifetap_amt = 100;
|
||||
|
||||
else if (lifetap_amt < -99)
|
||||
lifetap_amt = -99;
|
||||
int16 lifetap_amt = 0;
|
||||
lifetap_amt = spellbonuses.MeleeLifetap + itembonuses.MeleeLifetap + aabonuses.MeleeLifetap
|
||||
+ spellbonuses.Vampirism + itembonuses.Vampirism + aabonuses.Vampirism;
|
||||
|
||||
if(lifetap_amt && damage > 0){
|
||||
|
||||
lifetap_amt = damage * lifetap_amt / 100;
|
||||
|
||||
mlog(COMBAT__DAMAGE, "Melee lifetap healing for %d damage.", damage);
|
||||
//heal self for damage done..
|
||||
HealDamage(lifetap_amt);
|
||||
|
||||
if (lifetap_amt > 0)
|
||||
HealDamage(lifetap_amt); //Heal self for modified damage amount.
|
||||
else
|
||||
Damage(this, -lifetap_amt,0, SkillEvocation,false); //Dmg self for modified damage amount.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user