From: <jde...@us...> - 2012-09-30 13:36:10
|
Revision: 17543 http://pcgen.svn.sourceforge.net/pcgen/?rev=17543&view=rev Author: jdempsey Date: 2012-09-30 13:36:04 +0000 (Sun, 30 Sep 2012) Log Message: ----------- Fix bug: [TEST-66] SPELLS of the same name, granted from different sources overwrite Issue#: CODE-1165 Modified Paths: -------------- Trunk/pcgen/code/src/java/pcgen/core/VariableProcessor.java Modified: Trunk/pcgen/code/src/java/pcgen/core/VariableProcessor.java =================================================================== --- Trunk/pcgen/code/src/java/pcgen/core/VariableProcessor.java 2012-09-30 13:14:07 UTC (rev 17542) +++ Trunk/pcgen/code/src/java/pcgen/core/VariableProcessor.java 2012-09-30 13:36:04 UTC (rev 17543) @@ -150,7 +150,7 @@ spellLevelTemp); String cacheString = - makeCacheString(aSpell == null ? null : aSpell.getSpell(), varString, src, spellLevelTemp); + makeCacheString(aSpell == null ? null : aSpell, varString, src, spellLevelTemp); addCachedVariable(cacheString, result); } @@ -186,7 +186,7 @@ } String cacheString = - makeCacheString(aSpell == null ? null : aSpell.getSpell(), varString, src, spellLevelTemp); + makeCacheString(aSpell == null ? null : aSpell, varString, src, spellLevelTemp); Float total = getCachedVariable(cacheString); if (total != null) @@ -206,14 +206,18 @@ return null; } - private String makeCacheString( - Spell aSpell, String varString, String src, int spellLevelTemp) + private String makeCacheString(CharacterSpell aSpell, String varString, + String src, int spellLevelTemp) { StringBuilder cS = new StringBuilder(varString).append("#").append(src); if (aSpell != null) { - cS.append(aSpell.getKeyName()); + if (aSpell.getSpell() != null) + { + cS.append(aSpell.getSpell().getKeyName()); + } + cS.append(aSpell.getFixedCasterLevel()); } if (spellLevelTemp > 0) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |