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

Reply
 
Thread Tools Display Modes
Old 08-14-2022, 05:22 PM   #1
norman9076
 
Join Date: Mar 2017
Default Formula to Calculate Thrust & Swing Damage from Strength?

I'm trying to create a spreadsheet to help me with GURPS character creation. I've barely begun and I've already hit a snag: I need to create a formula or macro that calculates damage and accurately matches the damage table in the Basic Set: Characters, page 16.

For thrust damage, it seems simple: The damage starts with 1d-6 and increases by 1 tick every 2 strength levels. Unfortunately, that fails somewhere between strength 51 to 55. The formula above says the thrust damage for a strength of 55 is 6d+1, but the table says it's 6d. For a strength of 100, my formula differs from the table by 3 ticks.

Swing damage is even worse. It starts at 1d-5 and goes up by 1 tick every 2 strength levels. From strength 9 upwards it goes up a tick for every level and starting at 29 it goes back to a tick per 2 levels. This formula goes off the rails somewhere between 41 and 45. By the time strength reaches 100, it's off by 5 ticks.

My question is: Does anyone know of a formula that gives results that exactly match the official damage table?
norman9076 is offline   Reply With Quote
Old 08-14-2022, 05:33 PM   #2
Anthony
 
Join Date: Feb 2005
Location: Berkeley, CA
Default Re: Formula to Calculate Thrust & Swing Damage from Strength?

Swing is (ST-6)/4 dice up to 26 (5d), then (ST+14)/8d dice up to 50 (8d), then (ST+30)/10 dice.

Thrust is (ST-6)/8 dice up to 70 (8d), then (ST+10)/10.

Neither formula has any theoretical basis.
__________________
My GURPS site and Blog.
Anthony is offline   Reply With Quote
Old 08-15-2022, 04:47 AM   #3
coronatiger
 
Join Date: Apr 2018
Location: Trondheim, Norway
Default Re: Formula to Calculate Thrust & Swing Damage from Strength?

You can take a look at my character sheet (link in signature) to see how I did it. You find it in the Attr Mods tab, in the Aspected SST table. It's a little complicated, taking into account temporary changes to ST and calculating number of dice and the added number separately. Some parts of the calculations are in hidden columns, so you'll need to unhide them.
__________________
You don't need to spend 100 CP on Status 5 [25] and Multimillionaire [75] to feel like a princess, when Delusion [-10] will do.

Character sheet: Google Drive link (See this thread for details.)

Campaign logs: Chaotic Pioneering / Confessions of a Forked Tongue
coronatiger is online now   Reply With Quote
Old 08-16-2022, 12:23 AM   #4
norman9076
 
Join Date: Mar 2017
Default Re: Formula to Calculate Thrust & Swing Damage from Strength?

Wow, that is one helva spreadsheet. I wish I understood it. ;-)

What I'm trying to do is much less ambitious and, frankly, I'll probably convert the whole thing to Java once I have a better idea of what I am actually doing. (In the "real world", I'm an application programmer using mostly Java.)

I ended up writing a couple of macros to calculate damage dice and damage adds based on ST and a couple of other variables:

Code:
Function DAMAGE_DICE(ST As Integer, X as Integer, Y as Integer) As Integer
DAMAGE_DICE = Int((ST - X) / Y)
End Function

Function DAMAGE_ADDS(ST As Integer, X as Integer, Y as Integer) As Integer
DAMAGE_ADDS = Int((ST - X) * 4 / Y) Mod 4 - 1
End Function
Y is the number of strength levels increase required to raise damage by exactly 1 die.

X is a fudge factor, picked to make the macros give you the value you want. (Technically, X is based on some other variables, but nobody wants me to get that mathy.)

The problem now is to pick the correct values for X and Y based on whether we're calculating thrust or swing damage and the strength range we want to calculate for.

Since the DAMAGE_ADDS formula always returns -1, 0, 1, or 2; these macros do no damn good for the first part of the damage tables where the damage is 1d-6 to 1d-2. For thrust damage, that's ST between 1 and 11 and between 1 and 9 for swing. Within those ranges, damage dice is always "1" and damage add is calculated by =INT((ST-1)/2)-6 for thrust and =INT((ST-1)/2)-5 for swing.

For the rest the damage tables, the table below shows my results for X and Y that exactly match the results given by the damage table in the Basic Set: Characters, page 16.

Code:
Damage Type | ST Range | X   | Y
------------+----------+-----+----
Thrust      | 11 to 50 | 3   | 8
Thrust      | 55 to 65 | 4   | 8
Thrust      | 70+      | -13 | 10
Swing       | 9 to 26  | 5   | 4
Swing       | 27 to 40 | -17 | 8
Swing       | 45 to 55 | -30 | 10
Swing       | 60+      | -33 | 10

Last edited by norman9076; 08-16-2022 at 08:53 AM. Reason: typo
norman9076 is offline   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
Fnords are Off
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 05:04 AM.


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