From 0e6033a57621c2f16db951306829c8ca98473f43 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 23 Oct 2019 21:21:05 +0200 Subject: [PATCH 1/2] Fixing gulag teleporter stripping the user of stuff it really shouldn't. --- code/game/machinery/gulag_teleporter.dm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/code/game/machinery/gulag_teleporter.dm b/code/game/machinery/gulag_teleporter.dm index 6b944f762d..0b9bd1f70a 100644 --- a/code/game/machinery/gulag_teleporter.dm +++ b/code/game/machinery/gulag_teleporter.dm @@ -135,18 +135,18 @@ The console is located at computer/gulag_teleporter.dm if(linked_reclaimer) linked_reclaimer.stored_items[occupant] = list() var/mob/living/mob_occupant = occupant - for(var/obj/item/W in mob_occupant) - if(!is_type_in_typecache(W, telegulag_required_items)) - if(mob_occupant.temporarilyRemoveItemFromInventory(W)) - if(istype(W, /obj/item/restraints/handcuffs)) - W.forceMove(get_turf(src)) - continue - if(linked_reclaimer) - linked_reclaimer.stored_items[mob_occupant] += W - linked_reclaimer.contents += W - W.forceMove(linked_reclaimer) - else - W.forceMove(src) + for(var/obj/item/W in mob_occupant.get_equipped_items(TRUE)) + if(is_type_in_typecache(W, telegulag_required_items) || !mob_occupant.temporarilyRemoveItemFromInventory(W)) + continue + if(istype(W, /obj/item/restraints/handcuffs)) + W.forceMove(get_turf(src)) + continue + if(linked_reclaimer) + linked_reclaimer.stored_items[mob_occupant] += W + linked_reclaimer.contents += W + W.forceMove(linked_reclaimer) + else + W.forceMove(src) /obj/machinery/gulag_teleporter/proc/handle_prisoner(obj/item/id, datum/data/record/R) if(!ishuman(occupant)) From 452658b16ca19d25095435fa9d1785c3a6343c66 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 23 Oct 2019 21:26:43 +0200 Subject: [PATCH 2/2] Code improvement. --- code/game/machinery/gulag_teleporter.dm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/gulag_teleporter.dm b/code/game/machinery/gulag_teleporter.dm index 0b9bd1f70a..a2d0460d25 100644 --- a/code/game/machinery/gulag_teleporter.dm +++ b/code/game/machinery/gulag_teleporter.dm @@ -135,18 +135,19 @@ The console is located at computer/gulag_teleporter.dm if(linked_reclaimer) linked_reclaimer.stored_items[occupant] = list() var/mob/living/mob_occupant = occupant - for(var/obj/item/W in mob_occupant.get_equipped_items(TRUE)) - if(is_type_in_typecache(W, telegulag_required_items) || !mob_occupant.temporarilyRemoveItemFromInventory(W)) + for(var/A in mob_occupant.get_equipped_items(TRUE)) + var/obj/item/I = A + if(is_type_in_typecache(I, telegulag_required_items) || !mob_occupant.temporarilyRemoveItemFromInventory(I)) continue - if(istype(W, /obj/item/restraints/handcuffs)) - W.forceMove(get_turf(src)) + if(istype(I, /obj/item/restraints/handcuffs)) + I.forceMove(get_turf(src)) continue if(linked_reclaimer) - linked_reclaimer.stored_items[mob_occupant] += W - linked_reclaimer.contents += W - W.forceMove(linked_reclaimer) + linked_reclaimer.stored_items[mob_occupant] += I + linked_reclaimer.contents += I + I.forceMove(linked_reclaimer) else - W.forceMove(src) + I.forceMove(src) /obj/machinery/gulag_teleporter/proc/handle_prisoner(obj/item/id, datum/data/record/R) if(!ishuman(occupant))