• 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

How to override an Eval for exceptions

Duggan

Well-known member
So, I have an eval rule for calculating health that works for all but two races, adding a base value to their Endurance skill rank. Those two races, one uses a different formula based on the same variables, and the other works entirely different. The last case, A.I. characters, is a future endeavour anyhow, but I suspect people will want to do the amorphs. What's the best way to override the value? Just add an Eval script that overwrites the value?

Code:
<component
    id="Race"
    name="Race"
    autocompset="no">

    <!-- Base Health value -->
    <field
      id="baseHealth"
      name="Base Health"
      type="static">
      </field>
    
<!-- .... -->
    
    <!-- Determine base health -->
    <eval index="2" phase="Traits" priority="4001"><![CDATA[
      #traitbonus[trHealth] = field[baseHealth].value + #trait[skEndure]
    ]]></eval>

    </component>

The amorph uses a slightly different formula of "2 + Endurance * 2". Currently, it has its own Eval script to recalculate health, but that seemed a bit clumsy.
 
The answer varies depending on how many different things make the same change - is it just the one thing that can suppress the thing, or many different things? Same for the variant - how often will that be used?

There's quicky solutions, like just adding a tag to the hero to denote some other state, and look for that, or there's more complex solutions, like storing different values in different fields, and modifying those values depending on what's needed. Or depending on the circumstances, setting up proper handling for ability activation/deactivation may be what's needed.
 
{nods} In this case, there's literally two in the main sourcebook that don't follow the usual rule. I think I should be OK with just adding a second calculation with a note in the comments for anyone else doing the same.
 
In that case, I'd just use if...else, based around tags that are assigned, either to the hero context, or to the pick that will be running this script.
 
Back
Top