From 5b4347c5abd8c5a4345051ec674e91bb077567f1 Mon Sep 17 00:00:00 2001 From: Poojawa Date: Tue, 27 Aug 2019 04:30:31 -0500 Subject: [PATCH 1/5] Initial commit. needs to be added alongside all med_hud_set_status and tested to even fukkin' work. --- code/__DEFINES/atom_hud.dm | 3 ++- code/game/data_huds.dm | 18 +++++++++++++++++- .../mob/living/carbon/carbon_defines.dm | 2 +- .../mob/living/carbon/human/human_defines.dm | 2 +- code/modules/mob/living/living_defines.dm | 2 +- icons/mob/hud.dmi | Bin 14934 -> 15921 bytes 6 files changed, 22 insertions(+), 5 deletions(-) diff --git a/code/__DEFINES/atom_hud.dm b/code/__DEFINES/atom_hud.dm index 4fd1669771..0e4f0f3a6e 100644 --- a/code/__DEFINES/atom_hud.dm +++ b/code/__DEFINES/atom_hud.dm @@ -23,8 +23,9 @@ #define AI_DETECT_HUD "19" #define NANITE_HUD "20" #define DIAG_NANITE_FULL_HUD "21" +#define RAD_HUD "22" //radation alerts for medical huds //for antag huds. these are used at the /mob level -#define ANTAG_HUD "22" +#define ANTAG_HUD "23" //by default everything in the hud_list of an atom is an image //a value in hud_list with one of these will change that behavior diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 8506a4133a..7a1fe16faa 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -18,7 +18,7 @@ /datum/atom_hud/data /datum/atom_hud/data/human/medical - hud_icons = list(STATUS_HUD, HEALTH_HUD, NANITE_HUD) + hud_icons = list(STATUS_HUD, HEALTH_HUD, NANITE_HUD, RAD_HUD) /datum/atom_hud/data/human/medical/basic @@ -211,6 +211,22 @@ holder.icon_state = "hudhealthy" +/mob/living/carbon/proc/med_hud_set_radstatus() + var/image/radholder = hud_list[RAD_HUD] + var/icon/I = icon(icon, icon_state, dir) + radholder.pixel_y = I.Height() - world.icon_size + var/mob/living/carbon/M = src + var/rads = M.radiation + switch(rads) + if(-INFINITY to RAD_MOB_SAFE) + radholder.icon_state = "hudradsafe" + if((RAD_MOB_SAFE+1) to RAD_MOB_MUTATE) + radholder.icon_state = "hudraddanger" + if((RAD_MOB_MUTATE+1) to RAD_MOB_VOMIT) + radholder.icon_state = "hudradlethal" + if((RAD_MOB_VOMIT+1) to INFINITY) + radholder.icon_state = "hudradnuke" + /*********************************************** Security HUDs! Basic mode shows only the job. ************************************************/ diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index a067be798f..7a1039fdac 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -2,7 +2,7 @@ gender = MALE pressure_resistance = 15 possible_a_intents = list(INTENT_HELP, INTENT_HARM) - hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD,GLAND_HUD,NANITE_HUD,DIAG_NANITE_FULL_HUD) + hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD,GLAND_HUD,NANITE_HUD,DIAG_NANITE_FULL_HUD,RAD_HUD) has_limbs = 1 held_items = list(null, null) var/list/stomach_contents = list() diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 7a0a2d8ad8..69f1675a41 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -1,5 +1,5 @@ /mob/living/carbon/human - hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPCHEM_HUD,IMPTRACK_HUD, NANITE_HUD, DIAG_NANITE_FULL_HUD,ANTAG_HUD,GLAND_HUD,SENTIENT_DISEASE_HUD) + hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPCHEM_HUD,IMPTRACK_HUD, NANITE_HUD, DIAG_NANITE_FULL_HUD,ANTAG_HUD,GLAND_HUD,SENTIENT_DISEASE_HUD,RAD_HUD) hud_type = /datum/hud/human possible_a_intents = list(INTENT_HELP, INTENT_DISARM, INTENT_GRAB, INTENT_HARM) pressure_resistance = 25 diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index c24e6ab108..998f2d5536 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -2,7 +2,7 @@ see_invisible = SEE_INVISIBLE_LIVING sight = 0 see_in_dark = 2 - hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD,NANITE_HUD,DIAG_NANITE_FULL_HUD) + hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD,NANITE_HUD,DIAG_NANITE_FULL_HUD,RAD_HUD) pressure_resistance = 10 var/resize = 1 //Badminnery resize diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index 10474f94da8c8e6a2667411520ebb65c5f18d096..164fabe8063e39972b342358fc0786ad3fd4472e 100644 GIT binary patch literal 15921 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 literal 14934 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 Date: Sat, 28 Sep 2019 02:10:30 -0500 Subject: [PATCH 2/5] lazily hijack the med hud update --- code/game/data_huds.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 7a1fe16faa..65a7c6a954 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -162,6 +162,7 @@ holder.icon_state = "hud[RoundHealth(src)]" var/icon/I = icon(icon, icon_state, dir) holder.pixel_y = I.Height() - world.icon_size + med_hud_set_radstatus() //for carbon suit sensors /mob/living/carbon/med_hud_set_health() @@ -211,11 +212,11 @@ holder.icon_state = "hudhealthy" -/mob/living/carbon/proc/med_hud_set_radstatus() +/mob/living/proc/med_hud_set_radstatus() var/image/radholder = hud_list[RAD_HUD] var/icon/I = icon(icon, icon_state, dir) radholder.pixel_y = I.Height() - world.icon_size - var/mob/living/carbon/M = src + var/mob/living/M = src var/rads = M.radiation switch(rads) if(-INFINITY to RAD_MOB_SAFE) From 041a4b4ed1862f0f70a9b874e769330bd700c04b Mon Sep 17 00:00:00 2001 From: Poojawa Date: Sat, 28 Sep 2019 03:18:00 -0500 Subject: [PATCH 3/5] Corrects scanner measurment information --- code/game/objects/items/devices/geiger_counter.dm | 2 +- code/game/objects/items/devices/scanners.dm | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 7823e570e0..0794bd2e6d 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -158,7 +158,7 @@ if(!M.radiation) to_chat(user, "[icon2html(src, user)] Radiation levels within normal boundaries.") else - to_chat(user, "[icon2html(src, user)] Subject is irradiated. Radiation levels: [M.radiation].") + to_chat(user, "[icon2html(src, user)] Subject is irradiated. Radiation levels: [M.radiation] rad.") if(rad_strength) to_chat(user, "[icon2html(src, user)] Target contains radioactive contamination. Radioactive strength: [rad_strength]") diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 0059938720..e0d3e7a8a0 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -215,8 +215,7 @@ SLIME SCANNER msg += "\tBrain Activity Level: [(200 - M.getBrainLoss())/2]%.\n" if(M.radiation) msg += "\tSubject is irradiated.\n" - if(advanced) - msg += "\tRadiation Level: [M.radiation]%.\n" + msg += "\tRadiation Level: [M.radiation] rad\n" if(advanced && M.hallucinating()) msg += "\tSubject is hallucinating.\n" From 30e6445c0ad55341906e6db665248e85bcf9e217 Mon Sep 17 00:00:00 2001 From: Poojawa Date: Sat, 28 Sep 2019 03:18:31 -0500 Subject: [PATCH 4/5] Suit Storage now purges radation contamination --- code/game/machinery/suit_storage_unit.dm | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 90166dacf0..d27357d654 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -210,13 +210,13 @@ add_fingerprint(user) /obj/machinery/suit_storage_unit/proc/cook() + var/mob/living/mob_occupant = occupant if(uv_cycles) uv_cycles-- uv = TRUE locked = TRUE update_icon() if(occupant) - var/mob/living/mob_occupant = occupant if(uv_super) mob_occupant.adjustFireLoss(rand(20, 36)) else @@ -246,9 +246,25 @@ else visible_message("[src]'s door slides open, barraging you with the nauseating smell of charred flesh.") playsound(src, 'sound/machines/airlockclose.ogg', 25, 1) - for(var/obj/item/I in src) //Scorches away blood and forensic evidence, although the SSU itself is unaffected - SEND_SIGNAL(I, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRONG) - var/datum/component/radioactive/contamination = I.GetComponent(/datum/component/radioactive) + var/list/things_to_clear = list() //Done this way since using GetAllContents on the SSU itself would include circuitry and such. + if(suit) + things_to_clear += suit + things_to_clear += suit.GetAllContents() + if(helmet) + things_to_clear += helmet + things_to_clear += helmet.GetAllContents() + if(mask) + things_to_clear += mask + things_to_clear += mask.GetAllContents() + if(storage) + things_to_clear += storage + things_to_clear += storage.GetAllContents() + if(occupant) + things_to_clear += occupant + things_to_clear += occupant.GetAllContents() + for(var/atom/movable/AM in things_to_clear) //Scorches away blood and forensic evidence, although the SSU itself is unaffected + SEND_SIGNAL(AM, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_STRONG) + var/datum/component/radioactive/contamination = AM.GetComponent(/datum/component/radioactive) if(contamination) qdel(contamination) open_machine(FALSE) From 9bd6f83034aa3b455dc8772b7b4fe2f37c34527c Mon Sep 17 00:00:00 2001 From: Poojawa Date: Sat, 28 Sep 2019 03:22:17 -0500 Subject: [PATCH 5/5] Applies rad_flags to a lot of common items + bluespace bags Also applies fireproofing to Captain's bag. Eng Sachel /duffle get it too for consistency. --- code/game/objects/items/storage/backpack.dm | 14 ++++++++++++++ code/game/objects/items/storage/bags.dm | 3 +++ code/game/objects/items/storage/belt.dm | 5 ++++- code/game/objects/items/storage/boxes.dm | 1 + code/game/objects/items/storage/toolbox.dm | 1 + code/modules/clothing/spacesuits/_spacesuits.dm | 2 ++ code/modules/clothing/suits/utility.dm | 4 ++-- code/modules/research/stock_parts.dm | 2 ++ 8 files changed, 29 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 887b6f5a2e..60f7b119c6 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -46,6 +46,7 @@ item_flags = NO_MAT_REDEMPTION armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 50) component_type = /datum/component/storage/concrete/bluespace/bag_of_holding + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/backpack/holding/satchel name = "satchel of holding" @@ -53,6 +54,7 @@ icon_state = "holdingsat" item_state = "holdingsat" species_exception = list(/datum/species/angel) + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/backpack/holding/ComponentInitialize() . = ..() @@ -81,6 +83,7 @@ icon_state = "giftbag0" item_state = "giftbag" w_class = WEIGHT_CLASS_BULKY + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/backpack/santabag/ComponentInitialize() . = ..() @@ -133,6 +136,8 @@ desc = "It's a special backpack made exclusively for Nanotrasen officers." icon_state = "captainpack" item_state = "captainpack" + resistance_flags = FIRE_PROOF + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/backpack/industrial name = "industrial backpack" @@ -140,6 +145,7 @@ icon_state = "engiepack" item_state = "engiepack" resistance_flags = FIRE_PROOF + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/backpack/botany name = "botany backpack" @@ -194,6 +200,8 @@ desc = "A tough satchel with extra pockets." icon_state = "satchel-eng" item_state = "engiepack" + resistance_flags = FIRE_PROOF + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/backpack/satchel/med name = "medical satchel" @@ -261,6 +269,8 @@ desc = "An exclusive satchel for Nanotrasen officers." icon_state = "satchel-cap" item_state = "captainpack" + resistance_flags = FIRE_PROOF + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/backpack/satchel/flat name = "smuggler's satchel" @@ -383,6 +393,8 @@ desc = "A large duffel bag for holding extra tools and supplies." icon_state = "duffel-eng" item_state = "duffel-eng" + resistance_flags = FIRE_PROOF + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/backpack/duffelbag/durathread name = "durathread duffel bag" @@ -398,6 +410,7 @@ icon_state = "duffel-drone" item_state = "duffel-drone" resistance_flags = FIRE_PROOF + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/backpack/duffelbag/drone/PopulateContents() new /obj/item/screwdriver(src) @@ -425,6 +438,7 @@ icon_state = "duffel-syndie" item_state = "duffel-syndieammo" slowdown = 0 + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/backpack/duffelbag/syndie/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index e4debeff49..232d1bd5c9 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -81,6 +81,7 @@ desc = "The latest and greatest in custodial convenience, a trashbag that is capable of holding vast quantities of garbage." icon_state = "bluetrashbag" item_flags = NO_MAT_REDEMPTION + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/bag/trash/bluespace/ComponentInitialize() . = ..() @@ -105,6 +106,7 @@ component_type = /datum/component/storage/concrete/stack var/spam_protection = FALSE //If this is TRUE, the holder won't receive any messages when they fail to pick up ore through crossing it var/datum/component/mobhook + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/bag/ore/ComponentInitialize() . = ..() @@ -391,6 +393,7 @@ icon = 'icons/obj/chemical.dmi' icon_state = "bspace_biobag" desc = "A bag for the safe transportation and disposal of biowaste and other biological materials." + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/bag/bio/holding/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 4495e9da14..3fe4abeeec 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -40,6 +40,7 @@ icon_state = "utilitybelt" item_state = "utility" content_overlays = TRUE + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE //because this is easier than trying to have showers wash all contents. /obj/item/storage/belt/utility/ComponentInitialize() . = ..() @@ -344,6 +345,7 @@ desc = "A set of tactical webbing worn by Syndicate boarding parties." icon_state = "militarywebbing" item_state = "militarywebbing" + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/belt/military/ComponentInitialize() . = ..() @@ -530,6 +532,7 @@ desc = "A belt designed to hold various rods of power. A veritable fanny pack of exotic magic." icon_state = "soulstonebelt" item_state = "soulstonebelt" + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/storage/belt/wands/ComponentInitialize() . = ..() @@ -599,7 +602,7 @@ icon_state = "bandolier-durathread" item_state = "bandolier-durathread" resistance_flags = FIRE_PROOF - + /obj/item/storage/belt/bandolier/durathread/ComponentInitialize() . = ..() GET_COMPONENT(STR, /datum/component/storage) diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 903c319644..dd6a6b8453 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -33,6 +33,7 @@ resistance_flags = FLAMMABLE var/foldable = /obj/item/stack/sheet/cardboard var/illustration = "writing" + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE //exploits ahoy /obj/item/storage/box/Initialize(mapload) . = ..() diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 5b99bb85bf..d18212be42 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -19,6 +19,7 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) var/latches = "single_latch" var/has_latches = TRUE var/can_rubberify = TRUE + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE //very protecc too /obj/item/storage/toolbox/Initialize(mapload) . = ..() diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index 662a91c80c..57866b5131 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -22,6 +22,7 @@ resistance_flags = NONE dog_fashion = null mutantrace_variation = MUTANTRACE_VARIATION + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE /obj/item/clothing/suit/space name = "space suit" @@ -44,4 +45,5 @@ strip_delay = 80 equip_delay_other = 80 resistance_flags = NONE + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE //rated for cosmic radation :honk: tauric = TRUE //Citadel Add for tauric hardsuits diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index d003a20167..fbdca6ddbc 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -130,7 +130,7 @@ equip_delay_other = 60 flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH resistance_flags = NONE - rad_flags = RAD_PROTECT_CONTENTS + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE mutantrace_variation = MUTANTRACE_VARIATION /obj/item/clothing/suit/radiation @@ -150,5 +150,5 @@ equip_delay_other = 60 flags_inv = HIDEJUMPSUIT|HIDETAUR resistance_flags = NONE - rad_flags = RAD_PROTECT_CONTENTS + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE tauric = TRUE //Citadel Add for tauric hardsuits diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index af004c4701..3cd296f866 100644 --- a/code/modules/research/stock_parts.dm +++ b/code/modules/research/stock_parts.dm @@ -13,6 +13,7 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi var/works_from_distance = FALSE var/pshoom_or_beepboopblorpzingshadashwoosh = 'sound/items/rped.ogg' var/alt_sound = null + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE //cutting down on exploits /obj/item/storage/part_replacer/pre_attack(obj/machinery/T, mob/living/user, params) if(!istype(T) || !T.component_parts) @@ -67,6 +68,7 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi icon = 'icons/obj/stock_parts.dmi' w_class = WEIGHT_CLASS_SMALL var/rating = 1 + rad_flags = RAD_NO_CONTAMINATE /obj/item/stock_parts/Initialize() . = ..()