diff --git a/code/modules/client/preference_setup/loadout/loadout_augments.dm b/code/modules/client/preference_setup/loadout/loadout_augments.dm index ae24e7665d9..3a89b5ced35 100644 --- a/code/modules/client/preference_setup/loadout/loadout_augments.dm +++ b/code/modules/client/preference_setup/loadout/loadout_augments.dm @@ -9,12 +9,19 @@ flags = GEAR_NO_SELECTION /datum/gear/augment/eye_sensors - display_name = "integrated eye sensors" + display_name = "integrated eye sensors selection" description = "An eye augment that allows the user to deploy medical or security sensors." path = /obj/item/organ/internal/augment/eye_sensors - cost = 3 + cost = 1 whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_UNATHI, SPECIES_SKRELL, 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) +/datum/gear/augment/eye_sensors/New() + ..() + var/list/sensors = list() + sensors["eye sensors, security"] = /obj/item/organ/internal/augment/eye_sensors/security + sensors["eye sensors, medical"] = /obj/item/organ/internal/augment/eye_sensors/medical + gear_tweaks += new /datum/gear_tweak/path(sensors) + /datum/gear/augment/cyber_hair display_name = "synthetic hair extensions" description = "A hair augment that allows the user to change the shape and color of their hair." diff --git a/code/modules/organs/subtypes/augment.dm b/code/modules/organs/subtypes/augment.dm index c1b27c72d52..84c3fed0699 100644 --- a/code/modules/organs/subtypes/augment.dm +++ b/code/modules/organs/subtypes/augment.dm @@ -218,21 +218,21 @@ tesla_zap(owner, 7, 1500) /obj/item/organ/internal/augment/eye_sensors - name = "integrated eye sensors" + name = "integrated HUD sensors" icon_state = "augment_eyes" cooldown = 25 activable = TRUE organ_tag = BP_AUG_EYE_SENSORS parent_organ = BP_HEAD - action_button_name = "Toggle Eye Sensors" + action_button_name = "Toggle Security Sensors" var/active_hud = "disabled" var/static/list/hud_types = list( - "Disabled", + "disabled", SEC_HUDTYPE, MED_HUDTYPE) - var/selected_hud = "Disabled" + var/selected_hud = "disabled" /obj/item/organ/internal/augment/eye_sensors/attack_self(var/mob/user) . = ..() @@ -240,37 +240,12 @@ if(!.) return FALSE - var/choice = input("Select the Sensor Type.", "Bionic Eyes Sensors") as null|anything in capitalize_list(hud_types) - - selected_hud = lowertext(choice) - /obj/item/organ/internal/augment/eye_sensors/process() ..() if(!owner) return - switch(selected_hud) - - if(SEC_HUDTYPE) - req_access = list(access_security) - if(allowed(owner)) - active_hud = "security" - process_sec_hud(owner, 1) - else - active_hud = "disabled" - - if(MED_HUDTYPE) - req_access = list(access_medical) - if(allowed(owner)) - active_hud = "medical" - process_med_hud(owner, 1) - else - active_hud = "disabled" - - else - active_hud = "disabled" - /obj/item/organ/internal/augment/eye_sensors/emp_act(severity) ..() var/obj/item/organ/internal/eyes/E = owner.get_eyes() @@ -281,6 +256,63 @@ /obj/item/organ/internal/augment/eye_sensors/proc/check_hud(var/hud) return (hud == active_hud) +/obj/item/organ/internal/augment/eye_sensors/security + name = "integrated security HUD sensors" + action_button_name = "Toggle Security Sensors" + +/obj/item/organ/internal/augment/eye_sensors/security/attack_self(var/mob/user) + . = ..() + + if(selected_hud == "disabled") + selected_hud = SEC_HUDTYPE + to_chat(user, "You activate \the [src].") + else + selected_hud = "disabled" + to_chat(user, "You deactivate \the [src].") + +/obj/item/organ/internal/augment/eye_sensors/security/process() + ..() + + switch(selected_hud) + + if(SEC_HUDTYPE) + req_access = list(access_security) + if(allowed(owner)) + active_hud = "security" + process_sec_hud(owner, 1) + else + active_hud = "disabled" + else + active_hud = "disabled" +/obj/item/organ/internal/augment/eye_sensors/medical + name = "integrated medical HUD sensors" + action_button_name = "Toggle Medical Sensors" + +/obj/item/organ/internal/augment/eye_sensors/medical/attack_self(var/mob/user) + . = ..() + + if(selected_hud == "disabled") + selected_hud = MED_HUDTYPE + to_chat(user, "You activate \the [src].") + else + selected_hud = "disabled" + to_chat(user, "You deactivate \the [src].") + +/obj/item/organ/internal/augment/eye_sensors/medical/process() + ..() + + switch(selected_hud) + + if(MED_HUDTYPE) + req_access = list(access_medical) + if(allowed(owner)) + active_hud = "medical" + process_med_hud(owner, 1) + else + active_hud = "disabled" + else + active_hud = "disabled" + /obj/item/organ/internal/augment/cyber_hair name = "synthetic hair extensions" cooldown = 20 diff --git a/html/changelogs/omicega-fdsfsdfdsfgdsfg432423.yml b/html/changelogs/omicega-fdsfsdfdsfgdsfg432423.yml new file mode 100644 index 00000000000..7c04530d9a1 --- /dev/null +++ b/html/changelogs/omicega-fdsfsdfdsfgdsfg432423.yml @@ -0,0 +1,13 @@ +# Your name. +author: Omicega + +# 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: "Split the integrated HUD sensors augment into an integrated security HUD and integrated medical HUD. Reduced loadout cost accordingly."