import json, sys BLURB = { "Jericho-class Pilgrim Vessel": "Immense conversions for pilgrim passages and reliquary cargo. Cavernous holds and chapels; range and capacity over armour and speed.", "Vagabond-class Merchant Trader": "Modular cargobays and adaptable fittings; a chartist workhorse. Simple to keep running in frontier yards; heavily customised.", "Hazeroth-class Privateer": "Knife-fast raider with reinforced internals and stripped armour. Favoured for ambushes and commerce raiding.", "Havoc-class Merchant Raider": "Hybrid carrier-raider balancing battery weight with cargo. Less protected than Navy hulls but brutal on traffic.", "Sword-class Frigate": "Reliable escort with accurate dorsal lasers and stout drives. Squadrons screen convoys and prosecute pirates.", "Tempest-class Strike Frigate": "Close-action brawler for boardings and short-range gunnery. Reinforced prow and over-tuned drives.", "Dauntless-class Light Cruiser": "Versatile patrol cruiser—good acceleration and flexible refits. Often leads Passage Watch patrols.", "Lunar-class Cruiser": "Archetypal line cruiser—balanced, dependable, easily refitted. Backbone of many squadrons.", "Cobra-class Destroyer": "Torpedo raider hunting in packs; strikes, then disengages to reload.", "Falchion-class Frigate": "Modernised frigate with improved drives for frontier scouting.", "Turbulent-class Heavy Frigate": "Strengthened frame and broader arcs; trades agility for staying power.", "Defiant-class Light Cruiser (Carrier)": "Light carrier with significant attack craft; excellent for recon and strikes.", "Universe-class Mass Conveyor": "Super-massive hauler for colony loads and crusade materiel; logistics linchpin.", "Goliath-class Factory Ship": "Roving manufactorum and refinery; long autonomous deployments.", "Conquest-class Star Galleon": "Heavily built merchant galleon with strong batteries and hull.", "Orion-class Star Clipper": "Fast passenger/light-cargo clipper for courier missions and risky runs.", "Secutor-class Monitor-Cruiser": "Mechanicus monitor with powerful dorsals and redundant shielding; anchors actions.", "Lathe-class Monitor-Cruiser": "Lathes-forged variant emphasising resilient sanctified systems.", "Tyrant-class Cruiser": "Macrobattery-focused cruiser optimised for crushing broadsides.", "Cobra-class Destroyer (Renegade)": "Ex-Navy Cobra in privateer hands with non-standard prow refits." } path = "packs/wg-voidship-hulls.db" out = [] with open(path,"r",encoding="utf-8") as f: for line in f: if not line.strip(): continue d = json.loads(line) if d.get("name") in BLURB: d.setdefault("system", {}) d["system"]["notes"] = BLURB[d["name"]] out.append(json.dumps(d, ensure_ascii=False)) with open(path,"w",encoding="utf-8") as f: f.write("\n".join(out) + "\n") print("Patched:", path, "entries:", len(out))