diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java index 2285d2836c..193f3d40b7 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -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); diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java new file mode 100644 index 0000000000..a2b1fa1f0f --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt index fdf52a8404..e0df7f5356 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt @@ -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) diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java index e030558301..165ef19cea 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -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)) diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/stats/Stats.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/stats/Stats.java index 2efa5493aa..3b6873ddee 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/stats/Stats.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/stats/Stats.java @@ -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"), diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java index 2285d2836c..193f3d40b7 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -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); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java new file mode 100644 index 0000000000..a2b1fa1f0f --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt index fdf52a8404..e0df7f5356 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt @@ -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) diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java index e030558301..165ef19cea 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -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)) diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/stats/Stats.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/stats/Stats.java index 2efa5493aa..3b6873ddee 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/stats/Stats.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/stats/Stats.java @@ -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"), diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java index 2285d2836c..193f3d40b7 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -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); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java new file mode 100644 index 0000000000..a2b1fa1f0f --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt index fdf52a8404..e0df7f5356 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt @@ -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) diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java index e030558301..165ef19cea 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -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)) diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/stats/Stats.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/stats/Stats.java index 2efa5493aa..3b6873ddee 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/stats/Stats.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/stats/Stats.java @@ -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"), diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/EffectMasterHandler.java index 35e15369d7..25ab519396 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -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); diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java new file mode 100644 index 0000000000..a2b1fa1f0f --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/documentation.txt index e45ff590d7..e76afe0fd1 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/documentation.txt @@ -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) diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java index e030558301..165ef19cea 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -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)) diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/stats/Stats.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/stats/Stats.java index a3ee75350d..67bee8767d 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/stats/Stats.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/stats/Stats.java @@ -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"), diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java index 233d2c48d0..e37ecc44dc 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -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); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java new file mode 100644 index 0000000000..a2b1fa1f0f --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/RearDamage.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt index 133fad41c9..5fa0661376 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt @@ -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) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java index e030558301..165ef19cea 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -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)) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/stats/Stats.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/stats/Stats.java index 2efa5493aa..3b6873ddee 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/stats/Stats.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/stats/Stats.java @@ -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"),