Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - d20 System

Notices

Reply
 
Thread Tools Display Modes
Illyahr
Senior Member
 
Join Date: Feb 2013
Posts: 357

Old February 13th, 2020, 12:43 PM
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
You choose a mental-based skill. While active, you gain a bonus to attack equal to 1/4 the bonus while using katana or wakizashi (bastard sword or shortsword) but you also lose half the final value from that skill.
Illyahr is offline   #1 Reply With Quote
Sendric
Senior Member
 
Join Date: Jul 2010
Posts: 3,144

Old February 13th, 2020, 02:44 PM
What part isnt working?

Try adding this in front of chosen: field[usrChosen1].

Last edited by Sendric; February 14th, 2020 at 03:38 AM.
Sendric is offline   #2 Reply With Quote
Illyahr
Senior Member
 
Join Date: Feb 2013
Posts: 357

Old February 14th, 2020, 11:06 AM
Quote:
Originally Posted by Sendric View Post
Try adding this in front of chosen: field[usrChosen1].
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]"
EDIT: Got the bonuses and penalty to work. Just need to figure out why the selection isn't reduced to just skills

Last edited by Illyahr; February 14th, 2020 at 01:54 PM.
Illyahr is offline   #3 Reply With Quote
Sendric
Senior Member
 
Join Date: Jul 2010
Posts: 3,144

Old February 18th, 2020, 04:24 AM
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
Let me know if that works for you.
Sendric is offline   #4 Reply With Quote
Illyahr
Senior Member
 
Join Date: Feb 2013
Posts: 357

Old February 18th, 2020, 02:52 PM
That worked, thanks
Illyahr is offline   #5 Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 12:02 PM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.