Author: ATracer
(2010/02/08 16:13) About 2 years ago
Hotfix for trading exception, thx kosyachok
83
int itemColor = rset.getInt("itemColor");
84
int isEquiped = rset.getInt("isEquiped");
85
int slot = rset.getInt("slot");
86
Item item = new Item(itemUniqueId, itemId, itemCount, itemColor, isEquiped == 1, slot);
Item item = new Item(itemUniqueId, itemId, itemCount, itemColor, isEquiped == 1, slot, storage);
87
item.setPersistentState(PersistentState.UPDATED);
88
inventory.onLoadHandler(item);
89
}
80
*
81
* This constructor should be called only from DAO while loading from DB
82
*/
public Item(int objId, int itemId, int itemCount, int itemColor, boolean isEquipped, int equipmentSlot)
public Item(int objId, int itemId, int itemCount, int itemColor, boolean isEquipped, int equipmentSlot, int itemLocation)
{
super(objId);
...
this.itemColor = itemColor;
90
this.isEquipped = isEquipped;
91
this.equipmentSlot = equipmentSlot;
92
this.itemLocation = itemLocation;
93
94
@Override
95
327
public void setItemLocation(int storageType)
328
329
this.itemLocation = storageType;
330
331
setPersistentState(PersistentState.UPDATE_REQUIRED);
332
333
public int getItemLocation()
334
180
181
else if(item.getItemTemplate().isKinah())
182
183
item.setItemLocation(storageType);
184
kinahItem = item;
185
186
else
187
188
189
storage.putToDefinedOrNextAvaiableSlot(item);
190
191
228
if(resultItem != null && persistImmediately)
226
229
227
230
resultItem.setItemLocation(storageType);
231
resultItem.setPersistentState(PersistentState.NEW);
232
233
DAOManager.getDAO(InventoryDAO.class).store(item, getOwner().getObjectId());
234
235
236
return resultItem;
237
26
import com.aionemu.gameserver.dao.ItemStoneListDAO;
27
import com.aionemu.gameserver.dataholders.DataManager;
28
import com.aionemu.gameserver.model.gameobjects.Item;
29
import com.aionemu.gameserver.model.gameobjects.PersistentState;
import com.aionemu.gameserver.model.gameobjects.player.Storage;
30
import com.aionemu.gameserver.model.gameobjects.player.Player;
31
import com.aionemu.gameserver.model.gameobjects.player.StorageType;
32
Item newItem = newItem(itemToSplit.getItemTemplate().getItemId(), splitAmount);
if(destinationStorage.putToBag(newItem) != null)
itemToSplit.decreaseItemCount(splitAmount);
421
422
423
item.setItemCount(count);
424
sourceStorage.removeFromBag(item, true);
sourceStorage.removeFromBag(item, false);
425
sendDeleteItemPacket(player, sourceStorageType, item.getObjectId());
426
427
Item newitem = destinationStorage.putToBag(item);
428
sendStorageUpdatePacket(player, destinationStorageType, newitem);
429
431
430
432
433
if(count > 0) // if storage is full and some items left
434
435
436
sendUpdateItemPacket(player, sourceStorageType, item);
437
438
439
440
441
int itemColor = rset.getInt("itemColor");int itemColor = rset.getInt("itemColor");int isEquiped = rset.getInt("isEquiped");int isEquiped = rset.getInt("isEquiped");int slot = rset.getInt("slot");int slot = rset.getInt("slot");Item item = new Item(itemUniqueId, itemId, itemCount, itemColor, isEquiped == 1, slot, storage);public Item(int objId, int itemId, int itemCount, int itemColor, boolean isEquipped, int equipmentSlot, int itemLocation){{{{{{item.setItemLocation(storageType);{{item.setItemLocation(storageType);{{resultItem.setPersistentState(PersistentState.NEW);{{{{sourceStorage.removeFromBag(item, true);sourceStorage.removeFromBag(item, false);{