From: <boo...@us...> - 2006-07-12 01:28:16
|
Revision: 1190 Author: boomer70 Date: 2006-07-11 18:28:11 -0700 (Tue, 11 Jul 2006) ViewCVS: http://svn.sourceforge.net/pcgen/?rev=1190&view=rev Log Message: ----------- Fix for [ 1520718 ] Lycanthrope template adds HD levels each time PC is opened Modified Paths: -------------- Branches/5.10.x/pcgen/code/src/java/pcgen/core/PlayerCharacter.java Modified: Branches/5.10.x/pcgen/code/src/java/pcgen/core/PlayerCharacter.java =================================================================== --- Branches/5.10.x/pcgen/code/src/java/pcgen/core/PlayerCharacter.java 2006-07-11 18:26:33 UTC (rev 1189) +++ Branches/5.10.x/pcgen/code/src/java/pcgen/core/PlayerCharacter.java 2006-07-12 01:28:11 UTC (rev 1190) @@ -7891,36 +7891,43 @@ return null; } - for (Iterator i = inTemplate.getLevelMods().iterator(); i.hasNext(); ) + // If we are importing these levels will have been saved with the + // character so don't apply them again. + if ( ! isImporting() ) { - String modString = (String)i.next(); - StringTokenizer tok = new StringTokenizer(modString, "|"); - while (tok.hasMoreTokens()) + for (Iterator i = inTemplate.getLevelMods().iterator(); i.hasNext(); ) { - final String colString = tok.nextToken(); - if (colString.startsWith("ADD")) + String modString = (String) i.next(); + StringTokenizer tok = new StringTokenizer(modString, "|"); + while (tok.hasMoreTokens()) { - final String className = tok.nextToken(); - final int level = getVariableValue(tok.nextToken(), "").intValue(); + final String colString = tok.nextToken(); + if (colString.startsWith("ADD")) + { + final String className = tok.nextToken(); + final int level = getVariableValue(tok.nextToken(), ""). + intValue(); - PCClass aClass = Globals.getClassNamed(className); + PCClass aClass = Globals.getClassNamed(className); - boolean tempShowHP = SettingsHandler.getShowHPDialogAtLevelUp(); - SettingsHandler.setShowHPDialogAtLevelUp(false); - boolean tempFeatDlg = SettingsHandler.getShowFeatDialogAtLevelUp(); - SettingsHandler.setShowFeatDialogAtLevelUp(false); - int tempChoicePref = SettingsHandler.getSingleChoicePreference(); - SettingsHandler.setSingleChoicePreference(Constants.CHOOSER_SINGLECHOICEMETHOD_SELECTEXIT); + boolean tempShowHP = SettingsHandler.getShowHPDialogAtLevelUp(); + SettingsHandler.setShowHPDialogAtLevelUp(false); + boolean tempFeatDlg = SettingsHandler. + getShowFeatDialogAtLevelUp(); + SettingsHandler.setShowFeatDialogAtLevelUp(false); + int tempChoicePref = SettingsHandler.getSingleChoicePreference(); + SettingsHandler.setSingleChoicePreference(Constants. + CHOOSER_SINGLECHOICEMETHOD_SELECTEXIT); - incrementClassLevel(level, aClass, true, true); + incrementClassLevel(level, aClass, true, true); - SettingsHandler.setSingleChoicePreference(tempChoicePref); - SettingsHandler.setShowFeatDialogAtLevelUp(tempFeatDlg); - SettingsHandler.setShowHPDialogAtLevelUp(tempShowHP); + SettingsHandler.setSingleChoicePreference(tempChoicePref); + SettingsHandler.setShowFeatDialogAtLevelUp(tempFeatDlg); + SettingsHandler.setShowHPDialogAtLevelUp(tempShowHP); + } } } } - this.setArmorProfListStable(false); List l = inTmpl.getSafeListFor(ListKey.KITS); for (int i1 = 0; i1 < l.size(); i1++) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |