• 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

Making a bootstrapped Hindrance not yield a Reward.

Paragon

Well-known member
Currently I've got the Racial Ability for Simians bootstrap a version of Illiterate (with some mechanisms to let you remove it later). Unfortunately its still giving them a Reward point for that. I'm sure there's a way to include some code not to do that, but I can't find an example of how (or even what value is used for Rewards).

Anyone want to enlighten me?
 
You'll want to alter the resHinder number. That's the total being displayed there. Example:

Code:
      if (field[abilActive].value <> 0) then
        #resmax[resHinder] -= 2
        endif
 
Hey Paragon, you actually have a post about exactly this (although CC encases it in the newly required activation code here) in the Common Code thread! Even crediting CC with giving you the code in the first place. ;)
 
I think I poorly explained what I needed here; I already knew how to change the number of permitted Hindrances--because I used it in that very bootstrapped Hindrance, having as you noted, got an answer from CC in the past for it.

The problem is, though, its still yielding a Reward point. I need it to not do that, and I don't know what the id for a Reward point is, or if there's any quirks about subtracting one.
 
I found this thread, about halfway down Myridden uses the following to do an offset of a known value:
Code:
~ Fix the hindrance and reward point numbers.
hero.child[resHinder].field[resMax].value -= 1
herofield[acMaxMinor].value += 1
herofield[acMaxHindP].value += 1

Would something like that get you closer to what you're looking for?
 
Where is it being bootstrapped? That is, what is being added that has the bootstrap code? Is it put directly in the race? Or is it a Racial Ability or Racial Property? I cannot recall ever seeing a case where it counts as a Hindrance (and gives reward points) when it is put inside a Racial Property, which is what I usually use.
 
Where is it being bootstrapped? That is, what is being added that has the bootstrap code? Is it put directly in the race? Or is it a Racial Ability or Racial Property? I cannot recall ever seeing a case where it counts as a Hindrance (and gives reward points) when it is put inside a Racial Property, which is what I usually use.

Its a Racial Ability, but I set it up specifically to also Bootstrap the Hindrance, since that's the way its specifically characterized in the book (and I thought it would be less likely to confuse people that they were supposed to take it separately in addition.
 
I found this thread, about halfway down Myridden uses the following to do an offset of a known value:
Code:
~ Fix the hindrance and reward point numbers.
hero.child[resHinder].field[resMax].value -= 1
herofield[acMaxMinor].value += 1
herofield[acMaxHindP].value += 1

Would something like that get you closer to what you're looking for?

Hmmm. You'd think from what the comment says, but I actually can't tell what part of that is addressing the Reward Points; maybe the last line? Maybe Rewards are acMaxHindP? I guess I can experiment and find out.
 
Last edited:
Well, I tried this as an eval-script at Pre-Traits 5000, but it doesn't seem to work; I'm still getting a Reward point for the Hindrance. I'd guess I have the positioning wrong.

Code:
hero.child[resHinder].field[resMax].value += 1
herofield[acMaxMinor].value += 1
herofield[acMaxHindP].value -= 1

(I used the whole code because I realized that the bootstrapped Hindrance might still be counting against the available ones--which I don't think it should be--and against the number of minor hindrances you can have. I thought about putting it on the racial trait instead, but I thought that might get messed up if you take the feat that buys off the Hindrance in play).
 
Last edited:
Nope. Moving around the phase doesn't seem to do anything. I must be doing something fundamentally wrong here, or I can't put this on the Hindrance itself.
 
Having gone back and looked through the Hero Flags, this doesn't actually seem to have to do with the actual Rewards yielded. What actually is used for a variable for that seems rather illusive (there didn't seem to be anything in the flags).
 
Well, at this point unless someone can point me to whatever is the variable that tells the program how many Rewards you get, I think I'm defeated. I've looked through everything I could find that I seem to have access to, and while I can find all kinds of things to manipulate Hindrances, nothing accessible seems to show how to manipulate the Reward output.
 
