VampiricDefence formula adjustments.
Contributed by nasseka.
This commit is contained in:
parent
fdb7fdbe3b
commit
394d9d9a4e
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4664,11 +4664,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4663,11 +4663,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4663,11 +4663,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4663,11 +4663,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4662,11 +4662,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4662,11 +4662,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4654,11 +4654,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4654,11 +4654,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4654,11 +4654,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4654,11 +4654,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4654,11 +4654,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4667,11 +4667,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4667,11 +4667,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4666,11 +4666,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4654,11 +4654,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4679,11 +4679,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4686,11 +4686,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4685,11 +4685,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
@ -17,26 +17,15 @@
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author NasSeKa
|
||||
*/
|
||||
public class VampiricDefence extends AbstractEffect
|
||||
public class VampiricDefence extends AbstractStatPercentEffect
|
||||
{
|
||||
private final int _amount;
|
||||
|
||||
public VampiricDefence(StatSet params)
|
||||
{
|
||||
_amount = params.getInt("amount", 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.ABSORB_DAMAGE_DEFENCE, 1 - (_amount / 100));
|
||||
super(params, Stat.ABSORB_DAMAGE_DEFENCE);
|
||||
}
|
||||
}
|
||||
|
@ -4695,11 +4695,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
|
||||
{
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0);
|
||||
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
|
||||
{
|
||||
int absorbDamage = (int) Math.min(absorbHpPercent * damage, _stat.getMaxRecoverableHp() - _status.getCurrentHp());
|
||||
absorbDamage = Math.min(absorbDamage, (int) target.getCurrentHp());
|
||||
absorbDamage *= target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
|
||||
if (absorbDamage > 0)
|
||||
{
|
||||
setCurrentHp(_status.getCurrentHp() + absorbDamage);
|
||||
|
Loading…
Reference in New Issue
Block a user