Converting D&D Stat Blocks to WFRP 2E

D&D stat blocks run along these lines:

OrcHD 1; AC 6 [13]; Atk 1 by weapon, usually spear (1d6) or scimitar (1d8); Move 9; Save 17; AL C;CL/XP 1/15; Special: None.

and I need them to look more like:

Ork Stat Block - WFRP 2E

Well; sorta.  A lot of the stuff in that target (WFRP) statblock just doesn’t matter; if it did, it’s significant enough that we wouldn’t be using a quick conversion to get it, or it’d be inferrable from the context the source (OSR) statline is presented in.

Do we really care that Orcs have Ride or Swim, Scale Sheer Surface, etc.?  Maybe… but if we did, we’d probably already know that.


WS, BS, S, T, Ag, Int, WP, Fel – Is this NPC poor/average/above average?  If their HD is < 5, use 20/25/30, set one stat to 40.  If their HD is >= 5, use 20/30/40, set one stat to 50.

A – Calculate W, divide by 10, rounding down.

W – If their is HD < 5, use ((HD-1) *4) + 12 If their HD is >=5, use ((HD-5)*6) + 30.

SB, TB – Derived from S, T.

M – Divide the listed Move by 3, rounding up.

Mag – 0 if not a spellcaster.  Fruity spell-like abilities or whatever don’t count for this; just let that stuff go off.  If they’re an honest-to-Chaos spellcaster: divide their HD by 3, rounding up, capped at 4.

IP, FP – Not relevant.

Skills – Most will be irrelevant or inferrable.  If they’re sneaky, they should have Concealment & Silent Move, for example.  If they’re fighty, they should probably have Dodge Blow (every WFRP NPC certainly seems to).  I wouldn’t even bother writing it down.

Talents – These are all irrelevant or inferable.

Armor Points – (AC-12)/2 for LotFP, rounding up.  (10-AC)/2 for S&W descending, rounding down.  Use your instincts about locations; some locations might have fewer Armor Points than this.

Weapons – Melee , Thrown Weapons: damage is SB + (# dice rolled -1).  Other Ranged Weapons: damage is # dice rolled + (die type/3), rounding down.  Infer whether or not the attack should be Impact (and maybe Tiring or Slow), Fast (and maybe Precise), Shrapnel, or Snare.

This is fuzziest, sloppiest part, honestly.  Use your gut.


Obviously, this isn’t perfect.

Comparing the results of the WFRP 2E Orc statblock to what I get when I convert the S&W statblock gets me:

     WS  BS  S   T   Ag  Int WP  Fel
WFRP 35  35  35  45  25  25  30  20  
S&W  30  20  30  40  20  20  30  20 
     A   W   SB  TB  M   Mag IP  FP
WFRP 1   12  3   4   4   0   0   0
S&W  1   12  3   3   3   0   -   -

Armor
WFRP Head 1, Arms 1, Body 3, Legs 0
S&W  All 2

Weapons
WFRP Choppa (+4 Round 1, +3 after)
S&W  Scimitar (+3, Impact)

The Orc is dumber, slower, weaker, clumsier, less tough and a lot worse at shooting (because, come on, Warhammer Orcs & Orks are bad shots).  The converted Choppa probably does a smidge more damage in the first round.  But that’s okay; If I cared that much about it, I’d build the NPC from the ground up.  All I’m trying to do here is convert one set of stats to another with a minimum amount of effort.

Not perfect, but good enough.

Another example:

Hill GiantHD 8+2; AC 4 [15]; Atk 1 weapon (2d8); Move 12; Save 8; AL C; CL/XP 9/1100; Special: Throw boulders.

     WS  BS  S   T   Ag  Int WP  Fel
WFRP 33  25  69  59  18  14  24  14  
S&W  40  30  50  40  20  20  30  20 
     A   W   SB  TB  M   Mag IP  FP
WFRP 5   48  6   5   6   0   0   0
S&W  4   48  5   4   4   0   -   -

Armor
WFRP Head 0, Arms 0, Body 1, Legs 1
S&W  All 3

Weapons
WFRP Hand Weapon (+6, Impact)
S&W  Hand Weapon (+6, Impact), Throw Boulders (SB+4, Impact, Shrapnel)

I’m comparing a Warhammmer Giant to a Hill Giant.  The differences here are somewhat greater: but not by too much.  The only real problematic (>10%) differences here are in Strength and Toughness… but even then, they’re mitigated by damage and armor; the numbers work out the same.


Also, although I’m primarily coming at this from an OSR-y point of view (I’ve got some Lamentations & Swords & Wizardry modules I’d like to run and maybe I’d like to run them with WFRP 2E), I think it’d hold well enough for other versions of D&D.  Things probably get a little wobbly with the 3.x stack, but I think it’d hold up okay enough (using Level instead of HD, etc).


I don’t have the time on hand to do this properly, but I feel like I have to at least post a half-assed JsFiddle link that does the calculations for you: here’s the page and here’s the fiddle.

Thoughts?  Comments?