I wonder if there isn't some other interaction going on that we're missing. I'd have to say we'd probably have to check out the file to try and get to the bottom of the issue if you want to put the latest version maybe in the same place you had the last one? I could try grabbing it from there.
 
Well, at this point unless someone can point me to whatever is the variable that tells the program how many Rewards you get, I think I'm defeated. I've looked through everything I could find that I seem to have access to, and while I can find all kinds of things to manipulate Hindrances, nothing accessible seems to show how to manipulate the Reward output.

rewPoints
 
I'd assume its "working as intended" Zarlor; after all, when you get a Hindrance, its supposed to yield Reward points. I just don't want it to in the case of the bootstrapped one.

Thanks for the info, JF; I'll see if I can do something with that to address this.

(Though I do wonder if I manipulated the timing on the bootstrap if I could stop it that way...)
 
I'd assume its "working as intended" Zarlor; after all, when you get a Hindrance, its supposed to yield Reward points. I just don't want it to in the case of the bootstrapped one.

Thanks for the info, JF; I'll see if I can do something with that to address this.

(Though I do wonder if I manipulated the timing on the bootstrap if I could stop it that way...)


The way I read the data files, you want something that works like the Elven All thumbs right? This adds the hinderance, but does NOT provide a reward point:

Code:
  <!-- Elves Race -->
  <thing
    id="racElven"
    name="Elven"
    compset="Race"
    isunique="yes"
    description="Elves are tall, thin souls with pointed ears and deepset eyes of all different colors. Whether they hail from the forests or hidden valleys, they are all born more graceful than humans, though somewhat slighter. Their long lives also tend to make them a bit wiser.{br}{br}Elves think dwarves are somewhat crude. Humans are too ambitious for their tastes. Half-orcs are downright barbaric.{br}{br}Most elves are content in their secluded homes for hundreds of years, but humans seek to conquer the world even though they live but half a dozen decades or so.{br}{br}Elves live upwards of 300 years. They have fair skin and their hair includes all typical colors, plus shades of silver and blue.">
    <usesource source="OrigRace"/>
    <usesource source="Fantasy"/>
    <bootstrap thing="abAgile"/>
    <bootstrap thing="abThumbElf"/>
    <bootstrap thing="abLowLight"/>
    </thing>

  <!-- All Thumbs Ability - links to hindrance with different description -->
  <thing
    id="abThumbElf"
    name="All Thumbs"
    compset="Simple"
    isunique="yes"
    description="Elves have an inbred dislike of mechanical objects, and thus have the All Thumbs Hindrance. They shun most metallic or manufactured items of any design.">
    <bootstrap thing="hinThumbs"/>
    </thing>


From what I can find using searches,

Code:
  <!-- Accrue hindrance points into the resource appropriately -->
    <eval index="2" phase="Setup" priority="5000"><![CDATA[
      ~if this hindrance was not add by the user, skip it entirely
      doneif (isuser = 0)

      ~if this hindrace was added as an advance, skip it entirely
      doneif (tagis[Advance.?] <> 0)

      ~consume another hindrance slot or two, depending on the severity
      #resmax[resHinder] += field[hinMajor].value + 1
      ]]></eval>

    <!-- Accrue hindrance points into the resource appropriately -->
    <eval index="3" phase="PreTraits" priority="4000"><![CDATA[
      ~if this hindrance was not add by the user, skip it entirely
    if (field[hinMajor].value <> 0) then
        perform assign[User.HindMajor]
    else
        perform delete[User.HindMajor]
        endif
      ]]></eval>

    </component>

specifically, the above code seems to indicate that if added NOT by the user explicitly, then don't add a reward point(this seems counter intuitive as a "rule" to me though and is the only "core" race(I also have the horror stuff loaded) I can see that does this).

Code:
~if this hindrance was not add by the user, skip it entirely
      doneif (isuser = 0)

Based on the entire thing, it looks like you would need to add a racial ability and then bootstrap your hindrance to that ability, which you have already done so this is really odd.


You mentioned in your original post: "(with some mechanisms to let you remove it later)". Perhaps that extra code you have to do the remove later part is what is messing you up?
 
