Steve Jackson Games - Site Navigation
Home General Info Follow Us Search Illuminator Store Forums What's New Other Games Ogre GURPS Munchkin Our Games: Home

Go Back   Steve Jackson Games Forums > Roleplaying > GURPS > GURPS Character Assistant

Reply
 
Thread Tools Display Modes
Old 03-08-2016, 01:38 PM   #1
Seraphim
 
Seraphim's Avatar
 
Join Date: Jun 2006
Location: Ringgold, GA
Default Phoenix and Log ST

I've been messing around with the new data file for Kromm's Pyramid Article "Knowing Your Own Strength" that's up on the GCA Repository. I like to have the Lifting Feats section on the amazing Phoenix character sheet on all of my character's sheets. However, it does not seem to be calculating correctly in that section.

For example, a sample character I was putting together has ST 31 with a BL of 1.26tn according to GCA. When I check the Lifting Feats block, it says 1-Hand Lift is 384 lb, 2-Hand List is 1536 lb, Shove / Over is 15.11 tn, Carry on Back is 18.89 tn, and Shift Slightly is 62.95 tn. From what I can figure from Basic (mind you, math is not my strong point), those stats should be 2.52 tn, 10.08 tn, 15.12 tn, 18.9 tn, and 63 tn.

Am I missing something? What can I do to correct this?

Thanks so much!
Seraphim is offline   Reply With Quote
Old 03-09-2016, 06:52 AM   #2
tmedwards
 
tmedwards's Avatar
 
Join Date: Feb 2006
Location: Krotz Springs, LA US
Default Re: Phoenix and Log ST

Assuming you mean the Variant - Revised Strength Table by Woodman, then, as its description notes, the file is incomplete.

The package's description (emphasis mine):
Quote:
The revised Strength-Table from Pyramid #83 So far only the Rescaled Damage and BL
To be clear about what's happening here. Phoenix displays the various lifting feats traits as-is. So, if those traits (or the traits they depend on) haven't been revised, then you won't see what you're expecting to.

TL;DR: The GDF is unfinished, so fixing this would require it to be finished.
__________________
Thomas M. EDWARDS <tmedwards@motoslave.net>

GCA4 resources: GCA Repository, Phoenix (r66), GMCS (2.17), Bookish (r12)

Last edited by tmedwards; 03-09-2016 at 06:59 AM.
tmedwards is offline   Reply With Quote
Old 03-09-2016, 03:56 PM   #3
Seraphim
 
Seraphim's Avatar
 
Join Date: Jun 2006
Location: Ringgold, GA
Default Re: Phoenix and Log ST

Quote:
Originally Posted by tmedwards View Post
TL;DR: The GDF is unfinished, so fixing this would require it to be finished.
Thanks for clearing that up. I appreciate it!

I opened up both the Basic Set and the Variant - Revised Strength Table gdfs and noticed that the One-Handed and Two-Handed Lift traits are calculating BL using Arm ST the default way. I am not much of a coder, so I don't know how to rewrite those two traits to update them to the Variant - Revised Strength style.

I don't know how to get this

Quote:
One-Handed Lift, basevalue(2 * @if(ST:One Arm Lifting ST::score <= 7 then ST:One Arm Lifting ST * ST:One Arm Lifting ST / @if(ST:Metric = 1 THEN 11 ELSE 5) else @int((ST:One Arm Lifting ST * ST:One Arm Lifting ST / @if(ST:Metric = 1 THEN 11 ELSE 5))+0.5))), maxscore(1000000), minscore(0), round(1), page(B353), units(lb|kg)
to fit with what this is doing.

Quote:
Basic Lift, basevalue(@int(@if(ST:Metric = 1 THEN 1 ELSE 2))* @power(10 , ST:Lifting ST/10)), maxscore(1000000), minscore(0), symbol(BL), round(@if(ST:Lifting ST::score <= 7 then 0 else 1))
Seraphim is offline   Reply With Quote
Old 03-10-2016, 02:33 AM   #4
tmedwards
 
tmedwards's Avatar
 
Join Date: Feb 2006
Location: Krotz Springs, LA US
Default Re: Phoenix and Log ST

Without looking into it too closely and reserving the right to be totally wrong—I'd think that you'd want to revise "ST:One Arm Lifting ST", rather than "ST:One-Handed Lift". I haven't seen the article this is all based on, however, it seems like it would make more sense for it to modify the basic strength traits, rather than the follow-on traits (like the feats).
__________________
Thomas M. EDWARDS <tmedwards@motoslave.net>

GCA4 resources: GCA Repository, Phoenix (r66), GMCS (2.17), Bookish (r12)
tmedwards is offline   Reply With Quote
Old 03-10-2016, 12:18 PM   #5
Seraphim
 
Seraphim's Avatar
 
Join Date: Jun 2006
Location: Ringgold, GA
Default Re: Phoenix and Log ST

Okay, so things have gotten more interesting.

I figured out how to calculate One-Handed Lift:

