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"