Compare commits

..

No commits in common. "15d51f4e1ebd72c1d9d5f66b53da841038b46dce" and "a1063ae056c1e0c0809f5d75136fd5bf101fac5f" have entirely different histories.

450 changed files with 4402 additions and 9290 deletions

60
.vscode/settings.json vendored
View File

@ -1,62 +1,4 @@
{
"cSpell.words": [
"aeryon",
"Barbarosa",
"Belz",
"Blacktyde",
"Bumo",
"Burowao",
"Celzik",
"chainmail",
"Daas",
"Elendean",
"Esun",
"Fendo",
"Freki",
"ghroudrru",
"Infravision",
"iughrioth",
"Jaxxa",
"Kho'pru",
"Koma",
"lajatang",
"Lor'nath",
"Lufa",
"Mantru",
"Mararo",
"Melfora",
"Nyssa",
"Oorg",
"Panitube",
"Pordo",
"Porma",
"psionic",
"Rhirkas",
"Rowr",
"Saedo",
"Sorris",
"spellbook",
"spellbooks",
"spellcaster",
"spellcasters",
"spellcasting",
"Tanaroa",
"Thoryio",
"Toric",
"Trado",
"Trama",
"Treuplea",
"Tudo",
"Umlatta",
"Umlatta's",
"uncharmed",
"undeciphered",
"werelion",
"werelions",
"werespider",
"werespiders",
"wurms",
"Zhoszer"
],
"cSpell.words": ["chainmail"],
"files.eol": "\n"
}

View File

@ -1,15 +0,0 @@
#!/usr/bin/bash
echo "Commencing with the site build..."
echo
nvm use 18
cd pv-web
git pull origin main
npx weevr build
rm -rf old
mv public old
mv out public
echo "All done!"
echo

View File

@ -1,2 +0,0 @@
- Usually found in frozen regions.
- Immune to damage from cold and non-magical, non-silver weapons.

View File

@ -1,6 +0,0 @@
### Life Drain
Damage inflicted by this attack reduces the target's maximum HP.
- A humanoid killed by this ability becomes a draugr in 1 day, under the control of the one that killed them.
- The victim gains back 1 hit die worth of hit points to their maximum after each long rest they take, until they return to their original total.

View File

@ -1,3 +0,0 @@
- Typically found haunting ruins and tombs.
- Immune to all damage except fire or magic.
- Any damage taken is reduced by 50%.

View File

@ -1,11 +0,0 @@
### Disease
Anyone touched by this creature must **Save** or contract a rotting disease.
- Must save after each touch (unless infected).
- While infected:
- Can't regain hit points,
- Loses 1 HD every day.
- If HD drops to 0, victim dies and turns to dust.
- Healing occurs at 10% normal rate.
- Disease can only be removed by magic (ex: Cure Disease spell)

View File

@ -1,5 +0,0 @@
### Paralyzing Fear
Anyone seeing this creature must **Save** or be [paralyzed](/rules/adventuring.html#paralyzed) with terror.
- Paralysis is broken if mummy lord attacks them or goes out of sight.

View File

@ -1,8 +0,0 @@
### Frenzy
Frenzy triggered by blood in water within 300'.
During frenzy:
- Attacks each round, and
- Skips morale checks.

View File

@ -20,4 +20,4 @@
When a humanoid loses more than 1/2 of their max hit points from the natural attacks of a werebeast (ex: bite or claw), they must **Save vs Poison** or become infected with therianthropy.
- The disease takes 2d12 days to fully infect, with signs of infection appearing halfway through.
- Humanoids become the same type of werebeasts (and are typically run by the GM, at least while transformed).
- Humanoids become the same type of werebeasts (and are typically run by the referee, at least while transformed).

View File

@ -1,7 +1,6 @@
1. **Berserker**: After striking a killing blow while in melee with multiple foes, may immediately make a free attack against another foe at 2.
2. **Dual-Wielder**: Gains [Dual Wielding](/rules/combat.html#dual-wielding). If DEX > 13 and wielding both a one-handed weapon and a Light weapon (in off hand), may make an attack with each weapon.
3. **Environmental Expert**: Can either ignore any special restrictions on combat while in a specific environment (ex: underwater) or gains +1 to attack and damage rolls while in combat in that environment (ex: aerial, astral). The environment type (and resulting effect) must be determined when this expertise is selected.
4. **Hunter**: +1 to attack and damage rolls when in combat with foes of a specific type (ex: undead, clerics, dragons, giants). The type of foe must be chosen when this expertise is selected.
5. **Leader**: Mercenaries or retainers under command and within 60' gain a +1 bonus to morale and loyalty checks. All allies within 60' get +1 bonus to saves against fear effects.
6. **Specialist**: Expertise with a specific type of weapon (ex: whips, one-handed swords, crossbows, etc.) grants +1 to attack and damage rolls when using one. The type of weapon must be chosen when this expertise is selected.
7. **Tank**: While in melee with an adjacent foe, if that foe tries to attack anyone else, that attack gets 2.
2. **Dual-Wielder**: Gains [Dual Wielding](/rules/combat.md#dual-wielding). If DEX > 13 and wielding both a one-handed weapon and a Light weapon in off hand, may make an attack with each one.
3. **Hunter**: +1 to attack and damage rolls when in combat with foes of a specific type (ex: undead, clerics, dragons, giants, etc.). The type must be chosen when this talent is selected.
4. **Leader**: Mercenaries or retainers under command and within 60' gain a +1 bonus to morale and loyalty checks. All allies within 60' get +1 bonus to saves against fear effects.
5. **Specialist**: Expertise with a specific type of weapon (ex: whips, one-handed swords, crossbows, etc.) grants +1 to attack and damage rolls when using one.
6. **Tank**: When in melee with a foe, any attacks the foe makes at anyone else get 2.

View File

@ -1,76 +0,0 @@
### 1st Level
1. [Calm / Scare](/spells/calm.html)
2. [Cure Light Wounds / Cause Light Wounds](/spells/cure-light-wounds.html)
3. Detect Evil / Detect Good
4. [Detect Magic](/spells/detct-magic.html)
5. [Light / Darkness](/spells/light.html)
6. Protection from Evil / Protection from Good
7. Purify Food and Water / Spoil Food and Water
8. Resist Cold / Remove Cold Resistance
### 2nd Level
1. Bless / Blight
2. [Continual Light (Continual Darkness)](/spells/continual-light.html)
3. Find Traps
4. Know Alignment / Hide Alignment
5. Resist Fire / Remove Fire Resistance
6. Silence 15 Radius / Startling Noise
7. Snake Charm
8. Speak with Animals
### 3rd Level
1. Cure Blindness / Blind
2. Cure Disease / Cause Disease
3. Grow Animal / Shrink Animal
4. Hold Person
5. Locate Object / Hide Object
6. Remove Curse / Curse
7. [Speak with Dead / Silence Dead](/spells/speak-with-dead.html)
8. Striking
### 4th Level
1. Peaceful Respite / Animate Dead
2. Create Water
3. Cure Serious Wounds / Cause Serious Wounds
4. Dispel Magic
5. Neutralize Poison
6. Protection from Evil 10 Radius / Protection from Good 10 Radius
7. Speak with Plants
8. Sticks to Snakes / Snakes to Sticks
### 5th Level
1. Commune
2. Create Food
3. Cure Critical Wounds
4. [Dispel Evil](/spells/dispel-evil.html)
5. Banish Insects / Insect Plague
6. Quest / Remove Quest
7. Raise Dead / Finger of Death
8. Truesight
### 6th Level
1. Aerial Servant
2. Animate Objects
3. Barrier / Remove Barrier
4. Create Normal Animals
5. Cureall / Killall
6. Find the Path
7. Speak with Monsters / Babble
8. Word of Recall
### 7th Level
1. Earthquake
2. Holy Word
3. Raise Dead Fully / Obliterate
4. Restore / Life Drain
5. Survival
6. Travel
7. Wish
8. Wizardry

View File

@ -1,8 +0,0 @@
### Decapitation
On a successful attack, the target may be decapitated.
- Against a target of stone or metal, a decapitation only occurs on a critical hit (regardless of size).
- Against a target of size large or bigger, a decapitation only occurs on a natural 19 or 20.
- Against a medium-sized or smaller target, a decapitation occurs on a natural 18, 19, or 20
- Some creatures may either be immune to or unaffected by decapitation (ex: creatures without a head, elementals).

View File

@ -8,6 +8,6 @@ Version 0.15.1 / 2024-11-10
- [Combat](/rules/combat.html)
- [Adventuring](/rules/adventuring.html)
- [Magic](/rules/magic.html)
- [GM Notes](/rules/gm-notes.html)
- [Referees Only](/rules/referees.html)
</div>

View File

@ -1,8 +1,9 @@
- **Blunt**: No cutting edge, may be wielded by a cleric.
- **Charge**: While mounted, damage may be doubled by moving at least 60' before attacking.
- **Entangle**: On successful hit, target must **Save** or become [Entangled](/rules/adventuring.html#entangled).
- **Blunt**: Can be wielded by cleric.
- **Charge**: Doubles any damage done after moving at least 60' while mounted before attacking.
- **Entangle**: On successful hit, target must **Save vs Paralyze** to be able to move or attack.
- Entangled victims can make new saves each round.
- **Light**: May be used in offhand when [dual-wielding](#dual-wielding).
- **Reach**: Grants extra 5' reach for determining melee range.
- **Reach**: Grants a extra 5' reach for determining melee range.
- **Reload**: Takes a round to reload, can only be fired every other round.
- **Slow**: Always attacks last in a round.
- **Stealth**: May only be used to attack unaware humanoid creature from behind (4+1 HD max).

View File

@ -1,5 +0,0 @@
### Battle Axe Properties
- **Versatile**: At start of combat round, if offhand is free, may choose to have sword deal 1d10 base damage for that round while gaining the following properties:
- **Slow**: Always attacks last in a round.
- **Two-handed**: Requires two hands to use.

View File

@ -1,3 +0,0 @@
### Mace Properties
- **Blunt**: No cutting edge, may be wielded by a cleric.

View File

@ -1,5 +0,0 @@
### Polearm Properties
- **Reach**: Grants extra 5' reach for determining melee range.
- **Slow**: Always attacks last in a round.
- **Two-handed**: Requires two hands to use.

View File

@ -1,4 +0,0 @@
### Whip Properties
- **Entangle**: On successful hit, target must **Save** or become [Entangled](/rules/adventuring.html#entangled).
- **Reach**: Grants extra 5' reach for determining melee range.

BIN
src/assets/images/404/` Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

View File

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

View File

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 294 KiB

After

Width:  |  Height:  |  Size: 294 KiB

View File

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

After

Width:  |  Height:  |  Size: 208 KiB

View File

@ -28,8 +28,7 @@ export default (() => {
*/
document.addEventListener('DOMContentLoaded', () => {
let to = null;
to = setTimeout(() => {
setTimeout(() => {
// Lazy-Load Media
if (typeof loadMedia === 'function') {
loadMedia('.js-lazyLoader', null, true);
@ -66,25 +65,6 @@ export default (() => {
' site:' + window.location.hostname;
});
// Make table captions into collapsable toggles
document
.querySelectorAll('.dividedTableWrapper > table > caption')
.forEach((caption) => {
const theClass = 'js-hideContent',
wrapper = caption.closest('.dividedTableWrapper');
// removes inline-styled override from markdown-it-multimd-table
caption.removeAttribute('style');
if (!wrapper) return;
wrapper.classList.add('js-toggleable');
caption.addEventListener('click', (e) => {
wrapper.classList.toggle(theClass);
});
});
// Add shadow to toolDetails that have extra content
// I know - ALL OF THIS CODE just for that little effect
const details = document.querySelectorAll('.toolDetails'),
@ -138,8 +118,6 @@ export default (() => {
});
details.forEach((detail) => setBottomShadow(detail));
clearTimeout(to);
}, 1);
});
})();

View File

@ -28,7 +28,7 @@ html {
body {
background: #2c0f2a;
/* Old browsers */
background: url("/images/site-bg.jpg") top fixed;
background: url("/images/site-bg.jpg") bottom fixed;
background-size: cover;
color: #fadbb0;
font-family: sans-serif;
@ -228,6 +228,13 @@ li {
margin-bottom: 0.6em;
}
/* turn on for that authentic OSE feel! */
/*
ul li::marker {
content: "▶ ";
}
*/
li ul {
margin-top: 0.6em;
}
@ -337,34 +344,21 @@ table th {
background: rgba(37, 40, 55, 0.6);
}
.clearBoth {
clear: both;
}
.contentWarning {
font-style: italic;
}
.dividedTableWrapper {
display: block;
box-shadow: none;
margin: 1rem 0;
max-height: 5000px;
max-width: 100%;
overflow-x: auto;
transition: box-shadow 0.3s ease-out, max-height 0.3s ease-out;
}
.dividedTableWrapper h4 {
text-align: center;
}
.dividedTableWrapper table caption {
padding: .5rem 1.5rem;
position: relative;
}
.dividedTableWrapper table td {
border: 1px dashed #f6bc43;
}
@ -446,34 +440,26 @@ a.hiddenLink:hover {
}
.imgWrapper {
align-items: center;
clear: both;
display: flex;
flex-wrap: wrap;
justify-content: center;
max-width: 100%;
float: right;
margin: 0 -0.5rem 0 1rem;
max-width: 50%;
position: relative;
text-align: center;
z-index: 0;
}
.imgWrapper figure {
margin: 0;
max-width: 50%;
}
.imgWrapper figure > a {
.imgWrapper figure>a {
border-color: transparent;
display: inline-block;
padding: 0.5rem 0.5rem 0.25rem;
}
.imgWrapper figure > a:hover {
.imgWrapper figure>a:hover {
border-color: #e94e5c;
}
.imgWrapper figure > figcaption {
backdrop-filter: blur(1rem);
.levelTable table thead tr:first-child th {
border-bottom-style: dashed;
}
.licenseLink {
@ -610,6 +596,53 @@ a.licenseLink:hover {
top: 1rem;
}
/**
* Scrolling shadows by https://kizu.dev/ and https://lea.verou.me/
* Only works in browsers supporting background-attachment: local; & CSS gradients
* Degrades gracefully
*/
.menubar {
html {
background: white;
font: 120% sans-serif;
}
.scrollbox {
overflow: auto;
width: 200px;
max-height: 200px;
margin: 50px auto;
background:
/* Shadow covers */
linear-gradient(white 30%, rgba(255,255,255,0)),
linear-gradient(rgba(255,255,255,0), white 70%) 0 100%,
/* Shadows */
radial-gradient(50% 0, farthest-side, rgba(0,0,0,.2), rgba(0,0,0,0)),
radial-gradient(50% 100%,farthest-side, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
background:
/* Shadow covers */
linear-gradient(white 30%, rgba(255,255,255,0)),
linear-gradient(rgba(255,255,255,0), white 70%) 0 100%,
/* Shadows */
radial-gradient(farthest-side at 50% 0, rgba(0,0,0,.2), rgba(0,0,0,0)),
radial-gradient(farthest-side at 50% 100%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
background-repeat: no-repeat;
background-color: white;
background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
/* Opera doesn't support this in the shorthand */
background-attachment: local, local, scroll, scroll;
}
background: #282c32;
display: static;
max-height: 1px;
}
.navBar {
background: #282c32;
display: none;
@ -861,7 +894,7 @@ a.licenseLink:hover {
}
.pageMain {
padding: 0 1em 1em;
padding: 1em;
}
.pageTitle {
@ -1030,7 +1063,6 @@ a.pageTitle-sublink {
}
.sectionBackLink-wrapper {
clear: both;
margin-top: 2rem;
}
@ -1207,34 +1239,6 @@ a.pageTitle-sublink {
* JS Overrides
****************************************************************************/
.js .dividedTableWrapper.js-toggleable {
display: inline-block;
}
.js .dividedTableWrapper.js-hideContent {
box-shadow: rgba(0, 0, 0, 0.35) 0px -50px 36px -28px inset;
max-height: 6rem;
overflow: hidden;
}
.js .dividedTableWrapper.js-toggleable table caption::before {
content: "\25BC";
left: .5rem;
position: absolute;
transform: rotate(0deg);
transition: transform 0.5s ease-out;
}
.js .dividedTableWrapper.js-toggleable table caption {
cursor: pointer;
pointer-events: all;
}
.js .dividedTableWrapper.js-toggleable.js-hideContent table caption::before {
transform: rotate(-90deg);
}
.js .pubDate.isDone {
-webkit-transition: 0.3s visibility;
transition: 0.3s visibility;
@ -1249,6 +1253,7 @@ a.pageTitle-sublink {
visibility: visible;
}
/****************************************************************************
* Media Queries
****************************************************************************/
@ -1264,20 +1269,32 @@ a.pageTitle-sublink {
font-size: 18px;
}
.imgWrapper {
float: right;
margin: 0 -0.5rem 0 1rem;
max-width: 30%;
}
.imgWrapper figure {
max-width: 100%;
/*
h2 {
background-color: transparent;
}
*/
.imgWrapper {
max-width: 33%;
}
.menubar {
height: auto;
}
/*
.navBar {
display: block;
}
*/
/*
.pageTitle {
margin-top: 2rem;
}
*/
.siteTitle-text {
text-align: center;
}
@ -1358,6 +1375,10 @@ a.pageTitle-sublink {
max-width: 960px;
}
.pageMain {
padding: 2em 1em 1em;
}
.pageTitle {
margin-top: 2rem;
}

View File

@ -21,8 +21,6 @@ var titlesBySection = {
"dragons-crystalline": "Crystalline Dragons",
"dragons-metallic": "Metallic Dragons",
"herd-mammals": "Herd Mammals",
},
unlistedSections = ['main'],
fixedSection = page?.section?.replace(/\s+/, '-');

View File

@ -45,7 +45,7 @@
both used under the SIL Open Font License, Version 1.1.
</p>
<p>
Background image released under a <a href="/licenses/cc0/">CC0</a> license.
Background image created with <a href="https://labs.openai.com/" target="_blank">DALL-E</a> released under a <a href="/licenses/cc0/">CC0</a> license.
</p>
<a href="#top" class="topLink">Back to Top</a>
</div>

View File

@ -6,7 +6,7 @@ var menuLinksByOption = {
Adventuring: "/rules/adventuring.html",
Equipment: "/rules/equipment/fantasy.html",
Magic: "/rules/magic.html",
"GM Notes": "/rules/gm-notes.html",
"Referees Only": "/rules/referees.html",
};
var title = (page.title ?? '').replace('HOSR ', '');
@ -35,7 +35,7 @@ var title = (page.title ?? '').replace('HOSR ', '');
<div class="rulesMenu">
<div class="rulesVersion">
Version Beta-0.20.0 / 2025-03-16
Version 0.14.6 / 2024-08-05
<!--
<%=site.version ?? '0.0.0' %>
<%=site.lastUpdated ?? '0.0.0' %>

View File

@ -1,25 +1,9 @@
<!-- TOP BEGIN -->
<%
const getPageField=(field_name)=> {
return page[field_name] || site[field_name] || '';
<% const getPageField=(field_name)=> {
return page[field_name] || site[field_name] || '';
},
getUrl = () => site.base_uri + (site.base_uri.endsWith('/') ? '' : '/') + page.path;
let title = page?.title ?? '';
if (page.title && page.section && !page.path.endsWith(`${page.section.replace(' ', '-')}/index.html`)) {
if (page.section === 'bestiary') {
title = `${title} (Creature)`;
}
else if (page.section === 'classes') {
title = `${title} (Class)`;
}
else if (page.section === 'races') {
title = `${title} (Race)`;
}
else if (page.section === 'magic items') {
title = `${title} (Magic Item)`;
}
}
-%>
-%>
<!doctype html>
<html class="no-js" lang="en" xmlns:fb="http://ogp.me/ns/fb#">
<head>
@ -36,7 +20,7 @@
<base href="<%= getUrl() %>" />
<title>
<%= title ? title + ' | ' : '' %>
<%= page.title ? page.title + ' | ' : '' %>
<%= page.sub_title ? page.sub_title + ' | ' : '' %>
<%= site.title %>
</title>

View File

@ -31,7 +31,7 @@ Below is a timeline of major events in (this section of) the astral plane:
| **circa 3,000 CAC**<br />_(ca. 2,000 years ago)_ | The Drahki arrive in the astral plane, establishing the [Drahki Federation](/astral/factions/index.html#drahki-federation). |
| **3961 CAC**<br />_(1062 years ago)_ | The Stral slay the Dwarf king Thurborg Goldhelm and claim ownership of the Forge. |
| **4759 CAC**<br />_(264 years ago)_ | The Lyffan Expeditionary Force arrives in the astral plane. |
| **4644 CAC**<br />_(379 years ago)_ | Lord Xynohpus arrives in the astral plane from Aeryon. |
| **4644 CAC**<br />_(379 years ago)_ | Lord Xynohpus arrives in the astral plane from Ayreon. |
| **4925 CAC**<br />_(98 years ago)_ | Lord Xynohpus establishes Xynohpus (Sapphire) Cove. |
</div>

View File

@ -11,12 +11,12 @@ short_code: atr
The steps to take for each phase of astral travel:
1. **Setup**: GM describes the situation
1. **Setup**: Referee describes the situation
2. **Decide Course**: Players decide on their course of travel for the phase and any planned activities for the day.
3. **Complication Check**: GM makes a complication check.
4. **Description**: GM describes the regions passed through, any points of interest that the party comes across, and any complications they encounter.
5. **Actions / Responses / Complications** - Players declare actions, GM describes the results.
6. **End of Phase**: The GM updates time records.
3. **Complication Check**: Referee makes a complication check.
4. **Description**: Referee describes the regions passed through, any points of interest that the party comes across, and any complications they encounter.
5. **Actions / Responses / Complications** - Party declares actions, referee describes the results.
6. **End of Phase**: The referee updates time records.
7. **Repeat**: Return to step 2 and repeat until travel ends.
#### Complication Check

View File

@ -108,256 +108,35 @@ During each round of pursuit or combat, PCs occupying these roles may attempt to
### Ship Statistics
- Cargo capacity is listed in astral-tons, with each one being equivalent to roughly 50 cubic yards.
- Cost does not include the cost of the console.
- Gnomish ships have a base 80% chance of success on each landing.
- Lyffan ships always carry a Bombard as one of their weapons
<!--
<div class="dividedTableWrapper">
| Vessel | Cost (gp)[^1] | Cargo Capacity (tons) | Length | Beam | Crew | Weapons | Ram | Landing Types | AC | HP |
| --------------------- | :-----------: | :-------------------: | :-------: | :-------: | :--: | :-----: | :-: | :-----------: | :-: | :-----: |
| Caravel | 10,000 | 10 | 60'-80' | 20'-30' | 10 | 1 | N | Water | 11 | 90-120 |
| Galleon | 20,000 | 30 | 100'-150' | 25'-30' | 20 | 3 | N | Water | 12 | 180-240 |
| Warship, Sm | 6,600 | 10 | 60'-80' | 20'-30' | 10 | 1/2 | Y | Water | 11 | 90-120 |
| Warship, Lg | 26,600 | 30 | 100'-150' | 25'-30' | 20 | 2/4 | Y | Water | 12 | 210-270 |
| Lyffan Corvette | 15,000 | 25 | 100'-150' | 25'-35' | 10 | 1/2 | N | Water | 12 | 120-180 |
| Lyffan Battlecruiser | 45,000 | 45 | 220'-280' | 20'-30' | 24 | 3/4 | Y | None | 12 | 270-330 |
| Stral Destroyer | 40,000 (est) | 35 | 150'-200' | 25'-35' | 10 | 5 lg | Y | None | 12 | 210-270 |
| Stral Dreadnought | 50,000 (est) | 60 | 220'-280' | 20'-30' | 24 | 3 lg | Y | None | 12 | 270-330 |
| Dwarven Fortress | 100,000 | 300 | 200'-300' | 150'-250' | 10 | 10 lg | Y | Land | 12 | 480-960 |
| Gnomish SteamJammer | 40,000 | 30 | 100'-150' | 20'-30' | 20 | 1 lg | N | Land, Water | 12 | 120-150 |
| Drahki Dragonship, Sm | 60,000 | 15 | 80'-120' | 10'-15' | 10 | 1 lg | Y | Water | 12 | 180-240 |
| Drahki Dragonship, Lg | 60,000 | 45 | 150'-200' | 15'-20' | 20 | 3 lg | Y | Water | 12 | 270-330 |
| Vessel | Cost (gp)[^1] | Cargo Capacity (lbs) | Length | Beam | Crew | Weapons | Ram | Landing Types | AC | HP |
| --------------------- | :-----------: | :------------------: | :-------: | :-------: | :--: | :-----: | :-: | :-----------: | :-: | :-----: |
| Caravel | 10,000 | 10,000 | 60'-80' | 20'-30' | 10 | 1 | N | Water | 11 | 90-120 |
| Galleon | 20,000 | 30,000 | 100'-150' | 25'-30' | 20 | 3 | N | Water | 12 | 180-240 |
| Warship, Sm | 6,600 | 10,000 | 60'-80' | 20'-30' | 10 | 1/2 | Y | Water | 11 | 90-120 |
| Warship, Lg | 26,600 | 30,000 | 100'-150' | 25'-30' | 20 | 2/4 | Y | Water | 12 | 210-270 |
| Lyffan Corvette | 15,000 | 25,000 | 100'-150' | 25'-35' | 10 | 1/2 | N | Water | 12 | 120-180 |
| Lyffan Battlecruiser | 45,000 | 45,000 | 220'-280' | 20'-30' | 24 | 3/4 | Y | None | 12 | 270-330 |
| Stral Destroyer | 40,000 (est) | 35,000 | 150'-200' | 25'-35' | 10 | 5 lg | Y | None | 12 | 210-270 |
| Stral Dreadnought | 50,000 (est) | 60,000 | 220'-280' | 20'-30' | 24 | 3 lg | Y | None | 12 | 270-330 |
| Dwarven Fortress | 100,000 | 300,000 | 200'-300' | 150'-250' | 10 | 10 lg | Y | Land | 12 | 480-960 |
| Gnomish SteamJammer | 40,000 | 30,000 | 100'-150' | 20'-30' | 20 | 1 lg | N | Land, Water | 12 | 120-150 |
| Drahki Dragonship, Sm | 60,000 | 15,000 | 80'-120' | 10'-15' | 10 | 1 lg | Y | Water | 12 | 180-240 |
| Drahki Dragonship, Lg | 60,000 | 45,000 | 150'-200' | 15'-20' | 20 | 3 lg | Y | Water | 12 | 270-330 |
[Ship Statistics]
</div>
[^1]:
Does not include the cost of the console.
-->
[^1]: Does not include the cost of the console.
#### Caravel
### Ship Notes
<div class='headlessTableWrapper'>
| | |
| -------------------- | --------- |
| **Cost** | 10,000 gp |
| **Cargo Capacity** | 10 tons |
| **Length** | 60'-80' |
| **Beam** | 20'-30' |
| **Crew** | 10 |
| **Weapons** | 1 medium |
| **Ram** | N |
| **Landing Types** | Water |
| **AC** | 11 |
| **Damage Threshold** | 5 |
| **HP** | 90-120 |
</div>
#### Galleon
<div class='headlessTableWrapper'>
| | |
| -------------------- | --------- |
| **Cost** | 20,000 gp |
| **Cargo Capacity** | 30 tons |
| **Length** | 100'-150' |
| **Beam** | 25'-30' |
| **Crew** | 20 |
| **Weapons** | 3 medium |
| **Ram** | N |
| **Landing Types** | Water |
| **AC** | 12 |
| **Damage Threshold** | 5 |
| **HP** | 180-240 |
</div>
#### Warship, Small
<div class='headlessTableWrapper'>
| | |
| -------------------- | ------------------- |
| **Cost** | 6,600 gp |
| **Cargo Capacity** | 10 tons |
| **Length** | 60'-80' |
| **Beam** | 20'-30' |
| **Crew** | 10 |
| **Weapons** | 1 large or 2 medium |
| **Ram** | Y |
| **Landing Types** | Water |
| **AC** | 11 |
| **Damage Threshold** | 6 |
| **HP** | 90-120 |
#### Warship, Large
<div class='headlessTableWrapper'>
| | |
| -------------------- | ------------------- |
| **Cost** | 26,600 gp |
| **Cargo Capacity** | 30 tons |
| **Length** | 100'-150' |
| **Beam** | 25'-30' |
| **Crew** | 20 |
| **Weapons** | 2 large or 4 medium |
| **Ram** | Y |
| **Landing Types** | Water |
| **AC** | 12 |
| **Damage Threshold** | 6 |
| **HP** | 210-270 |
#### Lyffan Corvette
<div class='headlessTableWrapper'>
| | |
| -------------------- | ------------------- |
| **Cost** | 15,000 gp |
| **Cargo Capacity** | 25 tons |
| **Length** | 100'-150' |
| **Beam** | 25'-35' |
| **Crew** | 10 |
| **Weapons** | 1 large or 2 medium |
| **Ram** | N |
| **Landing Types** | Water |
| **AC** | 12 |
| **Damage Threshold** | 6 |
| **HP** | 120-180 |
#### Lyffan Battlecruiser
<div class='headlessTableWrapper'>
| | |
| -------------------- | ------------------- |
| **Cost** | 45,000 gp |
| **Cargo Capacity** | 45 tons |
| **Length** | 220'-280' |
| **Beam** | 20'-30' |
| **Crew** | 24 |
| **Weapons** | 3 large or 4 medium |
| **Ram** | Y |
| **Landing Types** | None |
| **AC** | 12 |
| **Damage Threshold** | 6 |
| **HP** | 270-330 |
#### Stral Destroyer
<div class='headlessTableWrapper'>
| | |
| -------------------- | --------------------- |
| **Cost** | 40,000 gp (estimated) |
| **Cargo Capacity** | 35 tons |
| **Length** | 150'-200' |
| **Beam** | 25'-35' |
| **Crew** | 10 |
| **Weapons** | 5 large |
| **Ram** | Y |
| **Landing Types** | None |
| **AC** | 12 |
| **Damage Threshold** | 6 |
| **HP** | 210-270 |
#### Stral Dreadnought
<div class='headlessTableWrapper'>
| | |
| -------------------- | --------------------- |
| **Cost** | 50,000 gp (estimated) |
| **Cargo Capacity** | 60 tons |
| **Length** | 220'-280' |
| **Beam** | 20'-30' |
| **Crew** | 24 |
| **Weapons** | 3 large |
| **Ram** | Y |
| **Landing Types** | None |
| **AC** | 12 |
| **Damage Threshold** | 6 |
| **HP** | 270-330 |
#### Dwarven Fortress
<div class='headlessTableWrapper'>
| | |
| -------------------- | ---------------------- |
| **Cost** | 500,000 gp (estimated) |
| **Cargo Capacity** | 300 tons |
| **Length** | 200'-300' |
| **Beam** | 150'-250' |
| **Crew** | 10 |
| **Weapons** | 10 large |
| **Ram** | Y |
| **Landing Types** | Land |
| **AC** | 12 |
| **Damage Threshold** | 8 |
| **HP** | 480-9601 |
#### Gnomish SteamJammer
<div class='headlessTableWrapper'>
| | |
| -------------------- | ----------- |
| **Cost** | 40,000 gp |
| **Cargo Capacity** | 30 tons |
| **Length** | 100'-150' |
| **Beam** | 20'-30' |
| **Crew** | 20 |
| **Weapons** | 1 large |
| **Ram** | N |
| **Landing Types** | Land, Water |
| **AC** | 12 |
| **Damage Threshold** | 4 |
| **HP** | 120-150 |
#### Drahki Dragonship, Small
<div class='headlessTableWrapper'>
| | |
| -------------------- | ------------- |
| **Cost** | 60,000 gp |
| **Cargo Capacity** | 15 tons |
| **Length** | 80'-120' |
| **Beam** | 10'-15' |
| **Crew** | 10 |
| **Weapons** | 1 Fire Cannon |
| **Ram** | Y |
| **Landing Types** | Water |
| **AC** | 12 |
| **Damage Threshold** | 5 |
| **HP** | 180-240 |
#### Drahki Dragonship, Large
<div class='headlessTableWrapper'>
| | |
| -------------------- | ------------------------------------------ |
| **Cost** | 60,000 gp |
| **Cargo Capacity** | 45 tons |
| **Length** | 150'-200' |
| **Beam** | 15'-20' |
| **Crew** | 20 |
| **Weapons** | 3 large (including at least 1 Fire Cannon) |
| **Ram** | Y |
| **Landing Types** | Water |
| **AC** | 12 |
| **Damage Threshold** | 5 |
| **HP** | 270-330 |
- **Drahki ships**: Always carry a Fire Cannon as one of their weapons.
- **Gnomish ships**: Base 80% chance of success on each landing.
- **Lyffan ships**: Always carry a Bombard as one of their weapons
<!-- - **Stral ships**: -->
### Upgrades
@ -374,20 +153,13 @@ The hide of one (or more) animals is spread out across the hull.
- **+2** costs 40% of capacity in gp.
- **+3** costs 80% of capacity in gp.
#### Plating
Metal plates are attached to the hull.
- Grants an AC bonus of +3.
- Increases ship hit points by 25%.
### Weapons
#### Ballistae
Fire large bolts (arrows) of wood and iron.
**Cargo Space**: A medium ballista plus twenty bolts requires 1 ton of cargo space, and a heavy ballista plus twenty bolts occupies 2 tons of space (both subtracted from the ships cargo allowance).
**Cargo Space**: A medium ballista plus twenty bolts requires 6,000 coins of cargo space, and a heavy ballista plus twenty bolts occupies 12,000 coins worth (both subtracted from the ships cargo allowance).
**Attack modifiers**: May be applied for environmental conditions, maneuverability, etc.
@ -397,8 +169,8 @@ Fire large bolts (arrows) of wood and iron.
**Attack rolls and rate of fire**: Depend on the number of crew manning the ballista:
- 2 crew (minimum): Attacks at +4, fires every 3 rounds.
- 3 crew (maximum): Attacks at +5, fires every 2 rounds.
- 2 crew (minimum): Attacks with THAC0 15 [+4]. Fires every 3 rounds.
- 3 crew (maximum): Attacks with THAC0 14 [+5]. Fires every 2 rounds.
**Damage**: 3d6 hit points.
@ -408,8 +180,8 @@ Fire large bolts (arrows) of wood and iron.
**Attack rolls and rate of fire**: Depend on the number of crew manning the ballista:
- 4 crew (minimum): Attacks at +4, fires every 4 rounds.
- 5 crew (maximum): Attacks at +5, fires every 3 rounds.
- 4 crew (minimum): Attacks with THAC0 15 [+4]. Fires every 4 rounds.
- 5 crew (maximum): Attacks with THAC0 14 [+5]. Fires every 3 rounds.
**Damage**: 3d10 hit points.
@ -417,7 +189,7 @@ Fire large bolts (arrows) of wood and iron.
Fire magically-propelled large balls of iron.
**Cargo Space**: A bombard plus twenty cannonballs requires 2 tons of cargo space (subtracted from the ships cargo allowance).
**Cargo Space**: A bombard plus twenty cannonballs requires 10,000 coins of cargo space (subtracted from the ships cargo allowance).
**Range**: 1,000 yards.
@ -425,8 +197,8 @@ Fire magically-propelled large balls of iron.
**Attack rolls and rate of fire**: Depend on the number of crew manning the bombards:
- 3 crew (minimum): Attacks at +2, fires every 3 rounds.
- 4 crew (maximum): Attacks at +3, fires every 2 rounds.
- 3 crew (minimum): Attacks with THAC0 17 [+2]. Fires every 3 rounds.
- 4 crew (maximum): Attacks with THAC0 16 [+3]. Fires every 2 rounds.
**Damage**: 2d10 hit points.
@ -444,8 +216,8 @@ Fire dragon's flame. Can be tuned to fire in a cloud, cone, or line. Requires a
**Attack rolls and rate of fire**: Depend on the number of crew manning the cannons:
- 2 crew (minimum): Attacks at +4, fires every 2 rounds.
- 3 crew (maximum): Attacks at +5, fires each round.
- 2 crew (minimum): Attacks with THAC0 15 [+4]. Fires every 2 rounds.
- 3 crew (maximum): Attacks with THAC0 14 [+5]. Fires each round.
**Damage**: 1d6+5 x 10 hit points
@ -467,9 +239,9 @@ Fire energy bolts that function like magic missiles. Requires 2 common Eye Tyran
#### Rams
Can be used against ships or giant creatures, small individuals cannot be targeted.
Can be used against ships or giant creatures. Small individuals cannot be targeted.
**Attack rolls**: Are made at +0 and occur at the same point in the combat sequence as missile fire.
**Attack rolls**: Are made using a THAC0 of 19 [0] and occur at the same point in the combat sequence as missile fire.
**Attack modifiers**: May be applied for environmental conditions, maneuverability, etc.

View File

@ -8,68 +8,13 @@ short_code: axc
status: hidden
---
A relatively small port on the outer rim of the Astral Trade Zone, Xynohpus Cove is a collection of small wooden buildings on a carved fragment from the earth plane, complete with its own magic shop, blacksmith, guard house, and a single, two-story warehouse.
A relatively small port on the outer rim of the Astral Trade Zone, Xynohpus Cove is a collection of small wooden buildings on a carved fragment from the earth plane, complete with its own magic shop, blacksmith, and a single, two-story warehouse.
- Located on a oblong fragment of earth, about 200' across by 50' around.
- 20' diameter portal to the warehouse district of the aptly named Portown, a city on the material plane.
- A large magical clock above the portal shows the [current time](./adventuring.html#calendar) both on the astral plane and in Portown.
- Usually has 1-2 ships in dock.
- Founded almost [100 years ago](./timeline.html) by the wizard Xynohpus.
- Controlled by the Portown government.
- Portown city guards have a special detail assigned here, in the guard house (complete with a holding cell).
- Generally aligned with Trade Union and
### NPCs
- **Lord Stengar Muziv**
- Human noble harbormaster (Level 0)
- Harbormaster of Xynohpus Cove
- Tradelord in the Astral Trade Union
- Dresses in fine purple silks
- Appointed by (and reports directly to) the lord mayor of Portown.
- Hopes to use his title to gain favor with the ruling houses of Portown.
- **Fenwick C. Fizzlebell**
- Gnomish male
- Assistant to Lord Stengar Muziv
- Fussy gnome dressed all in yellow
- Always appears to be in over his head
- **Zohar, Keeper of the Obelisk**
- Half-elven male cleric of Phoris.
- Chatty and personable, he tries to be helpful when he can.
- **Amaryllis (Amary), the Alchemist**
- Owns and ran Amary's Emporium
- Polite and pretty (but bored) human female
- Smarter than she appears.
- Wears long, dark-colored dresses.
- Close ties with the Grand Consortium.
- Daughter of the wizard Lord Xynohpus, but doesn't like to talk about it.
- **Rocky**
- Fenwick's liviing statue / bodyguard
- Idyllic human male shape
- Made of magical marble
- Apparently mute
- **Unkhlar Thildison**
- Dwarven blacksmith
- Thin and kinda shifty, with short copper hair and green eyes.
- Had a pet spider named Therva that occasionally hangs out on his shoulder.
- **Zoviar of the Black Tower**
- Spindly human male wizard with a thin mustache.
- Dresses in black silken robes.
- Snide, insinuating, and all-around unpleasant to deal with.
#### Former NPCs
### Locations

View File

@ -5,21 +5,21 @@ date_pub: 2023-07-04T16:41:00-04:00
section: bestiary
content_type: feature
short_code: baj
hd: 1
---
A mythical, one-horned hare or rabbit.
<div class='headlessTableWrapper'>
| | |
| --------------- | ------------------- |
| **Hit Dice** | 1 (5hp) |
| **Armor Class** | 13 |
| **Attacks** | 1 (+0) @ 1d4 (horn) |
| **Movement** | 60' |
| **Save** | 12 (1) |
| **Morale** | 8 |
| **Alignment** | Neutral |
| | |
| ----------------- | ----------------------- |
| **Hit Dice** | 1 (5hp) |
| **Armor Class** | 13 |
| **Attacks** | 1 (+0) @ 1d4 (horn) |
| **Movement** | 60' |
| **Saving Throws** | D12 W13 P14 B15 S16 (1) |
| **Morale** | 8 |
| **Alignment** | Neutral |
| **XP** | 10 |
</div>

View File

@ -1,27 +1,26 @@
---
title: Assassin
title: Assassin (Creature)
description: Someone skilled at stealth-based murder-for-hire.
date_pub: 2024-07-06T21:50:50.000-04:00
section: bestiary
content_type: feature
short_code: bas
hd: 1+
---
Someone skilled at stealth-based elimination.
<div class='headlessTableWrapper'>
| | |
| ------------------- | -------------------------------------------------------------- |
| **Hit Dice** | 1d6\* (4hp) |
| **Armor Class** | 13 (leather) |
| **Movement** | 40' |
| **Attacks** | 1 @ weapon (1d6) or assassinate |
| **Attack Modifier** | 0 |
| **Alignment** | Any |
| **Save** | 13 (as [Assassin class](/classes/assassin.html#core-features)) |
| **Morale** | 4 |
| | |
| ------------------- | ---------------------------------------------- |
| **Hit Dice** | 1d6\* (4hp) |
| **Armor Class** | 13 (leather) |
| **Movement** | 40' |
| **Attacks** | 1 @ weapon (1d6) or assassinate |
| **Attack Modifier** | 0 |
| **Alignment** | Any |
| **Save As** | [Assassin](/classes/assassin.html#advancement) |
| **Morale** | 4 |
</div>
@ -29,7 +28,7 @@ Someone skilled at stealth-based elimination.
- **Guild**: 20% chance of being affiliated with a guild, increasing to 80% near major urban centers.
- **Leader**: 30% chance groups of 4+ are led by a higher level assassin (1d4 HD higher).
- [**Non-human Modifiers**](./nonhuman-modifiers.html): Non-human assassins may have additional abilities or modified statistics.
- **Weapon Versatility**: May be found wielding various types of [weapons](/rules/combat.html#weapons).
- **Weapon Versatility**: May be found wielding various types of [weapons](https://www.planarvagabond.com/rules/combat.html#weapons).
### Sneaky

View File

@ -20,38 +20,13 @@ A monstrous, worm-like creature, 25' in diameter and nearly 100' long, with an e
| **Attacks** | 3 (+11) @ grab (1d4), 1 (auto) @ devour (2d8) |
| **Morale** | 7 |
| **Alignment** | Chaotic |
| **XP** | 1,350 |
</div>
- **Grab** - When grabbed, the victim is held in place and can be automatically devoured starting the next round.
- **Devour** - Each round, if a creature has been grabbed by a pincer, the longest held creature is automatically thrown into its mouth and devoured, dealing 2d8 damage, before being swallowed.
**Magical Eyes** - Can use either of the following each round:
### Antimagic Eye
- At the start of each round, can create a cone of anti-magic, 100 yards (300') long and 20 yards (60') wide.
- Within the cone, spells can't be cast, summoned creatures disappear, and even magic items become mundane.
- Spells and other magical effects are suppressed in the cone and can't protrude into it, unless they're created by an artifact or a deity.
- Spells cast within the zone are expended (and lost from memory, if appropriate).
- While an effect is suppressed, it doesn't function, but the time it spends suppressed counts against its duration.
- Spells and other magical effects that target a creature or an object in the cone have no effect on that target.
- This includes effects from magic items.
- The area of another spell or magical effect, such as fireball, can't extend into the cone.
- If the sphere overlaps an area of magic, the part of the area that is covered by the cone is suppressed.
- Any active spell or other magical effect on a creature or an object in the sphere is suppressed while the creature or object is in it.
- The properties and powers of magic items are suppressed in the sphere (ex: a +1 longsword functions as a nonmagical longsword in the cone).
- Teleportation and planar travel fail to work in the cone (as either departure point or destination).
- Open portals are closed while in the cone, including those to extradimensional spaces (ex: sack of storing).
- A creature or object summoned or created by magic temporarily winks out of existence in the sphere.
- Such a creature instantly reappears once the space the creature occupied is no longer within the sphere.
- Spells and magical effects such as dispel magic have no effect on the cone.
- Multiple antimagic cones have no effect on other.
### Extradimensional Gut
Creatures and items which survive being eaten and swallowed find themselves in a pocket dimension that appears to be a 1000' diameter natural cave with 100' high ceilings.
- The cave is littered with bones of various sizes, rags, armor, weapons, and other inorganic items (ex: rings, necklaces, stones).
- At the end of each day that a creature spends in the cave, it loses 1HD.
- When a creature drops to 0 HD, it dies.
- Within 1 week of dying, all of the organic matter on the corpse has rotted away, leaving behind only bones and metal.
- Creatures within the cave can't harm the devourer.
- **Antimagic Cone**
- **Fear Gaze**
**Grab** - When grabbed, the victim is held in place and can be automatically devoured starting the next round.
**Devour** - Each round, if a creature has been grabbed by a pincer, the longest held creature is automatically thrown into its mouth and devoured, dealing 2d8 damage, before being swallowed.

View File

@ -5,22 +5,22 @@ date_pub: 2024-07-06T21:50:50.000-04:00
section: bestiary
content_type: feature
short_code: bbn
hd: 2
---
A semi-intelligent, terrestrial monkey that lives in small, alpha-lead packs and communicates via screams and shrieks.
Semi-intelligent, terrestrial monkeys that live in small packs (led by an alpha) and communicate via screams and shrieks.
<div class='headlessTableWrapper'>
| | |
| --------------- | ----------------------------------- |
| **Hit Dice** | 2 (9hp) |
| **Armor Class** | 13 (natural) |
| **Movement** | 40' |
| **Attacks** | 1 (+1) @ 1d6 (club), 1 @ 1d3 (bite) |
| **Alignment** | Neutral |
| **Save** | 12 (2) |
| **Morale** | 8 |
| | |
| ----------------- | ----------------------------------- |
| **Hit Dice** | 2 (9hp) |
| **Armor Class** | 13 (natural) |
| **Movement** | 40' |
| **Attacks** | 1 (+1) @ 1d6 (club), 1 @ 1d3 (bite) |
| **Alignment** | Neutral |
| **Saving Throws** | D12 W13 P14 B15 S16 (2) |
| **Morale** | 8 |
| **XP** | 20 |
</div>

View File

@ -5,22 +5,21 @@ date_pub: 2024-11-02T23:18:03.000-04:00
section: bestiary
content_type: feature
short_code: bbtk
hd: 1
---
Semi-intelligent, winged monkeys with sharp claws that live in small packs high in trees.
<div class='headlessTableWrapper'>
| | |
| --------------- | -------------------- |
| **Hit Dice** | 1d6 (3hp) |
| **Armor Class** | 13 (natural) |
| **Movement** | 30' / 50' flying |
| **Attacks** | 2 (+0) @ 1d3 (claws) |
| **Alignment** | Neutral |
| **Save** | 12 (2) |
| **Morale** | 7 |
| | |
| ----------------- | ----------------------- |
| **Hit Dice** | 1d6 (3hp) |
| **Armor Class** | 13 (natural) |
| **Movement** | 30' / 50' flying |
| **Attacks** | 2 (+0) @ 1d3 (claws) |
| **Alignment** | Neutral |
| **Saving Throws** | D12 W13 P14 B15 S16 (2) |
| **Morale** | 7 |
</div>

View File

@ -5,23 +5,23 @@ date_pub: 2023-10-26T23:15:49.000-04:00
section: bestiary
subsection: bats
content_type: feature
short_code: bat
hd: 1hp
short_code: bb1b
---
Small (2 lbs), nocturnal flying mammals with 4' wingspans which often roost in caves.
<div class='headlessTableWrapper'>
| | |
| --------------- | -------------------------- |
| **Hit Dice** | 1 hp |
| **Armor Class** | 13 |
| **Attacks** | 1 (-1) @ confusion (swarm) |
| **Movement** | 3' / 40' flying |
| **Save** | 14 (0) |
| **Morale** | 6 |
| **Alignment** | Neutral |
| | |
| ----------------- | -------------------------- |
| **Hit Dice** | 1hp |
| **Armor Class** | 13 |
| **Attacks** | 1 (-1) @ confusion (swarm) |
| **Movement** | 3' / 40' flying |
| **Saving Throws** | D14 W15 P16 B17 S18 (0) |
| **Morale** | 6 |
| **Alignment** | Neutral |
| **XP** | 5 |
</div>

View File

@ -6,22 +6,22 @@ section: bestiary
subsection: bats
content_type: feature
short_code: bb1g
hd: 2
---
Humanoid-sized, nocturnal, carnivorous flying mammals with 15' wingspans, and weighing up to 200 lbs, which often roost in caves and are occasionally used as mounts by smaller races.
Large (200 lbs), nocturnal, carnivorous flying mammals with 15' wingspans which often roost in caves and are occasionally used as mounts.
<div class='headlessTableWrapper'>
| | |
| --------------- | ------------------ |
| **Hit Dice** | 2 (9hp) |
| **Armor Class** | 13 |
| **Attacks** | 1(+1) @ 1d4 (bite) |
| **Movement** | 10' / 60' flying |
| **Save** | 12 (1) |
| **Morale** | 8 |
| **Alignment** | Neutral |
| | |
| ----------------- | ----------------------- |
| **Hit Dice** | 2 (9hp) |
| **Armor Class** | 13 |
| **Attacks** | 1(+1) @ 1d4 (bite) |
| **Movement** | 10' / 60' flying |
| **Saving Throws** | D12 W13 P14 B15 S16 (1) |
| **Morale** | 8 |
| **Alignment** | Neutral |
| **XP** | 20 |
</div>

View File

@ -6,22 +6,22 @@ section: bestiary
subsection: bats
content_type: feature
short_code: bb1v
hd: 2
---
Humanoid-sized, nocturnal, blood-sucking flying mammals with 15' wingspans, and weighing up to 200 lbs, which often roost in caves.
Large (200 lbs), nocturnal, blood-sucking flying mammals with 15' wingspans which often roost in caves.
<div class='headlessTableWrapper'>
| | |
| --------------- | ------------------------------------ |
| **Hit Dice** | 2 (9hp) |
| **Armor Class** | 13 |
| **Attacks** | 1(+1) @ 1d4 + unconsciousness (bite) |
| **Movement** | 10' / 60' flying |
| **Save** | 12 (1) |
| **Morale** | 8 |
| **Alignment** | Neutral |
| | |
| ----------------- | ------------------------------------ |
| **Hit Dice** | 2 (9hp) |
| **Armor Class** | 13 |
| **Attacks** | 1(+1) @ 1d4 + unconsciousness (bite) |
| **Movement** | 10' / 60' flying |
| **Saving Throws** | D12 W13 P14 B15 S16 (1) |
| **Morale** | 8 |
| **Alignment** | Neutral |
| **XP** | 20 |
</div>

View File

@ -1,14 +1,13 @@
---
title: Bloodmage
title: Bloodmage (Creature)
description: The bloodmage creature for OSR gaming.
date_pub: 2023-04-23T18:52:00-04:00
section: bestiary
content_type: feature
short_code: bbm
hd: 1+
---
An arcane spellcaster that uses their own life force to cast spells.
An arcane spellcaster that uses their own life force, rather than their memories, to cast spells.
<div class='headlessTableWrapper'>
@ -20,7 +19,7 @@ An arcane spellcaster that uses their own life force to cast spells.
| **Attacks** | 1 @ dagger (1d4) or spell |
| **Attack Modifier** | 0 |
| **Alignment** | Any |
| **Save** | 13 (as [Bloodmage class](/classes/bloodmage.html#core-features)) |
| **Saving Throws** | D13 W14 P13 B16 S15 [Wizard 1](/classes/wizard.html#advancement) |
| **Morale** | 7 |
</div>
@ -34,14 +33,14 @@ An arcane spellcaster that uses their own life force to cast spells.
<div class="dividedTableWrapper">
| HD | HP | AC | Atk Mod | Damage | Morale | Spells Available | Save |
| :----------: | :-: | :-: | :-----: | :----: | :----: | :--------------: | :--: |
| 3d6\* | 13 | 11 | +1 | 1d4 | 7 | 1d6-1 | 13 |
| 5d6\*\* | 22 | 12 | +2 | 1d4+1 | 8 | 1d8-1 | 13 |
| 7d6\*\* | 31 | 13 | +3 | 1d4+1 | 8 | 1d10-1 | 11 |
| 9d6\*\*\* | 40 | 14 | +4 | 1d6+1 | 9 | 2d6-2 | 11 |
| 11d6\*\*\* | 49 | 15 | +6 | 1d6+2 | 9 | 2d8-2 | 8 |
| 13d6\*\*\*\* | 58 | 17 | +8 | 1d6+2 | 10 | 2d10-2 | 8 |
| HD | HP | AC | Atk Mod | Damage | Morale | Spells Available | Saving Throws |
| :----------: | :-: | :-: | :-----: | :----: | :----: | :--------------: | :-----------------: |
| 3d6\* | 13 | 11 | +1 | 1d4 | 7 | 1d6-1 | D13 W14 P13 B16 S15 |
| 5d6\*\* | 22 | 12 | +2 | 1d4+1 | 8 | 1d8-1 | D13 W14 P13 B16 S15 |
| 7d6\*\* | 31 | 13 | +3 | 1d4+1 | 8 | 1d10-1 | D11 W12 P11 B14 S12 |
| 9d6\*\*\* | 40 | 14 | +4 | 1d6+1 | 9 | 2d6-2 | D11 W12 P11 B14 S12 |
| 11d6\*\*\* | 49 | 15 | +6 | 1d6+2 | 9 | 2d8-2 | D8 W9 P8 B11 S8 |
| 13d6\*\*\*\* | 58 | 17 | +8 | 1d6+2 | 10 | 2d10-2 | D8 W9 P8 B11 S8 |
[Higher-Level Bloodmages]

View File

@ -1,26 +1,25 @@
---
title: Bugbear
title: Bugbear (Creature)
description: The bugbear creature for OSR gaming.
date_pub: 2023-05-12T15:21:00-04:00
section: bestiary
content_type: feature
short_code: bbu
hd: 3
---
A large, hairy, goblin-like creature capable of sneaking up on prey.
Large, hairy goblin-like creatures capable of sneaking up on prey.
<div class='headlessTableWrapper'>
| | |
| --------------- | ------------------------ |
| **Hit Dice** | 3+1 (14hp) |
| **Armor Class** | 14 (natural + leather) |
| **Movement** | 30' |
| **Attacks** | 1 (+3) @ 2d4 (weapon +1) |
| **Alignment** | Chaotic |
| **Save** | 12 (3) |
| **Morale** | 9 |
| | |
| ----------------- | ------------------------ |
| **Hit Dice** | 3+1 (14hp) |
| **Armor Class** | 14 (natural + leather) |
| **Movement** | 30' |
| **Attacks** | 1 (+3) @ 2d4 (weapon +1) |
| **Alignment** | Chaotic |
| **Saving Throws** | D12 W13 P14 B15 S16 (3) |
| **Morale** | 9 |
</div>

View File

@ -1,27 +1,26 @@
---
title: Cleric
title: Cleric (Creature)
description: The cleric creature for OSR gaming.
date_pub: 2023-04-23T18:42:00-04:00
section: bestiary
content_type: feature
short_code: bc1
hd: 1+
---
Holy (or unholy) warrior-priests on a quest for their deity.
<div class='headlessTableWrapper'>
| | |
| ------------------- | ---------------------------------------------------------- |
| **Hit Dice** | 1 (4hp) |
| **Armor Class** | 17 (plate) |
| **Movement** | 20' |
| **Attacks** | 1 @ mace (1d6) |
| **Attack Modifier** | 0 |
| **Alignment** | Any |
| **Save** | 11 (as [Cleric class](/classes/cleric.html#core-features)) |
| **Morale** | 7 |
| | |
| ------------------- | ------------------------------------------ |
| **Hit Dice** | 1 (4hp) |
| **Armor Class** | 17 (plate) |
| **Movement** | 20' |
| **Attacks** | 1 @ mace (1d6) |
| **Attack Modifier** | 0 |
| **Alignment** | Any |
| **Save As** | [Cleric](/classes/cleric.html#advancement) |
| **Morale** | 7 |
</div>

View File

@ -5,7 +5,6 @@ date_pub: 2023-04-23T18:21:00-04:00
section: bestiary
content_type: feature
short_code: mcm
hd: 2hp
---
One of the common people (artists, beggars, children, craftspeople, farmers, fishermen, housewives, scholars, slaves, etc.).
@ -20,7 +19,7 @@ One of the common people (artists, beggars, children, craftspeople, farmers, fis
| **Attacks** | 1 (-1) @ 1d2 or weapon |
| **Attack Modifier** | 0 |
| **Alignment** | Any, usually lawful |
| **Save** | 14 |
| **Saving Throws** | D14 W15 P16 B17 S18 |
| **Morale** | 6 |
</div>

View File

@ -1,27 +1,26 @@
---
title: Corsair
title: Corsair (Creature)
description: The corsair (sailor) creature for OSR gaming.
date_pub: 2023-04-23T18:44:00-04:00
section: bestiary
content_type: feature
short_code: bcr
hd: 1+
---
A skilled sailor, be it on the seas, in the air, or on the astral plane. Usually part of a crew.
<div class='headlessTableWrapper'>
| | |
| ------------------- | ------------------------------------------------------------ |
| **Hit Dice** | 1d6 (3hp) |
| **Armor Class** | 13 (leather) |
| **Movement** | 40' |
| **Attacks** | 1 @ weapon (1d6) |
| **Attack Modifier** | 0 |
| **Alignment** | Any |
| **Save** | 13 (as [Corsair class](/classes/corsair.html#core-features)) |
| **Morale** | 7 |
| | |
| ------------------- | -------------------------------------------- |
| **Hit Dice** | 1d6 (3hp) |
| **Armor Class** | 13 (leather) |
| **Movement** | 40' |
| **Attacks** | 1 @ weapon (1d6) |
| **Attack Modifier** | 0 |
| **Alignment** | Any |
| **Save As** | [Corsair](/classes/corsair.html#advancement) |
| **Morale** | 7 |
</div>

View File

@ -5,22 +5,22 @@ date_pub: 2024-02-23T16:41:26.000-04:00
section: bestiary
content_type: feature
short_code: bcg
hd: 3+
---
A humanoid-sized crustacean that hunts along beaches and lurk in coastal caves.
Large crustaceans that hunt along beaches and lurk in coastal caves.
<div class='headlessTableWrapper'>
| | |
| --------------- | --------------------- |
| **Hit Dice** | 3 (13hp) |
| **Armor Class** | 17 (natural) |
| **Movement** | 20' |
| **Attacks** | 2 (+2) @ 2d6 (pincer) |
| **Alignment** | Neutral |
| **Save** | 12 (2) |
| **Morale** | 7 |
| | |
| ----------------- | ----------------------- |
| **Hit Dice** | 3 (13hp) |
| **Armor Class** | 17 (natural) |
| **Movement** | 20' |
| **Attacks** | 2 (+2) @ 2d6 (pincer) |
| **Alignment** | Neutral |
| **Saving Throws** | D12 W13 P14 B15 S16 (2) |
| **Morale** | 7 |
| **XP** | 35 |
</div>

View File

@ -1,78 +0,0 @@
---
title: Demilich
description: The demilich creature for OSR gaming.
date_pub: 2025-01-05T22:25:19.000-04:00
section: bestiary
content_type: feature
short_code: bdm1
status: hidden
---
<div class='headlessTableWrapper'>
| | |
| --------------- | ---------------------------- |
| **Hit Dice** | ??? (50hp) |
| **Armor Class** | 25 |
| **Attacks** | Ghostly shape OR devour soul |
| **Movement** | None |
| **Save** | 8 (Wizard 14) |
| **Morale** | 10 |
| **Alignment** | Any |
</div>
- Cannot be removed from Lair
- Can only be harmed as follows:
- Each Dispel Evil spell inflicts 5 hp of damage;
- Each Shatter spell inflicts 10 hp of damage;
- Each Holy Word pronounced against it inflicts 20 hp of damage;
- Weapons of sharpness, vorpal weapons, and weapons with +4 enchantments or better inflict their standard damage; and
- Expensive gems may be used as weapons, dealing 1 hp per 10,000 gp value.
- Can only be destroyed by:
- A Kill (Word of Power) spell cast from an astral or ethereal spell caster, or
- Total annihilation of the jeweled skull itself.
- If the skull is destroyed, each soul in a gem must **Save vs Magic** or be revealed as having been devoured.
- On a successful save, the gem contains a faint light, and looking at it with True Sight will reveal a tiny figure representing the soul within.
- If gem with a soul inside is crushed, the soul will be set free.
- Unless there's a suitable body within 10' of the gem, the soul escapes.
- ex: clone, automaton, an otherwise soulless body
### Ghostly Shape
Can use its own bone dust to create a ghostly shape.
- Shape will advance and threaten, but cannot cause harm.
- If struck, shape will waver and fall back as if suffering damage.
- Dissipates in 3 rounds if not engaged with.
- Any attack will give it energy
- 1 point for a physical attack
- 1 point per spell level for spell attacks
- If shape gains 50 energy, will form into a ghost controlled by the demilich, which attacks immediately.
### Swallow Soul
Skull rises into the air, scans for potential victims within sight, and picks one, which it swallows into an empty gem.
- Takes an entire round to occur
- Starts on their initiative, soul is taken at the very end of the next round.
> The soul of the strongest will be drawn instantly from his or her body and trapped within the right eye jewel, and the gem-eye will gleam with wickedly evil lights as the characters body collapses in a mass of corruption and moulders in a single round - totally gone.
- Can hold 8 souls total at any one time.
- 2x 50k gp ruby (one in each eye socket), and
- 5x 5k gp diamond (located along jaw as teeth).
- Picks most powerful party member and attacks them first.
- Spellcaster over fighter, over cleric, over thief.
- After swallowing a soul, the skull sinks down.
- Attack can be stopped by casting either a "Forget" spell or an "Exorcise" spell.
- This causes the skull to sink down without consuming a soul.
- If there are no empty soul-gems left:
> [i]t will pronounce a curse upon the remaining characters which will teleport them randomly in a 100-600 mile radius, each cursed to some fate similar to a) always be hit by any opponent attacking or b) never making a saving throw or c) always losing all treasure without gaining any experience from it.
> The latter part of the curse can be removed by a remove curse spell, but the charisma of the character so treated will drop 2 points immediately thereafter and remain there permanently (unless some magical means of increasing it is found).

View File

@ -3,24 +3,23 @@ title: Allosaurus
description: Two-legged dinosaur, 15' tall, with large jaws and dagger-like teeth.
date_pub: 2024-04-14T14:02:38.000-04:00
section: bestiary
subsection: dinosaurs
content_type: feature
short_code: bd1a
hd: 13
---
Two-legged dinosaur, 15' tall, with large jaws and dagger-like teeth.
<div class='headlessTableWrapper'>
| | |
| --------------- | ------------------- |
| **Hit Dice** | 13 (55hp) |
| **Armor Class** | 14 |
| **Attacks** | 1 (+9) @ 4d6 (bite) |
| **Movement** | 50' |
| **Save** | 8 (F7) |
| **Morale** | 9 |
| **Alignment** | Neutral |
| | |
| ----------------- | ---------------------- |
| **Hit Dice** | 13 (55hp) |
| **Armor Class** | 14 |
| **Attacks** | 1 (+9) @ 4d6 (bite) |
| **Movement** | 50' |
| **Saving Throws** | D8 W9 P10 B10 S12 (F7) |
| **Morale** | 9 |
| **Alignment** | Neutral |
| **XP** | 1350 |
</div>

View File

@ -3,24 +3,23 @@ title: Ankylosaurus
description: Four-legged, herbivorous dinosaur, 15' long and 4' tall (at the shoulder), with thick, bony armor and a massive, spiked-club-like tail.
date_pub: 2024-04-20T10:37:54.000-04:00
section: bestiary
subsection: dinosaurs
content_type: feature
short_code: bd1n
hd: 7
---
Four-legged, herbivorous dinosaur, 15' long and 4' tall (at the shoulder), with thick, bony armor and a massive, spiked-club-like tail.
<div class='headlessTableWrapper'>
| | |
| --------------- | ------------------- |
| **Hit Dice** | 7 (33hp) |
| **Armor Class** | 19 |
| **Attacks** | 1 (+6) @ 2d6 (tail) |
| **Movement** | 20' |
| **Save** | 10 (F4) |
| **Morale** | 6 |
| **Alignment** | Neutral |
| | |
| ----------------- | ------------------------ |
| **Hit Dice** | 7 (33hp) |
| **Armor Class** | 19 |
| **Attacks** | 1 (+6) @ 2d6 (tail) |
| **Movement** | 20' |
| **Saving Throws** | D10 W11 P12 B13 S14 (F4) |
| **Morale** | 6 |
| **Alignment** | Neutral |
| **XP** | 450 |
</div>

View File

@ -3,24 +3,23 @@ title: Brontosaurus
description: Massive, four-legged, herbivorous dinosaur, 70'+ long and weighing 30+ tons, with a (relatively) small head, long neck, and powerful tapering tail.
date_pub: 2024-04-20T10:53:19.000-04:00
section: bestiary
subsection: dinosaurs
content_type: feature
short_code: bd1b
hd: 26
---
Massive, four-legged, herbivorous dinosaur, 70'+ long and weighing 30+ tons, with a (relatively) small head, long neck, and powerful tapering tail.
<div class='headlessTableWrapper'>
| | |
| --------------- | ------------------------------------------ |
| **Hit Dice** | 26 (117hp) |
| **Armor Class** | 14 |
| **Attacks** | 1 (+14) @ 2d6 (bite), 1 (+14) @ 3d6 (tail) |
| **Movement** | 20' |
| **Save** | 4 (F13) |
| **Morale** | 8 |
| **Alignment** | Neutral |
| | |
| ----------------- | ------------------------------------------ |
| **Hit Dice** | 26 (117hp) |
| **Armor Class** | 14 |
| **Attacks** | 1 (+14) @ 2d6 (bite), 1 (+14) @ 3d6 (tail) |
| **Movement** | 20' |
| **Saving Throws** | D4 W5 P6 B5 S8 (F13) |
| **Morale** | 8 |
| **Alignment** | Neutral |
| **XP** | 3750 |
</div>

Some files were not shown because too many files have changed in this diff Show More