• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Feat Help

blzbob

Well-known member
I'm missing something obvious but I can't figure out what it is. I'm trying to get this feat to show up correctly.

You may expend two uses of channel energy to emit a 30-foot-radius burst of raw emotion that temporarily shifts a humanoid’s attitude by one step (for example, hostile targets become unfriendly, indifferent targets become friendly) for 1 round/channel die. A Will save (DC 10 + channel dice + Cha modifier) negates this effect. If you or an ally take any hostile actions, this effect immediately ends for all affected targets.

This is my eval script:

Final Phase 10000

doneif (hero.tagis[Hero.Channel] = 0)

field[abValue].value += hero.child[xChannel].field[abValue2].value

field[livename].text = field[name].text &" No. of Rounds " & signed(field[abValue].value)

field[abValue].value += hero.child[xChannel].field[abValue2].value +hero.child[aCHA].field[aModBonus].value +10

field[livename].text = field[name].text &" DC" & signed(field[abValue].value)

For some reason, the DC is always is calculating as 10 + 2*Channel Dice + Charisma.

Thanks for any assistance.
 
Line three adds to abValue, and then line 7 adds to the same field. Perhaps you should use a different field, like abDuration for the first instance on line 3.

Also, why not store the second part (in line 7) in abDC? That way it will append the value to your livename automatically.
 
I didn't know there was such a thing as abDC. That's going to make entering all these feats much easier. I'll change the other field to abDuration. Thanks.
 
I didn't know there was such a thing as abDC. That's going to make entering all these feats much easier. I'll change the other field to abDuration. Thanks.
Don't forget the power of using the "debug" tools. In this case if you add a feat and right click you can "View Debug Fields" and can go through all the fields that are on the feat. The "Text Desc" for each field does a pretty good job of explaining what the field is used for.

Last thought is don't forget to use Macros when you can. A macro is any of the functions that start with #. It can really help you write shorter code. Here is an example:

Final Phase 10000
Code:
~ If channel energy Pick not live get out now!
doneif (hero.childlives[xChannel] <> 1)

~ Set duration equal to the number of channel dice
field[abDuration].value += #value2[xChannel]

~ Set DC equal to Channel Dice + Cha + 10
field[abDC].value += 10 + #value2[xChannel] + #attrmod[aCHA]
Then you can set the "Usage.?" tag on the feat to Rounds so that rounds is displayed after the duration value.
 
Last edited:
Thanks for the tips Shadow! I figured I'd been doing it the hard way but still getting the job done, mostly. I think your macros and Aaron's advice will address a couple other problems I was running into but hadn't started to fix yet.
 
It doesn't show the name of the feat in the Specials list anymore. It's changing the name to the DC. I'm also don't know how to use the "Usage.?" text.

~ If channel energy Pick not live get out now!
doneif (hero.childlives[xChannel] <> 1)

~ Set duration equal to the number of channel dice
field[abDuration].value += #value2[xChannel]

~ Set DC equal to Channel Dice + Cha + 10
field[abDC].value += 10 + #value2[xChannel] + #attrmod[aCHA]

field[livename].text = field[abDuration].value & " Rounds " & field[abDC].value
 
field[livename].text = field[abDuration].value & " Rounds " & field[abDC].value
This is the problem. I just fixed dozens of issues in my home game package. They changed live name to be set at Render/1000 now. So you have to include the name of the "Thing" in the text creation now if earlier than Render/1000.

Code:
field[livename].text = field[name].text & " " & field[abDuration].value & " Rounds " & field[abDC].value

Also usage is the tags that control displaying next to Duration. Like /day or /rounds or /use. In the editor its called "Usage Period?" now that I am near HL I can get that. What it sets is a tag called "Usage.?" on the feat.

So again now that I am near HL again I see that its trkMax not abDuration you should be using. The idea here is once you activate the feat the gamer will want a way to track the number of rounds used.

So I would check mark "Show in Tracked Resources List?".
Set "Usage period?" to "/round".
Image1.jpg


Then use this script Post-Attributes/20000:
Code:
~ If we're disabled, do nothing
doneif (tagis[Helper.FtDisable] <> 0)

~ Set tracker equal to the number of channel dice
field[trkMax].value += #value2[xChannel]

~ Set DC equal to Channel Dice + Cha + 10
field[abDC].value += 10 + #value2[xChannel] + #attrmod[aCHA]
I took out the childlives check as I was able to confirm now that using #value2[] macro does that internally as if no xChannel found it will NOT toss errors.

Now then HL will append the DC and /round duration onto the feat for you. No need to set the livename and stuff yourself.

If you have an ability/feat that increases the duration then all you need to do is use the tracker max macro like so:
Code:
~ Increase duration by 5 rounds
#trkmax[FEAT_UNIQUE_ID] += 5

Hope that helps...
 
That did the trick! Thanks. I need to go back and fix about 15 feats but it will be worth it in the end! Thanks for the help.
 
Back
Top