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