Last edited:
The reason I don't think things are working as intended is for the exact reason jfrazierjr shows above. I've never run into issues bootstrapping a Hindrance with the resHinder code mentioned at the top. That's all I've ever had to really work with on that front. That's why I'm wondering if there isn't some other interaction going on. Is there anything that the Hindrance in question bootstraps? Or maybe it is a timing issue (those can be very thorny, that's for sure). I'm just wondering if there is any kind of "rabbit-hole" of things referencing other things that individually shouldn't be an issue, but collectively are causing your problem.
 
Huh. All right, let me find the relevant pieces of code and see if anyone can figure out why its doing it, then.

This is the Racial Property at hand for the Simians:

Code:
<thing id="rpLessEdu" name="Less Educated" description="Simian communities are superstitious of “modern” or “futuristic” technology, and traditionally don’t teach technology to their young. Simians begin with the Illiterate Hindrance, and cannot take the following skills at  the  time  of  character  creation:  Driving,  Lockpicking, Knowledge  (Computers,  Electronics,  Science,  and  the like), Piloting, Repair. Simians, can buy this off with two character creation points, or as an Advance." compset="RacialProp" summary="Technology averse">
    <fieldval field="raceCstVal" value="-2"/>
    <usesource source="BrEarth"/>
    <tag group="DomainTerm" tag="Race" name="Race" abbrev="Race"/>
    <tag group="User" tag="LessEdu" name="LessEdu" abbrev="LessEdu"/>
    <bootstrap thing="hinIllit">
      <containerreq phase="Initialize" priority="8000">hero#User.LessEdu</containerreq>
      </bootstrap>
    <eval phase="Setup" priority="5000">#resmax[resHinder] += 1</eval>
    </thing>

In addition to replacing the relevant skills with code that prevents a Simian with this property from taking them, I also made a custom copy of Illiterate:

Code:
<thing id="hinBESIll" name="Illiterate" description="Your hero cannot read. He can probably sign his name and knows what a STOP sign says, but can do little else. He also doesn&apos;t know much about math either. He can probably do 2+2=4, but multiplication and the like are beyond him.{br}{br}Illiterates can&apos;t read or write in any language, by the way, no matter how many they actually speak." compset="Hindrance" summary="Cannot read, write, or do math" uniqueness="unique">
    <usesource source="BrEarth"/>
    <pickreq thing="racSimian"/>
    </thing>

I didn't actually do anything to replace the regular copy if Illiterate (which I suppose I should, since otherwise a Simian could take both versions; I could just remove the Simian-only limit on the version above and preclude the regular one. Now that I think about it, I'm not sure why I even did a custom copy here; I probably thought what I did with the third part of this I'd have to direct at the Hindrance rather than the RP, or I was going to put the "get an extra Hindrance point" on the Hindrance not the RP.

Speaking of the third part, this was done as a method of allowing a Simian a way to get rid of the Racial Property; in the book its indicated it can be bought off with an Advance or two Rewards points, which made the obvious way to do it a custom Edge:

Code:
<thing id="edgEducSim" name="Educated Simian" description="A Simian with this Edge is not Illiterate nor limited in the skills they may take." compset="Edge" summary="An educated Simian">
    <fieldval field="shortname" value="Educ Simian"/>
    <usesource source="BrEarth"/>
    <tag group="EdgeType" tag="Background"/>
    <tag group="MinRank" tag="0"/>
    <tag group="User" tag="EducSim"/>
    <eval phase="Initialize" priority="7500">perform hero.delete[User.LessEdu]</eval>
    <pickreq thing="racSimian"/>
    </thing>

So there you are. The only thing I've got in there is the code to make sure the Simian Illiterate doesn't count against the Hindrance limit on the RP, so I'm not sure if bootstrapped Hindrances aren't supposed to yield Rewards why this would be doing so.
 
Though I do note I need to go back and put in the code that adjusts the maximum Minor Hindrances too, now that I look at it.
 
Back
Top