Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
~ 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
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?
...
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?