├── .gitignore ├── ANNOUNCE.bbcode ├── ANNOUNCE.md ├── Changes-from-Mini-Six.rst ├── GNUmakefile ├── README.rst ├── adjacent ├── README.rst ├── alternate-mechanic.rst ├── alternate-mechanic.yaml └── perdition-templates.yaml ├── epub.css ├── general.lua ├── mini-six-standard-trademark-license.rst ├── minimal-opend6-srd.rst ├── output ├── mini-six-standard-trademark-license.html ├── mini-six-standard-trademark-license.stmt.ms.pdf ├── minimal-opend6-srd.docx ├── minimal-opend6-srd.epub ├── minimal-opend6-srd.gen.md ├── minimal-opend6-srd.html ├── minimal-opend6-srd.mobi ├── minimal-opend6-srd.odt ├── minimal-opend6-srd.rst ├── minimal-opend6-srd.rtf └── minimal-opend6-srd.stmt.ms.pdf ├── statement.context ├── statement.ms ├── templates.rst └── todo.org /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | \#*\# 3 | .\#* 4 | .DS_Store 5 | -------------------------------------------------------------------------------- /ANNOUNCE.bbcode: -------------------------------------------------------------------------------- 1 | Announcing Minimal OpenD6, an SRD for Mini Six 2 | 3 | Anybody interested in an SRD for [i]Mini Six[/i]? Since [i]Mini Six[/i] is under the Open Game License, I have created one for it, [url=https://github.com/tkurtbond/Minimal-OpenD6]Minimal OpenD6[/url]. (It does [b]not[/b] include the Product Identity portions, of course.) 4 | 5 | If you just want to read the rules I still think the original [url=https://www.drivethrurpg.com/product/144558/Mini-Six-Bare-Bones-Edition]Mini Six: Bare Bones Edition[/url] is a great document, packing so much into a dense but readable layout, so download it for free or get a print copy. However, if you want a custom version of the rules, whether you are producing a completely new game or just want a version of the rules with all your house rules incorporated, this should be a great starting point. 6 | 7 | Why start with [i]Minimal OpenD6[/i] instead of of [i]OpenD6[/i]? Because you want to start with a minimal core and add things gradually, rather than starting with a very large document and cutting out everything you don't want! (Different approaches work better for different folks.) 8 | 9 | [i]Minimal OpenD6[/i] provides [url=https://docutils.sourceforge.io/rst.html]reStructuredText[/url] source for the document, as well as simple PDF, HTML, EPUB, Microsoft Word[u].docx[/u], OpenOffice/LibreOffice [u].odt[/u], and Markdown output. Conversions to other formats are possible using [url=https://pandoc.org/]pandoc[/url] or other means. 10 | 11 | If you just want the output files without any of the stuff used to build them, look at the [url=https://github.com/tkurtbond/Minimal-OpenD6/releases]releases[/url] page in the repository for a zip file. 12 | -------------------------------------------------------------------------------- /ANNOUNCE.md: -------------------------------------------------------------------------------- 1 | # Announcing Minimal OpenD6, an SRD for Mini Six 2 | 3 | Anybody interested in an SRD for *Mini Six*? Since *Mini Six* is under 4 | the Open Game License, I have created one for it, [Minimal 5 | OpenD6](https://github.com/tkurtbond/Minimal-OpenD6). (It does 6 | **not** include the Product Identity portions, of course.) 7 | 8 | If you just want to read the rules I still think the original [Mini 9 | Six: Bare Bones 10 | Edition](https://www.drivethrurpg.com/product/144558/Mini-Six-Bare-Bones-Edition) 11 | is a great document, packing so much into a dense but readable layout, 12 | so download it for free or get a print copy. However, if you want a 13 | custom version of the rules, whether you are producing a completely 14 | new game or just want a version of the rules with all your house 15 | rules incorporated, this should be a great starting point. 16 | 17 | Why start with *Minimal OpenD6* instead of of *OpenD6*? Because you 18 | want to start with a minimal core and add things gradually, rather 19 | than starting with a very large document and cutting out everything 20 | you don't want! (Different approaches work better for different folks.) 21 | 22 | *Minimal OpenD6* provides 23 | [reStructuredText](https://docutils.sourceforge.io/rst.html) source 24 | for the document, as well as simple PDF, HTML, EPUB, Microsoft Word 25 | `.docx`, OpenOffice/LibreOffice `.odt`, and Markdown output. Conversions to 26 | other formats are possible using [pandoc](https://pandoc.org/) or 27 | other means. 28 | 29 | If you just want the output files without any of the stuff used to 30 | build them, look at the 31 | [releases](https://github.com/tkurtbond/Minimal-OpenD6/releases) page 32 | in the repository for a zip file. 33 | 34 | 35 | ***** 36 | 37 | T. Kurt Bond, https://tkurtbond.github.io/ 38 | -------------------------------------------------------------------------------- /Changes-from-Mini-Six.rst: -------------------------------------------------------------------------------- 1 | Changes from Mini Six 2 | @@@@@@@@@@@@@@@@@@@@@ 3 | 4 | These are things that I think will improve the SRD. Some of them are 5 | corrections of things that I think are errors, other are things that I 6 | think will improve the clarity of the writing or presentation. 7 | 8 | Items with a check mark (✓) have been implemented. 9 | 10 | • Do **not** Replace “OpenD6” with “``OpenD6``” because it refers to the 11 | name of an RPG system, not the title of a specific book. 12 | • Make sure all sentences end with two spaces or a newline! (.?!) 13 | This ensures the proper inter-sentence spacing in “ms” output. 14 | Use Icon? 15 | • In “Target Number (TN):” change “Intimidate” to “Persuasion”. 16 | (Intimidate is not listed in any of the skill lists.) 17 | • Get rid of the commented out alternate table syntaxes? 18 | • Daredevil: add “;” after however? 19 | • ✓"Their” in “Game Master (GM)” should be “They are”. 20 | • ✓Change “GM's” to “GMs”, except where they really are possessives. 21 | • ✓Correct “it's” as a possessive to “its”. 22 | • And the reverse: correct “its” as “it is” to “it's”. 23 | • Check all the Static Defenses for the character templates. 24 | • Check all the Static Defenses for the animals??? 25 | • Change internal headers in “Gear” from italic to bold, to make them 26 | easier to see? 27 | • Add “Weapon” to column header for weapons in Gear?? 28 | • Rename Armor column to Armor Type, and Value to Armor Value? 29 | **Maybe, maybe not.** 30 | • Make table headings consistent (bold vs. italic, etc.) 31 | The Gear table uses bold at the top header, but italic in the inner 32 | headers. 33 | • Make Spell attributes bold. “TN” becomes “**TN**”. 34 | • ✓Put “Gunslinger:” in bold in “No Attributes” example, like “Knight:" 35 | in “Independent Skills”. 36 | • Put skill names before ratings in “No Attributes” example? 37 | • ✓Fix hyphen-minus characters that should be minus sign characters. 38 | • ✓Fix hyphen-minus characters that should be en dashes. 39 | • ✓Change “fiat;” in §“The Wild Die” to “fiat:" 40 | • Bold “Potency:”, “Scale:” “Might:”, “Agility:”, “Wit:”, “Charm:”, 41 | “Skills:”, “Perks:”, “Complication:”, “Spells:”, “Gear:”, “Static:" 42 | in example characters. 43 | • ✓"Bestiary”, not “Beastiary" 44 | • ✓Make sure shields and armor have space before parentheses around value, 45 | but **not** Soak 9(11). 46 | • ✓Fix “at sunrise the next sunrise” in Phoenix. 47 | • ✓"nite” to “night” in Vampire. 48 | • ✓"(if any)” to “(if anything)” in “Alien Races (varies):" 49 | • ✓Check that all “soak(av)” have no space before the parenthesis. 50 | • ✓"Wound” to “Wounded” in “Razor-ImaAC”??? 51 | • ✓"Lt.” to “Light" 52 | • ✓"Hvy” to “Heavy" 53 | • ✓"2x” to “2×” or “200%” in §“Navigation Bonus”. I'm leaning toward 54 | the latter for consistency. Yes, “200%” for consistency. 55 | • ✓In “Static Defenses” add Soak to the list of precalculations. 56 | • ✓In “Why two rules?” change “resolution. While” to “resolution, while”. 57 | • ✓Traditional OpenD6 Combat > Defensive Options: change “parry's” to 58 | “parries”. 59 | • ✓In “General (non-combat) Challenges” change “Average character” to 60 | “Average characters”. 61 | • ✓In “Chases” capitalize “Long” in the last sentence, since it was 62 | capitalized in the list of ranges earlier in the paragraph. 63 | • ✓In “Spells Requiring Multiple Actions” “Throw” should be “Throwing”. 64 | • ✓Make sure all the skill names are used consistently. 65 | (Generalization of previous point.) 66 | • ✓Italicize skill names to make them stand out? Same for spell names? 67 | Mini Six italicizes the spell “Shape Change” in the section 68 | “Potions” when describing “A Potion of Changing”. In the section 69 | “Other Items” the skills listed for two of the items are italicized. 70 | (RE: AD&D 1E PHB.) 71 | 72 | This is done in several places, but not in others (The “Target 73 | Number” definition mentions Seduce and Intimidate, but they are not 74 | italicized; in the Skills section “Brawling” is not italicized). I 75 | think it should be done everywhere. 76 | 77 | Consider using :skill: and :spell: roles, if I 78 | can figure out how to get them to work with .docx and ODT output. 79 | 80 | What about attribute names? Should they be indicated? If so how: 81 | italics, bold? 82 | 83 | All of them should be capitalized, too. For instance, in “A 84 | Mechanic's Work is Never Done” “repair roll” should probably be 85 | capitalized. 86 | 87 | But not when in bullet lists or tables of skill names. 88 | 89 | But not “Dodge” when referring to the score or action! (His Dodge 90 | score is 9. He Dodges. He makes a *Dodge* roll.) 91 | • Add metric versions of distances in parenthesis? Or convert all 92 | distances to yards, and just say to use that number of meters if 93 | your group prefers metric. 94 | 95 | Over 100 meters that's 400 inches, which is (/ (/ (* 4 100) 12.0) (* 96 | 12 100)) 0.02777777777777778, which is 2.7%. Not a problem. 97 | • In “Spell Books”, several times “spell” is used when “spell book” is 98 | probably meant. 99 | • ✓In “The Simple Magic System” “let's” should be “lets”. 100 | • ✓The “Fast Talk” used in “Ring of Slyness” and “Confidence Man” 101 | should be replaced with “Persuasion”, because “Fast Talk” is not a 102 | skill in any of the skill lists. 103 | • ✓The “Chill Touch” description should probably not be italicized or 104 | end with a period. Compare to the “Changeling"'s perk “Mimic”. 105 | • ✓In “Reflexive Dodge:” “other TN, (Range and Cover still apply.)” the 106 | comma after “TN” should be a period. 107 | • ✓"Rookie:” the skill names should be italicized. 108 | • ✓In “The Kings of Hazard:” the word “sherriff” should be “sheriff”. 109 | • ✓In “Splitting Dice:”, should +1 and +2 be quotes, like +3 is? No, 110 | +3 is quoted because it's a value that isn't actually valid/used. 111 | • ✓In “Definitions of Common Game Terms”, in “Target Number (TN):”, the 112 | skill Intimidate is mentioned, but that is not one of the listed 113 | skills. Changed to “Persuasion”. 114 | • ✓In “Skills” in the second paragraph “Brawling” should be 115 | italicized. 116 | • ✓In “Skill Specializations” “Running” and “Athletics” are skills and 117 | should be italicized. 118 | • ✓In “Energy Blast (5):” “Throwing” is a skill and should be 119 | italicized. 120 | • ✓In “Telekinesis (3):” “Lift” is a skill and should be italicized. 121 | • ✓In “Assisted Healing:” “Medicine” is a skill and should be 122 | italicized. 123 | • In “Static Defenses” “their Dodge, Block, and Parry” should be 124 | “their Dodge, Block, Parry, and Soak scores” for clarity. 125 | • ✓In “Static Defenses” “become's” should be “becomes”. 126 | • ✓In “Static Defenses” “Sword” is a skill and should be italicized. 127 | • ✓In “Static Defenses” “Brawling skill” refers to a skill and so 128 | “Brawling” should be italicized. 129 | • ✓In “Static Defenses” “Dodge skill” refers to a skill and so 130 | “Dodge” should be italicized. 131 | • ✓In “Traditional OpenD6 Combat”, “Attacking A Target”, “Range:”, 132 | “Dodge roll” refers to a skill roll, and so “Dodge” should be 133 | italicized. Or maybe it refers to the Dodge action and should not? 134 | • ✓In Traditional OpenD6 Combat, “Defensive Options”, “Full Dodge:”, 135 | “Roll dodge” refers to the skill and so “dodge” should be 136 | capitalized and italicized. 137 | • ✓In “Ramming”, “Pilot” is a skill and should be italicized. 138 | • ✓In “Multiple Weapons on Vehicles”, “Command” is a skill and should 139 | be italicized. 140 | • ✓In “Casting Spells” “Magic” occurs as a skill name twice and should 141 | be italicized. 142 | • ✓In “Spells Requiring Multiple Actions”, “Throw” is a skill name and 143 | should be italicized. Since in the main rules the skill name is 144 | “Throwing”, in this section it should be “Throwing”, italicized. 145 | • ✓In “Precinct '77”, “Skill List”, “Agility”, “Throw” is used as a 146 | skill name. In the main rules, the skill name is “Throwing”. It 147 | should be changed to “Throwing” here for consistency??? 148 | 149 | No, ignore it, it's product identity and won't be included in release. 150 | • ✓In “Beginning Spells & Learning More”, “Magic” is a skill name and 151 | should be italicized. 152 | • ✓In “Magic Perks”, “Magic” is a skill name and should be italicized. 153 | • ✓In “Sorcerer's Tools”, in “The Cloak”, “The Crystal Ball”, “The 154 | Magic Wand”, and “The Spell Staff”, “Magic” is used as a skill name 155 | and should be italicized. 156 | • In “Sorcerer's Tools”, “The Spell Staff”, for “to Magic” it should 157 | probably say “to any Magic skill test” for consistency with the 158 | earlier items. 159 | • ✓In “Making Sorcerer's Tools”, “Magic” is a skill name and should be 160 | italicized. 161 | • ✓In “Invisibility”, “Stealth” is a skill name and should be 162 | italicized. 163 | • ✓In “Lighting Bolt”, “Throw” should be “Throwing”. 164 | • ✓In “The Valiant Sword”, “Command” is a skill name and should be 165 | italicized. 166 | • ✓In stat blocks, should skill names be italicized? **No**, because in 167 | stat blocks you know they are skills, while in body text you may 168 | not. 169 | • ✓In “No Attributes”, “Brawl”, “Pistols” and “Rifles” should be 170 | “Brawling”, “Pistol” and “Rifle” for consistency. 171 | • ✓In “No Attributes”, “Pistols”, “Rifles”, “Toughness”, “Dodge”, 172 | “Brawl”, and “Gamble” are skills and should be italicized. 173 | • ✓In “Traditional OpenD6 Hero Points”, “Security” is a skill name and 174 | should be italicized. 175 | • ✓In “Traditional OpenD6 Might Damage”, “Lift” is a skill name and 176 | should be italicized. (Occurs twice.) 177 | • ✓In “What are the Skills?”, “Medicine” is a skill name and should be 178 | italicized??? I'm leaning towards not: by analogy with the other 179 | things mentioned, it is a subject, not a skill name in this case. 180 | • ✓In “Bull in a China Shop:”, “Dodge” is a skill name and should be 181 | italicized. 182 | • ✓In “Navigation Bonus”, “Navigation” is a skill name and should be 183 | italicized. 184 | • ✓In “Brownie (4):”, “stealth” and “Dodge” are skill names and should 185 | be capitalized and italicized. 186 | • ✓In “Hannedyn (2):”, “Stealth” and “Dodge” are skill names and should 187 | be italicized. 188 | • ✓In “Small:”, “Stamina” is a skill name and should be italicized. 189 | • ✓In “Tiny:”, “Stamina” is a skill name and should be italicized. 190 | • ✓In “The Simple Magic System” change “let's” to “lets”. 191 | • Make sure everything uses the Oxford comma? 192 | • Make page breaks before the main headings? 193 | • In “Target Number (TN):”, the wording of the first sentence is 194 | awkward. Reword? 195 | • ✓In “Damned Fool Hero:”, the parenthetical expression (except for the 196 | giving to the needy part. A Hero's got to eat.) should probably not 197 | be part of the preceding sentence, so should be capitalized and the 198 | preceding comma should be a period. 199 | • ✓Correct spelling of extiguisher, changling, paticular. 200 | • Correct static defenses of Noble in Perdition: Dodge should be 12, 201 | Block should be 5, and Soak should be 5, alas. 202 | -------------------------------------------------------------------------------- /GNUmakefile: -------------------------------------------------------------------------------- 1 | # Makefile for the minimal-opend6 SRD. 2 | # 3 | # Note: all .pdf, .html, .epub, .docx, .rtf, and .odt files are generated, 4 | # and are removed by the clean target. Files named *.gen.* are 5 | # generated for debugging, and are removed by the clean target. 6 | 7 | # If you produce PDF using pandoc's "ms" output and groff, FONTFAMILY 8 | # should be one of the following: 9 | # 10 | # bookman, schoolbook, palatino, times, helvetica, helvetica-narrow 11 | # 12 | # You can add fonts yourself and extend this makefile with them. 13 | # There is a utility that makes installing fonts for groff relatively 14 | # easily: 15 | # 16 | # https://www.schaffter.ca/mom/mom-05.html#install-font 17 | # 18 | # Look for the first section starting with "ifeq ($(FONTFAMILY)," to 19 | # see how to extend this makefile for fonts you've installed for 20 | # groff. 21 | # 22 | # ConTeXt can generally use any font installed on your system. Look 23 | # for the second section starting with "ifeq ($(FONTFAMILY)," to see 24 | # how to extend this makefile for other fonts for use with ConTeXt. 25 | FONTFAMILY=palatino 26 | 27 | PANDOC=pandoc 28 | PANDOCOPTS= 29 | 30 | OUT=output/ 31 | 32 | all: $(OUT)mini-six-standard-trademark-license.html \ 33 | $(OUT)mini-six-standard-trademark-license.stmt.ms.pdf \ 34 | $(OUT)minimal-opend6-srd.docx \ 35 | $(OUT)minimal-opend6-srd.epub \ 36 | $(OUT)minimal-opend6-srd.mobi \ 37 | $(OUT)minimal-opend6-srd.html \ 38 | $(OUT)minimal-opend6-srd.odt \ 39 | $(OUT)minimal-opend6-srd.stmt.ms.pdf \ 40 | $(OUT)minimal-opend6-srd.rtf \ 41 | $(OUT)minimal-opend6-srd.gen.md \ 42 | $(OUT)minimal-opend6-srd.rst 43 | 44 | # When the ConTexT build produces good output, put the following back in the 45 | # "all" target. 46 | # $(OUT)minimal-opend6-srd.stmt.ctx.pdf \ 47 | 48 | # Just build the PDF using pandoc's "ms" output. 49 | ms: $(OUT)minimal-opend6-srd.stmt.ms.pdf $(OUT)minimal-opend6-srd.stmt.gen.ms 50 | 51 | # Turn the PDF from pandoc's "ms" output into a form suitable for printing 52 | # as a pamphlet. 53 | book: $(OUT)minimal-opend6-srd.stmt.ms-book.pdf 54 | 55 | # The ConTeXt build does not currently provide good output. 56 | ctx: $(OUT)minimal-opend6-srd.stmt.ctx.pdf $(OUT)minimal-opend6-srd.stmt.gen.ctx 57 | 58 | native: $(OUT)minimal-opend6-srd.native 59 | 60 | $(OUT)minimal-opend6-srd.epub: epub.css 61 | $(OUT)minimal-opend6-srd.html \ 62 | $(OUT)minimal-opend6-srd.docx \ 63 | $(OUT)minimal-opend6-srd.odt: \ 64 | PANDOCOPTS+=--toc 65 | 66 | $(OUT)mini-six-standard-trademark-license.stmt.ms.pdf \ 67 | $(OUT)minimal-opend6-srd.html \ 68 | $(OUT)minimal-opend6-srd.epub \ 69 | $(OUT)minimal-opend6-srd.stmt.ms.pdf: general.lua 70 | 71 | $(OUT)minimal-opend6-srd.stmt.ms.pdf \ 72 | $(OUT)mini-six-standard-trademark-license.stmt.ms.pdf: statement.ms 73 | 74 | $(OUT)minimal-opend6-srd.stmt.ctx.pdf \ 75 | $(OUT)mini-six-standard-trademark-license.stmt.ctx.pdf: statement.context 76 | 77 | %.gen.eps : %.png 78 | magick $< $@ 79 | 80 | 81 | ifeq ($(FONTFAMILY),avantgarde) 82 | MSFONTFAMILY=A 83 | else ifeq ($(FONTFAMILY),bookman) 84 | MSFONTFAMILY=BM 85 | else ifeq ($(FONTFAMILY),schoolbook) 86 | MSFONTFAMILY=N 87 | else ifeq ($(FONTFAMILY),helvetica) 88 | MSFONTFAMILY=H 89 | else ifeq ($(FONTFAMILY),helvetica-narrow) 90 | MSFONTFAMILY=HN 91 | else ifeq ($(FONTFAMILY),palatino) 92 | MSFONTFAMILY=P 93 | else ifeq ($(FONTFAMILY),times) 94 | MSFONTFAMILY=T 95 | else ifeq ($(FONTFAMILY),optima) 96 | # You must install this. 97 | MSFONTFAMILY=Optima 98 | else ifeq ($(FONTFAMILY),alegreya) 99 | # You must install this. 100 | MSFONTFAMILY=Alegreya 101 | else ifeq ($(FONTFAMILY),alegreyasans) 102 | # You must install this. 103 | MSFONTFAMILY=AlegreyaSans 104 | else ifeq ($(FONTFAMILY),cormorantgaramond) 105 | # You must install this. 106 | MSFONTFAMILY=CormorantGaramond 107 | else ifeq ($(FONTFAMILY),cormorantgaramondmedium) 108 | # You must install this. 109 | MSFONTFAMILY=CormorantGaramondM 110 | else ifeq ($(FONTFAMILY),ebgaramond) 111 | # You must install this. 112 | MSFONTFAMILY=EBGaramond 113 | else ifeq ($(FONTFAMILY),lato) 114 | # You must install this. 115 | MSFONTFAMILY=Lato 116 | else ifeq ($(FONTFAMILY),ptsans) 117 | # You must install this. 118 | MSFONTFAMILY=PTSans 119 | else ifeq ($(FONTFAMILY),sourcesanspro) 120 | # You must install this. 121 | MSFONTFAMILY=SourceSansPro 122 | else ifeq ($(FONTFAMILY),sourceserifpro) 123 | # You must install this. 124 | MSFONTFAMILY=SourceSerifPro 125 | else ifeq ($(FONTFAMILY),roboto) 126 | # You must install this. 127 | MSFONTFAMILY=Roboto 128 | else ifeq ($(FONTFAMILY),montserrat) 129 | # You must install this. 130 | MSFONTFAMILY=Montserrat 131 | else ifeq ($(FONTFAMILY),crimsontext) 132 | # You must install this. 133 | MSFONTFAMILY=CrimsonText 134 | else ifeq ($(FONTFAMILY),cormorant) 135 | # You must install this. 136 | MSFONTFAMILY=Cormorant 137 | else ifeq ($(FONTFAMILY),cormorantmedium) 138 | # You must install this. 139 | MSFONTFAMILY=CormorantM 140 | else ifeq ($(FONTFAMILY),opensans) 141 | # You must install this. 142 | MSFONTFAMILY=OpenSans 143 | else ifeq ($(FONTFAMILY),josefinsans) 144 | # You must install this. 145 | MSFONTFAMILY=JosefinSans 146 | else ifeq ($(FONTFAMILY),notoserif) 147 | # You must install this. 148 | MSFONTFAMILY=NotoSerif 149 | else ifeq ($(FONTFAMILY),notosans) 150 | # You must install this. 151 | MSFONTFAMILY=NotoSans 152 | else 153 | $(error Unknown FONTFAMILY: $(FONTFAMILY)) 154 | endif 155 | 156 | $(OUT)%.ms.pdf : %.rst 157 | $(PANDOC) -s -r rst -w ms --lua-filter=general.lua \ 158 | --variable=twocolumns --variable=usegrowps $(MSVARIABLES) \ 159 | --variable=fontfamily=$(MSFONTFAMILY) \ 160 | $(FLOAT) $(PANDOCOPTS) \ 161 | --template=tkb --output=$@ $< 162 | 163 | $(OUT)%.gen.ms : %.rst 164 | $(PANDOC) -s -r rst -w ms --lua-filter=general.lua \ 165 | --variable=twocolumns --variable=usegrowps $(MSVARIABLES) \ 166 | --variable=fontfamily=$(MSFONTFAMILY) \ 167 | $(FLOAT) $(PANDOCOPTS) \ 168 | --template=tkb --output=$@ $< 169 | 170 | $(OUT)%.stmt.ms.pdf : %.rst 171 | $(PANDOC) -s -r rst -w ms --template=statement $(MSVARIABLES) \ 172 | -V usegrowps -V psincr=3p -V growps=4 \ 173 | -V fontfamily=$(MSFONTFAMILY) \ 174 | $(FLOAT) --lua-filter=general.lua $(PANDOCOPTS) \ 175 | --output=$@ --pdf-engine-opt=-P-p8.5i,5.5i $< 176 | 177 | $(OUT)%.stmt.gen.ms : %.rst 178 | $(PANDOC) -s -r rst -w ms --template=statement $(MSVARIABLES) \ 179 | -V usegrowps -V psincr=2p -V growps=4 \ 180 | -V fontfamily=$(MSFONTFAMILY) \ 181 | $(FLOAT) --lua-filter=general.lua $(PANDOCOPTS) \ 182 | --output=$@ $< 183 | 184 | $(OUT)%.gen.md : %.rst 185 | $(PANDOC) -r rst -w markdown --output=$@ $< 186 | 187 | ifndef NOCONTEXT 188 | ifeq ($(FONTFAMILY),avantgarde) 189 | CONTEXTMAINFONT="Tex Gyre Adventor" 190 | CONTEXTMATHFONT="TeX Gyre Pagella Math" 191 | CONTEXTSANSFONT="Tex Gyre Adventor" 192 | CONTEXTMONOFONT="TeX Gyre Cursor" 193 | else ifeq ($(FONTFAMILY),bookman) 194 | CONTEXTMAINFONT="TeX Gyre Bonum" 195 | CONTEXTMATHFONT="TeX Gyre Bonum Math" 196 | CONTEXTSANSFONT="TeX Gyre Heros" 197 | CONTEXTMONOFONT="TeX Gyre Cursor" 198 | else ifeq ($(FONTFAMILY),schoolbook) 199 | CONTEXTMAINFONT="TeX Gyre Schola" 200 | CONTEXTMATHFONT="TeX Gyre Schola Math" 201 | CONTEXTSANSFONT="TeX Gyre Heros" 202 | CONTEXTMONOFONT="TeX Gyre Cursor" 203 | else ifeq ($(FONTFAMILY),helvetica) 204 | CONTEXTMAINFONT="TeX Gyre Heros" 205 | CONTEXTMATHFONT="TeX Gyre Termes Math" 206 | CONTEXTSANSFONT="TeX Gyre Heros" 207 | CONTEXTMONOFONT="TeX Gyre Cursor" 208 | else ifeq ($(FONTFAMILY),helvetica-narrow) 209 | CONTEXTMAINFONT="TeX Gyre Heros CN" 210 | CONTEXTMATHFONT="TeX Gyre Termes Math" 211 | CONTEXTSANSFONT="TeX Gyre Heros CN" 212 | CONTEXTMONOFONT="TeX Gyre Cursor" 213 | else ifeq ($(FONTFAMILY),palatino) 214 | CONTEXTMAINFONT="TeX Gyre Pagella" 215 | CONTEXTMATHFONT="TeX Gyre Pagella Math" 216 | CONTEXTSANSFONT="TeX Gyre Heros" 217 | CONTEXTMONOFONT="TeX Gyre Cursor" 218 | else ifeq ($(FONTFAMILY),times) 219 | CONTEXTMAINFONT="TeX Gyre Termes" 220 | CONTEXTMATHFONT="TeX Gyre Termes Math" 221 | CONTEXTSANSFONT="TeX Gyre Heros" 222 | CONTEXTMONOFONT="TeX Gyre Cursor" 223 | else ifeq ($(FONTFAMILY),optima) 224 | # You must install this. 225 | CONTEXTMAINFONT="Optima" 226 | CONTEXTMATHFONT="Optima" 227 | CONTEXTSANSFONT="Optima" 228 | CONTEXTMONOFONT="TeX Gyre Cursor" 229 | else ifeq ($(FONTFAMILY),alegreya) 230 | # You must install this. 231 | CONTEXTMAINFONT="Alegreya" 232 | CONTEXTMATHFONT="Alegreya" 233 | CONTEXTSANSFONT="Alegreya Sans" 234 | CONTEXTMONOFONT="TeX Gyre Cursor" 235 | else ifeq ($(FONTFAMILY),alegreyasans) 236 | # You must install this. 237 | CONTEXTMAINFONT="Alegreya Sans" 238 | CONTEXTMATHFONT="Alegreya Sans" 239 | CONTEXTSANSFONT="Alegreya Sans" 240 | CONTEXTMONOFONT="TeX Gyre Cursor" 241 | else ifeq ($(FONTFAMILY),cormorantgaramond) 242 | # You must install this. 243 | CONTEXTMAINFONT="Cormorant Garamond" 244 | CONTEXTMATHFONT="Cormorant Garamond" 245 | CONTEXTSANSFONT="TeX Gyre Heros" 246 | CONTEXTMONOFONT="TeX Gyre Cursor" 247 | else ifeq ($(FONTFAMILY),ebgaramond) 248 | # You must install this. 249 | CONTEXTMAINFONT="EBGaramond" 250 | CONTEXTMATHFONT="EBGaramond" 251 | CONTEXTSANSFONT="TeX Gyre Heros" 252 | CONTEXTMONOFONT="TeX Gyre Cursor" 253 | else ifeq ($(FONTFAMILY),lato) 254 | # You must install this. 255 | CONTEXTMAINFONT="Lato" 256 | CONTEXTMATHFONT="Lato" 257 | CONTEXTSANSFONT="Lato" 258 | CONTEXTMONOFONT="TeX Gyre Cursor" 259 | else ifeq ($(FONTFAMILY),ptsans) 260 | # You must install this. 261 | CONTEXTMAINFONT="PT Sans" 262 | CONTEXTMATHFONT="PT Sans" 263 | CONTEXTSANSFONT="PT Sans" 264 | CONTEXTMONOFONT="TeX Gyre Cursor" 265 | else ifeq ($(FONTFAMILY),sourcesanspro) 266 | # You must install this. 267 | CONTEXTMAINFONT="Source Sans Pro" 268 | CONTEXTMATHFONT="Source Sans Pro" 269 | CONTEXTSANSFONT="Source Sans Pro" 270 | CONTEXTMONOFONT="TeX Gyre Cursor" 271 | else ifeq ($(FONTFAMILY),roboto) 272 | # You must install this. 273 | CONTEXTMAINFONT="Roboto" 274 | CONTEXTMATHFONT="Roboto" 275 | CONTEXTSANSFONT="Roboto" 276 | CONTEXTMONOFONT="TeX Gyre Cursor" 277 | else ifeq ($(FONTFAMILY),montserrat) 278 | # You must install this. 279 | CONTEXTMAINFONT="Montserrat" 280 | CONTEXTMATHFONT="Montserrat" 281 | CONTEXTSANSFONT="Montserrat" 282 | CONTEXTMONOFONT="TeX Gyre Cursor" 283 | else ifeq ($(FONTFAMILY),crimsontext) 284 | # You must install this. 285 | CONTEXTMAINFONT="CrimsonText" 286 | CONTEXTMATHFONT="CrimsonText" 287 | CONTEXTSANSFONT="TeX Gyre Heros" 288 | CONTEXTMONOFONT="TeX Gyre Cursor" 289 | else ifeq ($(FONTFAMILY),cormorant) 290 | # You must install this. 291 | CONTEXTMAINFONT="Cormorant" 292 | CONTEXTMATHFONT="Cormorant" 293 | CONTEXTSANSFONT="TeX Gyre Heros" 294 | CONTEXTMONOFONT="TeX Gyre Cursor" 295 | else ifeq ($(FONTFAMILY),opensans) 296 | # You must install this. 297 | CONTEXTMAINFONT="Open Sans" 298 | CONTEXTMATHFONT="Open Sans" 299 | CONTEXTSANSFONT="Open Sans" 300 | CONTEXTMONOFONT="TeX Gyre Cursor" 301 | else ifeq ($(FONTFAMILY),notoserif) 302 | CONTEXTMAINFONT="Noto Serif" 303 | CONTEXTMATHFONT="Noto Serif" 304 | CONTEXTSANSFONT="Noto Sans" 305 | CONTEXTMONOFONT="TeX Gyre Cursor" 306 | else ifeq ($(FONTFAMILY),notosans) 307 | CONTEXTMAINFONT="notosans" 308 | CONTEXTMATHFONT="notosans" 309 | CONTEXTSANSFONT="notosans" 310 | CONTEXTMONOFONT="TeX Gyre Cursor" 311 | else ifeq ($(FONTFAMILY),notosans) 312 | else 313 | $(error Unknown FONTFAMILY: $(FONTFAMILY)) 314 | endif 315 | CONTEXTFONTS=\ 316 | -V mainfont=$(CONTEXTMAINFONT) \ 317 | -V mathfont=$(CONTEXTMATHFONT) \ 318 | -V sansfont=$(CONTEXTSANSFONT) \ 319 | -V monofont=$(CONTEXTMONOFONT) 320 | 321 | CONTEXTSETUP=-V fontsize=10pt -V whitespace=quarterline -V setupitemize='before={\blank[quarterline]},after={\blank[quarterline]}' -V setupenumerate='before={\blank[quarterline]},after={\blank[quarterline]}' -V linkcolor=darkgreen -V contrastcolor=blue 322 | 323 | # Currently producing output through ConTeXt does not work properly, 324 | # because pandoc currently produces ConTeXt source that lets tables 325 | # float. This causes the position of the tables to get out of sync 326 | # with the the text, which is very confusing. All the other output 327 | # formats do not let tables float, and the text is written with that 328 | # expection. Maybe some day. 329 | $(OUT)%.ctx.pdf : %.rst 330 | pandoc -s -r rst -w context --lua-filter=general.lua \ 331 | -V location=force -V number-figures=no -V number-tables=no \ 332 | --template=tkb $(CONTEXTFONTS) \ 333 | $(FLOAT) $(CONTEXTSETUP) $(PANDOCOPTS) \ 334 | --output=$@ $< 335 | $(OUT)%.gen.ctx : %.rst 336 | pandoc -s -r rst -w context --lua-filter=general.lua \ 337 | -V location=force -V number-figures=no -V number-tables=no \ 338 | --template=tkb $(CONTEXTFONTS) \ 339 | $(FLOAT) $(CONTEXTSETUP) $(PANDOCOPTS) \ 340 | --output=$@ $< 341 | 342 | $(OUT)%.stmt.ctx.pdf : %.rst 343 | pandoc -s -r rst -w context --lua-filter=general.lua \ 344 | -V location=force -V number-figures=no -V number-tables=no \ 345 | --template=statement $(CONTEXTFONTS) \ 346 | $(FLOAT) $(CONTEXTSETUP) $(PANDOCOPTS) \ 347 | --output=$@ $< 348 | $(OUT)%.stmt.gen.ctx : %.rst 349 | pandoc -s -r rst -w context --lua-filter=general.lua \ 350 | -V location=force -V number-figures=no -V number-tables=no \ 351 | --template=statement $(CONTEXTFONTS) \ 352 | $(FLOAT) $(CONTEXTSETUP) $(PANDOCOPTS) \ 353 | --output=$@ $< 354 | endif 355 | 356 | $(OUT)%.html : %.rst 357 | $(PANDOC) -s -r rst -w html --lua-filter=general.lua \ 358 | $(PANDOCOPTS) --css=epub.css --output=$@ $< 359 | 360 | 361 | $(OUT)%.epub : %.rst 362 | $(PANDOC) -s -r rst -w epub --toc --lua-filter=general.lua \ 363 | $(PANDOCOPTS) --css=epub.css --output=$@ $< 364 | 365 | # This uses the ebook-convert utility from Calibre 366 | # (https://calibre-ebook.com/) to produce a .mobi file from an .epub 367 | # file. 368 | %.mobi : %.epub 369 | ebook-convert $< $@ 370 | 371 | 372 | $(OUT)%.odt : %.rst 373 | $(PANDOC) -s -r rst -w odt $(ODTREFERENCEDOC) $(PANDOCOPTS) \ 374 | -o $@ $< 375 | 376 | $(OUT)%.docx : %.rst 377 | $(PANDOC) -s -r rst -w docx $(DOCXREFERENCEDOC) $(PANDOCOPTS) \ 378 | -o $@ $< 379 | 380 | $(OUT)%.rst : %.rst 381 | cp $< $@ 382 | 383 | $(OUT)%.rtf : %.rst 384 | $(PANDOC) -s -r rst -w rtf $(PANDOCOPTS) -o $@ $< 385 | 386 | $(OUT)%.native : %.rst 387 | $(PANDOC) -s -r rst -w native -o $@ $< 388 | 389 | %-book.pdf: %.pdf 390 | pdfbook2 --paper=letter -o20 -i50 -t30 -b20 $< 391 | 392 | clean: 393 | -rm $(OUT)*.ms.pdf $(OUT)*.ctx.pdf \ 394 | $(OUT)*.gen.ms $(OUT)*.gen.ctx \ 395 | $(OUT)*.odt $(OUT)*.docx $(OUT)*.epub $(OUT)*.mobi \ 396 | $(OUT)*.html $(OUT)*.gen.eps $(OUT)*.native $(OUT)*-book.pdf \ 397 | $(OUT)*.gen.md $(OUT)*.rtf $(OUT)*.rst 398 | 399 | release: all 400 | cd $(OUT) && zip ../../minimal-opend6-srd-$$(git describe --tags)-$$(date '+%F').zip * 401 | 402 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | Minimal OpenD6 2 | @@@@@@@@@@@@@@ 3 | 4 | `Minimal OpenD6` is a System Reference Document (SRD) based on `Mini 5 | Six`, from `AnitiPaladin Games`_, used in accordance with the `Mini 6 | Six Standard Trademark License`_ and the `Open Game License`_ used 7 | with OpenD6_. 8 | 9 | .. _AnitiPaladin Games: http://www.antipaladingames.com/ 10 | .. _Mini Six Standard Trademark License: http://www.antipaladingames.com/p/license.html 11 | .. _Open Game License: https://ogc.rpglibrary.org/images/7/73/OpenD6_OGL_v2.pdf 12 | .. _OpenD6: https://opend6.fandom.com/wiki/OpenD6 13 | 14 | First of all, if you just want a copy of `Mini Six` to read, please 15 | download the original for free or buy the print version, both from 16 | DriveThruRPG_. It is much nicer looking than anything included in 17 | this SRD, and packs an impressive amount in its densely formatted 38 18 | pages. 19 | 20 | .. _DriveThruRPG: https://www.drivethrurpg.com/product/144558/Mini-Six-Bare-Bones-Edition 21 | 22 | However, if you want to produce a custom version of rules based on 23 | `Mini Six`, this SRD may be a better starting point, whether you just 24 | want to incorporate your house rules or want to produce a completely 25 | new game. It provides: 26 | 27 | * reStructuredText_ source for the open content from `Mini Six` and 28 | the “Mini Six Standard Trademark License”. 29 | * A GNU makefile for producing output from the source. 30 | * pandoc_ templates and a filter for massaging some of the output 31 | formats for better output. 32 | * Simple PDF, HTML, EPUB, ``.mobi``, ``.rtf``, Microsoft Word 33 | ``.docx``, and OpenOffice/LibreOffice ``.odt`` (ODT)_ output for the 34 | SRD, for those who would rather start with one of those formats and 35 | not bother with using pandoc_ themselves. 36 | * Markdown source, converted from the reStructuredText_ source by 37 | pandoc_. 38 | 39 | .. _reStructuredText: https://docutils.sourceforge.io/rst.html 40 | .. _ODT: https://en.wikipedia.org/wiki/OpenDocument 41 | 42 | Using pandoc_, the reStructuredText_ source can also be transformed 43 | into other source and output formats, if there is another that you 44 | prefer. For example, pandoc can transform reStructuredText_ into 45 | asciidoc_. 46 | 47 | .. _pandoc: https://pandoc.org/ 48 | .. _markdown: https://en.wikipedia.org/wiki/Markdown 49 | .. _asciidoc: https://asciidoc.org/ 50 | 51 | Starting with `Minimal OpenD6` is an advantage if you want to start 52 | with a simple base and add just what you want, rather than starting 53 | with the full `OpenD6` and cutting out what you don't want. 54 | 55 | Pre-built output is found in the `output `_ directory, or you 56 | can download all the pre-built output formats from the `releases 57 | `_ page. 58 | 59 | If you just want the output files without any of the stuff used to 60 | build them, look at the `releases 61 | `__ page in the 62 | repository for a zip file. 63 | -------------------------------------------------------------------------------- /adjacent/README.rst: -------------------------------------------------------------------------------- 1 | The stuff in this directory is adjacent to the SRD, like early work on 2 | redoing some of the perdition templates. 3 | -------------------------------------------------------------------------------- /adjacent/alternate-mechanic.rst: -------------------------------------------------------------------------------- 1 | Mechanic 2 | ........ 3 | 4 | .. 5 | The Mechanic character template in the Perdition setting is 6 | identical to the pilot, and should be fixed. 7 | 8 | *What did you call our ship?!* 9 | 10 | | **Might: 2D+1** 11 | | **Agility: 3D+2** — Dodge 5D+1, Pilot 5D+2 12 | | **Wit: 3D+1** — Computer 4D, Navigation 5D+1, Repair 4D+1 13 | | **Charm: 2D+2** — Diplomacy 4D 14 | | **Static:** Dodge 16, Block 7, Parry 7, Soak 7 15 | | **Perks & Comps:** None 16 | | **Gear:** Light Pistol 17 | -------------------------------------------------------------------------------- /adjacent/alternate-mechanic.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - Archetype: Mechanic 3 | Might: [2D+1] 4 | Agility: [3D+1, [Dodge, 5D], [Pilot, 4D]] 5 | Wit: [3D+2, [Computer, 6D], [Navigation, 4D+1], [Repair, 6D+1]] 6 | Charm: [2D+2, [Diplomacy, 3D]] 7 | Static: [[Dodge, 15], [Block, 7], [Parry, 7], [Soak, 7]] 8 | Perks: [] 9 | Gear: ["Light Pistol"] 10 | -------------------------------------------------------------------------------- /adjacent/perdition-templates.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | #- Archetype: Space Cowboy 3 | - Archetype: Mechanic 4 | Quote: What did you call our ship?! 5 | Might: [2D+1] 6 | Agility: [3D+2, [Dodge, 5D+1], [Pilot, 5D+2]] 7 | Wit: [3D+1, [Computer, 4D], [Navigation, 5D+1], [Repair, 4D+1]] 8 | Charm: [2D+2, [Diplomacy, 4D]] 9 | Static: [[Dodge, 16], [Block, 7], [Parry, 7], [Soak, 7]] 10 | Perks: [] 11 | Complications: [] 12 | Gear: ["Light Pistol"] 13 | -------------------------------------------------------------------------------- /epub.css: -------------------------------------------------------------------------------- 1 | span.title-ref { 2 | font-style: italic; 3 | } 4 | 5 | div.box { 6 | border: solid; 7 | border-width: thin; 8 | padding: 5pt; 9 | } 10 | 11 | div.box p:first-of-type { 12 | margin-top: 0; 13 | } 14 | 15 | div.box p:last-of-type { 16 | margin-bottom: 0; 17 | } 18 | -------------------------------------------------------------------------------- /general.lua: -------------------------------------------------------------------------------- 1 | function tprint (tbl, indent) 2 | if not indent then indent = 0 end 3 | local toprint = string.rep(' ', indent) .. '{\n' 4 | indent = indent + 2 5 | for k, v in pairs(tbl) do 6 | toprint = toprint .. string.rep(' ', indent) 7 | if (type(k) == 'number') then 8 | toprint = toprint .. '[' .. k .. '] = ' 9 | elseif (type(k) == 'string') then 10 | toprint = toprint .. k .. '= ' 11 | end 12 | if (type(v) == 'number') then 13 | toprint = toprint .. v .. ',\n' 14 | elseif (type(v) == 'string') then 15 | toprint = toprint .. '\"' .. v .. '\",\n' 16 | elseif (type(v) == 'table') then 17 | toprint = toprint .. tprint(v, indent + 2) .. ',\n' 18 | else 19 | toprint = toprint .. '\"' .. tostring(v) .. '\",\n' 20 | end 21 | end 22 | toprint = toprint .. string.rep(' ', indent-2) .. '}' 23 | return toprint 24 | end 25 | 26 | 27 | local function has_value (tab, val) 28 | for index, value in ipairs(tab) do 29 | if value == val then 30 | return true, index 31 | end 32 | end 33 | return false 34 | end 35 | 36 | function Div(element) 37 | if element.classes and #element.classes > 0 then 38 | if has_value(element.classes, 'for-format') then 39 | if not has_value(element.classes, FORMAT) then 40 | io.stderr:write('Something is missing here in format \"', FORMAT, '\".\n') 41 | -- io.write(tprint(element), '\n') 42 | return {} 43 | -- return { 44 | -- pandoc.Para( 45 | -- pandoc.List({ 46 | -- pandoc.Str ( 47 | -- 'Something is missing here in format \"' .. 48 | -- FORMAT .. '\".')}))} 49 | else 50 | io.stderr:write('Has something here in format \"', FORMAT, '\".\n') 51 | end 52 | elseif has_value(element.classes, 'box') then 53 | if FORMAT == 'ms' then 54 | return {pandoc.RawBlock('ms', '.sp 0.2v\n.B1'), element, 55 | pandoc.RawBlock('ms', '.sp 0.2v\n.B2\n.sp 0.2v') } 56 | elseif FORMAT == 'context' then 57 | return {pandoc.RawBlock('context', '\\startframedtext[width=broad,rulethickness=0.75pt,offset=3pt,aligned=yes]'), 58 | element, 59 | pandoc.RawBlock('context', '\\stopframedtext{}') } 60 | 61 | elseif FORMAT == 'html' then 62 | -- TODO: do something with class box? 63 | return {pandoc.RawBlock('html', '
'), 64 | element, pandoc.RawBlock('html', '
') } 65 | end 66 | elseif has_value(element.classes, 'keep') then 67 | if FORMAT == 'ms' then 68 | return {pandoc.RawBlock('ms', '.KS\n'), element, 69 | pandoc.RawBlock('ms', '.KE\n') } 70 | -- Should really figure out how to do this in context. 71 | end 72 | end 73 | end 74 | return element 75 | end -- Div 76 | 77 | function Table(element) 78 | if FORMAT == 'ms' then 79 | return {pandoc.RawBlock('ms', '.na\n'), element, 80 | pandoc.RawBlock('ms', '.ad\n') } 81 | end 82 | end -- Table 83 | 84 | 85 | color_seen = false 86 | 87 | function Span(el) 88 | -- EPUB does it through CSS; HTML probably should too. 89 | if el.classes and #el.classes > 0 then 90 | if has_value(el.classes, 'title-ref') then 91 | if FORMAT == 'ms' then 92 | table.insert(el.content, 1, pandoc.RawInline('ms', '\\fI')) 93 | table.insert(el.content, pandoc.RawInline('ms', '\\fP')) 94 | elseif FORMAT == 'context' then 95 | table.insert(el.content, 1, pandoc.RawInline('context', '{\\it ')) 96 | table.insert(el.content, pandoc.RawInline('context', '}')) 97 | elseif FORMAT == 'latex' then 98 | table.insert(el.content, 1, pandoc.RawInline('latex', '\\textit{')) 99 | table.insert(el.content, pandoc.RawInline('latex', '}')) 100 | elseif FORMAT == 'html' then -- use CSS instead? 101 | table.insert(el.content, 1, pandoc.RawInline('html', '')) 102 | table.insert(el.content, pandoc.RawInline('html', '')) 103 | -- elseif FORMAT == 'odt' then 104 | -- has, i = has_value(el.classes, 'title-ref') 105 | -- io.write ('Found a title-ref in \"' .. FORMAT .. '\" format.\n') 106 | -- io.write('title-ref: ' .. el.classes[i] .. '\n') 107 | -- -- io.write('old span:\n') 108 | -- -- io.write(tprint (el, 2)) 109 | -- -- el.classes[i] = {"custom-sytle", el.classes[i]} 110 | -- -- io.write('new span:\n') 111 | -- -- io.write(tprint (el, 2)) 112 | -- -- io.write('\n') 113 | elseif FORMAT == 'epub' then -- do nothing, epub does it with css. 114 | else 115 | io.write('Format \"', FORMAT, '\" title-ref unimplemented.\n') 116 | end 117 | elseif has_value(el.classes, 'skill') or has_value(el.classes, 'att') 118 | or has_value(el.classes, 'spell') or has_value(el.classes, 'power') 119 | or has_value(el.classes, 'edge') 120 | then 121 | if FORMAT == 'ms' then 122 | table.insert(el.content, 1, pandoc.RawInline('ms', '\\S\'15\'')) 123 | table.insert(el.content, pandoc.RawInline('ms', '\\S\'0\'')) 124 | elseif FORMAT == 'context' then 125 | table.insert(el.content, 1, pandoc.RawInline('context', '{\\it ')) 126 | table.insert(el.content, pandoc.RawInline('context', '}')) 127 | elseif FORMAT == 'latex' then 128 | table.insert(el.content, 1, pandoc.RawInline('latex', '\\textit{')) 129 | table.insert(el.content, pandoc.RawInline('latex', '}')) 130 | elseif FORMAT == 'html' then 131 | table.insert(el.content, 1, pandoc.RawInline('html', '')) 132 | table.insert(el.content, pandoc.RawInline('html', '')) 133 | else 134 | io.write('Format \"', FORMAT, 135 | '\" skill, att, spell, power, edge unimplemented.\n') 136 | end 137 | elseif has_value(el.classes, 'name') or has_value(el.classes, 'place') 138 | or has_value(el.classes, 'money') or has_value(el.classes, 'room') 139 | or has_value(el.classes, 'item') 140 | then 141 | if FORMAT == 'ms' then 142 | table.insert(el.content, 1, pandoc.RawInline('ms', '\\fB')) 143 | table.insert(el.content, pandoc.RawInline('ms', '\\fP')) 144 | elseif FORMAT == 'context' then 145 | table.insert(el.content, 1, pandoc.RawInline('context', '{\\bf ')) 146 | table.insert(el.content, pandoc.RawInline('context', '}')) 147 | elseif FORMAT == 'latex' then 148 | table.insert(el.content, 1, pandoc.RawInline('latex', '\\textbf{')) 149 | table.insert(el.content, pandoc.RawInline('latex', '}')) 150 | elseif FORMAT == 'html' then 151 | table.insert(el.content, 1, pandoc.RawInline('html', '')) 152 | table.insert(el.content, pandoc.RawInline('html', '')) 153 | else 154 | io.write('Format \"', FORMAT, 155 | '\" name, money, room unimplemented.\n') 156 | end 157 | elseif has_value(el.classes, 'bi') then 158 | if FORMAT == 'ms' then 159 | table.insert(el.content, 1, pandoc.RawInline('ms', '\\f[BI]')) 160 | table.insert(el.content, pandoc.RawInline('ms', '\\fP')) 161 | elseif FORMAT == 'context' then 162 | table.insert(el.content, 1, pandoc.RawInline('context', '{\\bi ')) 163 | table.insert(el.content, pandoc.RawInline('context', '}')) 164 | elseif FORMAT == 'latex' then 165 | table.insert(el.content, 1, pandoc.RawInline('latex', 166 | '\\textbf{\\emph{')) 167 | table.insert(el.content, pandoc.RawInline('latex', '}}')) 168 | elseif FORMAT == 'html' then 169 | table.insert(el.content, 1, pandoc.RawInline('html', '')) 170 | table.insert(el.content, pandoc.RawInline('html', '')) 171 | else 172 | io.write('Format \"', FORMAT, '\" bi unimplemented.\n') 173 | end 174 | elseif has_value(el.classes, 'red') then 175 | if FORMAT == 'ms' then 176 | if not color_seen then 177 | color_seen = true 178 | io.write ('Format \"', FORMAT, 179 | '\" requires .color in a template.\n') 180 | end 181 | table.insert (el.content, 1, pandoc.RawInline ('ms', '\\m[red]')) 182 | table.insert (el.content, pandoc.RawInline ('ms', '\\m[]')) 183 | elseif FORMAT == 'context' then 184 | table.insert (el.content, 1, 185 | pandoc.RawInline ('context', '\\color[red]{')) 186 | table.insert (el.content, pandoc.RawInline ('context', '}')) 187 | elseif FORMAT == 'html' then 188 | table.insert (el.content, 1, 189 | pandoc.RawInline ('html', '')) 190 | table.insert (el.content, pandoc.RawInline ('html', '')) 191 | elseif FORMAT == 'epub' then 192 | io.write ('Remember to use a CSS file with "span.red" defined.\n') 193 | elseif FORMAT == 'latex' then 194 | table.insert (el.content, 1, 195 | pandoc.RawInline ('latex', '\\textcolor{red}{')) 196 | table.insert (el.content, pandoc.RawInline ('latex', '}')) 197 | else 198 | io.write ('Format \"', FORMAT, '\" red unimplemented.\n') 199 | end 200 | elseif has_value(el.classes, 'green') then 201 | if FORMAT == 'ms' then 202 | if not color_seen then 203 | color_seen = true 204 | io.write ('Format \"', FORMAT, 205 | '\" requires .color in a template.\n') 206 | end 207 | table.insert (el.content, 1, pandoc.RawInline ('ms', '\\m[green]')) 208 | table.insert (el.content, pandoc.RawInline ('ms', '\\m[]')) 209 | elseif FORMAT == 'context' then 210 | table.insert (el.content, 1, 211 | pandoc.RawInline ('context', '\\color[green]{')) 212 | table.insert (el.content, pandoc.RawInline ('context', '}')) 213 | elseif FORMAT == 'html' then 214 | table.insert (el.content, 1, 215 | pandoc.RawInline ('html', '')) 216 | table.insert (el.content, pandoc.RawInline ('html', '')) 217 | elseif FORMAT == 'epub' then 218 | io.write ('Remember to use a CSS file with "span.green" defined.\n') 219 | elseif FORMAT == 'latex' then 220 | table.insert (el.content, 1, 221 | pandoc.RawInline ('latex', '\\textcolor{green}{')) 222 | table.insert (el.content, pandoc.RawInline ('latex', '}')) 223 | else 224 | io.write ('Format \"', FORMAT, '\" green unimplemented.\n') 225 | end 226 | elseif has_value(el.classes, 'blue') then 227 | if FORMAT == 'ms' then 228 | if not color_seen then 229 | color_seen = true 230 | io.write ('Format \"', FORMAT, 231 | '\" requires .color in a template.\n') 232 | end 233 | table.insert (el.content, 1, pandoc.RawInline ('ms', '\\m[blue]')) 234 | table.insert (el.content, pandoc.RawInline ('ms', '\\m[]')) 235 | elseif FORMAT == 'context' then 236 | table.insert (el.content, 1, 237 | pandoc.RawInline ('context', '\\color[blue]{')) 238 | table.insert (el.content, pandoc.RawInline ('context', '}')) 239 | elseif FORMAT == 'html' then 240 | table.insert (el.content, 1, 241 | pandoc.RawInline ('html', '')) 242 | table.insert (el.content, pandoc.RawInline ('html', '')) 243 | elseif FORMAT == 'epub' then 244 | io.write ('Remember to use a CSS file with "span.blue" defined.\n') 245 | elseif FORMAT == 'latex' then 246 | table.insert (el.content, 1, 247 | pandoc.RawInline ('latex', '\\textcolor{blue}{')) 248 | table.insert (el.content, pandoc.RawInline ('latex', '}')) 249 | else 250 | io.write ('Format \"', FORMAT, '\" blue unimplemented.\n') 251 | end 252 | elseif has_value(el.classes, 'file') then 253 | if FORMAT == 'ms' then 254 | table.insert(el.content, 1, pandoc.RawInline('ms', '\\F[C]')) 255 | table.insert(el.content, pandoc.RawInline('ms', '\\F[]')) 256 | elseif FORMAT == 'context' then 257 | -- table.insert(el.content, 1, pandoc.RawInline('context', '{\\bi ')) 258 | -- table.insert(el.content, pandoc.RawInline('context', '}')) 259 | io.write ('Format \"', FORMAT, '\" file unimplemented.\n') 260 | elseif FORMAT == 'latex' then 261 | -- table.insert(el.content, 1, pandoc.RawInline('latex', '\\textbf{\\emph{')) 262 | -- table.insert(el.content, pandoc.RawInline('latex', '}}')) 263 | io.write ('Format \"', FORMAT, '\" file unimplemented.\n') 264 | elseif FORMAT == 'html' then 265 | table.insert(el.content, 1, pandoc.RawInline('html', '')) 266 | table.insert(el.content, pandoc.RawInline('html', '')) 267 | else 268 | io.write('Format \"', FORMAT, '\" file unimplemented.\n') 269 | end 270 | elseif has_value(el.classes, 'cmd') then 271 | if FORMAT == 'ms' then 272 | table.insert(el.content, 1, pandoc.RawInline('ms', '\\f[CB]')) 273 | table.insert(el.content, pandoc.RawInline('ms', '\\fP')) 274 | elseif FORMAT == 'context' then 275 | -- table.insert(el.content, 1, pandoc.RawInline('context', '{\\bi ')) 276 | -- table.insert(el.content, pandoc.RawInline('context', '}')) 277 | io.write ('Format \"', FORMAT, '\" file unimplemented.\n') 278 | elseif FORMAT == 'latex' then 279 | -- table.insert(el.content, 1, pandoc.RawInline('latex', '\\textbf{\\emph{')) 280 | -- table.insert(el.content, pandoc.RawInline('latex', '}}')) 281 | io.write ('Format \"', FORMAT, '\" file unimplemented.\n') 282 | elseif FORMAT == 'html' then 283 | table.insert(el.content, 1, pandoc.RawInline('html', '')) 284 | table.insert(el.content, pandoc.RawInline('html', '')) 285 | else 286 | io.write('Format \"', FORMAT, '\" file unimplemented.\n') 287 | end 288 | elseif has_value(el.classes, 'app') then 289 | if FORMAT == 'ms' then 290 | table.insert(el.content, 1, pandoc.RawInline('ms', '\\f[BI]')) 291 | table.insert(el.content, pandoc.RawInline('ms', '\\fP')) 292 | elseif FORMAT == 'context' then 293 | io.write ('Hit app in context\n') 294 | table.insert(el.content, 1, pandoc.RawInline('context', '{\\bi ')) 295 | table.insert(el.content, pandoc.RawInline('context', '}')) 296 | elseif FORMAT == 'latex' then 297 | table.insert(el.content, 1, pandoc.RawInline('latex', '\\textbf{\\textit{')) 298 | table.insert(el.content, pandoc.RawInline('latex', '}}')) 299 | elseif FORMAT == 'html' then 300 | table.insert(el.content, 1, pandoc.RawInline('html', '')) 301 | table.insert(el.content, pandoc.RawInline('html', '')) 302 | else 303 | io.write('Format \"', FORMAT, '\" file unimplemented.\n') 304 | end 305 | end 306 | end 307 | return el 308 | end -- Span 309 | -------------------------------------------------------------------------------- /mini-six-standard-trademark-license.rst: -------------------------------------------------------------------------------- 1 | License 2 | @@@@@@@ 3 | 4 | This license was originally found at 5 | “http://www.antipaladingames.com/p/license.html”. 6 | 7 | 8 | About the Mini Six Standard Trademark License 9 | ============================================= 10 | 11 | **Purpose:** Mini Six is a variant of the OpenD6 system and like it's 12 | parent is licensed under the Open Game License (OGL). Within the terms 13 | of that license anyone may use, reprint, modify, or translate Mini 14 | Six. Your rights under the OGL are not discussed here. What the OGL in 15 | Mini Six Bare Bones edition doesn't grant you the right to do is to 16 | use the trademark "Mini Six" which is property of AntiPaladin 17 | Games. The Mini Six Standard Trademark License (MSSTL) permits third 18 | party publishers and creators the use of the Mini Six Trademark under 19 | a few stipulations. 20 | 21 | **Say What?** The system was published under the Open Game 22 | License. That alone allows you to do all sorts of cool things with 23 | Mini Six without our permission. What the OGL doesn't allow you to do 24 | is to claim that your work is Mini Six compatible. The Mini Six 25 | Standard Trademark License fixes that. 26 | 27 | ------ 28 | 29 | The Mini Six Standard Trademark License (Version 1.0) 30 | ===================================================== 31 | 32 | You are permitted to use the Mini Six trademark in accordance with the 33 | following terms: 34 | 35 | #. You agree that the Mini Six trademark is property of AntiPaladin 36 | Games, and you will not contest such ownership. 37 | #. You must comply with the Open Game License as found in Mini Six Bare 38 | Bones Edition. 39 | #. You must include the following in a prominent location on either the 40 | front cover or first page of your work: "Mini Six is a trademark of 41 | AntiPaladin Games." The font must be legible and clearly visible. For 42 | works that are without pagination, (e.g. text files or similar), the 43 | declaration must be somewhere within the first ten lines of text. 44 | #. This is a non-transferable, non-exclusive, non-sublicensable, 45 | royalty-free license. 46 | #. In the event that you use "Mini Six" as part of (or in whole as) the 47 | title or subtitle of your published work you must obtain the written 48 | consent of AntiPaladin Games, which may be reached at 49 | antipaladingames@gmail.com unless you also indicate that your work is 50 | unofficial in said title or subtitle. Permission is not required to 51 | use the phrases "Mini Six compatible," "variant of Mini Six," "Mini 52 | Six variant," "modified version of Mini Six,"  "based on Mini Six," 53 | "adapted from Mini Six," "requires the use of Mini Six," "Mini Six 54 | translation," or "translation of Mini Six." These phrases may be 55 | translated into any language. 56 | #. At your option you may say nice things about us and direct your 57 | readers to our website at www.antipaladingames.com. 58 | #. You will not refer to Mini Six as "MiniSix," "Mini 6," "M6," Mini 59 | D6," "Mr. Flibble," or "Dorothy." 60 | #. Be cool. 61 | 62 | This is the end of the Mini Six Standard Trademark License 63 | 64 | ----- 65 | 66 | FAQ: 67 | ==== 68 | 69 | **Q:** Do I have to include the text of the Mini Six Standard Trademark 70 | License in my work? 71 | 72 | **A:** No. 73 | 74 | **Q:** If I use the Mini Six Standard Trademark License and the Open 75 | Game License, does that mean that I can reprint, modify, or make use of 76 | everything contained in Mini Six Bare Bones Edition? 77 | 78 | **A:** Almost. Neither the MSSTL nor the OGL grant the use of any 79 | artwork or logos from the book, with the exception of the OpenD6 logo 80 | which is property of West End Games / Purgatory Publishing. Use of the 81 | OpenD6 logo is detailed in the OGL and is not an issue on which 82 | AntiPaladin Games will give advice. Additionally, a few pages of 83 | material have been reserved as Intellectual Property by AntiPaladin 84 | Games, namely the short settings "Farnsley's Phantasm Investigations" 85 | and "Precinct '77," so they may not be used or reprinted by you. 86 | 87 | **Q:** Wait. What can I use if I take advantage of the MSSTL and the 88 | OGL? 89 | 90 | **A:** Everything except the artwork and logos (except for the OpenD6 91 | logo, though to use that you must comply with the terms set forth in the 92 | OGL), and the two mini settings "Farnsley's Phantasm Investigations" and 93 | "Precinct '77." 94 | 95 | **Q:** Didn't you just answer the same question twice? 96 | 97 | **A:** Yes. We think that it's just that important. 98 | 99 | **Q:** Do I have to use the OGL to use the Mini Six trademark? 100 | 101 | **A:** Yes. To comply with the Mini Six Standard Trademark License you 102 | must also comply with the Open Game License. If you fail to comply with 103 | the OGL, then you also fail to comply with the MSSTL. 104 | 105 | **Q:** I don't care about the Mini Six Trademark. Can I just use the 106 | OGL? 107 | 108 | **A:** Yes you may. But you may not refer to your work as Mini Six or as 109 | Mini Six compatible, and may not otherwise use or refer to the Mini Six 110 | trademark, except as needed in the Copyright Notice and Product 111 | Identification sections of the Open Game License. (Which you must do.) 112 | 113 | **Q:** Do you have a cool logo for people to use? 114 | 115 | **A:** Not yet, but when we do we will update the Mini Six Standard 116 | Trademark license to include it's use along with the trademark itself. 117 | 118 | **Q:** Can you explain part 5 of the MSSTL to me? 119 | 120 | **A:** Be cool. Don't represent your work as a new edition of Mini Six 121 | or imply that your work is a non-variant or non-derived work. We'll be 122 | cool too. We want you to use Mini Six! Things that we certainly won't 123 | deny are titles such as "Mini Six: French Edition" or similar, for 124 | translations, and other titles which make it clear to readers that there 125 | is another book out there called Mini Six. 126 | 127 | **Q:** Do I have to use the MSSTL if I just want to write about you on 128 | my blog, in my magazine, etc? 129 | 130 | **A:** No! Fair use allows you to write reviews and excerpt small 131 | passagages without worrying about such things. Of related concern, the 132 | OGL might come into play if you publish things covered by it, but unless 133 | you're a real ass about it we don't care. The Mini Six Standard 134 | Trademark License is intended for print and electronic publishers of 135 | game materials. 136 | -------------------------------------------------------------------------------- /output/mini-six-standard-trademark-license.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | License 8 | 25 | 26 | 27 | 28 |
29 |

License

30 |
31 |

This license was originally found at “http://www.antipaladingames.com/p/license.html”.

33 |

About the Mini 34 | Six Standard Trademark License

35 |

Purpose: Mini Six is a variant of the OpenD6 system 36 | and like it's parent is licensed under the Open Game License (OGL). 37 | Within the terms of that license anyone may use, reprint, modify, or 38 | translate Mini Six. Your rights under the OGL are not discussed here. 39 | What the OGL in Mini Six Bare Bones edition doesn't grant you the right 40 | to do is to use the trademark "Mini Six" which is property of 41 | AntiPaladin Games. The Mini Six Standard Trademark License (MSSTL) 42 | permits third party publishers and creators the use of the Mini Six 43 | Trademark under a few stipulations.

44 |

Say What? The system was published under the Open 45 | Game License. That alone allows you to do all sorts of cool things with 46 | Mini Six without our permission. What the OGL doesn't allow you to do is 47 | to claim that your work is Mini Six compatible. The Mini Six Standard 48 | Trademark License fixes that.

49 |
50 |

The Mini 51 | Six Standard Trademark License (Version 1.0)

52 |

You are permitted to use the Mini Six trademark in accordance with 53 | the following terms:

54 |
    55 |
  1. You agree that the Mini Six trademark is property of AntiPaladin 56 | Games, and you will not contest such ownership.
  2. 57 |
  3. You must comply with the Open Game License as found in Mini Six Bare 58 | Bones Edition.
  4. 59 |
  5. You must include the following in a prominent location on either the 60 | front cover or first page of your work: "Mini Six is a trademark of 61 | AntiPaladin Games." The font must be legible and clearly visible. For 62 | works that are without pagination, (e.g. text files or similar), the 63 | declaration must be somewhere within the first ten lines of text.
  6. 64 |
  7. This is a non-transferable, non-exclusive, non-sublicensable, 65 | royalty-free license.
  8. 66 |
  9. In the event that you use "Mini Six" as part of (or in whole as) the 67 | title or subtitle of your published work you must obtain the written 68 | consent of AntiPaladin Games, which may be reached at antipaladingames@gmail.com 70 | unless you also indicate that your work is unofficial in said title or 71 | subtitle. Permission is not required to use the phrases "Mini Six 72 | compatible," "variant of Mini Six," "Mini Six variant," "modified 73 | version of Mini Six,"  "based on Mini Six," "adapted from Mini Six," 74 | "requires the use of Mini Six," "Mini Six translation," or "translation 75 | of Mini Six." These phrases may be translated into any language.
  10. 76 |
  11. At your option you may say nice things about us and direct your 77 | readers to our website at www.antipaladingames.com.
  12. 78 |
  13. You will not refer to Mini Six as "MiniSix," "Mini 6," "M6," Mini 79 | D6," "Mr. Flibble," or "Dorothy."
  14. 80 |
  15. Be cool.
  16. 81 |
82 |

This is the end of the Mini Six Standard Trademark License

83 |
84 |

FAQ:

85 |

Q: Do I have to include the text of the Mini Six 86 | Standard Trademark License in my work?

87 |

A: No.

88 |

Q: If I use the Mini Six Standard Trademark License 89 | and the Open Game License, does that mean that I can reprint, modify, or 90 | make use of everything contained in Mini Six Bare Bones Edition?

91 |

A: Almost. Neither the MSSTL nor the OGL grant the 92 | use of any artwork or logos from the book, with the exception of the 93 | OpenD6 logo which is property of West End Games / Purgatory Publishing. 94 | Use of the OpenD6 logo is detailed in the OGL and is not an issue on 95 | which AntiPaladin Games will give advice. Additionally, a few pages of 96 | material have been reserved as Intellectual Property by AntiPaladin 97 | Games, namely the short settings "Farnsley's Phantasm Investigations" 98 | and "Precinct '77," so they may not be used or reprinted by you.

99 |

Q: Wait. What can I use if I take advantage of the 100 | MSSTL and the OGL?

101 |

A: Everything except the artwork and logos (except 102 | for the OpenD6 logo, though to use that you must comply with the terms 103 | set forth in the OGL), and the two mini settings "Farnsley's Phantasm 104 | Investigations" and "Precinct '77."

105 |

Q: Didn't you just answer the same question 106 | twice?

107 |

A: Yes. We think that it's just that important.

108 |

Q: Do I have to use the OGL to use the Mini Six 109 | trademark?

110 |

A: Yes. To comply with the Mini Six Standard 111 | Trademark License you must also comply with the Open Game License. If 112 | you fail to comply with the OGL, then you also fail to comply with the 113 | MSSTL.

114 |

Q: I don't care about the Mini Six Trademark. Can I 115 | just use the OGL?

116 |

A: Yes you may. But you may not refer to your work 117 | as Mini Six or as Mini Six compatible, and may not otherwise use or 118 | refer to the Mini Six trademark, except as needed in the Copyright 119 | Notice and Product Identification sections of the Open Game License. 120 | (Which you must do.)

121 |

Q: Do you have a cool logo for people to use?

122 |

A: Not yet, but when we do we will update the Mini 123 | Six Standard Trademark license to include it's use along with the 124 | trademark itself.

125 |

Q: Can you explain part 5 of the MSSTL to me?

126 |

A: Be cool. Don't represent your work as a new 127 | edition of Mini Six or imply that your work is a non-variant or 128 | non-derived work. We'll be cool too. We want you to use Mini Six! Things 129 | that we certainly won't deny are titles such as "Mini Six: French 130 | Edition" or similar, for translations, and other titles which make it 131 | clear to readers that there is another book out there called Mini 132 | Six.

