From 96823383431d4bf8bc1a0ffd050e756bdb1ead84 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sat, 25 Apr 2020 11:14:05 +0000 Subject: [PATCH] Addition of raidboss bonus damage effects. --- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- .../scripts/handlers/EffectMasterHandler.java | 3 ++ .../PveRaidMagicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalAttackDamageBonus.java | 31 +++++++++++++++++++ .../PveRaidPhysicalSkillDamageBonus.java | 31 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 3 ++ .../gameserver/model/stats/Formulas.java | 6 +++- .../gameserver/model/stats/Stat.java | 9 ++++-- 105 files changed, 1650 insertions(+), 60 deletions(-) create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java create mode 100644 L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java create mode 100644 L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java 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 cb40b79c83..95379d7392 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 @@ -257,8 +257,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} 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 b8752445a9..21b2e6a6cc 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,8 +227,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 2b3c7f4b23..7be0f4f7cf 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1605,6 +1605,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1628,6 +1629,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1635,6 +1637,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1643,10 +1646,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Stat.java index a51f07267c..eda3d6d9fa 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -98,13 +98,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS 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 cb40b79c83..95379d7392 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 @@ -257,8 +257,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} 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 b8752445a9..21b2e6a6cc 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,8 +227,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 2b3c7f4b23..7be0f4f7cf 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1605,6 +1605,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1628,6 +1629,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1635,6 +1637,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1643,10 +1646,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/stats/Stat.java index a51f07267c..eda3d6d9fa 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -98,13 +98,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS 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 cb40b79c83..95379d7392 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 @@ -257,8 +257,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} 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 b8752445a9..21b2e6a6cc 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,8 +227,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 2b3c7f4b23..7be0f4f7cf 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1605,6 +1605,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1628,6 +1629,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1635,6 +1637,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1643,10 +1646,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/stats/Stat.java index a51f07267c..eda3d6d9fa 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -98,13 +98,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS 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 205771fd55..36ac379828 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 @@ -261,8 +261,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} 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 058b955df5..7eac581455 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,8 +231,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 2b3c7f4b23..7be0f4f7cf 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1605,6 +1605,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1628,6 +1629,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1635,6 +1637,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1643,10 +1646,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Stat.java index 02a44d3100..3176f87706 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -98,13 +98,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/EffectMasterHandler.java index 4edb1739e1..50db56c903 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -264,8 +264,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/documentation.txt index decd7411ea..62d4c88d06 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/documentation.txt @@ -234,8 +234,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 2b3c7f4b23..7be0f4f7cf 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1605,6 +1605,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1628,6 +1629,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1635,6 +1637,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1643,10 +1646,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Stat.java index 22d77fdc41..28888b5a57 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -98,13 +98,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/EffectMasterHandler.java index b8ac2001ef..4b969512dd 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -265,8 +265,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/documentation.txt index 8c8bbb4f56..1565e66d62 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/documentation.txt @@ -235,8 +235,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 2b3c7f4b23..7be0f4f7cf 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1605,6 +1605,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1628,6 +1629,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1635,6 +1637,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1643,10 +1646,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Stat.java index 95aba68b28..48ad960e2c 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -98,13 +98,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/EffectMasterHandler.java index b8ac2001ef..4b969512dd 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -265,8 +265,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/documentation.txt index 8c8bbb4f56..1565e66d62 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/documentation.txt @@ -235,8 +235,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 2b3c7f4b23..7be0f4f7cf 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1605,6 +1605,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1628,6 +1629,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1635,6 +1637,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1643,10 +1646,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Stat.java index 95aba68b28..48ad960e2c 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -98,13 +98,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/EffectMasterHandler.java index 66f097a822..bc0f57d0b9 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -265,8 +265,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/documentation.txt index b4d0507744..5658fb5fdf 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/documentation.txt @@ -235,8 +235,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 62a2310ef5..d4380e6103 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1605,6 +1605,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1628,6 +1629,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1635,6 +1637,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1643,10 +1646,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Stat.java index 95aba68b28..48ad960e2c 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -98,13 +98,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS 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 f89c58a6f7..92b16cea25 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 @@ -255,8 +255,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} 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 cdbbb49f2e..66394f903e 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 @@ -225,8 +225,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 62a2310ef5..d4380e6103 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1605,6 +1605,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1628,6 +1629,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1635,6 +1637,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1643,10 +1646,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Stat.java index daf62c2b84..93c8ed9580 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -98,13 +98,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/EffectMasterHandler.java index f89c58a6f7..92b16cea25 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -255,8 +255,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/documentation.txt index cdbbb49f2e..66394f903e 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/documentation.txt @@ -225,8 +225,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 62a2310ef5..d4380e6103 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1605,6 +1605,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1628,6 +1629,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1635,6 +1637,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1643,10 +1646,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Stat.java index daf62c2b84..93c8ed9580 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -98,13 +98,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/EffectMasterHandler.java index dcf77bc7f2..9c41f0c26e 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -256,8 +256,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/documentation.txt index 3ff5033c4f..2bbf5ed5e2 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/documentation.txt @@ -226,8 +226,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 62a2310ef5..d4380e6103 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1605,6 +1605,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1628,6 +1629,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1635,6 +1637,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1643,10 +1646,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Stat.java index daa69e0fe9..ab1bb20905 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -98,13 +98,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/EffectMasterHandler.java index b3ed69a5ec..c5905b82ac 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -259,8 +259,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/documentation.txt index aaab09285a..152be0a948 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/documentation.txt @@ -229,8 +229,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 20c4514d52..683d746592 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1606,6 +1606,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1629,6 +1630,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1636,6 +1638,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1644,10 +1647,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Stat.java index 774a34ece6..0190ec56cd 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -111,13 +111,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/EffectMasterHandler.java index b3ed69a5ec..c5905b82ac 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -259,8 +259,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/stats/skills/documentation.txt index aaab09285a..152be0a948 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/stats/skills/documentation.txt @@ -229,8 +229,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 20c4514d52..683d746592 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1606,6 +1606,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1629,6 +1630,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1636,6 +1638,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1644,10 +1647,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Stat.java index 774a34ece6..0190ec56cd 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -111,13 +111,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/EffectMasterHandler.java index 0d4f84bf92..bdc3af614b 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -261,8 +261,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/skills/documentation.txt index 31e9c7400a..315a7bfb32 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/skills/documentation.txt @@ -231,8 +231,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 20c4514d52..683d746592 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1606,6 +1606,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1629,6 +1630,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1636,6 +1638,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1644,10 +1647,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Stat.java index 5cad1bcc33..f2dd7a8437 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -112,13 +112,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/EffectMasterHandler.java index cb40b79c83..95379d7392 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -257,8 +257,11 @@ public class EffectMasterHandler EffectHandler.getInstance().registerHandler("PvePhysicalAttackDefenceBonus", PvePhysicalAttackDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDamageBonus", PvePhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvePhysicalSkillDefenceBonus", PvePhysicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDamageBonus", PveRaidMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidMagicalSkillDefenceBonus", PveRaidMagicalSkillDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDamageBonus", PveRaidPhysicalAttackDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalAttackDefenceBonus", PveRaidPhysicalAttackDefenceBonus::new); + EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDamageBonus", PveRaidPhysicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PveRaidPhysicalSkillDefenceBonus", PveRaidPhysicalSkillDefenceBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDamageBonus", PvpMagicalSkillDamageBonus::new); EffectHandler.getInstance().registerHandler("PvpMagicalSkillDefenceBonus", PvpMagicalSkillDefenceBonus::new); diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.java new file mode 100644 index 0000000000..9589bd794e --- /dev/null +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/PveRaidMagicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidMagicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidMagicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.java new file mode 100644 index 0000000000..1989af2cc9 --- /dev/null +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalAttackDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalAttackDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalAttackDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.java new file mode 100644 index 0000000000..f2f964d1e5 --- /dev/null +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/PveRaidPhysicalSkillDamageBonus.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 org.l2jmobius.gameserver.model.StatSet; +import org.l2jmobius.gameserver.model.stats.Stat; + +/** + * @author Mobius + */ +public class PveRaidPhysicalSkillDamageBonus extends AbstractStatPercentEffect +{ + public PveRaidPhysicalSkillDamageBonus(StatSet params) + { + super(params, Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE); + } +} diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/documentation.txt index f4d2f6f374..d845d328a6 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/documentation.txt @@ -227,8 +227,11 @@ PvePhysicalAttackDamageBonus: Autoattack damage stat against NPCs. PvePhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from NPCs. PvePhysicalSkillDamageBonus: Physical skill damage stat against NPCs. PvePhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from NPCs. +PveRaidMagicalSkillDamageBonus: Magical skill damage stat against Raidbosses. (l2jmobius) PveRaidMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalAttackDamageBonus: Autoattack damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalAttackDefenceBonus: Autoattack defence stat when taking damage from Raidboss NPCs. +PveRaidPhysicalSkillDamageBonus: Physical skill damage stat against Raidbosses. (l2jmobius) PveRaidPhysicalSkillDefenceBonus: Physical skill defence stat when taking damage from Raidboss NPCs. PvpMagicalSkillDamageBonus: Magical skill damage stat against Players and Summons. PvpMagicalSkillDefenceBonus: Magical skill defence stat when taking damage from Players and Summons. diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 62a2310ef5..d4380e6103 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -1605,6 +1605,7 @@ public class Formulas { final double pveAttack; final double pveDefense; + final double pveRaidAttack; final double pveRaidDefense; double pvePenalty = 1; @@ -1628,6 +1629,7 @@ public class Formulas // Magical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_MAGICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_MAGICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_MAGICAL_SKILL_DEFENCE, 1) : 1; } else @@ -1635,6 +1637,7 @@ public class Formulas // Physical Skill PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_SKILL_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_SKILL_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_SKILL_DEFENCE, 1) : 1; } } @@ -1643,10 +1646,11 @@ public class Formulas // Autoattack PvE pveAttack = attacker.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DAMAGE, 1) * (attackerPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DAMAGE_MULTIPLIERS.getOrDefault(attackerPlayer.getClassId(), 1f)); pveDefense = target.getStat().getValue(Stat.PVE_PHYSICAL_ATTACK_DEFENCE, 1) * (targetPlayer == null ? 1 : Config.PVE_PHYSICAL_ATTACK_DEFENCE_MULTIPLIERS.getOrDefault(targetPlayer.getClassId(), 1f)); + pveRaidAttack = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DAMAGE, 1) : 1; pveRaidDefense = attacker.isRaid() ? attacker.getStat().getValue(Stat.PVE_RAID_PHYSICAL_ATTACK_DEFENCE, 1) : 1; } - return Math.max(0.05, (1 + (pveAttack - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. + return Math.max(0.05, (1 + ((pveAttack * pveRaidAttack) - (pveDefense * pveRaidDefense))) * pvePenalty); // Bonus should not be negative. } return 1; diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Stat.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Stat.java index a51f07267c..eda3d6d9fa 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Stat.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/stats/Stat.java @@ -98,13 +98,16 @@ public enum Stat // PVE BONUS PVE_PHYSICAL_ATTACK_DAMAGE("pvePhysDmg"), - PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillsDmg"), + PVE_PHYSICAL_SKILL_DAMAGE("pvePhysSkillDmg"), PVE_MAGICAL_SKILL_DAMAGE("pveMagicalDmg"), PVE_PHYSICAL_ATTACK_DEFENCE("pvePhysDef"), - PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillsDef"), + PVE_PHYSICAL_SKILL_DEFENCE("pvePhysSkillDef"), PVE_MAGICAL_SKILL_DEFENCE("pveMagicalDef"), + PVE_RAID_PHYSICAL_ATTACK_DAMAGE("pveRaidPhysDmg"), + PVE_RAID_PHYSICAL_SKILL_DAMAGE("pveRaidPhysSkillDmg"), + PVE_RAID_MAGICAL_SKILL_DAMAGE("pveRaidMagicalDmg"), PVE_RAID_PHYSICAL_ATTACK_DEFENCE("pveRaidPhysDef"), - PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillsDef"), + PVE_RAID_PHYSICAL_SKILL_DEFENCE("pveRaidPhysSkillDef"), PVE_RAID_MAGICAL_SKILL_DEFENCE("pveRaidMagicalDef"), // FIXED BONUS