Senior Member
|
How would I increase the radius of a particular aura by the HD of the monster? I know I need an eval script, but can't find one that does that.
AWizardInDallas |
#1 |
Senior Member
Join Date: Oct 2011
Posts: 6,793
|
Make a copy of the ability you want to alter and look at it. Does it generate/store the radius in a field? If so, increase that field. Hit dice can be taken from a herofield, or by counting Classes tags on the hero.
|
#2 |
Senior Member
|
There isn't an existing ability of which I'm aware. Is there an object model for Hero Lab somewhere? The code for this doesn't seem readily apparent (like counting Hit Dice or levels). I know a couple of programming languages and can usually use reference material to arrive at coding solutions. I don't mind writing an new eval script and I'm not afraid to do so, but there seems to be no code reference for Hero Lab.
AWizardInDallas |
#3 |
Senior Member
Join Date: Oct 2011
Posts: 6,793
|
I'm sorry, you've confused me. You said you wanted to increase "a particular aura", but then say that "there isn't an existing ability", which seems contradictory. Can you describe what your intention is a bit more?
|
#4 |
Senior Member
|
Entropic Aura: The mere presence of a slaad subtly weakens the fabric of reality. Whenever a non-slaad creature adjacent to a slaad rolls a d20, it must roll twice and take the worse of the two rolls. [The radius for most slaad = 5 feet. The default value in the Range field, in the editor is 5.]
Most Slaads [Normal Statblock Line]: Aura Entropic Aura (5 ft.) Golden Slaads Statblock Line: Aura Entropic Aura (10 ft.) Black Slaads Statblock Line: Aura Entropic Aura (20 ft.) Here's what I ended up doing [Eval Scripts]: Script #1 Final Phase: Priority 10000: Index 1 if (#totallevelcount[] >= 18) then <-- Golden Slaad HD = 18 field[abRange].value = 10 endif if (#totallevelcount[] >= 20) then <-- Black Slaad HD = 20 field[abRange].value = 20 endif call CalcRange Script #2 Render: Priority 10000: Index 2 ~ Use our value field as the range of our aura field[livename].text = field[name].text & " (" & field[abRange].value & " feet)" AWizardInDallas |
#5 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
I'd have just set abRange as an assignval on the bootstrap where each race adds this ability unless this is for a race that can turn from one type of slaad to another (or if the radius increases if a lesser slaad gets additional HD added or takes enough class levels to be more than 18 HD), and adding ranges to names is so common that we set up a way to automate that - in the Automatic Name Generation section of the editor tab, Section 3 - In-Parentheses, choose "Include Range Text", and then you can delete that second script. Then choose the same setting in Automatic Statblock Name Generation.
|
#6 |
Senior Member
|
Slaad is a subtype instead of a race and I've bootstrapped entropic aura to the subtype rather than than the race. This so that when I pick the slaad subtype in the Bestiary Monster Creation tool it adds entropic aura (plus a litany of other slaad subtype abilities) without my having to add them individually to each file. Subtype doesn't have the automatic options. Besides, I've also decided that if a Death Slaad, for example, does reach 18 HD I will indeed increase the radius of it's aura.
AWizardInDallas |
#7 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
Yes, in that case, the script is what you want.
|
#8 |
|
|