From: <th...@us...> - 2014-03-03 01:57:46
|
Revision: 23386 http://sourceforge.net/p/pcgen/code/23386 Author: thpr Date: 2014-03-03 01:57:43 +0000 (Mon, 03 Mar 2014) Log Message: ----------- Fix previous check-in of CODE-2465 Issue#: CODE-2465 Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/io/PCGVer2Parser.java Modified: Trunk/pcgen/code/src/java/pcgen/io/PCGVer2Parser.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/io/PCGVer2Parser.java 2014-03-03 01:29:17 UTC (rev 23385) +++ Trunk/pcgen/code/src/java/pcgen/io/PCGVer2Parser.java 2014-03-03 01:57:43 UTC (rev 23386) @@ -30,6 +30,7 @@ import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashSet; import java.util.IdentityHashMap; import java.util.Iterator; @@ -42,14 +43,11 @@ import pcgen.base.util.HashMapToList; import pcgen.cdom.base.AssociatedPrereqObject; -import pcgen.cdom.base.BasicChooseInformation; import pcgen.cdom.base.CDOMObject; import pcgen.cdom.base.CDOMReference; -import pcgen.cdom.base.ChooseInformation; import pcgen.cdom.base.Constants; import pcgen.cdom.base.PersistentTransitionChoice; import pcgen.cdom.base.SelectableSet; -import pcgen.cdom.choiceset.ReferenceChoiceSet; import pcgen.cdom.enumeration.AssociationKey; import pcgen.cdom.enumeration.AssociationListKey; import pcgen.cdom.enumeration.BiographyField; @@ -121,7 +119,6 @@ import pcgen.core.character.Follower; import pcgen.core.character.SpellBook; import pcgen.core.character.SpellInfo; -import pcgen.core.chooser.CDOMChoiceManager; import pcgen.core.chooser.ChoiceManagerList; import pcgen.core.chooser.ChooserUtilities; import pcgen.core.display.BonusDisplay; @@ -4956,31 +4953,34 @@ final PCGElement element = tokens.getElements().get(0); - if (source == null) + boolean processed = false; + if (source != null) { - for (PCGElement child : element.getChildren()) + List<PersistentTransitionChoice<?>> adds = + source.getListFor(ListKey.ADD); + if (adds != null) { - weaponprofs.add(getWeaponProf(child.getText())); + for (PersistentTransitionChoice<?> ptc: adds) + { + if (ptc.getChoiceClass().equals(WeaponProf.class)) + { + for (PCGElement child : element.getChildren()) + { + WeaponProf wp = getWeaponProf(child.getText()); + Set c = Collections.singleton(wp); + ptc.act(c, source, thePC); + } + processed = true; + break; + } + } } } - else + if (!processed) { for (PCGElement child : element.getChildren()) { - Collection<CDOMReference<WeaponProf>> wpBonus = - source.getListMods(WeaponProf.STARTING_LIST); - if (wpBonus != null) - { - ChooseInformation<WeaponProf> tc = - new BasicChooseInformation<WeaponProf>( - "WEAPONBONUS", - new ReferenceChoiceSet<WeaponProf>(wpBonus)); - tc.setChoiceActor(WeaponProf.STARTING_ACTOR); - CDOMChoiceManager<WeaponProf> mgr = - new CDOMChoiceManager<WeaponProf>(source, tc, 1, 1); - mgr.conditionallyApply(thePC, - getWeaponProf(child.getText())); - } + weaponprofs.add(getWeaponProf(child.getText())); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |