From 8a07c185aba450c8fe1849b10ca1cf5962cdc001 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Fri, 7 Oct 2022 14:56:57 +0000 Subject: [PATCH] ShotsBonusFinalizer base value based on weapon grade and enchant level. Contributed by kamikadzz. --- .../stats/finalizers/ShotsBonusFinalizer.java | 21 ++++++++++++++++++- .../stats/finalizers/ShotsBonusFinalizer.java | 21 ++++++++++++++++++- .../stats/finalizers/ShotsBonusFinalizer.java | 21 ++++++++++++++++++- 3 files changed, 60 insertions(+), 3 deletions(-) diff --git a/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java b/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java index 7c51b0ad38..a4f4855cca 100644 --- a/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java +++ b/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java @@ -41,7 +41,26 @@ public class ShotsBonusFinalizer implements IStatFunction final Item weapon = player.getActiveWeaponInstance(); if ((weapon != null) && weapon.isEnchanted()) { - baseValue += (weapon.getEnchantLevel() * 0.3) / 100; + switch (weapon.getWeaponItem().getItemGrade()) + { + case D: + case C: + case B: + { + baseValue += (weapon.getEnchantLevel() * 0.4) / 100; + break; + } + case A: + { + baseValue += (weapon.getEnchantLevel() * 0.5) / 100; + break; + } + case S: + { + baseValue += (weapon.getEnchantLevel() * 0.7) / 100; + break; + } + } } if (player.getActiveRubyJewel() != null) { diff --git a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java index 7c51b0ad38..a4f4855cca 100644 --- a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java +++ b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java @@ -41,7 +41,26 @@ public class ShotsBonusFinalizer implements IStatFunction final Item weapon = player.getActiveWeaponInstance(); if ((weapon != null) && weapon.isEnchanted()) { - baseValue += (weapon.getEnchantLevel() * 0.3) / 100; + switch (weapon.getWeaponItem().getItemGrade()) + { + case D: + case C: + case B: + { + baseValue += (weapon.getEnchantLevel() * 0.4) / 100; + break; + } + case A: + { + baseValue += (weapon.getEnchantLevel() * 0.5) / 100; + break; + } + case S: + { + baseValue += (weapon.getEnchantLevel() * 0.7) / 100; + break; + } + } } if (player.getActiveRubyJewel() != null) { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java index 7c51b0ad38..a4f4855cca 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java @@ -41,7 +41,26 @@ public class ShotsBonusFinalizer implements IStatFunction final Item weapon = player.getActiveWeaponInstance(); if ((weapon != null) && weapon.isEnchanted()) { - baseValue += (weapon.getEnchantLevel() * 0.3) / 100; + switch (weapon.getWeaponItem().getItemGrade()) + { + case D: + case C: + case B: + { + baseValue += (weapon.getEnchantLevel() * 0.4) / 100; + break; + } + case A: + { + baseValue += (weapon.getEnchantLevel() * 0.5) / 100; + break; + } + case S: + { + baseValue += (weapon.getEnchantLevel() * 0.7) / 100; + break; + } + } } if (player.getActiveRubyJewel() != null) {