diff --git a/wg-voidships-builder/packs/wg-voidship-hulls.db b/wg-voidships-builder/packs/wg-voidship-hulls.db index 7f86aa8..7ad9ed4 100644 --- a/wg-voidships-builder/packs/wg-voidship-hulls.db +++ b/wg-voidships-builder/packs/wg-voidship-hulls.db @@ -1,24 +1,24 @@ -{"_id": "4412029d26021383", "name": "Escort Hull (Empty)", "type": "vehicle", "img": null, "system": {"mnvr": 2, "notes": "Empty hull. Add Components from Items pack.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 18}, "resilience": {"bonus": 0, "total": 9}, "defence": {"bonus": 3}, "fly": 0}}, "prototypeToken": {"name": "Escort Hull (Empty)", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"shields": {"current": 1, "max": 1}, "speedVU": 10, "handling": 2, "cr": 5, "tur": 1, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "1f954166473bedf3", "name": "Frigate Hull (Empty)", "type": "vehicle", "img": null, "system": {"mnvr": 1, "notes": "Empty hull. Add Components from Items pack.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 24}, "resilience": {"bonus": 0, "total": 10}, "defence": {"bonus": 3}, "fly": 0}}, "prototypeToken": {"name": "Frigate Hull (Empty)", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"shields": {"current": 2, "max": 2}, "speedVU": 10, "handling": 1, "cr": 5, "tur": 2, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "c5ca1fc87803b111", "name": "Light Cruiser Hull (Empty)", "type": "vehicle", "img": null, "system": {"mnvr": 0, "notes": "Empty hull. Add Components from Items pack.", "combat": {"size": "colossal", "speed": 9, "wounds": {"value": 0, "bonus": 0, "max": 32}, "resilience": {"bonus": 0, "total": 11}, "defence": {"bonus": 2}, "fly": 0}}, "prototypeToken": {"name": "Light Cruiser Hull (Empty)", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"shields": {"current": 2, "max": 2}, "speedVU": 9, "handling": 0, "cr": 6, "tur": 2, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "96a0dacd77d672bb", "name": "Cruiser Hull (Empty)", "type": "vehicle", "img": null, "system": {"mnvr": -1, "notes": "Empty hull. Add Components from Items pack.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 40}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}}, "prototypeToken": {"name": "Cruiser Hull (Empty)", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"shields": {"current": 3, "max": 3}, "speedVU": 8, "handling": -1, "cr": 7, "tur": 3, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "a08b1d9ef251ec0b", "name": "Jericho-class Pilgrim Vessel", "type": "vehicle", "img": null, "system": {"mnvr": -1, "notes": "Immense conversions for pilgrim passages and reliquary cargo. Cavernous holds and chapels; range and capacity over armour and speed.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 36}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Rogue Trader Core Rulebook, p. 195"}, "prototypeToken": {"name": "Jericho-class Pilgrim Vessel", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Rogue Trader Core Rulebook, p. 195", "shields": {"current": 1, "max": 1}, "speedVU": 8, "handling": -1, "cr": 5, "tur": 1, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "95fcf7b99d705bd1", "name": "Vagabond-class Merchant Trader", "type": "vehicle", "img": null, "system": {"mnvr": -1, "notes": "Modular cargobays and adaptable fittings; a chartist workhorse. Simple to keep running in frontier yards; heavily customised.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 36}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Rogue Trader Core Rulebook, p. 195"}, "prototypeToken": {"name": "Vagabond-class Merchant Trader", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Rogue Trader Core Rulebook, p. 195", "shields": {"current": 1, "max": 1}, "speedVU": 8, "handling": -1, "cr": 5, "tur": 1, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "521f6e630bd813a4", "name": "Hazeroth-class Privateer", "type": "vehicle", "img": null, "system": {"mnvr": 2, "notes": "Knife-fast raider with reinforced internals and stripped armour. Favoured for ambushes and commerce raiding.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 22}, "resilience": {"bonus": 0, "total": 9}, "defence": {"bonus": 3}, "fly": 0}, "source": "Rogue Trader Core Rulebook, p. 195"}, "prototypeToken": {"name": "Hazeroth-class Privateer", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Rogue Trader Core Rulebook, p. 195", "shields": {"current": 1, "max": 1}, "speedVU": 10, "handling": 2, "cr": 5, "tur": 1, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "c4c69cf1b895c0e1", "name": "Havoc-class Merchant Raider", "type": "vehicle", "img": null, "system": {"mnvr": 2, "notes": "Hybrid carrier-raider balancing battery weight with cargo. Less protected than Navy hulls but brutal on traffic.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 22}, "resilience": {"bonus": 0, "total": 9}, "defence": {"bonus": 3}, "fly": 0}, "source": "Rogue Trader Core Rulebook, p. 196"}, "prototypeToken": {"name": "Havoc-class Merchant Raider", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Rogue Trader Core Rulebook, p. 196", "shields": {"current": 1, "max": 1}, "speedVU": 10, "handling": 2, "cr": 5, "tur": 1, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "ec53303961ef4fd4", "name": "Sword-class Frigate", "type": "vehicle", "img": null, "system": {"mnvr": 1, "notes": "Reliable escort with accurate dorsal lasers and stout drives. Squadrons screen convoys and prosecute pirates.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 28}, "resilience": {"bonus": 0, "total": 10}, "defence": {"bonus": 3}, "fly": 0}, "source": "Battlefleet Koronus, p. 28"}, "prototypeToken": {"name": "Sword-class Frigate", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Battlefleet Koronus, p. 28", "shields": {"current": 2, "max": 2}, "speedVU": 10, "handling": 1, "cr": 5, "tur": 2, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "fb874877eacc7a08", "name": "Tempest-class Strike Frigate", "type": "vehicle", "img": null, "system": {"mnvr": 1, "notes": "Close-action brawler for boardings and short-range gunnery. Reinforced prow and over-tuned drives.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 28}, "resilience": {"bonus": 0, "total": 10}, "defence": {"bonus": 3}, "fly": 0}, "source": "Rogue Trader Core Rulebook, p. 196"}, "prototypeToken": {"name": "Tempest-class Strike Frigate", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Rogue Trader Core Rulebook, p. 196", "shields": {"current": 2, "max": 2}, "speedVU": 10, "handling": 1, "cr": 5, "tur": 2, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "c8975bb7181d8e12", "name": "Dauntless-class Light Cruiser", "type": "vehicle", "img": null, "system": {"mnvr": 0, "notes": "Versatile patrol cruiser—good acceleration and flexible refits. Often leads Passage Watch patrols.", "combat": {"size": "colossal", "speed": 9, "wounds": {"value": 0, "bonus": 0, "max": 32}, "resilience": {"bonus": 0, "total": 11}, "defence": {"bonus": 2}, "fly": 0}, "source": "Battlefleet Koronus, p. 36"}, "prototypeToken": {"name": "Dauntless-class Light Cruiser", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Battlefleet Koronus, p. 36", "shields": {"current": 2, "max": 2}, "speedVU": 9, "handling": 0, "cr": 6, "tur": 2, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "0b59c38ddda63f42", "name": "Lunar-class Cruiser", "type": "vehicle", "img": null, "system": {"mnvr": -1, "notes": "Archetypal line cruiser—balanced, dependable, easily refitted. Backbone of many squadrons.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 40}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Battlefleet Koronus, p. 24"}, "prototypeToken": {"name": "Lunar-class Cruiser", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Battlefleet Koronus, p. 24", "shields": {"current": 3, "max": 3}, "speedVU": 8, "handling": -1, "cr": 7, "tur": 3, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "b518e981d69324aa", "name": "Cobra-class Destroyer", "type": "vehicle", "img": null, "system": {"mnvr": 2, "notes": "Torpedo raider hunting in packs; strikes, then disengages to reload.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 22}, "resilience": {"bonus": 0, "total": 9}, "defence": {"bonus": 3}, "fly": 0}, "source": "Battlefleet Koronus, p. 66"}, "prototypeToken": {"name": "Cobra-class Destroyer", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Battlefleet Koronus, p. 66", "shields": {"current": 1, "max": 1}, "speedVU": 10, "handling": 2, "cr": 5, "tur": 1, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "d3853b0270deaf3f", "name": "Falchion-class Frigate", "type": "vehicle", "img": null, "system": {"mnvr": 1, "notes": "Modernised frigate with improved drives for frontier scouting.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 28}, "resilience": {"bonus": 0, "total": 10}, "defence": {"bonus": 3}, "fly": 0}, "source": "Battlefleet Koronus, p. 28"}, "prototypeToken": {"name": "Falchion-class Frigate", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Battlefleet Koronus, p. 28", "shields": {"current": 2, "max": 2}, "speedVU": 10, "handling": 1, "cr": 5, "tur": 2, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "f1ea3416a6d0d27e", "name": "Turbulent-class Heavy Frigate", "type": "vehicle", "img": null, "system": {"mnvr": 1, "notes": "Strengthened frame and broader arcs; trades agility for staying power.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 28}, "resilience": {"bonus": 0, "total": 10}, "defence": {"bonus": 3}, "fly": 0}, "source": "Battlefleet Koronus, p. 28"}, "prototypeToken": {"name": "Turbulent-class Heavy Frigate", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Battlefleet Koronus, p. 28", "shields": {"current": 2, "max": 2}, "speedVU": 10, "handling": 1, "cr": 5, "tur": 2, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "73eed7c83ea60340", "name": "Defiant-class Light Cruiser (Carrier)", "type": "vehicle", "img": null, "system": {"mnvr": 0, "notes": "Light carrier with significant attack craft; excellent for recon and strikes.", "combat": {"size": "colossal", "speed": 9, "wounds": {"value": 0, "bonus": 0, "max": 32}, "resilience": {"bonus": 0, "total": 11}, "defence": {"bonus": 2}, "fly": 0}}, "prototypeToken": {"name": "Defiant-class Light Cruiser (Carrier)", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Battlefleet Koronus", "shields": {"current": 2, "max": 2}, "speedVU": 9, "handling": 0, "cr": 6, "tur": 2, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "6836e238cce8d9fc", "name": "Universe-class Mass Conveyor", "type": "vehicle", "img": null, "system": {"mnvr": -1, "notes": "Super-massive hauler for colony loads and crusade materiel; logistics linchpin.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 36}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Battlefleet Koronus, p. 31"}, "prototypeToken": {"name": "Universe-class Mass Conveyor", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Battlefleet Koronus, p. 31", "shields": {"current": 1, "max": 1}, "speedVU": 8, "handling": -1, "cr": 5, "tur": 1, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "2c612305a7bb853f", "name": "Goliath-class Factory Ship", "type": "vehicle", "img": null, "system": {"mnvr": -1, "notes": "Roving manufactorum and refinery; long autonomous deployments.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 36}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Battlefleet Koronus, p. 30"}, "prototypeToken": {"name": "Goliath-class Factory Ship", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Battlefleet Koronus, p. 30", "shields": {"current": 1, "max": 1}, "speedVU": 8, "handling": -1, "cr": 5, "tur": 1, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "287a7cd15c95031f", "name": "Conquest-class Star Galleon", "type": "vehicle", "img": null, "system": {"mnvr": -1, "notes": "Heavily built merchant galleon with strong batteries and hull.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 36}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Battlefleet Koronus, p. 25"}, "prototypeToken": {"name": "Conquest-class Star Galleon", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Battlefleet Koronus, p. 25", "shields": {"current": 1, "max": 1}, "speedVU": 8, "handling": -1, "cr": 5, "tur": 1, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "750ee1998f698e08", "name": "Orion-class Star Clipper", "type": "vehicle", "img": null, "system": {"mnvr": -1, "notes": "Fast passenger/light-cargo clipper for courier missions and risky runs.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 36}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Into the Storm, p. 150"}, "prototypeToken": {"name": "Orion-class Star Clipper", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Into the Storm, p. 150", "shields": {"current": 1, "max": 1}, "speedVU": 8, "handling": -1, "cr": 5, "tur": 1, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "6da4418bdbd2206c", "name": "Cobra-class Destroyer (Renegade)", "type": "vehicle", "img": null, "system": {"mnvr": 2, "notes": "Ex-Navy Cobra in privateer hands with non-standard prow refits.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 22}, "resilience": {"bonus": 0, "total": 9}, "defence": {"bonus": 3}, "fly": 0}, "source": "Battlefleet Koronus, p. 66"}, "prototypeToken": {"name": "Cobra-class Destroyer (Renegade)", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Battlefleet Koronus, p. 66", "shields": {"current": 1, "max": 1}, "speedVU": 10, "handling": 2, "cr": 5, "tur": 1, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "0eb071148d375807", "name": "Secutor-class Monitor-Cruiser", "type": "vehicle", "img": null, "system": {"mnvr": -1, "notes": "Mechanicus monitor with powerful dorsals and redundant shielding; anchors actions.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 40}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Into the Storm, p. 151"}, "prototypeToken": {"name": "Secutor-class Monitor-Cruiser", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Into the Storm, p. 151", "shields": {"current": 3, "max": 3}, "speedVU": 8, "handling": -1, "cr": 7, "tur": 3, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "104965869ffa36bb", "name": "Lathe-class Monitor-Cruiser", "type": "vehicle", "img": null, "system": {"mnvr": -1, "notes": "Lathes-forged variant emphasising resilient sanctified systems.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 40}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Into the Storm, p. 152"}, "prototypeToken": {"name": "Lathe-class Monitor-Cruiser", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Into the Storm, p. 152", "shields": {"current": 3, "max": 3}, "speedVU": 8, "handling": -1, "cr": 7, "tur": 3, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} -{"_id": "6774443321f24e87", "name": "Tyrant-class Cruiser", "type": "vehicle", "img": null, "system": {"mnvr": -1, "notes": "Macrobattery-focused cruiser optimised for crushing broadsides.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 40}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Into the Storm, p. 153"}, "prototypeToken": {"name": "Tyrant-class Cruiser", "width": 4, "height": 4, "displayName": 50}, "flags": {"wg-voidships": {"source": "Into the Storm, p. 153", "shields": {"current": 3, "max": 3}, "speedVU": 8, "handling": -1, "cr": 7, "tur": 3, "mounts": "", "traits": "", "components": []}}, "items": [], "effects": []} +{"_id": "4412029d26021383", "name": "Escort Hull (Empty)", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Escort Hull (Empty)", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 2, "notes": "Empty hull. Add Components from Items pack.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 18}, "resilience": {"bonus": 0, "total": 9}, "defence": {"bonus": 3}, "fly": 0}}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Escort Hull (Empty)", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "4412029d26021383", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "1f954166473bedf3", "name": "Frigate Hull (Empty)", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Frigate Hull (Empty)", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 1, "notes": "Empty hull. Add Components from Items pack.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 24}, "resilience": {"bonus": 0, "total": 10}, "defence": {"bonus": 3}, "fly": 0}}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Frigate Hull (Empty)", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "1f954166473bedf3", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "c5ca1fc87803b111", "name": "Light Cruiser Hull (Empty)", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Light Cruiser Hull (Empty)", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 0, "notes": "Empty hull. Add Components from Items pack.", "combat": {"size": "colossal", "speed": 9, "wounds": {"value": 0, "bonus": 0, "max": 32}, "resilience": {"bonus": 0, "total": 11}, "defence": {"bonus": 2}, "fly": 0}}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Light Cruiser Hull (Empty)", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "c5ca1fc87803b111", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "96a0dacd77d672bb", "name": "Cruiser Hull (Empty)", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Cruiser Hull (Empty)", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": -1, "notes": "Empty hull. Add Components from Items pack.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 40}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Cruiser Hull (Empty)", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "96a0dacd77d672bb", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "a08b1d9ef251ec0b", "name": "Jericho-class Pilgrim Vessel", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Jericho-class Pilgrim Vessel", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": -1, "notes": "Immense conversions for pilgrim passages and reliquary cargo. Cavernous holds and chapels; range and capacity over armour and speed.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 36}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Rogue Trader Core Rulebook, p. 195"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Jericho-class Pilgrim Vessel", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "a08b1d9ef251ec0b", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "95fcf7b99d705bd1", "name": "Vagabond-class Merchant Trader", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Vagabond-class Merchant Trader", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": -1, "notes": "Modular cargobays and adaptable fittings; a chartist workhorse. Simple to keep running in frontier yards; heavily customised.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 36}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Rogue Trader Core Rulebook, p. 195"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Vagabond-class Merchant Trader", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "95fcf7b99d705bd1", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "521f6e630bd813a4", "name": "Hazeroth-class Privateer", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Hazeroth-class Privateer", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 2, "notes": "Knife-fast raider with reinforced internals and stripped armour. Favoured for ambushes and commerce raiding.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 22}, "resilience": {"bonus": 0, "total": 9}, "defence": {"bonus": 3}, "fly": 0}, "source": "Rogue Trader Core Rulebook, p. 195"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Hazeroth-class Privateer", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "521f6e630bd813a4", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "c4c69cf1b895c0e1", "name": "Havoc-class Merchant Raider", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Havoc-class Merchant Raider", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 2, "notes": "Hybrid carrier-raider balancing battery weight with cargo. Less protected than Navy hulls but brutal on traffic.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 22}, "resilience": {"bonus": 0, "total": 9}, "defence": {"bonus": 3}, "fly": 0}, "source": "Rogue Trader Core Rulebook, p. 196"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Havoc-class Merchant Raider", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "c4c69cf1b895c0e1", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "ec53303961ef4fd4", "name": "Sword-class Frigate", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Sword-class Frigate", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 1, "notes": "Reliable escort with accurate dorsal lasers and stout drives. Squadrons screen convoys and prosecute pirates.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 28}, "resilience": {"bonus": 0, "total": 10}, "defence": {"bonus": 3}, "fly": 0}, "source": "Battlefleet Koronus, p. 28"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Sword-class Frigate", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "ec53303961ef4fd4", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "fb874877eacc7a08", "name": "Tempest-class Strike Frigate", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Tempest-class Strike Frigate", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 1, "notes": "Close-action brawler for boardings and short-range gunnery. Reinforced prow and over-tuned drives.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 28}, "resilience": {"bonus": 0, "total": 10}, "defence": {"bonus": 3}, "fly": 0}, "source": "Rogue Trader Core Rulebook, p. 196"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Tempest-class Strike Frigate", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "fb874877eacc7a08", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "c8975bb7181d8e12", "name": "Dauntless-class Light Cruiser", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Dauntless-class Light Cruiser", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 0, "notes": "Versatile patrol cruiser—good acceleration and flexible refits. Often leads Passage Watch patrols.", "combat": {"size": "colossal", "speed": 9, "wounds": {"value": 0, "bonus": 0, "max": 32}, "resilience": {"bonus": 0, "total": 11}, "defence": {"bonus": 2}, "fly": 0}, "source": "Battlefleet Koronus, p. 36"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Dauntless-class Light Cruiser", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "c8975bb7181d8e12", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "0b59c38ddda63f42", "name": "Lunar-class Cruiser", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Lunar-class Cruiser", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": -1, "notes": "Archetypal line cruiser—balanced, dependable, easily refitted. Backbone of many squadrons.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 40}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Battlefleet Koronus, p. 24"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Lunar-class Cruiser", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "0b59c38ddda63f42", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "b518e981d69324aa", "name": "Cobra-class Destroyer", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Cobra-class Destroyer", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 2, "notes": "Torpedo raider hunting in packs; strikes, then disengages to reload.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 22}, "resilience": {"bonus": 0, "total": 9}, "defence": {"bonus": 3}, "fly": 0}, "source": "Battlefleet Koronus, p. 66"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Cobra-class Destroyer", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "b518e981d69324aa", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "d3853b0270deaf3f", "name": "Falchion-class Frigate", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Falchion-class Frigate", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 1, "notes": "Modernised frigate with improved drives for frontier scouting.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 28}, "resilience": {"bonus": 0, "total": 10}, "defence": {"bonus": 3}, "fly": 0}, "source": "Battlefleet Koronus, p. 28"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Falchion-class Frigate", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "d3853b0270deaf3f", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "f1ea3416a6d0d27e", "name": "Turbulent-class Heavy Frigate", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Turbulent-class Heavy Frigate", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 1, "notes": "Strengthened frame and broader arcs; trades agility for staying power.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 28}, "resilience": {"bonus": 0, "total": 10}, "defence": {"bonus": 3}, "fly": 0}, "source": "Battlefleet Koronus, p. 28"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Turbulent-class Heavy Frigate", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "f1ea3416a6d0d27e", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "73eed7c83ea60340", "name": "Defiant-class Light Cruiser (Carrier)", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Defiant-class Light Cruiser (Carrier)", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 0, "notes": "Light carrier with significant attack craft; excellent for recon and strikes.", "combat": {"size": "colossal", "speed": 9, "wounds": {"value": 0, "bonus": 0, "max": 32}, "resilience": {"bonus": 0, "total": 11}, "defence": {"bonus": 2}, "fly": 0}}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Defiant-class Light Cruiser (Carrier)", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "73eed7c83ea60340", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "6836e238cce8d9fc", "name": "Universe-class Mass Conveyor", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Universe-class Mass Conveyor", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": -1, "notes": "Super-massive hauler for colony loads and crusade materiel; logistics linchpin.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 36}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Battlefleet Koronus, p. 31"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Universe-class Mass Conveyor", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "6836e238cce8d9fc", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "2c612305a7bb853f", "name": "Goliath-class Factory Ship", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Goliath-class Factory Ship", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": -1, "notes": "Roving manufactorum and refinery; long autonomous deployments.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 36}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Battlefleet Koronus, p. 30"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Goliath-class Factory Ship", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "2c612305a7bb853f", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "287a7cd15c95031f", "name": "Conquest-class Star Galleon", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Conquest-class Star Galleon", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": -1, "notes": "Heavily built merchant galleon with strong batteries and hull.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 36}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Battlefleet Koronus, p. 25"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Conquest-class Star Galleon", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "287a7cd15c95031f", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "750ee1998f698e08", "name": "Orion-class Star Clipper", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Orion-class Star Clipper", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": -1, "notes": "Fast passenger/light-cargo clipper for courier missions and risky runs.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 36}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Into the Storm, p. 150"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Orion-class Star Clipper", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "750ee1998f698e08", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "6da4418bdbd2206c", "name": "Cobra-class Destroyer (Renegade)", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Cobra-class Destroyer (Renegade)", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": 2, "notes": "Ex-Navy Cobra in privateer hands with non-standard prow refits.", "combat": {"size": "colossal", "speed": 10, "wounds": {"value": 0, "bonus": 0, "max": 22}, "resilience": {"bonus": 0, "total": 9}, "defence": {"bonus": 3}, "fly": 0}, "source": "Battlefleet Koronus, p. 66"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Cobra-class Destroyer (Renegade)", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "6da4418bdbd2206c", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "0eb071148d375807", "name": "Secutor-class Monitor-Cruiser", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Secutor-class Monitor-Cruiser", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": -1, "notes": "Mechanicus monitor with powerful dorsals and redundant shielding; anchors actions.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 40}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Into the Storm, p. 151"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Secutor-class Monitor-Cruiser", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "0eb071148d375807", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "104965869ffa36bb", "name": "Lathe-class Monitor-Cruiser", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Lathe-class Monitor-Cruiser", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": -1, "notes": "Lathes-forged variant emphasising resilient sanctified systems.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 40}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Into the Storm, p. 152"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Lathe-class Monitor-Cruiser", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "104965869ffa36bb", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} +{"_id": "6774443321f24e87", "name": "Tyrant-class Cruiser", "type": "vehicle", "img": "icons/svg/ship.svg", "folder": null, "sort": 0, "ownership": {"default": 0}, "flags": {"core": {"sheetClass": "wg-voidships-builder.VoidshipSheet"}, "wg-voidships-builder": {"isVoidship": true, "hull": {"class": "Tyrant-class Cruiser", "size": "Cruiser", "slots": {"prow": 0, "dorsal": 0, "port": 0, "starboard": 0, "keel": 0}}, "base": {"armour": 0, "integrity": 0, "manoeuvre": 0, "detection": 0, "speed": 0, "space": 0, "power": 0}, "crew": {"command": 1, "pilot": 1, "sensors": 1, "engineering": 2, "gunnery": 2, "security": 2, "flightDeck": 0, "passengers": 0}, "rtRaw": {"mnvr": -1, "notes": "Macrobattery-focused cruiser optimised for crushing broadsides.", "combat": {"size": "colossal", "speed": 8, "wounds": {"value": 0, "bonus": 0, "max": 40}, "resilience": {"bonus": 0, "total": 12}, "defence": {"bonus": 2}, "fly": 0}, "source": "Into the Storm, p. 153"}}}, "system": {}, "effects": [], "items": [], "prototypeToken": {"name": "Tyrant-class Cruiser", "actorLink": true, "texture": {"src": "icons/svg/ship.svg"}, "disposition": 1, "displayName": 0}, "_id": "6774443321f24e87", "systemId": "wrath-and-glory", "systemVersion": "7.1.1"} diff --git a/wg-voidships-builder/scripts/voidship-actor.js b/wg-voidships-builder/scripts/voidship-actor.js index b908582..21ab907 100644 --- a/wg-voidships-builder/scripts/voidship-actor.js +++ b/wg-voidships-builder/scripts/voidship-actor.js @@ -10,8 +10,8 @@ class VoidshipSheet extends ActorSheet { classes: ["wg-voidships", "sheet", "actor", "voidship"], template: `modules/${VB_MOD}/templates/voidship-sheet.hbs`, width: 720, - height: 620, - tabs: [{ navSelector: ".tabs", contentSelector: ".sheet-body", initial: "stats" }] + height: 680, + tabs: [{ navSelector: ".tabs", contentSelector: ".sheet-body", initial: "wg" }] }); } @@ -35,8 +35,8 @@ class VoidshipSheet extends ActorSheet { space: Number(a.getFlag(VB_MOD, "base.space")) || 0, power: Number(a.getFlag(VB_MOD, "base.power")) || 0 }; - const mods = { armour:0, integrity:0, manoeuvre:0, detection:0, speed:0, space:0, power:0 }; - const slots = { prow:0, dorsal:0, port:0, starboard:0, keel:0, other:0 }; + const mods = { armour: 0, integrity: 0, manoeuvre: 0, detection: 0, speed: 0, space: 0, power: 0 }; + const slots = { prow: 0, dorsal: 0, port: 0, starboard: 0, keel: 0, other: 0 }; const items = a?.items ?? []; for (const it of items) { const eq = (it.system?.equipped ?? true); // treat as mounted unless explicitly off @@ -72,10 +72,23 @@ class VoidshipSheet extends ActorSheet { return { base, mods, total, slots }; } - async getData(options={}) { + async getData(options = {}) { const data = await super.getData(options); data.isVoidship = this.isVoidship; data.voidship = this._computeDerived(); + + const hull = this.actor.getFlag(VB_MOD, "hull") || {}; + data.hull = { + class: hull.class || this.actor.name, + size: hull.size || "Cruiser", + slotsAllowed: hull.slots || { prow: 0, dorsal: 0, port: 0, starboard: 0, keel: 0 } + }; + data.crew = this.actor.getFlag(VB_MOD, "crew") || { + command: 1, pilot: 1, sensors: 1, engineering: 2, + gunnery: 2, security: 2, flightDeck: 0, passengers: 0 + }; + data.rtRaw = this.actor.getFlag(VB_MOD, "rtRaw") || {}; + // expose a minimal config (labels) data.cfg = { labels: { @@ -91,6 +104,7 @@ class VoidshipSheet extends ActorSheet { } }; return data; + } activateListeners(html) { @@ -134,7 +148,7 @@ class VoidshipSheet extends ActorSheet { "base.space": get("space"), "base.power": get("power") }; - for (const [k,v] of Object.entries(patch)) await this.actor.setFlag(VB_MOD, k, v); + for (const [k, v] of Object.entries(patch)) await this.actor.setFlag(VB_MOD, k, v); this.render(true); } }, @@ -155,7 +169,7 @@ Hooks.once("init", () => { }); // Optional: a convenient factory on game namespace game.wgVoidships = game.wgVoidships || {}; - game.wgVoidships.createVoidship = async function(name="New Voidship") { + game.wgVoidships.createVoidship = async function (name = "New Voidship") { const actor = await Actor.create({ name, type: "vehicle", folder: null }); await actor.setFlag(VB_MOD, "isVoidship", true); ui.notifications.info(`Voidship created: ${name}`); diff --git a/wg-voidships-builder/scripts/voidships.js b/wg-voidships-builder/scripts/voidships.js index 4571434..e7f6dbe 100644 --- a/wg-voidships-builder/scripts/voidships.js +++ b/wg-voidships-builder/scripts/voidships.js @@ -1 +1,13 @@ -Hooks.once('ready',()=>console.warn('wg-voidships-builder: helper script not provided, using stub')); \ No newline at end of file +Hooks.once('init', () => { + try { + if (typeof Handlebars?.registerHelper === "function") { + Handlebars.registerHelper("json", (ctx) => JSON.stringify(ctx ?? {}, null, 2)); + } + } catch (e) { + console.warn("wg-voidships-builder: handlebars helper failed", e); + } +}); + +Hooks.once('ready', () => { + console.warn('wg-voidships-builder: builder UI not yet active (stub)'); +}); diff --git a/wg-voidships-builder/templates/voidship-sheet.hbs b/wg-voidships-builder/templates/voidship-sheet.hbs index 89a6cca..461b355 100644 --- a/wg-voidships-builder/templates/voidship-sheet.hbs +++ b/wg-voidships-builder/templates/voidship-sheet.hbs @@ -17,66 +17,102 @@ This vehicle is not marked as a Voidship. Click Mark as Voidship to enable derived voidship stats. {{/unless}} + -
-
-
-