Quote:
One-Handed Lift, basevalue(@int(@if(ST:Metric = 1 THEN 1 ELSE 4))* @power(10 , ST:One Arm Lifting ST/10)), maxscore(1000000), minscore(0), round(@if(ST:One Arm Lifting ST::score <= 7 then 0 else 1)), page(B353), units(lb|kg)
This is just the same code the original author of this GDF used for BL, with the ELSE 2 changed to ELSE 4. I'm not exactly sure how the metric part should change, but I don't use metric, so it's not a concern to me right now.

Two-Handed Lift would be the following:

Quote:
Two-Handed Lift, basevalue(@int(@if(ST:Metric = 1 THEN 1 ELSE 16))* @power(10 , ST:Two Arm Lifting ST/10)), maxscore(1000000), minscore(0), round(@if(ST:Two Arm Lifting ST::score <= 7 then 0 else 1)), page(B353), units(lb|kg)
However, I found a new problem. The original Revised Strength Table GDF was calculating damage incorrectly per Kromm's "Knowing Your Own Strength" article. The article has damage as thr = sw-2. Each level of ST adds +1 to both thr and sw. Each reduced level adds -1 to both.

I have no idea how to implement this. I corrected the levels of damage in the GDF as follows:

Code:
st(1), thr(1d-11), sw(1d-9)
st(2), thr(1d-10), sw(1d-8)
st(3), thr(1d-9), sw(1d-7)
st(4), thr(1d-8), sw(1d-6)
st(5), thr(1d-7), sw(1d-5)

st(6), thr(1d-6), sw(1d-4)
st(7), thr(1d-5), sw(1d-3)
st(8), thr(1d-4), sw(1d-2)
st(9), thr(1d-3), sw(1d-1)
st(10), thr(1d-2), sw(1d)

st(11), thr(1d-1), sw(1d+1)
st(12), thr(1d), sw(1d+2)
st(13), thr(1d+1), sw(2d-1)
st(14), thr(1d+2), sw(2d)
st(15), thr(2d-1), sw(2d+1)

st(16), thr(2d), sw(2d+2)
st(17), thr(2d+1), sw(3d-1)
st(18), thr(2d+2), sw(3d)
st(19), thr(3d-1), sw(3d+1)
st(20), thr(3d), sw(3d+2)

st(21), thr(3d+1), sw(4d-1)
st(22), thr(3d+2), sw(4d)
st(23), thr(4d-1), sw(4d+1)
st(24), thr(4d), sw(4d+2)
st(25), thr(4d+1), sw(5d-1)

st(26), thr(4d+2), sw(5d)
st(27), thr(5d-1), sw(5d+1)
st(28), thr(5d), sw(5d+2)
st(29), thr(5d+1), sw(6d-1)
st(30), thr(5d+2), sw(6d)

st(31), thr(6d-1), sw(6d+1)
st(32), thr(6d), sw(6d+2)
st(33), thr(6d+1), sw(7d-1)
st(34), thr(6d+2), sw(7d)
st(35), thr(7d-1), sw(7d+1)

st(36), thr(7d), sw(7d+2)
st(37), thr(7d+1), sw(8d-1)
st(38), thr(7d+2), sw(8d)
st(39), thr(8d-1), sw(8d+1)

st(40), thr(8d), sw(8d+2)
st(45), thr(9d+1), sw(10d-1)
st(50), thr(10d+2), sw(11d)
st(55), thr(12d-1), sw(12d+1)
st(60), thr(13d), sw(13d+2)
st(65), thr(14d+1), sw(15d-1)
st(70), thr(15d+2), sw(16d)
st(75), thr(17d-1), sw(17d+1)
st(80), thr(18d), sw(18d+2)
st(85), thr(19d+1), sw(20d-1)
st(90), thr(20d+2), sw(21d)
st(95), thr(22d-1), sw(22d+1)

st(100), thr(23d), sw(23d+2)
Kromm gives an example of ST44 having 9d thr and 9d+2 sw. Using the above, I get 9d+1 thr and 10d-1, which is correct for ST45 and not ST44.

I'm not sure how to fix this. I figure I could just add in every number missing in the above code, but what about ST scores over 100? I'm not sure what that would require to get it accurate.

Any ideas?
Seraphim is offline   Reply With Quote
Old 03-12-2016, 10:18 AM   #6
Seraphim
 
Seraphim's Avatar
 
Join Date: Jun 2006
Location: Ringgold, GA
Default Re: Phoenix and Log ST

I can't figure out how to get GCA to add +1 to both sw and thr damage per level of ST. My coding and math skills are too low.
Seraphim is offline   Reply With Quote
Old 03-12-2016, 11:09 AM   #7
Armin
GCA Prime
 
Armin's Avatar
 
Join Date: Aug 2004
Location: Portland, OR
Default Re: Phoenix and Log ST

