Know Your Own Damage

Note: this page was written quite some time ago, but some inspiration from Pyramid #3/83: Alternate GURPS IV and
Pyramid #3/120: Alternate GURPS V made me want to update it.

While there are some distinct advantages to linear damage scales, they tend to break down outside of a fairly small range of game scales; GURPS damage is inconvenient when dealing with vehicles or giant monsters, and completely unusable when dealing with small animals (there just isn't enough resolution in the game system to distinguish between a mouse and a grasshopper). One traditional solution to this has been some sort of logarithmic damage system, converting an extreme range of damages into a simple linear measure. There are a number of difficulties with logarithmic systems as well (in particular, barrier penetration can be an issue, and invariant hit points can be puzzling), but at times they can be easier to handle than the linear problems. The method below is slightly complex in setup, but should be fast enough in actual play.

The LogD Table

The first key thing is the LogD table. This is used to convert GURPS damage (linear in penetration) to logarithmic damage. This uses a scale of x10 damage = +30 (if combined with KYoS, it works out to damage being proportional to the 1/3 power of energy), or you can just use a calculator; LogD = log10(damage) x 30. If using the table, find the exact value by finding your damage in the bulk of the table, then summing the top row and the left column corresponding to that value; thus, 27 damage is LogD 43. This will be used in multiple places below.

 LogD  +0  +1  +2  +3  +4  +5  +6  +7  +8  +9
 +0  1                  2
 +10          3        4  
 +20    5      6    7    8  9
 +30  10  11  12  13  14  15  16  17  18  20
 +40  22  23  25  27  29  31  34  37  40  43
 +50  46  50  54  58  63  68  74  80  86  93
 +60  100  110  120  130  140  150  160  170  185  200
 +70  215  230  250  270  290  315  340  370  400  430

It's also important to have the Addition table and the Subtraction table. To use the addition table, look up the difference between two LogD values; your final value is the larger value plus the resulting value from the table below. For subtraction, the effect is completely negated if the subtracted value is equal or greater than the initial value, otherwise reduce the initial value based on the difference, like addition.

 Diff  0-1  2-3  4-5  6-8  9-11  12-15  16-20  21-27  28-40  41+
 Addition  +9  +8  +7  +6  +5  +4  +3  +2  +1  +0
 Diff  1  2  3  4  5  6  7  8  9  10
 Subtraction  -34  -25  -21  -17  -15  -13  -11  -10  -9  -8
 Diff  11-12  13-14  15-16  17-18  19-22  23-28  29-40  41+    
 Subtraction  -7  -6  -5  -4  -3
 -2  -1  0    

Attack Stats: Penetration and Wound Modifier

All attacks have two stats: Penetration and Wound Modifier. To determine penetration, look up the average damage of the attack on the LogD table, then add 3d6-10 -- e.g. a 3d6 attack in GURPS (average damage 10 = LogD 30) becomes 3d6+20. If you like roll low, instead add 11 and your damage is your margin of success (so a 3d6 attack becomes skill 41). Wound modifiers are as follows:
  • Pi-: WM -2
  • Bu, Cor, Cr, Pi, Tox: WM +0
  • Cut, Pi+: WM +1
  • Imp, Pi++: WM +2
  • AP(0.5): Pen -10, WM +2.
  • AP(2): Pen +10, WM -2.
  • AP(3): Pen +15, WM -3.
  • AP(5): Pen +20, WM -4.
  • AP(10): Pen +30, WM -6.
Denote this as 3d±X[±Y].

There is an important exception to this: ST-based attacks. An attack that does Thrust damage is treated as having average LogD equal to ST (so ST 10 is average damage 10, meaning 3d6 damage or rolling vs a 21). An attack that does Swing damage is treated as having average LogD equal to ST+8. In the case of a flat add, look up the value of the flat add on the LogD table, then use the Addition table to add it to Thrust or Swing (e.g. at ST 10, a broadsword doing thrust+2 imp means average LogD 10 for ST, average LogD 9 for +2, and per the Addition table we start with 10, add +9 because the difference between the two values is 1, and final average damage is 19, or 3d+9[+2]). Note that this is trying to match standard GURPS behavior, which isn't really all that realistic and has very low resolution in the human scale, treating all damage bonuses as per-die bonuses instead of flat adds (and thus multiplying by 3) may be more sensible.

There is another useful exception to this: guns. Energy weapons and cannons generally follow a cubic formula, but small arms tend to follow a quadratic formula, and thus wounding is a bit high for a given penetration value. If average penetration is more than 30, add a WM of -1 per additional 15 points (so -1 at average 45, or about a 9d attack, -2 at average 60, or a 29d attack). This does not apply to cannon-class munitions.

Target Stats: Armor and Toughness

Targets have two corresponding stats: armor and toughness. They are computed very simply:
  • Armor: look up your DR on the LogD table. If the target has multiple layers, either add them before looking them up, or use the addition table (above) to add up their log values.
  • Toughness: for characters using KYoS, Toughness is equal to ST-10. For objects, you can either look up their HP on the LogD table and subtract 30, or you can look up their weight on the BL chart for KYoS (so a 2 lb object is 0) and subtract 9 if the object is unliving or mechanical (these methods have the same results).

Basic Damage Resolution

The fundamental way of resolving damage is as follows:
  1. Roll penetration.
  2. If the target has armor, compare resulting penetration to the target's armor and use the subtraction table above. This can be repeated for multiple armor layers.
  3. Subtract target's Toughness, and divide result by 5. This is basic wound level.
  4. Add the weapon's wound modifier. Apply additional modifiers as following:
    1. Impaling or Piercing vs Unliving: -2 (Basic is actually -2 or -3)
    2. Impaling or Piercing vs Homogeneous: -4 (Basic is actually -4 or -5)
    3. Diffuse: cap wound level at 1 or 2.
    4. Impaling or Piercing vs Limbs: -2
    5. Vitals: +2 (Basic ranges from +1 for Imp to +5 for Pi-)
    6. Skull: +3 (Basic ranges from +2 to +6)
    7. Injury Tolerance(Damage Reduction): subtract level.
Note that this has some deliberate variances from RAW (mostly, location modifiers stack with weapon size instead of replacing, and modifiers are made constant rather than varying slightly by weapon size).

Computing Raw and Armored Wound Thresholds

Start by computing Raw Wound Thresholds. They have the following values:
 Level  Value  Effect
 0  ST-10  -1 Shock Penalty
 1  ST-5  -1 Shock Penalty; sufficient to disable Eyes.
 2  ST  -2 Shock Penalty.
 3  ST+5  -3 Shock Penalty; sufficient to disable Extremities.
 ST+10  Major Wound; sufficient to disable Limbs.
 5  ST+15  Reeling (as below 1/3 HP)
 6  ST+20  Disabled (as at 0 hp or below)
 7  ST+25  Death Check, -1 to consciousness rolls per death check. 5 death checks is automatic death.
 8  ST+25  Death Check x2.
 9  ST+30  Death Check x4.
 10  ST+35  Dead (unless Unkillable)
 11  ST+40  Dead (even if Unkillable)
Additional rows may be generated if useful, at +5 per row. Unless attacks with extreme armor divisors will be common, it is probably not useful to do so.

To generate armored wound thresholds, look up your DR on the LogD table, and use the Addition table to add it to your unarmored wound thresholds. For example, consider a character with ST 10 wearing DR 4 armor (LogD 18). The table would look as follows:
 Level  Raw
 Armored  Effect
 0  -10  19  No direct effect, but can be affected by wounding modifiers or cascading.
 1  0  21  -1 Shock Penalty; sufficient to disable Eyes
 2  10  24  -2 Shock Penalty
 3  15  26  -3 Shock Penalty; sufficient to disable Extremities
 20  28  Major Wound; sufficient to disable Limbs.
 5  25  31  Reeling (as below 1/3 HP)
 6  30  34  Disabled (as at 0 hp or below)
 7  35  38  Death Check, -1 to consciousness rolls per death check. 5 death checks is automatic death.
 8  40  42  Death Check x2.
 9  45  47  Death Check x4.
 10  50  51  Dead (unless Unkillable)
 11  55  56  Dead (even if Unkillable)

If you want to use a spreadsheet, don't bother with the addition table, just do direct math, in which case, AWT = round(log10(DR + power(10,RWT/30))*30). A sample spreadsheet is here (make a copy if you wish to use it directly).

Damage Resolution

Damage resolution is normally very simple: roll LogD, as computed above. Look up the result on the Armored WT table. If level is 1+, apply any WMs. This will be the effect. Note that the character has a wound of the indicated level. Shock penalties last for one turn, all other penalties apply based on the worst wound you have.

Cumulative Damage

If you suffer a wound of the same level as one you already have, it might cascade. Roll 1d; on a 4-6 increase the level by 1 and try to apply that level. Repeat until you either roll 1-3, fill a wound of a level you don't have, or hit a death check. Cascading does not affect shock penalties, disabling limbs, or major wounds. Death checks are cumulative. Attacks that ignore DR use the Raw table.


If you have to penetrate a barrier, you need the Subtraction table (using the attack's penetration reduced by the barrier's rating). You can in principle use this for worn armor as well, it produces the same results within its resolution, but it's more math so you generally don't want to. For example, consider a penetration 30 effect against the character above. Normally, you just look up 30 and get a wound level of 4. If you use subtraction, you have a penetration 30 attack against a penetration 18 barrier, so you subtract 7 (reducing penetration to 23) and look that up on the raw table, resulting in, once again, wound level 4.