Compare commits

...

10 Commits

Author SHA1 Message Date
Kim Ravn Hansen
7c09d28416 progress 2025-11-04 15:35:32 +01:00
Kim Ravn Hansen
5cf39a3a9f makefile 2025-11-03 11:19:23 +01:00
Kim Ravn Hansen
8ca8a21d9d ignore 2025-11-03 10:50:44 +01:00
Kim Ravn Hansen
4fbb2ac6c0 Stuffy 2025-11-03 10:50:19 +01:00
Kim Ravn Hansen
57194a0ba8 Progress 2025-10-09 15:52:08 +02:00
Kim Ravn Hansen
017dd81be3 stuff 2025-09-12 14:08:20 +02:00
Kim Ravn Hansen
fdbe092b17 Remove fonts of doom 2025-09-04 08:47:35 +02:00
Kim Ravn Hansen
e50def65ff stuff 2025-09-04 08:38:40 +02:00
Kim Ravn Hansen
1c7f4b5a76 rename 2025-09-03 21:28:05 +02:00
Kim Ravn Hansen
ef3772fe13 Fonts and junk 2025-09-02 12:47:22 +02:00
11 changed files with 279 additions and 179 deletions

1
.gitignore vendored Normal file → Executable file
View File

@@ -1 +1,2 @@
out/*
.spell.add.spl

14
.nvim.lua Executable file
View File

@@ -0,0 +1,14 @@
vim.notify("Local nvim config loaded", vim.log.levels.INFO)
-------------------------------------------------------------
-- Set spell info, but only for files inside the current dir
------------------------------------------------------------
local project_root = vim.fn.getcwd()
vim.api.nvim_create_autocmd("BufEnter", {
pattern = project_root .. "/*",
callback = function()
vim.opt_local.spell = true
vim.opt_local.spelllang = "en"
vim.opt_local.spellfile = project_root .. "/.spell.add"
end,
})

12
.spell.add Executable file
View File

@@ -0,0 +1,12 @@
Tissemand
Garg
WYRDS
Targ
Farg
golem
Cowlbear
Gooblin
Halvbitter
Mandag
badass
Djinn

View File

@@ -1,12 +1,12 @@
sort:
cd tooling && lua process.lua ../main.adoc --overwrite
cd tooling && lua process.lua ../rules.adoc --overwrite
html:
asciidoctor -b html main.adoc -o out/main.html && open out/main.html
asciidoctor -vw -b html rules.adoc -D out && open out/rules.html
pdf:
asciidoctor-pdf main.adoc -o out/main.pdf && open out/main.pdf
asciidoctor-pdf -vw rules.adoc -o out/rules.pdf && open out/rules.pdf
d20:
echo "" > out/statsD20.csv
lua tooling/mathD20.lua > out/statsD20.csv && open out/statsD20.csv
lua tooling/mathD20.lua > out/statsD20.csv && column -s\; -t < out/statsD20.csv

View File

@@ -17,7 +17,7 @@
=== THINGS WE DON'T WANT
* Arguing over technicalities.
* Spending game time looking at the rules.
* Internal strife or competition to be best or mow down the most monsters.
* Internal strife or competition to be best or mow down the most mønsters.
* Power gaming and min/maxing.
* People getting bored during combat.
* Undetectable, unperceivable, or unstoppable events that kill adventurers
@@ -40,9 +40,9 @@
* Their gift can burn out if they do evil stuff such as:
** Kill for fun or sadism, or killing the truly innocent, such as kids (100%
burnout).
** Kill beings that aren't monsters or villains (high risk of burnout).
** Harm beings that aren't monsters or villains (moderate risk of burnout).
** Steal from or swindle beings that aren't monsters or villains (low risk of
** Kill beings that aren't mønsters or villains (high risk of burnout).
** Harm beings that aren't mønsters or villains (moderate risk of burnout).
** Steal from or swindle beings that aren't mønsters or villains (low risk of
burnout).
** Stop actively adventuring (burnout risk increases over time).
** Become parents (100%)
@@ -82,8 +82,8 @@ Attacks always deal at least a bit of damage.
certain classes/abilities have Crit Effects that only triggers when you Crit.
** Usually only one Effect applies - and the player gets to choose.
Monster Crits:: Boss Monsters (and certain Skirmisher monsters) can crit too -
and they have random Crit Effects - each Crit-Capable monster has its own Crit
Monster Crits:: Boss Monsters (and certain Skirmisher mønsters) can crit too -
and they have random Crit Effects - each Crit-Capable mønster has its own Crit
Table of nasty effects that can be triggered on a Crit.
@@ -210,10 +210,10 @@ We want lots silly and "active" downtime (i.e. all the players do fun stuff).
Fast-Paced Dungeon Crawls::
We award fast-paced dungeon crawls, so
* Each monster "defeated" (killed, pacified, or routed) gives XP.
* Each mønster "defeated" (killed, pacified, or routed) gives XP.
* Each encounter has a "bonus time" — if you defeat the encounter within that
time, you get bonus XP.
** Each monster has a "bonus time" attribute - typically a number of minutes.
** Each mønster has a "bonus time" attribute - typically a number of minutes.
** An encounter's "bonus time" is calculated by adding up all "bonus time"
attributes.
@@ -255,11 +255,11 @@ Ad hoc Progress::
=== PERKS/ABILITIES/STUFF
Monstrous Gourmand:: If a dead monster has fresh meat on it, you can probably
Monstrous Gourmand:: If a dead mønster has fresh meat on it, you can probably
eat it without issue. You can spend 1 hour preparing the meat, then you have 1
daily ration of food. Large monsters can yield more than one ration. Be aware
daily ration of food. Large mønsters can yield more than one ration. Be aware
that only you can eat those rations safely - normal people could get sick from
eating monster meat.
eating mønster meat.
Dwarf (level 1):: You have one extra item slot (maybe for a later dwarf perk).
You have a lot of facial hair, no matter what gender you are. Your tolerance
@@ -366,7 +366,7 @@ Gems::
=== Monsters & Combat
Many monsters (the majority) should have special abilities that make combat
Many mønsters (the majority) should have special abilities that make combat
more interesting.
* Set the adventurer on fire that must be put out.

View File

@@ -1,9 +1,9 @@
= Monster's Guide To Doom & Destruction & Stuff
== WEIRDS
== WYRDS
Mondays:: A type of monster invented by Fred after he'd had a really bad day.
Mondays:: A type of mønster invented by Fred after he'd had a really bad day.
He called it, a Monday, and it is almost impossible to describe.
* It is bestowed with an extreme, but unknowable, intelligence.
@@ -11,7 +11,7 @@ He called it, a Monday, and it is almost impossible to describe.
suit their needs.
* It can take the shape of forests, castles, large bodies of water, airships,
or similar.
* It can coalesce into a smaller, more substantial monster, but it rarely does.
* It can coalesce into a smaller, more substantial mønster, but it rarely does.
* Its heart is located somewhere inside it, but it can be hard to find, and it
never looks like a heart.
* It eats happiness and shits out bad health.
@@ -19,7 +19,7 @@ He called it, a Monday, and it is almost impossible to describe.
== OILS
Garg Oil::
* Oily slime monster with wings.
* Oily slime mønster with wings.
* Can fly.
* Related to Slime.
* Drown attack.
@@ -49,8 +49,8 @@ Gelatinous Pube::
* Disgustingly smelly seaweed thing
Slime::
A type of Oil, a slime is a semi-intelligent monster that can be made out of
anything from rainwater to lava, these monsters are often highly caustic, and
A type of Oil, a slime is a semi-intelligent mønster that can be made out of
anything from rainwater to lava, these mønsters are often highly caustic, and
can constrict their opponents.
When a slime is born, it is usually a few cubic centimeters in size, but as it
@@ -58,7 +58,7 @@ consumes more and more material, it grows larger. Many slimes like to feed on
living organic matter (people, plants, animals, etc.).
Pooh-ma::
A vicious wolf-like oily monster born in the sewers and waste pits of cities,
A vicious wolf-like oily mønster born in the sewers and waste pits of cities,
military camps, and similar concentrations of feces.
* Basically a dire-wolf made of feces.
@@ -151,8 +151,7 @@ Combine a bug and a bear.
* Evil type of gnome
* A bit like Rask Gar.
* Dark vision.
* Not very fond of gnomes.
* Cowards.
* Not very fond of gnomes. * Cowards.
* Power cycles:
** Males are intelligent, cunning, and fierce.
** Females are physically very strong and tough.
@@ -177,6 +176,11 @@ Golems
* Fortress Mimic: A mimic the size and shape of a fortress, and with all
of the armaments too.
=== GIMIC
* Subspecies of Mimic. Useless and short lived, but can be quite dangerous
(glass cannon? 🤔)
== MISC
Haggis (Hag, slime ??)::

View File

@@ -1,13 +1,12 @@
/* this is my custom css */
@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";
/* fonts */
@import url('https://fonts.cdnfonts.com/css/gloria-hallelujah');
@import url('https://fonts.cdnfonts.com/css/shadows-into-light');
@import url('https://fonts.cdnfonts.com/css/shadows-into-light-two');
@import url('https://fonts.cdnfonts.com/css/spectral');
@import url('https://fonts.cdnfonts.com/css/ubuntu-mono'); /* monospace */
@import url('https://fonts.cdnfonts.com/css/gloria-hallelujah'); /* hand written quotes */
@import url('https://fonts.cdnfonts.com/css/shadows-into-light'); /* hand written Gothic */
@import url('https://fonts.cdnfonts.com/css/shadows-into-light-two'); /* hand written Gothic */
@import url('https://fonts.cdnfonts.com/css/spectral'); /* Serif font */
:root {
--text-color: rgb(0, 0, 0, 0.8);
@@ -16,17 +15,8 @@
/* MUFASSA */
html{
font-family: 'Spectral', sans-serif;
font-family: 'Spectral', serif;
-webkit-text-size-adjust:100%
}
a{
background:none
}
a:focus{
outline:thin dotted
}
a:active,a:hover{
outline:0
}
h1{
font-size:2em;
@@ -56,7 +46,7 @@ html{
color:#000
}
code,kbd,pre,samp{
font-family:monospace;
font-family:"Ubuntu Mono", monospace;
font-size:1em
}
pre{
@@ -64,6 +54,7 @@ html{
}
q{
quotes:"\201C" "\201D" "\2018" "\2019"
font-family: "Gloria Hallelujah";
}
small{
font-size:80%
@@ -149,7 +140,7 @@ html{
color:var(--text-color);
padding:0;
margin:0;
font-family: 'Spectral', sans-serif;
font-family: 'Spectral', serif;
line-height:1;
position:relative;
cursor:auto;
@@ -159,9 +150,6 @@ html{
word-wrap:anywhere;
-moz-osx-font-smoothing:grayscale;
-webkit-font-smoothing:antialiased
}
a:hover{
cursor:pointer
}
img,object,embed{
max-width:100%;
@@ -219,15 +207,20 @@ html{
a{
/* color:#2156a5; */
color:var(--text-color);
/* text-decoration:underline; */
font-style:italic
line-height:inherit
text-decoration:none;
font-style:italic;
line-height:inherit;
background: none;
}
a:hover,a:focus{
color:#1d4b8f
color:#1d4b8f;
outline:0;
cursor:pointer;
}
a:focus{
}
a img{
border:0
border:0;
}
p{
line-height:1.6;
@@ -289,7 +282,7 @@ html{
line-height:inherit
}
code{
font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;
font-family:"Ubuntu Mono", monospace;
font-weight:400;
color:rgba(0,0,0,.9)
}
@@ -325,7 +318,7 @@ html{
dl dt{
margin-bottom:.3125em;
font-weight:bold;
font-family:"Shadows Into Light";
font-family:"Shadows Into Light", sans-serif;
font-size:1em;
}
dl dd{
@@ -426,7 +419,7 @@ html{
}
pre{
color:rgba(0,0,0,.9);
font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;
font-family:"Ubuntu Mono", monospace;
line-height:1.45;
text-rendering:optimizeSpeed
}
@@ -452,7 +445,7 @@ html{
color:rgba(51,51,51,.8)
}
kbd{
font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;
font-family:"Ubuntu Mono", monospace;
display:inline-block;
color:rgba(0,0,0,.8);
font-size:.65em;
@@ -600,7 +593,7 @@ html{
margin:.5em 0
}
#toc ul{
font-family:"Open Sans","DejaVu Sans",sans-serif;
font-family:"Spectral",serif;
list-style-type:none
}
#toc li{
@@ -752,10 +745,10 @@ html{
}
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{
visibility:visible
text-decoration:none;
}
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{
color:#ba3925;
text-decoration:none
}
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{
color:#a53221
@@ -805,7 +798,7 @@ html{
.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{
text-rendering:optimizeLegibility;
text-align:left;
font-family:"Noto Serif","DejaVu Serif",serif;
font-family:"Spectral", serif;
font-size:1rem;
font-style:italic
}
@@ -833,7 +826,7 @@ html{
}
.admonitionblock>table td.icon .title{
font-weight:bold;
font-family:"Open Sans","DejaVu Sans",sans-serif;
font-family:"Spectral", serif;
text-transform:uppercase
}
.admonitionblock>table td.content{
@@ -1022,7 +1015,7 @@ html{
margin:0 1em 1.25em
}
.verseblock pre{
font-family:"Open Sans","DejaVu Sans",sans-serif;
font-family:"Spectral", serif;
font-size:1.15rem;
color:rgba(0,0,0,.85);
font-weight:300;
@@ -1506,7 +1499,7 @@ html{
width:1.67em;
height:1.67em;
line-height:1.67em;
font-family:"Open Sans","DejaVu Sans",sans-serif;
font-family:"Spectral", serif;
font-style:normal;
font-weight:bold
}

View File

@@ -0,0 +1,40 @@
extends: default
page:
layout: portrait
# margin: [0.2in, .2in, 0.2, .2in]
# size: A5
base:
# font-family: Noto Sans
#
# FONTS
# ======
# font:
# catalog:
# Noto Sans:
# normal: NotoSans-Regular.ttf
# bold: NotoSans-Bold.ttf
# italic: NotoSans-Italic.ttf
# bold_italic: NotoSans-BoldItalic.ttf
# Footer
# ========
# footer:
# recto:
# right:
# content: 'PDF v{pdf-version} | {document-title} | {page-number}'
# verso:
# left:
# content: 'PDF v{pdf-version} | {page-number}'
# Admonitions
# ===========
# admonition:
# background-color: "#666666"
# font-size: 42
# icon:
# note:
# stroke-color: #FF0000
# size: 24 # horizontal size only

View File

@@ -1,9 +1,7 @@
= The Rules Doom & Destruction & Stuff
// {{{ VARIABLES
// :stylesheet: style.css
:stylesheet: style.css
// {{{ DO NOT MESS WITH THIS LINE. DO NOT DELETE IT OR ADD BLANK LINES AROUND IT!
:doctype: article
:stylesheet: ./resources/style.css
:icons: font
:sectlinks:
:toc:
@@ -12,18 +10,19 @@
:experimental:
:stem:
:xrefstyle: full
:author: Kim Ravn Hansen
:email: moccalotto@gmail.com
:pdf-page-size: a5
// :author: Kim Ravn Hansen
// :email: moccalotto@gmail.com
:pdf-version: 1.7
:pdf-theme: basic
:pdf-fontsdir: resources/fonts
:pdf-themesdir: resources/themes
:reproducible:
:table-stripes: even
:x: ×
:one: <<nat1,One>>
:twenty: <<nat20,Twenty>>
:DM: Destruction Manager
// VARIABLES }}}
// }}}
== Creating Adventurers
@@ -52,6 +51,19 @@ should now have a score between 7 and 12.
TIP: The skill scores are likely to change before you're done creating the adventurer,
so write them on a piece of paper rather than on the adventurer's sheet for now.
[sidebar]
.Raising and Reducing Skills
--
Your <<ancestry>>, <<foundation>>, and other factors can change your skills.
Keep an eye out for the words _increase_ and _reduce_, as they have special
meaning.
* Raising a skill cannot lower it; for instance, if your Skulduggery is 12, and
your ancestry, foundation, etc. _raises_ it to 10, then nothing happens.
* Reducing a skill cannot increase it; for instance, if your Grit is 4 and
your ancestry, foundation, etc. _reduces_ it to 6, nothing happens.
--
[[ancestry,ancestry]]
=== {counter:creation}. Ancestry
@@ -76,8 +88,6 @@ Perks when you level up later on.
//---|---------------|--------------------------------------
|===
NOTE: Raising a skill that is already 10 or higher has no effect.
[[foundation,foundation]]
=== {counter:creation}. Foundation
@@ -146,7 +156,7 @@ Roll on the table below to find your Foundation. Note that you may need to rerol
|[unstyled]
* Light Armor
* Advanced Weapons
* Riposte
|[unstyled]
* Leather
@@ -157,7 +167,7 @@ Roll on the table below to find your Foundation. Note that you may need to rerol
|[unstyled]
* 15 Hit Points
* 5 Item Slots
* The TWO WEAPONS perk.
* The RIPOSTE proficiency.
* Melee Combat raised to 10
* Magic limited to 10
@@ -171,7 +181,6 @@ Roll on the table below to find your Foundation. Note that you may need to rerol
|[unstyled]
* Medium Armor
* Advanced Weapons
|[unstyled]
* Halberd
@@ -232,7 +241,7 @@ Roll on the table below to find your Foundation. Note that you may need to rerol
|[unstyled]
* 10 Hit Points
* 6 Item Slots
* 8 Item Slots
//
//---------------------------------------------------------------------------------------
@@ -243,7 +252,6 @@ Roll on the table below to find your Foundation. Note that you may need to rerol
| Reckless
|[unstyled]
* Advanced Weapons
|[unstyled]
* Great Axe
@@ -267,7 +275,6 @@ Roll on the table below to find your Foundation. Note that you may need to rerol
|[unstyled]
* Light Armor
* Advanced Weapons
|[unstyled]
* Leather Armor
@@ -275,6 +282,7 @@ Roll on the table below to find your Foundation. Note that you may need to rerol
* Longbow
* Snare Maker's Kit
* 25 Silver Pieces
* Regional Map
|[unstyled]
* 10 Hit Points
@@ -294,7 +302,6 @@ Roll on the table below to find your Foundation. Note that you may need to rerol
|[unstyled]
* Light Armor
* Shields
* Advanced Weapons
|[unstyled]
* Spear
@@ -329,8 +336,8 @@ Roll on the table below to find your Foundation. Note that you may need to rerol
|[unstyled]
* 10 Hit Points a
* 6 Item Slots b ==>
* 10 Hit Points
* 6 Item Slots
* Melee Combat raised to 10
* Awareness raised to 10
* Skulduggery raised to 10
@@ -345,7 +352,6 @@ Roll on the table below to find your Foundation. Note that you may need to rerol
| Spellsword
|[unstyled]
* Advanced Weapons
|[unstyled]
* Tier 1 Wand with random spell.
@@ -400,7 +406,6 @@ Roll on the table below to find your Foundation. Note that you may need to rerol
|[unstyled]
* Heavy Armor
* Shield
* Advanced Weapons
|[unstyled]
* Half-Plate
@@ -504,8 +509,8 @@ Roll two d8s; one for the left-hand table, and once for the right-hand table
Your background is what your adventurer used to do before they received the
Adventurer's Blessing.
If the DM makes you roll for something that is directly related to your
background, let the DM know - they might just give you an advantage.
Your background gives you knowledge that can help you during gameplay. The DM
may give you advantage on a roll of it is directly related to your background.
Roll a d20 and a d6 and look at the table below to find your background.
@@ -513,6 +518,7 @@ Roll a d20 and a d6 and look at the table below to find your background.
|===
//---|----------------------|----|----------------------------
| d20| d6 rolled 1, 3, or 5 | d20| d6 rolled 2, 4, or 6
//---|----------------------|----|----------------------------
| 1 | Apothecary | 1 | Hunter
| 2 | Baker | 2 | Hustler
| 3 | Banker | 3 | Laborer
@@ -542,6 +548,7 @@ value both times, the trait is extra pronounced.
.Body traits
[%header,cols="^1,11"]
|===
//------|-------------------
| d12 | Body traits
//------|-------------------
| 1 | Tall
@@ -564,6 +571,7 @@ Roll d20 once for facial traits.
.Facial traits
[%header,cols="^1,11"]
|===
//------|-------------------------------------------
| d20 | Facial trait
//------|-------------------------------------------
| 1 | Sharp cheekbones and hollow eyes
@@ -592,6 +600,7 @@ Roll d20 once for facial traits.
.Hair traits
[%header,cols="^1,11"]
|===
//------|------------------------------------------------
| d10 | Hair Trait
//------|------------------------------------------------
| 1 | Long and silky, flows like water
@@ -617,10 +626,12 @@ traits — especially your vice, and only if you don't overdo it.
==== Vice
Roll once to find your vice.
Roll once to find your vice. Your vices can get you into trouble
but the DM may grant you extra XP for your effort.
[%header,cols="^1,11"]
|===
//------|--------------------------------------------
| d12 | Vice
//------|--------------------------------------------
| 1 | Loves owning and interacting with treasure
@@ -641,11 +652,12 @@ Roll once to find your vice.
==== Virtue
Roll once to find your virtue. The DM might give you extra
XP if your virtues come into play.
Roll once to find your virtue. The DM might give you extra XP if you play out
your virtues, especially if they get you into trouble.
[%header,cols="^1,11"]
|===
//------|--------------------------------------------
| d20 | Virtue
//------|--------------------------------------------
| 1 | Loyal to a fault, never breaks a promise
@@ -673,11 +685,13 @@ XP if your virtues come into play.
==== Quirk
Roll once to find your quirk. The DM might give you extra XP if your quirks
come into play.
Roll once to find your quirk.
Quirks may get you into trouble, but the GM might give you extra XP for it.
[%header,cols="^1,11"]
|===
//----|----------------------------------------------
| d20 | Quirk
//----|----------------------------------------------
| 1 | Likes to rhyme
@@ -688,14 +702,14 @@ come into play.
| 6 | Deep dislike of mirrors
| 7 | Collects bones, teeth, or pebbles
| 8 | Speaks in third person
| 9 | Talks to their pet stone
| 9 | Talks to their pet stone (or similar object)
| 10 | Always wears gloves
| 11 | Whistles when nervous
| 11 | Starts whistling when nervous
| 12 | Believes in bizarre superstitions
| 13 | Refuses to walk through doorways first
| 14 | Smells everything before touching it
| 15 | Never says their real name
| 16 | Only speaks in third person
| 16 | Phrases everything like a question
| 17 | Claims to have lived many past lives
| 18 | Counts out their coins slowly and meticulously
| 19 | Hates silence, starts singing or humming
@@ -711,93 +725,106 @@ a gender and a name.
Your adventurer has a number of Item Slots, determined by their Foundation. The
sheet provides space for 10 slots, but you may have fewer. Shade, hatch, or
cross out any unusable Item Slots. == Perks
cross out any unusable Item Slots.
== Items
=== Weapons
There are four types of weapons. Basic Weapons (fists, daggers, and clubs),
Light Weapons, Heavy Weapons, and Specialist Weapons.
//---------------
// SIMPLE WEAPONS
//---------------
==== Simple Weapons
Anyone can use Basic weapons, no matter which proficiencies, foundations, or
perks they may or may not have.
[sidebar]
.Weapon Proficiency
--
If you use a non-basic weapon you are not proficient at using, you can still
use the weapon, but the following penalties apply:
* You have <<disadvantage>> on your attack rolls.
* You cannot <<crit>>.
* You do not trigger the weapon's special effect.
--
.Basic Weapons
[%header,cols="^2,^3,^2,^2,^2,6"]
|===
//-------|-------------------|-------|----|--------|----------------
| Range | Weapon | Hands | IS | Damage | Special Effect
//-------|-------------------|-------|----|--------|----------------
| Any | Dagger | 1 | ⅓ | 4 |
| Melee | Club | 1 | 1 | 4 |
| Melee | Unarmed Combat | 1 | 0 | 2 |
//-------|-------------------|-------|----|--------|----------------
|===
.Light Weapons
[%header,cols="^2,^3,^2,^2,^2,6"]
|===
//-------|-------------------|-------|----|--------|----------------
| Range | Weapon | Hands | IS | Damage | Special Effect
//-------|-------------------|-------|----|--------|----------------
| Any | Spear | 1 | 2 | 5 |
| Melee | Flail | 1 | 1 | 6 |
| Melee | Handaxe | 1 | 1 | 6 |
| Melee | Quarterstaff | 2 | 2 | 6 |
| Melee | Rapier | 1 | 2 | 6 | Fast: attack again?
| Melee | Short Sword | 1 | 2 | 6 |
| Melee | Sickle | 1 | 1 | 4 |
| Melee | Stiletto | 1 | 1 | 4 | Fast: attack again?
| Ranged | Javelin | 1 | 1 | 5 | Better than spear, somehow
| Ranged | Shortbow | 1 | 3 | |
| Ranged | Sling | 2 | 1 | 4 |
| Ranged | Small Crossbow | 2 | 2 | 8 |
//-------|-------------------|-------|----|--------|-----------
|===
.Heavy Weapons
[%header,cols="^2,^3,^2,^2,^2,6"]
|===
//-------|-------------------|-------|----|--------|----------------
| Range | Weapon | Hands | IS | Damage | Special Effect
//-------|-------------------|-------|----|--------|----------------
| Melee | Battleaxe | 1 | 3 | 8 | Mini cleave: deal a bit of damage to one adjacent foes.
| Melee | Claymore | 2 | 3 | 8 | Something cool that the Zweihänder doesn't have
| Melee | Falchion | 2 | 3 | |
| Melee | Greataxe | 2 | 4 | 10 | Cleave: deal a bit of damage to ALL adjacent foes.
| Melee | Longsword | 1 | 2 | 8 |
| Melee | Mace | 1 | 2 | 7 |
| Melee | Morning star | 1 | 2 | 8 |
| Melee | Scimitar | 1 | 2 | 7 |
| Melee | Warhammer | 1 | 3 | 6 | Push
| Melee | Zweihänder | 1 | 3 | 10 | 5 extra damage.
| Ranged | Large Crossbow | 1 | 4 | 10 |
| Ranged | Longbow | 1 | 3 | |
//-------|-------------------|-------|----|--------|-----------
|===
==== Specialist Weapons
[%unbreakable]
--
All adventurers can use simple weapons, regardless of <<foundation>>,
<<perks>>, or <<class>>.
In order to be able to use one of the Specialist weapons on this list, an adventurer
must have a <<foundation>> or <<perks,perk>> that gives them the specific
proficiency that allows them to use that specific weapon. For instance, an
adventurer who has the "Kosh" proficiency use koshes, but not any of
the other Specialist weapons.
[%header,cols="^2,^3,^2,^2,^2,6"]
|===
| Range | Weapon | Hands | IS | Damage | Special Effect
//----------|-------------------|-------|----|--------|----------------
| Any | Dagger | 1 | ⅓ | 4 |
| Any | Spear | 1 | 2 | 5 |
| Melee | Club | 1 | 1 | 4 |
| Melee | Flail | 1 | 1 | 6 |
| Melee | Handaxe | 1 | 1 | 6 |
| Melee | Longspear | 2 | 3 | 9 |
| Melee | Mace | 1 | 2 | 7 |
| Melee | Morning star | 1 | 2 | 8 |
| Melee | Quarterstaff | 2 | 2 | 6 |
| Melee | Sickle | 1 | 1 | 4 |
| Melee | Warhammer | 1 | 2 | 6 |
| Ranged | Sling | 2 | 1 | 4 |
| Ranged | Small Crossbow | 2 | 2 | 8 |
//----------|-------------------|-------|----|--------|----------------
|===
--
==== Advanced Weapons
[%unbreakable]
--
Any adventurer who has a <<foundation>>, <<class>>, or <<perk>> that allows
them to use advanced weapons can use the weapons on this list. Adventurers who
haven't got such an ability has <<disadvantage>> when attacking with advanced
weapons, and can never use their special abilities.
[%header,cols="^2,^3,^2,^2,6"]
|===
| Range | Weapon | Hands | Damage | Special Effect
//---------|-------------------|-------|-------------------------
| Any | Javelin | 1 | | Better than spear, somehow
| Melee | Battleaxe | 1 | 8 | Mini cleave?
| Melee | Claymore | 2 | 8 | Something cool that the Zweihänder doesn't have
| Melee | Falchion | 2 | |
| Melee | Greataxe | 2 | 10 | Cleave
| Melee | Halberd | 1 | 11 | Pull
| Melee | Longsword | 1 | 8 |
| Melee | Rapier | 1 | 6 | Fast: attack again?
| Melee | Scimitar | 1 | 7 |
| Melee | Short Sword | 1 | 6 |
| Melee | Stiletto | 1 | 4 | Fast: attack again?
| Melee | Zweihänder | 1 | 10 | Push
| Ranged | Large Crossbow | 1 | 10 |
| Ranged | Longbow | 1 | |
| Ranged | Shortbow | 1 | |
//---------|-------------------|-------|-------------------------
|===
--
==== Weird Weapons
[%unbreakable]
--
In order to be able to use one of the weird weapons on this list, an adventurer
must have a <<foundation>>, <<class>>, or <<perk>> that allows them to use that
specific weapon. For instance, an adventurer who has an ability to use the Kosh
can use koshes, but not any of the other weird weapons.
[%header,cols="^2,^3,^2,^2,6"]
|===
| Range | Weapon | Hands | Damage | Special Effect
//---------|-------------------|--------|--------|----------------
| Melee | Bastard Sword | 1 | 10 | None - high base damage
| Ranged | Blowgun | 1 | |
| Ranged | Bolas | 1 | 8 |
| Melee | Kosh | 1 | 8 | Knock-out
//---------|-------------------|--------|--------|----------------
| Range | Weapon | Hands | IS | Damage | Special Effect
//-------|-------------------|-------|----|--------|------------------------------
| Melee | Bastard Sword | 1 | | 10 | None - high base damage
| Melee | Halberd | 2 | | 11 | "Ranged Attack + Pull"
| Melee | Kosh | 1 | | 8 | Knock-out
| Melee | Longspear | 2 | 3 | 9 | "Ranged Attack"
| Ranged | Blowgun | 1 | | |
| Ranged | Bolas | 1 | | 8 |
//-------|-------------------|-------|----|--------|------------------------------
|===
--
@@ -824,12 +851,12 @@ can use koshes, but not any of the other weird weapons.
//----------------------|-----|-------|---------------------------------
| Armor | HP | Sneak | Notes
//----------------------|-----|-------|---------------------------------
| Scale Mail | 4 | Yes | Metal scales, noisy
| Chain Shirt | 4 | Yes | Metal rings, worn under clothes
| Brigandine | 5 | Yes | Plates riveted inside a jacket
| Lamellar Armor | 5 | Yes | Laced metal or leather plates
| Ring Mail | 4 | Yes | Rings over padded base
| Hardened Leather | 3 | Yes | Boiled and shaped for stiffness
| Scale Mail | 4 | No | Metal scales, noisy
| Chain Shirt | 4 | No | Metal rings, worn under clothes
| Brigandine | 5 | No | Plates riveted inside a jacket
| Lamellar Armor | 5 | No | Laced metal or leather plates
| Ring Mail | 4 | No | Rings over padded base
| Hardened Leather | 3 | No | Boiled and shaped for stiffness
//----------------------|-----|-------|---------------------------------
|===
@@ -848,6 +875,7 @@ can use koshes, but not any of the other weird weapons.
//----------------------|-----|-------|---------------------------------
|===
[[perks,perks]]
== Perks
This chapter is not for
@@ -899,7 +927,7 @@ This chapter is not for
* Map
** The world should be weird and funny, but not ridiculous.
** ShipWorld: the world, when seen from above, looks like the outline of a
ship, that's seen from above. But instead of being made of wooden planks,
ship, that's also seen from above. But instead of being made of wooden planks,
there is real terrain and flora. But there should/could be elevation changes
where the different decks (such as the Poop Deck) are.
*** What's around the ship?
@@ -956,3 +984,5 @@ This chapter is not for
** Halvbitter: more badass than Djinn
** Gooblin
** Cowlbear (a bear in a cowl?)

View File

@@ -14,8 +14,10 @@ end
-- }}}
--{{{ print_r
--- @diagnostic disable-next-line unused-function
local function print_r(t)
local print_r_cache = {}
--- @diagnostic disable-next-line unused-function
local function sub_print_r(t, indent)
if (print_r_cache[tostring(t)]) then
print(indent .. "*" .. tostring(t))
@@ -67,7 +69,8 @@ end
--}}}
--{{{ table_count
function table_count(t)
--- @diagnostic disable-next-line unused-function
local function table_count(t)
local count = 0
for _ in pairs(t) do count = count + 1 end
return count

View File

@@ -1,7 +1,9 @@
--
--{{{ print_r(t)
--- @diagnostic disable-next-line unused-function
local function print_r(t)
local print_r_cache = {}
--- @diagnostic disable-next-line unused-function
local function sub_print_r(t, indent)
if (print_r_cache[tostring(t)]) then
print(indent .. "*" .. tostring(t))
@@ -53,7 +55,8 @@ end
--}}}
--{{{ table_count(t)
function table_count(t)
--- @diagnostic disable-next-line unused-function
local function table_count(t)
local count = 0
for _ in pairs(t) do count = count + 1 end
return count