Junior Member
Join Date: Aug 2012
Posts: 2
|
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. |
#1 |
Senior Member
Volunteer Data File Contributor
Join Date: Nov 2009
Posts: 1,502
|
Re-raising an unanswered bug. I'll admit that I haven't tested to see if this is still the case in 3E.
|
#2 |
Senior Member
Volunteer Data File Contributor
Join Date: Nov 2009
Posts: 1,502
|
And this is indeed fixed.
|
#3 |
Junior Member
Join Date: Apr 2013
Posts: 20
|
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. |
#4 |
Senior Member
Volunteer Data File Contributor
Join Date: Nov 2009
Posts: 1,502
|
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 Last edited by Duggan; July 10th, 2015 at 01:14 PM. |
#5 |
Junior Member
Join Date: Apr 2013
Posts: 20
|
Quote:
Quote:
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. |
||
#6 |
Senior Member
Volunteer Data File Contributor
Join Date: Nov 2009
Posts: 1,502
|
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).
|
#7 |
Junior Member
Join Date: Apr 2013
Posts: 20
|
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. |
#8 |
|
|