From 244f991fd3191caf8d429b86eaf4cce54b0fb79b Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Mon, 1 Aug 2022 22:46:57 +0000 Subject: [PATCH] Updated shots bonus finalizer. Contributed by CostyKiller. --- .../stats/finalizers/ShotsBonusFinalizer.java | 25 ++++++++++++++++++- .../stats/finalizers/ShotsBonusFinalizer.java | 25 ++++++++++++++++++- .../stats/finalizers/ShotsBonusFinalizer.java | 25 ++++++++++++++++++- .../stats/finalizers/ShotsBonusFinalizer.java | 25 ++++++++++++++++++- 4 files changed, 96 insertions(+), 4 deletions(-) diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java index 7c51b0ad38..406892e52b 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java @@ -41,7 +41,30 @@ 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: + { + baseValue += (weapon.getEnchantLevel() * 0.4) / 100; + break; + } + case B: + { + baseValue += (weapon.getEnchantLevel() * 0.7) / 100; + break; + } + case A: + { + baseValue += (weapon.getEnchantLevel() * 1.4) / 100; + break; + } + case S: + { + baseValue += (weapon.getEnchantLevel() * 1.6) / 100; + break; + } + } } if (player.getActiveRubyJewel() != null) { diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java index 7c51b0ad38..406892e52b 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java @@ -41,7 +41,30 @@ 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: + { + baseValue += (weapon.getEnchantLevel() * 0.4) / 100; + break; + } + case B: + { + baseValue += (weapon.getEnchantLevel() * 0.7) / 100; + break; + } + case A: + { + baseValue += (weapon.getEnchantLevel() * 1.4) / 100; + break; + } + case S: + { + baseValue += (weapon.getEnchantLevel() * 1.6) / 100; + break; + } + } } if (player.getActiveRubyJewel() != null) { diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java index 7c51b0ad38..406892e52b 100644 --- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java @@ -41,7 +41,30 @@ 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: + { + baseValue += (weapon.getEnchantLevel() * 0.4) / 100; + break; + } + case B: + { + baseValue += (weapon.getEnchantLevel() * 0.7) / 100; + break; + } + case A: + { + baseValue += (weapon.getEnchantLevel() * 1.4) / 100; + break; + } + case S: + { + baseValue += (weapon.getEnchantLevel() * 1.6) / 100; + break; + } + } } if (player.getActiveRubyJewel() != null) { diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java index 7c51b0ad38..406892e52b 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/stats/finalizers/ShotsBonusFinalizer.java @@ -41,7 +41,30 @@ 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: + { + baseValue += (weapon.getEnchantLevel() * 0.4) / 100; + break; + } + case B: + { + baseValue += (weapon.getEnchantLevel() * 0.7) / 100; + break; + } + case A: + { + baseValue += (weapon.getEnchantLevel() * 1.4) / 100; + break; + } + case S: + { + baseValue += (weapon.getEnchantLevel() * 1.6) / 100; + break; + } + } } if (player.getActiveRubyJewel() != null) {