From 95d0ce89e9339d5ff7e59dfbf648c6031d5b675c Mon Sep 17 00:00:00 2001 From: Treeku Date: Mon, 8 Sep 2014 22:16:29 +0100 Subject: [PATCH] Fixed some syntax errors --- src/services/equipment/EquipmentService.java | 24 ++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/services/equipment/EquipmentService.java b/src/services/equipment/EquipmentService.java index 8f27e8e1..705d1f15 100644 --- a/src/services/equipment/EquipmentService.java +++ b/src/services/equipment/EquipmentService.java @@ -63,6 +63,7 @@ public class EquipmentService implements INetworkDispatch { public void equip(CreatureObject actor, SWGObject item) { SWGObject container = actor; + SWGObject oldContainer = item.getContainer(); if (canWear(actor, container, item)) { List replacedEquipment = new ArrayList(); @@ -74,7 +75,11 @@ public class EquipmentService implements INetworkDispatch { } } - container.transferTo(actor, container, item); + if (oldContainer == null) { + container.add(item); + } else { + oldContainer.transferTo(actor, container, item); + } for (SWGObject replacedItem : replacedEquipment) { if (actor.isWearing(replacedItem)) { @@ -117,12 +122,15 @@ public class EquipmentService implements INetworkDispatch { } public void unequip(CreatureObject actor, SWGObject item) { + SWGObject container = actor.getSlottedObject("inventory"); + SWGObject oldContainer = item.getContainer(); + if (actor.isWearing(item)) { if (item instanceof WeaponObject) { actor.setWeaponId(actor.getSlottedObject("default_weapon").getObjectID()); } - container.transferTo(actor, actor.getSlottedObject("inventory"), item); + oldContainer.transferTo(actor, container, item); String template = ((item.getAttachment("customServerTemplate") == null) ? item.getTemplate() : (item.getTemplate().split("shared_")[0] + "shared_" + ((String) item.getAttachment("customServerTemplate")) + ".iff")); String serverTemplate = template.replace(".iff", ""); @@ -141,6 +149,7 @@ public class EquipmentService implements INetworkDispatch { public void equipAppearance(CreatureObject actor, SWGObject item) { SWGObject container = actor.getSlottedObject("appearance_inventory"); + SWGObject oldContainer = item.getContainer(); if (canWear(actor, container, item)) { for (String slotName : container.getSlotNamesForObject(item)) { @@ -149,15 +158,22 @@ public class EquipmentService implements INetworkDispatch { } } - container.transferTo(actor, container, item); + if (oldContainer == null) { + container.add(item); + } else { + container.transferTo(actor, container, item); + } actor.addObjectToAppearanceEquipList(item); } } public void unequipAppearance(CreatureObject actor, SWGObject item) { + SWGObject container = actor.getSlottedObject("inventory"); + SWGObject oldContainer = item.getContainer(); + if (actor.isWearingAppearance(item)) { - container.transferTo(actor, actor.getSlottedObject("inventory"), item); + oldContainer.transferTo(actor, container, item); actor.removeObjectFromAppearanceEquipList(item); }