From e45a95d365b565cbfceac32b2e913947cde6262a Mon Sep 17 00:00:00 2001 From: Atermonera Date: Wed, 11 Mar 2020 12:55:36 -0700 Subject: [PATCH] Robotics Expansion: RIG-ged and Ready --- code/__defines/misc.dm | 1 + code/game/mecha/mech_fabricator.dm | 4 +- code/game/mecha/mech_prosthetics.dm | 4 +- .../rig/modules/specific/ai_container.dm | 216 +++++++++++++++ .../rig/modules/specific/chem_dispenser.dm | 174 +++++++++++++ .../rig/modules/specific/cleaner_launcher.dm | 70 +++++ .../spacesuits/rig/modules/specific/cloak.dm | 53 ++++ .../rig/modules/specific/datajack.dm | 86 ++++++ .../spacesuits/rig/modules/specific/device.dm | 176 +++++++++++++ .../rig/modules/specific/electrowarfare.dm | 30 +++ .../rig/modules/specific/grenade_launcher.dm | 98 +++++++ .../rig/modules/specific/inhand_fabricator.dm | 63 +++++ .../rig/modules/specific/jetpack.dm | 66 +++++ .../modules/specific/metalfoam_launcher.dm | 15 ++ .../rig/modules/specific/mounted_gun.dm | 175 +++++++++++++ .../rig/modules/specific/powersink.dm | 129 +++++++++ .../rig/modules/specific/self_destruct.dm | 50 ++++ .../rig/modules/specific/sprinter.dm | 43 +++ .../rig/modules/specific/teleporter.dm | 80 ++++++ .../spacesuits/rig/modules/specific/vision.dm | 237 +++++++++++++++++ .../spacesuits/rig/modules/specific/voice.dm | 52 ++++ .../spacesuits/rig/modules/utility.dm | 37 ++- .../clothing/spacesuits/rig/suits/robotics.dm | 29 +++ code/modules/materials/fifty_spawner_mats.dm | 4 + code/modules/materials/material_sheets.dm | 7 + code/modules/materials/materials.dm | 16 ++ code/modules/mining/ore_datum.dm | 1 + code/modules/mob/living/carbon/human/life.dm | 5 + .../projectiles/guns/energy/temperature.dm | 4 + code/modules/research/circuitprinter.dm | 4 +- code/modules/research/mechfab_designs.dm | 246 ++++++++++++++++++ code/modules/research/protolathe.dm | 4 +- html/changelogs/mechoid - RoboticsRigs.yml | 38 +++ icons/mob/head.dmi | Bin 209356 -> 209305 bytes icons/mob/rig_back.dmi | Bin 12143 -> 12297 bytes icons/mob/spacesuit.dmi | Bin 183933 -> 186979 bytes icons/mob/species/seromi/back.dmi | Bin 22479 -> 22619 bytes icons/mob/species/seromi/head.dmi | Bin 90868 -> 92540 bytes icons/mob/species/seromi/suit.dmi | Bin 99681 -> 101290 bytes icons/mob/species/skrell/helmet.dmi | Bin 66507 -> 68067 bytes icons/mob/species/skrell/suit.dmi | Bin 70883 -> 71500 bytes icons/mob/species/tajaran/helmet.dmi | Bin 53724 -> 55949 bytes icons/mob/species/tajaran/suit.dmi | Bin 100420 -> 103242 bytes icons/mob/species/unathi/helmet.dmi | Bin 55306 -> 53911 bytes icons/mob/species/unathi/suit.dmi | Bin 95113 -> 98498 bytes icons/obj/rig_modules.dmi | Bin 22428 -> 22730 bytes vorestation.dme | 23 ++ 47 files changed, 2211 insertions(+), 29 deletions(-) create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/device.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/electrowarfare.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/jetpack.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/metalfoam_launcher.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/self_destruct.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/teleporter.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/vision.dm create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/voice.dm create mode 100644 code/modules/clothing/spacesuits/rig/suits/robotics.dm create mode 100644 html/changelogs/mechoid - RoboticsRigs.yml diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index a7297bc60d..40ea2035df 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -177,6 +177,7 @@ #define MAT_SUPERMATTER "supermatter" #define MAT_METALHYDROGEN "mhydrogen" #define MAT_OSMIUM "osmium" +#define MAT_GRAPHITE "graphite" #define SHARD_SHARD "shard" #define SHARD_SHRAPNEL "shrapnel" diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 71a7610547..f2a2867220 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -13,8 +13,8 @@ var/speed = 1 var/mat_efficiency = 1 - var/list/materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, "plastic" = 0, MAT_PLASTEEL = 0, "gold" = 0, "silver" = 0, MAT_LEAD = 0, "osmium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, "phoron" = 0, "uranium" = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) - var/list/hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) + var/list/materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, "plastic" = 0, MAT_GRAPHITE = 0, MAT_PLASTEEL = 0, "gold" = 0, "silver" = 0, MAT_LEAD = 0, "osmium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, "phoron" = 0, "uranium" = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) + var/list/hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_GRAPHITE, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) var/res_max_amount = 200000 var/datum/research/files diff --git a/code/game/mecha/mech_prosthetics.dm b/code/game/mecha/mech_prosthetics.dm index 39b4cf1623..2f59728128 100644 --- a/code/game/mecha/mech_prosthetics.dm +++ b/code/game/mecha/mech_prosthetics.dm @@ -13,8 +13,8 @@ var/speed = 1 var/mat_efficiency = 1 - var/list/materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, "plastic" = 0, MAT_PLASTEEL = 0, "gold" = 0, "silver" = 0, MAT_LEAD = 0, "osmium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, "phoron" = 0, "uranium" = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0) - var/list/hidden_materials = list(MAT_DURASTEEL, MAT_VERDANTIUM, MAT_MORPHIUM) + var/list/materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, "plastic" = 0, MAT_GRAPHITE = 0, MAT_PLASTEEL = 0, "gold" = 0, "silver" = 0, MAT_LEAD = 0, "osmium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, "phoron" = 0, "uranium" = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0) + var/list/hidden_materials = list(MAT_DURASTEEL, MAT_GRAPHITE, MAT_VERDANTIUM, MAT_MORPHIUM) var/res_max_amount = 200000 var/datum/research/files diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm b/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm new file mode 100644 index 0000000000..6dc5fc4f01 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm @@ -0,0 +1,216 @@ +/obj/item/ai_verbs + name = "AI verb holder" + +/obj/item/ai_verbs/verb/hardsuit_interface() + set category = "Hardsuit" + set name = "Open Hardsuit Interface" + set src in usr + + if(!usr.loc || !usr.loc.loc || !istype(usr.loc.loc, /obj/item/rig_module)) + to_chat(usr, "You are not loaded into a hardsuit.") + return + + var/obj/item/rig_module/module = usr.loc.loc + if(!module.holder) + to_chat(usr, "Your module is not installed in a hardsuit.") + return + + module.holder.ui_interact(usr, nano_state = contained_state) + +/obj/item/rig_module/ai_container + + name = "IIS module" + desc = "An integrated intelligence system module suitable for most hardsuits." + icon_state = "IIS" + toggleable = 1 + usable = 1 + disruptive = 0 + activates_on_touch = 1 + + engage_string = "Eject AI" + activate_string = "Enable Core Transfer" + deactivate_string = "Disable Core Transfer" + + interface_name = "integrated intelligence system" + interface_desc = "A socket that supports a range of artificial intelligence systems." + + var/mob/integrated_ai // Direct reference to the actual mob held in the suit. + var/obj/item/ai_card // Reference to the MMI, posibrain, intellicard or pAI card previously holding the AI. + var/obj/item/ai_verbs/verb_holder + +/obj/item/rig_module/ai_container/process() + if(integrated_ai) + var/obj/item/weapon/rig/rig = get_rig() + if(rig && rig.ai_override_enabled) + integrated_ai.get_rig_stats = 1 + else + integrated_ai.get_rig_stats = 0 + +/mob/living/Stat() + . = ..() + if(. && get_rig_stats) + var/obj/item/weapon/rig/rig = get_rig() + if(rig) + SetupStat(rig) + +/obj/item/rig_module/ai_container/proc/update_verb_holder() + if(!verb_holder) + verb_holder = new(src) + if(integrated_ai) + verb_holder.forceMove(integrated_ai) + else + verb_holder.forceMove(src) + +/obj/item/rig_module/ai_container/accepts_item(var/obj/item/input_device, var/mob/living/user) + + // Check if there's actually an AI to deal with. + var/mob/living/silicon/ai/target_ai + if(istype(input_device, /mob/living/silicon/ai)) + target_ai = input_device + else + target_ai = locate(/mob/living/silicon/ai) in input_device.contents + + var/obj/item/device/aicard/card = ai_card + + // Downloading from/loading to a terminal. + if(istype(input_device,/obj/machinery/computer/aifixer) || istype(input_device,/mob/living/silicon/ai) || istype(input_device,/obj/structure/AIcore/deactivated)) + + // If we're stealing an AI, make sure we have a card for it. + if(!card) + card = new /obj/item/device/aicard(src) + + // Terminal interaction only works with an intellicarded AI. + if(!istype(card)) + return 0 + + // Since we've explicitly checked for three types, this should be safe. + input_device.attackby(card,user) + + // If the transfer failed we can delete the card. + if(locate(/mob/living/silicon/ai) in card) + ai_card = card + integrated_ai = locate(/mob/living/silicon/ai) in card + else + eject_ai() + update_verb_holder() + return 1 + + if(istype(input_device,/obj/item/device/aicard)) + // We are carding the AI in our suit. + if(integrated_ai) + integrated_ai.attackby(input_device,user) + // If the transfer was successful, we can clear out our vars. + if(integrated_ai.loc != src) + integrated_ai = null + eject_ai() + else + // You're using an empty card on an empty suit, idiot. + if(!target_ai) + return 0 + integrate_ai(input_device,user) + return 1 + + // Okay, it wasn't a terminal being touched, check for all the simple insertions. + if(input_device.type in list(/obj/item/device/paicard, /obj/item/device/mmi, /obj/item/device/mmi/digital/posibrain)) + if(integrated_ai) + integrated_ai.attackby(input_device,user) + // If the transfer was successful, we can clear out our vars. + if(integrated_ai.loc != src) + integrated_ai = null + eject_ai() + else + integrate_ai(input_device,user) + return 1 + + return 0 + +/obj/item/rig_module/ai_container/engage(atom/target) + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + if(!target) + if(ai_card) + if(istype(ai_card,/obj/item/device/aicard)) + ai_card.ui_interact(H, state = deep_inventory_state) + else + eject_ai(H) + update_verb_holder() + return 1 + + if(accepts_item(target,H)) + return 1 + + return 0 + +/obj/item/rig_module/ai_container/removed() + eject_ai() + ..() + +/obj/item/rig_module/ai_container/proc/eject_ai(var/mob/user) + + if(ai_card) + if(istype(ai_card, /obj/item/device/aicard)) + if(integrated_ai && !integrated_ai.stat) + if(user) + to_chat(user, "You cannot eject your currently stored AI. Purge it manually.") + return 0 + to_chat(user, "You purge the previous AI from your Integrated Intelligence System, freeing it for use.") + if(integrated_ai) + integrated_ai.ghostize() + qdel(integrated_ai) + integrated_ai = null + if(ai_card) + qdel(ai_card) + ai_card = null + else if(user) + user.put_in_hands(ai_card) + else + ai_card.forceMove(get_turf(src)) + ai_card = null + integrated_ai = null + update_verb_holder() + +/obj/item/rig_module/ai_container/proc/integrate_ai(var/obj/item/ai,var/mob/user) + if(!ai) return + + // The ONLY THING all the different AI systems have in common is that they all store the mob inside an item. + var/mob/living/ai_mob = locate(/mob/living) in ai.contents + if(ai_mob) + + if(ai_mob.key && ai_mob.client) + + if(istype(ai, /obj/item/device/aicard)) + + if(!ai_card) + ai_card = new /obj/item/device/aicard(src) + + var/obj/item/device/aicard/source_card = ai + var/obj/item/device/aicard/target_card = ai_card + if(istype(source_card) && istype(target_card)) + if(target_card.grab_ai(ai_mob, user)) + source_card.clear() + else + return 0 + else + return 0 + else + user.drop_from_inventory(ai) + ai.forceMove(src) + ai_card = ai + to_chat(ai_mob, "You have been transferred to \the [holder]'s [src].") + to_chat(user, "You load [ai_mob] into \the [holder]'s [src].") + + integrated_ai = ai_mob + + if(!(locate(integrated_ai) in ai_card)) + integrated_ai = null + eject_ai() + else + to_chat(user, "There is no active AI within \the [ai].") + else + to_chat(user, "There is no active AI within \the [ai].") + update_verb_holder() + return diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm b/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm new file mode 100644 index 0000000000..e8d6416e9a --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm @@ -0,0 +1,174 @@ +/obj/item/rig_module/chem_dispenser + name = "mounted chemical dispenser" + desc = "A complex web of tubing and needles suitable for hardsuit use." + icon_state = "injector" + usable = 1 + selectable = 0 + toggleable = 0 + disruptive = 0 + + engage_string = "Inject" + + interface_name = "integrated chemical dispenser" + interface_desc = "Dispenses loaded chemicals directly into the wearer's bloodstream." + + charges = list( + list("tricordrazine", "tricordrazine", 0, 80), + list("tramadol", "tramadol", 0, 80), + list("dexalin plus", "dexalinp", 0, 80), + list("antibiotics", "spaceacillin", 0, 80), + list("antitoxins", "anti_toxin", 0, 80), + list("nutrients", "glucose", 0, 80), + list("hyronalin", "hyronalin", 0, 80), + list("radium", "radium", 0, 80) + ) + + var/max_reagent_volume = 80 //Used when refilling. + +/obj/item/rig_module/chem_dispenser/ninja + interface_desc = "Dispenses loaded chemicals directly into the wearer's bloodstream. This variant is made to be extremely light and flexible." + + //Want more? Go refill. Gives the ninja another reason to have to show their face. + charges = list( + list("tricordrazine", "tricordrazine", 0, 30), + list("tramadol", "tramadol", 0, 30), + list("dexalin plus", "dexalinp", 0, 30), + list("antibiotics", "spaceacillin", 0, 30), + list("antitoxins", "anti_toxin", 0, 60), + list("nutrients", "glucose", 0, 80), + list("bicaridine", "bicaridine", 0, 30), + list("clotting agent", "myelamine", 0, 30), + list("peridaxon", "peridaxon", 0, 30), + list("hyronalin", "hyronalin", 0, 30), + list("radium", "radium", 0, 30) + ) + +/obj/item/rig_module/chem_dispenser/accepts_item(var/obj/item/input_item, var/mob/living/user) + + if(!input_item.is_open_container()) + return 0 + + if(!input_item.reagents || !input_item.reagents.total_volume) + to_chat(user, "\The [input_item] is empty.") + return 0 + + // Magical chemical filtration system, do not question it. + var/total_transferred = 0 + for(var/datum/reagent/R in input_item.reagents.reagent_list) + for(var/chargetype in charges) + var/datum/rig_charge/charge = charges[chargetype] + if(charge.display_name == R.id) + + var/chems_to_transfer = R.volume + + if((charge.charges + chems_to_transfer) > max_reagent_volume) + chems_to_transfer = max_reagent_volume - charge.charges + + charge.charges += chems_to_transfer + input_item.reagents.remove_reagent(R.id, chems_to_transfer) + total_transferred += chems_to_transfer + + break + + if(total_transferred) + to_chat(user, "You transfer [total_transferred] units into the suit reservoir.") + else + to_chat(user, "None of the reagents seem suitable.") + return 1 + +/obj/item/rig_module/chem_dispenser/engage(atom/target) + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + if(!charge_selected) + to_chat(H, "You have not selected a chemical type.") + return 0 + + var/datum/rig_charge/charge = charges[charge_selected] + + if(!charge) + return 0 + + var/chems_to_use = 10 + if(charge.charges <= 0) + to_chat(H, "Insufficient chems!") + return 0 + else if(charge.charges < chems_to_use) + chems_to_use = charge.charges + + var/mob/living/carbon/target_mob + if(target) + if(istype(target,/mob/living/carbon)) + target_mob = target + else + return 0 + else + target_mob = H + + if(target_mob != H) + to_chat(H, "You inject [target_mob] with [chems_to_use] unit\s of [charge.display_name].") + to_chat(target_mob, "You feel a rushing in your veins as [chems_to_use] unit\s of [charge.display_name] [chems_to_use == 1 ? "is" : "are"] injected.") + target_mob.reagents.add_reagent(charge.display_name, chems_to_use) + + charge.charges -= chems_to_use + if(charge.charges < 0) charge.charges = 0 + + return 1 + +/obj/item/rig_module/chem_dispenser/combat + + name = "combat chemical injector" + desc = "A complex web of tubing and needles suitable for hardsuit use." + + charges = list( + list("synaptizine", "synaptizine", 0, 30), + list("hyperzine", "hyperzine", 0, 30), + list("oxycodone", "oxycodone", 0, 30), + list("nutrients", "glucose", 0, 80), + list("clotting agent", "myelamine", 0, 80) + ) + + interface_name = "combat chem dispenser" + interface_desc = "Dispenses loaded chemicals directly into the bloodstream." + + +/obj/item/rig_module/chem_dispenser/injector + + name = "mounted chemical injector" + desc = "A complex web of tubing and a large needle suitable for hardsuit use." + usable = 0 + selectable = 1 + disruptive = 1 + + interface_name = "mounted chem injector" + interface_desc = "Dispenses loaded chemicals via an arm-mounted injector." + +/obj/item/rig_module/chem_dispenser/injector/advanced + + charges = list( + list("tricordrazine", "tricordrazine", 0, 80), + list("tramadol", "tramadol", 0, 80), + list("dexalin plus", "dexalinp", 0, 80), + list("antibiotics", "spaceacillin", 0, 80), + list("antitoxins", "anti_toxin", 0, 80), + list("nutrients", "glucose", 0, 80), + list("hyronalin", "hyronalin", 0, 80), + list("radium", "radium", 0, 80), + list("clotting agent", "myelamine", 0, 80) + ) + +/obj/item/rig_module/chem_dispenser/injector/advanced/empty + charges = list( + list("tricordrazine", "tricordrazine", 0, 0), + list("tramadol", "tramadol", 0, 0), + list("dexalin plus", "dexalinp", 0, 0), + list("antibiotics", "spaceacillin", 0, 0), + list("antitoxins", "anti_toxin", 0, 0), + list("nutrients", "glucose", 0, 0), + list("hyronalin", "hyronalin", 0, 0), + list("radium", "radium", 0, 0), + list("clotting agent", "myelamine", 0, 0) + ) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm b/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm new file mode 100644 index 0000000000..998fc3d46a --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm @@ -0,0 +1,70 @@ +/obj/item/rig_module/cleaner_launcher + + name = "mounted space cleaner launcher" + desc = "A shoulder-mounted micro-cleaner dispenser." + selectable = 1 + icon_state = "grenade_launcher" + + interface_name = "integrated cleaner launcher" + interface_desc = "Discharges loaded cleaner grenades against the wearer's location." + + var/fire_force = 30 + var/fire_distance = 10 + + charges = list( + list("cleaner grenade", "cleaner grenade", /obj/item/weapon/grenade/chem_grenade/cleaner, 9), + ) + +/obj/item/rig_module/cleaner_launcher/accepts_item(var/obj/item/input_device, var/mob/living/user) + + if(!istype(input_device) || !istype(user)) + return 0 + + var/datum/rig_charge/accepted_item + for(var/charge in charges) + var/datum/rig_charge/charge_datum = charges[charge] + if(input_device.type == charge_datum.product_type) + accepted_item = charge_datum + break + + if(!accepted_item) + return 0 + + if(accepted_item.charges >= 5) + to_chat(user, "Another grenade of that type will not fit into the module.") + return 0 + + to_chat(user, "You slot \the [input_device] into the suit module.") + user.drop_from_inventory(input_device) + qdel(input_device) + accepted_item.charges++ + return 1 + +/obj/item/rig_module/cleaner_launcher/engage(atom/target) + + if(!..()) + return 0 + + if(!target) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + if(!charge_selected) + to_chat(H, "You have not selected a grenade type.") + return 0 + + var/datum/rig_charge/charge = charges[charge_selected] + + if(!charge) + return 0 + + if(charge.charges <= 0) + to_chat(H, "Insufficient grenades!") + return 0 + + charge.charges-- + var/obj/item/weapon/grenade/new_grenade = new charge.product_type(get_turf(H)) + H.visible_message("[H] launches \a [new_grenade]!") + new_grenade.activate(H) + new_grenade.throw_at(target,fire_force,fire_distance) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm b/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm new file mode 100644 index 0000000000..a1dfb05812 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm @@ -0,0 +1,53 @@ +/obj/item/rig_module/stealth_field + + name = "active camouflage module" + desc = "A robust hardsuit-integrated stealth module." + icon_state = "cloak" + + toggleable = 1 + disruptable = 1 + disruptive = 0 + + use_power_cost = 50 + active_power_cost = 10 + passive_power_cost = 0 + module_cooldown = 30 + + activate_string = "Enable Cloak" + deactivate_string = "Disable Cloak" + + interface_name = "integrated stealth system" + interface_desc = "An integrated active camouflage system." + + suit_overlay_active = "stealth_active" + suit_overlay_inactive = "stealth_inactive" + +/obj/item/rig_module/stealth_field/activate() + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + to_chat(H, "You are now nearly invisible to normal detection.") + H.alpha = 5 + + anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null) + + H.visible_message("[H.name] vanishes into thin air!") + +/obj/item/rig_module/stealth_field/deactivate() + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + to_chat(H, "You are now visible.") + + anim(get_turf(H), H,'icons/mob/mob.dmi',,"uncloak",,H.dir) + anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null) + H.alpha = initial(H.alpha) + + H.visible_message("[H.name] appears from thin air!") + playsound(get_turf(H), 'sound/effects/stealthoff.ogg', 75, 1) \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm b/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm new file mode 100644 index 0000000000..be34426447 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm @@ -0,0 +1,86 @@ +/obj/item/rig_module/datajack + + name = "datajack module" + desc = "A simple induction datalink module." + icon_state = "datajack" + toggleable = 1 + activates_on_touch = 1 + usable = 0 + + activate_string = "Enable Datajack" + deactivate_string = "Disable Datajack" + + interface_name = "contact datajack" + interface_desc = "An induction-powered high-throughput datalink suitable for hacking encrypted networks." + var/list/stored_research + +/obj/item/rig_module/datajack/New() + ..() + stored_research = list() + +/obj/item/rig_module/datajack/engage(atom/target) + + if(!..()) + return 0 + + if(target) + var/mob/living/carbon/human/H = holder.wearer + if(!accepts_item(target,H)) + return 0 + return 1 + +/obj/item/rig_module/datajack/accepts_item(var/obj/item/input_device, var/mob/living/user) + + if(istype(input_device,/obj/item/weapon/disk/tech_disk)) + to_chat(user, "You slot the disk into [src].") + var/obj/item/weapon/disk/tech_disk/disk = input_device + if(disk.stored) + if(load_data(disk.stored)) + to_chat(user, "Download successful; disk erased.") + disk.stored = null + else + to_chat(user, "The disk is corrupt. It is useless to you.") + else + to_chat(user, "The disk is blank. It is useless to you.") + return 1 + + // I fucking hate R&D code. This typecheck spam would be totally unnecessary in a sane setup. Sanity? This is BYOND. + else if(istype(input_device,/obj/machinery)) + var/datum/research/incoming_files + if(istype(input_device,/obj/machinery/computer/rdconsole) ||\ + istype(input_device,/obj/machinery/r_n_d/server) ||\ + istype(input_device,/obj/machinery/mecha_part_fabricator)) + + incoming_files = input_device:files + + if(!incoming_files || !incoming_files.known_tech || !incoming_files.known_tech.len) + to_chat(user, "Memory failure. There is nothing accessible stored on this terminal.") + else + // Maybe consider a way to drop all your data into a target repo in the future. + if(load_data(incoming_files.known_tech)) + to_chat(user, "Download successful; local and remote repositories synchronized.") + else + to_chat(user, "Scan complete. There is nothing useful stored on this terminal.") + return 1 + return 0 + +/obj/item/rig_module/datajack/proc/load_data(var/incoming_data) + + if(islist(incoming_data)) + for(var/entry in incoming_data) + load_data(entry) + return 1 + + if(istype(incoming_data, /datum/tech)) + var/data_found + var/datum/tech/new_data = incoming_data + for(var/datum/tech/current_data in stored_research) + if(current_data.id == new_data.id) + data_found = 1 + if(current_data.level < new_data.level) + current_data.level = new_data.level + break + if(!data_found) + stored_research += incoming_data + return 1 + return 0 \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/device.dm b/code/modules/clothing/spacesuits/rig/modules/specific/device.dm new file mode 100644 index 0000000000..5771857a27 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/device.dm @@ -0,0 +1,176 @@ +/obj/item/rig_module/device + name = "mounted device" + desc = "Some kind of hardsuit mount." + usable = 0 + selectable = 1 + toggleable = 0 + disruptive = 0 + + var/device_type + var/obj/item/device + +/obj/item/rig_module/device/New() + ..() + if(device_type) device = new device_type(src) + +/obj/item/rig_module/device/engage(atom/target) + if(!..() || !device) + return 0 + + if(!target) + device.attack_self(holder.wearer) + return 1 + + var/turf/T = get_turf(target) + if(istype(T) && !T.Adjacent(get_turf(src))) + return 0 + + var/resolved = target.attackby(device,holder.wearer) + if(!resolved && device && target) + device.afterattack(target,holder.wearer,1) + return 1 + +/obj/item/rig_module/device/flash + name = "mounted flash" + desc = "You are the law." + icon_state = "flash" + interface_name = "mounted flash" + interface_desc = "Stuns your target by blinding them with a bright light." + device_type = /obj/item/device/flash + +/obj/item/rig_module/device/plasmacutter + name = "hardsuit plasma cutter" + desc = "A lethal-looking industrial cutter." + icon_state = "plasmacutter" + interface_name = "plasma cutter" + interface_desc = "A self-sustaining plasma arc capable of cutting through walls." + suit_overlay_active = "plasmacutter" + suit_overlay_inactive = "plasmacutter" + use_power_cost = 0.5 + + device_type = /obj/item/weapon/pickaxe/plasmacutter + +/obj/item/rig_module/device/healthscanner + name = "health scanner module" + desc = "A hardsuit-mounted health scanner." + icon_state = "scanner" + interface_name = "health scanner" + interface_desc = "Shows an informative health readout when used on a subject." + + device_type = /obj/item/device/healthanalyzer + +/obj/item/rig_module/device/drill + name = "hardsuit drill mount" + desc = "A very heavy diamond-tipped drill." + icon_state = "drill" + interface_name = "mounted drill" + interface_desc = "A diamond-tipped industrial drill." + suit_overlay_active = "mounted-drill" + suit_overlay_inactive = "mounted-drill" + use_power_cost = 0.1 + + device_type = /obj/item/weapon/pickaxe/diamonddrill + +/obj/item/rig_module/device/anomaly_scanner + name = "hardsuit anomaly scanner" + desc = "You think it's called an Elder Sarsparilla or something." + icon_state = "eldersasparilla" + interface_name = "Alden-Saraspova counter" + interface_desc = "An exotic particle detector commonly used by xenoarchaeologists." + engage_string = "Begin Scan" + usable = 1 + selectable = 0 + device_type = /obj/item/device/ano_scanner + +/obj/item/rig_module/device/orescanner + name = "ore scanner module" + desc = "A clunky old ore scanner." + icon_state = "scanner" + interface_name = "ore detector" + interface_desc = "A sonar system for detecting large masses of ore." + engage_string = "Begin Scan" + usable = 1 + selectable = 0 + device_type = /obj/item/weapon/mining_scanner + +/obj/item/rig_module/device/rcd + name = "RCD mount" + desc = "A cell-powered rapid construction device for a hardsuit." + icon_state = "rcd" + interface_name = "mounted RCD" + interface_desc = "A device for building or removing walls. Cell-powered." + usable = 1 + engage_string = "Configure RCD" + + device_type = /obj/item/weapon/rcd/electric/mounted/rig + +/obj/item/rig_module/device/arch_drill + name = "archaeology drill mount" + desc = "A cell-powered fine-excavation device for a hardsuit." + icon_state = "exdrill" + interface_name = "mounted excavation tool" + interface_desc = "A device for excavating ancient relics." + usable = 1 + engage_string = "Configure Drill Depth" + + device_type = /obj/item/weapon/pickaxe/excavationdrill + +/obj/item/rig_module/device/paperdispenser + name = "hardsuit paper dispenser" + desc = "Crisp sheets." + icon_state = "paper" + interface_name = "paper dispenser" + interface_desc = "Dispenses warm, clean, and crisp sheets of paper." + engage_string = "Dispense" + usable = 1 + selectable = 0 + device_type = /obj/item/weapon/paper_bin + +/obj/item/rig_module/device/paperdispenser/engage(atom/target) + + if(!..() || !device) + return 0 + + if(!target) + device.attack_hand(holder.wearer) + return 1 + +/obj/item/rig_module/device/pen + name = "mounted pen" + desc = "For mecha John Hancocks." + icon_state = "pen" + interface_name = "mounted pen" + interface_desc = "Signatures with style(tm)." + engage_string = "Change color" + usable = 1 + device_type = /obj/item/weapon/pen/multi + +/obj/item/rig_module/device/stamp + name = "mounted internal affairs stamp" + desc = "DENIED." + icon_state = "stamp" + interface_name = "mounted stamp" + interface_desc = "Leave your mark." + engage_string = "Toggle stamp type" + usable = 1 + var/iastamp + var/deniedstamp + +/obj/item/rig_module/device/stamp/New() + ..() + iastamp = new /obj/item/weapon/stamp/internalaffairs(src) + deniedstamp = new /obj/item/weapon/stamp/denied(src) + device = iastamp + +/obj/item/rig_module/device/stamp/engage(atom/target) + if(!..() || !device) + return 0 + + if(!target) + if(device == iastamp) + device = deniedstamp + to_chat(holder.wearer, "Switched to denied stamp.") + else if(device == deniedstamp) + device = iastamp + to_chat(holder.wearer, "Switched to internal affairs stamp.") + return 1 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/electrowarfare.dm b/code/modules/clothing/spacesuits/rig/modules/specific/electrowarfare.dm new file mode 100644 index 0000000000..f30be0b54a --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/electrowarfare.dm @@ -0,0 +1,30 @@ +/obj/item/rig_module/electrowarfare_suite + + name = "electrowarfare module" + desc = "A bewilderingly complex bundle of fiber optics and chips." + icon_state = "ewar" + toggleable = 1 + usable = 0 + + activate_string = "Enable Countermeasures" + deactivate_string = "Disable Countermeasures" + + interface_name = "electrowarfare system" + interface_desc = "An active counter-electronic warfare suite that disrupts AI tracking." + +/obj/item/rig_module/electrowarfare_suite/activate() + + if(!..()) + return + + // This is not the best way to handle this, but I don't want it to mess with ling camo + var/mob/living/M = holder.wearer + M.digitalcamo++ + +/obj/item/rig_module/electrowarfare_suite/deactivate() + + if(!..()) + return + + var/mob/living/M = holder.wearer + M.digitalcamo = max(0,(M.digitalcamo-1)) \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm b/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm new file mode 100644 index 0000000000..9252b062bd --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm @@ -0,0 +1,98 @@ +/obj/item/rig_module/grenade_launcher + + name = "mounted grenade launcher" + desc = "A shoulder-mounted micro-explosive dispenser." + selectable = 1 + icon_state = "grenadelauncher" + + interface_name = "integrated grenade launcher" + interface_desc = "Discharges loaded grenades against the wearer's location." + + var/fire_force = 30 + var/fire_distance = 10 + + charges = list( + list("flashbang", "flashbang", /obj/item/weapon/grenade/flashbang, 3), + list("smoke bomb", "smoke bomb", /obj/item/weapon/grenade/smokebomb, 3), + list("EMP grenade", "EMP grenade", /obj/item/weapon/grenade/empgrenade, 3), + ) + +/obj/item/rig_module/grenade_launcher/accepts_item(var/obj/item/input_device, var/mob/living/user) + + if(!istype(input_device) || !istype(user)) + return 0 + + var/datum/rig_charge/accepted_item + for(var/charge in charges) + var/datum/rig_charge/charge_datum = charges[charge] + if(input_device.type == charge_datum.product_type) + accepted_item = charge_datum + break + + if(!accepted_item) + return 0 + + if(accepted_item.charges >= 5) + to_chat(user, "Another grenade of that type will not fit into the module.") + return 0 + + to_chat(user, "You slot \the [input_device] into the suit module.") + user.drop_from_inventory(input_device) + qdel(input_device) + accepted_item.charges++ + return 1 + +/obj/item/rig_module/grenade_launcher/engage(atom/target) + + if(!..()) + return 0 + + if(!target) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + if(!charge_selected) + to_chat(H, "You have not selected a grenade type.") + return 0 + + var/datum/rig_charge/charge = charges[charge_selected] + + if(!charge) + return 0 + + if(charge.charges <= 0) + to_chat(H, "Insufficient grenades!") + return 0 + + charge.charges-- + var/obj/item/weapon/grenade/new_grenade = new charge.product_type(get_turf(H)) + H.visible_message("[H] launches \a [new_grenade]!") + new_grenade.activate(H) + new_grenade.throw_at(target,fire_force,fire_distance) + +/obj/item/rig_module/grenade_launcher/smoke + name = "mounted smoke-bomb launcher" + desc = "A shoulder-mounted smoke-bomb dispenser." + + interface_name = "integrated smoke-bomb launcher" + interface_desc = "Discharges loaded smoke-bombs against the wearer's location." + + fire_force = 15 + + charges = list( + list("smoke bomb", "smoke bomb", /obj/item/weapon/grenade/smokebomb, 6) + ) + +/obj/item/rig_module/grenade_launcher/flash + name = "mounted flashbang launcher" + desc = "A shoulder-mounted flashbang dispenser." + selectable = 1 + icon_state = "grenadelauncher" + + interface_name = "integrated flashbang launcher" + interface_desc = "Discharges loaded grenades against the wearer's location." + + charges = list( + list("flashbang", "flashbang", /obj/item/weapon/grenade/flashbang, 3) + ) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm b/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm new file mode 100644 index 0000000000..8e71cf2745 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm @@ -0,0 +1,63 @@ +/obj/item/rig_module/fabricator + + name = "matter fabricator" + desc = "A self-contained microfactory system for hardsuit integration." + selectable = 1 + usable = 1 + use_power_cost = 15 + icon_state = "enet" + + engage_string = "Fabricate Star" + + interface_name = "death blossom launcher" + interface_desc = "An integrated microfactory that produces poisoned throwing stars from thin air and electricity." + + var/fabrication_type = /obj/item/weapon/material/star/ninja + var/fire_force = 30 + var/fire_distance = 10 + +/obj/item/rig_module/fabricator/engage(atom/target) + + if(!..()) + return 0 + + var/mob/living/H = holder.wearer + + if(target) + var/obj/item/firing = new fabrication_type() + firing.forceMove(get_turf(src)) + H.visible_message("[H] launches \a [firing]!") + firing.throw_at(target,fire_force,fire_distance) + else + if(H.l_hand && H.r_hand) + to_chat(H, "Your hands are full.") + else + var/obj/item/new_weapon = new fabrication_type() + new_weapon.forceMove(H) + to_chat(H, "You quickly fabricate \a [new_weapon].") + H.put_in_hands(new_weapon) + + return 1 + +/obj/item/rig_module/fabricator/energy_net + + name = "net projector" + desc = "Some kind of complex energy projector with a hardsuit mount." + icon_state = "enet" + + interface_name = "energy net launcher" + interface_desc = "An advanced energy-patterning projector used to capture targets." + + engage_string = "Fabricate Net" + + fabrication_type = /obj/item/weapon/energy_net + use_power_cost = 70 + +/obj/item/rig_module/fabricator/energy_net/engage(atom/target) + + if(holder && holder.wearer) + if(..(target) && target) + set_dir(get_dir(src,target)) // Face the target + holder.wearer.Beam(target,"n_beam",,10) + return 1 + return 0 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/jetpack.dm b/code/modules/clothing/spacesuits/rig/modules/specific/jetpack.dm new file mode 100644 index 0000000000..6f9f7e3804 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/jetpack.dm @@ -0,0 +1,66 @@ +/obj/item/rig_module/maneuvering_jets + + name = "hardsuit maneuvering jets" + desc = "A compact gas thruster system for a hardsuit." + icon_state = "thrusters" + usable = 1 + toggleable = 1 + selectable = 0 + disruptive = 0 + + suit_overlay_active = "maneuvering_active" + suit_overlay_inactive = null //"maneuvering_inactive" + + engage_string = "Toggle Stabilizers" + activate_string = "Activate Thrusters" + deactivate_string = "Deactivate Thrusters" + + interface_name = "maneuvering jets" + interface_desc = "An inbuilt EVA maneuvering system that runs off the rig air supply." + + var/obj/item/weapon/tank/jetpack/rig/jets + +/obj/item/rig_module/maneuvering_jets/engage() + if(!..()) + return 0 + jets.toggle_rockets() + return 1 + +/obj/item/rig_module/maneuvering_jets/activate() + + if(active) + return 0 + + active = 1 + + spawn(1) + if(suit_overlay_active) + suit_overlay = suit_overlay_active + else + suit_overlay = null + holder.update_icon() + + if(!jets.on) + jets.toggle() + return 1 + +/obj/item/rig_module/maneuvering_jets/deactivate() + if(!..()) + return 0 + if(jets.on) + jets.toggle() + return 1 + +/obj/item/rig_module/maneuvering_jets/New() + ..() + jets = new(src) + +/obj/item/rig_module/maneuvering_jets/installed() + ..() + jets.holder = holder + jets.ion_trail.set_up(holder) + +/obj/item/rig_module/maneuvering_jets/removed() + ..() + jets.holder = null + jets.ion_trail.set_up(jets) \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/metalfoam_launcher.dm b/code/modules/clothing/spacesuits/rig/modules/specific/metalfoam_launcher.dm new file mode 100644 index 0000000000..0843b9f779 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/metalfoam_launcher.dm @@ -0,0 +1,15 @@ + +/obj/item/rig_module/grenade_launcher/metalfoam + name = "mounted metalfoam grenade launcher" + desc = "A shoulder-mounted foam-bomb dispenser." + selectable = 1 + icon_state = "grenadelauncher" + + interface_name = "integrated metalfoam grenade launcher" + interface_desc = "Discharges loaded grenades against the wearer's location." + + fire_force = 15 + + charges = list( + list("metalfoam", "metalfoam", /obj/item/weapon/grenade/chem_grenade/metalfoam, 5) + ) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun.dm b/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun.dm new file mode 100644 index 0000000000..97db6b3281 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/mounted_gun.dm @@ -0,0 +1,175 @@ +/obj/item/rig_module/mounted + + name = "mounted laser cannon" + desc = "A shoulder-mounted battery-powered laser cannon mount." + selectable = 1 + usable = 1 + module_cooldown = 0 + icon_state = "lcannon" + + engage_string = "Configure" + + interface_name = "mounted laser cannon" + interface_desc = "A shoulder-mounted cell-powered laser cannon." + + var/gun_type = /obj/item/weapon/gun/energy/lasercannon/mounted + var/obj/item/weapon/gun/gun + +/obj/item/rig_module/mounted/New() + ..() + gun = new gun_type(src) + +/obj/item/rig_module/mounted/engage(atom/target) + + if(!..()) + return 0 + + if(!target) + gun.attack_self(holder.wearer) + return + + gun.Fire(target,holder.wearer) + return 1 + +/obj/item/rig_module/mounted/egun + + name = "mounted energy gun" + desc = "A forearm-mounted energy projector." + icon_state = "egun" + + interface_name = "mounted energy gun" + interface_desc = "A forearm-mounted suit-powered energy gun." + + gun_type = /obj/item/weapon/gun/energy/gun/mounted + +/obj/item/rig_module/mounted/taser + + name = "mounted taser" + desc = "A palm-mounted nonlethal energy projector." + icon_state = "taser" + + usable = 0 + + suit_overlay_active = "mounted-taser" + suit_overlay_inactive = "mounted-taser" + + interface_name = "mounted taser" + interface_desc = "A shoulder-mounted cell-powered taser." + + gun_type = /obj/item/weapon/gun/energy/taser/mounted + +/obj/item/rig_module/mounted/energy_blade + + name = "energy blade projector" + desc = "A powerful cutting beam projector." + icon_state = "eblade" + + activate_string = "Project Blade" + deactivate_string = "Cancel Blade" + + interface_name = "spider fang blade" + interface_desc = "A lethal energy projector that can shape a blade projected from the hand of the wearer or launch radioactive darts." + + usable = 0 + selectable = 1 + toggleable = 1 + use_power_cost = 50 + active_power_cost = 10 + passive_power_cost = 0 + + gun_type = /obj/item/weapon/gun/energy/crossbow/ninja + +/obj/item/rig_module/mounted/energy_blade/process() + + if(holder && holder.wearer) + if(!(locate(/obj/item/weapon/melee/energy/blade) in holder.wearer)) + deactivate() + return 0 + + return ..() + +/obj/item/rig_module/mounted/energy_blade/activate() + + ..() + + var/mob/living/M = holder.wearer + + if(M.l_hand && M.r_hand) + to_chat(M, "Your hands are full.") + deactivate() + return + + var/obj/item/weapon/melee/energy/blade/blade = new(M) + blade.creator = M + M.put_in_hands(blade) + +/obj/item/rig_module/mounted/energy_blade/deactivate() + + ..() + + var/mob/living/M = holder.wearer + + if(!M) + return + + for(var/obj/item/weapon/melee/energy/blade/blade in M.contents) + M.drop_from_inventory(blade) + qdel(blade) + +/obj/item/rig_module/mounted/mop + + name = "mop projector" + desc = "A powerful mop projector." + icon_state = "mop" + + activate_string = "Project Mop" + deactivate_string = "Cancel Mop" + + interface_name = "mop projector" + interface_desc = "A mop that can be deployed from the hand of the wearer." + + usable = 1 + selectable = 1 + toggleable = 1 + use_power_cost = 5 + active_power_cost = 0 + passive_power_cost = 0 + + gun_type = /obj/item/weapon/gun/energy/temperature/mounted + +/obj/item/rig_module/mounted/mop/process() + + if(holder && holder.wearer) + if(!(locate(/obj/item/weapon/mop_deploy) in holder.wearer)) + deactivate() + return 0 + + return ..() + +/obj/item/rig_module/mounted/mop/activate() + + ..() + + var/mob/living/M = holder.wearer + + if(M.l_hand && M.r_hand) + to_chat(M, "Your hands are full.") + deactivate() + return + + var/obj/item/weapon/mop_deploy/blade = new(M) + blade.creator = M + M.put_in_hands(blade) + +/obj/item/rig_module/mounted/mop/deactivate() + + ..() + + var/mob/living/M = holder.wearer + + if(!M) + return + + for(var/obj/item/weapon/mop_deploy/blade in M.contents) + M.drop_from_inventory(blade) + qdel(blade) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm b/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm new file mode 100644 index 0000000000..ec8fba92d6 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm @@ -0,0 +1,129 @@ +/obj/item/rig_module/power_sink + name = "hardsuit power sink" + desc = "An heavy-duty power sink." + icon_state = "powersink" + toggleable = 1 + activates_on_touch = 1 + disruptive = 0 + + activate_string = "Enable Power Sink" + deactivate_string = "Disable Power Sink" + + interface_name = "niling d-sink" + interface_desc = "Colloquially known as a power siphon, this module drains power through the suit hands into the suit battery." + + var/atom/interfaced_with // Currently draining power from this device. + var/total_power_drained = 0 + var/drain_loc + +/obj/item/rig_module/power_sink/deactivate() + + if(interfaced_with) + if(holder && holder.wearer) + to_chat(holder.wearer, "Your power sink retracts as the module deactivates.") + drain_complete() + interfaced_with = null + total_power_drained = 0 + return ..() + +/obj/item/rig_module/power_sink/activate() + interfaced_with = null + total_power_drained = 0 + return ..() + +/obj/item/rig_module/power_sink/engage(atom/target) + + if(!..()) + return 0 + + //Target wasn't supplied or we're already draining. + if(interfaced_with) + return 0 + + if(!target) + return 1 + + // Are we close enough? + var/mob/living/carbon/human/H = holder.wearer + if(!target.Adjacent(H)) + return 0 + + // Is it a valid power source? + if(target.drain_power(1) <= 0) + return 0 + + to_chat(H, "You begin draining power from [target]!") + interfaced_with = target + drain_loc = interfaced_with.loc + + holder.spark_system.start() + playsound(H.loc, 'sound/effects/sparks2.ogg', 50, 1) + + return 1 + +/obj/item/rig_module/power_sink/accepts_item(var/obj/item/input_device, var/mob/living/user) + var/can_drain = input_device.drain_power(1) + if(can_drain > 0) + engage(input_device) + return 1 + return 0 + +/obj/item/rig_module/power_sink/process() + + if(!interfaced_with) + return ..() + + var/mob/living/carbon/human/H + if(holder && holder.wearer) + H = holder.wearer + + if(!H || !istype(H)) + return 0 + + holder.spark_system.start() + playsound(H.loc, 'sound/effects/sparks2.ogg', 50, 1) + + H.break_cloak() + + if(!holder.cell) + to_chat(H, "Your power sink flashes an error; there is no cell in your rig.") + drain_complete(H) + return + + if(!interfaced_with || !interfaced_with.Adjacent(H) || !(interfaced_with.loc == drain_loc)) + to_chat(H, "Your power sink retracts into its casing.") + drain_complete(H) + return + + if(holder.cell.fully_charged()) + to_chat(H, "Your power sink flashes an amber light; your rig cell is full.") + drain_complete(H) + return + + // Attempts to drain up to 12.5*cell-capacity kW, determines this value from remaining cell capacity to ensure we don't drain too much. + // 1Ws/(12.5*CELLRATE) = 40s to charge + var/to_drain = min(12.5*holder.cell.maxcharge, ((holder.cell.maxcharge - holder.cell.charge) / CELLRATE)) + var/target_drained = interfaced_with.drain_power(0,0,to_drain) + if(target_drained <= 0) + to_chat(H, "Your power sink flashes a red light; there is no power left in [interfaced_with].") + drain_complete(H) + return + + holder.cell.give(target_drained * CELLRATE) + total_power_drained += target_drained + + return + +/obj/item/rig_module/power_sink/proc/drain_complete(var/mob/living/M) + + if(!interfaced_with) + if(M) + to_chat(M, "Total power drained: [round(total_power_drained*CELLRATE)] cell units.") + else + if(M) + to_chat(M, "Total power drained from [interfaced_with]: [round(total_power_drained*CELLRATE)] cell units.") + interfaced_with.drain_power(0,1,0) // Damage the victim. + + drain_loc = null + interfaced_with = null + total_power_drained = 0 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/self_destruct.dm b/code/modules/clothing/spacesuits/rig/modules/specific/self_destruct.dm new file mode 100644 index 0000000000..391bdf8f6c --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/self_destruct.dm @@ -0,0 +1,50 @@ +/obj/item/rig_module/self_destruct + + name = "self-destruct module" + desc = "Oh my God, a bomb!" + icon_state = "deadman" + usable = 1 + active = 1 + permanent = 1 + var/datum/effect/effect/system/smoke_spread/bad/smoke + var/smoke_strength = 8 + + engage_string = "Detonate" + + interface_name = "dead man's switch" + interface_desc = "An integrated self-destruct module. When the wearer dies, they vanish in smoke. Do not press this button." + +/obj/item/rig_module/self_destruct/New() + ..() + src.smoke = new /datum/effect/effect/system/smoke_spread/bad() + src.smoke.attach(src) + +/obj/item/rig_module/self_destruct/Destroy() + qdel(smoke) + smoke = null + return ..() + +/obj/item/rig_module/self_destruct/activate() + return + +/obj/item/rig_module/self_destruct/deactivate() + return + +/obj/item/rig_module/self_destruct/process() + + // Not being worn, leave it alone. + if(!holder || !holder.wearer || !holder.wearer.wear_suit == holder) + return 0 + + //OH SHIT. + if(holder.wearer.stat == 2) + engage(1) + +/obj/item/rig_module/self_destruct/engage(var/skip_check) + if(!skip_check && usr && alert(usr, "Are you sure you want to push that button?", "Self-destruct", "No", "Yes") == "No") + return + if(holder && holder.wearer) + smoke.set_up(10, 0, holder.loc) + for(var/i = 1 to smoke_strength) + smoke.start(272727) + holder.wearer.ash() diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm b/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm new file mode 100644 index 0000000000..f69f053260 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm @@ -0,0 +1,43 @@ +/obj/item/rig_module/sprinter + name = "sprint module" + desc = "A robust hardsuit-integrated sprint module." + icon_state = "sprinter" + + var/sprint_speed = 1 + + toggleable = 1 + disruptable = 1 + disruptive = 0 + + use_power_cost = 50 + active_power_cost = 5 + passive_power_cost = 0 + module_cooldown = 30 + + activate_string = "Enable Sprint" + deactivate_string = "Disable Sprint" + + interface_name = "sprint system" + interface_desc = "Increases power to the suit's actuators, allowing faster movement." + +/obj/item/rig_module/sprinter/activate() + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + to_chat(H, "You activate the suit's sprint mode.") + + holder.slowdown = initial(holder.slowdown) - sprint_speed + +/obj/item/rig_module/sprinter/deactivate() + + if(!..()) + return 0 + + var/mob/living/carbon/human/H = holder.wearer + + to_chat(H, "Your hardsuit returns to normal speed.") + + holder.slowdown = initial(holder.slowdown) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/teleporter.dm b/code/modules/clothing/spacesuits/rig/modules/specific/teleporter.dm new file mode 100644 index 0000000000..1f533f98fe --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/teleporter.dm @@ -0,0 +1,80 @@ +/obj/item/rig_module/teleporter + + name = "teleportation module" + desc = "A complex, sleek-looking, hardsuit-integrated teleportation module." + icon_state = "teleporter" + use_power_cost = 200 + redundant = 1 + usable = 1 + selectable = 1 + + engage_string = "Emergency Leap" + + interface_name = "VOID-shift phase projector" + interface_desc = "An advanced teleportation system. It is capable of pinpoint precision or random leaps forward." + +/obj/item/rig_module/teleporter/proc/phase_in(var/mob/M,var/turf/T) + + if(!M || !T) + return + + holder.spark_system.start() + playsound(T, 'sound/effects/phasein.ogg', 25, 1) + playsound(T, 'sound/effects/sparks2.ogg', 50, 1) + anim(T,M,'icons/mob/mob.dmi',,"phasein",,M.dir) + +/obj/item/rig_module/teleporter/proc/phase_out(var/mob/M,var/turf/T) + + if(!M || !T) + return + + playsound(T, "sparks", 50, 1) + anim(T,M,'icons/mob/mob.dmi',,"phaseout",,M.dir) + +/obj/item/rig_module/teleporter/engage(var/atom/target, var/notify_ai) + + var/mob/living/carbon/human/H = holder.wearer + + if(!istype(H.loc, /turf)) + to_chat(H, "You cannot teleport out of your current location.") + return 0 + + var/turf/T + if(target) + T = get_turf(target) + else + T = get_teleport_loc(get_turf(H), H, 6, 1, 1, 1) + + if(!T) + to_chat(H, "No valid teleport target found.") + return 0 + + if(T.density) + to_chat(H, "You cannot teleport into solid walls.") + return 0 + + if(T.z in using_map.admin_levels) + to_chat(H, "You cannot use your teleporter on this Z-level.") + return 0 + + if(T.contains_dense_objects()) + to_chat(H, "You cannot teleport to a location with solid objects.") + return 0 + + if(T.z != H.z || get_dist(T, get_turf(H)) > world.view) + to_chat(H, "You cannot teleport to such a distant object.") + return 0 + + if(!..()) return 0 + + phase_out(H,get_turf(H)) + H.forceMove(T) + phase_in(H,get_turf(H)) + + for(var/obj/item/weapon/grab/G in H.contents) + if(G.affecting) + phase_out(G.affecting,get_turf(G.affecting)) + G.affecting.forceMove(locate(T.x+rand(-1,1),T.y+rand(-1,1),T.z)) + phase_in(G.affecting,get_turf(G.affecting)) + + return 1 \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/vision.dm b/code/modules/clothing/spacesuits/rig/modules/specific/vision.dm new file mode 100644 index 0000000000..7e73f08880 --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/vision.dm @@ -0,0 +1,237 @@ +/* + * Contains + * /obj/item/rig_module/vision + * /obj/item/rig_module/vision/multi + * /obj/item/rig_module/vision/meson + * /obj/item/rig_module/vision/thermal + * /obj/item/rig_module/vision/nvg + * /obj/item/rig_module/vision/medhud + * /obj/item/rig_module/vision/sechud + */ + +/datum/rig_vision + var/mode + var/obj/item/clothing/glasses/glasses + +/datum/rig_vision/nvg + mode = "night vision" + +/datum/rig_vision/nvg/New() + glasses = new /obj/item/clothing/glasses/night + +/datum/rig_vision/thermal + mode = "thermal scanner" + +/datum/rig_vision/thermal/New() + glasses = new /obj/item/clothing/glasses/thermal + +/datum/rig_vision/meson + mode = "meson scanner" + +/datum/rig_vision/meson/New() + glasses = new /obj/item/clothing/glasses/meson + +/datum/rig_vision/sechud + mode = "security HUD" + +/datum/rig_vision/sechud/New() + glasses = new /obj/item/clothing/glasses/hud/security + +/datum/rig_vision/medhud + mode = "medical HUD" + +/datum/rig_vision/medhud/New() + glasses = new /obj/item/clothing/glasses/hud/health + +/datum/rig_vision/material + mode = "material scanner" + +/datum/rig_vision/material/New() + glasses = new /obj/item/clothing/glasses/material + +/obj/item/rig_module/vision + + name = "hardsuit visor" + desc = "A layered, translucent visor system for a hardsuit." + icon_state = "optics" + + interface_name = "optical scanners" + interface_desc = "An integrated multi-mode vision system." + + usable = 1 + toggleable = 1 + disruptive = 0 + module_cooldown = 0 + + engage_string = "Cycle Visor Mode" + activate_string = "Enable Visor" + deactivate_string = "Disable Visor" + + var/datum/rig_vision/vision + var/list/vision_modes = list( + /datum/rig_vision/nvg, + /datum/rig_vision/thermal, + /datum/rig_vision/meson + ) + + var/vision_index + +/obj/item/rig_module/vision/multi + + name = "hardsuit optical package" + desc = "A complete visor system of optical scanners and vision modes." + icon_state = "fulloptics" + + + interface_name = "multi optical visor" + interface_desc = "An integrated multi-mode vision system." + + vision_modes = list(/datum/rig_vision/meson, + /datum/rig_vision/material, + /datum/rig_vision/nvg, + /datum/rig_vision/thermal, + /datum/rig_vision/sechud, + /datum/rig_vision/medhud) + +/obj/item/rig_module/vision/meson + + name = "hardsuit meson scanner" + desc = "A layered, translucent visor system for a hardsuit." + icon_state = "meson" + + usable = 0 + + interface_name = "meson scanner" + interface_desc = "An integrated meson scanner." + + vision_modes = list(/datum/rig_vision/meson) + +/obj/item/rig_module/vision/material + + name = "hardsuit material scanner" + desc = "A layered, translucent visor system for a hardsuit." + icon_state = "meson" + + usable = 0 + + interface_name = "material scanner" + interface_desc = "An integrated material scanner." + + vision_modes = list(/datum/rig_vision/material) + +/obj/item/rig_module/vision/mining + + name = "hardsuit mining scanners" + desc = "A layered, translucent visor system for a hardsuit." + icon_state = "optics" + + usable = 0 + + interface_name = "mining scanners" + interface_desc = "An integrated mining scanner array." + + vision_modes = list(/datum/rig_vision/material, + /datum/rig_vision/meson) + +/obj/item/rig_module/vision/thermal + + name = "hardsuit thermal scanner" + desc = "A layered, translucent visor system for a hardsuit." + icon_state = "thermal" + + usable = 0 + + interface_name = "thermal scanner" + interface_desc = "An integrated thermal scanner." + + vision_modes = list(/datum/rig_vision/thermal) + +/obj/item/rig_module/vision/nvg + + name = "hardsuit night vision interface" + desc = "A multi input night vision system for a hardsuit." + icon_state = "night" + + usable = 0 + + interface_name = "night vision interface" + interface_desc = "An integrated night vision system." + + vision_modes = list(/datum/rig_vision/nvg) + +/obj/item/rig_module/vision/sechud + + name = "hardsuit security hud" + desc = "A simple tactical information system for a hardsuit." + icon_state = "securityhud" + + usable = 0 + + interface_name = "security HUD" + interface_desc = "An integrated security heads up display." + + vision_modes = list(/datum/rig_vision/sechud) + +/obj/item/rig_module/vision/medhud + + name = "hardsuit medical hud" + desc = "A simple medical status indicator for a hardsuit." + icon_state = "healthhud" + + usable = 0 + + interface_name = "medical HUD" + interface_desc = "An integrated medical heads up display." + + vision_modes = list(/datum/rig_vision/medhud) + + +// There should only ever be one vision module installed in a suit. +/obj/item/rig_module/vision/installed() + ..() + holder.visor = src + +/obj/item/rig_module/vision/engage() + + if(!..() || !vision_modes) + return 0 + + // Don't cycle if this engage() is being called by activate(). + if(!active) + to_chat(holder.wearer, "You activate your visual sensors.") + return 1 + + if(vision_modes.len > 1) + vision_index++ + if(vision_index > vision_modes.len) + vision_index = 1 + vision = vision_modes[vision_index] + + to_chat(holder.wearer, "You cycle your sensors to [vision.mode] mode.") + else + to_chat(holder.wearer, "Your sensors only have one mode.") + return 1 + +/obj/item/rig_module/vision/activate() + if((. = ..()) && holder.wearer) + holder.wearer.recalculate_vis() + +/obj/item/rig_module/vision/deactivate() + if((. = ..()) && holder.wearer) + holder.wearer.recalculate_vis() + +/obj/item/rig_module/vision/New() + ..() + + if(!vision_modes) + return + + vision_index = 1 + var/list/processed_vision = list() + + for(var/vision_mode in vision_modes) + var/datum/rig_vision/vision_datum = new vision_mode + if(!vision) vision = vision_datum + processed_vision += vision_datum + + vision_modes = processed_vision \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/voice.dm b/code/modules/clothing/spacesuits/rig/modules/specific/voice.dm new file mode 100644 index 0000000000..0df94d756b --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/voice.dm @@ -0,0 +1,52 @@ +/obj/item/rig_module/voice + + name = "hardsuit voice synthesiser" + desc = "A speaker box and sound processor." + icon_state = "megaphone" + usable = 1 + selectable = 0 + toggleable = 0 + disruptive = 0 + + engage_string = "Configure Synthesiser" + + interface_name = "voice synthesiser" + interface_desc = "A flexible and powerful voice modulator system." + + var/obj/item/voice_changer/voice_holder + +/obj/item/rig_module/voice/New() + ..() + voice_holder = new(src) + voice_holder.active = 0 + +/obj/item/rig_module/voice/installed() + ..() + holder.speech = src + +/obj/item/rig_module/voice/engage() + + if(!..()) + return 0 + + var/choice= input("Would you like to toggle the synthesiser or set the name?") as null|anything in list("Enable","Disable","Set Name") + + if(!choice) + return 0 + + switch(choice) + if("Enable") + active = 1 + voice_holder.active = 1 + to_chat(usr, "You enable the speech synthesiser.") + if("Disable") + active = 0 + voice_holder.active = 0 + to_chat(usr, "You disable the speech synthesiser.") + if("Set Name") + var/raw_choice = sanitize(input(usr, "Please enter a new name.") as text|null, MAX_NAME_LEN) + if(!raw_choice) + return 0 + voice_holder.voice = raw_choice + to_chat(usr, "You are now mimicking [voice_holder.voice].") + return 1 \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/rig/modules/utility.dm b/code/modules/clothing/spacesuits/rig/modules/utility.dm index c0b2065b86..2362cb7990 100644 --- a/code/modules/clothing/spacesuits/rig/modules/utility.dm +++ b/code/modules/clothing/spacesuits/rig/modules/utility.dm @@ -5,6 +5,7 @@ * /obj/item/rig_module/device/drill * /obj/item/rig_module/device/orescanner * /obj/item/rig_module/device/rcd + * /obj/item/rig_module/device/arch_drill * /obj/item/rig_module/device/anomaly_scanner * /obj/item/rig_module/maneuvering_jets * /obj/item/rig_module/foam_sprayer @@ -96,6 +97,17 @@ device_type = /obj/item/weapon/rcd/electric/mounted/rig +/obj/item/rig_module/device/arch_drill + name = "archaeology drill mount" + desc = "A cell-powered fine-excavation device for a hardsuit." + icon_state = "exdrill" + interface_name = "mounted excavation tool" + interface_desc = "A device for excavating ancient relics." + usable = 1 + engage_string = "Configure Drill Depth" + + device_type = /obj/item/weapon/pickaxe/excavationdrill + /obj/item/rig_module/device/New() ..() if(device_type) device = new device_type(src) @@ -117,8 +129,6 @@ device.afterattack(target,holder.wearer,1) return 1 - - /obj/item/rig_module/chem_dispenser name = "mounted chemical dispenser" desc = "A complex web of tubing and needles suitable for hardsuit use." @@ -418,29 +428,14 @@ interface_name = "mop projector" interface_desc = "A mop that can be deployed from the hand of the wearer." - usable = 0 + usable = 1 selectable = 1 toggleable = 1 - use_power_cost = 0 + use_power_cost = 5 active_power_cost = 0 passive_power_cost = 0 - gun = /obj/item/weapon/reagent_containers/spray/cleaner - -//obj/item/weapon/reagent_containers/spray/cleaner -// spary = - -/obj/item/rig_module/mounted/engage(atom/target) - - if(!..()) - return 0 - - if(!target) - gun.attack_self(holder.wearer) - return 1 - - gun.Fire(target,holder.wearer) - return 1 + gun_type = /obj/item/weapon/gun/energy/temperature/mounted /obj/item/rig_module/mounted/mop/process() @@ -655,4 +650,4 @@ to_chat(H, "Your hardsuit returns to normal speed.") - holder.slowdown = initial(holder.slowdown) \ No newline at end of file + holder.slowdown = initial(holder.slowdown) diff --git a/code/modules/clothing/spacesuits/rig/suits/robotics.dm b/code/modules/clothing/spacesuits/rig/suits/robotics.dm new file mode 100644 index 0000000000..4fb43d355d --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/suits/robotics.dm @@ -0,0 +1,29 @@ +//Mining suit +/obj/item/weapon/rig/robotics + name = "advanced suit control belt" + suit_type = "advanced suit" + desc = "A lightweight suit combining the utility of a RIG with the wearability of a voidsuit." + icon_state = "void_explorer2" + slot_flags = SLOT_BELT + armor = list(melee = 40, bullet = 30, laser = 20, energy = 15, bomb = 30, bio = 100, rad = 50) + slowdown = 1 + offline_slowdown = 2 + offline_vision_restriction = 0 + emp_protection = -20 + siemens_coefficient= 0.75 + rigsuit_max_pressure = 8 * ONE_ATMOSPHERE + rigsuit_min_pressure = 0 + + chest_type = /obj/item/clothing/suit/space/rig + helm_type = /obj/item/clothing/head/helmet/space/rig + boot_type = null + glove_type = null + cell_type = null + + allowed = list( + /obj/item/device/flashlight, + /obj/item/weapon/storage/box + ) + + req_access = list() + req_one_access = list() diff --git a/code/modules/materials/fifty_spawner_mats.dm b/code/modules/materials/fifty_spawner_mats.dm index 1b39b38d93..50d4184ebf 100644 --- a/code/modules/materials/fifty_spawner_mats.dm +++ b/code/modules/materials/fifty_spawner_mats.dm @@ -28,6 +28,10 @@ name = "stack of plastic" type_to_spawn = /obj/item/stack/material/plastic +/obj/fiftyspawner/graphite + name = "stack of graphite" + type_to_spawn = /obj/item/stack/material/graphite + /obj/fiftyspawner/gold name = "stack of gold" type_to_spawn = /obj/item/stack/material/gold diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm index 287e35be27..aaf312e229 100644 --- a/code/modules/materials/material_sheets.dm +++ b/code/modules/materials/material_sheets.dm @@ -136,6 +136,13 @@ default_type = "plastic" no_variants = FALSE +/obj/item/stack/material/graphite + name = "graphite" + icon_state = "sheet-silver" + default_type = MAT_GRAPHITE + apply_colour = 1 + no_variants = FALSE + /obj/item/stack/material/gold name = "gold" icon_state = "sheet-gold" diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 621017bdb4..2da552c5b1 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -652,6 +652,22 @@ var/list/name_to_material stack_type = null shard_type = SHARD_NONE +/material/graphite + name = MAT_GRAPHITE + stack_type = /obj/item/stack/material/graphite + flags = MATERIAL_BRITTLE + icon_base = "solid" + icon_reinf = "reinf_mesh" + icon_colour = "#333333" + hardness = 75 + weight = 15 + integrity = 175 + protectiveness = 15 + conductivity = 18 + melting_point = T0C+3600 + radiation_resistance = 15 + stack_origin_tech = list(TECH_MATERIAL = 2, TECH_MAGNET = 2) + /material/osmium name = "osmium" stack_type = /obj/item/stack/material/osmium diff --git a/code/modules/mining/ore_datum.dm b/code/modules/mining/ore_datum.dm index e578902104..f888ae3bb6 100644 --- a/code/modules/mining/ore_datum.dm +++ b/code/modules/mining/ore_datum.dm @@ -51,6 +51,7 @@ var/global/list/ore_data = list() name = "carbon" display_name = "raw carbon" smelts_to = "plastic" + compresses_to = "graphite" alloy = 1 result_amount = 5 spread_chance = 25 diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 3a44c18bd3..017bfd39d7 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -363,6 +363,11 @@ if(!rig.offline && (rig.air_supply && internal == rig.air_supply)) rig_supply = rig.air_supply + else if(istype(belt,/obj/item/weapon/rig)) + var/obj/item/weapon/rig/rig = belt + if(!rig.offline && (rig.air_supply && internal == rig.air_supply)) + rig_supply = rig.air_supply + if ((!rig_supply && !contents.Find(internal)) || !((wear_mask && (wear_mask.item_flags & AIRTIGHT)) || (head && (head.item_flags & AIRTIGHT)))) internal = null diff --git a/code/modules/projectiles/guns/energy/temperature.dm b/code/modules/projectiles/guns/energy/temperature.dm index cf9706effd..9343f9116c 100644 --- a/code/modules/projectiles/guns/energy/temperature.dm +++ b/code/modules/projectiles/guns/energy/temperature.dm @@ -12,3 +12,7 @@ list(mode_name="endothermic beam", projectile_type = /obj/item/projectile/temp, charge_cost = 240), list(mode_name="exothermic beam", projectile_type = /obj/item/projectile/temp/hot, charge_cost = 240), ) + +/obj/item/weapon/gun/energy/temperature/mounted + self_recharge = 1 + use_external_power = 1 diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 7f9fcb565f..75d45652d9 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -16,9 +16,9 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid). var/mat_efficiency = 1 var/speed = 1 - materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, "gold" = 0, "silver" = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) + materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, MAT_GRAPHITE, "gold" = 0, "silver" = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) - hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) + hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_GRAPHITE, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) use_power = 1 idle_power_usage = 30 diff --git a/code/modules/research/mechfab_designs.dm b/code/modules/research/mechfab_designs.dm index 480f085c90..af8afc44fb 100644 --- a/code/modules/research/mechfab_designs.dm +++ b/code/modules/research/mechfab_designs.dm @@ -769,3 +769,249 @@ req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_MAGNET = 3, TECH_POWER = 2) materials = list(DEFAULT_WALL_MATERIAL = 15000, "silver" = 3000, "plastic" = 3000, "osmium" = 1000) build_path = /obj/item/weapon/vehicle_assembly/quadbike + +/* + * Rigsuits + */ + +/datum/design/item/mechfab/rigsuit + category = "Rigsuit" + req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5, TECH_PHORON = 3, TECH_MAGNET = 4, TECH_POWER = 6) + +/datum/design/item/mechfab/rigsuit/basic_belt + name = "Advanced Suit Control Belt" + desc = "A belt holding a compressed space-suit." + id = "rigmodule_belt_basic" + materials = list(MAT_PLASTEEL = 12000, MAT_GOLD = 3000, MAT_GRAPHITE = 3000, MAT_OSMIUM = 1000, MAT_PLASTIC = 5000) + build_path = /obj/item/weapon/rig/robotics + +/datum/design/item/mechfab/rigsuit/jetpack + name = "hardsuit maneuvering jets" + desc = "A compact gas thruster system for a hardsuit." + id = "rig_thrusters" + materials = list(MAT_PLASTEEL = 1000, MAT_GOLD = 1000, MAT_GRAPHITE = 1000, MAT_PLASTIC = 500) + build_path = /obj/item/rig_module/maneuvering_jets + +/datum/design/item/mechfab/rigsuit/powersink + name = "hardsuit power siphon" + desc = "A complex device used to pull power from machines." + id = "rig_siphon" + req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 5, TECH_PHORON = 4, TECH_MAGNET = 5, TECH_POWER = 6, TECH_ILLEGAL = 3) + materials = list(MAT_PLASTEEL = 3000, MAT_METALHYDROGEN = 1000, MAT_GRAPHITE = 1000, MAT_PLASTIC = 5000, MAT_PHORON = 2000, MAT_VERDANTIUM = 1500) + build_path = /obj/item/rig_module/power_sink + +/datum/design/item/mechfab/rigsuit/flash + name = "hardsuit mounted flash" + desc = "A suit-mounted flash." + id = "rig_device_flash" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 3, TECH_MAGNET = 4, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_PLASTIC = 3000, MAT_METALHYDROGEN = 200, MAT_GRAPHITE = 500) + build_path = /obj/item/rig_module/device/flash + +/datum/design/item/mechfab/rigsuit/plasmacutter + name = "hardsuit mounted plasmacutter" + desc = "A suit-mounted plasmacutter." + id = "rig_device_plasmacutter" + req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 3, TECH_MAGNET = 4, TECH_PHORON = 3, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 3000, MAT_PLASTIC = 3000, MAT_PHORON = 2500, MAT_GRAPHITE = 500) + build_path = /obj/item/rig_module/device/plasmacutter + +/datum/design/item/mechfab/rigsuit/healthanalyzer + name = "hardsuit health analyzer" + desc = "A hardsuit mounted health analyzer." + id = "rig_device_healthanalyzer" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_BIO = 4, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 1000, MAT_SILVER = 1000, MAT_GRAPHITE = 1000, MAT_PLASTIC = 500) + build_path = /obj/item/rig_module/device/healthscanner + +/datum/design/item/mechfab/rigsuit/drill + name = "hardsuit mounted drill" + desc = "A hardsuit mounted drill." + id = "rig_device_drill" + req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 1500, MAT_DIAMOND = 2500, MAT_GRAPHITE = 1000, MAT_PLASTIC = 500) + build_path = /obj/item/rig_module/device/drill + +/datum/design/item/mechfab/rigsuit/excdrill + name = "hardsuit mounted excavation drill" + desc = "A hardsuit mounted excavation drill." + id = "rig_device_excdrill" + req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 6, TECH_MAGNET = 5, TECH_POWER = 5, TECH_ARCANE = 1) + materials = list(MAT_PLASTEEL = 1500, MAT_DIAMOND = 2000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 1000) + build_path = /obj/item/rig_module/device/arch_drill + +/datum/design/item/mechfab/rigsuit/anomscanner + name = "hardsuit mounted anomaly scanner" + desc = "A suit-mounted anomaly scanner." + id = "rig_device_anomscanner" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 3, TECH_MAGNET = 4, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_PLASTIC = 3000, MAT_METALHYDROGEN = 200, MAT_GRAPHITE = 500) + build_path = /obj/item/rig_module/device/anomaly_scanner + +/datum/design/item/mechfab/rigsuit/orescanner + name = "hardsuit mounted ore scanner" + desc = "A suit-mounted ore scanner." + id = "rig_device_orescanner" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_POWER = 3) + materials = list(MAT_PLASTEEL = 2000, MAT_PLASTIC = 2000, MAT_GRAPHITE = 500) + build_path = /obj/item/rig_module/device/orescanner + +/datum/design/item/mechfab/rigsuit/rcd + name = "hardsuit mounted rcd" + desc = "A suit-mounted rcd." + id = "rig_device_rcd" + req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 3, TECH_MAGNET = 4, TECH_PHORON = 3, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 5000, MAT_URANIUM = 3000, MAT_PHORON = 2000, MAT_GRAPHITE = 1500) + build_path = /obj/item/rig_module/device/rcd + +/datum/design/item/mechfab/rigsuit/paperdispenser + name = "hardsuit mounted paper dispenser" + desc = "A suit-mounted paper dispenser." + id = "rig_device_paperdispenser" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2, TECH_MAGNET = 2, TECH_BIO = 2, TECH_POWER = 2) + materials = list(MAT_PLASTEEL = 1000, MAT_PLASTIC = 500, MAT_PHORON = 500, MAT_GRAPHITE = 100) + build_path = /obj/item/rig_module/device/paperdispenser + +/datum/design/item/mechfab/rigsuit/pen + name = "hardsuit mounted pen" + desc = "A suit-mounted pen." + id = "rig_device_pen" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2, TECH_MAGNET = 2, TECH_BIO = 2, TECH_POWER = 2) + materials = list(MAT_PLASTEEL = 1000, MAT_PLASTIC = 500, MAT_PHORON = 500, MAT_GRAPHITE = 100) + build_path = /obj/item/rig_module/device/pen + +/datum/design/item/mechfab/rigsuit/grenade_metalfoam + name = "hardsuit metalfoam-bomb launcher" + desc = "A compact metalfoam grenade system for a hardsuit." + id = "rig_grenade_metalfoam" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_MAGNET = 2, TECH_POWER = 3) + materials = list(MAT_PLASTEEL = 2000, MAT_OSMIUM = 1000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 500) + build_path = /obj/item/rig_module/grenade_launcher/metalfoam + +/datum/design/item/mechfab/rigsuit/grenade_flash + name = "hardsuit flashbang launcher" + desc = "A compact flashbang grenade system for a hardsuit." + id = "rig_grenade_flashbang" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_PHORON = 3, TECH_MAGNET = 4, TECH_POWER = 5, TECH_COMBAT = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_OSMIUM = 1500, MAT_GRAPHITE = 1000, MAT_PLASTIC = 1000) + build_path = /obj/item/rig_module/grenade_launcher/flash + +/datum/design/item/mechfab/rigsuit/grenade_cleanfoam + name = "hardsuit cleaning-foam-bomb launcher" + desc = "A compact cleaning-foam grenade system for a hardsuit." + id = "rig_grenade_cleanfoam" + req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_BIO = 2, TECH_POWER = 2) + materials = list(MAT_PLASTEEL = 2000, MAT_GLASS = 1000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 750) + build_path = /obj/item/rig_module/cleaner_launcher + +/datum/design/item/mechfab/rigsuit/taser + name = "hardsuit taser" + desc = "A compact taser system for a hardsuit." + id = "rig_gun_taser" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 3, TECH_MAGNET = 2, TECH_POWER = 3, TECH_COMBAT = 2) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 500) + build_path = /obj/item/rig_module/mounted/taser + +/datum/design/item/mechfab/rigsuit/egun + name = "hardsuit egun" + desc = "A compact egun system for a hardsuit." + id = "rig_gun_egun" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 3, TECH_POWER = 4, TECH_COMBAT = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_GOLD = 1250, MAT_GRAPHITE = 1500, MAT_PLASTIC = 500) + build_path = /obj/item/rig_module/mounted/egun + +/datum/design/item/mechfab/rigsuit/mop + name = "hardsuit intense cleaning device" + desc = "An advanced cleaning device." + id = "rig_gun_tempgun" + req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 4, TECH_MAGNET = 5, TECH_POWER = 4, TECH_COMBAT = 6) + materials = list(MAT_PLASTEEL = 2000, MAT_GOLD = 1750, MAT_URANIUM = 1500, MAT_GRAPHITE = 1500, MAT_PLASTIC = 1000) + build_path = /obj/item/rig_module/mounted/mop + +/datum/design/item/mechfab/rigsuit/sprinter + name = "hardsuit overclocker" + desc = "A compact overclocking system for a hardsuit." + id = "rig_component_sprinter" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_BIO = 4, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 500, MAT_VERDANTIUM = 1000) + build_path = /obj/item/rig_module/sprinter + +/datum/design/item/mechfab/rigsuit/meson + name = "hardsuit meson visor" + desc = "A compact meson visor for a hardsuit." + id = "rig_component_meson" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 5, TECH_MAGNET = 3, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_OSMIUM = 500) + build_path = /obj/item/rig_module/vision/meson + +/datum/design/item/mechfab/rigsuit/material + name = "hardsuit material visor" + desc = "A compact material visor for a hardsuit." + id = "rig_component_material" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 5, TECH_MAGNET = 3, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_OSMIUM = 500) + build_path = /obj/item/rig_module/vision/material + +/datum/design/item/mechfab/rigsuit/nvg + name = "hardsuit night-vision visor" + desc = "A compact night-vision visor for a hardsuit." + id = "rig_component_nvg" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_MAGNET = 4, TECH_POWER = 5) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_OSMIUM = 500, MAT_URANIUM = 1000) + build_path = /obj/item/rig_module/vision/nvg + +/datum/design/item/mechfab/rigsuit/sechud + name = "hardsuit security visor" + desc = "A compact security visor for a hardsuit." + id = "rig_component_sechud" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_POWER = 2) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 500, MAT_SILVER = 500) + build_path = /obj/item/rig_module/vision/sechud + +/datum/design/item/mechfab/rigsuit/medhud + name = "hardsuit medical visor" + desc = "A compact medical visor for a hardsuit." + id = "rig_component_medhud" + req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_BIO = 2) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 500, MAT_SILVER = 500) + build_path = /obj/item/rig_module/vision/medhud + +/datum/design/item/mechfab/rigsuit/voice + name = "hardsuit voice-changer" + desc = "A compact voice-changer for a hardsuit." + id = "rig_component_voice" + req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 4, TECH_MAGNET = 4, TECH_BIO = 4, TECH_ILLEGAL = 3) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_PLASTIC = 1000, MAT_SILVER = 500, MAT_PHORON = 1000) + build_path = /obj/item/rig_module/voice + +/datum/design/item/mechfab/rigsuit/aicontainer + name = "hardsuit intelligence storage system" + desc = "A compact AI network system for a hardsuit." + id = "rig_component_aicontainer" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_BIO = 4, TECH_POWER = 4) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_DIAMOND = 1000, MAT_GOLD = 500, MAT_SILVER = 750, MAT_VERDANTIUM = 1000) + build_path = /obj/item/rig_module/ai_container + +/datum/design/item/mechfab/rigsuit/datajack + name = "hardsuit datajack" + desc = "A compact datajack for a hardsuit." + id = "rig_component_datajack" + req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_POWER = 5) + materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_METALHYDROGEN = 1000, MAT_GOLD = 500, MAT_SILVER = 750, MAT_VERDANTIUM = 1000) + build_path = /obj/item/rig_module/datajack + +/datum/design/item/mechfab/rigsuit/cheminjector + name = "hardsuit chemical injector" + desc = "A compact chemical injector network for a hardsuit." + id = "rig_component_chemicals" + req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_BIO = 4) + materials = list(MAT_PLASTEEL = 3000, MAT_GRAPHITE = 2000, MAT_PLASTIC = 3500, MAT_SILVER = 1750, MAT_GOLD = 1250) + build_path = /obj/item/rig_module/chem_dispenser/injector/advanced/empty + +/datum/design/item/mechfab/rigsuit/teleporter + name = "hardsuit teleporter system" + desc = "An enigmatic teleporter system for a hardsuit." + id = "rig_component_teleport" + req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_POWER = 6, TECH_ILLEGAL = 3, TECH_BLUESPACE = 4, TECH_ARCANE = 2, TECH_PRECURSOR = 3) + materials = list(MAT_DURASTEEL = 5000, MAT_GRAPHITE = 3000, MAT_MORPHIUM = 1500, MAT_OSMIUM = 1500, MAT_PHORON = 1750, MAT_VERDANTIUM = 3000, MAT_SUPERMATTER = 2000) + build_path = /obj/item/rig_module/teleporter diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index dc3a0cf437..3d65e35d63 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -15,9 +15,9 @@ var/mat_efficiency = 1 var/speed = 1 - materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, "gold" = 0, "silver" = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) + materials = list(DEFAULT_WALL_MATERIAL = 0, "glass" = 0, MAT_PLASTEEL = 0, "plastic" = 0, MAT_GRAPHITE = 0, "gold" = 0, "silver" = 0, "osmium" = 0, MAT_LEAD = 0, "phoron" = 0, "uranium" = 0, "diamond" = 0, MAT_DURASTEEL = 0, MAT_VERDANTIUM = 0, MAT_MORPHIUM = 0, MAT_METALHYDROGEN = 0, MAT_SUPERMATTER = 0) - hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) + hidden_materials = list(MAT_PLASTEEL, MAT_DURASTEEL, MAT_GRAPHITE, MAT_VERDANTIUM, MAT_MORPHIUM, MAT_METALHYDROGEN, MAT_SUPERMATTER) /obj/machinery/r_n_d/protolathe/Initialize() . = ..() diff --git a/html/changelogs/mechoid - RoboticsRigs.yml b/html/changelogs/mechoid - RoboticsRigs.yml new file mode 100644 index 0000000000..f7023732ea --- /dev/null +++ b/html/changelogs/mechoid - RoboticsRigs.yml @@ -0,0 +1,38 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Mechoid + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Move Rig modules to more granular files" + - rscadd: "Add RIG components to robotics mechfab, plus incredibly basic belt-voidsuit RIG." + - rscadd: "Add Graphite, made by compressing coal, presently only used heavily in RIG components." diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 3dd2c190b75a7554089f2518f103d44ce198b7a5..d7760bcfd9d2216b97dfacb076ade09375bb2000 100644 GIT binary patch delta 36425 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�r5)y=kZ>`A*ms<^k0s|%yYa2u#1g>^_uo-I5& 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 diff --git a/icons/mob/rig_back.dmi b/icons/mob/rig_back.dmi index 74cb306a6c862f4ca55a07e299d6461109fb3a0d..d3402980d7f73d923d1c0e565c654e1781c3e2bb 100644 GIT binary patch literal 12297 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 KU7&U6@&5z6@?HV} diff --git a/icons/mob/spacesuit.dmi b/icons/mob/spacesuit.dmi index 504a947b225f302ea62e03fe097e3fcdff82e424..62a2dd1906c3a8b31b90aadc3956dbf2f2333f0f 100644 GIT binary patch literal 186979 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

(!f7yZ2F7Fq6}-+-^nxNY2v->z^RZMmDtbLwpUK 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