diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index 94e98e1f6a..cc088d5a6a 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -60,7 +60,6 @@ GLOBAL_LIST_INIT(bluespace_item_types, list( if(isliving(teleatom)) var/mob/living/telemob = teleatom var/mob/living/mob = locate() in destturf - // Needs the vore helpers later. Ough. if(can_spontaneous_vore(mob, telemob)) destturf = mob.vore_selected else if(can_spontaneous_vore(telemob, mob)) @@ -86,7 +85,13 @@ GLOBAL_LIST_INIT(bluespace_item_types, list( tele_play_specials(teleatom, curturf, effectin, asoundin) + if(teleatom.buckle_movable) // Specifically office chairs. Fuck you. + teleatom.buckle_movable = FALSE + var/success = teleatom.forceMove(destturf) + + teleatom.buckle_movable = initial(teleatom.buckle_movable) // Double fuck you, office chairs + if(!success) return FALSE @@ -98,7 +103,7 @@ GLOBAL_LIST_INIT(bluespace_item_types, list( for(var/mob/living/rider in teleatom.buckled_mobs) teleatom.unbuckle_mob(rider, TRUE) - var/rider_success = do_teleport(rider, destturf, precision, channel = channel, no_effects = TRUE) + var/rider_success = do_teleport(rider, destination, precision, channel = channel, no_effects = TRUE) if(!rider_success) continue diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index 7b35cc15ab..d4655976ad 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -199,8 +199,6 @@ for (var/mob/O in src.loc) if (O != occupant) Bump(O) - else - unbuckle_mob() /obj/structure/bed/chair/office/Bump(atom/A) ..()