diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java index d98d83bb9b..11ed0bc5a0 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java @@ -689,12 +689,13 @@ public final class L2NpcTemplate extends L2CharTemplate implements IIdentifiable public Collection calculateDrops(DropType dropType, L2Character victim, L2Character killer) { - final List dropList = getDropList(dropType); - if (dropList == null) + if (getDropList(dropType) == null) { return null; } + final List dropList = new ArrayList<>(getDropList(dropType)); + // randomize drop order Collections.shuffle(dropList); diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java index d98d83bb9b..11ed0bc5a0 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java @@ -689,12 +689,13 @@ public final class L2NpcTemplate extends L2CharTemplate implements IIdentifiable public Collection calculateDrops(DropType dropType, L2Character victim, L2Character killer) { - final List dropList = getDropList(dropType); - if (dropList == null) + if (getDropList(dropType) == null) { return null; } + final List dropList = new ArrayList<>(getDropList(dropType)); + // randomize drop order Collections.shuffle(dropList); diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java index d98d83bb9b..11ed0bc5a0 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java @@ -689,12 +689,13 @@ public final class L2NpcTemplate extends L2CharTemplate implements IIdentifiable public Collection calculateDrops(DropType dropType, L2Character victim, L2Character killer) { - final List dropList = getDropList(dropType); - if (dropList == null) + if (getDropList(dropType) == null) { return null; } + final List dropList = new ArrayList<>(getDropList(dropType)); + // randomize drop order Collections.shuffle(dropList); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java index d98d83bb9b..11ed0bc5a0 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java @@ -689,12 +689,13 @@ public final class L2NpcTemplate extends L2CharTemplate implements IIdentifiable public Collection calculateDrops(DropType dropType, L2Character victim, L2Character killer) { - final List dropList = getDropList(dropType); - if (dropList == null) + if (getDropList(dropType) == null) { return null; } + final List dropList = new ArrayList<>(getDropList(dropType)); + // randomize drop order Collections.shuffle(dropList); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java index 333772b30d..850fc326a4 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java @@ -95,8 +95,8 @@ public final class L2NpcTemplate extends L2CharTemplate implements IIdentifiable private Map> _aiSkillLists; private Set _clans; private Set _ignoreClanNpcIds; - private CopyOnWriteArrayList _dropListDeath; - private CopyOnWriteArrayList _dropListSpoil; + private List _dropListDeath; + private List _dropListSpoil; private double _collisionRadiusGrown; private double _collisionHeightGrown; @@ -546,12 +546,13 @@ public final class L2NpcTemplate extends L2CharTemplate implements IIdentifiable public Collection calculateDrops(DropType dropType, L2Character victim, L2Character killer) { - final List dropList = getDropList(dropType); - if (dropList == null) + if (getDropList(dropType) == null) { return null; } + final List dropList = new ArrayList<>(getDropList(dropType)); + // randomize drop order Collections.shuffle(dropList); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java index b87e1d3dbb..6817d54b50 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/templates/L2NpcTemplate.java @@ -689,12 +689,13 @@ public final class L2NpcTemplate extends L2CharTemplate implements IIdentifiable public Collection calculateDrops(DropType dropType, L2Character victim, L2Character killer) { - final List dropList = getDropList(dropType); - if (dropList == null) + if (getDropList(dropType) == null) { return null; } + final List dropList = new ArrayList<>(getDropList(dropType)); + // randomize drop order Collections.shuffle(dropList);