• 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

SR 5th ed. Altering Limits

Kesendeja

Well-known member
Now this one is for my husbands game, he's reworked how to figure Limits and wants to know if there is a way to redo the formula in herolab. I've put the new formula here hoping you can help. Thanks

Physical =((Agility x2)+Strength+Body+Reaction)/4
Mental =((Logic x2)+(Intuition x2)+Willpower)/4
Social = ((Charisma x2)+Intuition+Willpower+Essence)/4
 
In the Develop menu, make sure Enable Data File Debugging is turned on.

Then, right-click on each of the limits, and choose "Show Debug Tags for XXXXX".

Study the tag lists - can you see how the attribute values are being set?
 
In the general grouping, find the mechanics tab, and create a new mechanic.

Now, with mechanics, there's a special note. The "Test Now!" button will not work for mechanics, so you'll need to go back to the main HL window, and from the Develop menu, choose "Quick-reload data files". ctrl-r is the keyboard shortcut for that. You'll need to have Enable Data File Debugging turned on (at the top of the list in the Develop menu) before quick-reload becomes available.

Now, on your mechanic, add a new Eval Script. For this, I think Pre-Traits/10000 will be a good phase & priority.

To delete a tag, here's the code:

Code:
perform hero.childfound[ilPhysical].delete[AttrDicDiv.3]
And then to add a new tag

Code:
perform hero.childfound[ilPhysical].assign[AttrDicDiv.4]
Those can also be combined in a single line:
Code:
perform hero.childfound[ilPhysical].tagreplace[AttrDicDiv.3,AttrDicDiv.4]
So you'll build up a list of changes that you're making to each limit, in order to change the equation each one is using. Since all mechanics exist on all characters all the time, you'll probably want to add a source to your mechanic. That means that if the source is turned off, the mechanic is non-live, and it won't run its eval script and make these changes to the limits.

To get the Ids for mental & social, right-click that limit, and choose "Copy unique Id", which is at the bottom of that list.
 
I can see where this changes the multiplier, but how to change the formula (attributes in the Calculations hover pop-up and all). It has changed by adding another attribute (so as to keep the overall limit level similar) and the physical limit has changed more drastically. Cannot see where the editor tells you where the formulas are.
 
The other piece of the puzzle is the AttrDicDiv tag.

So, for physical, for example, it has the following tags that are used in the calculation:

AttrValue.attrBod
AttrValue.attrRea
AttrValue2.attrStr

So, Bod + Rea + Str * 2

Then, it has

AttrDicDiv.3

Which means to divide all that by 3

So, assemble those together, and you get:
[(Strength x 2) + Body + Reaction] / 3 (round up)
 
So (I haven't programmed since GWBasic so please forgive me) putting those together and replacing the original formula I would have to delete the old formula:

perform hero.childfound[ilPhysical].delete[AttrValue.attrBod, AttrValue.attrRea, AttrValue2.attrStr, AttrDicDiv.3]?

and replace it with:

perform hero.childfound[ilPhysical].assign[AttrValue.attrBod, AttrValue.attrRea, AttrValue2.attAgi, AttrValue.attrStr, AttrDicDiv.4]?

And then just do the same for [ilMental] and [ilSocial]?
 
You can only delete/assign one per line, but yes.

Also, since your equation still uses Body x 1 and Reaction x 1, no need to delete/assign those attributes.
 
Back
Top