Git Product home page Git Product logo

m6charcost's Introduction

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:

image

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

m6charcost's People

Contributors

tkurtbond avatar

Stargazers

Shawn Medero avatar  avatar Anton Palikhov avatar

Watchers

 avatar

Forkers

palikhov

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.