diff --git a/code/FEA/FEA_fire.dm b/code/FEA/FEA_fire.dm
index 582a65f74cd..fb0ec8638b0 100644
--- a/code/FEA/FEA_fire.dm
+++ b/code/FEA/FEA_fire.dm
@@ -138,9 +138,10 @@ obj
sd_SetLuminosity(3)
Del()
- loc:active_hotspot = null
- src.sd_SetLuminosity(0)
- loc = null
+ if (!istype(loc, /turf/space))
+ loc:active_hotspot = null
+ src.sd_SetLuminosity(0)
+ loc = null
..()
\ No newline at end of file
diff --git a/code/FEA/FEA_system.dm b/code/FEA/FEA_system.dm
index 87c409ec305..9e2c7f38122 100644
--- a/code/FEA/FEA_system.dm
+++ b/code/FEA/FEA_system.dm
@@ -145,7 +145,7 @@ datum
active_singletons += T
setup()
-
+ set background = 1
world << "\red \b Processing Geometry..."
sleep(1)
diff --git a/code/WorkInProgress/Chemistry-Holder.dm b/code/WorkInProgress/Chemistry-Holder.dm
index 895d7fab2e9..88da13bd247 100644
--- a/code/WorkInProgress/Chemistry-Holder.dm
+++ b/code/WorkInProgress/Chemistry-Holder.dm
@@ -181,9 +181,9 @@ datum
if(isobj(A)) spawn(0) R.reaction_obj(A, R.volume+volume_modifier)
if(INGEST)
for(var/datum/reagent/R in reagent_list)
- if(ismob(A)) spawn(0) R.reaction_mob(A, INGEST, R.volume+volume_modifier)
- if(isturf(A)) spawn(0) R.reaction_turf(A, R.volume+volume_modifier)
- if(isobj(A)) spawn(0) R.reaction_obj(A, R.volume+volume_modifier)
+ if(ismob(A) && R) spawn(0) R.reaction_mob(A, INGEST, R.volume+volume_modifier)
+ if(isturf(A) && R) spawn(0) R.reaction_turf(A, R.volume+volume_modifier)
+ if(isobj(A) && R) spawn(0) R.reaction_obj(A, R.volume+volume_modifier)
return
add_reagent(var/reagent, var/amount, var/data=null)
diff --git a/code/WorkInProgress/Chemistry-Reagents.dm b/code/WorkInProgress/Chemistry-Reagents.dm
index 5310d13cacd..7f358d9b0a3 100644
--- a/code/WorkInProgress/Chemistry-Reagents.dm
+++ b/code/WorkInProgress/Chemistry-Reagents.dm
@@ -105,9 +105,9 @@ datum
if(D)
blood_prop.virus = new D.type
blood_prop.virus.holder = blood_prop
- if(istype(T, /turf/simulated/floor))
+ if(istype(T, /turf/simulated/floor) && D)
blood_prop.virus.spread_type = CONTACT_FEET
- else
+ else if (D)
blood_prop.virus.spread_type = CONTACT_HANDS
else if(istype(self.data["donor"], /mob/living/carbon/monkey))
@@ -184,7 +184,7 @@ datum
T:wet_overlay = null
var/hotspot = (locate(/obj/hotspot) in T)
- if(hotspot)
+ if(hotspot && !istype(T, /turf/space))
var/datum/gas_mixture/lowertemp = T.remove_air( T:air:total_moles() )
lowertemp.temperature = max( min(lowertemp.temperature-2000,lowertemp.temperature / 2) ,0)
lowertemp.react()
@@ -195,7 +195,7 @@ datum
src = null
var/turf/T = get_turf(O)
var/hotspot = (locate(/obj/hotspot) in T)
- if(hotspot)
+ if(hotspot && !istype(T, /turf/space))
var/datum/gas_mixture/lowertemp = T.remove_air( T:air:total_moles() )
lowertemp.temperature = max( min(lowertemp.temperature-2000,lowertemp.temperature / 2) ,0)
lowertemp.react()
diff --git a/code/defines/obj/toy.dm b/code/defines/obj/toy.dm
index ffdee9b8687..4fdf8887e42 100644
--- a/code/defines/obj/toy.dm
+++ b/code/defines/obj/toy.dm
@@ -162,23 +162,24 @@ obj/item/toy/blink
playsound(user.loc, 'syringeproj.ogg', 50, 1)
for(var/i=0, i<6, i++)
- if(D.loc == trg) break
- step_towards(D,trg)
+ if (D)
+ if(D.loc == trg) break
+ step_towards(D,trg)
- for(var/mob/living/M in D.loc)
- if(!istype(M,/mob/living)) continue
- if(M == user) continue
- for(var/mob/O in viewers(world.view, D))
- O.show_message(text("\red [] was hit by the foam dart!", M), 1)
- new /obj/item/toy/ammo/crossbow(M.loc)
- del(D)
- return
-
- for(var/atom/A in D.loc)
- if(A == user) continue
- if(A.density)
- new /obj/item/toy/ammo/crossbow(A.loc)
+ for(var/mob/living/M in D.loc)
+ if(!istype(M,/mob/living)) continue
+ if(M == user) continue
+ for(var/mob/O in viewers(world.view, D))
+ O.show_message(text("\red [] was hit by the foam dart!", M), 1)
+ new /obj/item/toy/ammo/crossbow(M.loc)
del(D)
+ return
+
+ for(var/atom/A in D.loc)
+ if(A == user) continue
+ if(A.density)
+ new /obj/item/toy/ammo/crossbow(A.loc)
+ del(D)
sleep(1)
diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm
index d926253250e..2d7c9789061 100644
--- a/code/game/machinery/shieldgen.dm
+++ b/code/game/machinery/shieldgen.dm
@@ -179,7 +179,9 @@
return 0
var/turf/T = src.loc
var/obj/cable/C = T.get_cable_node()
- var/net = C.netnum // find the powernet of the connected cable
+ var/net
+ if (C)
+ net = C.netnum // find the powernet of the connected cable
if(!net)
power = 0
@@ -212,11 +214,11 @@
if(power != 1)
user << "\red The shield generator needs to be powered by wire underneath."
return 1
-
+
if(src.active >= 1)
src.active = 0
icon_state = "Shield_Gen"
-
+
user.visible_message("[user] turned the shield generator off.", \
"You turn off the shield generator.", \
"You hear heavy droning fade out.")
diff --git a/code/game/magic/cultist/rune3.dm b/code/game/magic/cultist/rune3.dm
index 3b4c80292fa..31b7eb6a78e 100644
--- a/code/game/magic/cultist/rune3.dm
+++ b/code/game/magic/cultist/rune3.dm
@@ -14,7 +14,8 @@
V.show_message("\red [M] writhes in pain as the markings below him glow a bloody red.", 3, "\red You hear an anguished scream.", 2)
M << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root."
M << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back."
- ticker.mode:grant_runeword(M)
+ if (ticker.mode.name == "cult")
+ ticker.mode:grant_runeword(M)
cultists.Add(M)
return
return fizzle()
\ No newline at end of file
diff --git a/code/game/objects/effect_system.dm b/code/game/objects/effect_system.dm
index 22b7126abfd..41d693a243c 100644
--- a/code/game/objects/effect_system.dm
+++ b/code/game/objects/effect_system.dm
@@ -662,8 +662,9 @@ steam.start() -- spawns the effect
F.amount = amount
if(!metal)
F.create_reagents(10)
- for(var/datum/reagent/R in reagents.reagent_list)
- F.reagents.add_reagent(R.id,1)
+ if (reagents)
+ for(var/datum/reagent/R in reagents.reagent_list)
+ F.reagents.add_reagent(R.id,1)
sleep(15)
// foam disolves when heated
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 17e241678ba..d55ff89ec05 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -44,7 +44,7 @@
..()
statpanel("Status")
if (src.client.statpanel == "Status")
- if(ticker.mode != null)
+ if(ticker.mode)
//world << "DEBUG: ticker not null"
if(ticker.mode.name == "AI malfunction")
//world << "DEBUG: malf mode ticker test"