Addition of RearDamage effect.

This commit is contained in:
MobiusDev 2017-12-09 18:49:57 +00:00
parent 683ae0ef52
commit 9069b49156
25 changed files with 195 additions and 10 deletions

View File

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

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 com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.stats.Stats;
/**
* @author Mobius
*/
public class RearDamage extends AbstractStatEffect
{
public RearDamage(StatsSet params)
{
super(params, Stats.REAR_DAMAGE_RATE);
}
}

View File

@ -227,6 +227,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.
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.
RecoverVitalityInPeaceZone: Recover periodically vitality when player is in a peace zone. (l2jmobius)

View File

@ -4396,8 +4396,11 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
if (!reflect && !isDOT)
{
// TODO: Implement AttackDamagePosition effect
// damage *= getStat().getPositionTypeValue(Stats.ATTACK_DAMAGE, Position.getPosition(this, target));
// RearDamage effect bonus.
if (isBehind(target))
{
damage *= getStat().getValue(Stats.REAR_DAMAGE_RATE, 1);
}
// Counterattacks happen before damage received.
if (!target.isDead() && (skill != null))

View File

@ -83,6 +83,7 @@ public enum Stats
CRITICAL_DAMAGE("cAtk"),
CRITICAL_DAMAGE_ADD("cAtkAdd"), // this is another type for special critical damage mods - vicious stance, critical power and critical damage SA
HATE_ATTACK("attackHate"),
REAR_DAMAGE_RATE("rearDamage"),
// PVP BONUS
PVP_PHYSICAL_ATTACK_DAMAGE("pvpPhysDmg"),

View File

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

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 com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.stats.Stats;
/**
* @author Mobius
*/
public class RearDamage extends AbstractStatEffect
{
public RearDamage(StatsSet params)
{
super(params, Stats.REAR_DAMAGE_RATE);
}
}

View File

@ -227,6 +227,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.
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.
RecoverVitalityInPeaceZone: Recover periodically vitality when player is in a peace zone. (l2jmobius)

View File

@ -4396,8 +4396,11 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
if (!reflect && !isDOT)
{
// TODO: Implement AttackDamagePosition effect
// damage *= getStat().getPositionTypeValue(Stats.ATTACK_DAMAGE, Position.getPosition(this, target));
// RearDamage effect bonus.
if (isBehind(target))
{
damage *= getStat().getValue(Stats.REAR_DAMAGE_RATE, 1);
}
// Counterattacks happen before damage received.
if (!target.isDead() && (skill != null))

View File

@ -83,6 +83,7 @@ public enum Stats
CRITICAL_DAMAGE("cAtk"),
CRITICAL_DAMAGE_ADD("cAtkAdd"), // this is another type for special critical damage mods - vicious stance, critical power and critical damage SA
HATE_ATTACK("attackHate"),
REAR_DAMAGE_RATE("rearDamage"),
// PVP BONUS
PVP_PHYSICAL_ATTACK_DAMAGE("pvpPhysDmg"),

View File

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

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 com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.stats.Stats;
/**
* @author Mobius
*/
public class RearDamage extends AbstractStatEffect
{
public RearDamage(StatsSet params)
{
super(params, Stats.REAR_DAMAGE_RATE);
}
}

View File

@ -227,6 +227,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.
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.
RecoverVitalityInPeaceZone: Recover periodically vitality when player is in a peace zone. (l2jmobius)

View File

@ -4396,8 +4396,11 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
if (!reflect && !isDOT)
{
// TODO: Implement AttackDamagePosition effect
// damage *= getStat().getPositionTypeValue(Stats.ATTACK_DAMAGE, Position.getPosition(this, target));
// RearDamage effect bonus.
if (isBehind(target))
{
damage *= getStat().getValue(Stats.REAR_DAMAGE_RATE, 1);
}
// Counterattacks happen before damage received.
if (!target.isDead() && (skill != null))

View File

@ -83,6 +83,7 @@ public enum Stats
CRITICAL_DAMAGE("cAtk"),
CRITICAL_DAMAGE_ADD("cAtkAdd"), // this is another type for special critical damage mods - vicious stance, critical power and critical damage SA
HATE_ATTACK("attackHate"),
REAR_DAMAGE_RATE("rearDamage"),
// PVP BONUS
PVP_PHYSICAL_ATTACK_DAMAGE("pvpPhysDmg"),

View File

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

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 com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.stats.Stats;
/**
* @author Mobius
*/
public class RearDamage extends AbstractStatEffect
{
public RearDamage(StatsSet params)
{
super(params, Stats.REAR_DAMAGE_RATE);
}
}

View File

@ -231,6 +231,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.
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.
RecoverVitalityInPeaceZone: Recover periodically vitality when player is in a peace zone. (l2jmobius)

View File

@ -4396,8 +4396,11 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
if (!reflect && !isDOT)
{
// TODO: Implement AttackDamagePosition effect
// damage *= getStat().getPositionTypeValue(Stats.ATTACK_DAMAGE, Position.getPosition(this, target));
// RearDamage effect bonus.
if (isBehind(target))
{
damage *= getStat().getValue(Stats.REAR_DAMAGE_RATE, 1);
}
// Counterattacks happen before damage received.
if (!target.isDead() && (skill != null))

View File

@ -83,6 +83,7 @@ public enum Stats
CRITICAL_DAMAGE("cAtk"),
CRITICAL_DAMAGE_ADD("cAtkAdd"), // this is another type for special critical damage mods - vicious stance, critical power and critical damage SA
HATE_ATTACK("attackHate"),
REAR_DAMAGE_RATE("rearDamage"),
// PVP BONUS
PVP_PHYSICAL_ATTACK_DAMAGE("pvpPhysDmg"),

View File

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

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 com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.stats.Stats;
/**
* @author Mobius
*/
public class RearDamage extends AbstractStatEffect
{
public RearDamage(StatsSet params)
{
super(params, Stats.REAR_DAMAGE_RATE);
}
}

View File

@ -226,6 +226,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.
RearDamage: Multiplier for damage done from behind the target. (l2jmobius)
RebalanceHP: Balances targets' current HP.
RebalanceHPSummon: Balances targets' current HP for summons.
RecoverVitalityInPeaceZone: Recover periodically vitality when player is in a peace zone. (l2jmobius)

View File

@ -4396,8 +4396,11 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
if (!reflect && !isDOT)
{
// TODO: Implement AttackDamagePosition effect
// damage *= getStat().getPositionTypeValue(Stats.ATTACK_DAMAGE, Position.getPosition(this, target));
// RearDamage effect bonus.
if (isBehind(target))
{
damage *= getStat().getValue(Stats.REAR_DAMAGE_RATE, 1);
}
// Counterattacks happen before damage received.
if (!target.isDead() && (skill != null))

View File

@ -83,6 +83,7 @@ public enum Stats
CRITICAL_DAMAGE("cAtk"),
CRITICAL_DAMAGE_ADD("cAtkAdd"), // this is another type for special critical damage mods - vicious stance, critical power and critical damage SA
HATE_ATTACK("attackHate"),
REAR_DAMAGE_RATE("rearDamage"),
// PVP BONUS
PVP_PHYSICAL_ATTACK_DAMAGE("pvpPhysDmg"),