08-14-2022, 05:22 PM | #1 |
Join Date: Mar 2017
|
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? |
08-14-2022, 05:33 PM | #2 |
Join Date: Feb 2005
Location: Berkeley, CA
|
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. |
08-15-2022, 04:47 AM | #3 |
Join Date: Apr 2018
Location: Trondheim, Norway
|
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 |
08-16-2022, 12:23 AM | #4 |
Join Date: Mar 2017
|
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 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 |
|
|