mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-08-22 12:46:40 +01:00
Gives FBP's a proc to change their monitor display without using a mask item. (#7452)
* Synthetics display monitor Does a change to the synthetics monitor heads and other heads that have displays, allowing them to have those displays without using a mask, using a proc that is given to them. works by basically replacing eye sprite. * changelog. * removes the monitor mask item. * switches && for || in line 363 * moves line of code
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -102,6 +102,7 @@
|
||||
var/obj/item/organ/external/T = organs_by_name[BP_TORSO]
|
||||
if(T && T.robotic >= ORGAN_ROBOT)
|
||||
src.verbs += /mob/living/carbon/human/proc/self_diagnostics
|
||||
src.verbs += /mob/living/carbon/human/proc/setmonitor_state
|
||||
var/datum/robolimb/R = all_robolimbs[T.model]
|
||||
synthetic = R
|
||||
return synthetic
|
||||
|
||||
@@ -347,3 +347,28 @@
|
||||
to_chat(src, "<span class='critical'>Your regeneration is interrupted!</span>")
|
||||
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,"<span class='warning'>You must be awake and standing to perform this action!</span>")
|
||||
return
|
||||
var/obj/item/organ/external/head/E = organs_by_name[BP_HEAD]
|
||||
if(!E)
|
||||
to_chat(src,"<span class='warning'>You don't seem to have a head!</span>")
|
||||
return
|
||||
var/datum/robolimb/robohead = all_robolimbs[E.model]
|
||||
if(!robohead.monitor_styles || !robohead.monitor_icon)
|
||||
to_chat(src,"<span class='warning'>Your head doesn't have a monitor or it doens't support to be changed!</span>")
|
||||
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,"<span class='warning'>You set your monitor to display [choice]!</span>")
|
||||
update_icons_body()
|
||||
|
||||
@@ -236,7 +236,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())
|
||||
@@ -267,7 +269,6 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
|
||||
icon_key += "1"
|
||||
|
||||
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]
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)."
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
@@ -1592,7 +1592,6 @@
|
||||
#include "code\modules\clothing\masks\breath.dm"
|
||||
#include "code\modules\clothing\masks\gasmask.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"
|
||||
|
||||
Reference in New Issue
Block a user