sdark

Shadowdark tools.

repo builds.sr.ht status sdark on PyPI

Abbreviations

  • AC: Armor Class

  • CHA: Charisma

  • CON: Constitution

  • DEX: Dexterity

  • GP: Gold Piece

  • HP: Hit Points

  • INT: Intelligence

  • INTEL: Intelligence (avoids shadowing Python int)

  • QTY: Quantity

  • STR: Strength

  • STREN: Strength (avoids shadowing Python str)

  • WIS: Wisdom

  • XP: Experience Points

Alternate Terminology

  • Profession instead of Class (class is a Python reserved word)

Optional Rules

  • Reroll character if no stat is 14 or greater

    • from Stats, SD v4.8, p15

    • command line option --reroll-if-no-stat-is-14-plus

The character stats rolling behavior is controlled by the RollStats class and implemented in Stats.roll_with_one_min_stat(). If on the tenth try, all stats are still below 14, a randomly chosen stat will be raised to 14; this prevents an infinite loop when testing with fake random number generators.

House Rules

  • Receive max HP at first level

    • command line option --max-hp-at-first-level

    • behavior controlled by the RollHP class

Rulings

  • Fractional slots

Since computers are good at arithmetic, Gear objects may have fractional slots. The character’s Inventory adds all fractional slot values, only rounding the total to a whole number. This may differ from a manual count that rounds individual item slots values before calculating the total.

  • Alignment may differ from deity for non-priest random characters

People may act differently than the tenets of their faith dictate, so roll on both the Deity table, SD v4.8, p40 and the Alignment table, SD v4.8, p41.

  • For random priest characters, roll deity and assign the deity’s alignment

Since the Priest Class, SD v4.8, p20, says to choose a god that matches your alignment. Since the Deity table, SD v4.8, p40 and the Alignment table, SD v4.8, p41 can produce results that conflict with this rule for priests, roll only on the Deity table and assign the deity’s alignment.

  • Farsight for random characters

Farsight is the Elf ancestry talent. It gives a +1 bonus for ranged weapons or a +1 bonus for spellcasting.

For random level zero character, choose one of the two randomly with equal weight.

For random level one characters, fighters and thieves get Farsight for ranged weapons. Wizards get Farsight for spellcasting. If a priest has a crossbow in their inventory, choose one of the two randomly with equal weight; if not, choose Farsight for spellcasting.

  • Random starting weapon for random first level characters

Choose one of the weapons available for the character’s profession at random with equal weight.

  • Weapon mastery for random first level character

Choose the character’s starting weapon first, then choose weapon mastery for that weapon.

  • Human “Ambitious” talent applies to class talent rolls

The wording is imprecise, since each ancestry grants something that seems like a “talent” which is not explicitly called such.