2 Commits
594 changed files with 3063 additions and 14 deletions
+2
View File
@@ -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
+30 -3
View File
@@ -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.
+3 -1
View File
@@ -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 -2
View File
@@ -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}`);
+1 -1
View File
@@ -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",
+1
View File
@@ -0,0 +1 @@
packs/** binary
+32
View File
@@ -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.
+38
View File
@@ -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.
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Some files were not shown because too many files have changed in this diff Show More