From 29a16d31167bdbf2f08e4dd652162ec3a05aed96 Mon Sep 17 00:00:00 2001 From: Kyep Date: Mon, 29 Jun 2020 18:14:19 -0700 Subject: [PATCH 1/3] Fixes dnamodifier bugs --- code/game/dna/dna_modifier.dm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index eae6edd3bd4..2df4a929ceb 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -124,11 +124,11 @@ add_fingerprint(usr) /obj/machinery/dna_scannernew/Destroy() - eject_occupant() + eject_occupant(TRUE) return ..() -/obj/machinery/dna_scannernew/proc/eject_occupant() - go_out() +/obj/machinery/dna_scannernew/proc/eject_occupant(force) + go_out(force) for(var/obj/O in src) if(!istype(O,/obj/item/circuitboard/clonescanner) && \ !istype(O,/obj/item/stock_parts) && \ @@ -271,15 +271,16 @@ occupant.notify_ghost_cloning(source = src) -/obj/machinery/dna_scannernew/proc/go_out() +/obj/machinery/dna_scannernew/proc/go_out(force) if(!occupant) - to_chat(usr, "The scanner is empty!") + if(usr) + to_chat(usr, "The scanner is empty!") return - if(locked) - to_chat(usr, "The scanner is locked!") - return - + if(usr) + to_chat(usr, "The scanner is locked!") + if(!force) + return occupant.forceMove(loc) occupant = null icon_state = "scanner_open" From 359b26a811fade0613dcbb337644ac72af0a19f7 Mon Sep 17 00:00:00 2001 From: Kyep Date: Mon, 29 Jun 2020 20:05:20 -0700 Subject: [PATCH 2/3] Fox request, pass in the usr as arg to go_out()/eject_occupant() --- code/game/dna/dna_modifier.dm | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 2df4a929ceb..53e72fe3137 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -118,17 +118,15 @@ if(usr.incapacitated()) return - - eject_occupant() - + eject_occupant(usr) add_fingerprint(usr) /obj/machinery/dna_scannernew/Destroy() - eject_occupant(TRUE) + eject_occupant(null, TRUE) return ..() -/obj/machinery/dna_scannernew/proc/eject_occupant(force) - go_out(force) +/obj/machinery/dna_scannernew/proc/eject_occupant(user = null, force = FALSE) + go_out(user, force) for(var/obj/O in src) if(!istype(O,/obj/item/circuitboard/clonescanner) && \ !istype(O,/obj/item/stock_parts) && \ @@ -271,14 +269,14 @@ occupant.notify_ghost_cloning(source = src) -/obj/machinery/dna_scannernew/proc/go_out(force) +/obj/machinery/dna_scannernew/proc/go_out(mob/user, force) if(!occupant) - if(usr) - to_chat(usr, "The scanner is empty!") + if(user) + to_chat(user, "The scanner is empty!") return if(locked) - if(usr) - to_chat(usr, "The scanner is locked!") + if(user) + to_chat(user, "The scanner is locked!") if(!force) return occupant.forceMove(loc) @@ -752,7 +750,7 @@ return TRUE if(href_list["ejectOccupant"]) - connected.eject_occupant() + connected.eject_occupant(usr) return TRUE // Transfer Buffer Management From 5393a840e0dbd1b396fa8d2451acd039b8c9f491 Mon Sep 17 00:00:00 2001 From: Kyep Date: Mon, 29 Jun 2020 23:01:13 -0700 Subject: [PATCH 3/3] Fox requests --- code/game/dna/dna_modifier.dm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 53e72fe3137..2f9cc98f164 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -125,7 +125,7 @@ eject_occupant(null, TRUE) return ..() -/obj/machinery/dna_scannernew/proc/eject_occupant(user = null, force = FALSE) +/obj/machinery/dna_scannernew/proc/eject_occupant(user, force) go_out(user, force) for(var/obj/O in src) if(!istype(O,/obj/item/circuitboard/clonescanner) && \ @@ -274,11 +274,10 @@ if(user) to_chat(user, "The scanner is empty!") return - if(locked) + if(locked && !force) if(user) to_chat(user, "The scanner is locked!") - if(!force) - return + return occupant.forceMove(loc) occupant = null icon_state = "scanner_open"