Monday, 13 August 2018

Random BX Characters

Been tinkering more on the Python project mentioned in my last post. Now it'll roll up BX characters, including characters higher than 1st level.

My source for the BX rules is Necrotic Gnome's BX Essentials line, but it would be fairly straightforward to adapt this to a different game like AD&D or a close-ish retroclone like LotFP or Basic Fantasy.

I'm having issues with Gitlab right now so source code will have to wait, but example outputs are in my Drive folder

Features:

  • rolls 3d6 in order, then chooses a class that would allow the biggest XP bonus for high Prime Requisites. This was an interesting inversion from the 5e script that picked a random class and assigned scores to fit.
  • Override options for class & each ability score, if you want to quickly generate 100 magic-users for Mystaran Hogwarts.
  • Finds the correct THAC0, saving throws, thief skills etc for character level.
  • Determines max # of retainers, their morale, bonus languages known, literacy, optional initiative adjustment, etc, all according to BX rules.
  • Determines spells prepared, if applicable. BX being strictly Vancian, it chooses spells with replacement.
  • Class dictionary can be easily modified to include homebrew classes that use the shorthand of "save as dwarf, attack as magic-user, casts cleric spells with the spells/day of an elf" or whatever.
It doesn't do equipment, AC or to-hit adjustments yet, and I've just realised it doesn't properly handle reversible spells. A proper implementation would indicate clerics can reverse on-the-fly, while prepared MU/elf spells would be 'fixed' as either normal or reversed.

It also doesn't weight towards cure light wounds or other staples when selecting spells. If using this for pregen PCs, you might want to let clerics spontaneously convert prepared spells to cure spells, hand-edit some of them beforehand, or let your players choose to swap out some spells before the character begins play.

Nor does it produce pretty output. It would be trivial to get this script to output characters to a csv file, but coding the prettification script would take longer.

Again, hope someone gets some use out of this. :-)

No comments:

Post a Comment

hi! all comments are moderated (mostly for spam) before they're published.