diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 3e48ebe727..d6e035fb58 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -365,6 +365,7 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster) if(!viewing_channel.censored) for(var/datum/feed_message/M in viewing_channel.messages) var/list/msgdata = list( + "title" = M.title, "body" = M.body, "img" = null, "type" = M.message_type, diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index fb91e2a028..6c5a0f6fcf 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -654,8 +654,10 @@ var/list/global/slot_flags_enumeration = list( return //if we haven't made our blood_overlay already - if( !blood_overlay ) + if(!blood_overlay) generate_blood_overlay() + else + overlays.Remove(blood_overlay) //Make the blood_overlay have the proper color then apply it. blood_overlay.color = blood_color diff --git a/code/game/objects/items/devices/scanners/health.dm b/code/game/objects/items/devices/scanners/health.dm index 88fde8873b..ec9a6b257c 100644 --- a/code/game/objects/items/devices/scanners/health.dm +++ b/code/game/objects/items/devices/scanners/health.dm @@ -75,7 +75,7 @@ var/fake_oxy = max(rand(1,40), M.getOxyLoss(), (300 - (M.getToxLoss() + M.getFireLoss() + M.getBruteLoss()))) var/OX = M.getOxyLoss() > 50 ? span_bold("[M.getOxyLoss()]") : M.getOxyLoss() var/TX = M.getToxLoss() > 50 ? span_bold("[M.getToxLoss()]") : M.getToxLoss() - var/BU = M.getFireLoss() > 50 ? span_bold("M.getFireLoss()]") : M.getFireLoss() + var/BU = M.getFireLoss() > 50 ? span_bold("[M.getFireLoss()]") : M.getFireLoss() var/BR = M.getBruteLoss() > 50 ? span_bold("[M.getBruteLoss()]") : M.getBruteLoss() var/analyzed_results = "" if(M.status_flags & FAKEDEATH) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 3a5d4190d0..e8a3045c1e 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -559,9 +559,22 @@ return busy = 0 - user.clean_blood() if(ishuman(user)) - user:update_inv_gloves() + var/mob/living/carbon/human/H = user + H.gunshot_residue = null + if(H.gloves) + H.gloves.clean_blood() + H.update_inv_gloves() + H.gloves.germ_level = 0 + else + if(H.r_hand) + H.r_hand.clean_blood() + if(H.l_hand) + H.l_hand.clean_blood() + H.bloody_hands = 0 + H.germ_level = 0 + else + user.clean_blood() for(var/mob/V in viewers(src, null)) V.show_message(span_notice("[user] washes their hands using \the [src].")) diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 41d459a89a..fb84b78204 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -212,16 +212,16 @@ var/slot_num if(slot_start == 0) slot_num = 1 - slot_start = 2 else slot_num = slot_start + 1 - - while(slot_start != slot_num) //If we wrap around without finding any free slots, just give up. + if(slot_num > 3) + return + // Attempt to rotate through the slots until we're past slot 3, or find the next usable slot. Allows skipping empty slots, while still having an empty slot at end of rotation. + while(slot_num <= 3) if(module_active(slot_num)) select_module(slot_num) return slot_num++ - if(slot_num > 3) slot_num = 1 //Wrap around. return diff --git a/tgui/packages/tgui/interfaces/Newscaster/NewscasterViewSelected.tsx b/tgui/packages/tgui/interfaces/Newscaster/NewscasterViewSelected.tsx index 7a6181b5c7..2a7a779c25 100644 --- a/tgui/packages/tgui/interfaces/Newscaster/NewscasterViewSelected.tsx +++ b/tgui/packages/tgui/interfaces/Newscaster/NewscasterViewSelected.tsx @@ -84,7 +84,8 @@ export const NewscasterViewSelected = (props: { setScreen: Function }) => { {(!!viewing_channel.messages.length && viewing_channel.messages.map((message) => (
- - {decodeHtmlEntities(message.body)} + {message.title && decodeHtmlEntities(message.title) + ' - '} + {decodeHtmlEntities(message.body)} {!!message.img && ( diff --git a/tgui/packages/tgui/interfaces/Newscaster/types.ts b/tgui/packages/tgui/interfaces/Newscaster/types.ts index c1932c3006..7c9892ab01 100644 --- a/tgui/packages/tgui/interfaces/Newscaster/types.ts +++ b/tgui/packages/tgui/interfaces/Newscaster/types.ts @@ -31,6 +31,7 @@ export type Data = { author: string; censored: BooleanLike; messages: { + title: string | null; body: string; img: string | null; type: string;