From: <jde...@us...> - 2007-11-06 21:58:04
|
Revision: 4483 http://pcgen.svn.sourceforge.net/pcgen/?rev=4483&view=rev Author: jdempsey Date: 2007-11-06 13:58:07 -0800 (Tue, 06 Nov 2007) Log Message: ----------- Fix bug: Gear in Kits not correctly added to containers Issue#: 1827149 Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/core/PlayerCharacter.java Trunk/pcgen/code/src/java/pcgen/core/kit/KitGear.java Modified: Trunk/pcgen/code/src/java/pcgen/core/PlayerCharacter.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/PlayerCharacter.java 2007-11-04 12:20:59 UTC (rev 4482) +++ Trunk/pcgen/code/src/java/pcgen/core/PlayerCharacter.java 2007-11-06 21:58:07 UTC (rev 4483) @@ -15440,7 +15440,7 @@ * @param eqI * @return EquipSet */ - private EquipSet getEquipSetForItem(EquipSet eSet, Equipment eqI) + public EquipSet getEquipSetForItem(EquipSet eSet, Equipment eqI) { final String rPath = eSet.getIdPath(); Modified: Trunk/pcgen/code/src/java/pcgen/core/kit/KitGear.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/kit/KitGear.java 2007-11-04 12:20:59 UTC (rev 4482) +++ Trunk/pcgen/code/src/java/pcgen/core/kit/KitGear.java 2007-11-06 21:58:07 UTC (rev 4483) @@ -439,7 +439,7 @@ { theTarget = aPC.getEquipmentNamed(theLocation); } - else + else if (theLocation.equalsIgnoreCase("DEFAULT")) { theLocation = ""; } @@ -473,10 +473,28 @@ existing.setQty(existing.qty() + theQty); } + // If the target is null, try and grab it incase it is there now + if (theTarget == null + && !(theLocation.equalsIgnoreCase("DEFAULT") || theLocation + .equalsIgnoreCase("Equipped"))) + { + theTarget = aPC.getEquipmentNamed(theLocation); + //TODO (JD 7Nov07) Resized items get missed by the above call as their name has changed + } + EquipSet eSet = null; + if (theTarget != null) + { + eSet = aPC.getEquipSetForItem(aPC.getEquipSetByIdPath("0.1"), theTarget); + } + if (eSet == null) + { + eSet = aPC.getEquipSetByIdPath("0.1"); + } + // // Equip the item to the default EquipSet. // - aPC.addEquipToTarget(aPC.getEquipSetByIdPath("0.1"), theTarget, + aPC.addEquipToTarget(eSet, theTarget, theLocation, theEquipment, new Float(theQty)); aPC.setGold(aPC.getGold().subtract(theCost).toString()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |