Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Mutants & Masterminds
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
monkey-x
Junior Member
 
Join Date: Aug 2012
Posts: 2

Old August 14th, 2012, 06:25 AM
When creating a hero with no stamina such as a giant robot, growth doesn't add ranks to toughness as it should do.

A giant robot with growth 8, no stamina score and protection 2 is only recorded as having toughness 2 not the 10 it is supposed to have.
monkey-x is offline   #1 Reply With Quote
Duggan
Senior Member
Volunteer Data File Contributor
 
Join Date: Nov 2009
Posts: 1,502

Old September 13th, 2012, 05:17 AM
Re-raising an unanswered bug. I'll admit that I haven't tested to see if this is still the case in 3E.
Duggan is offline   #2 Reply With Quote
Duggan
Senior Member
Volunteer Data File Contributor
 
Join Date: Nov 2009
Posts: 1,502

Old September 18th, 2012, 08:19 AM
And this is indeed fixed.
Duggan is offline   #3 Reply With Quote
Omphaloskeptic
Junior Member
 
Join Date: Apr 2013
Posts: 20

Old July 10th, 2015, 07:57 AM
Came to report this bug. You said it was fixed in September of 2012, but it's not working for me in July of 2015 -- though I am on a Mac. Could that be an issue?

Strangely, Growth ranks past those divisible by 4 do add to Toughness, though it resets at the next Size category. For example: Growth 8 gives no Toughness while Growth 9 gives 1, Growth 10 gives 2, Growth 11 gives 3, and Growth 12 gives none again.
Omphaloskeptic is offline   #4 Reply With Quote
Duggan
Senior Member
Volunteer Data File Contributor
 
Join Date: Nov 2009
Posts: 1,502

Old July 10th, 2015, 12:55 PM
Not an official employee, but this is working for me at the moment. I have a character with no Stamina and Protection 2. Giving him Growth 2 gives him +4 Toughness. Growth 8 gives him +10 Toughness. It should be adding one per rank of Growth. You do have the January 13th (version 3.5) update, right?

The other thing to do is to look at the Eval Script code for Growth. It should look like the following (since it's visible in even the demo version, I assume there's no problem posting this):

Code:
      ~ Calculate our bonuses
      var strbonus as number
      var stabonus as number
      var intimbonus as number
      var activepen as number
      var stealthpen as number
      var speedbonus as number
      if (tagis[Helper.GrwNoAbil] = 0) then
        strbonus = field[pwRanks].value
        stabonus = field[pwRanks].value
        endif
      if (tagis[Helper.GrwNoSkill] = 0) then
        intimbonus = round(field[pwRanks].value / 2, 0, -1)
        stealthpen = field[pwRanks].value
        endif
      if (tagis[Helper.GrwNoDefs] = 0) then
        activepen = round(field[pwRanks].value / 2, 0, -1)
        endif

      ~ Calculate our growth amount - every 4 ranks gives us a size increase
      var sizebonus as number
      if (tagis[Helper.GrwNoSize] = 0) then
        sizebonus = minimum(field[pwRanks].value, 20) / 4
        sizebonus = round(sizebonus, 0, -1)
        endif

      ~ Calculate our speed bonus - this is half our size ranks, although we
      ~ don't actually apply it here (since it's applied automatically by our
      ~ size change)
      if (tagis[Helper.GrwNoSpeed] = 0) then
        speedbonus = round(sizebonus / 2, 0, -1)
        endif
      
      
      ~ Calculate our speed penalty - this is 1/4 our power ranks
      if (tagis[Helper.GrwSpdPen] <> 0) then
        speedbonus = - round(field[pwRanks].value / 4, 0, -1)
        endif

      ~ Work out if we get a Toughness bonus instead of a Stamina bonus
      var istough as number
      istough = hero.child[attrSta].tagis[Helper.NoScore]

      ~ Set our descriptive text
      if (strbonus <> 0) then
        field[pwInfo].text = "+" & strbonus & " STR"
        endif
      if (stabonus <> 0) then
        var temp as string
        if (istough <> 0) then
          temp = " Tough"
        else
          temp = " STA"
          endif
        field[pwInfo].text = splice(field[pwInfo].text, "+" & stabonus & temp, ", ")
        endif
      if (intimbonus <> 0) then
        field[pwInfo].text = splice(field[pwInfo].text, "+" & intimbonus & " Intimidate", ", ")
        endif
      if (stealthpen <> 0) then
        field[pwInfo].text = splice(field[pwInfo].text, "-" & stealthpen & " Stealth", ", ")
        endif
      if (activepen <> 0) then
        field[pwInfo].text = splice(field[pwInfo].text, "-" & activepen & " active defenses", ", ")
        endif
      if (sizebonus > 0) then
        field[pwInfo].text = splice(field[pwInfo].text, "+" & sizebonus & " size categor", ", ")
        if (sizebonus = 1) then
          field[pwInfo].text &= "y"
        else
          field[pwInfo].text &= "ies"
          endif
        endif
      if (speedbonus <> 0) then
        var speedtext as string
        speedtext = signed(speedbonus) & " speed ranks"
        field[pwInfo].text = splice(field[pwInfo].text, speedtext, ", ")
        endif

      ~ If we're not active, or if we're using an "attack only" version of this
      ~ power, there are no stat changes to apply
      doneif (activated = 0)
      doneif (tagexpr[Helper.AttackOnly | Helper.OthersOnly] <> 0)
      
      ~If we're a stacking power, stop here
      doneif (tagis[Internal.StackWith] <> 0)
      
      ~Apply our knockback modifier
      var knockmod as string
      knockmod = field[pwRanks].value
      perform hero.child[Knockback].field[PowerTemp].modify[-,knockmod,""]

      ~ We don't want to apply our bonuses twice, so for each size category we
      ~ grow, we lose 4 str / sta, 2 intimidate, and gain 2 active defenses
      ~ back.
      if (tagis[Helper.GrwNoAbil] = 0) then
        strbonus -= sizebonus * 4
        stabonus -= sizebonus * 4
        endif
      if (tagis[Helper.GrwNoSkill] = 0) then
        intimbonus -= sizebonus * 2
        stealthpen -= sizebonus * 4
        endif
      activepen -= sizebonus * 2

      ~ Apply ability bonuses
      var v_mod as number
      perform hero.child[attrStr].setfocus
      v_mod = strbonus
      call ApplyPwEff
      if (istough <> 0) then
        perform hero.child[defTough].setfocus
      else
        perform hero.child[attrSta].setfocus
        endif
      v_mod = stabonus
      call ApplyPwEff

      ~ Apply skill bonuses
      perform hero.child[skIntim].setfocus
      v_mod = intimbonus
      call ApplyPwEff
      perform hero.child[skStealth].setfocus
      v_mod = -stealthpen
      call ApplyPwEff

      ~ Apply active defense penalties
      v_mod = -activepen
      perform hero.child[defDodge].setfocus
      call ApplyPwEff
      perform hero.child[defParry].setfocus
      call ApplyPwEff

      ~ Apply negative bonuses to all strength-based skills with the 'grow
      ~ exempt' tag, since they don't get any bonuses from Growth. Bonuses from
      ~ abilities always count as permanent, so we need to always apply a
      ~ permanent modifier to counter them.
      var v_forceprm as number
      v_mod = -1 * field[pwRanks].value
      v_forceprm = 1
      foreach pick in hero from Skill where "SklExempt.pwGrowth"
        perform eachpick.setfocus
        call ApplyPwEff
        nexteach
      v_forceprm = 0

      ~ Apply our size change
      perform hero.child[Size].setfocus
      v_mod = sizebonus
      call ApplyPwEff
      
      ~ Apply our speed penalty
      if (tagis[Helper.GrwSpdPen] <> 0) then
        hero.child[Movement].field[Value].value += speedbonus
        endif
Lastly, the way you're referring to things increasing for every 4 ranks makes me wonder if maybe you're referring to something else. Size increases by 1 for every 4 ranks. Movement every 8... is one of those what you're looking for?

Last edited by Duggan; July 10th, 2015 at 01:14 PM.
Duggan is offline   #5 Reply With Quote
Omphaloskeptic
Junior Member
 
Join Date: Apr 2013
Posts: 20

Old July 10th, 2015, 04:27 PM
Quote:
Originally Posted by Duggan View Post
Not an official employee, but this is working for me at the moment. I have a character with no Stamina and Protection 2. Giving him Growth 2 gives him +4 Toughness. Growth 8 gives him +10 Toughness. It should be adding one per rank of Growth. You do have the January 13th (version 3.5) update, right?
I do have that update installed.

Quote:
...

Lastly, the way you're referring to things increasing for every 4 ranks makes me wonder if maybe you're referring to something else. Size increases by 1 for every 4 ranks. Movement every 8... is one of those what you're looking for?
I'll look at the code, I suppose, but I didn't buy the program so I'd have something to fix...

Anyway, on my machine, if I add 1 rank of Growth to a character with no Stamina (regardless of any Protection ranks), his Toughness rises by 1. Great. That's how it's supposed to work. Growth 2 adds 2 Toughness and if I add 3 ranks of Growth, I get 3 Toughness. So if works fine for the first three ranks of Toughness.

But if I add 4 ranks of Growth, no Toughness is added. Toughness is reset to zero. Then it starts over: 5 ranks of Growth add 1 Toughness, 6 ranks add 2 and 7 ranks add 3 Toughness.

Look, it works like this: column A is ranks of Growth and column B is Toughness added

A | B
1 | +1
2 | +2
3 | +3
4 | 0
5 | +1
6 | +2
7 | +3
8 | 0
9 | +1
etc.

With the end result being a Robosaurus Rex (Growth 10) with a Toughness of 2. Since it's an NPC I can just add Protection levels to get it where I want and the point inflation doesn't really matter, but a PC robot-summoner couldn't use Hero Lab for his robots (on my machine, anyway).

So yeah: I'm talking about Toughness, not Size or Movement -- though clearly the size-granting ranks are significant to this problem.
Omphaloskeptic is offline   #6 Reply With Quote
Duggan
Senior Member
Volunteer Data File Contributor
 
Join Date: Nov 2009
Posts: 1,502

Old July 10th, 2015, 06:35 PM
Ahah! You built your construct by manually lowering your Stamina to "-" instead of setting him as a Construct via the Configure Hero screen? That method does indeed yield no Stamina increase for Growth. Which is odd, because the NoScore attribute comes up as set, but that's why they call them bug reports. I advise lodging a bug via the FogBugz interface, noting the exact circumstances where it shows up (especially if I guessed right that you changed the Stamina value manually).
Duggan is offline   #7 Reply With Quote
Omphaloskeptic
Junior Member
 
Join Date: Apr 2013
Posts: 20

Old July 10th, 2015, 08:16 PM
Ahah, indeed. Good eye. I was building a minion under the dashboard when I noticed it, and had lowered Stamina manually. I normally do anyway because I like being able to name the immunities or put them in a 'Robotic Body' multiple effect group and stuff.

Anyway, thanks. I did turn it in, so we'll see if it changes in the next update.
Omphaloskeptic is offline   #8 Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 09:45 AM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.