From: <jde...@us...> - 2013-11-19 21:18:58
|
Revision: 22294 http://sourceforge.net/p/pcgen/code/22294 Author: jdempsey Date: 2013-11-19 21:18:55 +0000 (Tue, 19 Nov 2013) Log Message: ----------- Fix bug: Familiar should get Linguistics from master Issue#: CODE-2268 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 2013-11-19 20:41:34 UTC (rev 22293) +++ Trunk/pcgen/code/src/java/pcgen/core/PlayerCharacter.java 2013-11-19 21:18:55 UTC (rev 22294) @@ -244,6 +244,8 @@ import pcgen.core.character.Follower; import pcgen.core.character.SpellBook; import pcgen.core.character.SpellInfo; +import pcgen.core.chooser.ChoiceManagerList; +import pcgen.core.chooser.ChooserUtilities; import pcgen.core.display.CharacterDisplay; import pcgen.core.pclevelinfo.PCLevelInfo; import pcgen.core.spell.Spell; @@ -1782,15 +1784,33 @@ // but master does, so add it final double sr = SkillRankControl.getTotalRank(mPC, newSkill).doubleValue(); - if (ChooseActivation.hasChooseToken(newSkill)) - { - continue; - } - // We don't pass in a class here so that the real skills can be // distinguished from the ones form the master. SkillRankControl.modRanks(sr, null, true, this, newSkill); skillFacet.add(id, newSkill); + + if (ChooseActivation.hasChooseToken(newSkill)) + { + final List<Language> selLangs = new ArrayList<Language>(); + + ChooserUtilities.modChoices(newSkill, + new ArrayList<Language>(), selLangs, false, mPC, false, + null); + ChoiceManagerList<Language> controller = + ChooserUtilities.getConfiguredController(newSkill, + this, null, new ArrayList<String>()); + for (Language lang : selLangs) + { + if (!controller.conditionallyApply(this, lang)) + { + Logging + .errorPrint("Failed to add master's language " + + lang + " to companion."); + } + } + + } + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |