runtime fix for borgs cryoing with upgrade modules + no more mmi laying around after they cryo, and various other runtime fixes (#62091)

human huds will no longer runtime and die when prefs aren't initalised
SSEconomy will no longer have to deal with pathed jobs inside accounts
Some of the negative/neutral quirks that use the mind have been relegated to last_mind instead for runtime purposes
Mafia saymode will no longer runtime when someone uses it with no current mafia game
Autolathe secondary_attack will no longer runtime/work only because of runtimes
MULTIPLE CHECKS FOR QDELETED STACKS BEFORE ADDING FINGERPRINTS
More player_list client checks
A lazyinitlist for proximity monitors, as they used lazyremove which nulls the list when it hits zero things in it
A check for cigarettes in case temperature exposure causes a reaction that removes all reagents
Catwalks no longer runtime every time someone walks on them
/obj/machinery/atmospherics/components/binary/crystallizer will no longer runtime on secondary_attack if someone can't interact
cyborg models will no longer assume the thing they're inside is a cyborg and runtime when it isn't (cryopods)
When a simplemob falls into nullspace, it will no longer runtime (goliaths falling into chasms and etc)
runtime fix in techweb.dm when using a card without a sanity check
runtime fix with folders when they have nothing in them
runtime fix with glowing eyes when the LAZYADD doesn't get called in regenerate_light_effets() and so doesn't initalise the list
This commit is contained in:
Seris02
2021-10-22 10:31:07 +01:00
committed by GitHub
parent f313aa8813
commit fc36aea489
30 changed files with 79 additions and 52 deletions
+2 -1
View File
@@ -12,7 +12,8 @@
if(!do_after(user, 0.5 SECONDS, target = src))
return TRUE
var/obj/item/stack/sheet/iron/metal_sheets = new (drop_location(), 2)
metal_sheets.add_fingerprint(user)
if (!QDELETED(metal_sheets))
metal_sheets.add_fingerprint(user)
tool.play_tool_sound(src)
qdel(src)
return TRUE
+4 -2
View File
@@ -41,7 +41,8 @@
if(W.use_tool(src, user, 40, volume=100))
to_chat(user, span_notice("You slice apart the girder."))
var/obj/item/stack/sheet/iron/M = new (loc, 2)
M.add_fingerprint(user)
if (!QDELETED(M))
M.add_fingerprint(user)
qdel(src)
return
@@ -240,7 +241,8 @@
state = GIRDER_DISASSEMBLED
to_chat(user, span_notice("You disassemble the girder."))
var/obj/item/stack/sheet/iron/M = new (loc, 2)
M.add_fingerprint(user)
if (!QDELETED(M))
M.add_fingerprint(user)
qdel(src)
return TRUE
+2 -1
View File
@@ -52,7 +52,8 @@
return TRUE
to_chat(user, span_notice("You cut apart [src]."))
var/obj/item/stack/sheet/plastic/five/P = new(loc)
P.add_fingerprint(user)
if (!QDELETED(P))
P.add_fingerprint(user)
qdel(src)
return TRUE
@@ -105,10 +105,12 @@
if(W.use_tool(src, user, 40, volume=50))
to_chat(user, span_notice("You disassemble the windoor assembly."))
var/obj/item/stack/sheet/rglass/RG = new (get_turf(src), 5)
RG.add_fingerprint(user)
if (!QDELETED(RG))
RG.add_fingerprint(user)
if(secure)
var/obj/item/stack/rods/R = new (get_turf(src), 4)
R.add_fingerprint(user)
if (!QDELETED(R))
R.add_fingerprint(user)
qdel(src)
return
+2 -1
View File
@@ -212,7 +212,8 @@
to_chat(user, span_notice("You begin to disassemble [src]..."))
if(I.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
var/obj/item/stack/sheet/G = new glass_type(user.loc, glass_amount)
G.add_fingerprint(user)
if (!QDELETED(G))
G.add_fingerprint(user)
playsound(src, 'sound/items/Deconstruct.ogg', 50, TRUE)
to_chat(user, span_notice("You successfully disassemble [src]."))
qdel(src)