diff --git a/code/FEA/FEA_gas_mixture.dm b/code/FEA/FEA_gas_mixture.dm
index d43c88dabbc..7e4c565b708 100644
--- a/code/FEA/FEA_gas_mixture.dm
+++ b/code/FEA/FEA_gas_mixture.dm
@@ -475,6 +475,7 @@ datum
return share(sharer)*/
check_gas_mixture(datum/gas_mixture/sharer)
+ if(!sharer) return 0
var/delta_oxygen = (oxygen_archived - sharer.oxygen_archived)/5
var/delta_carbon_dioxide = (carbon_dioxide_archived - sharer.carbon_dioxide_archived)/5
var/delta_nitrogen = (nitrogen_archived - sharer.nitrogen_archived)/5
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index c3ee3118ef2..bb0aa82c654 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -66,11 +66,12 @@
dat += text("[]\t-Toxin Content %: []
", (occupant.getToxLoss() < 60 ? "" : ""), occupant.getToxLoss())
dat += text("[]\t-Burn Severity %: []
", (occupant.getFireLoss() < 60 ? "" : ""), occupant.getFireLoss())
dat += text("
Paralysis Summary %: [] ([] seconds left!)
", occupant.paralysis, round(occupant.paralysis / 4))
- dat += text("Inaprovaline units: [] units
", occupant.reagents.get_reagent_amount("inaprovaline"))
- dat += text("Soporific (Sleep Toxin): [] units
", occupant.reagents.get_reagent_amount("stoxin"))
- dat += text("[]\tDermaline: [] units
", (occupant.reagents.get_reagent_amount("dermaline") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("dermaline"))
- dat += text("[]\tBicaridine: [] units
", (occupant.reagents.get_reagent_amount("bicaridine") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("bicaridine"))
- dat += text("[]\tDexalin: [] units
", (occupant.reagents.get_reagent_amount("dexalin") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("dexalin"))
+ if(occupant.reagents)
+ dat += text("Inaprovaline units: [] units
", occupant.reagents.get_reagent_amount("inaprovaline"))
+ dat += text("Soporific (Sleep Toxin): [] units
", occupant.reagents.get_reagent_amount("stoxin"))
+ dat += text("[]\tDermaline: [] units
", (occupant.reagents.get_reagent_amount("dermaline") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("dermaline"))
+ dat += text("[]\tBicaridine: [] units
", (occupant.reagents.get_reagent_amount("bicaridine") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("bicaridine"))
+ dat += text("[]\tDexalin: [] units
", (occupant.reagents.get_reagent_amount("dexalin") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("dexalin"))
dat += text("
Refresh meter readings each second
Inject Inaprovaline
Inject Soporific
Inject Dermaline
Inject Bicaridine
Inject Dexalin", src, src, src, src, src, src)
else
dat += "The sleeper is empty."
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index 8db9eabe4a1..10e78b95e57 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -924,7 +924,7 @@
var/list/kv = list(
"type" = "mulebot",
"name" = suffix,
- "loca" = loc.loc, // area
+ "loca" = (loc ? loc.loc : "Unknown"), // somehow loc can be null and cause a runtime - Quarxink
"mode" = mode,
"powr" = (cell ? cell.percent() : 0),
"dest" = destination,
diff --git a/code/game/throwing.dm b/code/game/throwing.dm
index a4bd5323e4f..329e5e599ae 100644
--- a/code/game/throwing.dm
+++ b/code/game/throwing.dm
@@ -128,7 +128,7 @@
..()
/atom/movable/proc/throw_at(atom/target, range, speed)
- if(!target) return 0
+ if(!target || !src) return 0
//use a modified version of Bresenham's algorithm to get from the atom's current position to that of the target
src.throwing = 1
@@ -181,7 +181,6 @@
if(dist_since_sleep >= speed)
dist_since_sleep = 0
sleep(1)
-
a = get_area(src.loc)
else
var/error = dist_y/2 - dist_x
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 346a318d3e2..fa96b2641f4 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -638,10 +638,11 @@
for (var/mob/living/silicon/decoy/D in world)
if (eye)
eye = D
- if (eye)
- client.eye = eye
- else
- client.eye = client.mob
+ if (client)
+ if (eye)
+ client.eye = eye
+ else
+ client.eye = client.mob
/mob/verb/cancel_camera()
set name = "Cancel Camera View"
@@ -1055,22 +1056,24 @@ note dizziness decrements automatically in the mob's Life() proc.
boom.icon_state = "start"
sleep(40)
- mob << sound('explosionfar.ogg')
- boom.icon_state = "end"
- if(!station_missed) flick("explode", boom)
- else flick("explode2", boom)
+ if(boom && mob)
+ mob << sound('explosionfar.ogg')
+ boom.icon_state = "end"
+ if(!station_missed) flick("explode", boom)
+ else flick("explode2", boom)
sleep(40)
- switch(ticker.mode.name)
- if("nuclear emergency")
- if(!station_missed) boom.icon_state = "loss_nuke"
- else boom.icon_state = "loss_nuke2"
- if("malfunction")
- boom.icon_state = "loss_malf"
- if("blob")
- return//Nothin here yet and the general one does not fit.
- else
- boom.icon_state = "loss_general"
+ if(boom)
+ switch(ticker.mode.name)
+ if("nuclear emergency")
+ if(!station_missed) boom.icon_state = "loss_nuke"
+ else boom.icon_state = "loss_nuke2"
+ if("malfunction")
+ boom.icon_state = "loss_malf"
+ if("blob")
+ return//Nothin here yet and the general one does not fit.
+ else
+ boom.icon_state = "loss_general"
return