Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2e23f829ce | ||
|
|
f3bf76f5b9 |
@@ -17,6 +17,7 @@ jobs:
|
||||
mkdir -p dist
|
||||
zip -r dist/sla-brp.zip sla-brp -x "*.DS_Store"
|
||||
zip -r dist/sla-industries-brp.zip sla-industries-brp -x "*.DS_Store"
|
||||
zip -r dist/sla-industries-compendium.zip sla-industries-compendium -x "*.DS_Store"
|
||||
|
||||
- name: Upload to release
|
||||
if: github.event_name == 'release'
|
||||
@@ -25,3 +26,4 @@ jobs:
|
||||
files: |
|
||||
dist/sla-brp.zip
|
||||
dist/sla-industries-brp.zip
|
||||
dist/sla-industries-compendium.zip
|
||||
|
||||
@@ -3,32 +3,57 @@
|
||||
Installable Foundry VTT package repo for:
|
||||
|
||||
- System: `sla-industries-brp`
|
||||
- Module: `sla-industries-compendium` (companion content and artwork)
|
||||
- World: `sla-brp`
|
||||
|
||||
## Install URLs
|
||||
|
||||
- System manifest:
|
||||
`https://raw.githubusercontent.com/slaguru666/sla_industries_brp/main/sla-industries-brp/system.json`
|
||||
- Module manifest:
|
||||
`https://raw.githubusercontent.com/slaguru666/sla_industries_brp/main/sla-industries-compendium/module.json`
|
||||
- World manifest:
|
||||
`https://raw.githubusercontent.com/slaguru666/sla_industries_brp/main/sla-brp/world.json`
|
||||
|
||||
## Important Install Order
|
||||
|
||||
1. Install **System** `sla-industries-brp` first.
|
||||
2. Install **World** `sla-brp` second.
|
||||
2. Install **Module** `sla-industries-compendium` second.
|
||||
3. Install **World** `sla-brp` optionally (or create a new world with the system).
|
||||
|
||||
If the system is not installed first, Foundry marks the world unavailable.
|
||||
|
||||
## Populate A Fresh World
|
||||
|
||||
In a new `sla-industries-brp` world with the companion module enabled:
|
||||
|
||||
1. Open the **Compendium** tab.
|
||||
2. Use either:
|
||||
- the new download button in the Compendium header, or
|
||||
- right-click any `sla-industries-compendium` pack and choose **Import SLA Companion Content**.
|
||||
3. Choose **Merge** or **Overwrite** when prompted.
|
||||
|
||||
No script macro is required.
|
||||
|
||||
Optional fallback (GM script macro):
|
||||
|
||||
```js
|
||||
const { SLASeedImporter } = await import("/systems/sla-industries-brp/module/apps/sla-seed-importer.mjs");
|
||||
await SLASeedImporter.buildDraft2({ overwrite: false, syncCompendia: true });
|
||||
```
|
||||
|
||||
## Repo Layout
|
||||
|
||||
- `sla-industries-brp/` - system content (`system.json`)
|
||||
- `sla-industries-compendium/` - companion module content (`module.json`, `sla-data`, compendium packs, artwork)
|
||||
- `sla-brp/` - world content (`world.json`)
|
||||
- `scripts/build-release.sh` - builds both release zips into `dist/`
|
||||
- `scripts/build-release.sh` - builds all release zips into `dist/`
|
||||
|
||||
## Release Steps
|
||||
|
||||
1. Update versions in:
|
||||
- `sla-industries-brp/system.json`
|
||||
- `sla-industries-compendium/module.json`
|
||||
- `sla-brp/world.json`
|
||||
2. Build zips:
|
||||
|
||||
@@ -38,9 +63,11 @@ If the system is not installed first, Foundry marks the world unavailable.
|
||||
|
||||
3. Create a GitHub release and attach:
|
||||
- `dist/sla-industries-brp.zip`
|
||||
- `dist/sla-industries-compendium.zip`
|
||||
- `dist/sla-brp.zip`
|
||||
|
||||
## Notes
|
||||
|
||||
- World `sla-brp` depends on system ID `sla-industries-brp`.
|
||||
- Download URLs use GitHub `releases/latest/download/...`, so the latest release must include both zip assets.
|
||||
- Companion module contains `sla-data/*.json` plus artwork under `assets/SLA_Assets`.
|
||||
- Download URLs use GitHub `releases/latest/download/...`, so the latest release must include all three zip assets.
|
||||
|
||||
@@ -5,12 +5,14 @@ ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
OUT_DIR="$ROOT_DIR/dist"
|
||||
|
||||
mkdir -p "$OUT_DIR"
|
||||
rm -f "$OUT_DIR/sla-brp.zip" "$OUT_DIR/sla-industries-brp.zip"
|
||||
rm -f "$OUT_DIR/sla-brp.zip" "$OUT_DIR/sla-industries-brp.zip" "$OUT_DIR/sla-industries-compendium.zip"
|
||||
|
||||
cd "$ROOT_DIR"
|
||||
zip -r "$OUT_DIR/sla-brp.zip" sla-brp -x "*.DS_Store"
|
||||
zip -r "$OUT_DIR/sla-industries-brp.zip" sla-industries-brp -x "*.DS_Store"
|
||||
zip -r "$OUT_DIR/sla-industries-compendium.zip" sla-industries-compendium -x "*.DS_Store"
|
||||
|
||||
echo "Created:"
|
||||
echo " $OUT_DIR/sla-brp.zip"
|
||||
echo " $OUT_DIR/sla-industries-brp.zip"
|
||||
echo " $OUT_DIR/sla-industries-compendium.zip"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"id": "sla-brp",
|
||||
"title": "SLA BRP",
|
||||
"description": "A prebuilt SLA BRP world for Foundry Virtual Tabletop.",
|
||||
"version": "0.1.1",
|
||||
"version": "0.1.3",
|
||||
"authors": [
|
||||
{
|
||||
"name": "timevans"
|
||||
@@ -15,7 +15,7 @@
|
||||
"maximum": "13"
|
||||
},
|
||||
"system": "sla-industries-brp",
|
||||
"systemVersion": "13.1.52",
|
||||
"systemVersion": "13.1.54",
|
||||
"manifest": "https://raw.githubusercontent.com/slaguru666/sla_industries_brp/main/sla-brp/world.json",
|
||||
"download": "https://github.com/slaguru666/sla_industries_brp/releases/latest/download/sla-brp.zip",
|
||||
"url": "https://github.com/slaguru666/sla_industries_brp"
|
||||
|
||||
@@ -3,18 +3,20 @@ import { SLAAmmoCatalog } from "./sla-ammo-catalog.mjs";
|
||||
import { SLADrugSystem } from "./sla-drug-system.mjs";
|
||||
|
||||
export class SLASeedImporter {
|
||||
static COMPANION_MODULE_ID = "sla-industries-compendium";
|
||||
static _skillNameCache = null;
|
||||
static _skillIconMapCache = null;
|
||||
static _weaponIconMapCache = null;
|
||||
static _ebbIconMapCache = null;
|
||||
static _speciesIconMapCache = null;
|
||||
static _trainingIconMapCache = null;
|
||||
static SKILL_ICON_PATH = "assets/SLA_Assets/Skills";
|
||||
static WEAPON_ICON_PATH = "assets/SLA_Assets/Weapons";
|
||||
static EBB_ICON_PATH = "assets/SLA_Assets/Ebb";
|
||||
static SPECIES_ICON_PATH = "assets/SLA_Assets/Species";
|
||||
static TRAINING_ICON_PATH = "assets/SLA_Assets/Ebb/Training";
|
||||
static TRAIT_ICON_PATH = "assets/SLA_Assets/Traits";
|
||||
static ICON_BASE_PATH = `modules/${this.COMPANION_MODULE_ID}/assets/SLA_Assets`;
|
||||
static SKILL_ICON_PATH = `${this.ICON_BASE_PATH}/Skills`;
|
||||
static WEAPON_ICON_PATH = `${this.ICON_BASE_PATH}/Weapons`;
|
||||
static EBB_ICON_PATH = `${this.ICON_BASE_PATH}/Ebb`;
|
||||
static SPECIES_ICON_PATH = `${this.ICON_BASE_PATH}/Species`;
|
||||
static TRAINING_ICON_PATH = `${this.ICON_BASE_PATH}/Ebb/Training`;
|
||||
static TRAIT_ICON_PATH = `${this.ICON_BASE_PATH}/Traits`;
|
||||
static AMMO_ICON_TAGS = new Set(["STD", "AP", "HE", "HEAP"]);
|
||||
static SLA2_TRAIT_ROWS = [
|
||||
{ name: "Illness", rank: 3, traitType: "disadvantage", xpCost: -1 },
|
||||
@@ -1319,7 +1321,13 @@ export class SLASeedImporter {
|
||||
}
|
||||
|
||||
static async loadSeed(fileName) {
|
||||
const url = `modules/sla-industries-compendium/sla-data/${fileName}`;
|
||||
const moduleId = this.COMPANION_MODULE_ID;
|
||||
const module = game.modules?.get(moduleId);
|
||||
if (!module) {
|
||||
throw new Error(`Required companion module is not installed: ${moduleId}`);
|
||||
}
|
||||
|
||||
const url = `modules/${moduleId}/sla-data/${fileName}`;
|
||||
const response = await fetch(url);
|
||||
if (!response.ok) {
|
||||
throw new Error(`Unable to load seed file: ${url}`);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"id": "sla-industries-brp",
|
||||
"title": "SLA Industries BRP (Draft)",
|
||||
"description": "Draft SLA Industries conversion of the BRP system for FoundryVTT.",
|
||||
"version": "13.1.52",
|
||||
"version": "13.1.54",
|
||||
"coreVersion": "13.351",
|
||||
"compatibility": {
|
||||
"minimum": "13",
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
packs/** binary
|
||||
@@ -0,0 +1,32 @@
|
||||
MIT License
|
||||
|
||||
Chaosium
|
||||
Permission is given for users to make limited derivative use of this publication
|
||||
for personal use on the Foundry VTT platform. No rights for any commercial use
|
||||
are granted. No part of this publication may be reproduced or distributed for use
|
||||
outside of the Foundry VTT platform. All rights are reserved with Chaosium Inc.
|
||||
Basic Role Playing Universal Game Engine © copyright 1981–2023 Chaosium Inc. All
|
||||
rights reserved.
|
||||
|
||||
Copyright (c) 2023 Genii-Locorum
|
||||
|
||||
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:
|
||||
|
||||
This license does not apply to the compendium content listed in this software's
|
||||
"packs" directory. See below regarding Chaosium's license 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.
|
||||
@@ -0,0 +1,38 @@
|
||||
# sla-industries-compendium
|
||||
|
||||
Companion module for `sla-industries-brp` with:
|
||||
|
||||
- SLA seed JSON content (`sla-data/*.json`)
|
||||
- SLA compendium packs
|
||||
- SLA artwork (`assets/SLA_Assets`)
|
||||
|
||||
## Install
|
||||
|
||||
- Module ID: `sla-industries-compendium`
|
||||
- Target system: `sla-industries-brp`
|
||||
- Manifest:
|
||||
`https://raw.githubusercontent.com/slaguru666/sla_industries_brp/main/sla-industries-compendium/module.json`
|
||||
|
||||
## Import Content Into A New World
|
||||
|
||||
After installing the system and module:
|
||||
|
||||
1. Open the **Compendium** tab.
|
||||
2. Click the new import button in the Compendium header, or right-click any `sla-industries-compendium` pack.
|
||||
3. Choose **Import SLA Companion Content**.
|
||||
4. Pick **Merge** or **Overwrite**.
|
||||
|
||||
No script macro is required.
|
||||
|
||||
Optional fallback (GM macro):
|
||||
|
||||
```js
|
||||
const { SLASeedImporter } = await import("/systems/sla-industries-brp/module/apps/sla-seed-importer.mjs");
|
||||
await SLASeedImporter.buildDraft2({ overwrite: false, syncCompendia: true });
|
||||
```
|
||||
|
||||
This seeds skills, species, training packages, ebb abilities, equipment, drugs, and related links using module data/artwork paths.
|
||||
|
||||
## ORC Notice
|
||||
|
||||
BRP source material remains subject to Chaosium's ORC licensing terms where applicable.
|
||||
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 112 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 144 KiB |
|
After Width: | Height: | Size: 188 KiB |