Totals

-
    -
  1. {{cfg.labels.armour}}: {{voidship.total.armour}}
  2. -
  3. {{cfg.labels.integrity}}: {{voidship.total.integrity}}
  4. -
  5. {{cfg.labels.manoeuvre}}: {{voidship.total.manoeuvre}}
  6. -
  7. {{cfg.labels.detection}}: {{voidship.total.detection}}
  8. -
  9. {{cfg.labels.speed}}: {{voidship.total.speed}}
  10. -
  11. {{cfg.labels.spaceFree}}: {{voidship.total.spaceFree}}
  12. -
  13. {{cfg.labels.powerFree}}: {{voidship.total.powerFree}}
  14. -
-
-
-

Slots

-
    -
  1. Prow: {{voidship.slots.prow}}
  2. -
  3. Dorsal: {{voidship.slots.dorsal}}
  4. -
  5. Port: {{voidship.slots.port}}
  6. -
  7. Starboard: {{voidship.slots.starboard}}
  8. -
  9. Keel: {{voidship.slots.keel}}
  10. -
  11. Other: {{voidship.slots.other}}
  12. -
-
-
-
-
-
-

Base (flags)

-
    -
  1. {{cfg.labels.armour}}: {{voidship.base.armour}}
  2. -
  3. {{cfg.labels.integrity}}: {{voidship.base.integrity}}
  4. -
  5. {{cfg.labels.manoeuvre}}: {{voidship.base.manoeuvre}}
  6. -
  7. {{cfg.labels.detection}}: {{voidship.base.detection}}
  8. -
  9. {{cfg.labels.speed}}: {{voidship.base.speed}}
  10. -
  11. {{cfg.labels.space}}: {{voidship.base.space}}
  12. -
  13. {{cfg.labels.power}}: {{voidship.base.power}}
  14. -
