diff --git a/assets/icons/armor/armor-body-blocker.svg b/assets/icons/armor/armor-body-blocker.svg new file mode 100644 index 0000000..630660b --- /dev/null +++ b/assets/icons/armor/armor-body-blocker.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/packs/armors.json b/packs/armors.json index 94ab7d6..1cba8e0 100644 --- a/packs/armors.json +++ b/packs/armors.json @@ -1,10 +1,10 @@ [ { - "name": "Downtown Jacket", + "name": "Body Blocker", "type": "armor", - "img": "systems/zero-engine/assets/SLA_Assets/Armor/Downtown Jacket.png", + "img": "systems/zero-engine/assets/icons/armor/armor-body-blocker.svg", "system": { - "description": "Reinforced street jacket with hidden ballistic panels; common among low-level gangers and worried civilians.", + "description": "A slim concealable ballistic vest designed to be worn under civilian clothing. Popular with corporate workers, contract personnel, and anyone who wants protection without advertising it. Lightweight and unobtrusive \u2014 you barely notice it until a round hits.", "armorRating": 1, "armorDice": 1, "armorAuto": 0, @@ -12,7 +12,7 @@ "skillMod": 0, "statModTarget": "", "skillModTarget": "", - "cost": 150, + "cost": 120, "initiativeMod": 0 } }, @@ -33,125 +33,6 @@ "initiativeMod": 0 } }, - { - "name": "Scout Armor", - "type": "armor", - "img": "systems/zero-engine/assets/SLA_Assets/Armor/Scout Armor.png", - "system": { - "description": "Lightweight composite plates over flexible mesh; built for operatives who need to move and climb.", - "armorRating": 3, - "armorDice": 3, - "armorAuto": 1, - "statMod": 1, - "skillMod": 0, - "statModTarget": "agility", - "skillModTarget": "", - "cost": 700, - "initiativeMod": 0 - } - }, - { - "name": "HARD Armor", - "type": "armor", - "img": "systems/zero-engine/assets/SLA_Assets/Armor/Hard Armor.png", - "system": { - "description": "Full-body ceramic and metal laminate suit for frontline combat and urban assaults.", - "armorRating": 4, - "armorDice": 4, - "armorAuto": 2, - "statMod": -1, - "skillMod": 1, - "statModTarget": "agility", - "skillModTarget": "force", - "cost": 1200, - "initiativeMod": 0 - } - }, - { - "name": "Exo-Rig Armor", - "type": "armor", - "img": "systems/zero-engine/assets/SLA_Assets/Armor/Exo Armor.png", - "system": { - "description": "Powered exoskeletal frame with armored plates; massively increases carrying and weapon handling at the cost of finesse.", - "armorRating": 5, - "armorDice": 5, - "armorAuto": 2, - "statMod": 1, - "skillMod": -1, - "statModTarget": "strength", - "skillModTarget": "mobility", - "cost": 3000, - "initiativeMod": 0 - } - }, - { - "name": "Squad Shielded Power Armor", - "type": "armor", - "img": "systems/zero-engine/assets/SLA_Assets/Armor/Squad Shieled Power Armor.png", - "system": { - "description": "Full sealed power armor with integrated energy shielding; rare, expensive, and terrifying on the street.", - "armorRating": 6, - "armorDice": 6, - "armorAuto": 3, - "statMod": 1, - "skillMod": -2, - "statModTarget": "strength", - "skillModTarget": "stealth", - "cost": 8000, - "initiativeMod": 0 - } - }, - { - "name": "Street Clothes", - "type": "armor", - "img": "systems/zero-engine/assets/SLA_Assets/Armor/2nd try/Street Cloths.png", - "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/SLA_Assets/Armor/2nd try/Shiver Flak Vest.png", - "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/SLA_Assets/Armor/2nd try/Shiver.png", - "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", @@ -170,36 +51,36 @@ } }, { - "name": "Shock Armour", + "name": "DN Power Armour", "type": "armor", - "img": "systems/zero-engine/assets/SLA_Assets/Armor/2nd try/Shock Armor.png", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/2nd try/Dark Night Power.png", "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, + "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 } }, { - "name": "Stealth Suit", + "name": "Downtown Jacket", "type": "armor", - "img": "systems/zero-engine/assets/SLA_Assets/Armor/2nd try/Stealth Suit.png", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/Downtown Jacket.png", "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, + "description": "Reinforced street jacket with hidden ballistic panels; common among low-level gangers and worried civilians.", + "armorRating": 1, + "armorDice": 1, "armorAuto": 0, "statMod": 0, - "skillMod": 2, + "skillMod": 0, "statModTarget": "", - "skillModTarget": "stealth", - "cost": 2500, + "skillModTarget": "", + "cost": 150, "initiativeMod": 0 } }, @@ -221,36 +102,53 @@ } }, { - "name": "PP10 HARD Armour", + "name": "Exo-Rig Armor", "type": "armor", - "img": "systems/zero-engine/assets/SLA_Assets/Armor/Hard Armor.png", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/Exo Armor.png", "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.", + "description": "Powered exoskeletal frame with armored plates; massively increases carrying and weapon handling at the cost of finesse.", "armorRating": 5, - "armorDice": 4, + "armorDice": 5, "armorAuto": 2, - "statMod": -1, - "skillMod": 0, - "statModTarget": "agility", - "skillModTarget": "", - "cost": 2800, - "initiativeMod": -1 + "statMod": 1, + "skillMod": -1, + "statModTarget": "strength", + "skillModTarget": "mobility", + "cost": 3000, + "initiativeMod": 0 } }, { - "name": "Light Thresher Suit", + "name": "Full Shiver Armour", "type": "armor", - "img": "systems/zero-engine/assets/SLA_Assets/Armor/2nd try/Light Thresher.png", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/2nd try/Shiver.png", "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.", + "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": "HARD Armor", + "type": "armor", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/Hard Armor.png", + "system": { + "description": "Full-body ceramic and metal laminate suit for frontline combat and urban assaults.", "armorRating": 4, "armorDice": 4, "armorAuto": 2, - "statMod": 0, - "skillMod": -1, - "statModTarget": "", - "skillModTarget": "stealth", - "cost": 3500, + "statMod": -1, + "skillMod": 1, + "statModTarget": "agility", + "skillModTarget": "force", + "cost": 1200, "initiativeMod": 0 } }, @@ -272,19 +170,138 @@ } }, { - "name": "DN Power Armour", + "name": "Light Thresher Suit", "type": "armor", - "img": "systems/zero-engine/assets/SLA_Assets/Armor/2nd try/Dark Night Power.png", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/2nd try/Light Thresher.png", "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, + "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": 1, + "statMod": 0, "skillMod": -1, + "statModTarget": "", + "skillModTarget": "stealth", + "cost": 3500, + "initiativeMod": 0 + } + }, + { + "name": "PP10 HARD Armour", + "type": "armor", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/Hard Armor.png", + "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": "Scout Armor", + "type": "armor", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/Scout Armor.png", + "system": { + "description": "Lightweight composite plates over flexible mesh; built for operatives who need to move and climb.", + "armorRating": 3, + "armorDice": 3, + "armorAuto": 1, + "statMod": 1, + "skillMod": 0, + "statModTarget": "agility", + "skillModTarget": "", + "cost": 700, + "initiativeMod": 0 + } + }, + { + "name": "Shiver Flak Vest", + "type": "armor", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/2nd try/Shiver Flak Vest.png", + "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": "Shock Armour", + "type": "armor", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/2nd try/Shock Armor.png", + "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": "Squad Shielded Power Armor", + "type": "armor", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/Squad Shieled Power Armor.png", + "system": { + "description": "Full sealed power armor with integrated energy shielding; rare, expensive, and terrifying on the street.", + "armorRating": 6, + "armorDice": 6, + "armorAuto": 3, + "statMod": 1, + "skillMod": -2, "statModTarget": "strength", "skillModTarget": "stealth", - "cost": 7500, + "cost": 8000, + "initiativeMod": 0 + } + }, + { + "name": "Stealth Suit", + "type": "armor", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/2nd try/Stealth Suit.png", + "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": "Street Clothes", + "type": "armor", + "img": "systems/zero-engine/assets/SLA_Assets/Armor/2nd try/Street Cloths.png", + "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 } } diff --git a/packs/drugs.json b/packs/drugs.json index 2da38d8..328c08a 100644 --- a/packs/drugs.json +++ b/packs/drugs.json @@ -7,7 +7,7 @@ "description": "Prescription-grade painkillers used by Medics to keep operatives moving on broken bones and bullet wounds.", "isDrug": true, "quantity": 1, - "cost": 0, + "cost": 30, "active": false, "activeDuration": "1 shift", "activeLabel": "", @@ -70,7 +70,7 @@ "description": "Corporate-grade stimulant chips; keep you awake, sharp, and moving long after your body wants to shut down.", "isDrug": true, "quantity": 1, - "cost": 0, + "cost": 40, "active": false, "activeDuration": "1 shift (2-4 hours)", "activeLabel": "", @@ -133,7 +133,7 @@ "description": "Heavy sedative used to shut down panic, control Frothers, or help Ebons come down after bad Ebb feedback.", "isDrug": true, "quantity": 1, - "cost": 0, + "cost": 35, "active": false, "activeDuration": "1 stretch to 1 shift", "activeLabel": "", @@ -196,7 +196,7 @@ "description": "Illegal DarkNight derivative of Rush; pushes the body past safe limits into true overdrive.", "isDrug": true, "quantity": 1, - "cost": 0, + "cost": 110, "active": false, "activeDuration": "1 scene/combat (max 1 stretch)", "activeLabel": "", @@ -259,7 +259,7 @@ "description": "Corporate anti-anxiety drug; standard issue for some Shiver units and corporate VIPs who still have to go on-site.", "isDrug": true, "quantity": 1, - "cost": 0, + "cost": 65, "active": false, "activeDuration": "1 shift", "activeLabel": "", @@ -322,7 +322,7 @@ "description": "Standard Frother combat drug; a violent mix of stimulants, painkillers, and combat enhancers widely available on Mort.", "isDrug": true, "quantity": 1, - "cost": 0, + "cost": 85, "active": false, "activeDuration": "1 scene/combat (up to 1 stretch)", "activeLabel": "", @@ -385,7 +385,7 @@ "description": "Restricted UV-grade combat cocktail reserved for black ops and suicidal Frothers; massively amplifies aggression and physical output at severe mental cost.", "isDrug": true, "quantity": 1, - "cost": 0, + "cost": 200, "active": false, "activeDuration": "1 scene/combat (max 1 stretch)", "activeLabel": "", diff --git a/packs/sla-ammo/000005.ldb b/packs/sla-ammo/000005.ldb index 84456bc..eed7264 100644 Binary files a/packs/sla-ammo/000005.ldb and b/packs/sla-ammo/000005.ldb differ diff --git a/packs/sla-ammo/LOG b/packs/sla-ammo/LOG index 544f60d..2db1993 100644 --- a/packs/sla-ammo/LOG +++ b/packs/sla-ammo/LOG @@ -1,5 +1,5 @@ -2026/06/02-21:20:33.869169 1741eb000 Delete type=3 #1 -2026/06/02-21:20:33.869541 174277000 Level-0 table #5: started -2026/06/02-21:20:33.869986 174277000 Level-0 table #5: 4187 bytes OK -2026/06/02-21:20:33.870045 174277000 Delete type=0 #3 -2026/06/02-21:20:33.870095 174277000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end) +2026/06/02-21:42:16.925873 1706d7000 Delete type=3 #1 +2026/06/02-21:42:16.926293 171f87000 Level-0 table #5: started +2026/06/02-21:42:16.926465 171f87000 Level-0 table #5: 4274 bytes OK +2026/06/02-21:42:16.926531 171f87000 Delete type=0 #3 +2026/06/02-21:42:16.926584 171f87000 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 index faa9cc4..c20a61e 100644 Binary files a/packs/sla-ammo/MANIFEST-000002 and b/packs/sla-ammo/MANIFEST-000002 differ diff --git a/packs/sla-armors/000005.ldb b/packs/sla-armors/000005.ldb index 93c2828..491e959 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 ac16e9d..068679e 100644 --- a/packs/sla-armors/LOG +++ b/packs/sla-armors/LOG @@ -1,5 +1,5 @@ -2026/06/02-21:20:33.851561 1731d3000 Delete type=3 #1 -2026/06/02-21:20:33.852911 174277000 Level-0 table #5: started -2026/06/02-21:20:33.853176 174277000 Level-0 table #5: 5304 bytes OK -2026/06/02-21:20:33.853230 174277000 Delete type=0 #3 -2026/06/02-21:20:33.853280 174277000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end) +2026/06/02-21:42:16.905064 170ee3000 Delete type=3 #1 +2026/06/02-21:42:16.906911 171f87000 Level-0 table #5: started +2026/06/02-21:42:16.907116 171f87000 Level-0 table #5: 5617 bytes OK +2026/06/02-21:42:16.907187 171f87000 Delete type=0 #3 +2026/06/02-21:42:16.907232 171f87000 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 a77d880..e1b9295 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 200ea20..a8d67f0 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 9f07cdd..6325c38 100644 --- a/packs/sla-drugs/LOG +++ b/packs/sla-drugs/LOG @@ -1,5 +1,5 @@ -2026/06/02-21:20:33.855211 1739df000 Delete type=3 #1 -2026/06/02-21:20:33.855720 174277000 Level-0 table #5: started -2026/06/02-21:20:33.856032 174277000 Level-0 table #5: 10656 bytes OK -2026/06/02-21:20:33.856090 174277000 Delete type=0 #3 -2026/06/02-21:20:33.856141 174277000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end) +2026/06/02-21:42:16.909458 171efb000 Delete type=3 #1 +2026/06/02-21:42:16.910238 171f87000 Level-0 table #5: started +2026/06/02-21:42:16.910504 171f87000 Level-0 table #5: 10823 bytes OK +2026/06/02-21:42:16.910564 171f87000 Delete type=0 #3 +2026/06/02-21:42:16.910610 171f87000 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 2575469..5a8e7e5 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 e1c0968..c82e927 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 ff71246..e3af7eb 100644 --- a/packs/sla-ebb-formulae/LOG +++ b/packs/sla-ebb-formulae/LOG @@ -1,5 +1,5 @@ -2026/06/02-21:20:33.858027 1739df000 Delete type=3 #1 -2026/06/02-21:20:33.858852 174277000 Level-0 table #5: started -2026/06/02-21:20:33.859123 174277000 Level-0 table #5: 15540 bytes OK -2026/06/02-21:20:33.859200 174277000 Delete type=0 #3 -2026/06/02-21:20:33.859248 174277000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end) +2026/06/02-21:42:16.912795 171efb000 Delete type=3 #1 +2026/06/02-21:42:16.913615 171f87000 Level-0 table #5: started +2026/06/02-21:42:16.913914 171f87000 Level-0 table #5: 15281 bytes OK +2026/06/02-21:42:16.913974 171f87000 Delete type=0 #3 +2026/06/02-21:42:16.914028 171f87000 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 4f9d374..77b334a 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/000005.ldb b/packs/sla-equipment/000005.ldb index bd11428..e88039e 100644 Binary files a/packs/sla-equipment/000005.ldb and b/packs/sla-equipment/000005.ldb differ diff --git a/packs/sla-equipment/LOG b/packs/sla-equipment/LOG index 89101e1..a4c711f 100644 --- a/packs/sla-equipment/LOG +++ b/packs/sla-equipment/LOG @@ -1,5 +1,5 @@ -2026/06/02-21:20:33.867027 1729c7000 Delete type=3 #1 -2026/06/02-21:20:33.867579 174277000 Level-0 table #5: started -2026/06/02-21:20:33.867906 174277000 Level-0 table #5: 7061 bytes OK -2026/06/02-21:20:33.867966 174277000 Delete type=0 #3 -2026/06/02-21:20:33.868012 174277000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end) +2026/06/02-21:42:16.922896 170ee3000 Delete type=3 #1 +2026/06/02-21:42:16.923636 171f87000 Level-0 table #5: started +2026/06/02-21:42:16.923827 171f87000 Level-0 table #5: 7000 bytes OK +2026/06/02-21:42:16.923897 171f87000 Delete type=0 #3 +2026/06/02-21:42:16.923961 171f87000 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 index 4960fca..f11e98f 100644 Binary files a/packs/sla-equipment/MANIFEST-000002 and b/packs/sla-equipment/MANIFEST-000002 differ diff --git a/packs/sla-specialties/000005.ldb b/packs/sla-specialties/000005.ldb index fa99601..a093883 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 eaa5030..7abe87b 100644 --- a/packs/sla-specialties/LOG +++ b/packs/sla-specialties/LOG @@ -1,5 +1,5 @@ -2026/06/02-21:20:33.860677 1729c7000 Delete type=3 #1 -2026/06/02-21:20:33.861443 174277000 Level-0 table #5: started -2026/06/02-21:20:33.861807 174277000 Level-0 table #5: 7099 bytes OK -2026/06/02-21:20:33.861900 174277000 Delete type=0 #3 -2026/06/02-21:20:33.861958 174277000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end) +2026/06/02-21:42:16.915727 170ee3000 Delete type=3 #1 +2026/06/02-21:42:16.916419 171f87000 Level-0 table #5: started +2026/06/02-21:42:16.916595 171f87000 Level-0 table #5: 7089 bytes OK +2026/06/02-21:42:16.916671 171f87000 Delete type=0 #3 +2026/06/02-21:42:16.916767 171f87000 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 481d0ff..3c1fdd8 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 4981aae..848486c 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 35d7a95..e473b82 100644 --- a/packs/sla-weapons/LOG +++ b/packs/sla-weapons/LOG @@ -1,5 +1,5 @@ -2026/06/02-21:20:33.863857 1729c7000 Delete type=3 #1 -2026/06/02-21:20:33.864970 174277000 Level-0 table #5: started -2026/06/02-21:20:33.865381 174277000 Level-0 table #5: 14973 bytes OK -2026/06/02-21:20:33.865434 174277000 Delete type=0 #3 -2026/06/02-21:20:33.865475 174277000 Manual compaction at level-0 from '\x00' @ 72057594037927935 : 1 .. '\xc3\xbf' @ 0 : 0; will stop at (end) +2026/06/02-21:42:16.918944 170ee3000 Delete type=3 #1 +2026/06/02-21:42:16.920096 171f87000 Level-0 table #5: started +2026/06/02-21:42:16.920446 171f87000 Level-0 table #5: 14977 bytes OK +2026/06/02-21:42:16.920520 171f87000 Delete type=0 #3 +2026/06/02-21:42:16.920578 171f87000 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 12050f3..20ba8c5 100644 Binary files a/packs/sla-weapons/MANIFEST-000002 and b/packs/sla-weapons/MANIFEST-000002 differ diff --git a/system.json b/system.json index c93b40a..de2006b 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.4.0", + "version": "1.4.1", "compatibility": { "minimum": 13, "verified": "14.359" diff --git a/zero-engine.mjs b/zero-engine.mjs index 589ed9c..01908c5 100644 --- a/zero-engine.mjs +++ b/zero-engine.mjs @@ -827,6 +827,17 @@ class ZeroEngineActorSheet extends foundry.appv1.sheets.ActorSheet { "system.withdrawalActive": false }); + // ── Deduct drug cost from credits ──────────────────────────────────────── + const drugCost = Math.max(0, Number(item.system?.cost) || 0); + if (drugCost > 0) { + const currentCredits = Number(this.actor.system?.details?.credits ?? 0); + const newCredits = Math.max(0, currentCredits - drugCost); + await this.actor.update({ "system.details.credits": newCredits }); + ui.notifications.info( + `${item.name}: ${drugCost}¢ charged to ${this.actor.name}. Credits: ${currentCredits} → ${newCredits}` + ); + } + const stressBonus = Math.max(0, Number(item.system?.stressRecoveryBonus) || 0); if (stressBonus > 0) { const currentStress = this._getStressValue(this.actor);