diff --git a/lib/build.js b/lib/build.js index 02d4df6..77e7cc6 100644 --- a/lib/build.js +++ b/lib/build.js @@ -1,8 +1,11 @@ const { exists } = require("fs-extra/lib/fs"); module.exports = async (config) => { - const { promises: fs } = require("fs"), + const + { promises: fs } = require("fs"), fse = require("fs-extra"), + { version } = require("../package.json"), + packageInfo = fse.statSync("./package.json", "utf-8"), path = require("path"), ejs = require("ejs"), frontMatter = require("front-matter"), @@ -135,10 +138,12 @@ module.exports = async (config) => { site: { ...site, pages: isSupport ? siteData : [], + version, + lastUpdated: packageInfo.mtime, }, }; }, - parseContent = (page, siteData) => { + parseContent = (page, siteData) => {site const { body, content_type: contentType, @@ -159,7 +164,7 @@ module.exports = async (config) => { } else if (ext === ".ejs") { content = ejs.render( body, - { page, site: { ...site, pages, tags } }, + { page, site: { ...site, pages, tags, version, lastUpdated: packageInfo.mtime, } }, { filename: filePath } ); } diff --git a/package-lock.json b/package-lock.json index d4bb77c..948e0f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "planar-vagabond", - "version": "0.11.1", + "version": "0.11.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "planar-vagabond", - "version": "0.11.1", + "version": "0.11.2", "license": "MIT", "dependencies": { "chalk": "^4.1.2", @@ -260,9 +260,9 @@ } }, "node_modules/boxen/node_modules/chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -560,11 +560,14 @@ } }, "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" } }, "node_modules/eastasianwidth": { @@ -935,15 +938,15 @@ "dev": true }, "node_modules/jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "dev": true, "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" + "filelist": "^1.0.4", + "minimatch": "^3.1.2" }, "bin": { "jake": "bin/cli.js" @@ -1088,9 +1091,9 @@ "integrity": "sha512-HyxjAu6BRsdt6Xcv6TKVQnkz/E70TdGXEFHRYBGLncRE9lBFwDNLVtFojKxjJWgJ+5XxUwLaHXy+2sGBbDn+4A==" }, "node_modules/markdown-it-multimd-table": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/markdown-it-multimd-table/-/markdown-it-multimd-table-4.2.1.tgz", - "integrity": "sha512-0WEkr2Siw1I9TFaKEHwCXDRxIXWmuzht496Mb8yCkFnK+OVDqMSN6k5/FwyKlZIMtYNOK02e8o0uh3H0WMqstQ==" + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/markdown-it-multimd-table/-/markdown-it-multimd-table-4.2.2.tgz", + "integrity": "sha512-aIrxGBS/klf2Q10ua/YUhxEouyvS9+NZbME2b3q4YHOFUpHLdTrBqHKssDnX+KVmctcsdR0yQxhkJf8K7UGQ5g==" }, "node_modules/markdown-it-table-of-contents": { "version": "0.6.0", @@ -1519,9 +1522,9 @@ } }, "node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { "ansi-regex": "^6.0.1" diff --git a/package.json b/package.json index 4ad0804..de8c640 100755 --- a/package.json +++ b/package.json @@ -1,12 +1,13 @@ { "name": "planar-vagabond", - "version": "0.11.2", + "version": "0.11.3", "description": "", "main": "index.js", "scripts": { "build": "node app.js build", "build:prod": "cross-env NODE_ENV=production node ./lib/build", "serve": "node app.js serve", + "start": "node app.js watch", "watch": "node app.js watch" }, "keywords": [], diff --git a/src/assets/fragments/license/hnh-cc-by-sa.md b/src/assets/fragments/license/hnh-cc-by-sa.md new file mode 100644 index 0000000..24573df --- /dev/null +++ b/src/assets/fragments/license/hnh-cc-by-sa.md @@ -0,0 +1,3 @@ +### Legal Information + +> This work includes material taken from [Halberds & Helmets](https://alexschroeder.ch/wiki/Halberds_and_Helmets) by Alex Schroeder, Samuel Dennler, Telecanter, Brian Murphy, Judd Karlman, Jeremy Friesen, and Björn Buckwalter, and is licensed under the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode). diff --git a/src/assets/fragments/license/wotc-cc-by.md b/src/assets/fragments/license/wotc-cc-by.md new file mode 100644 index 0000000..de229d7 --- /dev/null +++ b/src/assets/fragments/license/wotc-cc-by.md @@ -0,0 +1,3 @@ +### Legal Information + +> This work includes material taken from the System Reference Document 5.1 (“SRD 5.1”) by Wizards of the Coast LLC and available at https://dnd.wizards.com/resources/systems-reference-document. The SRD 5.1 is licensed under the Creative Commons Attribution 4.0 International License available at https://creativecommons.org/licenses/by/4.0/legalcode. diff --git a/src/layouts/partials/rulesHeader.ejs b/src/layouts/partials/rulesHeader.ejs index d9323bf..4682cf8 100644 --- a/src/layouts/partials/rulesHeader.ejs +++ b/src/layouts/partials/rulesHeader.ejs @@ -34,7 +34,12 @@ var title = (page.title ?? '').replace('HOSR ', '');
- Version 0.11.2 / 2023-06-18 + Version 0.11.3 / 2023-07-03 +
-<%- include('partials/journal/menusub') %> - <%- include('partials/bio') %> <%- include('partials/footer') %> diff --git a/src/pages/magic-items/crystal-skull-of-jund.md b/src/pages/magic-items/crystal-skull-of-jund.md index 8f6d2ca..009e779 100644 --- a/src/pages/magic-items/crystal-skull-of-jund.md +++ b/src/pages/magic-items/crystal-skull-of-jund.md @@ -2,7 +2,6 @@ title: The Crystal Skull of Jund description: A magical, elongated, and (apparently) nearly omniscient crystal skull. date_pub: 2023-02-19T20:59:00-05:00 -date_upd: 2023-03-19T19:45:00-04:00 section: magic items content_type: feature short_code: mcsj @@ -10,7 +9,7 @@ short_code: mcsj
-![The Crystal Skull of Jund, created with [Stable Diffusion Online](https://stablediffusionweb.com/), released under a [CC0](/licenses/cc0) license.](/images/magic-items/crystal-skull-of-jund.jpg "The Crystal Skull of Jund") +![The Crystal Skull of Jund, created with [Stable Diffusion Online](https://stablediffusionweb.com/), released under a [CC0](/licenses/cc0) license.](/images/magic-items/crystal-skull-of-jund.jpg 'The Crystal Skull of Jund')
@@ -18,15 +17,14 @@ An elongated crystal skull with 3 eye sockets (with the third lying in between a **Invocation**: _"O great crystal skull of Jund, we beseech you, share your knowledge and give us the guidance we seek,"_ at which point it starts to glow and speaks in a booming voice "The Crystal Skull of Jund awaits your queries". -**Once invoked**: Will continue to operate for up to 10 minutes (1 turn), answering any questions it is asked, until it is deactivated. +- Once invoked, continues to operate for up to 10 minutes (1 turn), answering any questions it is asked until it is deactivated. +- May be invoked up to three times per day. **Deactivation**: _"O great crystal skull of Jund, we humbly thank you for your guidance,"_ at which point it stops glowing. -**Usage Frequency**: May be invoked up to three times per day. - ### Other Functions -**Translation**: Reads (non-magical?) text and translates it by speak it aloud in the desired language. +**Translation**: Can read non-magical text and translate it by speaking it aloud in the desired language, rate is 1 page per minute. **Identify**: May identify magic items, potentially including their functions and history. @@ -38,6 +36,10 @@ An elongated crystal skull with 3 eye sockets (with the third lying in between a - **The Arcane Lords of Axion** were an ancient group of wizards thought to be the first to create a permanent stronghold in the astral plane. Established the Common Astral Calendar with the Purple Masters of Prasha 5023 years ago, leading to the creation of the Astral Trade Union. Founded the Axion Academy of Magicks in year 118 of the Common Astral Calendar. Vanished sometime after year 2045 of the Common Astral Calendar, circumstances unknown. +- The greatest resource for doing magical research on this plane is the **Library of Ellevys**, located in the Mage's Ward of Nexus Prime's High District. + - Access is open to any member in good standing of **The Grand Consortium of Arcanists, Enchanters, Sorcerers, Summoners, Thaumaturgists, Warlocks, Wizards, and Others Practiced in Arts Elrditch and Magickal**. + - As Segu is a member of **The Order of the Polymathic Scholars of Esoteric Gnosis**, and the Order is one of the guilds that make up the Consortium, Segu is a member in good standing. + ### GM Notes For questions it can't (or won't) answer, it replies with _"The answer is not known to the Crystal Skull of Jund, and may be stored in one of the missing eyes of Jund."_ diff --git a/src/pages/magic-items/tyrhung-wolf-hunter.md b/src/pages/magic-items/tyrhung-wolf-hunter.md index fd558fc..7f0416f 100644 --- a/src/pages/magic-items/tyrhung-wolf-hunter.md +++ b/src/pages/magic-items/tyrhung-wolf-hunter.md @@ -2,7 +2,6 @@ title: Tyrhung, Wolf Hunter description: A magical sword that specializes in identifying and killing lycanthropes. date_pub: 2023-02-20T22:43:00-05:00 -date_upd: 2023-05-21T19:09:00-04:00 section: magic items content_type: feature short_code: mtwh @@ -10,14 +9,14 @@ short_code: mtwh
-![Tyrhung, Wolf Hunter, created with [Stable Diffusion Online](https://stablediffusionweb.com/), released under a [CC0](/licenses/cc0) license.](/images/magic-items/tyrhung.jpg "Tyrhung, Wolf Hunter") +![Tyrhung, Wolf Hunter, created with [Stable Diffusion Online](https://stablediffusionweb.com/), released under a [CC0](/licenses/cc0) license.](/images/magic-items/tyrhung.jpg 'Tyrhung, Wolf Hunter')
A finely-crafted silver longsword, acid-etched with moon iconography and the name _Tyrhung_ in an ancient elvish script, held by an ornately-carved grip. - +1 to attack and damage rolls (1d8+1 / 1d10+1), +3 vs Lycanthropes (1d8+3 / 1d10+3). -- When unsheathed in darkness, or the command word ("Lu'ar") is spoken, illuminates an area of 30 foot radius with moonlight. - - Any lycanthropes within the light appear as their animal forms. +- When unsheathed in darkness, or the command word ("Lu'ar") is spoken, illuminates a 15 foot radius with moonlight. + - Functions as per the [Moonlight spell](/spells/moonlight). !!!include(weapons/longsword-properties.md)!!! diff --git a/src/pages/rules/adventuring.md b/src/pages/rules/adventuring.md index 6d404b3..fb61b8f 100644 --- a/src/pages/rules/adventuring.md +++ b/src/pages/rules/adventuring.md @@ -72,23 +72,19 @@ Most class languages are secret, known only to members of their class, and often - **Dwarfish**: Native language of dwarves. - **Elekin**: Native language of elekin. - **Elemental**: Spoken by all elementals, each subtype has their own dialect. -- **Elvish**: Native language of elves. -- **Faerie**: Native languages of the fae. - - **High Faerie**: Spoken in the ruling courts of the Faewolde. - - **Low Faerie**: Spoken throughout the lands of the Faewolde. +- **Elvish**: Native language of elves. and **Low Fairie** (spoken everywhere else in the Faewolde) +- **Faerie**: Native language of the fae, usually divided into **Low Fairie** (spoken throughout the Faewolde) and **High Faerie** (spoken in the ruling courts). - **Farspeak**: Language of the far realms. - **Gargoyle**: Native language of gargoyles. - **Giant**: Native language of giants. - **Goblinoid**: Native language of most intelligent goblinoid races (boggarts, bugbears, goblins, hobgoblins, etc.) - **Gnollish**: Native language of gnolls. - **Gnomish**: Native language of gnomes. +- **Greyok**: Native language of several intelligent mammalian animalkin races (Elekin, Hippokin, Rhinokin, Taurokin). - **Halfling**: Native language of halflings. - **Orcish**: Native language of ogres and orcs. - **Pyrean**: Native language of fire elementals, dialect of elemental. -- **Rhinok**: Native language of Rhinokin, . -- **Taurok**: Native language of Taurokin. - **Terrun**: Native language of earth elementals, dialect of elemental. -- **Greyok**: Native language of several intelligent mammalian animalkin races (Elekin, Hippokin, Rhinokin, Taurokin).
@@ -310,6 +306,4 @@ When a PC increases their level, the following actions may be performed: - If the resulting roll is higher than the ability score, increase the score by 1. - Check the PC's [class](/classes/index.html) and [race](/races/index.html) to see if any new abilities are gained. -### Legal Information - -> This work includes material taken from the System Reference Document 5.1 (“SRD 5.1”) by Wizards of the Coast LLC and available at https://dnd.wizards.com/resources/systems-reference-document. The SRD 5.1 is licensed under the Creative Commons Attribution 4.0 International License available at https://creativecommons.org/licenses/by/4.0/legalcode. +!!!include(license/wotc-cc-by.md)!!! diff --git a/src/pages/rules/basics.md b/src/pages/rules/basics.md index 2e7d6c2..92068ba 100644 --- a/src/pages/rules/basics.md +++ b/src/pages/rules/basics.md @@ -87,6 +87,4 @@ Cosmic principles that represent broad world views 7. Buy Equipment 8. Determine attacks and AC -### Legal Information - -> This work includes material taken from the System Reference Document 5.1 (“SRD 5.1”) by Wizards of the Coast LLC and available at https://dnd.wizards.com/resources/systems-reference-document. The SRD 5.1 is licensed under the Creative Commons Attribution 4.0 International License available at https://creativecommons.org/licenses/by/4.0/legalcode. +!!!include(license/wotc-cc-by.md)!!! diff --git a/src/pages/rules/combat.md b/src/pages/rules/combat.md index 9e1f978..41c665a 100644 --- a/src/pages/rules/combat.md +++ b/src/pages/rules/combat.md @@ -278,6 +278,4 @@ Engaged characters that wish to move away can either make a fighting retreat, or - **Two-handed**: Requires two hands to use. - **Versatile**: May gain _Slow_ and _Two-handed_ to deal indicated damage. -### Legal Information - -> This work includes material taken from the System Reference Document 5.1 (“SRD 5.1”) by Wizards of the Coast LLC and available at https://dnd.wizards.com/resources/systems-reference-document. The SRD 5.1 is licensed under the Creative Commons Attribution 4.0 International License available at https://creativecommons.org/licenses/by/4.0/legalcode. +!!!include(license/wotc-cc-by.md)!!! diff --git a/src/pages/rules/magic.md b/src/pages/rules/magic.md index 94449c2..85f8a7b 100644 --- a/src/pages/rules/magic.md +++ b/src/pages/rules/magic.md @@ -15,11 +15,11 @@ Spells are patterns of energy that can be manipulated and used by some character When reality is altered this way, it's called magic, and the characters who can do it are known as spellcasters. -Each spellcasting class has an associated list of spells. +Each spellcasting class has an associated type of magic: arcane or divine. ### Memorizing Spells -Takes one hour, can only be done at start of day. +Takes one hour, can only be done once per day. - A character’s level determines how many spells they can memorize at one time. - The same spell may be memorized more than once, if the character can memorize more than one spell of that level. @@ -33,6 +33,8 @@ Memorized spells are cast by replicating necessary hand gestures and spoken word - The target (a specific monster, character, object, or area of effect) must be visible to the caster (unless stated otherwise). - The caster must have one hand free (or a magic item in one hand). +Ritual spells may be cast by performing the ritual as described. + ### Spell Effects - Some spells affect multiple targets, either by area or by Hit Dice total. If the spell doesn't say how to select the targets, the referee decides. @@ -41,21 +43,29 @@ Memorized spells are cast by replicating necessary hand gestures and spoken word ### Magical Research -New spells may be learned / created via research. +New spells may be found and learned (or created) via research. - Requires access to information (ex: library, other spellbooks, etc.) . - Takes 2 weeks, and 1000 standard coins per spell level. - All spell casters are assumed to be able to perform magical research. +### Alchemy + +Alchemical formulas (for brewing potions and such) can be learned and used by anyone with access to the proper equipment. + +- Some arcane spellcasters store learned alchemical formulae within their spellbooks. +- The difficulty with most potions is not in the brewing, but in aquiring the ingredients (and/or the correct formula). + ### Arcane Magic Arcane spell casters memorize spells from their spell books, which must be close at hand. - If a spell can be reversed, its form must be selected when the spell is memorized - Both forms can be memorized if the character can memorize more than one spell of the given level. -- Spells may be learned from a higher-level mentor (1 week / spell), copied from a scroll or (deciphered) spellbook, or from research. +- Spells may be learned from a higher-level mentor (1 week / spell), copied from a scroll or spellbook with the Read Magic spell, or from research. - Lost spell books can be rebuilt spell-by-spell, with each spell taking 1 week of game time and 500 standard coins per spell level. -- Arcane casters can use arcane magic items and scrolls for spells on their spell list. +- Arcane spells written by other spellcasters can only be translated by the Read Magic spell. +- Arcane casters can use arcane magic items and scrolls.
@@ -63,16 +73,18 @@ Arcane spell casters memorize spells from their spell books, which must be close | :---: | :-: | :-: | | 3 | 1 | 20 | | 4-5 | 1 | 30 | -| 6-8 | 2 | 40 | -| 9-12 | 3 | 50 | -| 13-15 | 4 | 65 | -| 16-17 | 5 | 80 | +| 6-7 | 2 | 40 | +| 8-9 | 2 | 50 | +| 10-11 | 3 | 60 | +| 12-13 | 3 | 70 | +| 14-15 | 4 | 80 | +| 16-17 | 5 | 90 | | 18+ | 6 | 95 |
- **Starting Spells (SS)**: The number of starting spells in a new caster's spell book. -- **Copy Chance (CC)**: The chance to copy spells scrolls and other sources into spellbook. Roll 1d100, result under score is success, failure means can't try again until next XP level. +- **Copy Chance (CC)**: The chance to _perfectly_ copy spells scrolls and other sources into spellbook. Referee rolls 1d100, result under score is success, failure means an interesting side effect occurs when the spell is cast (must wait until next XP level to try again). ### Divine Magic @@ -85,7 +97,7 @@ Divine spell casters memorize spells through prayer to their gods. When praying - **Lawful characters**: Only use reversed spells in dire circumstances. - **Chaotic characters**: Usually use reversed spells, only using normal spell versions to benefit their allies. - **Neutral characters**: Usually favor either normal or reversed spells, depending on the deity. -- Divine casters can use divine magic items and scrolls for spells on their spell list. +- Divine casters can use divine magic items and scrolls. ### Pact Magic @@ -95,7 +107,7 @@ Pact spell casters memorize spells through the use of ritual invocations to thei - If they ever fall out of favor with their patron, penalties may be imposed (ex: -1 to eldritch blast damage, a reduction in spells, or being sent on a perilous quest). - To regain favor, they would need to perform a great deed for their patron (referee's choice - ex: collecting an artifact, constructing an altar, vanquishing a powerful enemy of the patron, etc.). - Pact casters can cast reversed versions of spells. -- Pact casters can use arcane magic items and scrolls for spells on their spell list. +- Pact casters can use arcane magic items and scrolls. ### Ritual Magic @@ -103,7 +115,10 @@ Ritual spells may be cast without being memorized / granted through prayer or su - Ritual spells are often complicated, taking several minutes (or turns) to cast. - Rituals are many and varied - some can even be performed by non-spellcasters (with proper instruction). -- Some rituals require a blood sacrifice or other difficult to obtain component. +- The power of the ritual is based on several factors, including: + - The time spent casting the ritual (with longer rituals being more powerful), + - Any sacrifices made as part of the ritual (with willing and/or virginal sacrifices yielding more power), and + - Any components used during the ritual (with more powerful rituals requiring rarer or more difficult to obtain components). ### Magic Saves @@ -123,6 +138,4 @@ Saving throws versus magical effects get an additional modifier, based on the ch
-### Legal Information - -> This work includes material taken from the System Reference Document 5.1 (“SRD 5.1”) by Wizards of the Coast LLC and available at https://dnd.wizards.com/resources/systems-reference-document. The SRD 5.1 is licensed under the Creative Commons Attribution 4.0 International License available at https://creativecommons.org/licenses/by/4.0/legalcode. +!!!include(license/wotc-cc-by.md)!!! diff --git a/src/pages/rules/referees.md b/src/pages/rules/referees.md index 761fe6c..f589949 100644 --- a/src/pages/rules/referees.md +++ b/src/pages/rules/referees.md @@ -78,3 +78,5 @@ Creatures with bonus hit points (ex: HD X+1) attack as one HD higher. More to come... + +!!!include(license/wotc-cc-by.md)!!! diff --git a/src/pages/spells/calm.md b/src/pages/spells/calm.md new file mode 100644 index 0000000..68e317a --- /dev/null +++ b/src/pages/spells/calm.md @@ -0,0 +1,39 @@ +--- +title: Calm +description: The Calm and Scare spells for OSR gaming. +date_pub: 2023-07-02T18:57:00-04:00 +section: spells +content_type: feature +short_code: sca +tags: arcane divine +--- + +
+ +| | | +| ------------ | --------- | +| **Level** | 1 | +| **Duration** | 1d4 turns | +| **Range** | Touch | + +
+ +Caster or creature touched is calmed and purged of fear. + +- Grants target **Saves vs Spells** with a +1 bonus per caster level to end the effects of a **Scare** spell (below) or similar "fear"-related ability. + +## Scare + +Reversed version of **Calm**. + +
+ +| | | +| ------------ | --------- | +| **Level** | 1 | +| **Duration** | 1d4 turns | +| **Range** | 120' | + +
+ +Target creature within range must **Save vs Spells** or flee for the duration. diff --git a/src/pages/spells/color-spray.md b/src/pages/spells/color-spray.md new file mode 100644 index 0000000..6a47d9c --- /dev/null +++ b/src/pages/spells/color-spray.md @@ -0,0 +1,30 @@ +--- +title: Color Spray +description: The Color Spray spell for OSR gaming. +date_pub: 2023-06-28T19:28:00-04:00 +section: spells +content_type: feature +short_code: scs +tags: arcane +--- + +
+ +| | | +| ------------ | ------------------------------- | +| **Level** | 1 | +| **Duration** | Instant | +| **Range** | Cone: 60' long, 20' wide at end | +| **Targets** | 1d6 creatures in cone | + +
+ +A dazzling flurry of colored light springs from the caster's hand. + +The effect of the spell depends on each target's HD, and how it compares with the caster: + +- Targets with HD less than or equal to caster are knocked unconscious for 2d4 rounds. + - Targets with 6 HD or greater may **Save vs Spells** to avoid the effect. +- Targets with HD up to 2 greater than caster may **Save vs Spells** or be blinded for 1d4 rounds. +- Targets with 3 or more HD than caster may **Save vs Spells** or be paralyzed, unable to move, attack, or take any actions for one round. +- Blind creatures are immune to spell's effects diff --git a/src/pages/spells/detect-magic.md b/src/pages/spells/detect-magic.md index f946a18..3cc9c69 100644 --- a/src/pages/spells/detect-magic.md +++ b/src/pages/spells/detect-magic.md @@ -1,10 +1,11 @@ --- title: Detect Magic -description: +description: The Detect Magic spell for OSR gaming. date_pub: 2023-04-09T12:50:00-04:00 section: spells content_type: feature short_code: sdm +tags: arcane divine ritual ---
diff --git a/src/pages/spells/fear.md b/src/pages/spells/fear.md deleted file mode 100644 index e69de29..0000000 diff --git a/src/pages/spells/fly.md b/src/pages/spells/fly.md new file mode 100644 index 0000000..4c4b5b9 --- /dev/null +++ b/src/pages/spells/fly.md @@ -0,0 +1,24 @@ +--- +title: Fly +description: The Fly spell for OSR gaming. +date_pub: 2023-07-03T08:42:00-04:00 +section: spells +content_type: feature +short_code: sfy +tags: arcane +--- + +
+ +| | | +| ------------ | ---------------------- | +| **Level** | 3 | +| **Duration** | 1d6 turns +1 per level | +| **Range** | Touch | + +
+ +The caster or creature touched gains ability to fly through the air. + +- Flying movement rate is 120'. +- Can fly in any direction, including hovering in mid-air. diff --git a/src/pages/spells/glamour.md b/src/pages/spells/glamour.md index ce1373c..240d628 100644 --- a/src/pages/spells/glamour.md +++ b/src/pages/spells/glamour.md @@ -1,6 +1,6 @@ --- title: Glamour -description: +description: The Glamour spell for OSR gaming. date_pub: 2023-04-09T13:08:00-04:00 section: spells content_type: feature @@ -17,11 +17,11 @@ short_code: sgr
-An illusion wraps around the caster, giving them the outward appearance of another similarly-shaped creature +Caster is wrapped by an illusion, giving them the outward appearance of another similarly-shaped creature. -New form may be one they imagine, or may duplicate a creature they are in contact with (making an attack roll to touch an unwilling creature). +- The new form may be one the caster imagines, or may duplicate a creature they are in contact with (attack roll to touch an unwilling creature). -Limitations +### Limitations - Illusory form must be within 1 foot of caster's normal height. - Apparent weight, clothing, and carried gear may be altered in any way. diff --git a/src/pages/spells/grow.md b/src/pages/spells/grow.md new file mode 100644 index 0000000..18d6751 --- /dev/null +++ b/src/pages/spells/grow.md @@ -0,0 +1,46 @@ +--- +title: Grow +description: The Grow and Shrink spells for OSR gaming. +date_pub: 2023-07-02T19:17:00-04:00 +section: spells +content_type: feature +short_code: sgs +tags: arcane +--- + +
+ +| | | +| ------------ | ----------- | +| **Level** | 1 | +| **Duration** | 1+1d4 turns | +| **Range** | 20' | + +
+ +Caster or target creature grows to double in size. + +- While enlarged, effective STR is doubled, so their melee attacks deal double damage. +- Can also be used to negate the effects of a **Shrink** spell (below), restoring the target to original size. + +## Shrink + +Reversed version of **Grow**. + +
+ +| | | +| ------------ | ----------- | +| **Level** | 1 | +| **Duration** | 1+1d4 turns | +| **Range** | 20' | + +
+ +Caster or target creature shrinks to 6" in size. + +- While shrunk: + - Target is unable to harm creatures over 1' tal. + - Target can maneuver through narrow spaces (1" clearance minimum). + - 10% chance of being scene while holding still. +- Can also be used to negate the effects of a **Grow** spell, restoring the target to original size. diff --git a/src/pages/spells/haste.md b/src/pages/spells/haste.md new file mode 100644 index 0000000..d4c8fe6 --- /dev/null +++ b/src/pages/spells/haste.md @@ -0,0 +1,42 @@ +--- +title: Haste +description: The Haste and Slow spells for OSR gaming. +date_pub: 2023-06-28T19:28:00-04:00 +section: spells +content_type: feature +short_code: sha +tags: arcane divine +--- + +
+ +| | | +| ------------ | ------------- | +| **Level** | 3 | +| **Duration** | 1 + 1d4 turns | +| **Range** | 240' | + +
+ +Up to 24 creatures within a 30' radius of the target location are able to move and act at double speed: + +- Their maximum movement rates are doubled, and +- They may make twice the normal number of attacks each round. + +Note that affected creatures do not have their spell casting or magic item usage speed increased. + +## Slow + +Reversed version of **Haste**. + +
+ +| | | +| ------------ | ------------- | +| **Level** | 3 | +| **Duration** | 1 + 1d4 turns | +| **Range** | 240' | + +
+ +Up to 24 creatures within a 30' radius of the target location must **Save vs Spells** or be forced to move and act at half speed. diff --git a/src/pages/spells/hidden-step.md b/src/pages/spells/hidden-step.md index 9a56f0c..8373ff7 100644 --- a/src/pages/spells/hidden-step.md +++ b/src/pages/spells/hidden-step.md @@ -1,6 +1,6 @@ --- title: Hidden Step -description: +description: The Hidden Step spell for OSR gaming. date_pub: 2023-04-21T21:29:00-04:00 section: spells content_type: feature diff --git a/src/pages/spells/index.md b/src/pages/spells/index.md index 609ce56..b75fd6c 100644 --- a/src/pages/spells/index.md +++ b/src/pages/spells/index.md @@ -2,7 +2,6 @@ title: Magic Spells description: A (growing) list of magic spells from across the multiverse. date_pub: 2023-04-24T16:17:00-04:00 -date_upd: 2023-04-26T22:42:00-04:00 section: spells content_type: feature short_code: s1 @@ -10,9 +9,21 @@ short_code: s1 Below you'll find a growing list of magic spells from across the multiverse. -- [Detect Magic](./detect-magic.html) -- [Fear](./fear.html) -- [Glamour](./glamour.html) -- [Hidden Step](./hidden-step.html) -- [Invisibility](./invisibility.html) -- [Light](./light.html) +- [Calm / Scare (1 AD)](./calm.html) +- [Color Spray (1 A)](./color-spray.html) +- [Detect Magic (1 ADR)](./detect-magic.html) +- [Fly (3 A)](./fly.html) +- [Glamour (1 A)](./glamour.html) +- [Grow / Shrink (1 A)](./grow.html) +- [Haste / Slow (2 AD)](./haste.html) +- [Hidden Step (2 A)](./hidden-step.html) +- [Invisibility (2 A)](./invisibility.html) +- [Light / Darkness (1 AD)](./light.html) +- [Lock / Knock (2 A)](./lock.html) +- [Magic Mouth (3 A)](./magic-mouth.html) +- [Moonlight (3 A)](./moonlight.html) +- [Read Languages (1 ADR)](./read-languages.html) +- [Read Magic (1 AR)](./read-magic.html) +- [Read Thoughts (1 A)](./read-thoughts.html) +- [Speak (3 AD)](./speak.html) +- [Whisper (1 AD)](./whisper.html) diff --git a/src/pages/spells/invisibility.md b/src/pages/spells/invisibility.md index d62edcc..c40dd45 100644 --- a/src/pages/spells/invisibility.md +++ b/src/pages/spells/invisibility.md @@ -1,10 +1,10 @@ --- title: Invisibility -description: +description: The Invisibility spell for OSR gaming. date_pub: 2023-04-09T17:28:00-04:00 section: spells content_type: feature -short_code: sin +short_code: s1n ---
diff --git a/src/pages/spells/levitate.md b/src/pages/spells/levitate.md new file mode 100644 index 0000000..024041e --- /dev/null +++ b/src/pages/spells/levitate.md @@ -0,0 +1,24 @@ +--- +title: +description: +date_pub: 2023-06-28T19:28:00-04:00 +section: spells +content_type: feature +short_code: sc +status: draft +--- + +Levitate +Jump to:navigation, search + +2nd Level Magic-User Spell + +Duration: 6 turns +1 per level + +Range: The caster + +This enchantment allows the caster to move up and down through the air: + + Vertical: Vertical movement as desired, at up to 20’ per round. + Horizontal: The caster can move laterally by pushing against solid objects. + Weight: A normal amount of weight can be carried while levitating. diff --git a/src/pages/spells/light.md b/src/pages/spells/light.md index 2c2056a..ac0f441 100644 --- a/src/pages/spells/light.md +++ b/src/pages/spells/light.md @@ -1,19 +1,19 @@ --- -title: Light / Darkness -description: The Light / Darkness spell for DAGGR / OSR gaming. +title: Light +description: The Light and Darkness spells for OSR gaming. date_pub: 2023-04-09T12:33:00-04:00 section: spells content_type: feature -short_code: sld +short_code: s1d ---
-| | | -| ------------ | -------- | -| **Level** | 1 | -| **Duration** | 12 turns | -| **Range** | 120' | +| | | +| ------------ | ------------- | +| **Level** | 1 | +| **Duration** | 6 + 1d6 turns | +| **Range** | 120' |
@@ -22,10 +22,16 @@ Conjures 15' radius of light at object or creature, bright enough to read and se - When cast on a creature's eyes, they must **Save vs Spells** or be blinded and unable to attack. - May also be used to dispel **Darkness** (below). -### Darkness +## Darkness Reversed version of **Light**. +| | | +| ------------ | ------------- | +| **Level** | 1 | +| **Duration** | 6 + 1d6 turns | +| **Range** | 120' | + Conjures 15' radius of magical darkness at object or creature, preventing normal sight (but not infravision). - When cast on a creature's eyes, they must **Save vs Spells** or be blinded and unable to attack. diff --git a/src/pages/spells/lock.md b/src/pages/spells/lock.md new file mode 100644 index 0000000..8f6e25d --- /dev/null +++ b/src/pages/spells/lock.md @@ -0,0 +1,45 @@ +--- +title: Lock +description: The Lock and Knock spells for OSR gaming. +date_pub: 2023-07-02T23:02:00-04:00 +section: spells +content_type: feature +short_code: s1k +tags: arcane +--- + +
+ +| | | +| ------------ | --------- | +| **Level** | 2 | +| **Duration** | Permanent | +| **Range** | 10' | + +
+ +Caster permanently seals and locks a door, gate, or any item with a lock. + +- Lock may be temporarily bypassed as follows: + - Caster may pass freely through any portals they've locked. + - Another spellcaster may use a **Knock** spell (below). + - Spellcasters 3+ levels higher than caster may pass. + +## Knock + +Reversed version of **Lock**. + +
+ +| | | +| ------------ | ------- | +| **Level** | 2 | +| **Duration** | 1 round | +| **Range** | 60' | + +
+ +Opens any single door, gate, chest, or similar object that has been locked, stuck, barred, or otherwise secured. + +- Magically held doors (as with **Lock**) are temporarily bypassed. +- Secret doors which are known to the caster may be opened (doesn't open unknown doors). diff --git a/src/pages/spells/magic-mouth.md b/src/pages/spells/magic-mouth.md new file mode 100644 index 0000000..bf16eee --- /dev/null +++ b/src/pages/spells/magic-mouth.md @@ -0,0 +1,31 @@ +--- +title: Magic Mouth +description: The Magic Mouth spell for OSR gaming. +date_pub: 2023-06-28T19:28:00-04:00 +section: spells +content_type: feature +short_code: smm +tags: arcane +--- + +
+ +| | | +| ------------ | ------------------------- | +| **Level** | 2 | +| **Duration** | Permanent until triggered | +| **Range** | Touch | + +
+ +Enchants an item such that, when the named conditions occur, the caster's mouth appears upon the item, and it speaks a short message. + +- The mouth cannot cast spells. +- The trigger is based on the knowledge and perception capabilities the caster. + +### Example Conditions + +- _When anyone comes within 30' of this spot, say "You shall not pass!"._ +- _When anyone comes into view of this spot, say "We're under attack!"_ +- _When anyone touches this chest, say "Begone from my booty, or else!"_ +- _When someone sits in this spot for more than 20 minutes, say "The password is 'flavortown'."_ diff --git a/src/pages/spells/moonlight.md b/src/pages/spells/moonlight.md new file mode 100644 index 0000000..95cab8f --- /dev/null +++ b/src/pages/spells/moonlight.md @@ -0,0 +1,24 @@ +--- +title: Moonlight +description: The Moonlight spell for OSR gaming. +date_pub: 2023-04-09T12:33:00-04:00 +section: spells +content_type: feature +short_code: sm1 +--- + +
+ +| | | +| ------------ | ------------- | +| **Level** | 3 | +| **Duration** | 6 + 1d6 turns | +| **Range** | 120' | + +
+ +Conjures 15' radius of moonlight at object or creature, bright enough to read and see, but not as bright as daylight. + +- Moonlight cannot be seen by creatures that only perceive infrared. +- Lycanthropes within the radius appear as their animal forms and feel a burning sensation where the moonlight touches them. +- May also be used to dispel [Darkness](/spells/light.html#Darkness). diff --git a/src/pages/spells/read-languages.md b/src/pages/spells/read-languages.md new file mode 100644 index 0000000..77118b0 --- /dev/null +++ b/src/pages/spells/read-languages.md @@ -0,0 +1,23 @@ +--- +title: Read Languages +description: The Read Languages spell for OSR gaming. +date_pub: 2023-07-02T15:12:00-04:00 +section: spells +content_type: feature +short_code: sr1 +tags: arcane divine ritual +--- + +
+ +| | | +| ------------ | ------------- | +| **Level** | 1 | +| **Duration** | 1 + 1d4 turns | +| **Range** | Self | + +
+ +Caster gains ability to understand written information in any [known language](/rules/adventuring.html#languages), including most secret, symbolic, or coded ones. + +- Only applies to written information, no ability to [speak](./speak.html) is granted. diff --git a/src/pages/spells/read-magic.md b/src/pages/spells/read-magic.md new file mode 100644 index 0000000..da037a9 --- /dev/null +++ b/src/pages/spells/read-magic.md @@ -0,0 +1,28 @@ +--- +title: Read Magic +description: The Read Magic spell for OSR gaming. +date_pub: 2023-07-03T08:23:00-04:00 +section: spells +content_type: feature +short_code: srm +tags: arcane divine ritual +--- + +
+ +| | | +| ------------ | --------- | +| **Level** | 1 | +| **Duration** | 1d4 turns | +| **Range** | Self | + +
+ +Caster may read and decipher magical text (including script or runes), including: + +- Comprehending the magical script of any arcane spells on a scroll, allowing them to cast a spell from it any time in the future; +- Understanding any ritual written in any [known language](/rules/adventuring.html#languages); +- Deciphering the spells in another wizard's spellbook; or +- Reading the magical runes and words inscribed on an object or surface. + +Once the caster has deciphered an inscription with this spell, they can re-read the inscription at will without casting Read Magic again. diff --git a/src/pages/spells/read-thoughts.md b/src/pages/spells/read-thoughts.md new file mode 100644 index 0000000..198be2d --- /dev/null +++ b/src/pages/spells/read-thoughts.md @@ -0,0 +1,27 @@ +--- +title: Read Thoughts +description: The Read Thoughts spell for OSR gaming. +date_pub: 2023-07-02T15:02:00-04:00 +section: spells +content_type: feature +short_code: srt +tags: arcane +--- + +
+ +| | | +| ------------ | -------- | +| **Level** | 2 | +| **Duration** | 12 turns | +| **Range** | 60' | + +
+ +Caster gains ability to observe and comprehend the thoughts of other living creatures. + +- Requires caster to focus concentration in a single direction for 1d10 minutes to activate. +- If multiple creatures are within range, the thoughts are an incomprehensible jumble, and another 1d10 minutes must be spent to single out a creature. + - After this, the thoughts of each creature in read can be read at will. +- Caster understands thoughts regardless of language. +- Effect is obstructed by lead (any thickness) or at least 2' of solid rock. diff --git a/src/pages/spells/speak.md b/src/pages/spells/speak.md new file mode 100644 index 0000000..8704861 --- /dev/null +++ b/src/pages/spells/speak.md @@ -0,0 +1,21 @@ +--- +title: Speak +description: The Speak spell for OSR gaming. +date_pub: 2023-07-02T15:35:00-04:00 +section: spells +content_type: feature +short_code: ssp +tags: arcane divine +--- + +
+ +| | | +| ------------ | --------- | +| **Level** | 3 | +| **Duration** | 1d4 turns | +| **Range** | Touch | + +
+ +Caster or intelligent creature gains ability to speak to any other intelligent creature (INT 3+), with each understanding the other. diff --git a/src/pages/spells/whisper.md b/src/pages/spells/whisper.md new file mode 100644 index 0000000..b63a23b --- /dev/null +++ b/src/pages/spells/whisper.md @@ -0,0 +1,26 @@ +--- +title: Whisper +description: The Whisper spell for OSR gaming. +date_pub: 2023-06-28T19:28:00-04:00 +section: spells +content_type: feature +short_code: sw1 +tags: arcane +--- + +
+ +| | | +| ------------ | ------- | +| **Level** | 1 | +| **Duration** | Instant | +| **Range** | 1 mile | + +
+ +Caster sends a short message to any creature they point at within range, which only the recipient can hear. + +- The recipient can speak a brief reply which only the caster will hear. +- If the recipient is asleep when the message arrives, the message wakes them up. + +!!!include(license/hnh-cc-by-sa.md)!!!