From 906343974504b2646156aa3aebdde9aba31ae2ea Mon Sep 17 00:00:00 2001 From: Mads Boddum Date: Sun, 27 Sep 2015 11:04:25 +0200 Subject: [PATCH 1/5] Added the safety deposit box used in banking --- src/services/player/CharacterCreationService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/services/player/CharacterCreationService.java b/src/services/player/CharacterCreationService.java index a65203cc..6eca2329 100644 --- a/src/services/player/CharacterCreationService.java +++ b/src/services/player/CharacterCreationService.java @@ -319,6 +319,8 @@ public class CharacterCreationService extends Service { datapad.setContainerPermissions(ContainerPermissions.INVENTORY); TangibleObject apprncInventory = createTangible(objManager, "object/tangible/inventory/shared_appearance_inventory.iff"); apprncInventory.setContainerPermissions(ContainerPermissions.INVENTORY); + TangibleObject safetyDeposit = createTangible(objManager, "object/tangible/bank/shared_character_bank.iff"); + apprncInventory.setContainerPermissions(ContainerPermissions.INVENTORY); creatureObj.setRace(Race.getRaceByFile(create.getRace())); creatureObj.setAppearanceData(create.getCharCustomization()); @@ -330,6 +332,7 @@ public class CharacterCreationService extends Service { creatureObj.addObject(inventory); // slot = inventory creatureObj.addObject(datapad); // slot = datapad creatureObj.addObject(apprncInventory); // slot = appearance_inventory + creatureObj.addObject(safetyDeposit); // slot = bank creatureObj.addEquipment(inventory); creatureObj.addEquipment(datapad); From 6dd8af06276f405a0a97a23447d77d37d601507b Mon Sep 17 00:00:00 2001 From: Mads Boddum Date: Sun, 27 Sep 2015 11:56:44 +0200 Subject: [PATCH 2/5] Misc items can now be moved into containers --- scripts/commands/generic/transferItemMisc.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/commands/generic/transferItemMisc.js b/scripts/commands/generic/transferItemMisc.js index 709403d2..44fefc2b 100644 --- a/scripts/commands/generic/transferItemMisc.js +++ b/scripts/commands/generic/transferItemMisc.js @@ -1,6 +1,8 @@ var execute = function(galManager, player, target, args) { var actor = player.getCreatureObject(); var inventory; + var oldContainer = target.getParent(); + var newContainer = galManager.getObjectManager().getObjectById(args.split(" ")[1]); if(actor == null || target == null) { return; @@ -12,11 +14,12 @@ var execute = function(galManager, player, target, args) { return; } - if(target.getParent() == actor) { - result = target.moveToContainer(actor, inventory); - actor.removeEquipment(target) + if(oldContainer == actor) { // This item is currently being worn + actor.removeEquipment(target); // Remove the item from the equipment list } else { - result = target.moveToContainer(actor, actor); - actor.addEquipment(target) + actor.addEquipment(target); } + + result = target.moveToContainer(actor, newContainer); // Move item from the old container to the new container + }; \ No newline at end of file From 9b12f1ea1b14e9ed896936e3c81d44c37b679057 Mon Sep 17 00:00:00 2001 From: Mads Boddum Date: Sun, 27 Sep 2015 13:58:25 +0200 Subject: [PATCH 3/5] Fixed an issue where safety deposit container permissions weren't being set --- src/services/player/CharacterCreationService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/player/CharacterCreationService.java b/src/services/player/CharacterCreationService.java index 6eca2329..ca16c244 100644 --- a/src/services/player/CharacterCreationService.java +++ b/src/services/player/CharacterCreationService.java @@ -320,7 +320,7 @@ public class CharacterCreationService extends Service { TangibleObject apprncInventory = createTangible(objManager, "object/tangible/inventory/shared_appearance_inventory.iff"); apprncInventory.setContainerPermissions(ContainerPermissions.INVENTORY); TangibleObject safetyDeposit = createTangible(objManager, "object/tangible/bank/shared_character_bank.iff"); - apprncInventory.setContainerPermissions(ContainerPermissions.INVENTORY); + safetyDeposit.setContainerPermissions(ContainerPermissions.INVENTORY); creatureObj.setRace(Race.getRaceByFile(create.getRace())); creatureObj.setAppearanceData(create.getCharCustomization()); From 82734815b88972299a1e5b09dc3c8d6c4b05ec74 Mon Sep 17 00:00:00 2001 From: Mads Boddum Date: Sun, 27 Sep 2015 14:05:31 +0200 Subject: [PATCH 4/5] Fixed the potential issue of a player-controlled creature being loaded without an appearance inventory --- src/services/objects/ObjectManager.java | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/services/objects/ObjectManager.java b/src/services/objects/ObjectManager.java index 31176e40..292ab72e 100644 --- a/src/services/objects/ObjectManager.java +++ b/src/services/objects/ObjectManager.java @@ -56,6 +56,7 @@ import network.packets.swg.zone.object_controller.ObjectController; import resources.Location; import resources.Terrain; import resources.config.ConfigFile; +import resources.containers.ContainerPermissions; import resources.control.Intent; import resources.control.Manager; import resources.objects.SWGObject; @@ -224,10 +225,23 @@ public class ObjectManager extends Manager { if (!(obj instanceof CreatureObject && ((CreatureObject) obj).hasSlot("ghost"))) objectAwareness.add(obj); if (obj instanceof CreatureObject && ((CreatureObject) obj).getPlayerObject() != null) { - if (!obj.hasSlot("bank")) - obj.addObject(createObject("object/tangible/bank/shared_character_bank.iff", false)); - if (!obj.hasSlot("mission_bag")) - obj.addObject(createObject("object/tangible/mission_bag/shared_mission_bag.iff", false)); + if (!obj.hasSlot("bank")) { + SWGObject missing = createObject("object/tangible/bank/shared_character_bank.iff", false); + + obj.addObject(missing); + } + + if (!obj.hasSlot("mission_bag")) { + SWGObject missing = createObject("object/tangible/mission_bag/shared_mission_bag.iff", false); + + obj.addObject(missing); + } + + if (!obj.hasSlot("appearance_inventory")) { + SWGObject missing = createObject("object/tangible/inventory/shared_appearance_inventory.iff", false); + + obj.addObject(missing); + } } objectMap.put(obj.getObjectId(), obj); updateBuildoutParent(obj); From 081297535c9d574b5d1fba2d7dc645834b433988 Mon Sep 17 00:00:00 2001 From: Mads Boddum Date: Sun, 27 Sep 2015 14:06:54 +0200 Subject: [PATCH 5/5] Fixed an issue where container permissions weren't being set on certain objects --- src/services/objects/ObjectManager.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/services/objects/ObjectManager.java b/src/services/objects/ObjectManager.java index 292ab72e..7e3043e0 100644 --- a/src/services/objects/ObjectManager.java +++ b/src/services/objects/ObjectManager.java @@ -228,18 +228,21 @@ public class ObjectManager extends Manager { if (!obj.hasSlot("bank")) { SWGObject missing = createObject("object/tangible/bank/shared_character_bank.iff", false); + missing.setContainerPermissions(ContainerPermissions.INVENTORY); obj.addObject(missing); } if (!obj.hasSlot("mission_bag")) { SWGObject missing = createObject("object/tangible/mission_bag/shared_mission_bag.iff", false); + missing.setContainerPermissions(ContainerPermissions.INVENTORY); obj.addObject(missing); } if (!obj.hasSlot("appearance_inventory")) { SWGObject missing = createObject("object/tangible/inventory/shared_appearance_inventory.iff", false); + missing.setContainerPermissions(ContainerPermissions.INVENTORY); obj.addObject(missing); } }