diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno.dm b/code/modules/client/preference_setup/loadout/loadout_xeno.dm index a7669a837fa..2cad142833e 100644 --- a/code/modules/client/preference_setup/loadout/loadout_xeno.dm +++ b/code/modules/client/preference_setup/loadout/loadout_xeno.dm @@ -134,11 +134,6 @@ cloaks[initial(cloak_type.name)] = cloak_type gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks)) -/datum/gear/mask/ipc_monitor - display_name = "display monitor (Full Body Prosthetic)" - path = /obj/item/clothing/mask/monitor - sort_category = "Xenowear" - /datum/gear/uniform/harness display_name = "gear harness (Full Body Prosthetic, Diona)" path = /obj/item/clothing/under/harness diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index f9c15a48525..7494867d2d8 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -103,6 +103,7 @@ if(T && T.robotic >= ORGAN_ROBOT) src.verbs += /mob/living/carbon/human/proc/self_diagnostics src.verbs += /mob/living/carbon/human/proc/reagent_purge //VOREStation Add + src.verbs += /mob/living/carbon/human/proc/setmonitor_state var/datum/robolimb/R = all_robolimbs[T.model] synthetic = R return synthetic diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index 9a9cb2eca24..d63b866e6fa 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -352,3 +352,28 @@ to_chat(src, "Your regeneration is interrupted!") adjust_nutrition(-75) active_regen = FALSE + +/mob/living/carbon/human/proc/setmonitor_state() + set name = "Set monitor display" + set desc = "Set your monitor display" + set category = "IC" + if(stat) + to_chat(src,"You must be awake and standing to perform this action!") + return + var/obj/item/organ/external/head/E = organs_by_name[BP_HEAD] + if(!E) + to_chat(src,"You don't seem to have a head!") + return + var/datum/robolimb/robohead = all_robolimbs[E.model] + if(!robohead.monitor_styles || !robohead.monitor_icon) + to_chat(src,"Your head doesn't have a monitor or it doens't support to be changed!") + return + var/list/states + if(!states) + states = params2list(robohead.monitor_styles) + var/choice = input("Select a screen icon.") as null|anything in states + if(choice) + E.eye_icon_location = robohead.monitor_icon + E.eye_icon = states[choice] + to_chat(src,"You set your monitor to display [choice]!") + update_icons_body() diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 8cb2f44a088..99a0c828d1e 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -243,7 +243,9 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() icon_key += "[rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3])]" else icon_key += "[r_eyes], [g_eyes], [b_eyes]" - + var/obj/item/organ/external/head/head = organs_by_name[BP_HEAD] + if(head) + icon_key += "[head.eye_icon]" for(var/organ_tag in species.has_limbs) var/obj/item/organ/external/part = organs_by_name[organ_tag] if(isnull(part) || part.is_stump() || part.is_hidden_by_tail()) //VOREStation Edit allowing tails to prevent bodyparts rendering, granting more spriter freedom for taur/digitigrade stuff. @@ -281,7 +283,6 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() icon_key += "_t" //VOREStation Edit. icon_key = "[icon_key][husk ? 1 : 0][fat ? 1 : 0][hulk ? 1 : 0][skeleton ? 1 : 0]" - var/icon/base_icon if(human_icon_cache[icon_key]) base_icon = human_icon_cache[icon_key] diff --git a/code/modules/organs/robolimbs.dm b/code/modules/organs/robolimbs.dm index c8c2b5c6a28..e7be5f4912a 100644 --- a/code/modules/organs/robolimbs.dm +++ b/code/modules/organs/robolimbs.dm @@ -45,6 +45,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\ var/company = "Unbranded" // Shown when selecting the limb. var/desc = "A generic unbranded robotic prosthesis." // Seen when examining a limb. var/icon = 'icons/mob/human_races/robotic.dmi' // Icon base to draw from. + var/monitor_icon = 'icons/mob/monitor_icons.dmi' // Where it draws the monitor icon from. var/unavailable_at_chargen // If set, not available at chargen. var/unavailable_to_build // If set, can't be constructed. var/lifelike // If set, appears organic. diff --git a/html/changelogs/splintergp-PR-7452.yml b/html/changelogs/splintergp-PR-7452.yml new file mode 100644 index 00000000000..0ebe2d5ace0 --- /dev/null +++ b/html/changelogs/splintergp-PR-7452.yml @@ -0,0 +1,37 @@ +################################ +# 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: SplinterGP + +# 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 verb for FBP's to change their monitor display." + - rscdel: "Removed monitor mask item(replaced by verb)." diff --git a/icons/mob/monitor_icons.dmi b/icons/mob/monitor_icons.dmi index cd7de49fb9a..d25c6b7832b 100644 Binary files a/icons/mob/monitor_icons.dmi and b/icons/mob/monitor_icons.dmi differ diff --git a/vorestation.dme b/vorestation.dme index e30219e8d24..d96b5d42baa 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1863,7 +1863,6 @@ #include "code\modules\clothing\masks\gasmask.dm" #include "code\modules\clothing\masks\gasmask_vr.dm" #include "code\modules\clothing\masks\miscellaneous.dm" -#include "code\modules\clothing\masks\monitor.dm" #include "code\modules\clothing\masks\voice.dm" #include "code\modules\clothing\rings\material.dm" #include "code\modules\clothing\rings\rings.dm"