diff --git a/assets/icons/ammo/ammo-ap.svg b/assets/icons/ammo/ammo-ap.svg
new file mode 100644
index 0000000..921fdb4
--- /dev/null
+++ b/assets/icons/ammo/ammo-ap.svg
@@ -0,0 +1,21 @@
+
diff --git a/assets/icons/ammo/ammo-pistol.svg b/assets/icons/ammo/ammo-pistol.svg
new file mode 100644
index 0000000..ef3d6d0
--- /dev/null
+++ b/assets/icons/ammo/ammo-pistol.svg
@@ -0,0 +1,19 @@
+
diff --git a/assets/icons/ammo/ammo-rifle.svg b/assets/icons/ammo/ammo-rifle.svg
new file mode 100644
index 0000000..b138752
--- /dev/null
+++ b/assets/icons/ammo/ammo-rifle.svg
@@ -0,0 +1,15 @@
+
diff --git a/assets/icons/ammo/ammo-shotgun.svg b/assets/icons/ammo/ammo-shotgun.svg
new file mode 100644
index 0000000..344745f
--- /dev/null
+++ b/assets/icons/ammo/ammo-shotgun.svg
@@ -0,0 +1,23 @@
+
diff --git a/assets/icons/armor/armor-ebb-deathsuit.svg b/assets/icons/armor/armor-ebb-deathsuit.svg
new file mode 100644
index 0000000..157bbec
--- /dev/null
+++ b/assets/icons/armor/armor-ebb-deathsuit.svg
@@ -0,0 +1,22 @@
+
diff --git a/assets/icons/armor/armor-flak-vest.svg b/assets/icons/armor/armor-flak-vest.svg
new file mode 100644
index 0000000..07c8084
--- /dev/null
+++ b/assets/icons/armor/armor-flak-vest.svg
@@ -0,0 +1,18 @@
+
diff --git a/assets/icons/armor/armor-stealth-suit.svg b/assets/icons/armor/armor-stealth-suit.svg
new file mode 100644
index 0000000..9210bc2
--- /dev/null
+++ b/assets/icons/armor/armor-stealth-suit.svg
@@ -0,0 +1,19 @@
+
diff --git a/assets/icons/armor/armor-thresher.svg b/assets/icons/armor/armor-thresher.svg
new file mode 100644
index 0000000..6d133a3
--- /dev/null
+++ b/assets/icons/armor/armor-thresher.svg
@@ -0,0 +1,20 @@
+
diff --git a/assets/icons/drugs/drug-blaze-uv.svg b/assets/icons/drugs/drug-blaze-uv.svg
new file mode 100644
index 0000000..ffe547a
--- /dev/null
+++ b/assets/icons/drugs/drug-blaze-uv.svg
@@ -0,0 +1,14 @@
+
diff --git a/assets/icons/drugs/drug-bozerker.svg b/assets/icons/drugs/drug-bozerker.svg
new file mode 100644
index 0000000..0ecee06
--- /dev/null
+++ b/assets/icons/drugs/drug-bozerker.svg
@@ -0,0 +1,20 @@
+
diff --git a/assets/icons/drugs/drug-bubbles.svg b/assets/icons/drugs/drug-bubbles.svg
new file mode 100644
index 0000000..63724d8
--- /dev/null
+++ b/assets/icons/drugs/drug-bubbles.svg
@@ -0,0 +1,16 @@
+
diff --git a/assets/icons/drugs/drug-drum.svg b/assets/icons/drugs/drug-drum.svg
new file mode 100644
index 0000000..b28477d
--- /dev/null
+++ b/assets/icons/drugs/drug-drum.svg
@@ -0,0 +1,19 @@
+
diff --git a/assets/icons/drugs/drug-flip.svg b/assets/icons/drugs/drug-flip.svg
new file mode 100644
index 0000000..72176f6
--- /dev/null
+++ b/assets/icons/drugs/drug-flip.svg
@@ -0,0 +1,15 @@
+
diff --git a/assets/icons/drugs/drug-honesty.svg b/assets/icons/drugs/drug-honesty.svg
new file mode 100644
index 0000000..1c227f2
--- /dev/null
+++ b/assets/icons/drugs/drug-honesty.svg
@@ -0,0 +1,18 @@
+
diff --git a/assets/icons/drugs/drug-push.svg b/assets/icons/drugs/drug-push.svg
new file mode 100644
index 0000000..c657796
--- /dev/null
+++ b/assets/icons/drugs/drug-push.svg
@@ -0,0 +1,16 @@
+
diff --git a/assets/icons/drugs/drug-shatter.svg b/assets/icons/drugs/drug-shatter.svg
new file mode 100644
index 0000000..b0b2474
--- /dev/null
+++ b/assets/icons/drugs/drug-shatter.svg
@@ -0,0 +1,12 @@
+
diff --git a/assets/icons/drugs/drug-slosh.svg b/assets/icons/drugs/drug-slosh.svg
new file mode 100644
index 0000000..58ae034
--- /dev/null
+++ b/assets/icons/drugs/drug-slosh.svg
@@ -0,0 +1,15 @@
+
diff --git a/assets/icons/equipment/equip-comms.svg b/assets/icons/equipment/equip-comms.svg
new file mode 100644
index 0000000..911be53
--- /dev/null
+++ b/assets/icons/equipment/equip-comms.svg
@@ -0,0 +1,18 @@
+
diff --git a/assets/icons/equipment/equip-cutting-charge.svg b/assets/icons/equipment/equip-cutting-charge.svg
new file mode 100644
index 0000000..927ceb6
--- /dev/null
+++ b/assets/icons/equipment/equip-cutting-charge.svg
@@ -0,0 +1,21 @@
+
diff --git a/assets/icons/equipment/equip-drone.svg b/assets/icons/equipment/equip-drone.svg
new file mode 100644
index 0000000..7078ccd
--- /dev/null
+++ b/assets/icons/equipment/equip-drone.svg
@@ -0,0 +1,18 @@
+
diff --git a/assets/icons/equipment/equip-medkit.svg b/assets/icons/equipment/equip-medkit.svg
new file mode 100644
index 0000000..984263f
--- /dev/null
+++ b/assets/icons/equipment/equip-medkit.svg
@@ -0,0 +1,13 @@
+
diff --git a/assets/icons/equipment/equip-stim-patch.svg b/assets/icons/equipment/equip-stim-patch.svg
new file mode 100644
index 0000000..d04f06b
--- /dev/null
+++ b/assets/icons/equipment/equip-stim-patch.svg
@@ -0,0 +1,13 @@
+
diff --git a/assets/icons/equipment/equip-toolkit.svg b/assets/icons/equipment/equip-toolkit.svg
new file mode 100644
index 0000000..85144ad
--- /dev/null
+++ b/assets/icons/equipment/equip-toolkit.svg
@@ -0,0 +1,14 @@
+
diff --git a/assets/icons/weapons/weapon-auto-shotgun.svg b/assets/icons/weapons/weapon-auto-shotgun.svg
new file mode 100644
index 0000000..1ecedfa
--- /dev/null
+++ b/assets/icons/weapons/weapon-auto-shotgun.svg
@@ -0,0 +1,23 @@
+
diff --git a/assets/icons/weapons/weapon-chainaxe.svg b/assets/icons/weapons/weapon-chainaxe.svg
new file mode 100644
index 0000000..6f7201b
--- /dev/null
+++ b/assets/icons/weapons/weapon-chainaxe.svg
@@ -0,0 +1,19 @@
+
diff --git a/assets/icons/weapons/weapon-chainsaw.svg b/assets/icons/weapons/weapon-chainsaw.svg
new file mode 100644
index 0000000..3d20f65
--- /dev/null
+++ b/assets/icons/weapons/weapon-chainsaw.svg
@@ -0,0 +1,23 @@
+
diff --git a/assets/icons/weapons/weapon-ebb-sword.svg b/assets/icons/weapons/weapon-ebb-sword.svg
new file mode 100644
index 0000000..da26178
--- /dev/null
+++ b/assets/icons/weapons/weapon-ebb-sword.svg
@@ -0,0 +1,19 @@
+
diff --git a/assets/icons/weapons/weapon-grenade-launcher.svg b/assets/icons/weapons/weapon-grenade-launcher.svg
new file mode 100644
index 0000000..c446345
--- /dev/null
+++ b/assets/icons/weapons/weapon-grenade-launcher.svg
@@ -0,0 +1,24 @@
+
diff --git a/assets/icons/weapons/weapon-grenade.svg b/assets/icons/weapons/weapon-grenade.svg
new file mode 100644
index 0000000..dc8e233
--- /dev/null
+++ b/assets/icons/weapons/weapon-grenade.svg
@@ -0,0 +1,18 @@
+
diff --git a/assets/icons/weapons/weapon-lmg.svg b/assets/icons/weapons/weapon-lmg.svg
new file mode 100644
index 0000000..4dbaf7c
--- /dev/null
+++ b/assets/icons/weapons/weapon-lmg.svg
@@ -0,0 +1,30 @@
+
diff --git a/assets/icons/weapons/weapon-mutilator-sword.svg b/assets/icons/weapons/weapon-mutilator-sword.svg
new file mode 100644
index 0000000..81db337
--- /dev/null
+++ b/assets/icons/weapons/weapon-mutilator-sword.svg
@@ -0,0 +1,20 @@
+
diff --git a/assets/icons/weapons/weapon-riot-shield.svg b/assets/icons/weapons/weapon-riot-shield.svg
new file mode 100644
index 0000000..ca8f6c5
--- /dev/null
+++ b/assets/icons/weapons/weapon-riot-shield.svg
@@ -0,0 +1,16 @@
+
diff --git a/assets/icons/weapons/weapon-sniper-rifle.svg b/assets/icons/weapons/weapon-sniper-rifle.svg
new file mode 100644
index 0000000..bdb2a29
--- /dev/null
+++ b/assets/icons/weapons/weapon-sniper-rifle.svg
@@ -0,0 +1,31 @@
+
diff --git a/assets/icons/weapons/weapon-stun-grenade.svg b/assets/icons/weapons/weapon-stun-grenade.svg
new file mode 100644
index 0000000..44a52de
--- /dev/null
+++ b/assets/icons/weapons/weapon-stun-grenade.svg
@@ -0,0 +1,22 @@
+
diff --git a/build-packs.mjs b/build-packs.mjs
index b116ff4..70a2905 100644
--- a/build-packs.mjs
+++ b/build-packs.mjs
@@ -100,6 +100,16 @@ const PACKS = [
label: 'SLA Weapons',
source: 'packs/weapons.json',
},
+ {
+ id: 'sla-equipment',
+ label: 'SLA Equipment & Gear',
+ source: 'packs/equipment.json',
+ },
+ {
+ id: 'sla-ammo',
+ label: 'SLA Ammunition',
+ source: 'packs/ammo.json',
+ },
];
// ── Run ──────────────────────────────────────────────────────────────────────
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..ff0e1b2
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,189 @@
+{
+ "name": "zero-engine",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "dependencies": {
+ "classic-level": "^3.0.0"
+ }
+ },
+ "node_modules/abstract-level": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-3.1.1.tgz",
+ "integrity": "sha512-CW2gKbJFTuX1feMvOrvsVMmijAOgI9kg2Ie9Dq3gOcMt/dVVoVmqNlLcEUCT13NxHFMEajcUcVBIplbyDroDiw==",
+ "license": "MIT",
+ "dependencies": {
+ "buffer": "^6.0.3",
+ "is-buffer": "^2.0.5",
+ "level-supports": "^6.2.0",
+ "level-transcoder": "^1.0.1",
+ "maybe-combine-errors": "^1.0.0",
+ "module-error": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "node_modules/classic-level": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-3.0.0.tgz",
+ "integrity": "sha512-yGy8j8LjPbN0Bh3+ygmyYvrmskVita92pD/zCoalfcC9XxZj6iDtZTAnz+ot7GG8p9KLTG+MZ84tSA4AhkgVZQ==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "abstract-level": "^3.1.0",
+ "module-error": "^1.0.1",
+ "napi-macros": "^2.2.2",
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/is-buffer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/level-supports": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-6.2.0.tgz",
+ "integrity": "sha512-QNxVXP0IRnBmMsJIh+sb2kwNCYcKciQZJEt+L1hPCHrKNELllXhvrlClVHXBYZVT+a7aTSM6StgNXdAldoab3w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/level-transcoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz",
+ "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==",
+ "license": "MIT",
+ "dependencies": {
+ "buffer": "^6.0.3",
+ "module-error": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/maybe-combine-errors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/maybe-combine-errors/-/maybe-combine-errors-1.0.0.tgz",
+ "integrity": "sha512-eefp6IduNPT6fVdwPp+1NgD0PML1NU5P6j1Mj5nz1nidX8/sWY7119WL8vTAHgqfsY74TzW0w1XPgdYEKkGZ5A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/module-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz",
+ "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/napi-macros": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.2.2.tgz",
+ "integrity": "sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g==",
+ "license": "MIT"
+ },
+ "node_modules/node-gyp-build": {
+ "version": "4.8.4",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
+ "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==",
+ "license": "MIT",
+ "bin": {
+ "node-gyp-build": "bin.js",
+ "node-gyp-build-optional": "optional.js",
+ "node-gyp-build-test": "build-test.js"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..55cf153
--- /dev/null
+++ b/package.json
@@ -0,0 +1,5 @@
+{
+ "dependencies": {
+ "classic-level": "^3.0.0"
+ }
+}
diff --git a/packs/ammo.json b/packs/ammo.json
new file mode 100644
index 0000000..65f78fc
--- /dev/null
+++ b/packs/ammo.json
@@ -0,0 +1,132 @@
+[
+ {
+ "name": "10mm Standard Rounds (x30)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/ammo/ammo-pistol.svg",
+ "system": {
+ "description": "Standard 10mm full metal jacket rounds. The most common pistol and SMG calibre on Mort. Available at every Shiver station, most corner shops, and all operative supply depots.",
+ "caliber": "10mm", "roundType": "standard", "quantity": 30, "costPerRound": 2,
+ "apBonus": 0, "damageMod": 0, "blastRadius": 0, "weight": 1
+ }
+ },
+ {
+ "name": "10mm AP Rounds (x30)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/ammo/ammo-ap.svg",
+ "system": {
+ "description": "Armour-piercing 10mm rounds with a hardened steel penetrator core. Each hit reduces target's armour dice by 1 (in addition to weapon AP). More expensive but essential against armoured targets.",
+ "caliber": "10mm", "roundType": "AP", "quantity": 30, "costPerRound": 8,
+ "apBonus": 1, "damageMod": 0, "blastRadius": 0, "weight": 1
+ }
+ },
+ {
+ "name": "9mm Standard Rounds (x30)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/ammo/ammo-pistol.svg",
+ "system": {
+ "description": "Standard 9mm parabellum. Compatible with the FEN 603 and similar machine pistols. High velocity, moderate stopping power.",
+ "caliber": "9mm", "roundType": "standard", "quantity": 30, "costPerRound": 2,
+ "apBonus": 0, "damageMod": 0, "blastRadius": 0, "weight": 1
+ }
+ },
+ {
+ "name": "5.56mm Standard Rounds (x30)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/ammo/ammo-rifle.svg",
+ "system": {
+ "description": "Standard 5.56mm intermediate rifle rounds. Fits the FEN AR and compatible assault rifles. High velocity, good accuracy at medium range.",
+ "caliber": "5.56mm", "roundType": "standard", "quantity": 30, "costPerRound": 3,
+ "apBonus": 0, "damageMod": 0, "blastRadius": 0, "weight": 1
+ }
+ },
+ {
+ "name": "5.56mm AP Rounds (x30)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/ammo/ammo-ap.svg",
+ "system": {
+ "description": "5.56mm armour-piercing rounds for assault rifles. Penetrator core defeats light armour. Essential for engagements against armoured Shivers or operative-grade targets.",
+ "caliber": "5.56mm", "roundType": "AP", "quantity": 30, "costPerRound": 10,
+ "apBonus": 1, "damageMod": 0, "blastRadius": 0, "weight": 1
+ }
+ },
+ {
+ "name": "7.62mm Standard Rounds (x20)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/ammo/ammo-rifle.svg",
+ "system": {
+ "description": "Full-power 7.62mm rifle rounds. Fits the Browbeater series, FEN Reaper LMG, and similar battle rifles. More penetrating than intermediate calibres.",
+ "caliber": "7.62mm", "roundType": "standard", "quantity": 20, "costPerRound": 4,
+ "apBonus": 0, "damageMod": 0, "blastRadius": 0, "weight": 1
+ }
+ },
+ {
+ "name": "7.62mm AP Rounds (x20)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/ammo/ammo-ap.svg",
+ "system": {
+ "description": "7.62mm armour-piercing for battle rifles and LMGs. Defeats medium armour consistently. Standard upgrade for sustained-fire engagements against armoured targets.",
+ "caliber": "7.62mm", "roundType": "AP", "quantity": 20, "costPerRound": 12,
+ "apBonus": 2, "damageMod": 0, "blastRadius": 0, "weight": 1
+ }
+ },
+ {
+ "name": "12-Gauge Standard Shells (x8)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/ammo/ammo-shotgun.svg",
+ "system": {
+ "description": "Standard 12-gauge buckshot shells. Devastating at close range, poor at anything else. Each shell fires a spread pattern covering Engaged range with full damage, Short range at -1 damage.",
+ "caliber": "12g", "roundType": "standard", "quantity": 8, "costPerRound": 5,
+ "apBonus": 0, "damageMod": 0, "blastRadius": 0, "weight": 1
+ }
+ },
+ {
+ "name": "12-Gauge Slug Rounds (x8)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/ammo/ammo-rifle.svg",
+ "system": {
+ "description": "12-gauge rifled slugs. A single heavy projectile instead of a spread pattern. Retains full damage at Short range. Gains AP 1. Less area coverage but better penetration than buckshot.",
+ "caliber": "12g", "roundType": "slug", "quantity": 8, "costPerRound": 8,
+ "apBonus": 1, "damageMod": 0, "blastRadius": 0, "weight": 1
+ }
+ },
+ {
+ "name": ".44 Standard Rounds (x6)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/ammo/ammo-pistol.svg",
+ "system": {
+ "description": "Heavy .44 revolver rounds for the BLA 046M Blitzer. Slow to reload, high stopping power. Each round hits harder than comparable pistol calibres.",
+ "caliber": ".44", "roundType": "standard", "quantity": 6, "costPerRound": 6,
+ "apBonus": 0, "damageMod": 0, "blastRadius": 0, "weight": 0
+ }
+ },
+ {
+ "name": ".454 Standard Rounds (x12)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/ammo/ammo-pistol.svg",
+ "system": {
+ "description": "Heavy-calibre pistol rounds for the FEN 204 Heavy Pistol. High recoil, high damage. The round that makes the compensator necessary.",
+ "caliber": ".454", "roundType": "standard", "quantity": 12, "costPerRound": 7,
+ "apBonus": 0, "damageMod": 0, "blastRadius": 0, "weight": 0
+ }
+ },
+ {
+ "name": "40mm HE Grenade Round (x1)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-grenade.svg",
+ "system": {
+ "description": "High-explosive 40mm grenade round for the MILA launcher. On impact, deals DMG 5 within Engaged range of blast point, DMG 2 at Short range. Armour dice halved against blast.",
+ "caliber": "40mm", "roundType": "HE", "quantity": 1, "costPerRound": 80,
+ "apBonus": 0, "damageMod": 2, "blastRadius": 3, "weight": 1
+ }
+ },
+ {
+ "name": "40mm Smoke Round (x1)",
+ "type": "ammo",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-stun-grenade.svg",
+ "system": {
+ "description": "40mm smoke grenade round for the MILA launcher. Creates a dense smoke cloud at Short range radius on impact. All ranged attacks through the cloud are at -2 dice. Dissipates after 3 rounds.",
+ "caliber": "40mm", "roundType": "smoke", "quantity": 1, "costPerRound": 40,
+ "apBonus": 0, "damageMod": 0, "blastRadius": 3, "weight": 1
+ }
+ }
+]
diff --git a/packs/armors.json b/packs/armors.json
index 712408b..2eb6607 100644
--- a/packs/armors.json
+++ b/packs/armors.json
@@ -100,5 +100,192 @@
"cost": 8000,
"initiativeMod": 0
}
+ },
+ {
+ "name": "Street Clothes",
+ "type": "armor",
+ "img": "systems/zero-engine/assets/icons/armor/armor-downtown-jacket.svg",
+ "system": {
+ "description": "Civilian clothing. Offers essentially no ballistic protection. The only reason to track it is so the GM knows when an operative has forgotten to put their armour on.",
+ "armorRating": 0,
+ "armorDice": 0,
+ "armorAuto": 0,
+ "statMod": 0,
+ "skillMod": 0,
+ "statModTarget": "",
+ "skillModTarget": "",
+ "cost": 20,
+ "initiativeMod": 0
+ }
+ },
+ {
+ "name": "Shiver Flak Vest",
+ "type": "armor",
+ "img": "systems/zero-engine/assets/icons/armor/armor-flak-vest.svg",
+ "system": {
+ "description": "Standard-issue soft armour vest worn under uniform by Shivers and patrol officers. Lightweight, concealable under a jacket. Not rated for combat \u2014 rated for surviving a mugging.",
+ "armorRating": 1,
+ "armorDice": 1,
+ "armorAuto": 0,
+ "statMod": 0,
+ "skillMod": 0,
+ "statModTarget": "",
+ "skillModTarget": "",
+ "cost": 200,
+ "initiativeMod": 0
+ }
+ },
+ {
+ "name": "Full Shiver Armour",
+ "type": "armor",
+ "img": "systems/zero-engine/assets/icons/armor/armor-caf.svg",
+ "system": {
+ "description": "Full plate and vest armour used by Shiver combat units. Rated for street operations and riot suppression. Includes shoulder guards, arm vambraces, and shin protection.",
+ "armorRating": 2,
+ "armorDice": 2,
+ "armorAuto": 0,
+ "statMod": 0,
+ "skillMod": 0,
+ "statModTarget": "",
+ "skillModTarget": "",
+ "cost": 450,
+ "initiativeMod": 0
+ }
+ },
+ {
+ "name": "Crackshot Armour",
+ "type": "armor",
+ "img": "systems/zero-engine/assets/icons/armor/armor-scout.svg",
+ "system": {
+ "description": "Lightweight precision-operative armour designed for marksmanship. Minimal shoulder and torso coverage to avoid restricting aiming motion. Includes integrated rangefinder mounting point.",
+ "armorRating": 2,
+ "armorDice": 2,
+ "armorAuto": 0,
+ "statMod": 1,
+ "skillMod": 0,
+ "statModTarget": "agility",
+ "skillModTarget": "",
+ "cost": 600,
+ "initiativeMod": 0
+ }
+ },
+ {
+ "name": "Shock Armour",
+ "type": "armor",
+ "img": "systems/zero-engine/assets/icons/armor/armor-hard.svg",
+ "system": {
+ "description": "Blast-resistant armour with energy-dispersal panels. Designed for operatives who expect to be in the vicinity of explosions, EMP discharges, or Ebb detonations. Reduces Ebb damage by 1 auto.",
+ "armorRating": 3,
+ "armorDice": 3,
+ "armorAuto": 1,
+ "statMod": 0,
+ "skillMod": 0,
+ "statModTarget": "",
+ "skillModTarget": "",
+ "cost": 900,
+ "initiativeMod": 0
+ }
+ },
+ {
+ "name": "Stealth Suit",
+ "type": "armor",
+ "img": "systems/zero-engine/assets/icons/armor/armor-stealth-suit.svg",
+ "system": {
+ "description": "A full-body suit with integrated light-bending panels and sound-dampening underlayer. Provides moderate ballistic protection while granting +2 dice to Stealth rolls. Panels degrade when the suit takes significant damage.",
+ "armorRating": 2,
+ "armorDice": 2,
+ "armorAuto": 0,
+ "statMod": 0,
+ "skillMod": 2,
+ "statModTarget": "",
+ "skillModTarget": "stealth",
+ "cost": 2500,
+ "initiativeMod": 0
+ }
+ },
+ {
+ "name": "Ebb Deathsuit",
+ "type": "armor",
+ "img": "systems/zero-engine/assets/icons/armor/armor-ebb-deathsuit.svg",
+ "system": {
+ "description": "A ritualistically modified suit of armour channelled with sustained Ebb energy. Worn exclusively by elite Ebon operatives. Provides significant protection and adds +1 die to all Ebb rolls. Non-Ebb users cannot attune it.",
+ "armorRating": 4,
+ "armorDice": 4,
+ "armorAuto": 1,
+ "statMod": 0,
+ "skillMod": 1,
+ "statModTarget": "",
+ "skillModTarget": "ebb",
+ "cost": 5000,
+ "initiativeMod": 0
+ }
+ },
+ {
+ "name": "PP10 HARD Armour",
+ "type": "armor",
+ "img": "systems/zero-engine/assets/icons/armor/armor-hard.svg",
+ "system": {
+ "description": "An uprated HARD Armour system with PP10 composite plating. Heavier than standard HARD but capable of stopping rounds that would punch through lighter suits.",
+ "armorRating": 5,
+ "armorDice": 4,
+ "armorAuto": 2,
+ "statMod": -1,
+ "skillMod": 0,
+ "statModTarget": "agility",
+ "skillModTarget": "",
+ "cost": 2800,
+ "initiativeMod": -1
+ }
+ },
+ {
+ "name": "Light Thresher Suit",
+ "type": "armor",
+ "img": "systems/zero-engine/assets/icons/armor/armor-thresher.svg",
+ "system": {
+ "description": "An industrial hardsuit adapted for combat use. Angular composite plates with mounting points for additional equipment. Designed for hostile environment operations as much as firefights.",
+ "armorRating": 4,
+ "armorDice": 4,
+ "armorAuto": 2,
+ "statMod": 0,
+ "skillMod": -1,
+ "statModTarget": "",
+ "skillModTarget": "stealth",
+ "cost": 3500,
+ "initiativeMod": 0
+ }
+ },
+ {
+ "name": "Heavy Thresher Suit",
+ "type": "armor",
+ "img": "systems/zero-engine/assets/icons/armor/armor-thresher.svg",
+ "system": {
+ "description": "Full-coverage industrial combat suit with reinforced joints and integrated sealing system. Capable of operating in vacuum or toxic environments. Movement is restricted but survivability is exceptional.",
+ "armorRating": 5,
+ "armorDice": 5,
+ "armorAuto": 3,
+ "statMod": -1,
+ "skillMod": -2,
+ "statModTarget": "agility",
+ "skillModTarget": "mobility",
+ "cost": 6000,
+ "initiativeMod": -1
+ }
+ },
+ {
+ "name": "DN Power Armour",
+ "type": "armor",
+ "img": "systems/zero-engine/assets/icons/armor/armor-power.svg",
+ "system": {
+ "description": "Department of Nanotech powered combat armour. Lighter than standard power armour but with advanced nano-repair capability \u2014 the suit recovers 1 armour die between scenes. Rare and expensive.",
+ "armorRating": 5,
+ "armorDice": 5,
+ "armorAuto": 2,
+ "statMod": 1,
+ "skillMod": -1,
+ "statModTarget": "strength",
+ "skillModTarget": "stealth",
+ "cost": 7500,
+ "initiativeMod": 0
+ }
}
-]
+]
\ No newline at end of file
diff --git a/packs/drugs.json b/packs/drugs.json
index 15ccacf..959a73f 100644
--- a/packs/drugs.json
+++ b/packs/drugs.json
@@ -439,5 +439,599 @@
"persuasion": 0
}
}
+ },
+ {
+ "name": "Shatter",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/drugs/drug-shatter.svg",
+ "system": {
+ "description": "A combat stimulant that shatters the body's pain inhibitors and fatigue limiters simultaneously. Users feel no injury penalties for the duration but sustain damage they don't notice until it wears off.",
+ "isDrug": true,
+ "quantity": 1,
+ "cost": 120,
+ "weight": 0,
+ "active": false,
+ "activeDuration": "1 scene",
+ "activeLabel": "Shatter Active",
+ "activeNotes": "+2 Strength effective, ignore injury penalties. Take 1 damage when effect ends.",
+ "withdrawalActive": false,
+ "withdrawalDuration": "1 shift",
+ "withdrawalLabel": "Shatter Crash",
+ "withdrawalNotes": "-1 die to all rolls, +1 Stress.",
+ "healthMod": 0,
+ "resolveMod": -2,
+ "statPhysicalMod": 2,
+ "skillAllMod": 0,
+ "panicReduction": 0,
+ "injuryPenaltyIgnore": 3,
+ "stressRecoveryBonus": 0,
+ "postUseStaminaDamage": 1,
+ "wdHealthMod": 0,
+ "wdResolveMod": 0,
+ "wdStatPhysicalMod": 0,
+ "wdSkillAllMod": -1,
+ "wdPanicReduction": 0,
+ "wdInjuryPenaltyIgnore": 0,
+ "wdStressRecoveryBonus": 0,
+ "wdPostUseStaminaDamage": 0,
+ "skillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "wdSkillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "initiativeMod": 0,
+ "equipped": false
+ }
+ },
+ {
+ "name": "Blaze UV",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/drugs/drug-blaze-uv.svg",
+ "system": {
+ "description": "An enhanced variant of UV combat formula. Burns hotter and faster than base UV with correspondingly worse crash. Operatives on Blaze UV are difficult to tell from lightly possessed individuals.",
+ "isDrug": true,
+ "quantity": 1,
+ "cost": 180,
+ "weight": 0,
+ "active": false,
+ "activeDuration": "1 scene",
+ "activeLabel": "Blaze UV Active",
+ "activeNotes": "+3 Strength effective, +2 Health max. -4 Resolve. Severe crash.",
+ "withdrawalActive": false,
+ "withdrawalDuration": "1 shift",
+ "withdrawalLabel": "Blaze UV Crash",
+ "withdrawalNotes": "-2 dice all rolls, +2 Stress, cannot use Ebb.",
+ "healthMod": 2,
+ "resolveMod": -4,
+ "statPhysicalMod": 3,
+ "skillAllMod": 0,
+ "panicReduction": 0,
+ "injuryPenaltyIgnore": 1,
+ "stressRecoveryBonus": 0,
+ "postUseStaminaDamage": 2,
+ "wdHealthMod": 0,
+ "wdResolveMod": -2,
+ "wdStatPhysicalMod": 0,
+ "wdSkillAllMod": -2,
+ "wdPanicReduction": 0,
+ "wdInjuryPenaltyIgnore": 0,
+ "wdStressRecoveryBonus": 0,
+ "wdPostUseStaminaDamage": 0,
+ "skillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "wdSkillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "initiativeMod": 0,
+ "equipped": false
+ }
+ },
+ {
+ "name": "Drum",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/drugs/drug-drum.svg",
+ "system": {
+ "description": "A heavy-duty military stimulant dispensed from an industrial container. Bulk combat drug used to dose entire squads. Less refined than other stimulants but extremely effective and cheap per dose.",
+ "isDrug": true,
+ "quantity": 1,
+ "cost": 90,
+ "weight": 1,
+ "active": false,
+ "activeDuration": "1 scene",
+ "activeLabel": "Drum Active",
+ "activeNotes": "+1 Strength, +1 Health max. -1 Resolve.",
+ "withdrawalActive": false,
+ "withdrawalDuration": "1 shift",
+ "withdrawalLabel": "Drum Crash",
+ "withdrawalNotes": "-1 Strength effective, +1 Stress.",
+ "healthMod": 1,
+ "resolveMod": -1,
+ "statPhysicalMod": 1,
+ "skillAllMod": 0,
+ "panicReduction": 0,
+ "injuryPenaltyIgnore": 0,
+ "stressRecoveryBonus": 0,
+ "postUseStaminaDamage": 0,
+ "wdHealthMod": 0,
+ "wdResolveMod": 0,
+ "wdStatPhysicalMod": -1,
+ "wdSkillAllMod": 0,
+ "wdPanicReduction": 0,
+ "wdInjuryPenaltyIgnore": 0,
+ "wdStressRecoveryBonus": 0,
+ "wdPostUseStaminaDamage": 0,
+ "skillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "wdSkillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "initiativeMod": 0,
+ "equipped": false
+ }
+ },
+ {
+ "name": "Honesty",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/drugs/drug-honesty.svg",
+ "system": {
+ "description": "A truth serum used by interrogators and intelligence operatives. Targets under Honesty cannot attempt deception or actively lie. They can remain silent. Used with or without consent depending on who's asking.",
+ "isDrug": true,
+ "quantity": 1,
+ "cost": 70,
+ "weight": 0,
+ "active": false,
+ "activeDuration": "1 scene",
+ "activeLabel": "Honesty Active",
+ "activeNotes": "Cannot lie. +2 dice to Insight and social observation. -1 Resolve.",
+ "withdrawalActive": false,
+ "withdrawalDuration": "",
+ "withdrawalLabel": "",
+ "withdrawalNotes": "",
+ "healthMod": 0,
+ "resolveMod": -1,
+ "statPhysicalMod": 0,
+ "skillAllMod": 0,
+ "panicReduction": 1,
+ "injuryPenaltyIgnore": 0,
+ "stressRecoveryBonus": 0,
+ "postUseStaminaDamage": 0,
+ "wdHealthMod": 0,
+ "wdResolveMod": 0,
+ "wdStatPhysicalMod": 0,
+ "wdSkillAllMod": 0,
+ "wdPanicReduction": 0,
+ "wdInjuryPenaltyIgnore": 0,
+ "wdStressRecoveryBonus": 0,
+ "wdPostUseStaminaDamage": 0,
+ "skillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 2,
+ "persuasion": 0
+ },
+ "wdSkillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "initiativeMod": 0,
+ "equipped": false
+ }
+ },
+ {
+ "name": "Flip",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/drugs/drug-flip.svg",
+ "system": {
+ "description": "A social lubricant and inhibitor suppressor. Flip makes subjects highly agreeable and talkative. Used recreationally in clubs and professionally in negotiations and after-action debriefs where full truth is desired.",
+ "isDrug": true,
+ "quantity": 1,
+ "cost": 25,
+ "weight": 0,
+ "active": false,
+ "activeDuration": "1 shift",
+ "activeLabel": "Flip Active",
+ "activeNotes": "+2 dice Persuasion, +1 dice Insight. -1 Wits effective. Subject will overshare.",
+ "withdrawalActive": false,
+ "withdrawalDuration": "",
+ "withdrawalLabel": "",
+ "withdrawalNotes": "",
+ "healthMod": 0,
+ "resolveMod": 1,
+ "statPhysicalMod": 0,
+ "skillAllMod": 0,
+ "panicReduction": 1,
+ "injuryPenaltyIgnore": 0,
+ "stressRecoveryBonus": 1,
+ "postUseStaminaDamage": 0,
+ "wdHealthMod": 0,
+ "wdResolveMod": 0,
+ "wdStatPhysicalMod": 0,
+ "wdSkillAllMod": 0,
+ "wdPanicReduction": 0,
+ "wdInjuryPenaltyIgnore": 0,
+ "wdStressRecoveryBonus": 0,
+ "wdPostUseStaminaDamage": 0,
+ "skillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 1,
+ "persuasion": 2
+ },
+ "wdSkillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "initiativeMod": 0,
+ "equipped": false
+ }
+ },
+ {
+ "name": "Bozerker",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/drugs/drug-bozerker.svg",
+ "system": {
+ "description": "An experimental overdose-level combat stimulant. Bozerker was never cleared for operational use. Operatives who take it fight at terrifying effectiveness until they collapse. The crash is violent.",
+ "isDrug": true,
+ "quantity": 1,
+ "cost": 220,
+ "weight": 0,
+ "active": false,
+ "activeDuration": "1 scene",
+ "activeLabel": "BOZERKER ACTIVE",
+ "activeNotes": "+3 Strength, +3 Health max, ignore ALL injury penalties, +3 panic reduction. Cannot disengage.",
+ "withdrawalActive": false,
+ "withdrawalDuration": "1 shift",
+ "withdrawalLabel": "Bozerker Crash",
+ "withdrawalNotes": "Incapacitated 1 round. Then -3 all dice, +3 Stress, for 1 scene.",
+ "healthMod": 3,
+ "resolveMod": -3,
+ "statPhysicalMod": 3,
+ "skillAllMod": 0,
+ "panicReduction": 3,
+ "injuryPenaltyIgnore": 5,
+ "stressRecoveryBonus": 0,
+ "postUseStaminaDamage": 3,
+ "wdHealthMod": -2,
+ "wdResolveMod": -3,
+ "wdStatPhysicalMod": 0,
+ "wdSkillAllMod": -3,
+ "wdPanicReduction": 0,
+ "wdInjuryPenaltyIgnore": 0,
+ "wdStressRecoveryBonus": 0,
+ "wdPostUseStaminaDamage": 0,
+ "skillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "wdSkillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "initiativeMod": 0,
+ "equipped": false
+ }
+ },
+ {
+ "name": "Push",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/drugs/drug-push.svg",
+ "system": {
+ "description": "A medical auto-injector that restores consciousness and stabilises critical injuries. Push is used by combat medics to bring downed operatives back into the fight. It does not heal \u2014 it delays.",
+ "isDrug": true,
+ "quantity": 1,
+ "cost": 140,
+ "weight": 0,
+ "active": false,
+ "activeDuration": "1 scene",
+ "activeLabel": "Push Active",
+ "activeNotes": "+2 Health max, ignore Broken condition, +1 dice Stamina. Effects collapse after scene.",
+ "withdrawalActive": false,
+ "withdrawalDuration": "",
+ "withdrawalLabel": "",
+ "withdrawalNotes": "",
+ "healthMod": 2,
+ "resolveMod": 0,
+ "statPhysicalMod": 0,
+ "skillAllMod": 0,
+ "panicReduction": 0,
+ "injuryPenaltyIgnore": 2,
+ "stressRecoveryBonus": 0,
+ "postUseStaminaDamage": 0,
+ "wdHealthMod": 0,
+ "wdResolveMod": 0,
+ "wdStatPhysicalMod": 0,
+ "wdSkillAllMod": 0,
+ "wdPanicReduction": 0,
+ "wdInjuryPenaltyIgnore": 0,
+ "wdStressRecoveryBonus": 0,
+ "wdPostUseStaminaDamage": 0,
+ "skillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 1,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "wdSkillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "initiativeMod": 0,
+ "equipped": false
+ }
+ },
+ {
+ "name": "Bubbles",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/drugs/drug-bubbles.svg",
+ "system": {
+ "description": "A recreational effervescent tablet. Mild euphoric and stress reducer. Widely available and technically legal in most Mort districts. Commonly taken before social events, interrogations, or anything that requires appearing calm.",
+ "isDrug": true,
+ "quantity": 1,
+ "cost": 18,
+ "weight": 0,
+ "active": false,
+ "activeDuration": "1 shift",
+ "activeLabel": "Bubbles Active",
+ "activeNotes": "+1 Resolve, +1 panic reduction, +1 Stress recovery bonus.",
+ "withdrawalActive": false,
+ "withdrawalDuration": "",
+ "withdrawalLabel": "",
+ "withdrawalNotes": "",
+ "healthMod": 0,
+ "resolveMod": 1,
+ "statPhysicalMod": 0,
+ "skillAllMod": 0,
+ "panicReduction": 1,
+ "injuryPenaltyIgnore": 0,
+ "stressRecoveryBonus": 1,
+ "postUseStaminaDamage": 0,
+ "wdHealthMod": 0,
+ "wdResolveMod": 0,
+ "wdStatPhysicalMod": 0,
+ "wdSkillAllMod": 0,
+ "wdPanicReduction": 0,
+ "wdInjuryPenaltyIgnore": 0,
+ "wdStressRecoveryBonus": 0,
+ "wdPostUseStaminaDamage": 0,
+ "skillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "wdSkillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "initiativeMod": 0,
+ "equipped": false
+ }
+ },
+ {
+ "name": "Slosh",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/drugs/drug-slosh.svg",
+ "system": {
+ "description": "A cheap Mort street alcohol in a hip flask. Poor quality, universally available, and culturally ubiquitous. Reduces stress but impairs everything else. The unofficial recreational drug of SLA operatives on down time.",
+ "isDrug": true,
+ "quantity": 1,
+ "cost": 15,
+ "weight": 0,
+ "active": false,
+ "activeDuration": "1 shift",
+ "activeLabel": "Slosh Active",
+ "activeNotes": "+2 Resolve, -1 dice all action rolls. Cheap stress relief.",
+ "withdrawalActive": false,
+ "withdrawalDuration": "",
+ "withdrawalLabel": "",
+ "withdrawalNotes": "",
+ "healthMod": 0,
+ "resolveMod": 2,
+ "statPhysicalMod": 0,
+ "skillAllMod": -1,
+ "panicReduction": 2,
+ "injuryPenaltyIgnore": 0,
+ "stressRecoveryBonus": 2,
+ "postUseStaminaDamage": 0,
+ "wdHealthMod": 0,
+ "wdResolveMod": 0,
+ "wdStatPhysicalMod": 0,
+ "wdSkillAllMod": 0,
+ "wdPanicReduction": 0,
+ "wdInjuryPenaltyIgnore": 0,
+ "wdStressRecoveryBonus": 0,
+ "wdPostUseStaminaDamage": 0,
+ "skillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "wdSkillMods": {
+ "force": 0,
+ "melee": 0,
+ "stamina": 0,
+ "marksmanship": 0,
+ "mobility": 0,
+ "stealth": 0,
+ "crafting": 0,
+ "observation": 0,
+ "survival": 0,
+ "healing": 0,
+ "insight": 0,
+ "persuasion": 0
+ },
+ "initiativeMod": 0,
+ "equipped": false
+ }
}
]
\ No newline at end of file
diff --git a/packs/equipment.json b/packs/equipment.json
new file mode 100644
index 0000000..bc8672e
--- /dev/null
+++ b/packs/equipment.json
@@ -0,0 +1,202 @@
+[
+ {
+ "name": "BOOPA Medical Kit",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/equipment/equip-medkit.svg",
+ "system": {
+ "description": "Standard SLA-issue medical kit. Contains wound dressings, haemostatic foam, trauma shears, and two doses of field analgesic. Allows Healing rolls in the field. Without a kit, field healing is at -2 dice.",
+ "isDrug": false, "quantity": 1, "cost": 80, "weight": 1, "active": false,
+ "activeDuration": "", "activeLabel": "", "activeNotes": "",
+ "withdrawalActive": false, "withdrawalDuration": "", "withdrawalLabel": "", "withdrawalNotes": "",
+ "healthMod": 0, "resolveMod": 0, "statPhysicalMod": 0, "skillAllMod": 0,
+ "panicReduction": 0, "injuryPenaltyIgnore": 0, "stressRecoveryBonus": 0, "postUseStaminaDamage": 0,
+ "wdHealthMod": 0, "wdResolveMod": 0, "wdStatPhysicalMod": 0, "wdSkillAllMod": 0,
+ "wdPanicReduction": 0, "wdInjuryPenaltyIgnore": 0, "wdStressRecoveryBonus": 0, "wdPostUseStaminaDamage": 0,
+ "skillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":2,"insight":0,"persuasion":0 },
+ "wdSkillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "initiativeMod": 0, "equipped": false
+ }
+ },
+ {
+ "name": "Stim Patch",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/equipment/equip-stim-patch.svg",
+ "system": {
+ "description": "A transdermal stimulant patch. Applied to skin and activated by pressing the centre. Delivers a controlled dose of combat stimulant over 10 minutes. Slower than injection but discreet and hands-free.",
+ "isDrug": true, "quantity": 1, "cost": 35, "weight": 0, "active": false,
+ "activeDuration": "1 scene", "activeLabel": "Stim Patch Active",
+ "activeNotes": "+1 Resolve, +1 Strength effective. Slower onset than injected drugs.",
+ "withdrawalActive": false, "withdrawalDuration": "", "withdrawalLabel": "", "withdrawalNotes": "",
+ "healthMod": 0, "resolveMod": 1, "statPhysicalMod": 1, "skillAllMod": 0,
+ "panicReduction": 0, "injuryPenaltyIgnore": 0, "stressRecoveryBonus": 0, "postUseStaminaDamage": 0,
+ "wdHealthMod": 0, "wdResolveMod": 0, "wdStatPhysicalMod": 0, "wdSkillAllMod": 0,
+ "wdPanicReduction": 0, "wdInjuryPenaltyIgnore": 0, "wdStressRecoveryBonus": 0, "wdPostUseStaminaDamage": 0,
+ "skillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "wdSkillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "initiativeMod": 0, "equipped": false
+ }
+ },
+ {
+ "name": "Bandage Pack",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/equipment/equip-stim-patch.svg",
+ "system": {
+ "description": "A pack of field dressings and pressure bandages. Can stop a bleeding condition with a Healing roll (difficulty 1). No bonus to Healing checks — just the materials to work with. Each pack contains 5 dressings.",
+ "isDrug": false, "quantity": 5, "cost": 15, "weight": 0, "active": false,
+ "activeDuration": "", "activeLabel": "", "activeNotes": "",
+ "withdrawalActive": false, "withdrawalDuration": "", "withdrawalLabel": "", "withdrawalNotes": "",
+ "healthMod": 0, "resolveMod": 0, "statPhysicalMod": 0, "skillAllMod": 0,
+ "panicReduction": 0, "injuryPenaltyIgnore": 0, "stressRecoveryBonus": 0, "postUseStaminaDamage": 0,
+ "wdHealthMod": 0, "wdResolveMod": 0, "wdStatPhysicalMod": 0, "wdSkillAllMod": 0,
+ "wdPanicReduction": 0, "wdInjuryPenaltyIgnore": 0, "wdStressRecoveryBonus": 0, "wdPostUseStaminaDamage": 0,
+ "skillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "wdSkillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "initiativeMod": 0, "equipped": false
+ }
+ },
+ {
+ "name": "Cutting Charge",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/equipment/equip-cutting-charge.svg",
+ "system": {
+ "description": "A shaped explosive charge designed for breaching. Adheres to any surface and detonates directionally. Cuts through a standard door in one detonation. Armoured doors require a Crafting roll (difficulty 2). Timer or remote detonation.",
+ "isDrug": false, "quantity": 1, "cost": 120, "weight": 1, "active": false,
+ "activeDuration": "", "activeLabel": "", "activeNotes": "",
+ "withdrawalActive": false, "withdrawalDuration": "", "withdrawalLabel": "", "withdrawalNotes": "",
+ "healthMod": 0, "resolveMod": 0, "statPhysicalMod": 0, "skillAllMod": 0,
+ "panicReduction": 0, "injuryPenaltyIgnore": 0, "stressRecoveryBonus": 0, "postUseStaminaDamage": 0,
+ "wdHealthMod": 0, "wdResolveMod": 0, "wdStatPhysicalMod": 0, "wdSkillAllMod": 0,
+ "wdPanicReduction": 0, "wdInjuryPenaltyIgnore": 0, "wdStressRecoveryBonus": 0, "wdPostUseStaminaDamage": 0,
+ "skillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "wdSkillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "initiativeMod": 0, "equipped": false
+ }
+ },
+ {
+ "name": "Klippo Multi-Band Communicator",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/equipment/equip-comms.svg",
+ "system": {
+ "description": "A military-grade encrypted multi-band radio. Communicates on SLA operative frequencies, civilian bands, and emergency channels. Encrypted transmissions cannot be monitored without SLA-level decryption hardware.",
+ "isDrug": false, "quantity": 1, "cost": 200, "weight": 1, "active": false,
+ "activeDuration": "", "activeLabel": "", "activeNotes": "",
+ "withdrawalActive": false, "withdrawalDuration": "", "withdrawalLabel": "", "withdrawalNotes": "",
+ "healthMod": 0, "resolveMod": 0, "statPhysicalMod": 0, "skillAllMod": 0,
+ "panicReduction": 0, "injuryPenaltyIgnore": 0, "stressRecoveryBonus": 0, "postUseStaminaDamage": 0,
+ "wdHealthMod": 0, "wdResolveMod": 0, "wdStatPhysicalMod": 0, "wdSkillAllMod": 0,
+ "wdPanicReduction": 0, "wdInjuryPenaltyIgnore": 0, "wdStressRecoveryBonus": 0, "wdPostUseStaminaDamage": 0,
+ "skillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":1,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "wdSkillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "initiativeMod": 0, "equipped": false
+ }
+ },
+ {
+ "name": "Disposable Camera Drone",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/equipment/equip-drone.svg",
+ "system": {
+ "description": "A small quadrotor reconnaissance drone. Controlled via wrist unit, feeds live video to the operator. Silent at low altitude. Range 200m. Battery lasts 20 minutes. Disposable — not intended for recovery. +2 dice on Observation rolls when drone is deployed.",
+ "isDrug": false, "quantity": 1, "cost": 180, "weight": 1, "active": false,
+ "activeDuration": "1 scene (20 min)", "activeLabel": "Drone Deployed",
+ "activeNotes": "+2 dice Observation. Covers areas the operative cannot physically access.",
+ "withdrawalActive": false, "withdrawalDuration": "", "withdrawalLabel": "", "withdrawalNotes": "",
+ "healthMod": 0, "resolveMod": 0, "statPhysicalMod": 0, "skillAllMod": 0,
+ "panicReduction": 0, "injuryPenaltyIgnore": 0, "stressRecoveryBonus": 0, "postUseStaminaDamage": 0,
+ "wdHealthMod": 0, "wdResolveMod": 0, "wdStatPhysicalMod": 0, "wdSkillAllMod": 0,
+ "wdPanicReduction": 0, "wdInjuryPenaltyIgnore": 0, "wdStressRecoveryBonus": 0, "wdPostUseStaminaDamage": 0,
+ "skillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":2,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "wdSkillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "initiativeMod": 0, "equipped": false
+ }
+ },
+ {
+ "name": "Field Tool Kit",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/equipment/equip-toolkit.svg",
+ "system": {
+ "description": "A compact tool roll containing multi-tools, wire cutters, lock picks, diagnostic scanner, and patch materials. Required for most Crafting rolls involving mechanical or electronic systems. Without a toolkit, Crafting checks are at -2 dice.",
+ "isDrug": false, "quantity": 1, "cost": 150, "weight": 2, "active": false,
+ "activeDuration": "", "activeLabel": "", "activeNotes": "",
+ "withdrawalActive": false, "withdrawalDuration": "", "withdrawalLabel": "", "withdrawalNotes": "",
+ "healthMod": 0, "resolveMod": 0, "statPhysicalMod": 0, "skillAllMod": 0,
+ "panicReduction": 0, "injuryPenaltyIgnore": 0, "stressRecoveryBonus": 0, "postUseStaminaDamage": 0,
+ "wdHealthMod": 0, "wdResolveMod": 0, "wdStatPhysicalMod": 0, "wdSkillAllMod": 0,
+ "wdPanicReduction": 0, "wdInjuryPenaltyIgnore": 0, "wdStressRecoveryBonus": 0, "wdPostUseStaminaDamage": 0,
+ "skillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":2,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "wdSkillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "initiativeMod": 0, "equipped": false
+ }
+ },
+ {
+ "name": "Encrypted Comms Unit",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/equipment/equip-comms.svg",
+ "system": {
+ "description": "A compact earpiece and throat mic with encrypted SLA-frequency transmission. Squad-range communication without risk of civilian monitoring. Standard issue for most SLA operative squads.",
+ "isDrug": false, "quantity": 1, "cost": 80, "weight": 0, "active": false,
+ "activeDuration": "", "activeLabel": "", "activeNotes": "",
+ "withdrawalActive": false, "withdrawalDuration": "", "withdrawalLabel": "", "withdrawalNotes": "",
+ "healthMod": 0, "resolveMod": 0, "statPhysicalMod": 0, "skillAllMod": 0,
+ "panicReduction": 0, "injuryPenaltyIgnore": 0, "stressRecoveryBonus": 0, "postUseStaminaDamage": 0,
+ "wdHealthMod": 0, "wdResolveMod": 0, "wdStatPhysicalMod": 0, "wdSkillAllMod": 0,
+ "wdPanicReduction": 0, "wdInjuryPenaltyIgnore": 0, "wdStressRecoveryBonus": 0, "wdPostUseStaminaDamage": 0,
+ "skillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "wdSkillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "initiativeMod": 0, "equipped": false
+ }
+ },
+ {
+ "name": "UV/Multi-Spectrum Torch",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/equipment/equip-toolkit.svg",
+ "system": {
+ "description": "A compact torch with UV, infrared, and visible-light modes. UV mode reveals forensic evidence, blood trails, and certain biogenetic signatures. IR mode functions as basic night vision at Short range. +1 die to Observation in low-light conditions.",
+ "isDrug": false, "quantity": 1, "cost": 60, "weight": 0, "active": false,
+ "activeDuration": "", "activeLabel": "", "activeNotes": "",
+ "withdrawalActive": false, "withdrawalDuration": "", "withdrawalLabel": "", "withdrawalNotes": "",
+ "healthMod": 0, "resolveMod": 0, "statPhysicalMod": 0, "skillAllMod": 0,
+ "panicReduction": 0, "injuryPenaltyIgnore": 0, "stressRecoveryBonus": 0, "postUseStaminaDamage": 0,
+ "wdHealthMod": 0, "wdResolveMod": 0, "wdStatPhysicalMod": 0, "wdSkillAllMod": 0,
+ "wdPanicReduction": 0, "wdInjuryPenaltyIgnore": 0, "wdStressRecoveryBonus": 0, "wdPostUseStaminaDamage": 0,
+ "skillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":1,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "wdSkillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "initiativeMod": 0, "equipped": false
+ }
+ },
+ {
+ "name": "Oyster Card (ITB Access)",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/equipment/equip-comms.svg",
+ "system": {
+ "description": "An ITB-issued corporate access card. Grants entry to ITB-managed facilities, transit networks, and SLA approved zones. Cards can be cloned, forged, or reprogrammed with a Crafting roll (difficulty 3). A real one is worth considerably more than what ITB charges for it.",
+ "isDrug": false, "quantity": 1, "cost": 50, "weight": 0, "active": false,
+ "activeDuration": "", "activeLabel": "", "activeNotes": "",
+ "withdrawalActive": false, "withdrawalDuration": "", "withdrawalLabel": "", "withdrawalNotes": "",
+ "healthMod": 0, "resolveMod": 0, "statPhysicalMod": 0, "skillAllMod": 0,
+ "panicReduction": 0, "injuryPenaltyIgnore": 0, "stressRecoveryBonus": 0, "postUseStaminaDamage": 0,
+ "wdHealthMod": 0, "wdResolveMod": 0, "wdStatPhysicalMod": 0, "wdSkillAllMod": 0,
+ "wdPanicReduction": 0, "wdInjuryPenaltyIgnore": 0, "wdStressRecoveryBonus": 0, "wdPostUseStaminaDamage": 0,
+ "skillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "wdSkillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "initiativeMod": 0, "equipped": false
+ }
+ },
+ {
+ "name": "Duct Tape (Heavy Duty)",
+ "type": "equipment",
+ "img": "systems/zero-engine/assets/icons/equipment/equip-toolkit.svg",
+ "system": {
+ "description": "Three metres of military-grade adhesive tape. Can temporarily seal wounds (stops Bleeding as an action, no roll required), restrain a prisoner, patch a breach suit, or fix a vehicle component. The most useful item in any kit, according to every veteran who's ever survived.",
+ "isDrug": false, "quantity": 1, "cost": 5, "weight": 0, "active": false,
+ "activeDuration": "", "activeLabel": "", "activeNotes": "",
+ "withdrawalActive": false, "withdrawalDuration": "", "withdrawalLabel": "", "withdrawalNotes": "",
+ "healthMod": 0, "resolveMod": 0, "statPhysicalMod": 0, "skillAllMod": 0,
+ "panicReduction": 0, "injuryPenaltyIgnore": 0, "stressRecoveryBonus": 0, "postUseStaminaDamage": 0,
+ "wdHealthMod": 0, "wdResolveMod": 0, "wdStatPhysicalMod": 0, "wdSkillAllMod": 0,
+ "wdPanicReduction": 0, "wdInjuryPenaltyIgnore": 0, "wdStressRecoveryBonus": 0, "wdPostUseStaminaDamage": 0,
+ "skillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "wdSkillMods": { "force":0,"melee":0,"stamina":0,"marksmanship":0,"mobility":0,"stealth":0,"crafting":0,"observation":0,"survival":0,"healing":0,"insight":0,"persuasion":0 },
+ "initiativeMod": 0, "equipped": false
+ }
+ }
+]
diff --git a/packs/sla-ammo/000004.log b/packs/sla-ammo/000004.log
new file mode 100644
index 0000000..e69de29
diff --git a/packs/sla-ammo/000005.ldb b/packs/sla-ammo/000005.ldb
new file mode 100644
index 0000000..135c2f0
Binary files /dev/null and b/packs/sla-ammo/000005.ldb differ
diff --git a/packs/sla-ammo/CURRENT b/packs/sla-ammo/CURRENT
new file mode 100644
index 0000000..1a84852
--- /dev/null
+++ b/packs/sla-ammo/CURRENT
@@ -0,0 +1 @@
+MANIFEST-000002
diff --git a/packs/sla-ammo/LOG b/packs/sla-ammo/LOG
new file mode 100644
index 0000000..3c74758
--- /dev/null
+++ b/packs/sla-ammo/LOG
@@ -0,0 +1,5 @@
+2026/06/02-16:17:33.002038 16fa27000 Delete type=3 #1
+2026/06/02-16:17:33.002371 16fab3000 Level-0 table #5: started
+2026/06/02-16:17:33.002524 16fab3000 Level-0 table #5: 4300 bytes OK
+2026/06/02-16:17:33.002579 16fab3000 Delete type=0 #3
+2026/06/02-16:17:33.002621 16fab3000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end)
diff --git a/packs/sla-ammo/MANIFEST-000002 b/packs/sla-ammo/MANIFEST-000002
new file mode 100644
index 0000000..adc9a87
Binary files /dev/null and b/packs/sla-ammo/MANIFEST-000002 differ
diff --git a/packs/sla-armors/000005.ldb b/packs/sla-armors/000005.ldb
index 650c59b..32d353b 100644
Binary files a/packs/sla-armors/000005.ldb and b/packs/sla-armors/000005.ldb differ
diff --git a/packs/sla-armors/LOG b/packs/sla-armors/LOG
index 43f9e1e..974cf37 100644
--- a/packs/sla-armors/LOG
+++ b/packs/sla-armors/LOG
@@ -1,5 +1,5 @@
-2026/06/02-15:55:36.986965 1707d3000 Delete type=3 #1
-2026/06/02-15:55:36.988040 171877000 Level-0 table #5: started
-2026/06/02-15:55:36.988227 171877000 Level-0 table #5: 1683 bytes OK
-2026/06/02-15:55:36.988301 171877000 Delete type=0 #3
-2026/06/02-15:55:36.988366 171877000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end)
+2026/06/02-16:17:32.985672 16ea0f000 Delete type=3 #1
+2026/06/02-16:17:32.987564 16fab3000 Level-0 table #5: started
+2026/06/02-16:17:32.987829 16fab3000 Level-0 table #5: 5350 bytes OK
+2026/06/02-16:17:32.987905 16fab3000 Delete type=0 #3
+2026/06/02-16:17:32.987952 16fab3000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end)
diff --git a/packs/sla-armors/MANIFEST-000002 b/packs/sla-armors/MANIFEST-000002
index c235e97..035c91d 100644
Binary files a/packs/sla-armors/MANIFEST-000002 and b/packs/sla-armors/MANIFEST-000002 differ
diff --git a/packs/sla-drugs/000005.ldb b/packs/sla-drugs/000005.ldb
index 4602bcb..0340ac6 100644
Binary files a/packs/sla-drugs/000005.ldb and b/packs/sla-drugs/000005.ldb differ
diff --git a/packs/sla-drugs/LOG b/packs/sla-drugs/LOG
index dd80f30..f988510 100644
--- a/packs/sla-drugs/LOG
+++ b/packs/sla-drugs/LOG
@@ -1,5 +1,5 @@
-2026/06/02-15:55:36.989985 170fdf000 Delete type=3 #1
-2026/06/02-15:55:36.990569 171877000 Level-0 table #5: started
-2026/06/02-15:55:36.990733 171877000 Level-0 table #5: 4558 bytes OK
-2026/06/02-15:55:36.990788 171877000 Delete type=0 #3
-2026/06/02-15:55:36.990829 171877000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end)
+2026/06/02-16:17:32.990714 16f21b000 Delete type=3 #1
+2026/06/02-16:17:32.991296 16fab3000 Level-0 table #5: started
+2026/06/02-16:17:32.991516 16fab3000 Level-0 table #5: 11039 bytes OK
+2026/06/02-16:17:32.991568 16fab3000 Delete type=0 #3
+2026/06/02-16:17:32.991605 16fab3000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end)
diff --git a/packs/sla-drugs/MANIFEST-000002 b/packs/sla-drugs/MANIFEST-000002
index ed46984..123106b 100644
Binary files a/packs/sla-drugs/MANIFEST-000002 and b/packs/sla-drugs/MANIFEST-000002 differ
diff --git a/packs/sla-ebb-formulae/000005.ldb b/packs/sla-ebb-formulae/000005.ldb
index 74ee5a8..c58ed8d 100644
Binary files a/packs/sla-ebb-formulae/000005.ldb and b/packs/sla-ebb-formulae/000005.ldb differ
diff --git a/packs/sla-ebb-formulae/LOG b/packs/sla-ebb-formulae/LOG
index adf2360..db40b76 100644
--- a/packs/sla-ebb-formulae/LOG
+++ b/packs/sla-ebb-formulae/LOG
@@ -1,5 +1,5 @@
-2026/06/02-15:55:36.992268 1717eb000 Delete type=3 #1
-2026/06/02-15:55:36.993338 171877000 Level-0 table #5: started
-2026/06/02-15:55:36.993814 171877000 Level-0 table #5: 15523 bytes OK
-2026/06/02-15:55:36.993886 171877000 Delete type=0 #3
-2026/06/02-15:55:36.993939 171877000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end)
+2026/06/02-16:17:32.993189 16f21b000 Delete type=3 #1
+2026/06/02-16:17:32.993878 16fab3000 Level-0 table #5: started
+2026/06/02-16:17:32.994236 16fab3000 Level-0 table #5: 15620 bytes OK
+2026/06/02-16:17:32.994290 16fab3000 Delete type=0 #3
+2026/06/02-16:17:32.994330 16fab3000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end)
diff --git a/packs/sla-ebb-formulae/MANIFEST-000002 b/packs/sla-ebb-formulae/MANIFEST-000002
index a6fa78a..f08c542 100644
Binary files a/packs/sla-ebb-formulae/MANIFEST-000002 and b/packs/sla-ebb-formulae/MANIFEST-000002 differ
diff --git a/packs/sla-equipment/000004.log b/packs/sla-equipment/000004.log
new file mode 100644
index 0000000..e69de29
diff --git a/packs/sla-equipment/000005.ldb b/packs/sla-equipment/000005.ldb
new file mode 100644
index 0000000..3bb164f
Binary files /dev/null and b/packs/sla-equipment/000005.ldb differ
diff --git a/packs/sla-equipment/CURRENT b/packs/sla-equipment/CURRENT
new file mode 100644
index 0000000..1a84852
--- /dev/null
+++ b/packs/sla-equipment/CURRENT
@@ -0,0 +1 @@
+MANIFEST-000002
diff --git a/packs/sla-equipment/LOG b/packs/sla-equipment/LOG
new file mode 100644
index 0000000..1318f63
--- /dev/null
+++ b/packs/sla-equipment/LOG
@@ -0,0 +1,5 @@
+2026/06/02-16:17:33.000500 16e203000 Delete type=3 #1
+2026/06/02-16:17:33.000969 16fab3000 Level-0 table #5: started
+2026/06/02-16:17:33.001103 16fab3000 Level-0 table #5: 6849 bytes OK
+2026/06/02-16:17:33.001147 16fab3000 Delete type=0 #3
+2026/06/02-16:17:33.001183 16fab3000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end)
diff --git a/packs/sla-equipment/MANIFEST-000002 b/packs/sla-equipment/MANIFEST-000002
new file mode 100644
index 0000000..678c938
Binary files /dev/null and b/packs/sla-equipment/MANIFEST-000002 differ
diff --git a/packs/sla-specialties/000005.ldb b/packs/sla-specialties/000005.ldb
index ad20633..34119b6 100644
Binary files a/packs/sla-specialties/000005.ldb and b/packs/sla-specialties/000005.ldb differ
diff --git a/packs/sla-specialties/LOG b/packs/sla-specialties/LOG
index 293d4c6..258bc6c 100644
--- a/packs/sla-specialties/LOG
+++ b/packs/sla-specialties/LOG
@@ -1,5 +1,5 @@
-2026/06/02-15:55:36.995404 16ffc7000 Delete type=3 #1
-2026/06/02-15:55:36.995915 171877000 Level-0 table #5: started
-2026/06/02-15:55:36.996040 171877000 Level-0 table #5: 6406 bytes OK
-2026/06/02-15:55:36.996093 171877000 Delete type=0 #3
-2026/06/02-15:55:36.996134 171877000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end)
+2026/06/02-16:17:32.995778 16e203000 Delete type=3 #1
+2026/06/02-16:17:32.996262 16fab3000 Level-0 table #5: started
+2026/06/02-16:17:32.996438 16fab3000 Level-0 table #5: 6551 bytes OK
+2026/06/02-16:17:32.996508 16fab3000 Delete type=0 #3
+2026/06/02-16:17:32.996579 16fab3000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end)
diff --git a/packs/sla-specialties/MANIFEST-000002 b/packs/sla-specialties/MANIFEST-000002
index 45c22b7..e1bf37d 100644
Binary files a/packs/sla-specialties/MANIFEST-000002 and b/packs/sla-specialties/MANIFEST-000002 differ
diff --git a/packs/sla-weapons/000005.ldb b/packs/sla-weapons/000005.ldb
index 3fa506e..b26e214 100644
Binary files a/packs/sla-weapons/000005.ldb and b/packs/sla-weapons/000005.ldb differ
diff --git a/packs/sla-weapons/LOG b/packs/sla-weapons/LOG
index b0caf95..0dcddcb 100644
--- a/packs/sla-weapons/LOG
+++ b/packs/sla-weapons/LOG
@@ -1,5 +1,5 @@
-2026/06/02-16:04:21.868644 16eca3000 Delete type=3 #1
-2026/06/02-16:04:21.869213 170553000 Level-0 table #5: started
-2026/06/02-16:04:21.869361 170553000 Level-0 table #5: 6884 bytes OK
-2026/06/02-16:04:21.869414 170553000 Delete type=0 #3
-2026/06/02-16:04:21.869449 170553000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end)
+2026/06/02-16:17:32.998002 16e203000 Delete type=3 #1
+2026/06/02-16:17:32.999046 16fab3000 Level-0 table #5: started
+2026/06/02-16:17:32.999397 16fab3000 Level-0 table #5: 13003 bytes OK
+2026/06/02-16:17:32.999471 16fab3000 Delete type=0 #3
+2026/06/02-16:17:32.999517 16fab3000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end)
diff --git a/packs/sla-weapons/MANIFEST-000002 b/packs/sla-weapons/MANIFEST-000002
index 0ff1da2..e2f47cb 100644
Binary files a/packs/sla-weapons/MANIFEST-000002 and b/packs/sla-weapons/MANIFEST-000002 differ
diff --git a/packs/weapons.json b/packs/weapons.json
index 229d52b..03a4d26 100644
--- a/packs/weapons.json
+++ b/packs/weapons.json
@@ -13,7 +13,9 @@
"ap": 0,
"magazine": 6,
"ammo": 6,
- "fireModes": ["single"],
+ "fireModes": [
+ "single"
+ ],
"gearBonus": 0,
"autoAmmoUse": 0,
"ammoType": "standard",
@@ -39,7 +41,10 @@
"ap": 0,
"magazine": 30,
"ammo": 30,
- "fireModes": ["single", "auto"],
+ "fireModes": [
+ "single",
+ "auto"
+ ],
"gearBonus": 0,
"autoAmmoUse": 8,
"ammoType": "standard",
@@ -65,7 +70,9 @@
"ap": 1,
"magazine": 12,
"ammo": 12,
- "fireModes": ["single"],
+ "fireModes": [
+ "single"
+ ],
"gearBonus": 1,
"autoAmmoUse": 0,
"ammoType": "standard",
@@ -91,7 +98,9 @@
"ap": 4,
"magazine": 5,
"ammo": 5,
- "fireModes": ["single"],
+ "fireModes": [
+ "single"
+ ],
"gearBonus": 2,
"autoAmmoUse": 0,
"ammoType": "standard",
@@ -117,7 +126,10 @@
"ap": 0,
"magazine": 24,
"ammo": 24,
- "fireModes": ["single", "auto"],
+ "fireModes": [
+ "single",
+ "auto"
+ ],
"gearBonus": 0,
"autoAmmoUse": 8,
"ammoType": "standard",
@@ -134,7 +146,7 @@
"type": "weapon",
"img": "systems/zero-engine/assets/icons/weapons/weapon-fen-706.svg",
"system": {
- "description": "A rotary-barrel heavy weapon that fires high-velocity rounds at catastrophic volume. The Power Reaper is not a precision instrument — it is a statement. Requires a harness or mounting point to use effectively.",
+ "description": "A rotary-barrel heavy weapon that fires high-velocity rounds at catastrophic volume. The Power Reaper is not a precision instrument \u2014 it is a statement. Requires a harness or mounting point to use effectively.",
"weaponType": "HW",
"category": "ranged",
"damage": 5,
@@ -143,7 +155,9 @@
"ap": 2,
"magazine": 100,
"ammo": 100,
- "fireModes": ["auto"],
+ "fireModes": [
+ "auto"
+ ],
"gearBonus": 0,
"autoAmmoUse": 15,
"ammoType": "standard",
@@ -169,7 +183,11 @@
"ap": 1,
"magazine": 30,
"ammo": 30,
- "fireModes": ["single", "burst", "auto"],
+ "fireModes": [
+ "single",
+ "burst",
+ "auto"
+ ],
"gearBonus": 0,
"autoAmmoUse": 8,
"ammoType": "standard",
@@ -195,7 +213,10 @@
"ap": 2,
"magazine": 20,
"ammo": 20,
- "fireModes": ["single", "burst"],
+ "fireModes": [
+ "single",
+ "burst"
+ ],
"gearBonus": 2,
"autoAmmoUse": 0,
"ammoType": "standard",
@@ -221,7 +242,10 @@
"ap": 1,
"magazine": 20,
"ammo": 20,
- "fireModes": ["single", "burst"],
+ "fireModes": [
+ "single",
+ "burst"
+ ],
"gearBonus": 1,
"autoAmmoUse": 0,
"ammoType": "standard",
@@ -273,7 +297,9 @@
"ap": 0,
"magazine": 8,
"ammo": 8,
- "fireModes": ["single"],
+ "fireModes": [
+ "single"
+ ],
"gearBonus": 0,
"autoAmmoUse": 0,
"ammoType": "standard",
@@ -368,7 +394,7 @@
"type": "weapon",
"img": "systems/zero-engine/assets/icons/weapons/weapon-sla-blade.svg",
"system": {
- "description": "Standard single-handed combat blade issued across SLA operative divisions. A straight, single-edged weapon optimised for quick thrusting attacks. Reliable, balanced, and unremarkable — exactly as intended.",
+ "description": "Standard single-handed combat blade issued across SLA operative divisions. A straight, single-edged weapon optimised for quick thrusting attacks. Reliable, balanced, and unremarkable \u2014 exactly as intended.",
"weaponType": "Blade",
"category": "melee",
"damage": 3,
@@ -394,7 +420,7 @@
"type": "weapon",
"img": "systems/zero-engine/assets/icons/weapons/weapon-vibro-sabre.svg",
"system": {
- "description": "A curved sabre with a high-frequency vibration spine that disrupts molecular cohesion on contact. The Vibro Sabre cuts through armour as easily as flesh. The whine it produces before a strike is unmistakable — and terrifying.",
+ "description": "A curved sabre with a high-frequency vibration spine that disrupts molecular cohesion on contact. The Vibro Sabre cuts through armour as easily as flesh. The whine it produces before a strike is unmistakable \u2014 and terrifying.",
"weaponType": "Blade",
"category": "melee",
"damage": 3,
@@ -414,5 +440,444 @@
"equipped": false,
"ammoEmpty": false
}
+ },
+ {
+ "name": "GA 50 Finisher",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-fen-204.svg",
+ "system": {
+ "description": "A heavy-frame semi-automatic pistol firing .50 calibre rounds. Slower than lighter sidearms but hits significantly harder. Standard sidearm for SLA special division operatives.",
+ "weaponType": "Pistol",
+ "category": "ranged",
+ "damage": 3,
+ "range": "Short",
+ "rof": 1,
+ "ap": 1,
+ "magazine": 8,
+ "ammo": 8,
+ "fireModes": [
+ "single"
+ ],
+ "gearBonus": 1,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": ".50",
+ "roundType": "standard",
+ "cost": 700,
+ "initiativeMod": 0,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "FEN 401 Shiver Pistol",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-pistol.svg",
+ "system": {
+ "description": "Standard-issue sidearm for SLA law enforcement and Shivers. Reliable, accurate, and built to survive being dropped in a drain. Nothing special \u2014 which is exactly what CAF wanted.",
+ "weaponType": "Pistol",
+ "category": "ranged",
+ "damage": 2,
+ "range": "Short",
+ "rof": 2,
+ "ap": 0,
+ "magazine": 12,
+ "ammo": 12,
+ "fireModes": [
+ "single"
+ ],
+ "gearBonus": 0,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": "9mm",
+ "roundType": "standard",
+ "cost": 280,
+ "initiativeMod": 0,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "FEN 209 Machine Pistol",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-fen-603.svg",
+ "system": {
+ "description": "A fully-automatic machine pistol. Fires 3mm rounds at high velocity from a compact frame. Devastating in close quarters; nearly useless beyond that. Favoured by operatives who need concealment over reach.",
+ "weaponType": "Machine Pistol",
+ "category": "ranged",
+ "damage": 2,
+ "range": "Short",
+ "rof": 4,
+ "ap": 0,
+ "magazine": 20,
+ "ammo": 20,
+ "fireModes": [
+ "single",
+ "auto"
+ ],
+ "gearBonus": 0,
+ "autoAmmoUse": 8,
+ "ammoType": "standard",
+ "caliber": "3mm",
+ "roundType": "standard",
+ "cost": 380,
+ "initiativeMod": 0,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "FEN 981 Sniper Rifle",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-sniper-rifle.svg",
+ "system": {
+ "description": "A bolt-action precision rifle with integrated suppressor, large magnification scope, and bipod. The FEN 981 is the weapon of choice for long-range elimination. Requires a prepared position and patience.",
+ "weaponType": "Sniper Rifle",
+ "category": "ranged",
+ "damage": 5,
+ "range": "Extreme",
+ "rof": 1,
+ "ap": 2,
+ "magazine": 10,
+ "ammo": 10,
+ "fireModes": [
+ "single"
+ ],
+ "gearBonus": 2,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": "8mm",
+ "roundType": "standard",
+ "cost": 2000,
+ "initiativeMod": -1,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "FEN 701 Urban Carbine",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-ga-9443.svg",
+ "system": {
+ "description": "A compact carbine designed for urban operations. Short enough for vehicle use, powerful enough for street-level engagements. Used extensively by SLA rapid response teams.",
+ "weaponType": "Carbine",
+ "category": "ranged",
+ "damage": 3,
+ "range": "Long",
+ "rof": 2,
+ "ap": 1,
+ "magazine": 24,
+ "ammo": 24,
+ "fireModes": [
+ "single",
+ "burst"
+ ],
+ "gearBonus": 0,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": "7mm",
+ "roundType": "standard",
+ "cost": 850,
+ "initiativeMod": 0,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "FEN 10 Street Sweeper",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-auto-shotgun.svg",
+ "system": {
+ "description": "A drum-fed automatic shotgun. The Street Sweeper fires 12-gauge rounds from a 12-round drum at semi-automatic speed. At close range it is catastrophic. At any other range it is mostly theatrical.",
+ "weaponType": "Shotgun",
+ "category": "ranged",
+ "damage": 4,
+ "range": "Short",
+ "rof": 2,
+ "ap": 0,
+ "magazine": 12,
+ "ammo": 12,
+ "fireModes": [
+ "single",
+ "burst"
+ ],
+ "gearBonus": 0,
+ "autoAmmoUse": 4,
+ "ammoType": "standard",
+ "caliber": "12g",
+ "roundType": "standard",
+ "cost": 900,
+ "initiativeMod": 0,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "FEN Reaper LMG",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-lmg.svg",
+ "system": {
+ "description": "A belt-fed light machine gun. The Reaper provides sustained suppressive fire. Fires until the belt runs out or the operator passes out \u2014 whichever comes first. Requires a bipod or resting position to use accurately.",
+ "weaponType": "LMG",
+ "category": "ranged",
+ "damage": 4,
+ "range": "Long",
+ "rof": 4,
+ "ap": 1,
+ "magazine": 100,
+ "ammo": 100,
+ "fireModes": [
+ "auto"
+ ],
+ "gearBonus": 0,
+ "autoAmmoUse": 10,
+ "ammoType": "standard",
+ "caliber": "7mm",
+ "roundType": "standard",
+ "cost": 2200,
+ "initiativeMod": -1,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "MILA Grenade Launcher",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-grenade-launcher.svg",
+ "system": {
+ "description": "A six-round revolving cylinder grenade launcher. Fires 40mm fragmentation, smoke, or stun grenades. The MILA is a crowd-control and area-denial weapon. Anything within its blast radius disagrees with the concept of cover.",
+ "weaponType": "Launcher",
+ "category": "ranged",
+ "damage": 5,
+ "range": "Long",
+ "rof": 1,
+ "ap": 1,
+ "magazine": 6,
+ "ammo": 6,
+ "fireModes": [
+ "single"
+ ],
+ "gearBonus": 0,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": "40mm",
+ "roundType": "HE",
+ "cost": 1800,
+ "initiativeMod": -1,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "ITB Mutilator Sword",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-mutilator-sword.svg",
+ "system": {
+ "description": "A two-handed chain-edged claymore produced by ITB. The motorised chain teeth run continuously along both edges. It does not cut \u2014 it tears. Wounds from a Mutilator are extremely difficult to stabilise.",
+ "weaponType": "Blade",
+ "category": "melee",
+ "damage": 4,
+ "range": "Engaged",
+ "rof": 1,
+ "ap": 2,
+ "magazine": 0,
+ "ammo": 0,
+ "fireModes": [],
+ "gearBonus": 1,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": "",
+ "roundType": "standard",
+ "cost": 850,
+ "initiativeMod": -1,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "Chainaxe",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-chainaxe.svg",
+ "system": {
+ "description": "A one-handed axe with a motorised chain running along the blade edge. The Chainaxe is louder than it needs to be. This is intentional. Favoured by Frothers and anyone who wants witnesses.",
+ "weaponType": "Axe",
+ "category": "melee",
+ "damage": 3,
+ "range": "Engaged",
+ "rof": 2,
+ "ap": 1,
+ "magazine": 0,
+ "ammo": 0,
+ "fireModes": [],
+ "gearBonus": 0,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": "",
+ "roundType": "standard",
+ "cost": 460,
+ "initiativeMod": 0,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "Chainsaw (Improvised)",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-chainsaw.svg",
+ "system": {
+ "description": "An industrial power tool repurposed as a close-range weapon. Technically not a weapon. Technically. On a fumble, the operator takes 1d3 damage instead of the target.",
+ "weaponType": "Improvised",
+ "category": "melee",
+ "damage": 4,
+ "range": "Engaged",
+ "rof": 1,
+ "ap": 0,
+ "magazine": 0,
+ "ammo": 0,
+ "fireModes": [],
+ "gearBonus": 0,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": "",
+ "roundType": "standard",
+ "cost": 120,
+ "initiativeMod": -1,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "Riot Shield",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-riot-shield.svg",
+ "system": {
+ "description": "A full-body ballistic shield used by Shivers and riot control units. While carried, the user gains +1 automatic armour against ranged attacks from the front. Can be used to bash for 1d4 damage.",
+ "weaponType": "Shield",
+ "category": "melee",
+ "damage": 2,
+ "range": "Engaged",
+ "rof": 1,
+ "ap": 0,
+ "magazine": 0,
+ "ammo": 0,
+ "fireModes": [],
+ "gearBonus": 0,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": "",
+ "roundType": "standard",
+ "cost": 300,
+ "initiativeMod": 0,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "Fragmentation Grenade",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-grenade.svg",
+ "system": {
+ "description": "A standard-pattern fragmentation grenade. On detonation, everyone within Short range takes DMG 3 (no armour dice, only auto). Between Short and Medium range takes DMG 1. Roll Mobility vs difficulty 2 to avoid the blast zone.",
+ "weaponType": "Grenade",
+ "category": "ranged",
+ "damage": 3,
+ "range": "Short",
+ "rof": 1,
+ "ap": 0,
+ "magazine": 1,
+ "ammo": 1,
+ "fireModes": [
+ "single"
+ ],
+ "gearBonus": 0,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": "40mm",
+ "roundType": "HE",
+ "cost": 80,
+ "initiativeMod": 0,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "Stun Grenade",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-stun-grenade.svg",
+ "system": {
+ "description": "A flashbang/stun grenade. On detonation, all targets within Short range must pass a Stamina roll (difficulty 2) or gain the Stunned condition (-3 dice to all rolls until end of next turn). No physical damage.",
+ "weaponType": "Grenade",
+ "category": "ranged",
+ "damage": 0,
+ "range": "Short",
+ "rof": 1,
+ "ap": 0,
+ "magazine": 1,
+ "ammo": 1,
+ "fireModes": [
+ "single"
+ ],
+ "gearBonus": 0,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": "40mm",
+ "roundType": "standard",
+ "cost": 60,
+ "initiativeMod": 0,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "Ebb Sword",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-ebb-sword.svg",
+ "system": {
+ "description": "A blade channelled with focused Ebb energy. The weapon strikes with physical force and Ebb disruption simultaneously. Only Ebon and Brain Waster operatives can maintain the Ebb channel required to use it at full effectiveness. Others can wield it but gain no Ebb bonus.",
+ "weaponType": "Blade",
+ "category": "melee",
+ "damage": 3,
+ "range": "Engaged",
+ "rof": 2,
+ "ap": 2,
+ "magazine": 0,
+ "ammo": 0,
+ "fireModes": [],
+ "gearBonus": 1,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": "",
+ "roundType": "standard",
+ "cost": 1200,
+ "initiativeMod": 0,
+ "equipped": false,
+ "ammoEmpty": false
+ }
+ },
+ {
+ "name": "Stormer Chuckleduster",
+ "type": "weapon",
+ "img": "systems/zero-engine/assets/icons/weapons/weapon-gash-fist.svg",
+ "system": {
+ "description": "A reinforced brass-knuckle weapon scaled for Stormer-class physiques. The mass and density of the weapon combined with a Stormer's natural strength make it capable of structural damage. The name was coined by the first squad to use one.",
+ "weaponType": "Natural",
+ "category": "melee",
+ "damage": 4,
+ "range": "Engaged",
+ "rof": 2,
+ "ap": 0,
+ "magazine": 0,
+ "ammo": 0,
+ "fireModes": [],
+ "gearBonus": 0,
+ "autoAmmoUse": 0,
+ "ammoType": "standard",
+ "caliber": "",
+ "roundType": "standard",
+ "cost": 200,
+ "initiativeMod": 0,
+ "equipped": false,
+ "ammoEmpty": false
+ }
}
-]
+]
\ No newline at end of file
diff --git a/system.json b/system.json
index 6cd82e0..3cfb3bd 100644
--- a/system.json
+++ b/system.json
@@ -2,7 +2,7 @@
"id": "zero-engine",
"title": "Zero Engine (SLA Industries)",
"description": "A basic game system for SLA Industries using the Zero Engine rules.",
- "version": "1.3.4",
+ "version": "1.3.5",
"compatibility": {
"minimum": 13,
"verified": "14.359"
@@ -65,6 +65,20 @@
"path": "packs/sla-weapons",
"type": "Item",
"system": "zero-engine"
+ },
+ {
+ "name": "sla-equipment",
+ "label": "SLA Equipment & Gear",
+ "path": "packs/sla-equipment",
+ "type": "Item",
+ "system": "zero-engine"
+ },
+ {
+ "name": "sla-ammo",
+ "label": "SLA Ammunition",
+ "path": "packs/sla-ammo",
+ "type": "Item",
+ "system": "zero-engine"
}
],
"manifest": "https://raw.githubusercontent.com/slaguru666/zero-engine/main/system.json",