Real Damage Resist effect implementation.

This commit is contained in:
MobiusDevelopment 2020-03-12 09:27:56 +00:00
parent 904c6be328
commit 841e36e06b
75 changed files with 600 additions and 30 deletions

View File

@ -268,6 +268,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -238,6 +238,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -197,6 +197,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -268,6 +268,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -238,6 +238,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -197,6 +197,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -268,6 +268,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -238,6 +238,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -197,6 +197,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -272,6 +272,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -242,6 +242,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -197,6 +197,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -275,6 +275,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -245,6 +245,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -199,6 +199,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -276,6 +276,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -246,6 +246,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -199,6 +199,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -276,6 +276,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -246,6 +246,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -199,6 +199,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -276,6 +276,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -246,6 +246,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -199,6 +199,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -266,6 +266,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -236,6 +236,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -195,6 +195,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -266,6 +266,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -236,6 +236,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -195,6 +195,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -267,6 +267,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -237,6 +237,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -197,6 +197,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -270,6 +270,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, 0, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, 0, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -240,6 +240,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -210,6 +210,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -270,6 +270,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, 0, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, 0, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -240,6 +240,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -210,6 +210,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -272,6 +272,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, 0, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, 0, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -242,6 +242,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -212,6 +212,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),

View File

@ -268,6 +268,7 @@ public class EffectMasterHandler
EffectHandler.getInstance().registerHandler("PvpPhysicalSkillDefenceBonus", PvpPhysicalSkillDefenceBonus::new);
EffectHandler.getInstance().registerHandler("RandomizeHate", RandomizeHate::new);
EffectHandler.getInstance().registerHandler("RealDamage", RealDamage::new);
EffectHandler.getInstance().registerHandler("RealDamageResist", RealDamageResist::new);
EffectHandler.getInstance().registerHandler("RearDamage", RearDamage::new);
EffectHandler.getInstance().registerHandler("RebalanceHP", RebalanceHP::new);
EffectHandler.getInstance().registerHandler("RebalanceHPSummon", RebalanceHPSummon::new);

View File

@ -22,6 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Sdw
@ -50,10 +51,13 @@ public class RealDamage extends AbstractEffect
return;
}
effected.reduceCurrentHp(_power, effector, skill, false, false, false, false);
// Calculate resistance.
final double damage = _power - (_power * (Math.min(effected.getStat().getValue(Stat.REAL_DAMAGE_RESIST, 1), 1.8) - 1));
effected.reduceCurrentHp(damage, effector, skill, false, false, false, false);
if (effector.isPlayer())
{
effector.sendDamageMessage(effected, skill, (int) _power, false, false);
effector.sendDamageMessage(effected, skill, (int) damage, false, false);
}
}
}

View File

@ -0,0 +1,31 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.effecthandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.stats.Stat;
/**
* @author Mobius
*/
public class RealDamageResist extends AbstractStatPercentEffect
{
public RealDamageResist(StatSet params)
{
super(params, Stat.REAL_DAMAGE_RESIST);
}
}

View File

@ -238,6 +238,7 @@ PvpPhysicalSkillDamageBonus: Physical skill damage stat against Players and Summ
PvpPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Players and Summons.
RandomizeHate: Target NPC stops hating you and starts hating random target with your hate.
RealDamage: Static damage.
RealDamageResist: Resist modifier for RealDamage effect. (l2jmobius)
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.

View File

@ -197,6 +197,7 @@ public enum Stat
// BUFF_IMMUNITY("buffImmunity"), // TODO: Implement me
ABNORMAL_RESIST_PHYSICAL("abnormalResPhysical"),
ABNORMAL_RESIST_MAGICAL("abnormalResMagical"),
REAL_DAMAGE_RESIST("realDamageResist"),
// ELEMENT POWER
FIRE_POWER("firePower", new AttributeFinalizer(AttributeType.FIRE, true)),