From 53c3ed80fae9e689dc200ac2b8b7f9dc58d3574f Mon Sep 17 00:00:00 2001 From: JupiterJaeden <48777952+JupiterJaeden@users.noreply.github.com> Date: Sat, 1 Jul 2023 13:22:49 -0400 Subject: [PATCH] Makes you lie down when buckled to surgery tables, removes need for restraints (#75840) ## About The Pull Request Makes you lie down when you are buckled to a surgery table, and also removes the need to be cuffed in order to be buckled to one. Also _technically_ makes surgery tables no longer climbable, but you can still get on top of one by just buckling yourself to it and then unbuckling. ## Why It's Good For The Game This is a quality of life change for medbay (and anyone doing surgery). It's kind of dumb that people stand up when buckled to surgery tables, this makes you no longer have to ask them to lie down, especially nice for dealing with patients who may still be AFK after getting out of crit. This also makes surgery a little easier on unwilling victims, no longer requiring you use a regular/roller bed or crit them/keep them stunned. ## Changelog :cl: qol: people now lie down when buckled to surgery tables, and you no longer need cuffs to buckle someone to a surgery table /:cl: --- code/game/objects/structures/tables_racks.dm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index de1d2835de2..044d52fa1dc 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -23,6 +23,8 @@ pass_flags_self = PASSTABLE | LETPASSTHROW layer = TABLE_LAYER obj_flags = CAN_BE_HIT | IGNORE_DENSITY + ///TRUE if the table can be climbed on and have living mobs placed on it normally, FALSE otherwise + var/climbable = TRUE var/frame = /obj/structure/table_frame var/framestack = /obj/item/stack/rods var/glass_shard_type = /obj/item/shard @@ -42,7 +44,9 @@ . = ..() if(_buildstack) buildstack = _buildstack - AddElement(/datum/element/climbable) + + if (climbable) + AddElement(/datum/element/climbable) var/static/list/loc_connections = list( COMSIG_CARBON_DISARM_COLLIDE = PROC_REF(table_carbon), @@ -97,7 +101,7 @@ /obj/structure/table/attack_hand(mob/living/user, list/modifiers) if(Adjacent(user) && user.pulling) - if(isliving(user.pulling)) + if(isliving(user.pulling) && climbable) var/mob/living/pushed_mob = user.pulling if(pushed_mob.buckled) to_chat(user, span_warning("[pushed_mob] is buckled to [pushed_mob.buckled]!")) @@ -707,8 +711,8 @@ smoothing_groups = null canSmoothWith = null can_buckle = 1 - buckle_lying = NO_BUCKLE_LYING - buckle_requires_restraints = TRUE + buckle_lying = 90 + climbable = FALSE custom_materials = list(/datum/material/silver =SHEET_MATERIAL_AMOUNT) var/mob/living/carbon/patient = null var/obj/machinery/computer/operating/computer = null @@ -720,6 +724,7 @@ if(computer) computer.table = src break + RegisterSignal(loc, COMSIG_ATOM_ENTERED, PROC_REF(mark_patient)) RegisterSignal(loc, COMSIG_ATOM_EXITED, PROC_REF(unmark_patient))