Senior Member
Join Date: Feb 2013
Posts: 357
|
I'm trying to program in a custom special but I can't get the code to work itself out properly
Code:
foreach pick in hero from BaseSkill if (eachpick.islinkage[skillattr] <> 0) then if (eachpick.linkage[skillattr].tagis[thingid.aCHA] + eachpick.linkage[skillattr].tagis[thingid.aINT] + eachpick.linkage[skillattr].tagis[thingid.aWIS] <> 0) then field[usrCandid1].text = "hero.child.[thingid.each]" endif endif nexteach var bonus as number var pen as number bonus = chosen.field[kModValue].value/4 bonus = round(bonus,0,-1) pen = chosen.field[kModValue].value/2 pen = round(pen,0,-1) if (field[hIsOn1].value <> 0) then foreach pick in hero from BaseWep where "thingid.wSwordBast | thingid.wShortswd" eachpick.field[wAttBonus].value += bonus chosen.field[aFinalVal].value -= pen nexteach endif |
#1 |
Senior Member
Join Date: Jul 2010
Posts: 3,151
|
What part isnt working?
Try adding this in front of chosen: field[usrChosen1]. Last edited by Sendric; February 14th, 2020 at 03:38 AM. |
#2 |
Senior Member
Join Date: Feb 2013
Posts: 357
|
That works to get it to compile, but I'm getting a custom expression error and doesn't reduce to just mental-based skills. It also doesn't pull the bonus from the chosen skill.
I changed the expression line to: Code:
field[usrCandid1].text = "hero.child.tagis[thingid.each]" Last edited by Illyahr; February 14th, 2020 at 01:54 PM. |
#3 |
Senior Member
Join Date: Jul 2010
Posts: 3,151
|
Replace your foreach loop with this:
Code:
var expr as string var lngth as number foreach pick in hero from BaseSkill if (eachpick.islinkage[skillattr] <> 0) then if (eachpick.linkage[skillattr].tagis[thingid.aCHA] + eachpick.linkage[skillattr].tagis[thingid.aINT] + eachpick.linkage[skillattr].tagis[thingid.aWIS] <> 0) then expr &= eachpick.tagids[thingid.?, " | "] & " | " endif endif nexteach lngth = length(expr) lngth -= 2 expr = left(expr,lngth) field[usrCandid1].text = expr |
#4 |
Senior Member
Join Date: Feb 2013
Posts: 357
|
That worked, thanks
|
#5 |
|
|