MpVampiricAttack should absorb MP from the damage inflicted.

This commit is contained in:
MobiusDev 2018-09-12 01:39:20 +00:00
parent fcac8af48d
commit f7338373bb
10 changed files with 70 additions and 100 deletions

View File

@ -4376,18 +4376,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
}
}
// Absorb MP from the damage inflicted. Unconfirmed for skill attacks.
if (skill == null)
// Absorb MP from the damage inflicted.
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
{
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
}

View File

@ -4376,18 +4376,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
}
}
// Absorb MP from the damage inflicted. Unconfirmed for skill attacks.
if (skill == null)
// Absorb MP from the damage inflicted.
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
{
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
}

View File

@ -4376,18 +4376,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
}
}
// Absorb MP from the damage inflicted. Unconfirmed for skill attacks.
if (skill == null)
// Absorb MP from the damage inflicted.
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
{
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
}

View File

@ -4376,18 +4376,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
}
}
// Absorb MP from the damage inflicted. Unconfirmed for skill attacks.
if (skill == null)
// Absorb MP from the damage inflicted.
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
{
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
}

View File

@ -4376,18 +4376,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
}
}
// Absorb MP from the damage inflicted. Unconfirmed for skill attacks.
if (skill == null)
// Absorb MP from the damage inflicted.
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
{
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
}

View File

@ -4376,18 +4376,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
}
}
// Absorb MP from the damage inflicted. Unconfirmed for skill attacks.
if (skill == null)
// Absorb MP from the damage inflicted.
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
{
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
}

View File

@ -4366,18 +4366,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
}
}
// Absorb MP from the damage inflicted. Unconfirmed for skill attacks.
if (skill == null)
// Absorb MP from the damage inflicted.
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
{
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
}

View File

@ -4366,18 +4366,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
}
}
// Absorb MP from the damage inflicted. Unconfirmed for skill attacks.
if (skill == null)
// Absorb MP from the damage inflicted.
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
{
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
}

View File

@ -4366,18 +4366,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
}
}
// Absorb MP from the damage inflicted. Unconfirmed for skill attacks.
if (skill == null)
// Absorb MP from the damage inflicted.
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
{
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
}

View File

@ -4366,18 +4366,15 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
}
}
// Absorb MP from the damage inflicted. Unconfirmed for skill attacks.
if (skill == null)
// Absorb MP from the damage inflicted.
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
{
absorbPercent = _stat.getValue(Stats.ABSORB_MANA_DAMAGE_PERCENT, 0);
if (absorbPercent > 0)
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
int absorbDamage = (int) Math.min((absorbPercent / 100.) * damage, _stat.getMaxRecoverableMp() - _status.getCurrentMp());
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentMp());
if (absorbDamage > 0)
{
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
setCurrentMp(_status.getCurrentMp() + absorbDamage);
}
}