I’m working on several archetypes that use an alternate magic system (Super Genius Games’ House Rule Handbook: Spell Point Compilation), which is a spell point system.  The aspect of this system that I’m having trouble with is this: “A bard gains bonus spell points equal to her Charisma bonus (to a maximum of the highest level spell she knows).”
To that effect, I put together this eval script:
<Post-attributes 10000>
	
	
	
		
First, there’s probably a more elegant way of scripting this, but at least I know that abValue is calculating correctly. The trouble is that abValue isn’t adding to the bard’s spell point pools. I attempted every phase from First to Render, but the spell points aren’t changing. Hero Lab gurus, what am I missing?
				
			To that effect, I put together this eval script:
<Post-attributes 10000>
		Code:
	
	if (hero.childfound[aCHA].field[aFinalVal].value >= 22) then
   if (hero.childfound[cHelpBrd].field[cTotalLev].value >= 16) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 4
      hero.childfound[cReseSPBrd].field[abValue].value += 3
   elseif (hero.childfound[cHelpBrd].field[cTotalLev].value >= 13) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 3 
      hero.childfound[cReseSPBrd].field[abValue].value += 3
   elseif (hero.childfound[cHelpBrd].field[cTotalLev].value >= 10) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 3 
      hero.childfound[cReseSPBrd].field[abValue].value += 2
   elseif (hero.childfound[cHelpBrd].field[cTotalLev].value >= 7) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 2 
      hero.childfound[cReseSPBrd].field[abValue].value += 2
   elseif (hero.childfound[cHelpBrd].field[cTotalLev].value >= 4) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 2 
      hero.childfound[cReseSPBrd].field[abValue].value += 1
   else
      hero.childfound[cOpenSPBrd].field[abValue].value += 1 
      hero.childfound[cReseSPBrd].field[abValue].value += 1
   endif
elseif (hero.childfound[aCHA].field[aFinalVal].value >= 20) then
   if (hero.childfound[cHelpBrd].field[cTotalLev].value >= 13) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 3 
      hero.childfound[cReseSPBrd].field[abValue].value += 3
   elseif (hero.childfound[cHelpBrd].field[cTotalLev].value >= 10) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 3 
      hero.childfound[cReseSPBrd].field[abValue].value += 2
   elseif (hero.childfound[cHelpBrd].field[cTotalLev].value >= 7) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 2 
      hero.childfound[cReseSPBrd].field[abValue].value += 2
   elseif (hero.childfound[cHelpBrd].field[cTotalLev].value >= 4) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 2 
      hero.childfound[cReseSPBrd].field[abValue].value += 1
   else
      hero.childfound[cOpenSPBrd].field[abValue].value += 1 
      hero.childfound[cReseSPBrd].field[abValue].value += 1
   endif
elseif (hero.childfound[aCHA].field[aFinalVal].value >= 18) then
   if (hero.childfound[cHelpBrd].field[cTotalLev].value >= 10) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 3 
      hero.childfound[cReseSPBrd].field[abValue].value += 2
   elseif (hero.childfound[cHelpBrd].field[cTotalLev].value >= 7) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 2 
      hero.childfound[cReseSPBrd].field[abValue].value += 2
   elseif (hero.childfound[cHelpBrd].field[cTotalLev].value >= 4) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 2 
      hero.childfound[cReseSPBrd].field[abValue].value += 1
   else
      hero.childfound[cOpenSPBrd].field[abValue].value += 1 
      hero.childfound[cReseSPBrd].field[abValue].value += 1
   endif
elseif (hero.childfound[aCHA].field[aFinalVal].value >= 16) then
   if (hero.childfound[cHelpBrd].field[cTotalLev].value >= 7) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 2 
      hero.childfound[cReseSPBrd].field[abValue].value += 2
   elseif (hero.childfound[cHelpBrd].field[cTotalLev].value >= 4) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 2 
      hero.childfound[cReseSPBrd].field[abValue].value += 1
   else
      hero.childfound[cOpenSPBrd].field[abValue].value += 1 
      hero.childfound[cReseSPBrd].field[abValue].value += 1
   endif
elseif (hero.childfound[aCHA].field[aFinalVal].value >= 14) then
   if (hero.childfound[cHelpBrd].field[cTotalLev].value >= 4) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 2 
      hero.childfound[cReseSPBrd].field[abValue].value += 1
   else
      hero.childfound[cOpenSPBrd].field[abValue].value += 1 
      hero.childfound[cReseSPBrd].field[abValue].value += 1
   endif
elseif (hero.childfound[aCHA].field[aFinalVal].value >= 12) then
      hero.childfound[cOpenSPBrd].field[abValue].value += 1 
      hero.childfound[cReseSPBrd].field[abValue].value += 1
   endifFirst, there’s probably a more elegant way of scripting this, but at least I know that abValue is calculating correctly. The trouble is that abValue isn’t adding to the bard’s spell point pools. I attempted every phase from First to Render, but the spell points aren’t changing. Hero Lab gurus, what am I missing?
