From 9992e5f42b3934de9bc5c33c7768dfc01632d072 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Mon, 9 Oct 2017 10:16:06 +0000 Subject: [PATCH] Fix for extremely high chance of lucky drops. --- .../java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java | 3 ++- .../java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java | 3 ++- .../java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java | 3 ++- .../java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java index cb6b0ccdb3..3184571100 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -446,7 +446,8 @@ public class NpcData implements IGameXmlReader final NamedNodeMap drop_attrs = drop_node.getAttributes(); if ("item".equals(drop_node.getNodeName().toLowerCase())) { - final DropHolder dropItem = new DropHolder(dropType, parseInteger(drop_attrs, "id"), parseLong(drop_attrs, "min"), parseLong(drop_attrs, "max"), parseDouble(drop_attrs, "chance")); + final double chance = parseDouble(drop_attrs, "chance"); + final DropHolder dropItem = new DropHolder(dropType, parseInteger(drop_attrs, "id"), parseLong(drop_attrs, "min"), parseLong(drop_attrs, "max"), dropType == DropType.LUCKY_DROP ? chance / 100 : chance); if (ItemTable.getInstance().getTemplate(parseInteger(drop_attrs, "id")) == null) { LOGGER.warning("DropListItem: Could not find item with id " + parseInteger(drop_attrs, "id") + "."); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java index cb6b0ccdb3..3184571100 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -446,7 +446,8 @@ public class NpcData implements IGameXmlReader final NamedNodeMap drop_attrs = drop_node.getAttributes(); if ("item".equals(drop_node.getNodeName().toLowerCase())) { - final DropHolder dropItem = new DropHolder(dropType, parseInteger(drop_attrs, "id"), parseLong(drop_attrs, "min"), parseLong(drop_attrs, "max"), parseDouble(drop_attrs, "chance")); + final double chance = parseDouble(drop_attrs, "chance"); + final DropHolder dropItem = new DropHolder(dropType, parseInteger(drop_attrs, "id"), parseLong(drop_attrs, "min"), parseLong(drop_attrs, "max"), dropType == DropType.LUCKY_DROP ? chance / 100 : chance); if (ItemTable.getInstance().getTemplate(parseInteger(drop_attrs, "id")) == null) { LOGGER.warning("DropListItem: Could not find item with id " + parseInteger(drop_attrs, "id") + "."); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java index cb6b0ccdb3..3184571100 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -446,7 +446,8 @@ public class NpcData implements IGameXmlReader final NamedNodeMap drop_attrs = drop_node.getAttributes(); if ("item".equals(drop_node.getNodeName().toLowerCase())) { - final DropHolder dropItem = new DropHolder(dropType, parseInteger(drop_attrs, "id"), parseLong(drop_attrs, "min"), parseLong(drop_attrs, "max"), parseDouble(drop_attrs, "chance")); + final double chance = parseDouble(drop_attrs, "chance"); + final DropHolder dropItem = new DropHolder(dropType, parseInteger(drop_attrs, "id"), parseLong(drop_attrs, "min"), parseLong(drop_attrs, "max"), dropType == DropType.LUCKY_DROP ? chance / 100 : chance); if (ItemTable.getInstance().getTemplate(parseInteger(drop_attrs, "id")) == null) { LOGGER.warning("DropListItem: Could not find item with id " + parseInteger(drop_attrs, "id") + "."); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java index cb6b0ccdb3..3184571100 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -446,7 +446,8 @@ public class NpcData implements IGameXmlReader final NamedNodeMap drop_attrs = drop_node.getAttributes(); if ("item".equals(drop_node.getNodeName().toLowerCase())) { - final DropHolder dropItem = new DropHolder(dropType, parseInteger(drop_attrs, "id"), parseLong(drop_attrs, "min"), parseLong(drop_attrs, "max"), parseDouble(drop_attrs, "chance")); + final double chance = parseDouble(drop_attrs, "chance"); + final DropHolder dropItem = new DropHolder(dropType, parseInteger(drop_attrs, "id"), parseLong(drop_attrs, "min"), parseLong(drop_attrs, "max"), dropType == DropType.LUCKY_DROP ? chance / 100 : chance); if (ItemTable.getInstance().getTemplate(parseInteger(drop_attrs, "id")) == null) { LOGGER.warning("DropListItem: Could not find item with id " + parseInteger(drop_attrs, "id") + ".");