From 4f06666dd00cd0cedb7a004823b77e301bdf3d4a Mon Sep 17 00:00:00 2001
From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com>
Date: Wed, 28 Oct 2020 18:14:58 +0000
Subject: [PATCH] Permanently store item owner in ItemInstance.
---
.../model/items/instance/ItemInstance.java | 38 +++++++++++--------
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 16 +++++---
.../model/items/instance/ItemInstance.java | 16 +++++---
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
.../model/items/instance/ItemInstance.java | 12 +++++-
19 files changed, 204 insertions(+), 58 deletions(-)
diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index 75645c85af..7bfa2aee19 100644
--- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -97,8 +97,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -303,13 +304,13 @@ public class ItemInstance extends WorldObject
/**
* Sets the ownerID of the item
* @param process : String Identifier of process triggering this action
- * @param owner_id : int designating the ID of the owner
+ * @param ownerId : int designating the ID of the owner
* @param creator : PlayerInstance Player requesting the item creation
* @param reference : Object Object referencing current action like NPC selling item or previous item in transformation
*/
- public void setOwnerId(String process, int owner_id, PlayerInstance creator, Object reference)
+ public void setOwnerId(String process, int ownerId, PlayerInstance creator, Object reference)
{
- setOwnerId(owner_id);
+ setOwnerId(ownerId);
if (Config.LOG_ITEMS)
{
@@ -358,11 +359,11 @@ public class ItemInstance extends WorldObject
/**
* Sets the ownerID of the item
- * @param owner_id : int designating the ID of the owner
+ * @param ownerId : int designating the ID of the owner
*/
- public void setOwnerId(int owner_id)
+ public void setOwnerId(int ownerId)
{
- if (owner_id == _ownerId)
+ if (ownerId == _ownerId)
{
return;
}
@@ -370,7 +371,8 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
- _ownerId = owner_id;
+ _owner = null;
+ _ownerId = ownerId;
_storedInDb = false;
// Give any inventory skills to the new owner only if the item is in inventory
@@ -400,11 +402,11 @@ public class ItemInstance extends WorldObject
* Sets the location of the item.
* Remark : If loc and loc_data different from database, say datas not up-to-date
* @param loc : ItemLocation (enumeration)
- * @param loc_data : int designating the slot where the item is stored or the village for freights
+ * @param locData : int designating the slot where the item is stored or the village for freights
*/
- public void setItemLocation(ItemLocation loc, int loc_data)
+ public void setItemLocation(ItemLocation loc, int locData)
{
- if ((loc == _loc) && (loc_data == _locData))
+ if ((loc == _loc) && (locData == _locData))
{
return;
}
@@ -413,7 +415,7 @@ public class ItemInstance extends WorldObject
removeSkillsFromOwner();
_loc = loc;
- _locData = loc_data;
+ _locData = locData;
_storedInDb = false;
// Give any inventory skills to the new owner only if the item is in inventory
@@ -1805,9 +1807,9 @@ public class ItemInstance extends WorldObject
return _decrease;
}
- public void setInitCount(int InitCount)
+ public void setInitCount(int initCount)
{
- _initCount = InitCount;
+ _initCount = initCount;
}
public long getInitCount()
@@ -1882,7 +1884,7 @@ public class ItemInstance extends WorldObject
{
return;
}
- else if (getRemainingTime() <= 0)
+ if (getRemainingTime() <= 0)
{
endOfLife();
}
@@ -2078,7 +2080,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index f6bdb98976..1101bfad11 100644
--- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -99,8 +99,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -375,6 +376,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1582,6 +1584,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2085,7 +2089,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index f6bdb98976..1101bfad11 100644
--- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -99,8 +99,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -375,6 +376,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1582,6 +1584,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2085,7 +2089,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index 77dd8f14ba..9f3eade143 100644
--- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -99,8 +99,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -375,6 +376,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1582,6 +1584,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2085,7 +2089,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index 7f73062125..ba877ba58c 100644
--- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -102,8 +102,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -378,6 +379,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1590,6 +1592,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2093,7 +2097,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index 7f73062125..ba877ba58c 100644
--- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -102,8 +102,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -378,6 +379,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1590,6 +1592,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2093,7 +2097,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index 7f73062125..ba877ba58c 100644
--- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -102,8 +102,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -378,6 +379,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1590,6 +1592,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2093,7 +2097,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index 7f73062125..ba877ba58c 100644
--- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -102,8 +102,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -378,6 +379,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1590,6 +1592,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2093,7 +2097,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index 7f73062125..ba877ba58c 100644
--- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -102,8 +102,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -378,6 +379,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1590,6 +1592,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2093,7 +2097,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index 1dc96daa0a..b4c4cbe8b2 100644
--- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -87,8 +87,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -284,13 +285,13 @@ public class ItemInstance extends WorldObject
/**
* Sets the ownerID of the item
* @param process : String Identifier of process triggering this action
- * @param owner_id : int designating the ID of the owner
+ * @param ownerId : int designating the ID of the owner
* @param creator : PlayerInstance Player requesting the item creation
* @param reference : Object Object referencing current action like NPC selling item or previous item in transformation
*/
- public void setOwnerId(String process, int owner_id, PlayerInstance creator, Object reference)
+ public void setOwnerId(String process, int ownerId, PlayerInstance creator, Object reference)
{
- setOwnerId(owner_id);
+ setOwnerId(ownerId);
if (Config.LOG_ITEMS)
{
@@ -351,6 +352,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -2070,7 +2072,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index 1dc96daa0a..b4c4cbe8b2 100644
--- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -87,8 +87,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -284,13 +285,13 @@ public class ItemInstance extends WorldObject
/**
* Sets the ownerID of the item
* @param process : String Identifier of process triggering this action
- * @param owner_id : int designating the ID of the owner
+ * @param ownerId : int designating the ID of the owner
* @param creator : PlayerInstance Player requesting the item creation
* @param reference : Object Object referencing current action like NPC selling item or previous item in transformation
*/
- public void setOwnerId(String process, int owner_id, PlayerInstance creator, Object reference)
+ public void setOwnerId(String process, int ownerId, PlayerInstance creator, Object reference)
{
- setOwnerId(owner_id);
+ setOwnerId(ownerId);
if (Config.LOG_ITEMS)
{
@@ -351,6 +352,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -2070,7 +2072,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index e1f627b0b9..d45a34dfb7 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -99,8 +99,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -375,6 +376,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1580,6 +1582,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2083,7 +2087,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index e1f627b0b9..d45a34dfb7 100644
--- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -99,8 +99,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -375,6 +376,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1580,6 +1582,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2083,7 +2087,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index e1f627b0b9..d45a34dfb7 100644
--- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -99,8 +99,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -375,6 +376,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1580,6 +1582,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2083,7 +2087,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index e1f627b0b9..d45a34dfb7 100644
--- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -99,8 +99,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -375,6 +376,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1580,6 +1582,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2083,7 +2087,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index e1f627b0b9..d45a34dfb7 100644
--- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -99,8 +99,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -375,6 +376,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1580,6 +1582,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2083,7 +2087,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index e1f627b0b9..d45a34dfb7 100644
--- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -99,8 +99,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -375,6 +376,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1580,6 +1582,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2083,7 +2087,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index adb32afcc5..2d77b3425a 100644
--- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -97,8 +97,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -370,6 +371,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1572,6 +1574,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2065,7 +2069,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()
diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
index e1f627b0b9..d45a34dfb7 100644
--- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
+++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/items/instance/ItemInstance.java
@@ -99,8 +99,9 @@ public class ItemInstance extends WorldObject
private static final Logger LOGGER = Logger.getLogger(ItemInstance.class.getName());
private static final Logger LOG_ITEMS = Logger.getLogger("item");
- /** ID of the owner */
+ /** Owner */
private int _ownerId;
+ private PlayerInstance _owner;
/** ID of who dropped the item last, used for knownlist */
private int _dropperObjectId = 0;
@@ -375,6 +376,7 @@ public class ItemInstance extends WorldObject
// Remove any inventory skills from the old owner.
removeSkillsFromOwner();
+ _owner = null;
_ownerId = ownerId;
_storedInDb = false;
@@ -1580,6 +1582,8 @@ public class ItemInstance extends WorldObject
ThreadPool.execute(new ItemDropTask(this, dropper, x, y, z));
if ((dropper != null) && dropper.isPlayer())
{
+ _owner = null;
+
// Notify to scripts
EventDispatcher.getInstance().notifyEventAsync(new OnPlayerItemDrop(dropper.getActingPlayer(), this, new Location(x, y, z)), getItem());
}
@@ -2083,7 +2087,11 @@ public class ItemInstance extends WorldObject
@Override
public PlayerInstance getActingPlayer()
{
- return World.getInstance().getPlayer(getOwnerId());
+ if ((_owner == null) && (_ownerId != 0))
+ {
+ _owner = World.getInstance().getPlayer(_ownerId);
+ }
+ return _owner;
}
public int getEquipReuseDelay()