diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm
index 683e5328cc3..6a0f2d475e5 100644
--- a/code/game/machinery/biogenerator.dm
+++ b/code/game/machinery/biogenerator.dm
@@ -92,9 +92,12 @@
dat += "10 milk (20)
"
dat += "Slab of meat (50)
"
dat += "Nutrient
"
- dat += "E-Z-Nutrient (10)
"
- dat += "Left 4 Zed (20)
"
- dat += "Robust Harvest (25)
"
+ dat += "E-Z-Nutrient (10) | x5
"
+ dat += "Left 4 Zed (20) | x5
"
+ dat += "Robust Harvest (25) | x5
"
+ dat += "Leather
"
+ dat += "Botanical gloves (350)
"
+ dat += "Utility belt (400)
"
//dat += "Other
"
//dat += "Monkey (500)
"
else
@@ -163,6 +166,28 @@
new/obj/item/nutrient/l4z(src.loc)
if("rh")
new/obj/item/nutrient/rh(src.loc)
+ if("ez5") //It's not an elegant method, but it's safe and easy. -Cheridan
+ new/obj/item/nutrient/ez(src.loc)
+ new/obj/item/nutrient/ez(src.loc)
+ new/obj/item/nutrient/ez(src.loc)
+ new/obj/item/nutrient/ez(src.loc)
+ new/obj/item/nutrient/ez(src.loc)
+ if("l4z5")
+ new/obj/item/nutrient/l4z(src.loc)
+ new/obj/item/nutrient/l4z(src.loc)
+ new/obj/item/nutrient/l4z(src.loc)
+ new/obj/item/nutrient/l4z(src.loc)
+ new/obj/item/nutrient/l4z(src.loc)
+ if("rh5")
+ new/obj/item/nutrient/rh(src.loc)
+ new/obj/item/nutrient/rh(src.loc)
+ new/obj/item/nutrient/rh(src.loc)
+ new/obj/item/nutrient/rh(src.loc)
+ new/obj/item/nutrient/rh(src.loc)
+ if("gloves")
+ new/obj/item/clothing/gloves/botanic_leather(src.loc)
+ if("tbelt")
+ new/obj/item/weapon/storage/belt/utility(src.loc)
if("monkey")
new/mob/living/carbon/monkey(src.loc)
processing = 0
@@ -181,9 +206,10 @@
if("activate")
activate()
if("detach")
- beaker.loc = src.loc
- beaker = null
- update_icon()
+ if(beaker)
+ beaker.loc = src.loc
+ beaker = null
+ update_icon()
if("create")
create_product(href_list["item"],text2num(href_list["cost"]))
if("menu")
diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm
index 4eff5bf31ac..ac9c3069ce5 100755
--- a/code/game/objects/items/item.dm
+++ b/code/game/objects/items/item.dm
@@ -339,7 +339,8 @@ mob/proc/flash_weak_pain()
if(Metroid)
Metroid.SStun = 1
sleep(rand(5,20))
- Metroid.SStun = 0
+ if(Metroid)
+ Metroid.SStun = 0
spawn(0)
Metroid.canmove = 0
diff --git a/code/game/objects/radio/radio.dm b/code/game/objects/radio/radio.dm
index de52b3703c5..0498b7aafee 100644
--- a/code/game/objects/radio/radio.dm
+++ b/code/game/objects/radio/radio.dm
@@ -129,11 +129,12 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use
if(!src.loc)
on = 0
- var/area/A = get_area(src)
- if(!A || !isarea(A) || !A.master)
- on = 0
else
- on = A.master.powered(EQUIP) // set "on" to the power status
+ var/area/A = src.loc.loc
+ if(!A || !isarea(A) || !A.master)
+ on = 0
+ else
+ on = A.master.powered(EQUIP) // set "on" to the power status
if(!on)
icon_state = "intercom-p"
diff --git a/code/modules/chemical/Chemistry-Machinery.dm b/code/modules/chemical/Chemistry-Machinery.dm
index 57eb90fbeac..2e31bce08f2 100644
--- a/code/modules/chemical/Chemistry-Machinery.dm
+++ b/code/modules/chemical/Chemistry-Machinery.dm
@@ -462,23 +462,23 @@
if (href_list["create_vaccine"])
if(!src.wait)
var/obj/item/weapon/reagent_containers/glass/bottle/B = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc)
- var/vaccine_type = text2path(href_list["create_vaccine"])//the path is received as string - converting
- var/datum/disease/D = new vaccine_type
- var/name = input(usr,"Name:","Name the vaccine",D.name)
- if(!name || name == " ") name = D.name
- B.name = "[name] vaccine bottle"
- B.reagents.add_reagent("vaccine",15,vaccine_type)
- del(D)
- wait = 1
- var/datum/reagents/R = beaker.reagents
- var/datum/reagent/blood/Blood = null
- for(var/datum/reagent/blood/L in R.reagent_list)
- if(L)
- Blood = L
- break
- var/list/res = Blood.data["resistances"]
- spawn(res.len*500)
- src.wait = null
+ if(B)
+ var/vaccine_type = text2path(href_list["create_vaccine"])//the path is received as string - converting
+ var/datum/disease/D = new vaccine_type
+ if(D)
+ B.name = "[D.name] vaccine bottle"
+ B.reagents.add_reagent("vaccine",15,vaccine_type)
+ del(D)
+ wait = 1
+ var/datum/reagents/R = beaker.reagents
+ var/datum/reagent/blood/Blood = null
+ for(var/datum/reagent/blood/L in R.reagent_list)
+ if(L)
+ Blood = L
+ break
+ var/list/res = Blood.data["resistances"]
+ spawn(res.len*500)
+ src.wait = null
else
src.temphtml = "The replicator is not ready yet."
src.updateUsrDialog()
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index 027e9afecab..15135220b22 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -511,7 +511,7 @@
for (var/mob/V in viewers(usr))
V.show_message("[user] dunks [GM.name] into the toilet!", 3)
if(do_after(user, 30))
- if(G.state>1&&!GM.internal)
+ if(G && G.state>1 && !GM.internal)
GM.oxyloss += 5
else if(I.w_class < 4)