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);
}
}