From 0e3eef37c8a34d353305330c40eecb8659cb6c8e Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Fri, 15 May 2026 18:31:46 +0100 Subject: [PATCH] several bugfixes (#7577) --- code/datums/design/design.dm | 1 + code/game/machinery/pda_multicaster.dm | 4 ++-- code/game/objects/items/devices/binoculars.dm | 7 ++++++- .../structures/crates_lockers/closets/secure/medical.dm | 3 ++- code/modules/mob/living/carbon/human/life.dm | 9 +++------ code/modules/multiz/structures/ladder.dm | 3 +++ code/modules/reagents/chemistry/reactions/paint.dm | 1 + code/modules/reagents/chemistry/reagents/other/paint.dm | 4 ++-- code/modules/species/holosphere/holosphere.dm | 6 ++++-- tgui/packages/tgui/interfaces/common/Design.tsx | 1 + .../tgui/interfaces/modules/TGUILatheControl.tsx | 4 ++-- 11 files changed, 27 insertions(+), 16 deletions(-) diff --git a/code/datums/design/design.dm b/code/datums/design/design.dm index 6a2368cf518..4f34b59a747 100644 --- a/code/datums/design/design.dm +++ b/code/datums/design/design.dm @@ -143,6 +143,7 @@ /datum/prototype/design/proc/ui_data_list() return list( "name" = name, + "truncated_name" = length(name) <= 18 ? name : copytext(name, 1, 19) + "..", "desc" = desc, "id" = id, "work" = work, diff --git a/code/game/machinery/pda_multicaster.dm b/code/game/machinery/pda_multicaster.dm index 16dcb4ad4f1..5cc9a7c6587 100644 --- a/code/game/machinery/pda_multicaster.dm +++ b/code/game/machinery/pda_multicaster.dm @@ -2,7 +2,7 @@ name = "\improper PDA multicaster" desc = "This machine mirrors messages sent to it to specific departments." icon = 'icons/obj/stationobjs.dmi' - icon_state = "controller" + icon_state = "pdamulti" density = 1 anchored = 1 circuit = /obj/item/circuitboard/telecomms/pda_multicaster @@ -33,7 +33,7 @@ if(on) icon_state = initial(icon_state) else - icon_state = "[initial(icon_state)]-p" + icon_state = "[initial(icon_state)]_off" return ..() /obj/machinery/pda_multicaster/attackby(obj/item/I, mob/user) diff --git a/code/game/objects/items/devices/binoculars.dm b/code/game/objects/items/devices/binoculars.dm index 6ea610cda9a..7883fabc183 100644 --- a/code/game/objects/items/devices/binoculars.dm +++ b/code/game/objects/items/devices/binoculars.dm @@ -11,9 +11,14 @@ //materials_base = list("metal" = 50, MAT_GLASS = 50) - /obj/item/binoculars/attack_self(mob/user, datum/event_args/actor/actor) . = ..() if(.) return zoom() + +// the zoom proc needs taking out back but this fixes binoculars being janky for now +/obj/item/binoculars/unequipped(mob/user, slot, flags) + . = ..() + if(zoom) + zoom() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index cdf9ffa818d..06f8089cb33 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -44,7 +44,8 @@ /obj/item/clothing/under/rank/nursesuit, /obj/item/clothing/head/nursehat, /obj/item/gps/medical, - /obj/item/storage/box/freezer = 3) + /obj/item/storage/box/freezer = 3, + /obj/item/clothing/glasses/hud/health) /obj/structure/closet/secure_closet/medical3/Initialize(mapload) if(prob(50)) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index ca3af3d0729..a1252fd2c80 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1756,13 +1756,10 @@ if(modifiers && modifiers.len) for(var/datum/modifier/mod in modifiers) - if(isnull(modifier_set) && !isnull(mod.pulse_set_level)) + if(isnull(mod.pulse_set_level)) + continue + if(isnull(modifier_set) || mod.pulse_set_level > modifier_set) modifier_set = round(mod.pulse_set_level) // Should be a whole number, but let's not take chances. - else if(mod.pulse_set_level > modifier_set) - modifier_set = round(mod.pulse_set_level) - - modifier_set = max(0, modifier_set) // No setting to negatives. - if(mod.pulse_modifier) modifier_shift += mod.pulse_modifier diff --git a/code/modules/multiz/structures/ladder.dm b/code/modules/multiz/structures/ladder.dm index 56c5e45f6ef..b3dcf06ecad 100644 --- a/code/modules/multiz/structures/ladder.dm +++ b/code/modules/multiz/structures/ladder.dm @@ -94,6 +94,9 @@ if(incapacitated()) to_chat(src, "You are physically unable to climb \the [ladder].") return FALSE + if(is_buckled()) + to_chat(src, "You can't do this while buckled to \the [buckled]!") + return FALSE return TRUE /mob/observer/ghost/may_climb_ladders(var/ladder) diff --git a/code/modules/reagents/chemistry/reactions/paint.dm b/code/modules/reagents/chemistry/reactions/paint.dm index 6e753472a5e..ba52180a6cf 100644 --- a/code/modules/reagents/chemistry/reactions/paint.dm +++ b/code/modules/reagents/chemistry/reactions/paint.dm @@ -1,5 +1,6 @@ /datum/chemical_reaction/paint abstract_type = /datum/chemical_reaction/paint + has_data_semantics = TRUE var/result_color /datum/chemical_reaction/paint/compute_result_data_initializer(datum/reagent_holder/holder, multiplier) diff --git a/code/modules/reagents/chemistry/reagents/other/paint.dm b/code/modules/reagents/chemistry/reagents/other/paint.dm index 6d201c72742..cc2cace8a0a 100644 --- a/code/modules/reagents/chemistry/reagents/other/paint.dm +++ b/code/modules/reagents/chemistry/reagents/other/paint.dm @@ -46,9 +46,9 @@ var/total_volume = old_volume + new_volume var/old_hex = uppertext(old_data || "#ffffff") var/new_hex = uppertext(new_data || "#ffffff") + return rgb( ((hex2num(copytext(old_hex, 2, 4)) * old_volume) + (hex2num(copytext(new_hex, 2, 4)))) / total_volume, ((hex2num(copytext(old_hex, 4, 6)) * old_volume) + (hex2num(copytext(new_hex, 4, 6)))) / total_volume, - ((hex2num(copytext(old_hex, 6, 8)) * old_volume) + (hex2num(copytext(new_hex, 6, 8)))) / total_volume, - ((hex2num(length(old_hex) > 7 ? copytext(old_hex, 8, 10) : 255) * old_volume) + (hex2num(length(new_hex) > 7 ? copytext(new_hex, 8, 10) : 255))) / total_volume, + ((hex2num(copytext(old_hex, 6, 8)) * old_volume) + (hex2num(copytext(new_hex, 6, 8)))) / total_volume ) diff --git a/code/modules/species/holosphere/holosphere.dm b/code/modules/species/holosphere/holosphere.dm index ae8e5bbcf1e..03d4b9154f7 100644 --- a/code/modules/species/holosphere/holosphere.dm +++ b/code/modules/species/holosphere/holosphere.dm @@ -163,8 +163,10 @@ // hotfix: they're synthetic without synthetic parts, oops! /datum/species/shapeshifter/holosphere/get_blood_colour(mob/living/carbon/human/H) - if(H) - return blood_color + return blood_color + +/datum/species/shapeshifter/holosphere/get_blood_name(mob/living/carbon/human/H) + return "coolant" /datum/species/shapeshifter/holosphere/get_valid_shapeshifter_forms() return list( diff --git a/tgui/packages/tgui/interfaces/common/Design.tsx b/tgui/packages/tgui/interfaces/common/Design.tsx index 695f68cc069..1a26a655092 100644 --- a/tgui/packages/tgui/interfaces/common/Design.tsx +++ b/tgui/packages/tgui/interfaces/common/Design.tsx @@ -9,6 +9,7 @@ import { IngredientsNeeded } from "./Ingredients"; */ export interface Design { name: string; + truncated_name: string; desc: string; categories: string[]; subcategories: string[]; diff --git a/tgui/packages/tgui/interfaces/modules/TGUILatheControl.tsx b/tgui/packages/tgui/interfaces/modules/TGUILatheControl.tsx index eaaca14b25a..920ec5aa78a 100644 --- a/tgui/packages/tgui/interfaces/modules/TGUILatheControl.tsx +++ b/tgui/packages/tgui/interfaces/modules/TGUILatheControl.tsx @@ -125,7 +125,7 @@ export const TGUILatheControl = (props: TGUILatheControlProps, context) => { const windowProps: WindowProps = { title: data.latheName, - width: 1100, + width: 1200, height: 700, }; @@ -410,7 +410,7 @@ const LatheQueued = (props: LatheQueuedProps) => { color="transparent" title={ <> - {`${props.entry.amount}x ${props.design !== undefined ? props.design.name : "Error - Design Unloaded"}`} + {`${props.entry.amount}x ${props.design !== undefined ? props.design.truncated_name : "Error - Design Unloaded"}`} {progressRender} }