From 73e642762f2b292097efed4a5cc2d46d35fb592b Mon Sep 17 00:00:00 2001 From: Menshin Date: Wed, 29 Oct 2014 17:18:44 +0100 Subject: [PATCH] * Prevent being able to open/close sleepers, cryo tubes and DNA scanners when in various conditions (weaken, ...) and by non-humans/non-silicons. * Fixes possibles infinite loops runtime (#5527) * Added icon updating on power changes/maintenance to Cryo Tubes and DNA Scanners * Unpowered DNA Scanners can no longer be used if the associated computer is powered * Cryo cells and sleepers won't work when powerless anymore * Added an "is_operational" proc to machinery instead of duplicating the same check over and over. * Cloning pods and DNA Scanners used by cloning computers won't work if powerless/broken/maintenance anymore. Added an unpowered sprite for DNA Scanners, courtesy of Nienhaus --- code/game/dna.dm | 35 +++++++++++++++++++++--- code/game/machinery/Sleeper.dm | 13 +++++++-- code/game/machinery/cloning.dm | 4 +-- code/game/machinery/computer/cloning.dm | 26 +++++++++--------- code/game/machinery/cryo.dm | 18 +++++++++--- code/game/machinery/machinery.dm | 7 +++++ icons/obj/Cryogenic2.dmi | Bin 50679 -> 54156 bytes 7 files changed, 78 insertions(+), 25 deletions(-) diff --git a/code/game/dna.dm b/code/game/dna.dm index e6650118e31..f3e79618e99 100644 --- a/code/game/dna.dm +++ b/code/game/dna.dm @@ -340,6 +340,7 @@ var/locked = 0 var/open = 0 anchored = 1 + interact_offline = 1 use_power = 1 idle_power_usage = 50 active_power_usage = 300 @@ -371,6 +372,29 @@ for(var/obj/item/weapon/stock_parts/micro_laser/P in component_parts) damage_coeff = P.rating +/obj/machinery/dna_scannernew/update_icon() + + //no power or maintenance + if(stat & (NOPOWER|BROKEN)) + icon_state = initial(icon_state)+ (open ? "_open" : "") + "_unpowered" + return + + if((stat & MAINT) || panel_open) + icon_state = initial(icon_state)+ (open ? "_open" : "") + "_maintenance" + return + + //running and someone in there + if(occupant) + icon_state = initial(icon_state)+ "_occupied" + return + + //running + icon_state = initial(icon_state)+ (open ? "_open" : "") + +/obj/machinery/dna_scannernew/power_change() + ..() + update_icon() + /obj/machinery/dna_scannernew/proc/toggle_open(mob/user=usr) if(!user) return @@ -414,7 +438,7 @@ C.loc = src C.stop_pulling() break - icon_state = initial(icon_state) + (occupant ? "_occupied" : "") + update_icon() // search for ghosts, if the corpse is empty and the scanner is connected to a cloner if(occupant) @@ -451,7 +475,7 @@ occupant.client.eye = occupant occupant.client.perspective = MOB_PERSPECTIVE occupant = null - icon_state = "[initial(icon_state)]_open" + update_icon() return 1 /obj/machinery/dna_scannernew/relaymove(mob/user as mob) @@ -462,7 +486,8 @@ /obj/machinery/dna_scannernew/attackby(obj/item/weapon/grab/G, mob/user) - if(!occupant && default_deconstruction_screwdriver(user, "[initial(icon_state)]_open", "[initial(icon_state)]", G)) + if(!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, G))//sent icon_state is irrelevant... + update_icon()//..since we're updating the icon here, since the scanner can be unpowered when opened/closed return if(exchange_parts(user, G)) @@ -486,6 +511,8 @@ qdel(G) /obj/machinery/dna_scannernew/attack_hand(mob/user) + if(..()) + return toggle_open(user) add_fingerprint(user) @@ -578,7 +605,7 @@ var/occupant_status = "
Subject Status:
" var/scanner_status var/temp_html - if(connected) + if(connected && connected.is_operational()) if(connected.occupant) //set occupant_status message viable_occupant = connected.occupant if(check_dna_integrity(viable_occupant) && (!(NOCLONE in viable_occupant.mutations) || (connected.scan_level == 3))) //occupent is viable for dna modification diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 7e5801c56fe..71275ae4f4b 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -11,8 +11,9 @@ icon_state = "sleeper-open" density = 0 anchored = 1 - var/efficiency + interact_offline = 1 state_open = 1 + var/efficiency var/initial_bin_rating = 1 var/min_health = 25 var/list/injection_chems = list() //list of injectable chems except inaprovaline, coz inaprovaline is always avalible @@ -132,11 +133,17 @@ open_machine() /obj/machinery/sleeper/attack_hand(mob/user) - if(stat & (BROKEN|NOPOWER)) + if(..()) + return + + //powerless interaction + if(!is_operational()) + user.unset_machine()//essential to prevent infinite loops of opening/closing the machine if(state_open) close_machine() else open_machine() + else sleeperUI(user) @@ -233,6 +240,8 @@ ..(target) /obj/machinery/sleeper/proc/inject_chem(mob/user, chem) + if(!is_operational()) + return if(occupant && occupant.reagents) if(chem in injection_chems + "inaprovaline") if(occupant.reagents.get_reagent_amount(chem) + 10 <= 20 * efficiency) diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index f9c26d959bd..087f1e9d419 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -112,7 +112,7 @@ /obj/machinery/clonepod/attack_paw(mob/user as mob) return attack_hand(user) /obj/machinery/clonepod/attack_hand(mob/user as mob) - if ((isnull(src.occupant)) || (stat & NOPOWER)) + if (isnull(src.occupant) || !is_operational()) return if ((!isnull(src.occupant)) && (src.occupant.stat != 2)) var/completion = (100 * ((src.occupant.health + 100) / (src.heal_level + 100))) @@ -205,7 +205,7 @@ //Grow clones to maturity then kick them out. FREELOADERS /obj/machinery/clonepod/process() - if(stat & NOPOWER) //Autoeject if power is lost + if(!is_operational()) //Autoeject if power is lost if (src.occupant) src.locked = 0 src.go_out() diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 6fbba86fd4d..5d49b12a1e5 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -54,12 +54,12 @@ // Try to find a scanner in that direction scannerf = locate(/obj/machinery/dna_scannernew, get_step(src, dir)) - // If found, then we break, and return the scanner - if (!isnull(scannerf)) - break + // If found and operational, return the scanner + if (!isnull(scannerf) && scannerf.is_operational()) + return scannerf // If no scanner was found, it will return null - return scannerf + return null /obj/machinery/computer/cloning/proc/findcloner() var/obj/machinery/clonepod/podf = null @@ -68,10 +68,10 @@ podf = locate(/obj/machinery/clonepod, get_step(src, dir)) - if (!isnull(podf)) - break + if (!isnull(podf) && podf.is_operational()) + return podf - return podf + return null /obj/machinery/computer/cloning/attackby(obj/item/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/disk/data)) //INSERT SOME DISKETTES @@ -233,25 +233,25 @@ if("stopautoprocess") autoprocess = 0 - else if ((href_list["scan"]) && (!isnull(src.scanner))) + else if ((href_list["scan"]) && !isnull(scanner) && scanner.is_operational()) scantemp = "" loading = 1 src.updateUsrDialog() spawn(20) - src.scan_mob(src.scanner.occupant) + src.scan_mob(scanner.occupant) loading = 0 src.updateUsrDialog() //No locking an open scanner. - else if ((href_list["lock"]) && (!isnull(src.scanner))) - if ((!src.scanner.locked) && (src.scanner.occupant)) - src.scanner.locked = 1 + else if ((href_list["lock"]) && !isnull(scanner) && scanner.is_operational()) + if ((!scanner.locked) && (scanner.occupant)) + scanner.locked = 1 else - src.scanner.locked = 0 + scanner.locked = 0 else if(href_list["view_rec"]) src.active_record = find_record("id", href_list["view_rec"], records) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index e5acc1ea5af..4ea9ea6993d 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -4,6 +4,7 @@ icon_state = "cell-off" density = 1 anchored = 1.0 + interact_offline = 1 layer = 4 var/on = 0 @@ -45,7 +46,7 @@ /obj/machinery/atmospherics/unary/cryo_cell/process() ..() - if(!node) + if(!node || !is_operational()) return if(!on) updateDialog() @@ -97,11 +98,17 @@ user << "Seems empty." /obj/machinery/atmospherics/unary/cryo_cell/attack_hand(mob/user) - if(stat & (NOPOWER|BROKEN)) - if(state_open == 1) + if(..()) + return + + //powerless interaction + if(!is_operational()) + user.unset_machine()//essential to prevent infinite loops of opening/closing the machine + if(state_open) close_machine() else open_machine() + else ui_interact(user) @@ -258,7 +265,7 @@ if(state_open) icon_state = "cell-open" return - if(on) + if(on && is_operational()) if(occupant) icon_state = "cell-occupied" else @@ -266,6 +273,9 @@ else icon_state = "cell-off" +/obj/machinery/atmospherics/unary/cryo_cell/power_change() + ..() + update_icon() /obj/machinery/atmospherics/unary/cryo_cell/proc/process_occupant() if(air_contents.total_moles() < 10) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 44be02fadac..c7e540dcc4b 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -84,6 +84,8 @@ Class Procs: process() 'game/machinery/machine.dm' Called by the 'master_controller' once per game tick for each machine that is listed in the 'machines' list. + is_operational() + Returns 0 if the machine is unpowered, broken or undergoing maintenance, 1 if not Compiled by Aygar */ @@ -209,6 +211,11 @@ Class Procs: add_fingerprint(usr) return 0 +/obj/machinery/proc/is_operational() + return !(stat & (NOPOWER|BROKEN|MAINT)) + +//////////////////////////////////////////////////////////////////////////////////////////// + /mob/proc/canUseTopic() //TODO: once finished, place these procs on the respective mob files return diff --git a/icons/obj/Cryogenic2.dmi b/icons/obj/Cryogenic2.dmi index 80adbbf28aaab96ba4148b0dc6f199bcb873436f..1c921a64673ac669fdbc30e592ae155dd8950eb6 100644 GIT binary patch delta 20559 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 z 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 LNkvXXu0mjf0=P(Y delta 17054 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