Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Mutants & Masterminds

Notices

Reply
 
Thread Tools Display Modes
Jobe00
Senior Member
 
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150

Old July 23rd, 2012, 12:31 AM
I'm wanting to make Growth and Shrinking where they alter size category every 3 ranks instead of every 4 because I like the Cube/Square Law (Every mass increase by a factor of 8, which would be 3 ranks, doubles size, which would be 1 size category increase).

So this would be altered fluff for Growth:

Each rank of Growth adds 1 rank to your Strength and Stamina (constructs add 1 rank to Strength and Toughness if they lack Stamina) and adds 1 rank to your mass. Every two ranks adds a +1 bonus to Intimidation. Every 6 ranks adds 1 to your Speed. Every rank of Growth subtracts 1 from your Stealth checks. Every 2 ranks (rounded up) subtracts 1 from your Dodge and Parry defenses. Every 3 ranks of Growth increases your size rank by 1 (ordinary humans start out at size rank -2, between 3 and 6 feet tall). So at Growth 6, you have +6 Strength and Stamina, +3 to Intimidation, +1 Speed, but -6 to Stealth, -3 Dodge and Parry, and you are size rank 0 (around 24 feet tall). Increases to your Strength and Stamina also improve related traits like your Strength Damage, Fortitude, and Toughness.

I copied the Growth power over and fiddled with it as follows:


~ Calculate our bonuses
var strbonus as number
var stabonus as number
var intimbonus as number
var activepen as number
var stealthpen 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
activepen = round(field[pwRanks].value / 2, 0, -1)

~ Calculate our growth amount - every 3 ranks gives us a size increase
var sizebonus as number
if (tagis[Helper.GrwNoSize] = 0) then
sizebonus = minimum(field[pwRanks].value, 20) / 3
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)
var speedbonus as number
if (tagis[Helper.GrwNoSpeed] = 0) then
speedbonus = round(sizebonus / 2, 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
field[pwInfo].text = splice(field[pwInfo].text, "+" & speedbonus & " speed ranks", ", ")
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)

~ 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


I keep getting the error:
(line 13) - Thing 'pwGrowRev' - Value given for attribute 'index' does not satisfy range requirements

Is there any way to make this viable where it will work like I want it?
Jobe00 is offline   #1 Reply With Quote
TCArknight
Senior Member
 
Join Date: Jan 2007
Location: NW Arkansas
Posts: 1,321

Old July 23rd, 2012, 04:55 AM
I think I've gotten this before too when copying a power with scripts. Check the numbering of the scripts on the power. It should start with number 1 and go from there. If you just have one script, it should be number 1.
TCArknight is offline   #2 Reply With Quote
Reply

Thread Tools
Display Modes

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 02:10 PM.


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