I'm out of the office today. I'll see about working this up tomorrow or the next day, if nobody else does it before then (although I'd swear that we worked this out once before).
__________________
Armin D. Sykes | Visit my GCA5 blog for updates and previews. | Get GURPS Character Assistant 5 now at Warehouse 23.
Armin is offline   Reply With Quote
Old 03-12-2016, 02:09 PM   #8
Armin
GCA Prime
 
Armin's Avatar
 
Join Date: Aug 2004
Location: Portland, OR
Default Re: Phoenix and Log ST

Hey! I totally did do this before, and I just found my notes. (My sudden-onset dizzy spell is your gain.)

Here's the Basic Damage part of the data file that you need. I've included the work-through from my notes, embedded as comments, but if you don't care about that, you can just delete the lines beginning with *.

Code:
************************************************************************************************************************
[BASICDAMAGE]
************************************************************************************************************************
* Starting this section will clear any existing 
* basic damage items.
*
* You must list the following items in order, because
* GCA will not sort them, but it does search through
* them in order.
*
* st() is the score that Damage Base must be <= 
* thr() is the basic thrust damage
* sw() is the basic swing damage

st(1), thr(1d-11), sw(1d-9)
st(2), thr(1d-10), sw(1d-8)
st(3), thr(1d-9), sw(1d-7)
st(4), thr(1d-8), sw(1d-6)
st(5), thr(1d-7), sw(1d-5)
st(6), thr(1d-6), sw(1d-4)
st(7), thr(1d-5), sw(1d-3)
st(8), thr(1d-4), sw(1d-2)
st(9), thr(1d-3), sw(1d-1)
st(10), thr(1d-2), sw(1d)
st(11), thr(1d-1), sw(1d+1)
st(12), thr(1d), sw(1d+2)
st(13), thr(1d+1), sw(2d-1)
st(14), thr(1d+2), sw(2d)
st(15), thr(2d-1), sw(2d+1)
st(16), thr(2d), sw(2d+2)
st(17), thr(2d+1), sw(3d-1)
st(18), thr(2d+2), sw(3d)
st(19), thr(3d-1), sw(3d+1)
st(20), thr(3d), sw(3d+2)

* The LAST item in the list is always the item that is to be used
* for anything that didn't fall under the preceding items.

* st(0), thr((@int(ST:Damage Base/10)+1)d), sw((@int(ST:Damage Base/10)+3)d)

* you must use the extra set of parens to separate the math part
* from the 'd' for the dice.

* WORKING
* We have four steps per die value: Xd-1, Xd, Xd+1, Xd+2
* We'll do sw() first, since it maxes adds out at a nice even 20, which eases thinking about it.
* Start with this: 
*	((ST:Damage Base-1) \ 4)
* This lets us have all values with the same die value be the base upon which adds will happen
* The \ 4 is integer division, so decimals will be lost, but all four values will have the same die value.
*
* Our base die value is one too high, so we'll need to subtract one from it:
*	((ST:Damage Base-1) \ 4) - 1
* This gives us the DIE part of our formula.
*
* For the ADDS part, we'll need to look only at the fractional value we lost doing our
* integer division for our base value. We use @modulo(<value>, <divisor>) for that:
*	@modulo(ST:Damage Base-1,4)
* This lets us do the same as the integer math, but returns the remainder to us.
* We'll use the remainder to pick the value for the bonus using @indexedvalue(<index>, <value list>):
*	@indexedvalue(@modulo(ST:Damage Base-1,4)+1, -1, 0, +1, +2)
* We add one to the @modulo() result so it'll be between 1 and 4 rather than 0 and 3, since
* our @indexedvalue() function needs to go from 1 to X.
*
* Now, we put our bits together, and we have the sw() values we want:
*	sw((((ST:Damage Base-1) \ 4) - 1)d(+@indexedvalue(@modulo(ST:Damage Base-1,4)+1, -1, 0, +1, +2)))
* Remember that the 'd' separates the Die bit from the Adds bit, so we need to put parens around each part!
* 
* Repeat, adjusting for slight difference in starting point, for thr() values.
*	thr((((ST:Damage Base-3) \ 4) - 1)d(+@indexedvalue(@modulo(ST:Damage Base-3,4)+1, -1, 0, +1, +2)))
*
* This gives us our final formula:

st(0), thr((((ST:Damage Base-3) \ 4) - 1)d(+@indexedvalue(@modulo(ST:Damage Base-3,4)+1, -1, 0, +1, +2))), sw((((ST:Damage Base-1) \ 4) - 1)d(+@indexedvalue(@modulo(ST:Damage Base-1,4)+1, -1, 0, +1, +2)))
__________________
Armin D. Sykes | Visit my GCA5 blog for updates and previews. | Get GURPS Character Assistant 5 now at Warehouse 23.
Armin is offline   Reply With Quote
Old 03-12-2016, 03:45 PM   #9
Seraphim
 
Seraphim's Avatar
 
Join Date: Jun 2006
Location: Ringgold, GA
Default Re: Phoenix and Log ST

Quote:
Originally Posted by Armin View Post
Hey! I totally did do this before, and I just found my notes. (My sudden-onset dizzy spell is your gain.)

Here's the Basic Damage part of the data file that you need. I've included the work-through from my notes, embedded as comments, but if you don't care about that, you can just delete the lines beginning with *.
Holy cow! You're awesome! Especially because I could have never figured this out by myself!
Seraphim is offline   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
Fnords are Off
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 11:09 PM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.