Skip to content

tkurtbond/m6charcost

Repository files navigation

Mini Six Character Cost Calculator and Formatters

This contains programs for reading YAML and JSON files representing Mini Six (M1, M2) characters and calculating their cost as starting characters, as well as for producing output in reStructuredText (for typesetting or converting to HTML) and roff (for typesetting using a program such as groff). In addition to checking if the characters have been built using the proper number of dice for attributes, skills, and perks, it gives something of a way to compare characters for level of threat.

Mini Six is an OpenD6 (O1, O2, O3) derived tabletop roleplaying game.

The primary programs are all written in CHICKEN Scheme:

  • sm6 - read YAML or JSON and calculate cost as a starting character.
  • sm6fmt - alternate version that uses the CHICKEN Scheme fmt egg for ouput.
  • sm6rst - read YAML or JSON and output formatted character stats in reStructuredText for inclusion into other documents, converting to HTML, or typesetting.
  • sm6troff-ms - read YAML or JSON and output formatted character stats in roff format for the ms macros, for inclusion into other documents or typesetting.

There are several implementations of the character cost calculating program in other programming languages which I wrote as an exercise in comparing how they dealt with JSON and/or YAML. None of them are as complete as the Scheme versions. The OCaml version, om6.ml, was never completed.

A typical Mini Six character expressed in YAML looks like this:

- Name: Bersaba Kitto
  Archetype: elegant sorcerer
  Quote: What should I change into?
  Description: Tall, willowy, elegant, and abstracted.
  Player: Lily Bond
  Might: [3D, [Sword, 5D]]
  Agility: [3D, [Dodge, 5D], [Sling, 4D]]
  Wit: [4D, [Magic, 6D]]
  Charm: [2D]
  Static: [[Dodge, 15], [Block, 9], ['Parry (Sword)', 15], [Soak, 9(15))]]
  Perks: [[Sorcerer, 3D]]
  Gear:
    - Sword (+2D+2)
    - Chainmail (+6)
    - Elegant clothes
    - Knife (+1D)
    - Sling (+2D+1, 40/130/400), 48 lead sling bullets
  Spells:
    - Fly
    - Hasten
    - See Magic Aura
    - Shape Change
  Hero_Points: 2
  Notes: |
    Notes
    ~~~~~

    • One of your spells is a game breaker, I think.
    • Your sling is stored coiled up in an elegantly decorated pouch
      that also holds 3 pounds of lead sling bullets.
    • Your chainmail has multicolored links that make up a pattern.

The character cost information from that character looks like:

Name: Bersaba Kitto - elegant sorcerer
      Tall, willowy, elegant, and abstracted.
Player: Lily Bond
Might: 3D                      (  9 points)
    Sword: 5D            +2D+0 (  6 points)
Agility: 3D                    (  9 points)
    Dodge: 5D            +2D+0 (  6 points)
    Sling: 4D            +1D+0 (  3 points)
Wit: 4D                        ( 12 points)
    Magic: 6D            +2D+0 (  6 points)
Charm: 2D                      (  6 points)
Perks:
    Sorcerer: 3D               (  9 points)
total stat:              12D+0 ( 36 points)
total stat increase:      0D+0 (  0 points)
total skill:              7D+0 ( 21 points)
total skill increase:     0D+0 (  0 points)
total perk:               3D+0 (  9 points)
total (skill + perk):    10D+0 ( 30 points)
total:                   22D+0 ( 66 points)

The reStructuredText output from that looks like:

Bersaba Kitto - elegant sorcerer (Lily Bond)
--------------------------------------------

*“What should I change into?”*

Tall, willowy, elegant, and abstracted.

| **Might 3D** — Sword 5D
| **Agility 3D** — Dodge 5D, Sling 4D
| **Wit 4D** — Magic 6D
| **Charm 2D**
| **Perks:** Sorcerer
| **Spells:** Fly, Hasten, See Magic Aura, Shape Change
| **Gear:** Sword (+2D+2), Chainmail (+6), Elegant clothes, Knife (+1D), Sling (+2D+1, 40/130/400), 48 lead sling bullets
| **Static:** Dodge 15; Block 9; Parry (Sword) 15; Soak 9(15))
| **Hero Points:** 2
| **WL:** S:1–3 □ W:4–8 □ SW:4–8 □ I:9–12 □ MW:13–15 □

Notes
~~~~~

• One of your spells is a game breaker, I think.
• Your sling is stored coiled up in an elegantly decorated pouch
  that also holds 3 pounds of lead sling bullets.
• Your chainmail has multicolored links that make up a pattern.

The command

sm6troff-ms -s -2 -H test-files/Bersaba-Kitto.yaml | groff -k -Tpdf -ms

produces PDF output that looks like this:

docs/Bersaba-Kitto.png

These programs can also be used for Mini Six derived or related RPGs such as the Breachworld RPG.

About

Mini Six Character Cost Calculator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published