RealDamage should ignore invulnerability.
This commit is contained in:
parent
df97836522
commit
332776ac7e
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, 0, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, 0, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, 0, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, 0, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, 0, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, 0, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
|
||||||
|
@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
|||||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sdw
|
* @author Sdw, Mobius
|
||||||
*/
|
*/
|
||||||
public class RealDamage extends AbstractEffect
|
public class RealDamage extends AbstractEffect
|
||||||
{
|
{
|
||||||
@ -45,6 +45,12 @@ public class RealDamage extends AbstractEffect
|
|||||||
@Override
|
@Override
|
||||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||||
{
|
{
|
||||||
|
// Check if effected is dead.
|
||||||
|
if (effected.isDead())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if fake players should aggro each other.
|
// Check if fake players should aggro each other.
|
||||||
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
if (effector.isFakePlayer() && !Config.FAKE_PLAYER_AGGRO_FPC && effected.isFakePlayer())
|
||||||
{
|
{
|
||||||
@ -54,7 +60,17 @@ public class RealDamage extends AbstractEffect
|
|||||||
// Calculate resistance.
|
// Calculate resistance.
|
||||||
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
|
||||||
|
|
||||||
effected.reduceCurrentHp(damage, effector, skill, false, true, false, false);
|
// Do damage.
|
||||||
|
if (damage > 0)
|
||||||
|
{
|
||||||
|
effected.setCurrentHp(Math.max(effected.getCurrentHp() - damage, effected.isUndying() ? 1 : 0));
|
||||||
|
if ((effected.getCurrentHp() < 0.5)) // Die.
|
||||||
|
{
|
||||||
|
effected.doDie(effector);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send message.
|
||||||
if (effector.isPlayer())
|
if (effector.isPlayer())
|
||||||
{
|
{
|
||||||
effector.sendDamageMessage(effected, skill, (int) damage, 0, false, false);
|
effector.sendDamageMessage(effected, skill, (int) damage, 0, false, false);
|
||||||
|
Loading…
Reference in New Issue
Block a user