Compare commits

...

3 Commits

Author SHA1 Message Date
15d51f4e1e moar updates 2025-04-05 19:47:36 -04:00
c89bc36fd7 updates 2025-04-05 17:03:48 -04:00
176b8abdcf 99% of the bestiary updates 2025-03-09 12:05:43 -04:00
450 changed files with 9303 additions and 4415 deletions

60
.vscode/settings.json vendored
View File

@ -1,4 +1,62 @@
{ {
"cSpell.words": ["chainmail"], "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"
],
"files.eol": "\n" "files.eol": "\n"
} }

15
deploy.sh Executable file
View File

@ -0,0 +1,15 @@
#!/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

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

View File

@ -0,0 +1,6 @@
### 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

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

View File

@ -0,0 +1,11 @@
### 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

@ -0,0 +1,5 @@
### 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

@ -0,0 +1,8 @@
### 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. 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. - 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 referee, at least while transformed). - Humanoids become the same type of werebeasts (and are typically run by the GM, at least while transformed).

View File

@ -1,6 +1,7 @@
1. **Berserker**: After striking a killing blow while in melee with multiple foes, may immediately make a free attack against another foe at 2. 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.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. 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. **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. 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. **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. 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. **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. 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. **Tank**: When in melee with a foe, any attacks the foe makes at anyone else get 2. 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.

View File

@ -0,0 +1,76 @@
### 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

@ -0,0 +1,8 @@
### 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) - [Combat](/rules/combat.html)
- [Adventuring](/rules/adventuring.html) - [Adventuring](/rules/adventuring.html)
- [Magic](/rules/magic.html) - [Magic](/rules/magic.html)
- [Referees Only](/rules/referees.html) - [GM Notes](/rules/gm-notes.html)
</div> </div>

View File

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

View File

@ -0,0 +1,5 @@
### 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

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

View File

@ -0,0 +1,5 @@
### 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

@ -0,0 +1,4 @@
### 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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 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

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.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

After

Width:  |  Height:  |  Size: 137 KiB

View File

@ -28,7 +28,8 @@ export default (() => {
*/ */
document.addEventListener('DOMContentLoaded', () => { document.addEventListener('DOMContentLoaded', () => {
setTimeout(() => { let to = null;
to = setTimeout(() => {
// Lazy-Load Media // Lazy-Load Media
if (typeof loadMedia === 'function') { if (typeof loadMedia === 'function') {
loadMedia('.js-lazyLoader', null, true); loadMedia('.js-lazyLoader', null, true);
@ -65,6 +66,25 @@ export default (() => {
' site:' + window.location.hostname; ' 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 // Add shadow to toolDetails that have extra content
// I know - ALL OF THIS CODE just for that little effect // I know - ALL OF THIS CODE just for that little effect
const details = document.querySelectorAll('.toolDetails'), const details = document.querySelectorAll('.toolDetails'),
@ -118,6 +138,8 @@ export default (() => {
}); });
details.forEach((detail) => setBottomShadow(detail)); details.forEach((detail) => setBottomShadow(detail));
clearTimeout(to);
}, 1); }, 1);
}); });
})(); })();

View File

@ -28,7 +28,7 @@ html {
body { body {
background: #2c0f2a; background: #2c0f2a;
/* Old browsers */ /* Old browsers */
background: url("/images/site-bg.jpg") bottom fixed; background: url("/images/site-bg.jpg") top fixed;
background-size: cover; background-size: cover;
color: #fadbb0; color: #fadbb0;
font-family: sans-serif; font-family: sans-serif;
@ -228,13 +228,6 @@ li {
margin-bottom: 0.6em; margin-bottom: 0.6em;
} }
/* turn on for that authentic OSE feel! */
/*
ul li::marker {
content: "▶ ";
}
*/
li ul { li ul {
margin-top: 0.6em; margin-top: 0.6em;
} }
@ -344,21 +337,34 @@ table th {
background: rgba(37, 40, 55, 0.6); background: rgba(37, 40, 55, 0.6);
} }
.clearBoth {
clear: both;
}
.contentWarning { .contentWarning {
font-style: italic; font-style: italic;
} }
.dividedTableWrapper { .dividedTableWrapper {
display: block; display: block;
box-shadow: none;
margin: 1rem 0; margin: 1rem 0;
max-height: 5000px;
max-width: 100%; max-width: 100%;
overflow-x: auto; overflow-x: auto;
transition: box-shadow 0.3s ease-out, max-height 0.3s ease-out;
} }
.dividedTableWrapper h4 { .dividedTableWrapper h4 {
text-align: center; text-align: center;
} }
.dividedTableWrapper table caption {
padding: .5rem 1.5rem;
position: relative;
}
.dividedTableWrapper table td { .dividedTableWrapper table td {
border: 1px dashed #f6bc43; border: 1px dashed #f6bc43;
} }
@ -440,26 +446,34 @@ a.hiddenLink:hover {
} }
.imgWrapper { .imgWrapper {
float: right; align-items: center;
margin: 0 -0.5rem 0 1rem; clear: both;
max-width: 50%; display: flex;
flex-wrap: wrap;
justify-content: center;
max-width: 100%;
position: relative; position: relative;
text-align: center; text-align: center;
z-index: 0; z-index: 0;
} }
.imgWrapper figure>a { .imgWrapper figure {
margin: 0;
max-width: 50%;
}
.imgWrapper figure > a {
border-color: transparent; border-color: transparent;
display: inline-block; display: inline-block;
padding: 0.5rem 0.5rem 0.25rem; padding: 0.5rem 0.5rem 0.25rem;
} }
.imgWrapper figure>a:hover { .imgWrapper figure > a:hover {
border-color: #e94e5c; border-color: #e94e5c;
} }
.levelTable table thead tr:first-child th { .imgWrapper figure > figcaption {
border-bottom-style: dashed; backdrop-filter: blur(1rem);
} }
.licenseLink { .licenseLink {
@ -596,53 +610,6 @@ a.licenseLink:hover {
top: 1rem; 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 { .navBar {
background: #282c32; background: #282c32;
display: none; display: none;
@ -894,7 +861,7 @@ a.licenseLink:hover {
} }
.pageMain { .pageMain {
padding: 1em; padding: 0 1em 1em;
} }
.pageTitle { .pageTitle {
@ -1063,6 +1030,7 @@ a.pageTitle-sublink {
} }
.sectionBackLink-wrapper { .sectionBackLink-wrapper {
clear: both;
margin-top: 2rem; margin-top: 2rem;
} }
@ -1239,6 +1207,34 @@ a.pageTitle-sublink {
* JS Overrides * 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 { .js .pubDate.isDone {
-webkit-transition: 0.3s visibility; -webkit-transition: 0.3s visibility;
transition: 0.3s visibility; transition: 0.3s visibility;
@ -1253,7 +1249,6 @@ a.pageTitle-sublink {
visibility: visible; visibility: visible;
} }
/**************************************************************************** /****************************************************************************
* Media Queries * Media Queries
****************************************************************************/ ****************************************************************************/
@ -1269,32 +1264,20 @@ a.pageTitle-sublink {
font-size: 18px; font-size: 18px;
} }
/*
h2 {
background-color: transparent;
}
*/
.imgWrapper { .imgWrapper {
max-width: 33%; float: right;
} margin: 0 -0.5rem 0 1rem;
max-width: 30%;
}
.imgWrapper figure {
max-width: 100%;
}
.menubar { .menubar {
height: auto; height: auto;
} }
/*
.navBar {
display: block;
}
*/
/*
.pageTitle {
margin-top: 2rem;
}
*/
.siteTitle-text { .siteTitle-text {
text-align: center; text-align: center;
} }
@ -1375,10 +1358,6 @@ a.pageTitle-sublink {
max-width: 960px; max-width: 960px;
} }
.pageMain {
padding: 2em 1em 1em;
}
.pageTitle { .pageTitle {
margin-top: 2rem; margin-top: 2rem;
} }

View File

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

View File

@ -45,7 +45,7 @@
both used under the SIL Open Font License, Version 1.1. both used under the SIL Open Font License, Version 1.1.
</p> </p>
<p> <p>
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. Background image released under a <a href="/licenses/cc0/">CC0</a> license.
</p> </p>
<a href="#top" class="topLink">Back to Top</a> <a href="#top" class="topLink">Back to Top</a>
</div> </div>

View File

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

View File

@ -1,9 +1,25 @@
<!-- TOP BEGIN --> <!-- 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; 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> <!doctype html>
<html class="no-js" lang="en" xmlns:fb="http://ogp.me/ns/fb#"> <html class="no-js" lang="en" xmlns:fb="http://ogp.me/ns/fb#">
<head> <head>
@ -20,7 +36,7 @@
<base href="<%= getUrl() %>" /> <base href="<%= getUrl() %>" />
<title> <title>
<%= page.title ? page.title + ' | ' : '' %> <%= title ? title + ' | ' : '' %>
<%= page.sub_title ? page.sub_title + ' | ' : '' %> <%= page.sub_title ? page.sub_title + ' | ' : '' %>
<%= site.title %> <%= site.title %>
</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). | | **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. | | **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. | | **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 Ayreon. | | **4644 CAC**<br />_(379 years ago)_ | Lord Xynohpus arrives in the astral plane from Aeryon. |
| **4925 CAC**<br />_(98 years ago)_ | Lord Xynohpus establishes Xynohpus (Sapphire) Cove. | | **4925 CAC**<br />_(98 years ago)_ | Lord Xynohpus establishes Xynohpus (Sapphire) Cove. |
</div> </div>

View File

@ -11,12 +11,12 @@ short_code: atr
The steps to take for each phase of astral travel: The steps to take for each phase of astral travel:
1. **Setup**: Referee describes the situation 1. **Setup**: GM describes the situation
2. **Decide Course**: Players decide on their course of travel for the phase and any planned activities for the day. 2. **Decide Course**: Players decide on their course of travel for the phase and any planned activities for the day.
3. **Complication Check**: Referee makes a complication check. 3. **Complication Check**: GM 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. 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** - Party declares actions, referee describes the results. 5. **Actions / Responses / Complications** - Players declare actions, GM describes the results.
6. **End of Phase**: The referee updates time records. 6. **End of Phase**: The GM updates time records.
7. **Repeat**: Return to step 2 and repeat until travel ends. 7. **Repeat**: Return to step 2 and repeat until travel ends.
#### Complication Check #### Complication Check

View File

@ -108,35 +108,256 @@ During each round of pursuit or combat, PCs occupying these roles may attempt to
### Ship Statistics ### 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"> <div class="dividedTableWrapper">
| Vessel | Cost (gp)[^1] | Cargo Capacity (lbs) | Length | Beam | Crew | Weapons | Ram | Landing Types | AC | HP | | Vessel | Cost (gp)[^1] | Cargo Capacity (tons) | 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 | | Caravel | 10,000 | 10 | 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 | | Galleon | 20,000 | 30 | 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, Sm | 6,600 | 10 | 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 | | Warship, Lg | 26,600 | 30 | 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 Corvette | 15,000 | 25 | 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 | | Lyffan Battlecruiser | 45,000 | 45 | 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 Destroyer | 40,000 (est) | 35 | 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 | | Stral Dreadnought | 50,000 (est) | 60 | 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 | | Dwarven Fortress | 100,000 | 300 | 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 | | Gnomish SteamJammer | 40,000 | 30 | 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, Sm | 60,000 | 15 | 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 | | Drahki Dragonship, Lg | 60,000 | 45 | 150'-200' | 15'-20' | 20 | 3 lg | Y | Water | 12 | 270-330 |
[Ship Statistics] [Ship Statistics]
</div> </div>
[^1]: Does not include the cost of the console. [^1]:
Does not include the cost of the console.
-->
### Ship Notes #### Caravel
- **Drahki ships**: Always carry a Fire Cannon as one of their weapons. <div class='headlessTableWrapper'>
- **Gnomish ships**: Base 80% chance of success on each landing.
- **Lyffan ships**: Always carry a Bombard as one of their weapons | | |
<!-- - **Stral ships**: --> | -------------------- | --------- |
| **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 |
### Upgrades ### Upgrades
@ -153,13 +374,20 @@ The hide of one (or more) animals is spread out across the hull.
- **+2** costs 40% of capacity in gp. - **+2** costs 40% of capacity in gp.
- **+3** costs 80% 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 ### Weapons
#### Ballistae #### Ballistae
Fire large bolts (arrows) of wood and iron. Fire large bolts (arrows) of wood and iron.
**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). **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).
**Attack modifiers**: May be applied for environmental conditions, maneuverability, etc. **Attack modifiers**: May be applied for environmental conditions, maneuverability, etc.
@ -169,8 +397,8 @@ Fire large bolts (arrows) of wood and iron.
**Attack rolls and rate of fire**: Depend on the number of crew manning the ballista: **Attack rolls and rate of fire**: Depend on the number of crew manning the ballista:
- 2 crew (minimum): Attacks with THAC0 15 [+4]. Fires every 3 rounds. - 2 crew (minimum): Attacks at +4, fires every 3 rounds.
- 3 crew (maximum): Attacks with THAC0 14 [+5]. Fires every 2 rounds. - 3 crew (maximum): Attacks at +5, fires every 2 rounds.
**Damage**: 3d6 hit points. **Damage**: 3d6 hit points.
@ -180,8 +408,8 @@ Fire large bolts (arrows) of wood and iron.
**Attack rolls and rate of fire**: Depend on the number of crew manning the ballista: **Attack rolls and rate of fire**: Depend on the number of crew manning the ballista:
- 4 crew (minimum): Attacks with THAC0 15 [+4]. Fires every 4 rounds. - 4 crew (minimum): Attacks at +4, fires every 4 rounds.
- 5 crew (maximum): Attacks with THAC0 14 [+5]. Fires every 3 rounds. - 5 crew (maximum): Attacks at +5, fires every 3 rounds.
**Damage**: 3d10 hit points. **Damage**: 3d10 hit points.
@ -189,7 +417,7 @@ Fire large bolts (arrows) of wood and iron.
Fire magically-propelled large balls of iron. Fire magically-propelled large balls of iron.
**Cargo Space**: A bombard plus twenty cannonballs requires 10,000 coins of cargo space (subtracted from the ships cargo allowance). **Cargo Space**: A bombard plus twenty cannonballs requires 2 tons of cargo space (subtracted from the ships cargo allowance).
**Range**: 1,000 yards. **Range**: 1,000 yards.
@ -197,8 +425,8 @@ Fire magically-propelled large balls of iron.
**Attack rolls and rate of fire**: Depend on the number of crew manning the bombards: **Attack rolls and rate of fire**: Depend on the number of crew manning the bombards:
- 3 crew (minimum): Attacks with THAC0 17 [+2]. Fires every 3 rounds. - 3 crew (minimum): Attacks at +2, fires every 3 rounds.
- 4 crew (maximum): Attacks with THAC0 16 [+3]. Fires every 2 rounds. - 4 crew (maximum): Attacks at +3, fires every 2 rounds.
**Damage**: 2d10 hit points. **Damage**: 2d10 hit points.
@ -216,8 +444,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: **Attack rolls and rate of fire**: Depend on the number of crew manning the cannons:
- 2 crew (minimum): Attacks with THAC0 15 [+4]. Fires every 2 rounds. - 2 crew (minimum): Attacks at +4, fires every 2 rounds.
- 3 crew (maximum): Attacks with THAC0 14 [+5]. Fires each round. - 3 crew (maximum): Attacks at +5, fires each round.
**Damage**: 1d6+5 x 10 hit points **Damage**: 1d6+5 x 10 hit points
@ -239,9 +467,9 @@ Fire energy bolts that function like magic missiles. Requires 2 common Eye Tyran
#### Rams #### 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 using a THAC0 of 19 [0] and occur at the same point in the combat sequence as missile fire. **Attack rolls**: Are made at +0 and occur at the same point in the combat sequence as missile fire.
**Attack modifiers**: May be applied for environmental conditions, maneuverability, etc. **Attack modifiers**: May be applied for environmental conditions, maneuverability, etc.

View File

@ -8,13 +8,68 @@ short_code: axc
status: hidden 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, 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, guard house, and a single, two-story warehouse.
- Located on a oblong fragment of earth, about 200' across by 50' around. - 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. - 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. - 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. - Usually has 1-2 ships in dock.
- Founded almost [100 years ago](./timeline.html) by the wizard Xynohpus. - 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 ### Locations

View File

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

View File

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

View File

@ -20,13 +20,38 @@ A monstrous, worm-like creature, 25' in diameter and nearly 100' long, with an e
| **Attacks** | 3 (+11) @ grab (1d4), 1 (auto) @ devour (2d8) | | **Attacks** | 3 (+11) @ grab (1d4), 1 (auto) @ devour (2d8) |
| **Morale** | 7 | | **Morale** | 7 |
| **Alignment** | Chaotic | | **Alignment** | Chaotic |
| **XP** | 1,350 |
</div> </div>
**Magical Eyes** - Can use either of the following each round: - **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.
- **Antimagic Cone** ### Antimagic Eye
- **Fear Gaze**
**Grab** - When grabbed, the victim is held in place and can be automatically devoured starting the next round. - At the start of each round, can create a cone of anti-magic, 100 yards (300') long and 20 yards (60') wide.
**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. - 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.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,23 +3,24 @@ 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. 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 date_pub: 2024-04-20T10:37:54.000-04:00
section: bestiary section: bestiary
subsection: dinosaurs
content_type: feature content_type: feature
short_code: bd1n 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. 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'> <div class='headlessTableWrapper'>
| | | | | |
| ----------------- | ------------------------ | | --------------- | ------------------- |
| **Hit Dice** | 7 (33hp) | | **Hit Dice** | 7 (33hp) |
| **Armor Class** | 19 | | **Armor Class** | 19 |
| **Attacks** | 1 (+6) @ 2d6 (tail) | | **Attacks** | 1 (+6) @ 2d6 (tail) |
| **Movement** | 20' | | **Movement** | 20' |
| **Saving Throws** | D10 W11 P12 B13 S14 (F4) | | **Save** | 10 (F4) |
| **Morale** | 6 | | **Morale** | 6 |
| **Alignment** | Neutral | | **Alignment** | Neutral |
| **XP** | 450 |
</div> </div>

View File

@ -3,23 +3,24 @@ 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. 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 date_pub: 2024-04-20T10:53:19.000-04:00
section: bestiary section: bestiary
subsection: dinosaurs
content_type: feature content_type: feature
short_code: bd1b 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. 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'> <div class='headlessTableWrapper'>
| | | | | |
| ----------------- | ------------------------------------------ | | --------------- | ------------------------------------------ |
| **Hit Dice** | 26 (117hp) | | **Hit Dice** | 26 (117hp) |
| **Armor Class** | 14 | | **Armor Class** | 14 |
| **Attacks** | 1 (+14) @ 2d6 (bite), 1 (+14) @ 3d6 (tail) | | **Attacks** | 1 (+14) @ 2d6 (bite), 1 (+14) @ 3d6 (tail) |
| **Movement** | 20' | | **Movement** | 20' |
| **Saving Throws** | D4 W5 P6 B5 S8 (F13) | | **Save** | 4 (F13) |
| **Morale** | 8 | | **Morale** | 8 |
| **Alignment** | Neutral | | **Alignment** | Neutral |
| **XP** | 3750 |
</div> </div>

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