From 8e784cc13aa65c24f252841d12cf833b802470a9 Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Wed, 11 Mar 2020 16:34:45 -0400 Subject: [PATCH] Move our VR stuff into 'specific' files --- .../spacesuits/rig/modules/combat_vr.dm | 12 --- .../pat_module_vr.dm} | 81 ------------------- .../rig/modules/specific/rescue_pharm_vr.dm | 80 ++++++++++++++++++ .../clothing/spacesuits/rig/suits/ert_vr.dm | 2 +- 4 files changed, 81 insertions(+), 94 deletions(-) delete mode 100644 code/modules/clothing/spacesuits/rig/modules/combat_vr.dm rename code/modules/clothing/spacesuits/rig/modules/{utility_vr.dm => specific/pat_module_vr.dm} (58%) create mode 100644 code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm diff --git a/code/modules/clothing/spacesuits/rig/modules/combat_vr.dm b/code/modules/clothing/spacesuits/rig/modules/combat_vr.dm deleted file mode 100644 index f62c0bf4b8e..00000000000 --- a/code/modules/clothing/spacesuits/rig/modules/combat_vr.dm +++ /dev/null @@ -1,12 +0,0 @@ -/obj/item/rig_module/grenade_launcher/cleaner - name = "mounted cleaner-grenade launcher" - desc = "A shoulder-mounted cleaner-grenade dispenser." - - interface_name = "integrated cleaner-grenade launcher" - interface_desc = "Discharges loaded cleaner-grenades against the wearer's location." - - fire_force = 15 - - charges = list( - list("cleaner grenade", "cleaner grenade", /obj/item/weapon/grenade/chem_grenade/cleaner, 6) - ) diff --git a/code/modules/clothing/spacesuits/rig/modules/utility_vr.dm b/code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm similarity index 58% rename from code/modules/clothing/spacesuits/rig/modules/utility_vr.dm rename to code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm index a61f8126d10..7c7e8453d6b 100644 --- a/code/modules/clothing/spacesuits/rig/modules/utility_vr.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/pat_module_vr.dm @@ -86,84 +86,3 @@ global_announcer.autosay(message, "Security Subsystem", "Command") global_announcer.autosay(message, "Security Subsystem", "Security") return 1 - -/obj/item/rig_module/rescue_pharm - name = "micro-pharmacy" - desc = "A small chemical dispenser with integrated micro cartridges." - usable = 0 - selectable = 1 - disruptive = 1 - toggleable = 1 - - use_power_cost = 0 - active_power_cost = 5 - - activate_string = "Enable Regen" - deactivate_string = "Disable Regen" - - interface_name = "mounted chem injector" - interface_desc = "Dispenses loaded chemicals via an arm-mounted injector." - - var/max_reagent_volume = 20 //Regen to this volume - var/chems_to_use = 5 //Per injection - - charges = list( - list("inaprovaline", "inaprovaline", 0, 20), - list("anti_toxin", "anti_toxin", 0, 20), - list("paracetamol", "paracetamol", 0, 20), - list("dexalin", "dexalin", 0, 20) - ) - -/obj/item/rig_module/rescue_pharm/process() - . = ..() - if(active) - var/did_work = 0 - - for(var/charge in charges) - var/datum/rig_charge/C = charges[charge] - - //Found one that isn't full - if(C.charges < max_reagent_volume) - did_work = 1 - C.charges += 1 - break - - if (!did_work) - deactivate() //All done - -/obj/item/rig_module/rescue_pharm/engage(atom/target) - if(!target) - return 1 //You're just toggling the module on, not clicking someone. - - 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 - - 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(istype(target,/mob/living/carbon)) - target_mob = target - else - return 0 - - to_chat(H,"You inject [target_mob == H ? "yourself" : target_mob] with [chems_to_use] unit\s of [charge.short_name].") - to_chat(target_mob,"You feel a rushing in your veins as you're injected by \the [src].") - 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 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm b/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm new file mode 100644 index 00000000000..d3c840a12fd --- /dev/null +++ b/code/modules/clothing/spacesuits/rig/modules/specific/rescue_pharm_vr.dm @@ -0,0 +1,80 @@ +/obj/item/rig_module/rescue_pharm + name = "micro-pharmacy" + desc = "A small chemical dispenser with integrated micro cartridges." + usable = 0 + selectable = 1 + disruptive = 1 + toggleable = 1 + + use_power_cost = 0 + active_power_cost = 5 + + activate_string = "Enable Regen" + deactivate_string = "Disable Regen" + + interface_name = "mounted chem injector" + interface_desc = "Dispenses loaded chemicals via an arm-mounted injector." + + var/max_reagent_volume = 20 //Regen to this volume + var/chems_to_use = 5 //Per injection + + charges = list( + list("inaprovaline", "inaprovaline", 0, 20), + list("anti_toxin", "anti_toxin", 0, 20), + list("paracetamol", "paracetamol", 0, 20), + list("dexalin", "dexalin", 0, 20) + ) + +/obj/item/rig_module/rescue_pharm/process() + . = ..() + if(active) + var/did_work = 0 + + for(var/charge in charges) + var/datum/rig_charge/C = charges[charge] + + //Found one that isn't full + if(C.charges < max_reagent_volume) + did_work = 1 + C.charges += 1 + break + + if (!did_work) + deactivate() //All done + +/obj/item/rig_module/rescue_pharm/engage(atom/target) + if(!target) + return 1 //You're just toggling the module on, not clicking someone. + + 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 + + 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(istype(target,/mob/living/carbon)) + target_mob = target + else + return 0 + + to_chat(H,"You inject [target_mob == H ? "yourself" : target_mob] with [chems_to_use] unit\s of [charge.short_name].") + to_chat(target_mob,"You feel a rushing in your veins as you're injected by \the [src].") + 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 diff --git a/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm b/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm index 034ea31865f..14b1e1d98f6 100644 --- a/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm +++ b/code/modules/clothing/spacesuits/rig/suits/ert_vr.dm @@ -6,7 +6,7 @@ initial_modules = list( /obj/item/rig_module/maneuvering_jets, - /obj/item/rig_module/grenade_launcher/cleaner, + /obj/item/rig_module/cleaner_launcher, ) /obj/item/weapon/rig/ert/assetprotection