Various fixes
This commit is contained in:
parent
2abfed0783
commit
2c96be92e5
122
LICENSE
122
LICENSE
@ -1,121 +1,9 @@
|
||||
Creative Commons Legal Code
|
||||
The MIT License (MIT)
|
||||
|
||||
CC0 1.0 Universal
|
||||
Copyright © 2023 Eric Woodward
|
||||
|
||||
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
||||
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
|
||||
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
||||
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
|
||||
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
|
||||
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
|
||||
HEREUNDER.
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
Statement of Purpose
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
The laws of most jurisdictions throughout the world automatically confer
|
||||
exclusive Copyright and Related Rights (defined below) upon the creator
|
||||
and subsequent owner(s) (each and all, an "owner") of an original work of
|
||||
authorship and/or a database (each, a "Work").
|
||||
|
||||
Certain owners wish to permanently relinquish those rights to a Work for
|
||||
the purpose of contributing to a commons of creative, cultural and
|
||||
scientific works ("Commons") that the public can reliably and without fear
|
||||
of later claims of infringement build upon, modify, incorporate in other
|
||||
works, reuse and redistribute as freely as possible in any form whatsoever
|
||||
and for any purposes, including without limitation commercial purposes.
|
||||
These owners may contribute to the Commons to promote the ideal of a free
|
||||
culture and the further production of creative, cultural and scientific
|
||||
works, or to gain reputation or greater distribution for their Work in
|
||||
part through the use and efforts of others.
|
||||
|
||||
For these and/or other purposes and motivations, and without any
|
||||
expectation of additional consideration or compensation, the person
|
||||
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
|
||||
is an owner of Copyright and Related Rights in the Work, voluntarily
|
||||
elects to apply CC0 to the Work and publicly distribute the Work under its
|
||||
terms, with knowledge of his or her Copyright and Related Rights in the
|
||||
Work and the meaning and intended legal effect of CC0 on those rights.
|
||||
|
||||
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||
protected by copyright and related or neighboring rights ("Copyright and
|
||||
Related Rights"). Copyright and Related Rights include, but are not
|
||||
limited to, the following:
|
||||
|
||||
i. the right to reproduce, adapt, distribute, perform, display,
|
||||
communicate, and translate a Work;
|
||||
ii. moral rights retained by the original author(s) and/or performer(s);
|
||||
iii. publicity and privacy rights pertaining to a person's image or
|
||||
likeness depicted in a Work;
|
||||
iv. rights protecting against unfair competition in regards to a Work,
|
||||
subject to the limitations in paragraph 4(a), below;
|
||||
v. rights protecting the extraction, dissemination, use and reuse of data
|
||||
in a Work;
|
||||
vi. database rights (such as those arising under Directive 96/9/EC of the
|
||||
European Parliament and of the Council of 11 March 1996 on the legal
|
||||
protection of databases, and under any national implementation
|
||||
thereof, including any amended or successor version of such
|
||||
directive); and
|
||||
vii. other similar, equivalent or corresponding rights throughout the
|
||||
world based on applicable law or treaty, and any national
|
||||
implementations thereof.
|
||||
|
||||
2. Waiver. To the greatest extent permitted by, but not in contravention
|
||||
of, applicable law, Affirmer hereby overtly, fully, permanently,
|
||||
irrevocably and unconditionally waives, abandons, and surrenders all of
|
||||
Affirmer's Copyright and Related Rights and associated claims and causes
|
||||
of action, whether now known or unknown (including existing as well as
|
||||
future claims and causes of action), in the Work (i) in all territories
|
||||
worldwide, (ii) for the maximum duration provided by applicable law or
|
||||
treaty (including future time extensions), (iii) in any current or future
|
||||
medium and for any number of copies, and (iv) for any purpose whatsoever,
|
||||
including without limitation commercial, advertising or promotional
|
||||
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
|
||||
member of the public at large and to the detriment of Affirmer's heirs and
|
||||
successors, fully intending that such Waiver shall not be subject to
|
||||
revocation, rescission, cancellation, termination, or any other legal or
|
||||
equitable action to disrupt the quiet enjoyment of the Work by the public
|
||||
as contemplated by Affirmer's express Statement of Purpose.
|
||||
|
||||
3. Public License Fallback. Should any part of the Waiver for any reason
|
||||
be judged legally invalid or ineffective under applicable law, then the
|
||||
Waiver shall be preserved to the maximum extent permitted taking into
|
||||
account Affirmer's express Statement of Purpose. In addition, to the
|
||||
extent the Waiver is so judged Affirmer hereby grants to each affected
|
||||
person a royalty-free, non transferable, non sublicensable, non exclusive,
|
||||
irrevocable and unconditional license to exercise Affirmer's Copyright and
|
||||
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
||||
maximum duration provided by applicable law or treaty (including future
|
||||
time extensions), (iii) in any current or future medium and for any number
|
||||
of copies, and (iv) for any purpose whatsoever, including without
|
||||
limitation commercial, advertising or promotional purposes (the
|
||||
"License"). The License shall be deemed effective as of the date CC0 was
|
||||
applied by Affirmer to the Work. Should any part of the License for any
|
||||
reason be judged legally invalid or ineffective under applicable law, such
|
||||
partial invalidity or ineffectiveness shall not invalidate the remainder
|
||||
of the License, and in such case Affirmer hereby affirms that he or she
|
||||
will not (i) exercise any of his or her remaining Copyright and Related
|
||||
Rights in the Work or (ii) assert any associated claims and causes of
|
||||
action with respect to the Work, in either case contrary to Affirmer's
|
||||
express Statement of Purpose.
|
||||
|
||||
4. Limitations and Disclaimers.
|
||||
|
||||
a. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||
surrendered, licensed or otherwise affected by this document.
|
||||
b. Affirmer offers the Work as-is and makes no representations or
|
||||
warranties of any kind concerning the Work, express, implied,
|
||||
statutory or otherwise, including without limitation warranties of
|
||||
title, merchantability, fitness for a particular purpose, non
|
||||
infringement, or the absence of latent or other defects, accuracy, or
|
||||
the present or absence of errors, whether or not discoverable, all to
|
||||
the greatest extent permissible under applicable law.
|
||||
c. Affirmer disclaims responsibility for clearing rights of other persons
|
||||
that may apply to the Work or any use thereof, including without
|
||||
limitation any person's Copyright and Related Rights in the Work.
|
||||
Further, Affirmer disclaims responsibility for obtaining any necessary
|
||||
consents, permissions or other rights required for any use of the
|
||||
Work.
|
||||
d. Affirmer understands and acknowledges that Creative Commons is not a
|
||||
party to this document and has no duty or obligation with respect to
|
||||
this CC0 or use of the Work.
|
||||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
32
lib/build.js
32
lib/build.js
@ -7,17 +7,17 @@ module.exports = async (config) => {
|
||||
ejs = require("ejs"),
|
||||
frontMatter = require("front-matter"),
|
||||
glob = require("glob"),
|
||||
hljs = require("highlight.js"),
|
||||
dictionary = {
|
||||
"/astral/vessels.html": ["vessel", "vessels"],
|
||||
"/campaign/timeline.html": ["last session"],
|
||||
"https://oldschoolessentials.necroticgnome.com/srd/index.php/Structures":
|
||||
["stronghold"],
|
||||
"/astral/timeline.html": ["CAC", "BAC", "Common Astral Calendar"],
|
||||
"/astral/adventuring.html#portals": ["portal", "portals"],
|
||||
"/astral/adventuring.html#outposts": ["outpost", "outposts"],
|
||||
"/astral/adventuring.html#fragments": ["island", "islands"],
|
||||
},
|
||||
md = require("markdown-it")({
|
||||
highlight: (str, lang) => {
|
||||
if (lang && hljs.getLanguage(lang)) {
|
||||
try {
|
||||
return hljs.highlight(str, { language: lang }).value;
|
||||
} catch (__) {}
|
||||
}
|
||||
|
||||
return ""; // use external default escaping
|
||||
},
|
||||
html: true,
|
||||
linkify: true,
|
||||
typographer: true,
|
||||
@ -36,8 +36,12 @@ module.exports = async (config) => {
|
||||
headerless: true,
|
||||
multibody: true,
|
||||
aotolabel: true,
|
||||
})
|
||||
.use(require("markdown-it-emoji"))
|
||||
.use(require("markdown-it-mark"))
|
||||
.use(require("markdown-it-auto-crosslinker"), {
|
||||
dictionary,
|
||||
}),
|
||||
emoji = require("markdown-it-emoji"),
|
||||
// { readJsonIfExists } = require("./utils"),
|
||||
{ build, isRebuild, logFunction: log = () => {} } = config || {},
|
||||
{ outputPath, journalsPerPage = 5, srcPath } = build,
|
||||
@ -201,8 +205,7 @@ module.exports = async (config) => {
|
||||
}
|
||||
};
|
||||
|
||||
md.use(emoji);
|
||||
|
||||
// md.use(emoji);
|
||||
log(`${isRebuild ? "Reb" : "B"}uilding...`);
|
||||
|
||||
// clear destination folder
|
||||
@ -241,7 +244,8 @@ module.exports = async (config) => {
|
||||
},
|
||||
pages = files
|
||||
.map(({ page }) => ({ ...page }))
|
||||
.filter(({ is_draft }) => !is_draft)
|
||||
.filter(({ is_draft = false }) => !is_draft)
|
||||
.filter(({ status }) => status !== "draft")
|
||||
.sort(sortByPubDate),
|
||||
tagCloud = pages.reduce((acc, curr) => {
|
||||
const { tags } = curr;
|
||||
|
47
lib/serve.js
47
lib/serve.js
@ -1,26 +1,27 @@
|
||||
module.exports = async (config) => {
|
||||
let isReady = false;
|
||||
const
|
||||
http = require('http'),
|
||||
let isReady = false;
|
||||
const http = require("http"),
|
||||
address = require("network-address"),
|
||||
handler = require("serve-handler"),
|
||||
build = require("./build"),
|
||||
{
|
||||
build: buildOpts,
|
||||
logFunction: log = () => {},
|
||||
serve: serveOpts,
|
||||
} = config || {},
|
||||
{ outputPath, srcPath } = buildOpts || {},
|
||||
{ port = 5000 } = serveOpts || {},
|
||||
server = http.createServer((request, response) => {
|
||||
// You pass two more arguments for config and middleware
|
||||
// More details here: https://github.com/vercel/serve-handler#options
|
||||
return handler(request, response, { public: outputPath });
|
||||
});
|
||||
|
||||
address = require('network-address'),
|
||||
handler = require('serve-handler'),
|
||||
await build(config);
|
||||
|
||||
build = require('./build'),
|
||||
|
||||
{ build: buildOpts, logFunction: log = () => {}, serve: serveOpts } = config || {},
|
||||
{ outputPath, srcPath } = buildOpts || {},
|
||||
{ port = 5000 } = serveOpts || {},
|
||||
|
||||
server = http.createServer((request, response) => {
|
||||
// You pass two more arguments for config and middleware
|
||||
// More details here: https://github.com/vercel/serve-handler#options
|
||||
return handler(request, response, { public: outputPath });
|
||||
});
|
||||
|
||||
await build(config);
|
||||
|
||||
server.listen(port, async () => {
|
||||
log(`Running at http://${address()}:${port} / http://localhost:${port}`);
|
||||
});
|
||||
};
|
||||
server.listen(port, async () => {
|
||||
log(
|
||||
`Running at http://${address()}:${port} / http://localhost:${port}`
|
||||
);
|
||||
});
|
||||
};
|
||||
|
87
package-lock.json
generated
87
package-lock.json
generated
@ -1,25 +1,30 @@
|
||||
{
|
||||
"name": "planar-vagabond",
|
||||
"version": "0.9.1",
|
||||
"version": "0.9.3",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "planar-vagabond",
|
||||
"version": "0.9.1",
|
||||
"license": "ISC",
|
||||
"version": "0.9.3",
|
||||
"license": "CC0-1.0",
|
||||
"dependencies": {
|
||||
"chalk": "^4.1.2",
|
||||
"chokidar": "^3.4.3",
|
||||
"dotenv": "^16.0.1",
|
||||
"highlight.js": "^11.3.1",
|
||||
"json5": "^2.1.3",
|
||||
"livereload": "^0.9.3",
|
||||
"markdown-it": "^13.0.1",
|
||||
"markdown-it-anchor": "^8.6.7",
|
||||
"markdown-it-auto-crosslinker": "^1.0.1",
|
||||
"markdown-it-emoji": "^2.0.0",
|
||||
"markdown-it-footnote": "^3.0.3",
|
||||
"markdown-it-linkify-images": "^4.0.0",
|
||||
"markdown-it-mark": "^3.0.1",
|
||||
"markdown-it-multimd-table": "^4.2.0",
|
||||
"markdown-it-table-of-contents": "^0.6.0",
|
||||
"markdown-it-task-lists": "^2.1.1",
|
||||
"network-address": "^1.1.2",
|
||||
"serve-handler": "^6.1.3"
|
||||
},
|
||||
@ -1018,6 +1023,28 @@
|
||||
"uc.micro": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/livereload": {
|
||||
"version": "0.9.3",
|
||||
"resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.3.tgz",
|
||||
"integrity": "sha512-q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw==",
|
||||
"dependencies": {
|
||||
"chokidar": "^3.5.0",
|
||||
"livereload-js": "^3.3.1",
|
||||
"opts": ">= 1.2.0",
|
||||
"ws": "^7.4.3"
|
||||
},
|
||||
"bin": {
|
||||
"livereload": "bin/livereload.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/livereload-js": {
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-3.4.1.tgz",
|
||||
"integrity": "sha512-5MP0uUeVCec89ZbNOT/i97Mc+q3SxXmiUGhRFOTmhrGPn//uWVQdCvcLJDy64MSBR5MidFdOR7B9viumoavy6g=="
|
||||
},
|
||||
"node_modules/markdown-it": {
|
||||
"version": "13.0.1",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz",
|
||||
@ -1042,6 +1069,11 @@
|
||||
"markdown-it": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/markdown-it-auto-crosslinker": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-auto-crosslinker/-/markdown-it-auto-crosslinker-1.0.1.tgz",
|
||||
"integrity": "sha512-DWxUxCrphlxrex17tx4FlTZFCTAp3UMK8dE6E0svU1NsmpFemifhdtTrFDOmOdFTPOerQx6Rt8UvLWdjH75IUg=="
|
||||
},
|
||||
"node_modules/markdown-it-emoji": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz",
|
||||
@ -1052,6 +1084,19 @@
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-footnote/-/markdown-it-footnote-3.0.3.tgz",
|
||||
"integrity": "sha512-YZMSuCGVZAjzKMn+xqIco9d1cLGxbELHZ9do/TSYVzraooV8ypsppKNmUJ0fVH5ljkCInQAtFpm8Rb3eXSrt5w=="
|
||||
},
|
||||
"node_modules/markdown-it-linkify-images": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-linkify-images/-/markdown-it-linkify-images-4.0.0.tgz",
|
||||
"integrity": "sha512-MCMCpaCp0ZuURZXpt5jMsjM3tueL9VepOqWIRQFu8JBE4Qwf06dbSAZLALCbMwlGrq6Fkjr9dCcCVuIn0cHriw==",
|
||||
"dependencies": {
|
||||
"markdown-it": "^13.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/markdown-it-mark": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-mark/-/markdown-it-mark-3.0.1.tgz",
|
||||
"integrity": "sha512-HyxjAu6BRsdt6Xcv6TKVQnkz/E70TdGXEFHRYBGLncRE9lBFwDNLVtFojKxjJWgJ+5XxUwLaHXy+2sGBbDn+4A=="
|
||||
},
|
||||
"node_modules/markdown-it-multimd-table": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-multimd-table/-/markdown-it-multimd-table-4.2.0.tgz",
|
||||
@ -1065,6 +1110,11 @@
|
||||
"node": ">6.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/markdown-it-task-lists": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-task-lists/-/markdown-it-task-lists-2.1.1.tgz",
|
||||
"integrity": "sha512-TxFAc76Jnhb2OUu+n3yz9RMu4CwGfaT788br6HhEDlvWfdeJcLUsxk1Hgw2yJio0OXsxv7pyIPmvECY7bMbluA=="
|
||||
},
|
||||
"node_modules/markdown-it/node_modules/argparse": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||
@ -1208,6 +1258,11 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/opts": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/opts/-/opts-2.0.2.tgz",
|
||||
"integrity": "sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg=="
|
||||
},
|
||||
"node_modules/path-is-inside": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
|
||||
@ -1647,6 +1702,26 @@
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "7.5.9",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
|
||||
"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
|
||||
"engines": {
|
||||
"node": ">=8.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": "^5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/y18n": {
|
||||
"version": "5.0.8",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
||||
@ -1657,9 +1732,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/yargs": {
|
||||
"version": "17.7.0",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.0.tgz",
|
||||
"integrity": "sha512-dwqOPg5trmrre9+v8SUo2q/hAwyKoVfu8OC1xPHKJGNdxAvPl4sKxL4vBnh3bQz/ZvvGAFeA5H3ou2kcOY8sQQ==",
|
||||
"version": "17.7.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
|
||||
"integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"cliui": "^8.0.1",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "planar-vagabond",
|
||||
"version": "0.9.3",
|
||||
"version": "0.9.4",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
@ -11,7 +11,7 @@
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "CC0-1.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"chalk": "^4.1.2",
|
||||
"chokidar": "^3.4.3",
|
||||
@ -20,10 +20,14 @@
|
||||
"json5": "^2.1.3",
|
||||
"markdown-it": "^13.0.1",
|
||||
"markdown-it-anchor": "^8.6.7",
|
||||
"markdown-it-auto-crosslinker": "^1.0.1",
|
||||
"markdown-it-emoji": "^2.0.0",
|
||||
"markdown-it-footnote": "^3.0.3",
|
||||
"markdown-it-linkify-images": "^4.0.0",
|
||||
"markdown-it-mark": "^3.0.1",
|
||||
"markdown-it-multimd-table": "^4.2.0",
|
||||
"markdown-it-table-of-contents": "^0.6.0",
|
||||
"markdown-it-task-lists": "^2.1.1",
|
||||
"network-address": "^1.1.2",
|
||||
"serve-handler": "^6.1.3"
|
||||
},
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,11 +2,21 @@
|
||||
<!-- NAVMAIN BEGIN -->
|
||||
|
||||
<div class="menubar clearfix">
|
||||
<input id="menu__toggle" type="checkbox" />
|
||||
<input id="menu-toggle" type="checkbox" />
|
||||
<label class="menu-label" for="menu-toggle">
|
||||
<span class="menu-icon">
|
||||
<span></span>
|
||||
</span>
|
||||
<span class="menu-text">
|
||||
Menu
|
||||
</span>
|
||||
</label>
|
||||
<!--
|
||||
<label class="menu__btn" for="menu__toggle">
|
||||
<span></span>
|
||||
</label>
|
||||
|
||||
-->
|
||||
|
||||
<div class="searchBox">
|
||||
<form method="get" class="searchBox-form" id="searchForm" action="https://duckduckgo.com/" role="search">
|
||||
<input id="searchQuery" class="searchBox-query" type="search" value="" name="q" maxlength="255" role="searchbox">
|
||||
@ -22,24 +32,25 @@
|
||||
<nav class="navMenu" role="navigation">
|
||||
|
||||
<ul>
|
||||
<li class="hasSubMenu"><a href="/astral/index.html" aria-haspopup="true">Astral Plane</a>
|
||||
<ul class="dropdown" aria-label="submenu">
|
||||
<li><a href="/astral/adventuring.html">Adventuring</a></li>
|
||||
<li><a href="/astral/factions.html">Factions</a></li>
|
||||
<li><a href="/monsters/index.html">Monsters</a></li>
|
||||
<li><a href="/astral/timeline.html">Timeline</a></li>
|
||||
<li><a href="/astral/vessels.html">Vessels</a></li>
|
||||
<!-- <li><a href="/astral/zenopus-cove.html">Zenopus Cove</a></li> -->
|
||||
</ul>
|
||||
</li>
|
||||
<li class="hasSubMenu"><a href="/planes/index.html" aria-haspopup="true">Other Planes</a>
|
||||
<li class="hasSubMenu"><a href="/planes/index.html" aria-haspopup="true">The Planes</a>
|
||||
<ul class="dropdown" aria-label="submenu">
|
||||
<li class="hasSubMenu"><a href="/astral/index.html" aria-haspopup="true">Astral Plane</a>
|
||||
<ul class="dropdown" aria-label="submenu">
|
||||
<li><a href="/astral/adventuring.html">Adventuring</a></li>
|
||||
<li><a href="/astral/factions.html">Factions</a></li>
|
||||
<li><a href="/monsters/index.html">Monsters</a></li>
|
||||
<li><a href="/astral/timeline.html">Timeline</a></li>
|
||||
<li><a href="/astral/vessels.html">Vessels</a></li>
|
||||
<!-- <li><a href="/astral/zenopus-cove.html">Zenopus Cove</a></li> -->
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="/planes/elemental/index.html">Elemental Planes</a></li>
|
||||
<li><a href="/planes/material/index.html">Material Planes</a></li>
|
||||
<li><a href="/planes/transcendental/index.html">Transcendental Planes</a></li>
|
||||
<!--<li><a href="/planes/infernus.html">Infernus</a></li>-->
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="hasSubMenu"><a href="/classes/index.html" aria-haspopup="true">Classes</a>
|
||||
<ul class="dropdown" aria-label="submenu">
|
||||
<li><a href="/classes/automaton.html">Automaton</a></li>
|
||||
@ -51,44 +62,72 @@
|
||||
<li><a href="/classes/mimikin.html">Mimikin</a></li>
|
||||
<li><a href="/classes/tortokin.html">Tortokin</a></li>
|
||||
<li><a href="/classes/warlock.html">Warlock</a></li>
|
||||
<li class="hasSubMenu"><a href="/races/index.html" aria-haspopup="true">Races</a>
|
||||
<ul class="dropdown" aria-label="submenu">
|
||||
<li><a href="/races/automaton.html">Automaton</a></li>
|
||||
<li><a href="/races/dracokin.html">Dracokin</a></li>
|
||||
<li><a href="/races/felinar.html">Felinar</a></li>
|
||||
<li><a href="/races/firfolk.html">Firfolk</a></li>
|
||||
<li><a href="/races/mimikin.html">Mimikin</a></li>
|
||||
<li><a href="/races/tortokin.html">Tortokin</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="hasSubMenu"><a href="/races/index.html" aria-haspopup="true">Races</a>
|
||||
<ul class="dropdown" aria-label="submenu">
|
||||
<li><a href="/races/automaton.html">Automaton</a></li>
|
||||
<li><a href="/races/dracokin.html">Dracokin</a></li>
|
||||
<li><a href="/races/felinar.html">Felinar</a></li>
|
||||
<li><a href="/races/firfolk.html">Firfolk</a></li>
|
||||
<li><a href="/races/mimikin.html">Mimikin</a></li>
|
||||
<li><a href="/races/tortokin.html">Tortokin</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="hasSubMenu"><a href="/" aria-haspopup="true">Miscellanea</a>
|
||||
<ul class="dropdown" aria-label="submenu">
|
||||
<!--<li><a href="/classes/automaton.html">The Dragon Gods</a></li>-->
|
||||
<!--<li><a href="/gods/index.html">Gods</a></li>-->
|
||||
<!--<li><a href="/groups/index.html">Groups</a></li>-->
|
||||
<li><a href="/magic-items/index.html">Magic Items</a></li>
|
||||
<li><a href="/monsters/index.html">Monsters</a></li>
|
||||
<li><a href="/weapons/index.html">Weapons</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="hasSubMenu"><a href="/rules/index.html" aria-haspopup="true">House Rules</a>
|
||||
<ul class="dropdown" aria-label="submenu">
|
||||
<li><a href="/rules/critical-hits.html">Critical Hits</a></li>
|
||||
<li><a href="/rules/fumbles.html">Fumbles</a></li>
|
||||
<li><a href="/rules/ose.html">Official OSE Rules</a></li>
|
||||
<li><a href="/rules/custom.html">Custom Rules</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="hasSubMenu"><a href="/campaign/index.html" aria-haspopup="true">Campaign Info</a>
|
||||
<ul class="dropdown" aria-label="submenu">
|
||||
<li><a href="/npcs/index.html">NPCs</a></li>
|
||||
<li><a href="/campaign/ravager.html">The Ravager</a></li>
|
||||
<li><a href="/campaign/shazz-journals.html">Shazzograx's Journals</a></li>
|
||||
<li><a href="/campaign/timeline.html">Timeline</a></li>
|
||||
|
||||
<li class="hasSubMenu"><a href="/rules/index.html" aria-haspopup="true">House Rules</a>
|
||||
<ul class="dropdown" aria-label="submenu">
|
||||
<li><a href="/rules/critical-hits.html">Critical Hits</a></li>
|
||||
<li><a href="/rules/fumbles.html">Fumbles</a></li>
|
||||
<li><a href="/rules/ose.html">Official OSE Rules</a></li>
|
||||
<li><a href="/rules/custom.html">Custom Rules</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<nav class="navBar" role="navigation">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/about.html">About</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="/planes/index.html">The Planes</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="/classes/index.html">Classes</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="/miscellanea.html">Miscellanea</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/campaign/index.html">Campaign Info</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- NAVMAIN END -->
|
||||
|
50
src/pages/about.md
Normal file
50
src/pages/about.md
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
title: About
|
||||
description: All "About" the Guide, the Planar Vagabond, and the site itself.
|
||||
date_pub: 2023-03-06T00:20:00-05:00
|
||||
section: main
|
||||
content_type: feature
|
||||
short_code: a1
|
||||
---
|
||||
|
||||
> Don't believe anything you read here.
|
||||
>
|
||||
> The author apparently started using the [Tome of Forbidden Whispers](/magic-items/tome-of-forbidden-whispers.html) to "help with translations", but the book may have taken hold of his mind.
|
||||
>
|
||||
> Consider yourself warned.
|
||||
> <cite>--- PV</cite>
|
||||
|
||||
### About the Guide
|
||||
|
||||
The Guide was started in year 5022 CAC as a series of small, (mostly) hand-produced pamphlets sold for a few silvers each at a handful of ports, and has quickly grown to be a wholly remarkable tome, possibly the most remarkable tome ever to be published by a halfling (although some may disagree).
|
||||
|
||||
It is also a highly successful one – more popular than the Idiot's Guide to Running an Astral Business, better selling than Fifty More Things to do in Subjective Gravity, and more controversial than Malyx Malator's trilogy of metaphysical blockbusters: Where the Gods Went Wrong, Infernus: Fairy-tale or Fiction?, and The Lie of Alignment.
|
||||
|
||||
In many of the more relaxed civilizations on the Outer Koronin Rim of <abbr title="Astral Trade Union">ATU</abbr>-space, the Guide has already supplanted the great Encyclopedia of the University Eternal as the standard repository of all knowledge and wisdom, for though it is perpetually incomplete and has many omissions and apocrypha, it scores over the more established work in two important respects:
|
||||
|
||||
First, it is slightly cheaper (not surprising, given that the University demands a child as payment for a copy of their weighty tomes); and secondly it has the words _Fear Not!_ inscribed in large friendly letters on its cover.
|
||||
|
||||
### About the Planar Vagabond
|
||||
|
||||
One day, a halfling named Drogo Wanderfoot, while trying to evade some unscrupulous characters, stepped into a glowing portal, and found himself in the Astral Plane. Since then, he's passed through dozens of ports, and is believed to have visited _37_ different planes, including the 4 accessible elemental planes (although some insist he's visited all 6). Not bad for a little fella from a broken home on a backwater world.
|
||||
|
||||
He can usually be found drinking at the seediest dive in a port, gambling for his soul in a back alley on some distant plane, sailing on the astral currents, or even working on the next issue of his Guide to the Multiverse.
|
||||
|
||||
### About the Site
|
||||
|
||||
The site is derived from the various pamphlets and writings produced by the Planar Vagabond over the past few years. They were then shuttled back to a <a href="https://www.itsericwoodward.com" class="hiddenLink">web developer friend of his</a> via a secret door in the friend's basement. The writings are being translated from Common and posted here as quickly as they can be (although some of the text is difficult to translate).
|
||||
|
||||
<details class="about-detail">
|
||||
<summary>Learn the truth (and spoil the fun)!</summary>
|
||||
|
||||
OK, so _obviously_ it's a work of fiction, and that's all it's intended to be. Even the stuff above.
|
||||
|
||||
Names, characters, places and incidents list are either products of the author’s imagination or used fictitiously. Any resemblance to actual events or locales or persons, living, dead, or otherwise, is entirely coincidental.
|
||||
|
||||
Any mentions of so-called "product identity" or "intellectual property" are intended to be done in a manner consistent with the fair use doctrine of the United States constitution.
|
||||
|
||||
DMCA complaints can be sent to the email address in the site's footer.
|
||||
|
||||
Share and enjoy!
|
||||
|
||||
</details>
|
@ -27,7 +27,7 @@ Invisible flows of psychic energy that permeate and swirl around the astral plan
|
||||
|
||||
### Calendar
|
||||
|
||||
As of last session, it is the 3rd phase of the 6th Aerday of Urtson, in year 5023 of the Common Astral Calendar.
|
||||
As of last session, it is the **afternoon of 3rd phase of the 1st Aerday of Urtson-Nu, in year 5023 of the Common Astral Calendar**.
|
||||
|
||||
- Each day on the astral plane is broken up into 3 phases of 24 hours (to keep the astral calendars in sync with the material planes).
|
||||
- There are 6 days in a week, 5 weeks in a month, 3 months in a season, and 4 season in a year.
|
||||
@ -96,10 +96,10 @@ Pieces of other planes (usually floating) in the astral plane. The shape is typi
|
||||
|
||||
- **Fire** - Fragments from the elemental plane of fire are usually globes of elemental fire (used in Dwarven fire engines and some Drahki weapons).
|
||||
- **Water** - Fragments from the elemental plane of water are usually globes of water.
|
||||
- **Earth** - Fragments from the elemental plane of earth are usually irregularlly-shaped chunks of rock and dirt.
|
||||
- Large fragments of earth are called **islands**, and often used to support a [stronghold](https://oldschoolessentials.necroticgnome.com/srd/index.php/Structures) or [outpost](#outposts) in the astral void.
|
||||
- **Air** - Fragments from the elemental plane of air are usually globes of air (used to supply some ships travelling to airless planes)
|
||||
- **Chaos** - Fragments from the elemental plane of chaos are usually jet black globes, and tend to function as spheres of annhilation.
|
||||
- **Earth** - Fragments from the elemental plane of earth are usually irregularly-shaped chunks of rock and dirt.
|
||||
- Large fragments of earth are called **islands**, and often used to support a stronghold or outpost in the astral void.
|
||||
- **Air** - Fragments from the elemental plane of air are usually globes of air (used to supply some ships traveling to airless planes)
|
||||
- **Chaos** - Fragments from the elemental plane of chaos are usually jet black globes, and tend to function as spheres of annihilation.
|
||||
- **Law** - Fragments from the elemental plane of law are usually globes of crackling, radiant energy.
|
||||
- It's believed that these arise spontaneously when a fragment from the plane of chaos appears, and are equal in size to the chaos ones.
|
||||
- When a fragment of law and chaos are combined, the resulting release of energy can be seen for thousands of miles around.
|
||||
@ -124,11 +124,11 @@ Pieces of other planes (usually floating) in the astral plane. The shape is typi
|
||||
|
||||
### Outposts
|
||||
|
||||
A [stronghold](https://oldschoolessentials.necroticgnome.com/srd/index.php/Structures), shop, or town in the astral plane, usually established on a large (island)[#fragment].
|
||||
A stronghold, shop, or town in the astral plane, usually established on a large island.
|
||||
|
||||
**Docks**: Those interested in trade will have one (or more) docks for passing ships.
|
||||
|
||||
**Ports**: Outposts with permanent [portals](#portals) to other planes.
|
||||
**Ports**: Outposts with permanent portals to other planes.
|
||||
|
||||
### Psychic Clouds
|
||||
|
||||
@ -152,15 +152,15 @@ Thin streams of psychic "vapor", hundreds to thousands of miles across, which ap
|
||||
|
||||
**Pools**: Temporary portals which lead from the astral to other planes.
|
||||
|
||||
**Ports**: Permanent portals to other planes, often established on a (island)[#fragment] and attached to an (outpost)[#outpost].
|
||||
**Ports**: Permanent portals to other planes, often established on a island and attached to an outpost.
|
||||
|
||||
### Surprise
|
||||
|
||||
Wandering astral monsters are not usually surprised by travelling vessels. Special circumstances (e.g. thick astral clouds, psychic storm) may alter this.
|
||||
Wandering astral monsters are not usually surprised by traveling vessels. Special circumstances (e.g. thick astral clouds, psychic storm) may alter this.
|
||||
|
||||
### Temperature
|
||||
|
||||
The ambient temperatue in the astral plane tends towards the tepid side for most humans and demihumanas, being roughly equaivalent to a war spring day in a temperate climate.
|
||||
The ambient temperature in the astral plane tends towards the tepid side for most humans and demihumanas, being roughly equivalent to a war spring day in a temperate climate.
|
||||
|
||||
### Time
|
||||
|
||||
|
@ -7,11 +7,7 @@ content_type: feature
|
||||
short_code: at1
|
||||
---
|
||||
|
||||
As of the start of the campaign, it is the
|
||||
|
||||
|
||||
|
||||
Today is the 3rd phase of the 6th Aerday of Urtson, in year 5023 of the Common Astral Calendar.
|
||||
As of last session, it is the **afternoon of 3rd phase of the 1st Aerday of Urtson-Nu, in year 5023 of the Common Astral Calendar**.
|
||||
|
||||
Below is a timeline of major events in (this section of) the astral plane:
|
||||
|
||||
@ -38,11 +34,7 @@ Below is a timeline of major events in (this section of) the astral plane:
|
||||
|
||||
</div>
|
||||
|
||||
<!--
|
||||
Dates to add later:
|
||||
<!-- Dates to add later: -->
|
||||
|
||||
|
||||
| **4644 CAC**<br />_(379 years ago)_ | Zenopus arrives to the astral plane from Ayreon. |
|
||||
| **4925 CAC**<br />_(98 years ago)_ | Zenopus establishes Sapphire Cove. |
|
||||
|
||||
-->
|
||||
<!-- | **4644 CAC**<br />_(379 years ago)_ | Zenopus arrives to the astral plane from Ayreon. | -->
|
||||
<!-- | **4925 CAC**<br />_(98 years ago)_ | Zenopus establishes Sapphire Cove. | -->
|
||||
|
@ -37,3 +37,10 @@ _**The Ravager** is an Eye Tyrant creation responsible for the destruction of 32
|
||||
> Go forth into the complex we created. Locate and destroy as many of the ten lesser eyes as you can. Only this can end the menace of the Ravager.
|
||||
>
|
||||
> We have admitted you. For the brave, this is enough, although you may find help if you know where to look. Go forward.
|
||||
|
||||
### The Eyes
|
||||
|
||||
According to the Crystal Skull:
|
||||
|
||||
- _There are 10 lesser eyes, each of which is empowered by sympathetic magic, and each of which has developed into a sentient being called an "incarnation"._
|
||||
- _The Queen's Eye can control the Ravager itself, and is housed in the great crystal in the central chamber._
|
||||
|
@ -7,8 +7,12 @@ content_type: feature
|
||||
short_code: ct1
|
||||
---
|
||||
|
||||
- First Arrived on Astral Plane: 2nd phase of the 3rd Lawday of Urtson-Law, in year 5023 of the Common Astral Calendar.
|
||||
- Arrived at Island of Terror: 2nd phase of 4th Kayday of Urtson-Law.
|
||||
- Stayed in port (Sapphire Cove): 2nd phase of 5th Warday of Urtson-Law.
|
||||
- Left with Tobart to find Ravager: 3rd phase of 5th Warday of Urtson-Law.
|
||||
- Arrived at the Ravager: 3rd phase of the 1st Aerday of Urtson-Nu.
|
||||
As of last session, it is the **afternoon of 3rd phase of the 1st Aerday of Urtson-Nu, in year 5023 of the Common Astral Calendar**.
|
||||
|
||||
The following is a list of significant dates on the [astral calendar](/astral/adventuring#calendar) for the campaign. For historical context, see the [astral timeline](/astral/timeline.html).
|
||||
|
||||
- **First Arrived on Astral Plane**: 2nd phase of the 3rd Lawday of Urtson-Law, in year 5023 CAC.
|
||||
- **Arrived at Island of Terror**: 2nd phase of 4th Kayday of Urtson-Law.
|
||||
- **Stayed in port (Sapphire Cove)**: 2nd phase of 5th Warday of Urtson-Law.
|
||||
- **Left with Tobart to find Ravager**: 3rd phase of 5th Warday of Urtson-Law.
|
||||
- **Arrived at the Ravager**: 3rd phase of the 1st Aerday of Urtson-Nu.
|
||||
|
@ -44,11 +44,11 @@ Automatons have remarkable fortitude, represented as follows:
|
||||
|
||||
### Sentry
|
||||
|
||||
When an automaton takes a rest, they must spend at least six hours in an inactive, motionless state, rather than sleeping. In this state, the automaton appears inert, but is still concious and can see and hear as normal.
|
||||
When an automaton takes a rest, they must spend at least six hours in an inactive, motionless state, rather than sleeping. In this state, the automaton appears inert, but is still conscious and can see and hear as normal.
|
||||
|
||||
### After Reaching 8th Level
|
||||
|
||||
An automaton has the option of creating a [stronghold](https://oldschoolessentials.necroticgnome.com/srd/index.php/Strongholds), usually a secluded tower, although it may take another form based on the desires and goals of the automaton. This will often attract other automatons and/or friendly humanoids.
|
||||
An automaton has the option of creating a stronghold, usually a secluded tower, although it may take another form based on the desires and goals of the automaton. This will often attract other automatons and/or friendly humanoids.
|
||||
|
||||
<div class="dividedTableWrapper levelTable">
|
||||
|
||||
|
@ -89,7 +89,7 @@ Felinar have a 2-in-6 chance of hearing noises (see [Dungeon Adventuring](https:
|
||||
|
||||
### After Reaching 8th Level
|
||||
|
||||
A felinar has the option of creating a [stronghold](https://oldschoolessentials.necroticgnome.com/srd/index.php/Strongholds) that will form the basis of a new community, attracting 2d6 felinar apprentices of 1st level. Felinar communities are usually located in the wilderness (typically a forested or jungle area).
|
||||
A felinar has the option of creating a stronghold that will form the basis of a new community, attracting 2d6 felinar apprentices of 1st level. Felinar communities are usually located in the wilderness (typically a forested or jungle area).
|
||||
|
||||
### Felinar Level Progression
|
||||
|
||||
|
@ -56,7 +56,7 @@ Firfolk open even barred doors with ease. They are treated as the next highest S
|
||||
|
||||
### After Reaching 8th Level
|
||||
|
||||
A firfolk has the option of creating a [stronghold](https://oldschoolessentials.necroticgnome.com/srd/index.php/Strongholds) that will form the basis of a new community of firfolk. Firfolk communities are usually located in the wilderness (typically a forested or hilly area).
|
||||
A firfolk has the option of creating a stronghold that will form the basis of a new community of firfolk. Firfolk communities are usually located in the wilderness (typically a forested or hilly area).
|
||||
|
||||
### Firfolk Level Progression
|
||||
|
||||
|
@ -12,15 +12,9 @@ Below, you'll find some unofficial character classes for Old School Essentials.
|
||||
- [Automaton](./automaton.html) - Mechanical beings powered by ancient, arcane magicks.
|
||||
- [Corsair](./corsair.html) - A sailor living a life of adventure on the high seas.
|
||||
- [Corsair, Astral](./astral-corsair.html) - A sailor living a life of adventure on the [astral plane](/astral)
|
||||
- [Dracokin](./dracokin.html) - Lizardfolk with distant relations dragons.
|
||||
- [Dracokin](./dracokin.html) - Lizardfolk with distant relations to dragons.
|
||||
- [Felinar](./felinar.html) - A race of anthropomorphic, catlike beings.
|
||||
- [Firfolk](./firfolk.html) - Magical, gray half-giants that live in harmony with nature.
|
||||
- [Mimikin](./mimikin.html) - A race of demihumans able to shift their physical forms at will.
|
||||
- [Tortokin](./tortokin.html) - Anthropomorphic, upright turtles.
|
||||
- [Warlock](./warlock.html) - Spellcasters that gain access to magic by making pacts with powerful, otherworldly beings
|
||||
|
||||
<!--
|
||||
- [Bloodmage](./bloodmage.html) - Arcane spellcasters that use their own life force, rather than their memories, to cast spells.
|
||||
- [Planetouched](./planetouched.md)
|
||||
- [Summoner](./summoner.md)
|
||||
-->
|
||||
|
9
src/pages/gods/dragon-gods.md
Normal file
9
src/pages/gods/dragon-gods.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
title: TBD
|
||||
description: TBD
|
||||
date_pub: 2023-02-19T20:59:00-05:00
|
||||
section: gods
|
||||
content_type: feature
|
||||
short_code: g1
|
||||
status: draft
|
||||
---
|
9
src/pages/gods/index.md
Normal file
9
src/pages/gods/index.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
title: TBD
|
||||
description: TBD
|
||||
date_pub: 2023-02-19T20:59:00-05:00
|
||||
section: gods
|
||||
content_type: feature
|
||||
short_code: g1
|
||||
status: draft
|
||||
---
|
9
src/pages/gods/phoris.md
Normal file
9
src/pages/gods/phoris.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
title: TBD
|
||||
description: TBD
|
||||
date_pub: 2023-02-19T20:59:00-05:00
|
||||
section: gods
|
||||
content_type: feature
|
||||
short_code: g1
|
||||
status: draft
|
||||
---
|
@ -1,16 +1,16 @@
|
||||
---
|
||||
title:
|
||||
description: TBD
|
||||
title: Fear Not!
|
||||
description: Welcome to the digital representation of the one and only Planar Vagabond's Guide to the Multiverse!
|
||||
date_pub: 2023-02-15T00:26:00-05:00
|
||||
section: main
|
||||
content_type: feature
|
||||
short_code: m1
|
||||
---
|
||||
|
||||
My name is Drogo Wanderfoot, but most know me as the Planar Vagabond.
|
||||
For you've stumbled onto the digital representation of the most famous multiversal guidebook in history, **The Planar Vagabond's Guide to the Multiverse**!
|
||||
|
||||
I've spent decades wandering around the vast multiverse, collecting stories and hearing about others adventures...
|
||||
Within its hallowed pages, you'll find everything you need to know about the [various planes of the multiverse](/planes/index.html) and (more importantly) how to tour those planes on less than 5 silver coins a day!
|
||||
|
||||
And now, I'm presenting them to you!
|
||||
If this is your first time here, you may want to see what it's all about, or you can start using the guide to learn how to get around on [the astral plan](/astral/index.html), the [character classes](/classes/index.html) and [races](/races/index.html) you can meet along the way, and some of the [magic items](/magic-items/index.html), [monsters](/monsters/index.html), and [weapons](/weapons/) you may encounter.
|
||||
|
||||
Thanks for stopping by!
|
||||
|
@ -27,7 +27,7 @@ An elongated crystal skull with 3 eye sockets (with the third lying in between a
|
||||
|
||||
- **The Ravager** is an Eye Tyrant creation responsible for the destruction of 32 different planes. The Ravager is capable of honing in on a plane via any type of portal or color pool, passing through, and then destroying the plane from the other side.
|
||||
|
||||
- **Dulara** was a material plane that was annihilated 738 years ago by the Eye Tyrant Ravager, along with its 25-million inhabitants. Itwas the last plane destroyed by the Ravager, as of year 5023 of the Common Astral Calendar.
|
||||
- **Dulara** was a material plane that was annihilated 738 years ago by the Eye Tyrant Ravager, along with its 25-million inhabitants. It was the last plane destroyed by the Ravager, as of year 5023 of the Common Astral Calendar.
|
||||
|
||||
- **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.
|
||||
|
||||
|
25
src/pages/magic-items/helm-of-halos.md
Normal file
25
src/pages/magic-items/helm-of-halos.md
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
title: The Helm of Immaculate Conservation (The Helm of Halos)
|
||||
description: A magical helmet that grants an aura of divine protection to nearby allies.
|
||||
date_pub: 2023-03-05T23:02:00-05:00
|
||||
section: magic items
|
||||
content_type: feature
|
||||
short_code: mihoh
|
||||
status: hidden
|
||||
---
|
||||
|
||||
- aka The Helm of Beatific Bulwark
|
||||
- aka The Helm of Halos
|
||||
|
||||
A polished silver helmet adorned with etchings of archaic runes of blessing and a small wing on each temple.
|
||||
|
||||
_Created by Ser Barrock the Ever-blessed, paladin of Nyden, for use in the first War of the Wurm, this helmet grants it's wearer (and all friendly humanoids within 60') divine protection in the form of a damage-absorbing halo (only visible to the wearer)._
|
||||
|
||||
**While worn**: Grants +1 to AC, and the wearer can see a glowing halo over every friendly humanoid within 60' (including himself).
|
||||
|
||||
**Halo effects**
|
||||
|
||||
- Can be seen by the wearer even in complete (non-magical) darkness.
|
||||
- Dimly light 5-10' area around the character they're over (although it only affects the wearer's vision).
|
||||
- Shatter when the character they're over would take damage or be killed by a hit, spell, or spell-like effect (like a Tyrant's eye beam), negating the damage taken.
|
||||
- Shattered halos are restored the next morning at dawn.
|
@ -1,7 +1,8 @@
|
||||
---
|
||||
title: Magic Items
|
||||
description: A small collection of magic items that can be encountered in the astral plane.
|
||||
description: A (growing) list magic items that can be found across the multiverse.
|
||||
date_pub: 2023-02-19T18:50:00-05:00
|
||||
date_upd: 2023-03-06T00:48:00-05:00
|
||||
section: magic items
|
||||
content_type: feature
|
||||
short_code: mi1
|
||||
@ -13,6 +14,7 @@ Below you'll find a small sampling of the magic items that can be encountered in
|
||||
- [The Crystal Skull of Jund](./crystal-skull-of-jund.html) - A magical, elongated, and (apparently) nearly omniscient crystal skull.
|
||||
- [Pet Rock](./pet-rock.html) - A magical rock that obeys its owner's commands.
|
||||
- [Ring of Eldritch Blasting](./ring-of-eldritch-blasting.html) - A magical ring that grants the wearer the ability to fire eldritch blasts.
|
||||
- [The Tome of Forbidden Whispers](./tome-of-forbidden-whispers.html) - A cursed book about the Great Old Ones, written by a mad warlock.
|
||||
- [Tyrhung, Wolf Hunter](./tyrhung-wolf-hunter.html) - A magical sword that specializes in identifying and killing lycanthropes.
|
||||
|
||||
<!--
|
||||
|
12
src/pages/magic-items/ring-of-the-scholar.md
Normal file
12
src/pages/magic-items/ring-of-the-scholar.md
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Ring of the Scholar
|
||||
description:
|
||||
date_pub: 2023-03-04T02:57:00-05:00
|
||||
section: magic items
|
||||
content_type: feature
|
||||
short_code: mrots
|
||||
---
|
||||
|
||||
A simple silver band with an archaic symbol for knowledge on it.
|
||||
|
||||
**While worn**: Increases INT up to 4 points, to a maximum of 14.
|
21
src/pages/magic-items/tome-of-forbidden-whispers.md
Normal file
21
src/pages/magic-items/tome-of-forbidden-whispers.md
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
title: The Tome of Forbidden Whispers
|
||||
description: A magical reference book for those that deal with device for navigating to a desired location on the astral plane.
|
||||
date_pub: 2023-03-04T02:57:00-05:00
|
||||
section: magic items
|
||||
content_type: feature
|
||||
short_code: mtofw
|
||||
---
|
||||
|
||||
> I've seen this book up close twice, and neither person who held it is currently alive.
|
||||
>
|
||||
> But, it's more than that.... It's like the words themselves seem to worm their way into your brain as you read them... It can lead to some disquieting moments, to say the least.
|
||||
>
|
||||
> Avoid at all costs.
|
||||
> <cite>--- PV</cite>
|
||||
|
||||
Written in common, this book is filled with the lunatic ravings of it's author, Malakyre, the Mad (the so-called "Whispering Warlock"). Rumors persist that messages about the Far Realms and its loathsomely angled gods are hidden within its pages.
|
||||
|
||||
- **Non-spell casters** - See the book as an oddly-written "reference guide" to several major (but mostly forgotten) Great Old Ones and Outer Gods from the Far Planes (+2 to Ability checks when researching).
|
||||
- **Divine spell casters** - See the book as evil, regardless of alignment.
|
||||
- **Arcane spell casters** - Add [Cause Fear](<https://oldschoolessentials.necroticgnome.com/srd/index.php/Remove_Fear_(Cause_Fear)>) and [ESP](https://oldschoolessentials.necroticgnome.com/srd/index.php/ESP) to the list of spells they can prepare. The first time that either spell added this way is cast each day, the caster must **save versus spells** or spend the rest of the turn in a catatonic state, unable to move or attack.
|
290
src/pages/magic-items/wip.md
Normal file
290
src/pages/magic-items/wip.md
Normal file
@ -0,0 +1,290 @@
|
||||
---
|
||||
title: Magic Items - WIP
|
||||
description: TBD
|
||||
date_pub: 2023-02-19T20:59:00-05:00
|
||||
section: magic items
|
||||
content_type: feature
|
||||
short_code: none
|
||||
status: draft
|
||||
---
|
||||
|
||||
- http://recedingrules.blogspot.com/2010/03/spell-like-effect-spur.html
|
||||
|
||||
_Armor of the Maestro_
|
||||
|
||||
- 2 5(3 2) 3 8 2 11
|
||||
- Touch
|
||||
- Roll Twice
|
||||
- Utility
|
||||
- Defense
|
||||
- 30'
|
||||
- 1 day
|
||||
- Animate
|
||||
- Sound
|
||||
|
||||
Bard armor that:
|
||||
|
||||
- turns a song into a "music elemental" (possibly based on the type of music)
|
||||
- this could also function like a "summon X" spell
|
||||
- these aren't in the SRD, are they in the advanced book? If not, I'd like to maybe think about adding them
|
||||
- or something like the music fight in Doctor Strange 2 (turning music notes into weapons, or maybe little helpers?)
|
||||
- also may have some degree of versatility, allowing for slightly different results based on the type of music
|
||||
|
||||
_Sword of Raining Stones_
|
||||
|
||||
- 3 1 1 7 9 6
|
||||
- Distance
|
||||
- Attack
|
||||
- 10'
|
||||
- 1-6 hours
|
||||
- Evoke
|
||||
- Earth
|
||||
|
||||
A sword that, once per day, can summon a small (10' radius) localized meteor storm over a point 10' away. Once summoned, it lasts 1d6 hours, can be moved at will (at a speed of 10' / round).
|
||||
|
||||
- What effect would this have?
|
||||
- it's earth, so maybe something else? a large boulder?
|
||||
- Once per day, can summon 1d6 small meteors, each of which can land at any you can see.
|
||||
- Small, blazing orbs of earth and fire plummet to the ground at 1d6 points you can see. When the meteors hit, each deals 1d6 damage to every creature within 10' of where they land (save vs spells for half-damage).
|
||||
- Once per day, the weilder can speak the command words to summons a rain of falling stones for 1d6 rounds, and any creature caught in it takes 2d6 damage each round (save vs spells for half, roll once for the duration)
|
||||
|
||||
_Helm of Halos_
|
||||
|
||||
- 2 3 6 8 8 18
|
||||
- Touch
|
||||
- utility
|
||||
- 60'
|
||||
- 1 day
|
||||
- divine
|
||||
- Humanoid
|
||||
|
||||
A helmet (+1 AC) for for lawful(-good) clerics and paladins that allows the wearer to see a halo around every friendly humanoid (human / demihuman) within 60'. The first time each humanoid with a halo is hit, that hit is negated, and their halo shatters, restored the next morning at dawn.
|
||||
|
||||
_The Ring of Zozridiz_
|
||||
|
||||
- 2 6(2 1 3) 1 10 4 16
|
||||
- Touch
|
||||
- Thrice
|
||||
- Defense
|
||||
- Attack
|
||||
- Utility
|
||||
- 10'
|
||||
- Permanent
|
||||
- Conjure
|
||||
- Human
|
||||
|
||||
No idea.
|
||||
|
||||
- Maybe a demon bound to a piece of armor / talisman / something (like a black, oily gauntlet) that spreads over it's wielder, granting them +1 attack, +1 AC, and +1 to all saving throws
|
||||
- a magic item with a hadar-like power to conjure tentacles (for attack / defense with an extra 10' reach)
|
||||
- Even better - a demon bound to a ring which will grant the user +1 Atk / +1 AC / +10' reach
|
||||
- makes their arms stretch, like Dhalsim (which looks weird and creepy)
|
||||
- may also give them a demonic visage
|
||||
- the demon keeps renegotiating their terms at the most inopportune moments
|
||||
- may try to take over during combat and go a bit berserk
|
||||
|
||||
_Cloak of melting_
|
||||
|
||||
- 4 4 6 3 12 16
|
||||
- Area Effect
|
||||
- Transport
|
||||
- 60'
|
||||
- 1d6 rounds
|
||||
- Transmute
|
||||
- Human
|
||||
|
||||
Something that will allow everyone in 60' to melt and re-appear 60' away (in the same direction), and then which triggers again up to 1d6 times (at the beginning of each new round)
|
||||
|
||||
- cloak, crown, ring, amulet
|
||||
|
||||
_The Gauntlets of Balance_
|
||||
|
||||
- 2 5(3 1) 2 10 8 13
|
||||
- Touch
|
||||
- Twice
|
||||
- Utility
|
||||
- attack
|
||||
- 20'
|
||||
- Permanent
|
||||
- Divine
|
||||
- Infernal
|
||||
|
||||
- what about a set of gloves - one divine, one infernal?
|
||||
- can only be wielded by neutral aligned beings
|
||||
- maybe the infernal one gives an attack bonus against divine beings, and the divine one does the opposite, but only while both are worn?
|
||||
- either can be used as a +1 weapon for 1d6+1 damage (1d6+3 vs opposite?)
|
||||
- what's the utility? lay on hands?
|
||||
- maybe the infernal one inflict wound (1d6), the divine one heals (1d6)
|
||||
- what's the limit for the healing?
|
||||
- maybe using one more that the other pulls you towards law or chaos?
|
||||
|
||||
_Jadwirm's Shrinking Circle_ - 4 5(4 3) 7 8 12 3
|
||||
|
||||
- Area Effect
|
||||
- Twice
|
||||
- Transport
|
||||
- Utility
|
||||
- 70'
|
||||
- 1 day
|
||||
- Transmute
|
||||
- Mineral
|
||||
|
||||
- a black-iron ring with 4 small gems spaced evenly around the ring
|
||||
- Maybe something like drawmij's instant fortress? Can shrink all the non-organic material in a 70' radius down to a 7" circle, which can then be made bigger on command.
|
||||
- Set it down and say keyword 1 ("shrink?"), and all of the non-organic material within 70' gets pulled into it.
|
||||
- It has a very small representation of what was around it now in the middle (same places, diff scale)
|
||||
- each ability (shrink / grow) only works once per day
|
||||
|
||||
- 2 6(4 3 4) 3 8 6 3
|
||||
- Touch
|
||||
- Thrice
|
||||
- Transport(x2)
|
||||
- Utility
|
||||
- 30'
|
||||
- 1 day
|
||||
- Dispel / Disappear
|
||||
- Mineral
|
||||
|
||||
_The Soul Collector's Crossbow_
|
||||
|
||||
- a hellfire-imbued crossbow (black with veins of orange fire)
|
||||
- whenever a creature is killed with the crossbow, a strange coin appears near the wielder
|
||||
|
||||
- It's a soulcoin (or a hellcoin)
|
||||
- May be useful for trade if / when the party goes to hell
|
||||
|
||||
- Rolls
|
||||
- 2 2 6 6 12 7
|
||||
- Results
|
||||
- Touch
|
||||
- Defense
|
||||
- 60'
|
||||
- 1-6 hours
|
||||
- Transmute
|
||||
- Water
|
||||
- Ideas
|
||||
|
||||
- turns up to 6 people into water - they mintain their basic shape, but become immune to non-agical damage
|
||||
|
||||
- Rolls
|
||||
- 4 4 5 5 4 7
|
||||
- Results
|
||||
- AoE
|
||||
- Transport
|
||||
- 40
|
||||
- 1-6 turns
|
||||
- Conjure
|
||||
- Water
|
||||
- Ideas
|
||||
|
||||
- conjure a great sea-turtle (made of water) to carry a group on it's back for 1-6 turns
|
||||
|
||||
- Rolls
|
||||
- 3 5 (2 3) 1 5 7 15
|
||||
- Results
|
||||
- Distance
|
||||
- 1-4 x2
|
||||
- Defense
|
||||
- Utility
|
||||
- 10
|
||||
- 1-6 turns
|
||||
- Distort
|
||||
- Space/Dimension
|
||||
- Ideas
|
||||
|
||||
- "Portal"-style portals - once activated, each gesture creates one or the other of a pair of portal - what goes into one comes out the other with the same speed
|
||||
` - Once activated, portals can be made at will for the duration of the spell, and all remaining portals vanish when the spell ends. - portals can only be created up to 10' from caster, but once created, remain in place for the duration (or until dismissed)
|
||||
|
||||
- Rolls
|
||||
- 2 3 3 5 1 13
|
||||
- Results
|
||||
- Touch
|
||||
- Utility
|
||||
- 30
|
||||
- 1-6 turns
|
||||
- Alter
|
||||
- Infernal
|
||||
- Ideas
|
||||
|
||||
- turn someone into a demon / devil for up to 6 turns
|
||||
|
||||
- Rolls
|
||||
- 2 1 6 9 12 17
|
||||
- Results
|
||||
- Touch
|
||||
- Attack
|
||||
- 60
|
||||
- 1-6 days
|
||||
- Transmute
|
||||
- Demi-human
|
||||
- Ideas
|
||||
|
||||
- Something that transmutes things into demi-humans (or demi-humans into things)
|
||||
|
||||
- Rolls
|
||||
- 4 2 2 3 10 5
|
||||
- Results
|
||||
- AoE
|
||||
- Defense
|
||||
- 20
|
||||
- 1-6 rounds
|
||||
- Shield
|
||||
- Fire
|
||||
- Ideas
|
||||
|
||||
- This sounds like Eric's shield on the D&D cartoon - a cavilier's shield that could block vs/ magical attacks / AoEs
|
||||
- Maybe a 20' diameter ring of fire that grants some kind of AC bonus
|
||||
|
||||
- Rolls
|
||||
- 4 1 8 6 3 2
|
||||
- Results
|
||||
- AoE
|
||||
- Attack
|
||||
- Sight
|
||||
- 1 hour
|
||||
- Compel
|
||||
- Vegetable
|
||||
- Ideas
|
||||
- grows saprolings / treefolk out of the ground - they live for an hour, and then return to the soil
|
||||
- or maybe just vines
|
||||
|
||||
2 4 4 7 7 14
|
||||
|
||||
- Touch
|
||||
- Transport
|
||||
- 40'
|
||||
- 1-6 hours
|
||||
- distort
|
||||
- Time
|
||||
|
||||
- This strikes me as something that puts people into suspended animation for 1-6 hours and allows you to carry them without them realizing any time has passed.
|
||||
- not sure how the touch / 40' come into it
|
||||
- what if it's a bracelet that can "store" all creatures within 40' in it (giving the crystals a particular shine), and then can be worn by someone else
|
||||
- after (1d)6 hours, the creatures reappear, the same distance they were from the bracelet when stored
|
||||
|
||||
2 4 3 5 10 9
|
||||
|
||||
- Touch
|
||||
- Transport
|
||||
- 30'
|
||||
- 1-6 turns
|
||||
- Shield
|
||||
- Shadow
|
||||
|
||||
- what about something that covers a transport in a shroud of shadow? Or... protects it with a shield of shadow?
|
||||
- why not both - generates a 30' diameter "shadow shield" that serves to both hide what's in the shield (and make it nearly invisible at night) AND protects it from harm (like a +2 to everything within the shield)?
|
||||
- save this for the void lords? Or make it another hint / piece of the void lord puzzle that the PCs find?
|
||||
- powerful, but fairly short duration (1d6 turns)
|
||||
|
||||
3 3 5 8 7 6
|
||||
|
||||
- Distance
|
||||
- Utility
|
||||
- 50'
|
||||
- 1 day
|
||||
- Distort
|
||||
- Earth
|
||||
|
||||
- first idea was to make soemthign that can "fold" earth, but I'm having trouble imagining that, so...
|
||||
- an item that turns a 10' wide cylinder of earth / rock (up to 50' long) into something passable - maybe it becomes liquid and you can swim it, maybe it turns it into an illusion?
|
||||
- the hard part is the day - is that how long it lasts? Is it a one-off?
|
14
src/pages/miscellanea.md
Normal file
14
src/pages/miscellanea.md
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
title: Miscellanea
|
||||
description: A WIP collection of other miscellaneous collections.
|
||||
date_pub: 2023-03-06T00:51:00-05:00
|
||||
section: Miscellanea
|
||||
content_type: feature
|
||||
short_code: m2
|
||||
---
|
||||
|
||||
A WIP collection of other miscellaneous collections.
|
||||
|
||||
- [Magic Items](/magic-items/index.html) - A (growing) list magic items that can be found across the multiverse.
|
||||
- [Monsters](/monsters/index.html) - A small sampling of the monsters that can be encountered in the astral plane.
|
||||
- [Weapons](/weapons/index.html)
|
@ -5,6 +5,7 @@ date_pub: 2023-02-17T00:26:00-05:00
|
||||
section: monsters
|
||||
content_type: feature
|
||||
short_code: mcd
|
||||
status: hidden
|
||||
---
|
||||
|
||||
<!--
|
||||
|
@ -16,9 +16,9 @@ Appears as an enormous underground cavern with walls that can never be reached.
|
||||
|
||||
#### Locations
|
||||
|
||||
**The Ashen Wastes** - A huge island in the center of cavern with gray shores.
|
||||
**The Ashen Wastes** - A large, mountainous wasteland in the center of cavern, surrounded by gray shores and the Lake of Fire.
|
||||
|
||||
**The Lake of Fire** - An endless inferno which completely surrounds the island.
|
||||
**The Lake of Fire** - An endless inferno which completely surrounds the Ashen Wastes.
|
||||
|
||||
**The Great Pit** - A massive hole in the center of the Ashen Wastes that leads down thousands of feet to a portal to the Abyss.
|
||||
|
||||
|
@ -7,13 +7,11 @@ content_type: feature
|
||||
short_code: r1
|
||||
---
|
||||
|
||||
- [Automaton](./automaton.html)
|
||||
- [Dracokin](./dracokin.html)
|
||||
- [Felinar](./felinar.html)
|
||||
- [Firfolk](./firfolk.html)
|
||||
- [Mimikin](./mimikin.html)
|
||||
- [Tortokin](./tortokin.html)
|
||||
Enjoy these custom character races in your Old-School Essentials Advanced Fantasy games.
|
||||
|
||||
<!--
|
||||
- [Planetouched](./corsair.md)
|
||||
-->
|
||||
- [Automaton](./automaton.html) - Mechanical beings powered by ancient, arcane magicks.
|
||||
- [Dracokin](./dracokin.html) - Lizardfolk with distant relations to dragons.
|
||||
- [Felinar](./felinar.html) - A race of anthropomorphic, catlike beings.
|
||||
- [Firfolk](./firfolk.html) - Magical, gray half-giants that live in harmony with nature.
|
||||
- [Mimikin](./mimikin.html) - A race of demihumans able to shift their physical forms at will.
|
||||
- [Tortokin](./tortokin.html) - Anthropomorphic, upright turtles.
|
||||
|
@ -4,6 +4,7 @@
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<% if (site && Array.isArray(site.pages)) {
|
||||
site.pages
|
||||
.filter(({ is_draft, status}) => !is_draft && status !== 'draft' && status !== 'hidden')
|
||||
.sort(sortByPath)
|
||||
.forEach((page) => { -%>
|
||||
<url>
|
||||
|
Loading…
Reference in New Issue
Block a user