From 2e971c1905ad4114d8357bfaac5040e793e50f8a Mon Sep 17 00:00:00 2001 From: Benedict <91219575+Ben10083@users.noreply.github.com> Date: Mon, 23 May 2022 06:47:52 -0400 Subject: [PATCH] Implemented a Cyborg Analyzer Augment (#13971) --- code/__defines/mobs.dm | 1 + .../loadout/loadout_augments.dm | 14 ++++++++++++ .../mob/living/silicon/robot/analyzer.dm | 20 +++++++++++++++--- code/modules/organs/subtypes/augment.dm | 13 ++++++++++++ html/changelogs/Ben10083 - CAnalAug.yml | 13 ++++++++++++ icons/obj/action_buttons/organs.dmi | Bin 22732 -> 23053 bytes 6 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 html/changelogs/Ben10083 - CAnalAug.yml diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index 3ea8133ad8b..08352fb5ce7 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -145,6 +145,7 @@ #define BP_AUG_TIMEPIECE "integrated timepiece" #define BP_AUG_TOOL "retractable combitool" #define BP_AUG_PEN "retractable combipen" +#define BP_AUG_CYBORG_ANALYZER "retractable cyborg analyzer" #define BP_AUG_LIGHTER "retractable lighter" #define BP_AUG_HEALTHSCAN "integrated health scanner" #define BP_AUG_GUSTATORIAL "integrated gustatorial centre" diff --git a/code/modules/client/preference_setup/loadout/loadout_augments.dm b/code/modules/client/preference_setup/loadout/loadout_augments.dm index 7f3e916b79f..c97426d95a4 100644 --- a/code/modules/client/preference_setup/loadout/loadout_augments.dm +++ b/code/modules/client/preference_setup/loadout/loadout_augments.dm @@ -81,6 +81,20 @@ whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER, SPECIES_UNATHI) cost = 3 +/datum/gear/augment/analyzer + display_name = "retractable cyborg analyzer" + description = "An augment that allows the user to deploy a retractable cyborg analyzer." + path = /obj/item/organ/internal/augment/tool/cyborg_analyzer + allowed_roles = list("Machinist") + cost = 3 + +/datum/gear/augment/analyzer/New() + ..() + var/list/augs = list() + augs["retractable cyborg analyzer, right hand"] = /obj/item/organ/internal/augment/tool/cyborg_analyzer + augs["retractable cyborg analyzer, left hand"] = /obj/item/organ/internal/augment/tool/cyborg_analyzer/left + gear_tweaks += new /datum/gear_tweak/path(augs) + /datum/gear/augment/health_scanner display_name = "integrated health scanner" description = "An augment that allows the user scan their own health condition." diff --git a/code/modules/mob/living/silicon/robot/analyzer.dm b/code/modules/mob/living/silicon/robot/analyzer.dm index bcec23bcfa1..7415ccd4cb0 100644 --- a/code/modules/mob/living/silicon/robot/analyzer.dm +++ b/code/modules/mob/living/silicon/robot/analyzer.dm @@ -1,5 +1,5 @@ // -//Robotic Component Analyser, basically a health analyser for robots +//Robotic Component Analyzer, basically a health analyzer for robots // /obj/item/device/robotanalyzer name = "cyborg analyzer" @@ -19,7 +19,6 @@ if((user.is_clumsy() || (DUMB in user.mutations)) && prob(50)) to_chat(user, SPAN_WARNING("You try to analyze the floor's vitals!")) visible_message(SPAN_WARNING("\The [user] has analyzed the floor's vitals!")) - to_chat(user, SPAN_NOTICE("Analyzing Results for The floor:")) to_chat(user, SPAN_NOTICE("Overall Status: Healthy")) to_chat(user, SPAN_NOTICE("Damage Specifics: [0]-[0]-[0]-[0]")) @@ -102,4 +101,19 @@ if(!organ_found) to_chat(user, SPAN_NOTICE("No prosthetics located.")) - add_fingerprint(user) \ No newline at end of file + add_fingerprint(user) + +/obj/item/device/robotanalyzer/augment + name = "retractable cyborg analyzer" + desc = "An scanner implanted directly into the hand, popping through the finger. This scanner can diagnose robotic injuries." + icon_state = "robotanalyzer" + item_state = "analyzer" + slot_flags = null + w_class = ITEMSIZE_HUGE + +/obj/item/device/robotanalyzer/augment/throw_at(atom/target, range, speed, mob/user) + user.drop_from_inventory(src) + +/obj/item/device/robotanalyzer/augment/dropped() + loc = null + qdel(src) \ No newline at end of file diff --git a/code/modules/organs/subtypes/augment.dm b/code/modules/organs/subtypes/augment.dm index c0e6b13ceab..9db25444c32 100644 --- a/code/modules/organs/subtypes/augment.dm +++ b/code/modules/organs/subtypes/augment.dm @@ -157,6 +157,19 @@ parent_organ = BP_L_HAND aug_slot = slot_l_hand +/obj/item/organ/internal/augment/tool/cyborg_analyzer + name = "retractable cyborg analyzer" + icon_state = "robotanalyzer" + action_button_name = "Deploy Analyzer" + action_button_icon = "augment-tool" + organ_tag = BP_AUG_CYBORG_ANALYZER + parent_organ = BP_R_HAND + augment_type = /obj/item/device/robotanalyzer/augment + +/obj/item/organ/internal/augment/tool/cyborg_analyzer/left + parent_organ = BP_L_HAND + aug_slot = slot_l_hand + /obj/item/organ/internal/augment/health_scanner name = "integrated health scanner" action_button_name = "Activate Health Scanner" diff --git a/html/changelogs/Ben10083 - CAnalAug.yml b/html/changelogs/Ben10083 - CAnalAug.yml new file mode 100644 index 00000000000..592a405c77b --- /dev/null +++ b/html/changelogs/Ben10083 - CAnalAug.yml @@ -0,0 +1,13 @@ +# Your name. +author: Ben10083 + +# 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: + - rscadd: "Added a retractable cyborg analyzer useable by machinists." diff --git a/icons/obj/action_buttons/organs.dmi b/icons/obj/action_buttons/organs.dmi index 43b533210898266e50c46915e30c3c0a7eea5f6b..ea343bd9bd9de8c87f78d1332db2484cbe87033e 100644 GIT binary patch delta 3344 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 Fe*r&>$u0l@