-
-
-

Mods (items)

-
    -
  1. {{cfg.labels.armour}}: {{voidship.mods.armour}}
  2. -
  3. {{cfg.labels.integrity}}: {{voidship.mods.integrity}}
  4. -
  5. {{cfg.labels.manoeuvre}}: {{voidship.mods.manoeuvre}}
  6. -
  7. {{cfg.labels.detection}}: {{voidship.mods.detection}}
  8. -
  9. {{cfg.labels.speed}}: {{voidship.mods.speed}}
  10. -
  11. {{cfg.labels.space}}: {{voidship.mods.space}}
  12. -
  13. {{cfg.labels.power}}: {{voidship.mods.power}}
  14. -
-
-
+ +
+
+
+

Totals

+
    +
  1. {{cfg.labels.armour}}: {{voidship.total.armour}}
  2. +
  3. {{cfg.labels.integrity}}: {{voidship.total.integrity}}
  4. +
  5. {{cfg.labels.manoeuvre}}: {{voidship.total.manoeuvre}}
  6. +
  7. {{cfg.labels.detection}}: {{voidship.total.detection}}
  8. +
  9. {{cfg.labels.speed}}: {{voidship.total.speed}}
  10. +
  11. {{cfg.labels.spaceFree}}: {{voidship.total.spaceFree}}
  12. +
  13. {{cfg.labels.powerFree}}: {{voidship.total.powerFree}}
  14. +
