diff --git a/code/_globalvars/lists/reagents.dm b/code/_globalvars/lists/reagents.dm
index a4aa4b93c4f..7042cbe932a 100644
--- a/code/_globalvars/lists/reagents.dm
+++ b/code/_globalvars/lists/reagents.dm
@@ -17,7 +17,7 @@ var/list/standard_chemicals = list("slimejelly","blood","water","lube","charcoal
"lipolicide","condensedcapsaicin","frostoil","amanitin","psilocybin",
"enzyme","nothing","salglu_solution","antifreeze","neurotoxin")
// Rare chemicals
-var/list/rare_chemicals = list("minttoxin","nanites","xenomicrobes","adminordrazine")
+var/list/rare_chemicals = list("minttoxin","syndicate_nanites", "xenomicrobes")
// Standard medicines
var/list/standard_medicines = list("charcoal","toxin","cyanide","morphine","epinephrine","space_drugs",
"serotrotium","mutadone","mutagen","teporone","lexorin","silver_sulfadiazine",
@@ -27,7 +27,7 @@ var/list/standard_medicines = list("charcoal","toxin","cyanide","morphine","epin
"diethylamine","antihol","pancuronium","lipolicide","condensedcapsaicin",
"frostoil","amanitin","psilocybin","nothing","salglu_solution","neurotoxin")
// Rare medicines
-var/list/rare_medicines = list("nanites","xenomicrobes","minttoxin","adminordrazine","blood")
+var/list/rare_medicines = list("syndicate_nanites","minttoxin","blood", "xenomicrobes")
// Drinks
var/list/drinks = list("beer2","hot_coco","orangejuice","tomatojuice","limejuice","carrotjuice",
"berryjuice","poisonberryjuice","watermelonjuice","lemonjuice","banana",
diff --git a/code/game/objects/items/random_items.dm b/code/game/objects/items/random_items.dm
index 5cc0ab739c0..b5d0066a706 100644
--- a/code/game/objects/items/random_items.dm
+++ b/code/game/objects/items/random_items.dm
@@ -3,13 +3,14 @@
// -------------------------------------
/obj/item/toy/random
name = "Random Toy"
- New()
- ..()
- var/list/types = list(/obj/item/weapon/gun/projectile/shotgun/toy/crossbow, /obj/item/toy/balloon,/obj/item/toy/spinningtoy,/obj/item/weapon/reagent_containers/spray/waterflower) + subtypesof(/obj/item/toy/prize)
- var/T = pick(types)
- new T(loc)
- spawn(1)
- qdel(src)
+
+/obj/item/toy/random/New()
+ ..()
+ var/list/types = list(/obj/item/weapon/gun/projectile/shotgun/toy/crossbow, /obj/item/toy/balloon,/obj/item/toy/spinningtoy,/obj/item/weapon/reagent_containers/spray/waterflower) + subtypesof(/obj/item/toy/prize)
+ var/T = pick(types)
+ new T(loc)
+ spawn(1)
+ qdel(src)
// -------------------------------------
// Random cleanables, clearly this makes sense
@@ -17,24 +18,26 @@
/obj/effect/decal/cleanable/random
name = "Random Mess"
- New()
- ..()
- var/list/list = subtypesof(/obj/effect/decal/cleanable) - list(/obj/effect/decal/cleanable/random,/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/cobweb2)
- var/T = pick(list)
- new T(loc)
- spawn(0)
- qdel(src)
+
+/obj/effect/decal/cleanable/random/New()
+ ..()
+ var/list/list = subtypesof(/obj/effect/decal/cleanable) - list(/obj/effect/decal/cleanable/random,/obj/effect/decal/cleanable/cobweb,/obj/effect/decal/cleanable/cobweb2)
+ var/T = pick(list)
+ new T(loc)
+ spawn(0)
+ qdel(src)
/obj/item/stack/sheet/animalhide/random
name = "random animal hide"
- New()
- ..()
- spawn(1)
- var/htype = pick(/obj/item/stack/sheet/animalhide/cat,/obj/item/stack/sheet/animalhide/corgi,/obj/item/stack/sheet/animalhide/human,/obj/item/stack/sheet/animalhide/lizard,/obj/item/stack/sheet/animalhide/monkey)
- var/obj/item/stack/S = new htype(loc)
- S.amount = amount
- qdel(src)
+
+/obj/item/stack/sheet/animalhide/random/New()
+ ..()
+ spawn(1)
+ var/htype = pick(/obj/item/stack/sheet/animalhide/cat,/obj/item/stack/sheet/animalhide/corgi,/obj/item/stack/sheet/animalhide/human,/obj/item/stack/sheet/animalhide/lizard,/obj/item/stack/sheet/animalhide/monkey)
+ var/obj/item/stack/S = new htype(loc)
+ S.amount = amount
+ qdel(src)
// -------------------------------------
// Not yet identified chemical.
@@ -43,103 +46,108 @@
/obj/item/weapon/reagent_containers/glass/bottle/random_reagent
name = "unlabelled bottle"
-// identify_probability = 0
- New()
- ..()
- var/datum/reagent/R = pick(chemical_reagents_list)
- if(rare_chemicals.Find(R))
- reagents.add_reagent(R,10)
- else
- reagents.add_reagent(R,rand(2,3)*10)
- pixel_x = rand(-10,10)
- pixel_y = rand(-10,10)
+ // identify_probability = 0
+
+/obj/item/weapon/reagent_containers/glass/bottle/random_reagent/New()
+ ..()
+ var/list/possible_chems = chemical_reagents_list.Copy()
+ possible_chems -= blocked_chems.Copy()
+ var/datum/reagent/R = pick(possible_chems)
+ if(rare_chemicals.Find(R))
+ reagents.add_reagent(R, 10)
+ else
+ reagents.add_reagent(R, rand(2, 3)*10)
+ pixel_x = rand(-10, 10)
+ pixel_y = rand(-10, 10)
//Cuts out the food and drink reagents
/obj/item/weapon/reagent_containers/glass/bottle/random_chem
name = "unlabelled chemical bottle"
-// identify_probability = 0
- New()
- ..()
+ // identify_probability = 0
- var/datum/reagent/R = pick(standard_chemicals + rare_chemicals)
- if(rare_chemicals.Find(R))
- reagents.add_reagent(R,10)
- else
- reagents.add_reagent(R,rand(2,3)*10)
- name = "unlabelled bottle"
- pixel_x = rand(-10,10)
- pixel_y = rand(-10,10)
+/obj/item/weapon/reagent_containers/glass/bottle/random_chem/New()
+ ..()
+ var/R = get_random_reagent_id()
+ if(rare_chemicals.Find(R))
+ reagents.add_reagent(R, 10)
+ else
+ reagents.add_reagent(R, rand(2, 3)*10)
+ name = "unlabelled bottle"
+ pixel_x = rand(-10, 10)
+ pixel_y = rand(-10, 10)
/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem
name = "unlabelled chemical bottle"
-// identify_probability = 0
- New()
- ..()
- var/datum/reagent/R = pick(base_chemicals)
- reagents.add_reagent(R,rand(2,6)*5)
- name = "unlabelled bottle"
- pixel_x = rand(-10,10)
- pixel_y = rand(-10,10)
+ // identify_probability = 0
+
+/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem/New()
+ ..()
+ var/datum/reagent/R = pick(base_chemicals)
+ reagents.add_reagent(R, rand(2, 6)*5)
+ name = "unlabelled bottle"
+ pixel_x = rand(-10, 10)
+ pixel_y = rand(-10, 10)
/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink
name = "unlabelled drink"
icon = 'icons/obj/drinks.dmi'
- New()
- ..()
- var/list/additional_drinks = list()
- if(prob(50))
- additional_drinks += list("pancuronium","lsd","omnizine","blood")
- var/datum/reagent/R = pick(drinks + additional_drinks)
- reagents.add_reagent(R,volume)
- name = "unlabelled bottle"
- icon_state = pick("alco-white","alco-green","alco-blue","alco-clear","alco-red")
- pixel_x = rand(-5,5)
- pixel_y = rand(-5,5)
+/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink/New()
+ ..()
+ var/list/possible_drinks = drinks.Copy()
+ if(prob(50))
+ possible_drinks += list("pancuronium","lsd","omnizine","blood")
+
+ var/datum/reagent/R = pick(possible_drinks)
+ reagents.add_reagent(R, volume)
+ name = "unlabelled bottle"
+ icon_state = pick("alco-white","alco-green","alco-blue","alco-clear","alco-red")
+ pixel_x = rand(-5, 5)
+ pixel_y = rand(-5, 5)
/obj/item/weapon/reagent_containers/food/drinks/bottle/random_reagent // Same as the chembottle code except the container
name = "unlabelled drink?"
icon = 'icons/obj/drinks.dmi'
- New()
- ..()
- var/datum/reagent/R = pick(chemical_reagents_list)
- if(rare_chemicals.Find(R))
- reagents.add_reagent(R,10)
- else
- reagents.add_reagent(R,rand(3,10)*10)
- name = "unlabelled bottle"
- icon_state = pick("alco-white","alco-green","alco-blue","alco-clear","alco-red")
- pixel_x = rand(-5,5)
- pixel_y = rand(-5,5)
- spawn(0)
- qdel(src)
+
+/obj/item/weapon/reagent_containers/food/drinks/bottle/random_reagent/New()
+ ..()
+
+ var/R = get_random_reagent_id()
+ if(rare_chemicals.Find(R))
+ reagents.add_reagent(R, 10)
+ else
+ reagents.add_reagent(R, rand(3, 10)*10)
+ name = "unlabelled bottle"
+ icon_state = pick("alco-white","alco-green","alco-blue","alco-clear","alco-red")
+ pixel_x = rand(-5, 5)
+ pixel_y = rand(-5, 5)
+ spawn(0)
+ qdel(src)
/obj/item/weapon/storage/pill_bottle/random_meds
name = "unlabelled pillbottle"
desc = "The sheer recklessness of this bottle's existence astounds you."
- New()
- ..()
- var/i = 1
- while(i < storage_slots)
+/obj/item/weapon/storage/pill_bottle/random_meds/New()
+ ..()
+ var/i = 1
+ while(i < storage_slots)
+ var/list/possible_medicines = standard_medicines.Copy()
+ if(prob(50))
+ possible_medicines += rare_medicines.Copy()
+ var/datum/reagent/R = pick(possible_medicines)
+ var/obj/item/weapon/reagent_containers/food/pill/P = new(src)
- var/datum/reagent/R
- if(prob(50))
- R = pick(standard_medicines + rare_medicines)
- else
- R = pick(standard_medicines)
- var/obj/item/weapon/reagent_containers/food/pill/P = new(src)
+ if(rare_medicines.Find(R))
+ P.reagents.add_reagent(R, 10)
+ else
+ P.reagents.add_reagent(R, rand(2, 5)*10)
+ P.name = "Unlabelled Pill"
+ P.desc = "Something about this pill entices you to try it, against your better judgement."
+ i++
+ pixel_x = rand(-10, 10)
+ pixel_y = rand(-10, 10)
- if(rare_medicines.Find(R))
- P.reagents.add_reagent(R,10)
- else
- P.reagents.add_reagent(R,rand(2,5)*10)
- P.name = "Unlabelled Pill"
- P.desc = "Something about this pill entices you to try it, against your better judgement."
- i++
- pixel_x = rand(-10,10)
- pixel_y = rand(-10,10)
- return
// -------------------------------------
// Containers full of unknown crap
@@ -150,43 +158,43 @@
desc = "Crate full of chemicals of unknown type and value from a 'trusted' source."
req_one_access = list(access_chemistry,access_research,access_qm) // the qm knows a guy, you see.
- New()
- ..()
- new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
- new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
- new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
- new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
- new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
- new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
- new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
- new/obj/item/weapon/reagent_containers/glass/bottle/random_chem(src)
- new/obj/item/weapon/reagent_containers/glass/bottle/random_chem(src)
- new/obj/item/weapon/reagent_containers/glass/bottle/random_chem(src)
- while(prob(50))
- new/obj/item/weapon/reagent_containers/glass/bottle/random_reagent(src)
+/obj/structure/closet/crate/secure/unknownchemicals/New()
+ ..()
+ new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
+ new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
+ new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
+ new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
+ new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
+ new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
+ new/obj/item/weapon/reagent_containers/glass/bottle/random_base_chem(src)
+ new/obj/item/weapon/reagent_containers/glass/bottle/random_chem(src)
+ new/obj/item/weapon/reagent_containers/glass/bottle/random_chem(src)
+ new/obj/item/weapon/reagent_containers/glass/bottle/random_chem(src)
+ while(prob(50))
+ new/obj/item/weapon/reagent_containers/glass/bottle/random_reagent(src)
+ new/obj/item/weapon/storage/pill_bottle/random_meds(src)
+ while(prob(25))
new/obj/item/weapon/storage/pill_bottle/random_meds(src)
- while(prob(25))
- new/obj/item/weapon/storage/pill_bottle/random_meds(src)
/obj/structure/closet/crate/secure/chemicals
- name = "chemical supply kit"
- desc = "Full of basic chemistry supplies."
- req_one_access = list(access_chemistry,access_research)
+ name = "chemical supply kit"
+ desc = "Full of basic chemistry supplies."
+ req_one_access = list(access_chemistry,access_research)
- New()
- ..()
- for(var/chem in standard_chemicals)
- var/obj/item/weapon/reagent_containers/glass/bottle/B = new(src)
- B.reagents.add_reagent(chem,B.volume)
- if(prob(85))
- var/datum/reagent/r = chemical_reagents_list[chem]
- B.name = "[r.name] bottle"
-// B.identify_probability = 100
- else
- B.name = "unlabelled bottle"
- B.desc = "Looks like the label fell off."
-// B.identify_probability = 0
+/obj/structure/closet/crate/secure/chemicals/New()
+ ..()
+ for(var/chem in standard_chemicals)
+ var/obj/item/weapon/reagent_containers/glass/bottle/B = new(src)
+ B.reagents.add_reagent(chem, B.volume)
+ if(prob(85))
+ var/datum/reagent/r = chemical_reagents_list[chem]
+ B.name = "[r.name] bottle"
+// B.identify_probability = 100
+ else
+ B.name = "unlabelled bottle"
+ B.desc = "Looks like the label fell off."
+// B.identify_probability = 0
/*
/obj/structure/closet/crate/bin/flowers
@@ -235,15 +243,15 @@
icon_broken = "cabinetdetective_broken"
icon_off = "cabinetdetective_broken"
- New()
- ..()
- new/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink(src)
- new/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink(src)
- new/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink(src)
- new/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink(src)
- new/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink(src)
- while(prob(25))
- new/obj/item/weapon/reagent_containers/food/drinks/bottle/random_reagent(src)
+/obj/structure/closet/secure_closet/random_drinks/New()
+ ..()
+ new/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink(src)
+ new/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink(src)
+ new/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink(src)
+ new/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink(src)
+ new/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink(src)
+ while(prob(25))
+ new/obj/item/weapon/reagent_containers/food/drinks/bottle/random_reagent(src)
// -------------------------------------
@@ -257,23 +265,23 @@
name = "\improper Mysterious Crate"
desc = "What could it be?"
- attackby(obj/item/weapon/W as obj, mob/user as mob, params)
- if(istype(W, /obj/item/weapon/crowbar))
- var/list/menace = pick( /mob/living/simple_animal/hostile/carp,/mob/living/simple_animal/hostile/faithless,/mob/living/simple_animal/hostile/pirate,
- /mob/living/simple_animal/hostile/creature,/mob/living/simple_animal/hostile/pirate/ranged,
- /mob/living/simple_animal/hostile/hivebot,/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/pirate)
+/obj/structure/largecrate/evil/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
+ if(istype(W, /obj/item/weapon/crowbar))
+ var/list/menace = pick( /mob/living/simple_animal/hostile/carp,/mob/living/simple_animal/hostile/faithless,/mob/living/simple_animal/hostile/pirate,
+ /mob/living/simple_animal/hostile/creature,/mob/living/simple_animal/hostile/pirate/ranged,
+ /mob/living/simple_animal/hostile/hivebot,/mob/living/simple_animal/hostile/viscerator,/mob/living/simple_animal/hostile/pirate)
- visible_message("Something falls out of the [src]!")
- var/obj/item/weapon/grenade/clusterbuster/C = new(src.loc)
- C.prime()
- spawn(10)
- new menace(src.loc)
- while(prob(15))
- new menace(get_step_rand(src.loc))
- ..()
- return 1
- else
- return ..()
+ visible_message("Something falls out of the [src]!")
+ var/obj/item/weapon/grenade/clusterbuster/C = new(src.loc)
+ C.prime()
+ spawn(10)
+ new menace(src.loc)
+ while(prob(15))
+ new menace(get_step_rand(src.loc))
+ ..()
+ return 1
+ else
+ return ..()
//
@@ -288,22 +296,22 @@
name = "Schrodinger's Crate"
desc = "What happens if you open it?"
- attackby(obj/item/weapon/W as obj, mob/user as mob, params)
- if(istype(W, /obj/item/weapon/crowbar))
- var/mob/living/simple_animal/pet/cat/Cat1 = new(loc)
- Cat1.apply_damage(250)//,TOX)
- Cat1.name = "Schrodinger's Cat"
- Cat1.desc = "It seems it's been dead for a while."
+/obj/structure/largecrate/schrodinger/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
+ if(istype(W, /obj/item/weapon/crowbar))
+ var/mob/living/simple_animal/pet/cat/Cat1 = new(loc)
+ Cat1.apply_damage(250)//,TOX)
+ Cat1.name = "Schrodinger's Cat"
+ Cat1.desc = "It seems it's been dead for a while."
- var/mob/living/simple_animal/pet/cat/Cat2 = new(loc)
- Cat2.name = "Schrodinger's Cat"
- Cat2.desc = "It's was alive the whole time!"
- sleep(2)
- if(prob(50))
- qdel(Cat1)
- else
- qdel(Cat2)
- return ..()
+ var/mob/living/simple_animal/pet/cat/Cat2 = new(loc)
+ Cat2.name = "Schrodinger's Cat"
+ Cat2.desc = "It's was alive the whole time!"
+ sleep(2)
+ if(prob(50))
+ qdel(Cat1)
+ else
+ qdel(Cat2)
+ return ..()
// --------------------------------------
// Collen's box of wonder and mystery
@@ -318,18 +326,18 @@
/obj/item/weapon/grenade/chem_grenade/dirt, /obj/item/weapon/grenade/chem_grenade/lube, /obj/item/weapon/grenade/smokebomb,
/obj/item/weapon/grenade/chem_grenade/drugs, /obj/item/weapon/grenade/chem_grenade/ethanol) // holy list batman
- New()
- ..()
- var/nade1 = pick(grenadelist)
- var/nade2 = pick(grenadelist)
- var/nade3 = pick(grenadelist)
- var/nade4 = pick(grenadelist)
- var/nade5 = pick(grenadelist)
- var/nade6 = pick(grenadelist)
+/obj/item/weapon/storage/box/grenades/New()
+ ..()
+ var/nade1 = pick(grenadelist)
+ var/nade2 = pick(grenadelist)
+ var/nade3 = pick(grenadelist)
+ var/nade4 = pick(grenadelist)
+ var/nade5 = pick(grenadelist)
+ var/nade6 = pick(grenadelist)
- new nade1(src)
- new nade2(src)
- new nade3(src)
- new nade4(src)
- new nade5(src)
- new nade6(src)
+ new nade1(src)
+ new nade2(src)
+ new nade3(src)
+ new nade4(src)
+ new nade5(src)
+ new nade6(src)
diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm
index 137ffc83183..ae6794d5e8d 100644
--- a/code/modules/events/vent_clog.dm
+++ b/code/modules/events/vent_clog.dm
@@ -22,8 +22,8 @@
var/list/gunk = list("water","carbon","flour","radium","toxin","cleaner","nutriment","condensedcapsaicin","psilocybin","lube",
"atrazine","banana","charcoal","space_drugs","methamphetamine","holywater","ethanol","hot_coco","facid",
"blood","morphine","ether","fluorine","mutadone","mutagen","hydrocodone","fuel",
- "haloperidol","lsd","nanites","lipolicide","frostoil","salglu_solution","beepskysmash",
- "omnizine", "amanitin", "adminordrazine", "neurotoxin", "synaptizine")
+ "haloperidol","lsd","syndicate_nanites","lipolicide","frostoil","salglu_solution","beepskysmash",
+ "omnizine", "amanitin", "neurotoxin", "synaptizine")
var/datum/reagents/R = new/datum/reagents(50)
R.my_atom = vent
R.add_reagent(pick(gunk), 50)
diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
index 133ab0e6378..b4364bd175f 100644
--- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm
+++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
@@ -159,6 +159,7 @@
/obj/item/weapon/reagent_containers/food/snacks/meat/slab,
/obj/item/weapon/reagent_containers/food/snacks/grown,
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
+ /obj/item/weapon/reagent_containers/food/snacks/deepfryholder
)
blocked |= typesof(/obj/item/weapon/reagent_containers/food/snacks/customizable)
@@ -193,6 +194,21 @@
feedback_add_details("slime_cores_used","[type]")
var/list/borks = subtypesof(/obj/item/weapon/reagent_containers/food/drinks)
+ var/list/blocked = list(/obj/item/weapon/reagent_containers/food/drinks/cans/adminbooze,
+ /obj/item/weapon/reagent_containers/food/drinks/cans/madminmalt,
+ /obj/item/weapon/reagent_containers/food/drinks/shaker,
+ /obj/item/weapon/reagent_containers/food/drinks/britcup,
+ /obj/item/weapon/reagent_containers/food/drinks/sillycup,
+ /obj/item/weapon/reagent_containers/food/drinks/cans,
+ /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/shotglass,
+ /obj/item/weapon/reagent_containers/food/drinks/drinkingglass,
+ /obj/item/weapon/reagent_containers/food/drinks/bottle,
+ /obj/item/weapon/reagent_containers/food/drinks/mushroom_bowl
+ )
+ blocked += typesof(/obj/item/weapon/reagent_containers/food/drinks/flask)
+ blocked += typesof(/obj/item/weapon/reagent_containers/food/drinks/trophy)
+ blocked += typesof(/obj/item/weapon/reagent_containers/food/drinks/cans/bottler)
+ borks -= blocked
// BORK BORK BORK
playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1)