From 04fbe1c4f8c7d9684354db9ad30114d34670e26e Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 23 Aug 2022 14:33:02 +0000 Subject: [PATCH] Make use of bonus drop stats with group drop calculation. --- .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ .../gameserver/model/actor/templates/NpcTemplate.java | 10 ++++++++++ 25 files changed, 250 insertions(+) diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index b15c2aeb01..cce41a244a 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index b15c2aeb01..cce41a244a 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index b15c2aeb01..cce41a244a 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index b15c2aeb01..cce41a244a 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index b15c2aeb01..cce41a244a 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index b15c2aeb01..cce41a244a 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index b15c2aeb01..cce41a244a 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index b15c2aeb01..cce41a244a 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index fe8a556e5f..a7ce4c1dcc 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index fe8a556e5f..a7ce4c1dcc 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index fe8a556e5f..a7ce4c1dcc 100644 --- a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index fe8a556e5f..a7ce4c1dcc 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 70c8c5dbeb..91f13b99a5 100644 --- a/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 090e2fee20..9b08ab324e 100644 --- a/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -822,6 +822,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1146,6 +1149,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 090e2fee20..9b08ab324e 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -822,6 +822,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1146,6 +1149,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 090e2fee20..9b08ab324e 100644 --- a/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -822,6 +822,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1146,6 +1149,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 090e2fee20..9b08ab324e 100644 --- a/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -822,6 +822,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1146,6 +1149,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 7885aa44e4..2a1e580441 100644 --- a/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -837,6 +837,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1161,6 +1164,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 7885aa44e4..2a1e580441 100644 --- a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -837,6 +837,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1161,6 +1164,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 7885aa44e4..2a1e580441 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -837,6 +837,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1161,6 +1164,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 70c8c5dbeb..91f13b99a5 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -821,6 +821,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1071,6 +1074,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 67a4d3a945..675f01efa2 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -836,6 +836,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1086,6 +1089,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 67a4d3a945..675f01efa2 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -836,6 +836,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1086,6 +1089,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 67a4d3a945..675f01efa2 100644 --- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -836,6 +836,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1086,6 +1089,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java index 67a4d3a945..675f01efa2 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/templates/NpcTemplate.java @@ -836,6 +836,9 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable groupRate = Math.min(groupRate, rateChance); } + // bonus drop rate effect + groupRate *= killer.getStat().getMul(Stat.BONUS_DROP_RATE, 1); + if ((Rnd.nextDouble() * 100) < (group.getChance() * groupRate)) { double totalChance = 0; // total group chance is 100 @@ -1086,6 +1089,13 @@ public class NpcTemplate extends CreatureTemplate implements IIdentifiable } } + // bonus drop amount effect + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_AMOUNT, 1); + if (itemId == Inventory.ADENA_ID) + { + rateAmount *= killer.getStat().getMul(Stat.BONUS_DROP_ADENA, 1); + } + // finally return new ItemHolder(itemId, (long) (Rnd.get(dropItem.getMin(), dropItem.getMax()) * rateAmount)); }