+
+
+

Hull

+
    +
  1. Class: {{hull.class}} ({{hull.size}})
  2. +
  3. Slots Allowed — Prow: {{hull.slotsAllowed.prow}}, Dorsal: {{hull.slotsAllowed.dorsal}}, Port: {{hull.slotsAllowed.port}}, Starboard: {{hull.slotsAllowed.starboard}}, Keel: {{hull.slotsAllowed.keel}}
  4. +
+
+
+
+
+
+

Base (flags)

+
    +
  1. {{cfg.labels.armour}}: {{voidship.base.armour}}
  2. +
  3. {{cfg.labels.integrity}}: {{voidship.base.integrity}}
  4. +
  5. {{cfg.labels.manoeuvre}}: {{voidship.base.manoeuvre}}
  6. +
  7. {{cfg.labels.detection}}: {{voidship.base.detection}}
  8. +
  9. {{cfg.labels.speed}}: {{voidship.base.speed}}
  10. +
  11. {{cfg.labels.space}}: {{voidship.base.space}}
  12. +
  13. {{cfg.labels.power}}: {{voidship.base.power}}
  14. +
+
+
+

Mods (items)

+
    +
  1. {{cfg.labels.armour}}: {{voidship.mods.armour}}
  2. +
  3. {{cfg.labels.integrity}}: {{voidship.mods.integrity}}
  4. +
  5. {{cfg.labels.manoeuvre}}: {{voidship.mods.manoeuvre}}
  6. +
  7. {{cfg.labels.detection}}: {{voidship.mods.detection}}
  8. +
  9. {{cfg.labels.speed}}: {{voidship.mods.speed}}
  10. +
  11. {{cfg.labels.space}}: {{voidship.mods.space}}
  12. +
  13. {{cfg.labels.power}}: {{voidship.mods.power}}
  14. +
+
+
+
+ + +
+
+

RT Raw (read-only snapshot)

+

Original RT-ish data preserved under flags.wg-voidships-builder.rtRaw for conversion mapping (next step).

+
{{json rtRaw}}
+
+
+ + +
+
+
+

Main Roles

+
    +
  1. Command: {{crew.command}}
  2. +
  3. Pilot/Helm: {{crew.pilot}}
  4. +
  5. Sensors/Auspex: {{crew.sensors}}
  6. +
  7. Engineering: {{crew.engineering}}
  8. +
+
+
+

Combat & Support

+
    +
  1. Gunnery: {{crew.gunnery}}
  2. +
  3. Security/Armsmen: {{crew.security}}
  4. +
  5. Flight Deck: {{crew.flightDeck}}
  6. +
  7. Passengers: {{crew.passengers}}
  8. +
+
+
+
+ +