133 |

Q: Do I have to use the MSSTL if I just want to 134 | write about you on my blog, in my magazine, etc?

135 |

A: No! Fair use allows you to write reviews and 136 | excerpt small passagages without worrying about such things. Of related 137 | concern, the OGL might come into play if you publish things covered by 138 | it, but unless you're a real ass about it we don't care. The Mini Six 139 | Standard Trademark License is intended for print and electronic 140 | publishers of game materials.

141 | 142 | 143 | -------------------------------------------------------------------------------- /output/mini-six-standard-trademark-license.stmt.ms.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tkurtbond/Minimal-OpenD6/4e0f5473f0a5089790af6c5ab5880eb04d8732e5/output/mini-six-standard-trademark-license.stmt.ms.pdf -------------------------------------------------------------------------------- /output/minimal-opend6-srd.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tkurtbond/Minimal-OpenD6/4e0f5473f0a5089790af6c5ab5880eb04d8732e5/output/minimal-opend6-srd.docx -------------------------------------------------------------------------------- /output/minimal-opend6-srd.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tkurtbond/Minimal-OpenD6/4e0f5473f0a5089790af6c5ab5880eb04d8732e5/output/minimal-opend6-srd.epub -------------------------------------------------------------------------------- /output/minimal-opend6-srd.mobi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tkurtbond/Minimal-OpenD6/4e0f5473f0a5089790af6c5ab5880eb04d8732e5/output/minimal-opend6-srd.mobi -------------------------------------------------------------------------------- /output/minimal-opend6-srd.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tkurtbond/Minimal-OpenD6/4e0f5473f0a5089790af6c5ab5880eb04d8732e5/output/minimal-opend6-srd.odt -------------------------------------------------------------------------------- /output/minimal-opend6-srd.stmt.ms.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tkurtbond/Minimal-OpenD6/4e0f5473f0a5089790af6c5ab5880eb04d8732e5/output/minimal-opend6-srd.stmt.ms.pdf -------------------------------------------------------------------------------- /statement.context: -------------------------------------------------------------------------------- 1 | $if(context-lang)$ 2 | \mainlanguage[$context-lang$] 3 | $endif$ 4 | $if(context-dir)$ 5 | \setupalign[$context-dir$] 6 | \setupdirections[bidi=on,method=two] 7 | $endif$ 8 | % Enable hyperlinks 9 | \setupinteraction 10 | [state=start, 11 | $if(title)$ 12 | title={$title$}, 13 | $endif$ 14 | $if(subtitle)$ 15 | subtitle={$subtitle$}, 16 | $endif$ 17 | $if(author)$ 18 | author={$for(author)$$author$$sep$; $endfor$}, 19 | $endif$ 20 | $if(keywords)$ 21 | keyword={$for(keywords)$$keywords$$sep$; $endfor$}, 22 | $endif$ 23 | style=$linkstyle$, 24 | color=$linkcolor$, 25 | contrastcolor=$linkcontrastcolor$] 26 | 27 | % make chapter, section bookmarks visible when opening document 28 | \placebookmarks[chapter, section, subsection, subsubsection, subsubsubsection, subsubsubsubsection][chapter, section] 29 | \setupinteractionscreen[option={bookmark,title}] 30 | \setuptagging[state=start] 31 | 32 | $if(papersize)$ 33 | \setuppapersize[$for(papersize)$$papersize$$sep$,$endfor$] 34 | $else$ 35 | \setuppapersize[letter] 36 | $endif$ 37 | $if(layout)$ 38 | \setuplayout[$for(layout)$$layout$$sep$,$endfor$] 39 | $else$ 40 | %% https://wiki.contextgarden.net/Layout#Typesetting_areas 41 | \setuplayout[ 42 | backspace=0.5in, 43 | width=4.5in, 44 | topspace=0.4in, 45 | top=0in, 46 | topdistance=0in, 47 | header=0in, 48 | headerdistance=0in, 49 | bottom=0.0in, 50 | bottomdistance=0.0in, 51 | footer=0.25in, 52 | footerdistance=0.05in, 53 | %%height=7.75in 54 | height=7.9in 55 | ] 56 | $endif$ 57 | $if(pagenumbering)$ 58 | \setuppagenumbering[$for(pagenumbering)$$pagenumbering$$sep$,$endfor$] 59 | $else$ 60 | \setuppagenumbering[location={footer,middle}] 61 | $endif$ 62 | $if(pdfa)$ 63 | % attempt to generate PDF/A 64 | \setupbackend 65 | [format=PDF/A-$pdfa$, 66 | profile={$if(pdfaiccprofile)$$for(pdfaiccprofile)$$pdfaiccprofile$$sep$,$endfor$$else$sRGB.icc$endif$}, 67 | intent=$if(pdfaintent)$$pdfaintent$$else$sRGB IEC61966-2.1$endif$] 68 | $endif$ 69 | $if(export)$ 70 | \setupbackend[export=yes] 71 | $endif$ 72 | \setupstructure[state=start,method=auto] 73 | 74 | % use microtypography 75 | %\definefontfeature[default][default][script=latn, protrusion=quality, expansion=quality, itlc=yes, textitalics=yes, onum=yes, pnum=yes] 76 | \definefontfeature[default][default][script=latn, protrusion=quality, expansion=quality, itlc=yes, textitalics=yes, onum=no, pnum=yes] 77 | \definefontfeature[default:tnum][default][tnum=yes, pnum=no] % change 78 | \definefontfeature[smallcaps][script=latn, protrusion=quality, expansion=quality, smcp=yes, onum=yes, pnum=yes] 79 | \setupalign[hz,hanging] 80 | \setupitaliccorrection[global, always] 81 | 82 | \setupbodyfontenvironment[default][em=italic] % use italic as em, not slanted 83 | 84 | \definefallbackfamily[mainface][rm][CMU Serif][preset=range:greek, force=yes] 85 | \definefallbackfamily[mainface][rm][Symbola][range={playingcards,miscellaneoussymbols,miscellaneoussymbolsandpictographs},force=yes] 86 | \definefallbackfamily[mainface][ss][Symbola][range={playingcards,miscellaneoussymbols},force=yes] 87 | \definefontfamily[mainface][rm][$if(mainfont)$$mainfont$$else$Latin Modern Roman$endif$] 88 | \definefontfamily[mainface][mm][$if(mathfont)$$mathfont$$else$Latin Modern Math$endif$] 89 | \definefontfamily[mainface][ss][$if(sansfont)$$sansfont$$else$Latin Modern Sans$endif$] 90 | \definefontfamily[mainface][tt][$if(monofont)$$monofont$$else$Latin Modern Typewriter$endif$][features=none] 91 | \definepapersize[statement][height=8.5in,width=5.5in] 92 | \setuppapersize[statement][statement] 93 | 94 | \setupbodyfont[mainface$if(fontsize)$,$fontsize$$else$10pt$endif$] 95 | 96 | \setupwhitespace[$if(whitespace)$$whitespace$$else$medium$endif$] 97 | $if(indenting)$ 98 | \setupindenting[$for(indenting)$$indenting$$sep$,$endfor$] 99 | $endif$ 100 | $if(interlinespace)$ 101 | \setupinterlinespace[$for(interlinespace)$$interlinespace$$sep$,$endfor$] 102 | $endif$ 103 | 104 | \setuphead[chapter] [style=\bfd,header=empty,grid=no,page=no] 105 | \setuphead[section] [style=\bfc,after={},before={},grid=no] 106 | \setuphead[subsection] [style=\bfb,after={},before={},grid=no] 107 | \setuphead[subsubsection] [style=\bfa,after={},before={},grid=no] 108 | \setuphead[subsubsubsection] [style=\bi,after={},before={},grid=no] 109 | \setuphead[subsubsubsubsection][style=\it,after={},before={},grid=no] 110 | \setupcolumns[grid=no] 111 | 112 | $if(headertext)$ 113 | \setupheadertexts$for(headertext)$[$headertext$]$endfor$ 114 | $endif$ 115 | $if(footertext)$ 116 | \setupfootertexts$for(footertext)$[$footertext$]$endfor$ 117 | $endif$ 118 | $if(number-sections)$ 119 | $else$ 120 | \setuphead[chapter, section, subsection, subsubsection, subsubsubsection, subsubsubsubsection][number=no] 121 | $endif$ 122 | $if(twocol)$ 123 | \definecolumnset[twocol][n=2] 124 | $endif$ 125 | \definedescription 126 | [description] 127 | [headstyle=bold, style=normal, location=hanging, width=broad, margin=1cm, alternative=hanging] 128 | 129 | \setupitemize[autointro] % prevent orphan list intro 130 | \setupitemize[indentnext=no] 131 | $if(setupitemize)$ 132 | \setupitemize[$setupitemize$] 133 | $endif$ 134 | 135 | \defineitemgroup[enumerate] 136 | \setupenumerate[each][fit][itemalign=left,distance=.5em,style={\feature[+][default:tnum]}] 137 | 138 | \setupfloat[figure][default={here,nonumber}] 139 | \setupfloat[table][default={here,nonumber}] 140 | 141 | \setupthinrules[width=15em] % width of horizontal rules 142 | 143 | \setupxtable[frame=off] 144 | \setupxtable[head][topframe=on,bottomframe=on] 145 | \setupxtable[body][] 146 | \setupxtable[foot][bottomframe=on] 147 | 148 | $if(csl-refs)$ 149 | \definemeasure[cslhangindent][1.5em] 150 | \definenarrower[hangingreferences][left=\measure{cslhangindent}] 151 | \definestartstop [cslreferences] [ 152 | $if(csl-hanging-indent)$ 153 | before={% 154 | \starthangingreferences[left] 155 | \setupindenting[-\leftskip,yes,first] 156 | \doindentation 157 | }, 158 | after=\stophangingreferences, 159 | $endif$ 160 | ] 161 | $endif$ 162 | $if(includesource)$ 163 | $for(sourcefile)$ 164 | \attachment[file=$curdir$/$sourcefile$,method=hidden] 165 | $endfor$ 166 | $endif$ 167 | $for(header-includes)$ 168 | $header-includes$ 169 | $endfor$ 170 | 171 | \starttext 172 | $if(title)$ 173 | \startalignment[middle] 174 | {\bfd\setupinterlinespace $title$} 175 | $if(subtitle)$ 176 | \smallskip 177 | {\tfa\setupinterlinespace $subtitle$} 178 | $endif$ 179 | $if(author)$ 180 | \smallskip 181 | {\tfa\setupinterlinespace $for(author)$$author$$sep$\crlf $endfor$} 182 | $endif$ 183 | $if(date)$ 184 | \smallskip 185 | {\tfa\setupinterlinespace $date$} 186 | $endif$ 187 | \bigskip 188 | \stopalignment 189 | $endif$ 190 | $if(abstract)$ 191 | \midaligned{\it Abstract} 192 | \startnarrower[2*middle] 193 | $abstract$ 194 | \stopnarrower 195 | \blank[big] 196 | $endif$ 197 | $for(include-before)$ 198 | $include-before$ 199 | $endfor$ 200 | $if(twocol)$ 201 | \startcolumnset[twocol] 202 | $endif$ 203 | $if(toc)$ 204 | \completecontent 205 | $endif$ 206 | $if(lof)$ 207 | \completelistoffigures 208 | $endif$ 209 | $if(lot)$ 210 | \completelistoftables 211 | $endif$ 212 | 213 | $body$ 214 | 215 | $for(include-after)$ 216 | $include-after$ 217 | $endfor$ 218 | $if(twocol)$ 219 | \stopcolumnset 220 | $endif$ 221 | \stoptext 222 | -------------------------------------------------------------------------------- /statement.ms: -------------------------------------------------------------------------------- 1 | .\" Run pandoc with "--pdf-engine-opt=-P-p8.5i,5.5i" for this template. 2 | $if(pandoc-version)$ 3 | .\" Automatically generated by Pandoc $pandoc-version$ 4 | .\" 5 | $endif$ 6 | .\" **** Custom macro definitions ********************************* 7 | .\" colors 8 | .color 9 | .defcolor red rgb 1 0 0 10 | .defcolor green rgb 0 1 0 11 | .defcolor blue rgb 0 0 1 12 | .\" * Super/subscript 13 | .\" (https://lists.gnu.org/archive/html/groff/2012-07/msg00046.html) 14 | .ds { \v'-0.3m'\\s[\\n[.s]*9u/12u] 15 | .ds } \s0\v'0.3m' 16 | .ds < \v'0.3m'\s[\\n[.s]*9u/12u] 17 | .ds > \s0\v'-0.3m' 18 | .\" * Horizontal line 19 | .de HLINE 20 | .LP 21 | .ce 22 | \l'20' 23 | .. 24 | $if(highlighting-macros)$ 25 | .\" * Syntax highlighting macros 26 | $highlighting-macros$ 27 | $endif$ 28 | .\" **** Settings ************************************************* 29 | .special S Symbola 30 | .\" page height 31 | .pl 8.5i 32 | .\" text width 33 | .nr LL 4.5i 34 | .\" left margin 35 | .nr PO 0.5i 36 | .\" top margin 37 | .nr HM 0.35i 38 | .\" bottom margin 39 | .nr FM 0.75i 40 | .\" header/footer width 41 | .nr LT \n[LL] 42 | .\" point size 43 | .nr PS $if(pointsize)$$pointsize$$else$10p$endif$ 44 | .\" line height 45 | .nr VS $if(lineheight)$$lineheight$$else$12p$endif$ 46 | .\" font family: A, BM, H, HN, N, P, T, ZCM 47 | .fam $if(fontfamily)$$fontfamily$$else$P$endif$ 48 | .\" paragraph indent: I originally had 2m, but others convinced me no indent 49 | .\" with inter-paragraph space was more readable. 50 | .nr PI $if(indent)$$indent$$else$0m$endif$ 51 | .\" Quote indent 52 | .nr QI $if(quoteindent)$$quoteindent$$else$2n$endif$ 53 | .\" interparagraph space 54 | .nr PD $if(interpara)$$interpara$$else$0.33v$endif$ 55 | .\" footnote width 56 | .nr FL \n[LL] 57 | .\" footnote point size 58 | .nr FPS (\n[PS] - 2000) 59 | .\" footnote mode 60 | .nr FF 3 61 | .\" footnote ratio 62 | .ds FR 1 63 | $if(papersize)$ 64 | .\" paper size 65 | .ds paper $papersize$ 66 | $endif$ 67 | .\" color used for strikeout 68 | .defcolor strikecolor rgb 0.7 0.7 0.7 69 | .\" color for links (rgb) 70 | .ds PDFHREF.COLOUR 0.35 0.00 0.60 71 | .\" border for links (default none) 72 | .ds PDFHREF.BORDER 0 0 0 73 | .\" point size difference between heading levels 74 | .\" --------------------------------------------------------------- 75 | $if(usegrowps)$ 76 | .\" A bug in in the groff -ms macros makes indentation in .IP odd 77 | .\" after .SH if using PSINCR and GROWPS. 78 | .\" point size difference between heading levels 79 | .nr PSINCR $if(psincr)$$psincr$$else$1p$endif$ 80 | .\" heading level above which point size no longer changes 81 | .nr GROWPS $if(growps)$$growps$$else$3$endif$ 82 | .\" ---------------------------------------------------------------------- 83 | .\" The title looks too small if we're using GROWPS, so adjust its size. 84 | .\" 85 | .de TL 86 | .br 87 | .als TL cov*err-not-again 88 | .rn @AB AB 89 | .rn @AU AU 90 | .rn @AI AI 91 | .di cov*tl-div 92 | .par@reset 93 | .ft B 94 | .nr tkb-psincr (\\n[PSINCR]*\\n[GROWPS])+2p 95 | .ps +\\n[tkb-psincr]u 96 | .vs +\\n[PSINCR]u*2u \" was +6p, but try to adapt to other values of PSINCR. 97 | .\" ll (u;\\n[LL]*5/6) \" Try a wider title 98 | .ll (u;\\n[LL]) 99 | .nr cov*n-au 0 100 | .DEVTAG-TL 101 | .. 102 | .\" ---------------------------------------------------------------------- 103 | $endif$ 104 | .\" comment these out if you want a dot after section numbers: 105 | .als SN SN-NO-DOT 106 | .als SN-STYLE SN-NO-DOT 107 | .\" page numbers in footer, centered 108 | .ds CH 109 | .ds CF % 110 | .\" pdf outline fold level 111 | .nr PDFOUTLINE.FOLDLEVEL 3 112 | .\" start out in outline view 113 | .pdfview /PageMode /UseOutlines 114 | .\" *************************************************************** 115 | .\" PDF metadata 116 | .pdfinfo /Title "$title-meta$" 117 | .pdfinfo /Author "$author-meta$" 118 | $if(adjusting)$ 119 | .ad $adjusting$ 120 | $endif$ 121 | $if(hyphenate)$ 122 | .hy 123 | $else$ 124 | .nh \" Turn off hyphenation by default. 125 | $endif$ 126 | $if(has-inline-math)$ 127 | .EQ 128 | delim @@ 129 | .EN 130 | $endif$ 131 | $for(header-includes)$ 132 | $header-includes$ 133 | $endfor$ 134 | $if(title)$ 135 | .TL 136 | $title$ 137 | $endif$ 138 | $for(author)$ 139 | .AU 140 | $author$ 141 | $endfor$ 142 | $if(date)$ 143 | .AU 144 | .sp 0.5 145 | .ft R 146 | $date$ 147 | $endif$ 148 | $if(abstract)$ 149 | .AB 150 | $abstract$ 151 | .AE 152 | $endif$ 153 | .\" 1 column (use .2C for two column) 154 | .1C 155 | $for(include-before)$ 156 | $include-before$ 157 | $endfor$ 158 | $body$ 159 | $if(toc)$ 160 | .TC 161 | $endif$ 162 | $for(include-after)$ 163 | $include-after$ 164 | $endfor$ 165 | .pdfsync 166 | -------------------------------------------------------------------------------- /templates.rst: -------------------------------------------------------------------------------- 1 | Average Human 2 | ~~~~~~~~~~~~~ 3 | 4 | *“.”* 5 | 6 | | Potency: \*, Scale: 7 | | Might: , Agility: , Wit: , Charm: 8 | | Skills: 9 | | Gear: 10 | | Static: 11 | 12 | 13 | 14 | Vehicles 15 | -------- 16 | 17 | | **Cost:** 18 | | **Scale:** 19 | | **Skill:** 20 | | **Body:** 21 | | **Maneuverability (MNV):** 22 | | **Move:** 23 | | **Crew:** 24 | | **Passengers (Psg):** 25 | | **Weapons:** 26 | | **Cargo:** 27 | 28 | 29 | Imperium in Revolt Spaceships 30 | ----------------------------- 31 | 32 | | **Cost:** 33 | | **Scale:** 34 | | **Skill:** 35 | | **Body:** 36 | | **Maneuverability (MNV):** 37 | | **Move:** 38 | | **Hyperdrive:** 39 | | **Crew:** 40 | | **Passengers (Psg):** 41 | | **Cargo:** 42 | | **Troops:** 43 | | **Fighters:** 44 | | **Assault Bombers:** 45 | | **Shields:** 46 | | **Weapons:** 47 | -------------------------------------------------------------------------------- /todo.org: -------------------------------------------------------------------------------- 1 | * Fix header line of clause 15 in the OGL, which is slightly indented. 2 | In both HTML, ODF, and -ms PDF. 3 | --------------------------------------------------------------------------------