Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Autodoc installation program which almost guarantees flawless installation of basic-tier bionics #46808

Merged
merged 16 commits into from
Feb 6, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions data/json/flags.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@
"info": "This gear is <info>strapped</info> onto you.",
"conflicts": [ "OUTER", "SKINTIGHT", "WAIST", "PERSONAL", "AURA" ]
},
{
"id": "BIONIC_INSTALLATION_DATA",
"type": "json_flag",
"context": [ "GENERIC" ],
"info": "This item <info>provides</info> instructions and other required data for several bionics, allowing installation of them with <good>minimal failure chance</good>."
},
{
"id": "BIONIC_NPC_USABLE",
"type": "json_flag",
Expand Down
29 changes: 29 additions & 0 deletions data/json/itemgroups/electronics.json
Original file line number Diff line number Diff line change
Expand Up @@ -116,5 +116,34 @@
{ "item": "smart_phone", "prob": 9, "charges-min": 0, "charges-max": 15 },
{ "item": "smart_phone", "prob": 1, "charges-min": 130, "charges-max": 130 }
]
},
{
"type": "item_group",
"subtype": "distribution",
"id": "autodoc_installation_programs",
"items": [
{ "item": "AID_bio_alarm" },
{ "item": "AID_bio_tattoo_led" },
{ "item": "AID_bio_power_armor_interface" },
{ "item": "AID_bio_power_storage" },
{ "item": "AID_bio_power_storage_mkII" },
{ "item": "AID_bio_watch" },
{ "item": "AID_bio_syringe" },
{ "item": "AID_bio_blood_anal" },
{ "item": "AID_bio_flashlight" },
{ "item": "AID_bio_magnet" },
{ "item": "AID_bio_soporific" },
{ "item": "AID_bio_armor_arms" },
{ "item": "AID_bio_armor_legs" },
{ "item": "AID_bio_shotgun" },
{ "item": "AID_bio_blood_filter" },
{ "item": "AID_bio_climate" },
{ "item": "AID_bio_geiger" },
{ "item": "AID_bio_heatsink" },
{ "item": "AID_bio_meteorologist" },
{ "item": "AID_bio_railgun" },
{ "item": "AID_bio_ups" },
{ "item": "AID_bio_weight" }
]
}
]
167 changes: 167 additions & 0 deletions data/json/items/software.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,171 @@
[
{
"abstract": "AID_abstract",
"//": "All bionics that would inherit from this abstract should have IDs like 'AID_foo', where 'foo' is the name of corresponding bionic ID.",
"type": "GENERIC",
"name": { "str": "abstract autodoc installation data" },
"symbol": "#",
"weight": "150 g",
"volume": "50 ml",
"price": "200 USD",
"price_postapoc": "50 USD",
"looks_like": "data_card",
"flags": [ "BIONIC_INSTALLATION_DATA" ]
},
{
"id": "AID_bio_alarm",
"copy-from": "AID_abstract",
"type": "GENERIC",
"name": { "str_sp": "Alarm System CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Alarm System CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_tattoo_led",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "LED Tattoo CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of LED Tattoo CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_power_armor_interface",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Power Armor Interface CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Power Armor Interface CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_power_storage",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Power Storage CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Power Storage CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_power_storage_mkII",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Power Storage CBM Mk. II installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Power Storage CBM Mk. II, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_watch",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Internal Chronometer CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Internal Chronometer CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_syringe",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Intravenous Needletip CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Intravenous Needletip CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_blood_anal",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Blood Analysis CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Blood Analysis CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_flashlight",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Cranial Flashlight CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Cranial Flashlight CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_magnet",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Electromagnetic Unit CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Electromagnetic Unit CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_soporific",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Soporific Induction CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Soporific Induction CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_armor_arms",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Arms Alloy Plating CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Arms Alloy Plating CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_armor_legs",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Legs Alloy Plating CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Legs Alloy Plating CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_shotgun",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Shotgun Arm CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Shotgun Arm CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_blood_filter",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Blood Filter CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Blood Filter CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_climate",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Internal Climate Control CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Internal Climate Control CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_geiger",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Integrated Dosimeter CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Integrated Dosimeter CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_heatsink",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Thermal Dissipation CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Thermal Dissipation CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_meteorologist",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Weather Reader CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Weather Reader CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_railgun",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Railgun CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Railgun CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_ups",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Unified Power System CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Unified Power System CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "AID_bio_weight",
"type": "GENERIC",
"copy-from": "AID_abstract",
"name": { "str_sp": "Titanium Skeletal Bracing CBM installation data" },
"description": "Precise step-by-step instructions and other required data for installation of Titanium Skeletal Bracing CBM, stored on a data card of proprietary form-factor, designed to be used extensively by an Autodoc, and allowing bionic installation with minimal failure chance. Integrated security subroutine renders it unusable after installation."
},
{
"id": "software",
"type": "GENERIC",
Expand Down
30 changes: 23 additions & 7 deletions data/json/mapgen/hospital.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@
"#......................x...........l#8....#...#rrr.l#``#l.rrr#...#rrr.l#",
"#....................../.....A..BT.l#8....!...!....l#``#l....!...!....l#",
"#....................../.....?..B..r#88888#...#rrr.l#``#l.rrr#...#rrr.l#",
"#......................x...........r#######///#######``#######///#######",
"####################///##############...cT#...#Tc...#``#...cT#...#Tc...#",
"###########.......l#...x...........l#BB...+...+...BB#``#BB...+...+...BB#",
"###########r.TBBT..#.../.....TBBT...#BB...+...+...BB#``#BB...+...+...BB#",
"###########r..BB...#.../......BB...r#....l#...#l....#``#....l#...#l....#",
"###########........#...x...........r#######...#######``#######...#######",
"#5.....................x...........r#######///#######``#######///#######",
"##X#################///##############...cT#...#Tc...#``#...cT#...#Tc...#",
"#H.......H#.......l#...x...........l#BB...+...+...BB#``#BB...+...+...BB#",
"#H.......H#r.TBBT..#.../.....TBBT...#BB...+...+...BB#``#BB...+...+...BB#",
"#H.......H#r..BB...#.../......BB...r#....l#...#l....#``#....l#...#l....#",
"#H.......H#........#...x...........r#######...#######``#######...#######",
"###########xxx//xxx#...##############....l#...#l....#``#....l#...#l....#",
"#l........x............x...........R#BB...+...+...BB#``#BB...+...+...BB#",
"#R.TB..A../............/.....6.....R#BB...+...+...BB#``#BB...+...+...BB#",
Expand Down Expand Up @@ -85,8 +85,16 @@
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#######################;;#################"
],
"palettes": [ "hospital" ],
"terrain": { "5": "t_floor", "H": "t_floor", "X": "t_door_metal_locked" },
"furniture": { "H": "f_locker" },
"vendingmachines": { "D": { "item_group": "vending_drink" }, "F": { "item_group": "vending_food" } },
"computers": {
"5": {
"name": "Medical Supply Access",
"security": 2,
"options": [ { "name": "Unlock Door", "action": "unlock" } ],
"failures": [ { "action": "shutdown" }, { "action": "alarm" } ]
},
"6": {
"name": "Centrifuge",
"options": [ { "name": "Analyze blood", "action": "blood_anal" } ],
Expand All @@ -108,8 +116,16 @@
"9": { "item": "produce", "chance": 40 },
"T": { "item": "snacks", "chance": 50 },
"2": { "item": "hospital_samples", "chance": 50 },
"k": { "item": "doctors_books", "chance": 60 }
"k": { "item": "doctors_books", "chance": 60 },
"H": [
{ "item": "harddrugs", "chance": 60 },
{ "item": "gear_medical", "chance": 60, "repeat": [ 1, 3 ] },
{ "item": "drugs_analgesic", "chance": 60, "repeat": [ 1, 3 ] },
{ "item": "drugs_rare", "chance": 60 },
{ "item": "surgery", "chance": 60 }
]
},
"place_loot": [ { "group": "autodoc_installation_programs", "x": 1, "y": [ 34, 37 ], "chance": 75, "repeat": 4 } ],
"place_monsters": [
{ "monster": "GROUP_HOSPITAL", "x": [ 0, 23 ], "y": [ 0, 23 ], "repeat": [ 0, 3 ], "density": 3 },
{ "monster": "GROUP_HOSPITAL", "x": [ 25, 46 ], "y": [ 1, 22 ], "repeat": [ 0, 3 ], "density": 3 },
Expand Down
3 changes: 2 additions & 1 deletion data/json/mapgen/office_doctor.json
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,8 @@
{ "item": "laptop", "x": 4, "y": 4, "chance": 85 },
{ "item": "television", "x": 15, "y": 6, "chance": 95 },
{ "item": "soap", "x": 5, "y": 18, "chance": 95 },
{ "item": "anesthetic_kit", "x": 13, "y": 18, "chance": 75, "ammo": 100 }
{ "item": "anesthetic_kit", "x": 13, "y": 18, "chance": 75, "ammo": 100 },
{ "group": "autodoc_installation_programs", "x": 21, "y": [ 16, 18 ], "chance": 75, "repeat": 3 }
],
"vehicles": { "W": { "vehicle": "swivel_chair", "chance": 100, "status": 1 } }
}
Expand Down
4 changes: 2 additions & 2 deletions data/json/mapgen/s_electronics.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
{ "item": "bionics_common", "x": [ 9, 12 ], "y": 8, "chance": 60, "repeat": [ 1, 2 ] },
{ "item": "elecsto_lights", "x": 2, "y": [ 9, 12 ], "chance": 80, "repeat": [ 2, 6 ] },
{ "item": "elecsto_pcs", "x": [ 5, 8 ], "y": 10, "chance": 85, "repeat": [ 1, 4 ] },
{ "item": "elecsto_stor", "x": [ 9, 10 ], "y": 10, "chance": 75, "repeat": [ 1, 4 ] },
{ "item": "electronics", "x": [ 9, 10 ], "y": 10, "chance": 75, "repeat": [ 1, 4 ] },
{ "item": "elecsto_entapl", "x": [ 5, 7 ], "y": 11, "chance": 70, "repeat": [ 2, 4 ] },
{ "item": "elecsto_persele", "x": [ 8, 9 ], "y": 11, "chance": 70, "repeat": [ 1, 6 ] },
{ "item": "elecsto_homapl", "x": [ 5, 10 ], "y": [ 13, 14 ], "chance": 90, "repeat": [ 1, 4 ] },
Expand All @@ -93,7 +93,7 @@
{ "item": "electronics", "x": [ 14, 17 ], "y": 14, "chance": 85, "repeat": [ 1, 4 ] },
{ "item": "snacks", "x": 16, "y": 9, "chance": 85 },
{ "item": "magazines", "x": 16, "y": 9, "chance": 60, "repeat": [ 1, 8 ] },
{ "item": "electronics", "x": 21, "y": [ 12, 13 ], "chance": 85, "repeat": [ 1, 4 ] },
{ "item": "autodoc_installation_programs", "x": 21, "y": [ 12, 13 ], "chance": 85, "repeat": [ 1, 4 ] },
{ "item": "trash", "x": 18, "y": 15, "chance": 65 },
{ "item": "trash", "x": [ 15, 17 ], "y": [ 20, 21 ], "chance": 80 }
],
Expand Down
Loading