diff --git a/package-lock.json b/package-lock.json index c1c3c7f..3775b1c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "planar-vagabond", - "version": "0.12.0", + "version": "0.12.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "planar-vagabond", - "version": "0.12.0", + "version": "0.12.1", "license": "MIT", "devDependencies": { "web-weevr": "git+ssh://git@git.itsericwoodward.com:eric/web-weevr.git" diff --git a/site.config.json5 b/site.config.json5 index f092483..b47b082 100644 --- a/site.config.json5 +++ b/site.config.json5 @@ -23,5 +23,6 @@ }, serve: { port: 4998, + static404: './public/errors/404.html', }, } diff --git a/src/assets/fragments/bestiary/vampire.md b/src/assets/fragments/bestiary/vampire.md new file mode 100644 index 0000000..e4449ce --- /dev/null +++ b/src/assets/fragments/bestiary/vampire.md @@ -0,0 +1,100 @@ +- Typically found in ruins, tombs, and deserted areas. +- Immune to damage from non-magical weapons. +- Regenerates 3 hp at the start of each round (while alive). +- At 0 hp, changes into cloud of mist and flees to coffin. + +- **Coffins**: Must rest in a coffin during the day or lose 2d6 hp (which can only be healed by resting in coffin for a full day). + + - Cannot rest in a blessed coffin. + +### Bestial Minions + +Can summon creatures from the surrounding area. + +- Takes 1 round to activate. +- Can summon the following types and quantities of animals: + - 1d10 x 10 rats, + - 5d4 giant rats, + - 1d10 x 10 bats, + - 3d6 giant bats, + - 3d6 wolves, or + - 2d4 dire wolves. + +### Charming Gaze + +Target in sight must **Save vs Spells** at -2 to resist charm. + +- A charmed creature: + - must move towards the vampire (resisting anyone who tries to prevent it), + - must defend the vampire, + - must obey the vampire's commands (as long as they are understood), + - can't cast spells or use magic items, + - is unable to harm the vampire. +- Charm breaks when the vampire dies. + +### Energy Drain + +Damage inflicted by this attack reduces the target's maximum HP. + +- A humanoid killed by this ability becomes a vampire in 3 days. +- 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. + +### Shapeshift + +Can change into other forms at will. + +- Each change takes 1 round. +- Can take humanoid form, or form listed below. + +#### Dire Wolf + +| | | +| ----------------- | --------------------- | +| **Hit Dice** | 7\*\* (31 hp) | +| **Armor Class** | 17 | +| **Movement** | 50' | +| **Attacks** | 1 (+6) @ bite (2d4) | +| **Saving Throws** | D8 W9 P10 B10 S12 (7) | +| **Morale** | 11 | + +#### Giant Bat + +| | | +| ----------------- | --------------------- | +| **Hit Dice** | 7\*\* (31 hp) | +| **Armor Class** | 17 | +| **Movement** | 10' / 60' flying | +| **Attacks** | 1 (+6) @ bite (1d4) | +| **Saving Throws** | D8 W9 P10 B10 S12 (7) | +| **Morale** | 11 | + +#### Cloud of Mist + +| | | +| ----------------- | --------------------- | +| **Hit Dice** | 7\*\* (31 hp) | +| **Armor Class** | 17 | +| **Movement** | 60' flying | +| **Attacks** | None | +| **Saving Throws** | D8 W9 P10 B10 S12 (7) | +| **Morale** | 11 | + +- Immune to all weapons while in this form. +- Unable to attack while in this form. + +!!!include(./undead.md)!!! + +### Weaknesses + +- Repelled by odor of garlic, must **Save vs Death** each round to attack. +- Unable to come within 10' of a wielded holy symbol. + - May attack wielder from another angle, if possible. +- Unable to cross running water except via a bridge or while carried inside coffin. +- Does not cast a reflection. + - Tends to avoid mirrors. +- Partly blinded by light from [Continual Light](/spells/continual-light.html) spell (-4 to attacks). +- Must **Save vs Death** each round in sunlight or be disintegrated. +- May be permanently killed by: + - a stake in the heart, + - being immersed in water for 1 turn, + - being reduced to 0hp without an available coffin nearby. diff --git a/src/layouts/partials/backLink.ejs b/src/layouts/partials/backLink.ejs index 427aec1..b59e54a 100644 --- a/src/layouts/partials/backLink.ejs +++ b/src/layouts/partials/backLink.ejs @@ -14,7 +14,6 @@ var titlesBySection = { material: "Material Planes", near: "Near Planes", transcendental: "Transcendental Planes", - }, unlistedSections = ['main']; @@ -23,7 +22,8 @@ unlistedSections = ['main']; <% if (page.subsection && page.path && !page.path.endsWith(`${page.subsection}/index.html`)) { %> <% } else if (page.section && page.section === 'licenses' && page.path && !page.path.endsWith(`${page.section}/index.html`)) { -%> @@ -33,7 +33,7 @@ unlistedSections = ['main']; <% } else if (page.section && !unlistedSections.includes(page.section) && page.path && !page.path.endsWith(`${page.section}/index.html`)) { -%> diff --git a/src/layouts/partials/rulesHeader.ejs b/src/layouts/partials/rulesHeader.ejs index 5c2807f..c800f47 100644 --- a/src/layouts/partials/rulesHeader.ejs +++ b/src/layouts/partials/rulesHeader.ejs @@ -34,7 +34,7 @@ var title = (page.title ?? '').replace('HOSR ', '');
- Version 0.12.0 / 2023-12-09 + Version 0.12.2 / 2024-02-01