From: <th...@us...> - 2010-11-20 15:47:50
|
Revision: 13890 http://pcgen.svn.sourceforge.net/pcgen/?rev=13890&view=rev Author: thpr Date: 2010-11-20 15:47:43 +0000 (Sat, 20 Nov 2010) Log Message: ----------- Fix: ParentThing1 is doubling up the VFEAT Issue#: CODE-395 Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/core/PlayerCharacter.java Modified: Trunk/pcgen/code/src/java/pcgen/core/PlayerCharacter.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/PlayerCharacter.java 2010-11-20 15:45:42 UTC (rev 13889) +++ Trunk/pcgen/code/src/java/pcgen/core/PlayerCharacter.java 2010-11-20 15:47:43 UTC (rev 13890) @@ -11268,60 +11268,20 @@ return Collections.unmodifiableSet(newSet); } - private void processFeatListOnAdd(CDOMObject cdo) + private void processListsOnAdd(CDOMObject cdo) { for (CDOMReference<PCTemplate> tr : cdo .getSafeListFor(ListKey.TEMPLATE)) { addTemplatesIfMissing(tr.getContainedObjects()); } - - for (CDOMReference<Ability> ref : cdo.getSafeListMods(Ability.FEATLIST)) - { - Collection<AssociatedPrereqObject> assoc = cdo.getListAssociations( - Ability.FEATLIST, ref); - for (Ability ab : ref.getContainedObjects()) - { - for (AssociatedPrereqObject apo : assoc) - { - List<Prerequisite> prereqList = apo.getPrerequisiteList(); - if (!PrereqHandler.passesAll(prereqList, this, cdo)) - { - deniedFacet.add(id, new ConditionalAbility(ab, apo, cdo)); - continue; - } - if (!prereqList.isEmpty()) - { - conditionalFacet.add(id, - new ConditionalAbility(ab, apo, cdo)); - } - Category<Ability> cat = AbilityCategory.FEAT; - Nature nature = apo.getAssociation(AssociationKey.NATURE); - grantedAbilityFacet.add(id, cat, nature, ab, cdo); - - List<String> choices = apo - .getAssociation(AssociationKey.ASSOC_CHOICES); - if (choices != null) - { - for ( final String choice : choices ) - { - for (String subchoice : AbilityUtilities - .getLegalAssociations(this, cdo, ab, choice)) - { - addAssociation(ab, subchoice); - } - } - } - } - } - } for (CDOMReference ref : cdo.getModifiedLists()) { - processModifiedListOnAdd(cdo, ref); + processAbilityListsOnAdd(cdo, ref); } } - private <A extends PrereqObject> void processModifiedListOnAdd(CDOMObject cdo, + private <A extends PrereqObject> void processAbilityListsOnAdd(CDOMObject cdo, CDOMReference<? extends CDOMList<A>> ref) { for (CDOMList<A> list : ref.getContainedObjects()) @@ -12561,7 +12521,7 @@ public void processAddition(CDOMObject cdo) { - processFeatListOnAdd(cdo); + processListsOnAdd(cdo); } public void processRemoval(CDOMObject cdo) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |