Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
RichardRobertson committed Mar 6, 2024
0 parents commit 6ea490a
Show file tree
Hide file tree
Showing 162 changed files with 14,409 additions and 0 deletions.
130 changes: 130 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp
.cache

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
119 changes: 119 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
- Scripts and system bindings by Richard Robertson and distributed under the [MIT License](#mit-license).
- Copyright © 2024 Richard Robertson
- Warlock class, class features, feats, and spells by Kevin Glusing and distributed under the [OGL 1.0a License](#open-gaming-license-v10a).
- Copyright © 2019, Samurai Sheepdog; Author: Kevin Glusing

# MIT License

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:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

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.

---

# Open Gaming License V1.0a

The following text is the property of Wizards of the Coast, Inc. and is
Copyright 2000 Wizards of the Coast, Inc (“Wizards”). All Rights Reserved.
1. Definitions: (a)”Contributors” means the copyright and/or trademark
owners who have contributed Open Game Content; (b)”Derivative Material”
means copyrighted material including derivative works and translations
(including into other computer languages), notation, modification, correction,
addition, extension, upgrade, improvement, compilation, abridgment or other
form in which an existing work may be recast, transformed or adapted; (c)
“Distribute” means to reproduce, license, rent, lease, sell, broadcast, publicly
display, transmit or otherwise distribute; (d)”Open Game Content” means the
game mechanic and includes the methods, procedures, processes and routines
to the extent such content does not embody the Product Identity and is an
enhancement over the prior art and any additional content clearly identified as
Open Game Content by the Contributor, and means any work covered by this
License, including translations and derivative works under copyright law, but
specifically excludes Product Identity. (e) “Product Identity” means product and
product line names, logos and identifying marks including trade dress; artifacts;
creatures characters; stories, storylines, plots, thematic elements, dialogue,
incidents, language, artwork, symbols, designs, depictions, likenesses, formats,
poses, concepts, themes and graphic, photographic and other visual or audio
representations; names and descriptions of characters, spells, enchantments,
personalities, teams, personas, likenesses and special abilities; places,
locations, environments, creatures, equipment, magical or superadvanced
training or effects, logos, symbols, or graphic designs; and any other trademark
or registered trademark clearly identified as Product identity by the owner of
the Product Identity, and which specifically excludes the Open Game Content;
(f) “Trademark” means the logos, names, mark, sign, motto, designs that
are used by a Contributor to identify itself or its products or the associated
products contributed to the Open Game License by the Contributor (g) “Use”,
“Used” or “Using” means to use, Distribute, copy, edit, format, modify, translate
and otherwise create Derivative Material of Open Game Content. (h) “You” or
“Your” means the licensee in terms of this agreement.
2. The License: This License applies to any Open Game Content that contains
a notice indicating that the Open Game Content may only be Used under and in
terms of this License. You must affix such a notice to any Open Game Content
that you Use. No terms may be added to or subtracted from this License except
as described by the License itself. No other terms or conditions may be applied
to any Open Game Content distributed using this License.
3. Offer and Acceptance: By Using the Open Game Content You indicate Your
acceptance of the terms of this License.
4. Grant and Consideration: In consideration for agreeing to use this License,
the Contributors grant You a perpetual, worldwide, royalty–free, non–exclusive
license with the exact terms of this License to Use, the Open Game Content.
5. Representation of Authority to Contribute: If You are contributing original
material as Open Game Content, You represent that Your Contributions are Your
original creation and/or You have sufficient rights to grant the rights conveyed
by this License.
6. Notice of License Copyright: You must update the COPYRIGHT NOTICE
portion of this License to include the exact text of the COPYRIGHT NOTICE of
any Open Game Content You are copying, modifying or distributing, and You
must add the title, the copyright date, and the copyright holder’s name to the
COPYRIGHT NOTICE of any original Open Game Content you Distribute.
7. Use of Product Identity: You agree not to Use any Product Identity,
including as an indication as to compatibility, except as expressly licensed in
another, independent Agreement with the owner of each element of that
Product Identity. You agree not to indicate compatibility or co–adaptability
with any Trademark or Registered Trademark in conjunction with a work
containing Open Game Content except as expressly licensed in another,
independent Agreement with the owner of such Trademark or Registered
Trademark. The use of any Product Identity in Open Game Content does not
constitute a challenge to the ownership of that Product Identity. The owner of
any Product Identity used in Open Game Content shall retain all rights, title and
interest in and to that Product Identity.
8. Identification: If you distribute Open Game Content You must clearly
indicate which portions of the work that you are distributing are Open Game
Content.
9. Updating the License: Wizards or its designated Agents may publish
updated versions of this License. You may use any authorized version of this
License to copy, modify and distribute any Open Game Content originally
distributed under any version of this License.
10. Copy of this License: You MUST include a copy of this License with every
copy of the Open Game Content You Distribute.
11. Use of Contributor Credits: You may not market or advertise the Open
Game Content using the name of any Contributor unless You have written
permission from the Contributor to do so.
12. Inability to Comply: If it is impossible for You to comply with any of the
terms of this License with respect to some or all of the Open Game Content due
to statute, judicial order, or governmental regulation then You may not Use any
Open Game Material so affected.
13. Termination: This License will terminate automatically if You fail to comply
with all terms herein and fail to cure such breach within 30 days of becoming
aware of the breach. All sublicenses shall survive the termination of this License.
14. Reformation: If any provision of this License is held to be unenforceable,
such provision shall be reformed only to the extent necessary to make it
enforceable.
15. COPYRIGHT NOTICE
Open Game License v 1.0a Copyright 2000, Wizards of the Coast, Inc. System
Reference Document. Copyright 2000, Wizards of the Coast, Inc.; Authors
Jonathan Tweet, Monte Cook, Skip Williams, based on material by E. Gary
Gygax and Dave Arneson.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Warlock class for Pathfinder Second Edition

Adds Foundry VTT compendiums for a third party Warlock class adapted from "The Faithful Few" © 2019, Samurai Sheepdog; Author: Kevin Glusing under the Open Game License (OGL).
26 changes: 26 additions & 0 deletions build.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import archiver from "archiver";
import { createWriteStream } from "fs";
import { mkdir, readFile, rm, writeFile } from "fs/promises";
import packageJson from "./package.json" assert { type: "json" };

await rm("./dist", { recursive: true, force: true });
await mkdir("./dist");
let moduleJson = JSON.parse((await readFile("./module.json", "utf-8")));
moduleJson.description = packageJson.description;
moduleJson.version = packageJson.version;
moduleJson.url = packageJson.repository.url;
moduleJson.manifest = `${packageJson.repository.url}/releases/latest/download/module.json`;
moduleJson.download = `${packageJson.repository.url}/releases/download/v${packageJson.version}/${packageJson.name}-v${packageJson.version}.zip`;
await writeFile(`./dist/module.json`, JSON.stringify(moduleJson, undefined, 2), "utf-8");

const output = createWriteStream(`./dist/${packageJson.name}-v${packageJson.version}.zip`);
const archive = archiver("zip");
archive.pipe(output);

archive.file("./LICENSE.md", { name: "LICENSE.md" });
archive.file("./README.md", { name: "README.md" });
archive.file(`./dist/module.json`, { name: "module.json" });
archive.directory("./src/static", false);
archive.directory("./out", false);

await archive.finalize();
6 changes: 6 additions & 0 deletions compile.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { compilePack } from "@foundryvtt/foundryvtt-cli";
import moduleJson from "./module.json" assert { type: "json" };

for (const pack of moduleJson.packs.map(pack => pack.name)) {
await compilePack(`src/packs/${pack}`, `out/packs/${pack}`);
}
6 changes: 6 additions & 0 deletions extract.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { extractPack } from "@foundryvtt/foundryvtt-cli";
import moduleJson from "./module.json" assert { type: "json" };

for (const pack of moduleJson.packs.map(pack => pack.name)) {
await extractPack(`out/packs/${pack}`, `src/packs/${pack}`);
}
Loading

0 comments on commit 6ea490a

Please sign in to comment.