kek
This commit is contained in:
@@ -11,12 +11,12 @@
|
||||
var/last_tick = 1
|
||||
var/addiction_tick = 1
|
||||
var/list/datum/reagent/addiction_list = new/list()
|
||||
var/flags
|
||||
var/flags_1
|
||||
|
||||
/datum/reagents/New(maximum=100)
|
||||
maximum_volume = maximum
|
||||
|
||||
if(!(flags & REAGENT_NOREACT))
|
||||
if(!(flags_1 & REAGENT_NOREACT))
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
//I dislike having these here but map-objects are initialised before world/New() is called. >_>
|
||||
@@ -290,7 +290,7 @@
|
||||
|
||||
/datum/reagents/process()
|
||||
var/list/cached_reagents = reagent_list
|
||||
if(flags & REAGENT_NOREACT)
|
||||
if(flags_1 & REAGENT_NOREACT)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
return
|
||||
|
||||
@@ -302,11 +302,11 @@
|
||||
if(react)
|
||||
// Order is important, process() can remove from processing if
|
||||
// the flag is present
|
||||
flags &= ~(REAGENT_NOREACT)
|
||||
flags_1 &= ~(REAGENT_NOREACT)
|
||||
START_PROCESSING(SSobj, src)
|
||||
else
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
flags |= REAGENT_NOREACT
|
||||
flags_1 |= REAGENT_NOREACT
|
||||
|
||||
/datum/reagents/proc/conditional_update_move(atom/A, Running = 0)
|
||||
var/list/cached_reagents = reagent_list
|
||||
@@ -326,7 +326,7 @@
|
||||
var/list/cached_reagents = reagent_list
|
||||
var/list/cached_reactions = GLOB.chemical_reactions_list
|
||||
var/datum/cached_my_atom = my_atom
|
||||
if(flags & REAGENT_NOREACT)
|
||||
if(flags_1 & REAGENT_NOREACT)
|
||||
return //Yup, no reactions here. No siree.
|
||||
|
||||
var/reaction_occurred = 0
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
idle_power_usage = 40
|
||||
interact_offline = 1
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
var/cell_type = /obj/item/weapon/stock_parts/cell/high
|
||||
var/obj/item/weapon/stock_parts/cell/cell
|
||||
var/cell_type = /obj/item/stock_parts/cell/high
|
||||
var/obj/item/stock_parts/cell/cell
|
||||
var/powerefficiency = 0.01
|
||||
var/amount = 30
|
||||
var/recharged = 0
|
||||
var/recharge_delay = 5
|
||||
var/mutable_appearance/beaker_overlay
|
||||
var/obj/item/weapon/reagent_containers/beaker = null
|
||||
var/obj/item/reagent_containers/beaker = null
|
||||
var/list/dispensable_reagents = list(
|
||||
"hydrogen",
|
||||
"lithium",
|
||||
@@ -178,8 +178,8 @@
|
||||
if(default_unfasten_wrench(user, I))
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER))
|
||||
var/obj/item/weapon/reagent_containers/B = I
|
||||
if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1))
|
||||
var/obj/item/reagent_containers/B = I
|
||||
. = 1 //no afterattack
|
||||
if(beaker)
|
||||
to_chat(user, "<span class='warning'>A container is already loaded into the machine!</span>")
|
||||
@@ -195,7 +195,7 @@
|
||||
beaker_overlay = beaker_overlay || mutable_appearance(icon, "disp_beaker")
|
||||
beaker_overlay.pixel_x = rand(-10, 5)//randomize beaker overlay position.
|
||||
add_overlay(beaker_overlay)
|
||||
else if(user.a_intent != INTENT_HARM && !istype(I, /obj/item/weapon/card/emag))
|
||||
else if(user.a_intent != INTENT_HARM && !istype(I, /obj/item/card/emag))
|
||||
to_chat(user, "<span class='warning'>You can't load \the [I] into the machine!</span>")
|
||||
return ..()
|
||||
else
|
||||
@@ -229,6 +229,7 @@
|
||||
amount = 5
|
||||
recharge_delay = 30
|
||||
dispensable_reagents = list()
|
||||
circuit = /obj/item/circuitboard/machine/chem_dispenser
|
||||
var/list/dispensable_reagent_tiers = list(
|
||||
list(
|
||||
"hydrogen",
|
||||
@@ -272,34 +273,17 @@
|
||||
)
|
||||
)
|
||||
|
||||
/obj/machinery/chem_dispenser/constructable/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/chem_dispenser(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/chem_dispenser
|
||||
name = "Portable Chem Dispenser (Machine Board)"
|
||||
build_path = /obj/machinery/chem_dispenser/constructable
|
||||
origin_tech = "materials=4;programming=4;plasmatech=4;biotech=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/matter_bin = 2,
|
||||
/obj/item/weapon/stock_parts/capacitor = 1,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1,
|
||||
/obj/item/weapon/stock_parts/cell = 1)
|
||||
def_components = list(/obj/item/weapon/stock_parts/cell = /obj/item/weapon/stock_parts/cell/high)
|
||||
|
||||
/obj/machinery/chem_dispenser/constructable/RefreshParts()
|
||||
var/time = 0
|
||||
var/i
|
||||
for(var/obj/item/weapon/stock_parts/cell/P in component_parts)
|
||||
for(var/obj/item/stock_parts/cell/P in component_parts)
|
||||
cell = P
|
||||
for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts)
|
||||
for(var/obj/item/stock_parts/matter_bin/M in component_parts)
|
||||
time += M.rating
|
||||
for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts)
|
||||
for(var/obj/item/stock_parts/capacitor/C in component_parts)
|
||||
time += C.rating
|
||||
recharge_delay /= time/2 //delay between recharges, double the usual time on lowest 50% less than usual on highest
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
for(var/obj/item/stock_parts/manipulator/M in component_parts)
|
||||
for(i=1, i<=M.rating, i++)
|
||||
dispensable_reagents |= dispensable_reagent_tiers[i]
|
||||
dispensable_reagents = sortList(dispensable_reagents)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm (rejected hunks)
|
||||
@@ -178,7 +178,7 @@
|
||||
if(default_unfasten_wrench(user, I))
|
||||
return
|
||||
|
||||
- if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER))
|
||||
+ if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1))
|
||||
var/obj/item/reagent_containers/B = I
|
||||
. = 1 //no afterattack
|
||||
if(beaker)
|
||||
@@ -7,27 +7,15 @@
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 40
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
var/obj/item/weapon/reagent_containers/beaker = null
|
||||
circuit = /obj/item/circuitboard/machine/chem_heater
|
||||
var/obj/item/reagent_containers/beaker = null
|
||||
var/target_temperature = 300
|
||||
var/heater_coefficient = 0.10
|
||||
var/on = FALSE
|
||||
|
||||
/obj/machinery/chem_heater/Initialize()
|
||||
. = ..()
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/chem_heater(null)
|
||||
B.apply_default_parts(src)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/chem_heater
|
||||
name = "Chemical Heater (Machine Board)"
|
||||
build_path = /obj/machinery/chem_heater
|
||||
origin_tech = "programming=2;engineering=2;biotech=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/micro_laser = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/machinery/chem_heater/RefreshParts()
|
||||
heater_coefficient = 0.10
|
||||
for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts)
|
||||
for(var/obj/item/stock_parts/micro_laser/M in component_parts)
|
||||
heater_coefficient *= M.rating
|
||||
|
||||
/obj/machinery/chem_heater/process()
|
||||
@@ -54,7 +42,7 @@
|
||||
if(default_deconstruction_crowbar(I))
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER))
|
||||
if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1))
|
||||
. = 1 //no afterattack
|
||||
if(beaker)
|
||||
to_chat(user, "<span class='warning'>A beaker is already loaded into the machine!</span>")
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm (rejected hunks)
|
||||
@@ -42,7 +42,7 @@
|
||||
if(default_deconstruction_crowbar(I))
|
||||
return
|
||||
|
||||
- if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER))
|
||||
+ if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1))
|
||||
. = 1 //no afterattack
|
||||
if(beaker)
|
||||
to_chat(user, "<span class='warning'>A beaker is already loaded into the machine!</span>")
|
||||
@@ -3,54 +3,29 @@
|
||||
desc = "Used to separate chemicals and distribute them in a variety of forms."
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
layer = BELOW_OBJ_LAYER
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "mixer0"
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 20
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
var/obj/item/weapon/reagent_containers/beaker = null
|
||||
var/obj/item/weapon/storage/pill_bottle/bottle = null
|
||||
circuit = /obj/item/circuitboard/machine/chem_master
|
||||
var/obj/item/reagent_containers/beaker = null
|
||||
var/obj/item/storage/pill_bottle/bottle = null
|
||||
var/mode = 1
|
||||
var/condi = 0
|
||||
var/screen = "home"
|
||||
var/analyzeVars[0]
|
||||
var/useramount = 30 // Last used amount
|
||||
layer = BELOW_OBJ_LAYER
|
||||
|
||||
/obj/machinery/chem_master/Initialize()
|
||||
create_reagents(100)
|
||||
add_overlay("waitlight")
|
||||
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/chem_master(null)
|
||||
B.apply_default_parts(src)
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/chem_master
|
||||
name = "ChemMaster 3000 (Machine Board)"
|
||||
build_path = /obj/machinery/chem_master
|
||||
origin_tech = "materials=3;programming=2;biotech=3"
|
||||
req_components = list(
|
||||
/obj/item/weapon/reagent_containers/glass/beaker = 2,
|
||||
/obj/item/weapon/stock_parts/manipulator = 1,
|
||||
/obj/item/weapon/stock_parts/console_screen = 1)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/chem_master/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
var/new_name = "ChemMaster"
|
||||
var/new_path = /obj/machinery/chem_master
|
||||
|
||||
if(build_path == /obj/machinery/chem_master)
|
||||
new_name = "CondiMaster"
|
||||
new_path = /obj/machinery/chem_master/condimaster
|
||||
|
||||
build_path = new_path
|
||||
name = "[new_name] 3000 (Machine Board)"
|
||||
to_chat(user, "<span class='notice'>You change the circuit board setting to \"[new_name]\".</span>")
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/chem_master/RefreshParts()
|
||||
reagents.maximum_volume = 0
|
||||
for(var/obj/item/weapon/reagent_containers/glass/beaker/B in component_parts)
|
||||
for(var/obj/item/reagent_containers/glass/beaker/B in component_parts)
|
||||
reagents.maximum_volume += B.reagents.maximum_volume
|
||||
|
||||
/obj/machinery/chem_master/ex_act(severity, target)
|
||||
@@ -104,7 +79,7 @@
|
||||
if(default_unfasten_wrench(user, I))
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER))
|
||||
if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1))
|
||||
. = 1 // no afterattack
|
||||
if(panel_open)
|
||||
to_chat(user, "<span class='warning'>You can't use the [src.name] while its panel is opened!</span>")
|
||||
@@ -121,7 +96,7 @@
|
||||
src.updateUsrDialog()
|
||||
icon_state = "mixer1"
|
||||
|
||||
else if(!condi && istype(I, /obj/item/weapon/storage/pill_bottle))
|
||||
else if(!condi && istype(I, /obj/item/storage/pill_bottle))
|
||||
if(bottle)
|
||||
to_chat(user, "<span class='warning'>A pill bottle is already loaded into the machine!</span>")
|
||||
return
|
||||
@@ -236,13 +211,13 @@
|
||||
var/name = stripped_input(usr,"Name:","Name your pill!", "[reagents.get_master_reagent_name()] ([vol_each]u)", MAX_NAME_LEN)
|
||||
if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, be_close=TRUE))
|
||||
return
|
||||
var/obj/item/weapon/reagent_containers/pill/P
|
||||
var/obj/item/reagent_containers/pill/P
|
||||
|
||||
for(var/i = 0; i < amount; i++)
|
||||
if(bottle && bottle.contents.len < bottle.storage_slots)
|
||||
P = new/obj/item/weapon/reagent_containers/pill(bottle)
|
||||
P = new/obj/item/reagent_containers/pill(bottle)
|
||||
else
|
||||
P = new/obj/item/weapon/reagent_containers/pill(src.loc)
|
||||
P = new/obj/item/reagent_containers/pill(src.loc)
|
||||
P.name = trim("[name] pill")
|
||||
P.pixel_x = rand(-7, 7) //random position
|
||||
P.pixel_y = rand(-7, 7)
|
||||
@@ -251,7 +226,7 @@
|
||||
var/name = stripped_input(usr, "Name:", "Name your pack!", reagents.get_master_reagent_name(), MAX_NAME_LEN)
|
||||
if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, be_close=TRUE))
|
||||
return
|
||||
var/obj/item/weapon/reagent_containers/food/condiment/pack/P = new/obj/item/weapon/reagent_containers/food/condiment/pack(src.loc)
|
||||
var/obj/item/reagent_containers/food/condiment/pack/P = new/obj/item/reagent_containers/food/condiment/pack(src.loc)
|
||||
|
||||
P.originalname = name
|
||||
P.name = trim("[name] pack")
|
||||
@@ -273,10 +248,10 @@
|
||||
var/name = stripped_input(usr,"Name:","Name your patch!", "[reagents.get_master_reagent_name()] ([vol_each]u)", MAX_NAME_LEN)
|
||||
if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, be_close=TRUE))
|
||||
return
|
||||
var/obj/item/weapon/reagent_containers/pill/P
|
||||
var/obj/item/reagent_containers/pill/P
|
||||
|
||||
for(var/i = 0; i < amount; i++)
|
||||
P = new/obj/item/weapon/reagent_containers/pill/patch(src.loc)
|
||||
P = new/obj/item/reagent_containers/pill/patch(src.loc)
|
||||
P.name = trim("[name] patch")
|
||||
P.pixel_x = rand(-7, 7) //random position
|
||||
P.pixel_y = rand(-7, 7)
|
||||
@@ -292,7 +267,7 @@
|
||||
var/name = stripped_input(usr, "Name:","Name your bottle!", (reagents.total_volume ? reagents.get_master_reagent_name() : " "), MAX_NAME_LEN)
|
||||
if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, be_close=TRUE))
|
||||
return
|
||||
var/obj/item/weapon/reagent_containers/food/condiment/P = new(src.loc)
|
||||
var/obj/item/reagent_containers/food/condiment/P = new(src.loc)
|
||||
P.originalname = name
|
||||
P.name = trim("[name] bottle")
|
||||
reagents.trans_to(P, P.volume)
|
||||
@@ -306,16 +281,16 @@
|
||||
if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, be_close=TRUE))
|
||||
return
|
||||
|
||||
var/obj/item/weapon/reagent_containers/glass/bottle/P
|
||||
var/obj/item/reagent_containers/glass/bottle/P
|
||||
for(var/i = 0; i < amount_full; i++)
|
||||
P = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc)
|
||||
P = new/obj/item/reagent_containers/glass/bottle(src.loc)
|
||||
P.pixel_x = rand(-7, 7) //random position
|
||||
P.pixel_y = rand(-7, 7)
|
||||
P.name = trim("[name] bottle")
|
||||
reagents.trans_to(P, 30)
|
||||
|
||||
if(vol_part)
|
||||
P = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc)
|
||||
P = new/obj/item/reagent_containers/glass/bottle(src.loc)
|
||||
P.name = trim("[name] bottle")
|
||||
reagents.trans_to(P, vol_part)
|
||||
. = TRUE
|
||||
@@ -360,7 +335,3 @@
|
||||
name = "CondiMaster 3000"
|
||||
desc = "Used to create condiments and other cooking supplies."
|
||||
condi = 1
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/chem_master/condi
|
||||
name = "CondiMaster 3000 (Machine Board)"
|
||||
build_path = /obj/machinery/chem_master/condimaster
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm (rejected hunks)
|
||||
@@ -79,7 +79,7 @@
|
||||
if(default_unfasten_wrench(user, I))
|
||||
return
|
||||
|
||||
- if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER))
|
||||
+ if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1))
|
||||
. = 1 // no afterattack
|
||||
if(panel_open)
|
||||
to_chat(user, "<span class='warning'>You can't use the [src.name] while its panel is opened!</span>")
|
||||
@@ -8,14 +8,14 @@
|
||||
anchored = TRUE
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "mixer0"
|
||||
circuit = /obj/item/weapon/circuitboard/computer/pandemic
|
||||
circuit = /obj/item/circuitboard/computer/pandemic
|
||||
use_power = TRUE
|
||||
idle_power_usage = 20
|
||||
resistance_flags = ACID_PROOF
|
||||
var/wait
|
||||
var/mode = MAIN_SCREEN
|
||||
var/datum/symptom/selected_symptom
|
||||
var/obj/item/weapon/reagent_containers/beaker
|
||||
var/obj/item/reagent_containers/beaker
|
||||
|
||||
/obj/machinery/computer/pandemic/Initialize()
|
||||
. = ..()
|
||||
@@ -183,7 +183,7 @@
|
||||
var/id = get_virus_id_by_index(text2num(params["index"]))
|
||||
var/datum/disease/advance/A = new(FALSE, SSdisease.archive_diseases[id])
|
||||
var/list/data = list("viruses" = list(A))
|
||||
var/obj/item/weapon/reagent_containers/glass/bottle/B = new(get_turf(src))
|
||||
var/obj/item/reagent_containers/glass/bottle/B = new(get_turf(src))
|
||||
B.name = "[A.name] culture bottle"
|
||||
B.desc = "A small bottle. Contains [A.agent] culture in synthblood medium."
|
||||
B.reagents.add_reagent("blood", 20, data)
|
||||
@@ -194,7 +194,7 @@
|
||||
if("create_vaccine_bottle")
|
||||
var/index = text2num(params["index"])
|
||||
var/datum/disease/D = SSdisease.archive_diseases[get_virus_id_by_index(index)]
|
||||
var/obj/item/weapon/reagent_containers/glass/bottle/B = new(get_turf(src))
|
||||
var/obj/item/reagent_containers/glass/bottle/B = new(get_turf(src))
|
||||
B.name = "[D.name] vaccine bottle"
|
||||
B.reagents.add_reagent("vaccine", 15, list(index))
|
||||
wait = TRUE
|
||||
@@ -216,19 +216,18 @@
|
||||
|
||||
|
||||
/obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER))
|
||||
if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1))
|
||||
. = TRUE //no afterattack
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
if(beaker)
|
||||
to_chat(user, "<span class='warning'>A beaker is already loaded into the machine!</span>")
|
||||
to_chat(user, "<span class='warning'>A container is already loaded into [src]!</span>")
|
||||
return
|
||||
if(!user.drop_item())
|
||||
if(!user.transferItemToLoc(I, src))
|
||||
return
|
||||
|
||||
beaker = I
|
||||
beaker.forceMove(src)
|
||||
to_chat(user, "<span class='notice'>You add the beaker to the machine.</span>")
|
||||
to_chat(user, "<span class='notice'>You insert [I] into [src].</span>")
|
||||
update_icon()
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm (rejected hunks)
|
||||
@@ -177,7 +177,7 @@
|
||||
. = TRUE
|
||||
|
||||
/obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params)
|
||||
- if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER))
|
||||
+ if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1))
|
||||
. = TRUE //no afterattack
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
@@ -11,7 +11,7 @@
|
||||
pass_flags = PASSTABLE
|
||||
resistance_flags = ACID_PROOF
|
||||
var/operating = FALSE
|
||||
var/obj/item/weapon/reagent_containers/beaker = null
|
||||
var/obj/item/reagent_containers/beaker = null
|
||||
var/limit = 10
|
||||
|
||||
var/static/list/blend_items = list(
|
||||
@@ -27,64 +27,64 @@
|
||||
/obj/item/stack/sheet/mineral/silver = list("silver" = 20),
|
||||
/obj/item/stack/sheet/mineral/gold = list("gold" = 20),
|
||||
/obj/item/stack/sheet/bluespace_crystal = list("bluespace" = 20),
|
||||
/obj/item/weapon/ore/bluespace_crystal = list("bluespace" = 20),
|
||||
/obj/item/weapon/grown/nettle/basic = list("sacid" = 0),
|
||||
/obj/item/weapon/grown/nettle/death = list("facid" = 0, "sacid" = 0),
|
||||
/obj/item/weapon/grown/novaflower = list("capsaicin" = 0, "condensedcapsaicin" = 0),
|
||||
/obj/item/ore/bluespace_crystal = list("bluespace" = 20),
|
||||
/obj/item/grown/nettle/basic = list("sacid" = 0),
|
||||
/obj/item/grown/nettle/death = list("facid" = 0, "sacid" = 0),
|
||||
/obj/item/grown/novaflower = list("capsaicin" = 0, "condensedcapsaicin" = 0),
|
||||
//Blender Stuff
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans = list("soymilk" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato = list("ketchup" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/wheat = list("flour" = -5),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/oat = list("flour" = -5),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/rice = list("rice" = -5),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/donut = list("sprinkles" = -2, "sugar" = 1),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/cherries = list("cherryjelly" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries = list("bluecherryjelly" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg = list("eggyolk" = -5),
|
||||
/obj/item/reagent_containers/food/snacks/grown/soybeans = list("soymilk" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/tomato = list("ketchup" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/wheat = list("flour" = -5),
|
||||
/obj/item/reagent_containers/food/snacks/grown/oat = list("flour" = -5),
|
||||
/obj/item/reagent_containers/food/snacks/grown/rice = list("rice" = -5),
|
||||
/obj/item/reagent_containers/food/snacks/donut = list("sprinkles" = -2, "sugar" = 1),
|
||||
/obj/item/reagent_containers/food/snacks/grown/cherries = list("cherryjelly" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/bluecherries = list("bluecherryjelly" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/egg = list("eggyolk" = -5),
|
||||
//Grinder stuff, but only if dry
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta = list("coffeepowder" = 0, "morphine" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee = list("coffeepowder" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra = list("teapowder" = 0, "salglu_solution" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/coffee/robusta = list("coffeepowder" = 0, "morphine" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/coffee = list("coffeepowder" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/tea/astra = list("teapowder" = 0, "salglu_solution" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0),
|
||||
//All types that you can put into the grinder to transfer the reagents to the beaker. !Put all recipes above this.!
|
||||
/obj/item/slime_extract = list(),
|
||||
/obj/item/weapon/reagent_containers/pill = list(),
|
||||
/obj/item/weapon/reagent_containers/food = list(),
|
||||
/obj/item/weapon/reagent_containers/honeycomb = list(),
|
||||
/obj/item/reagent_containers/pill = list(),
|
||||
/obj/item/reagent_containers/food = list(),
|
||||
/obj/item/reagent_containers/honeycomb = list(),
|
||||
/obj/item/toy/crayon = list())
|
||||
|
||||
var/static/list/juice_items = list(
|
||||
//Juicer Stuff
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/corn = list("corn_starch" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato = list("tomatojuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot = list("carrotjuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/berries = list("berryjuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/banana = list("banana" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/potato = list("potato" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon = list("lemonjuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange = list("orangejuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lime = list("limejuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon = list("watermelonjuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/watermelonslice = list("watermelonjuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/berries/poison = list("poisonberryjuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin = list("pumpkinjuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin = list("blumpkinjuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/apple = list("applejuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/grapes = list("grapejuice" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green = list("grapejuice" = 0))
|
||||
/obj/item/reagent_containers/food/snacks/grown/corn = list("corn_starch" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/tomato = list("tomatojuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/carrot = list("carrotjuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/berries = list("berryjuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/banana = list("banana" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/potato = list("potato" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/citrus/lemon = list("lemonjuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/citrus/orange = list("orangejuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/citrus/lime = list("limejuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/watermelon = list("watermelonjuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/watermelonslice = list("watermelonjuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/berries/poison = list("poisonberryjuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/pumpkin = list("pumpkinjuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/blumpkin = list("blumpkinjuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/apple = list("applejuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/grapes = list("grapejuice" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/grapes/green = list("grapejuice" = 0))
|
||||
|
||||
var/static/list/dried_items = list(
|
||||
//Grinder stuff, but only if dry,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta = list("coffeepowder" = 0, "morphine" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee = list("coffeepowder" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra = list("teapowder" = 0, "salglu_solution" = 0),
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0))
|
||||
/obj/item/reagent_containers/food/snacks/grown/coffee/robusta = list("coffeepowder" = 0, "morphine" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/coffee = list("coffeepowder" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/tea/astra = list("teapowder" = 0, "salglu_solution" = 0),
|
||||
/obj/item/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0))
|
||||
|
||||
var/list/holdingitems = list()
|
||||
|
||||
/obj/machinery/reagentgrinder/Initialize()
|
||||
. = ..()
|
||||
beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src)
|
||||
beaker = new /obj/item/reagent_containers/glass/beaker/large(src)
|
||||
beaker.desc += " May contain blended dust. Don't breathe this in!"
|
||||
|
||||
/obj/machinery/reagentgrinder/Destroy()
|
||||
@@ -116,7 +116,7 @@
|
||||
if(default_unfasten_wrench(user, I))
|
||||
return
|
||||
|
||||
if (istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER) )
|
||||
if (istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1) )
|
||||
if (!beaker)
|
||||
if(!user.drop_item())
|
||||
return 1
|
||||
@@ -129,8 +129,8 @@
|
||||
return 1 //no afterattack
|
||||
|
||||
if(is_type_in_list(I, dried_items))
|
||||
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/grown))
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/grown/G = I
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks/grown))
|
||||
var/obj/item/reagent_containers/food/snacks/grown/G = I
|
||||
if(!G.dry)
|
||||
to_chat(user, "<span class='warning'>You must dry that first!</span>")
|
||||
return 1
|
||||
@@ -140,9 +140,9 @@
|
||||
return 1
|
||||
|
||||
//Fill machine with a bag!
|
||||
if(istype(I, /obj/item/weapon/storage/bag))
|
||||
var/obj/item/weapon/storage/bag/B = I
|
||||
for (var/obj/item/weapon/reagent_containers/food/snacks/grown/G in B.contents)
|
||||
if(istype(I, /obj/item/storage/bag))
|
||||
var/obj/item/storage/bag/B = I
|
||||
for (var/obj/item/reagent_containers/food/snacks/grown/G in B.contents)
|
||||
B.remove_from_storage(G, src)
|
||||
holdingitems += G
|
||||
if(holdingitems && holdingitems.len >= limit) //Sanity checking so the blender doesn't overfill
|
||||
@@ -272,7 +272,7 @@
|
||||
holdingitems = list()
|
||||
updateUsrDialog()
|
||||
|
||||
/obj/machinery/reagentgrinder/proc/is_allowed(obj/item/weapon/reagent_containers/O)
|
||||
/obj/machinery/reagentgrinder/proc/is_allowed(obj/item/reagent_containers/O)
|
||||
for (var/i in blend_items)
|
||||
if(istype(O, i))
|
||||
return 1
|
||||
@@ -283,17 +283,17 @@
|
||||
if (istype(O, i))
|
||||
return blend_items[i]
|
||||
|
||||
/obj/machinery/reagentgrinder/proc/get_allowed_snack_by_id(obj/item/weapon/reagent_containers/food/snacks/O)
|
||||
/obj/machinery/reagentgrinder/proc/get_allowed_snack_by_id(obj/item/reagent_containers/food/snacks/O)
|
||||
for(var/i in blend_items)
|
||||
if(istype(O, i))
|
||||
return blend_items[i]
|
||||
|
||||
/obj/machinery/reagentgrinder/proc/get_allowed_juice_by_id(obj/item/weapon/reagent_containers/food/snacks/O)
|
||||
/obj/machinery/reagentgrinder/proc/get_allowed_juice_by_id(obj/item/reagent_containers/food/snacks/O)
|
||||
for(var/i in juice_items)
|
||||
if(istype(O, i))
|
||||
return juice_items[i]
|
||||
|
||||
/obj/machinery/reagentgrinder/proc/get_grownweapon_amount(obj/item/weapon/grown/O)
|
||||
/obj/machinery/reagentgrinder/proc/get_grownweapon_amount(obj/item/grown/O)
|
||||
if (!istype(O) || !O.seed)
|
||||
return 5
|
||||
else if (O.seed.potency == -1)
|
||||
@@ -301,7 +301,7 @@
|
||||
else
|
||||
return round(O.seed.potency)
|
||||
|
||||
/obj/machinery/reagentgrinder/proc/get_juice_amount(obj/item/weapon/reagent_containers/food/snacks/grown/O)
|
||||
/obj/machinery/reagentgrinder/proc/get_juice_amount(obj/item/reagent_containers/food/snacks/grown/O)
|
||||
if (!istype(O) || !O.seed)
|
||||
return 5
|
||||
else if (O.seed.potency == -1)
|
||||
@@ -330,7 +330,7 @@
|
||||
updateUsrDialog()
|
||||
|
||||
//Snacks
|
||||
for (var/obj/item/weapon/reagent_containers/food/snacks/O in holdingitems)
|
||||
for (var/obj/item/reagent_containers/food/snacks/O in holdingitems)
|
||||
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
|
||||
break
|
||||
|
||||
@@ -368,7 +368,7 @@
|
||||
updateUsrDialog()
|
||||
|
||||
//Snacks and Plants
|
||||
for (var/obj/item/weapon/reagent_containers/food/snacks/O in holdingitems)
|
||||
for (var/obj/item/reagent_containers/food/snacks/O in holdingitems)
|
||||
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
|
||||
break
|
||||
|
||||
@@ -415,7 +415,7 @@
|
||||
remove_object(O)
|
||||
break
|
||||
//Plants
|
||||
for (var/obj/item/weapon/grown/O in holdingitems)
|
||||
for (var/obj/item/grown/O in holdingitems)
|
||||
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
|
||||
break
|
||||
var/allowed = get_allowed_by_id(O)
|
||||
@@ -445,7 +445,7 @@
|
||||
remove_object(O)
|
||||
|
||||
//Everything else - Transfers reagents from it into beaker
|
||||
for (var/obj/item/weapon/reagent_containers/O in holdingitems)
|
||||
for (var/obj/item/reagent_containers/O in holdingitems)
|
||||
if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
|
||||
break
|
||||
var/amount = O.reagents.total_volume
|
||||
@@ -486,7 +486,7 @@
|
||||
//Recipe to make Butter
|
||||
while(beaker.reagents.get_reagent_amount("milk") >= 15)
|
||||
beaker.reagents.remove_reagent("milk", 15)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/butter(src.loc)
|
||||
new /obj/item/reagent_containers/food/snacks/butter(src.loc)
|
||||
//Recipe to make Mayonnaise
|
||||
if (beaker.reagents.has_reagent("eggyolk"))
|
||||
var/amount = beaker.reagents.get_reagent_amount("eggyolk")
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm (rejected hunks)
|
||||
@@ -116,7 +116,7 @@
|
||||
if(default_unfasten_wrench(user, I))
|
||||
return
|
||||
|
||||
- if (istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER) )
|
||||
+ if (istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1) )
|
||||
if (!beaker)
|
||||
if(!user.drop_item())
|
||||
return 1
|
||||
@@ -43,13 +43,13 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
return ..() || .
|
||||
|
||||
/datum/reagent/consumable/ethanol/reaction_obj(obj/O, reac_volume)
|
||||
if(istype(O, /obj/item/weapon/paper))
|
||||
var/obj/item/weapon/paper/paperaffected = O
|
||||
if(istype(O, /obj/item/paper))
|
||||
var/obj/item/paper/paperaffected = O
|
||||
paperaffected.clearpaper()
|
||||
to_chat(usr, "<span class='notice'>[paperaffected]'s ink washes away.</span>")
|
||||
if(istype(O, /obj/item/weapon/book))
|
||||
if(istype(O, /obj/item/book))
|
||||
if(reac_volume >= 5)
|
||||
var/obj/item/weapon/book/affectedbook = O
|
||||
var/obj/item/book/affectedbook = O
|
||||
affectedbook.dat = null
|
||||
to_chat(usr, "<span class='notice'>Through thorough application, you wash away [affectedbook]'s writing.</span>")
|
||||
else
|
||||
@@ -1054,7 +1054,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
|
||||
|
||||
/datum/reagent/consumable/ethanol/fetching_fizz/on_mob_life(mob/living/M)
|
||||
for(var/obj/item/weapon/ore/O in orange(3, M))
|
||||
for(var/obj/item/ore/O in orange(3, M))
|
||||
step_towards(O, get_turf(M))
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
M.SetUnconscious(0, 0)
|
||||
M.silent = 0
|
||||
M.dizziness = 0
|
||||
M.disgust = 0
|
||||
M.drowsyness = 0
|
||||
M.stuttering = 0
|
||||
M.slurring = 0
|
||||
|
||||
@@ -155,8 +155,8 @@
|
||||
O.extinguish()
|
||||
O.acid_level = 0
|
||||
// Monkey cube
|
||||
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/monkeycube))
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = O
|
||||
if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube))
|
||||
var/obj/item/reagent_containers/food/snacks/monkeycube/cube = O
|
||||
cube.Expand()
|
||||
|
||||
// Dehydrated carp
|
||||
|
||||
@@ -106,6 +106,11 @@
|
||||
metabolization_rate = 0.05
|
||||
taste_description = "salt"
|
||||
|
||||
/datum/reagent/blackpowder/on_mob_life(mob/living/M)
|
||||
..()
|
||||
if(isplasmaman(M))
|
||||
M.hallucination += 10
|
||||
|
||||
/datum/reagent/blackpowder/on_ex_act()
|
||||
var/location = get_turf(holder.my_atom)
|
||||
var/datum/effect_system/reagents_explosion/e = new()
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
/datum/chemical_reaction/soapification/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
for(var/i = 1, i <= created_volume, i++)
|
||||
new /obj/item/weapon/soap/homemade(location)
|
||||
new /obj/item/soap/homemade(location)
|
||||
|
||||
/datum/chemical_reaction/candlefication
|
||||
name = "Candlefication"
|
||||
@@ -108,7 +108,7 @@
|
||||
/datum/chemical_reaction/meatification/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
for(var/i = 1, i <= created_volume, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/meatproduct(location)
|
||||
new /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct(location)
|
||||
return
|
||||
|
||||
/datum/chemical_reaction/carbondioxide
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
/datum/chemical_reaction/slime/slimemonkey/on_reaction(datum/reagents/holder)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom))
|
||||
new /obj/item/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
//Green
|
||||
@@ -157,26 +157,26 @@
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimebork/proc/getborks()
|
||||
var/list/blocked = list(/obj/item/weapon/reagent_containers/food/snacks,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/store/bread,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/breadslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/store/cake,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cakeslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/store,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/pie,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/kebab,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/pizza,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/pizzaslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/salad,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat/slab,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/soup,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom,
|
||||
var/list/blocked = list(/obj/item/reagent_containers/food/snacks,
|
||||
/obj/item/reagent_containers/food/snacks/store/bread,
|
||||
/obj/item/reagent_containers/food/snacks/breadslice,
|
||||
/obj/item/reagent_containers/food/snacks/store/cake,
|
||||
/obj/item/reagent_containers/food/snacks/cakeslice,
|
||||
/obj/item/reagent_containers/food/snacks/store,
|
||||
/obj/item/reagent_containers/food/snacks/pie,
|
||||
/obj/item/reagent_containers/food/snacks/kebab,
|
||||
/obj/item/reagent_containers/food/snacks/pizza,
|
||||
/obj/item/reagent_containers/food/snacks/pizzaslice,
|
||||
/obj/item/reagent_containers/food/snacks/salad,
|
||||
/obj/item/reagent_containers/food/snacks/meat,
|
||||
/obj/item/reagent_containers/food/snacks/meat/slab,
|
||||
/obj/item/reagent_containers/food/snacks/soup,
|
||||
/obj/item/reagent_containers/food/snacks/grown,
|
||||
/obj/item/reagent_containers/food/snacks/grown/mushroom,
|
||||
)
|
||||
blocked |= typesof(/obj/item/weapon/reagent_containers/food/snacks/customizable)
|
||||
blocked |= typesof(/obj/item/reagent_containers/food/snacks/customizable)
|
||||
|
||||
return typesof(/obj/item/weapon/reagent_containers/food/snacks) - blocked
|
||||
return typesof(/obj/item/reagent_containers/food/snacks) - blocked
|
||||
|
||||
/datum/chemical_reaction/slime/slimebork/drinks
|
||||
name = "Slime Bork 2"
|
||||
@@ -184,7 +184,7 @@
|
||||
required_reagents = list("water" = 1)
|
||||
|
||||
/datum/chemical_reaction/slime/slimebork/drinks/getborks()
|
||||
return subtypesof(/obj/item/weapon/reagent_containers/food/drinks)
|
||||
return subtypesof(/obj/item/reagent_containers/food/drinks)
|
||||
|
||||
//Blue
|
||||
/datum/chemical_reaction/slime/slimefrost
|
||||
@@ -310,7 +310,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimecell/on_reaction(datum/reagents/holder, created_volume)
|
||||
new /obj/item/weapon/stock_parts/cell/high/slime(get_turf(holder.my_atom))
|
||||
new /obj/item/stock_parts/cell/high/slime(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimeglow
|
||||
@@ -510,7 +510,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimecrystal/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/obj/item/weapon/ore/bluespace_crystal/BC = new (get_turf(holder.my_atom))
|
||||
var/obj/item/ore/bluespace_crystal/BC = new (get_turf(holder.my_atom))
|
||||
BC.visible_message("<span class='notice'>The [BC.name] appears out of thin air!</span>")
|
||||
..()
|
||||
|
||||
@@ -584,7 +584,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimepaint/on_reaction(datum/reagents/holder)
|
||||
var/chosen = pick(subtypesof(/obj/item/weapon/paint))
|
||||
var/chosen = pick(subtypesof(/obj/item/paint))
|
||||
new chosen(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
@@ -632,6 +632,6 @@
|
||||
required_container = /obj/item/slime_extract/rainbow
|
||||
|
||||
/datum/chemical_reaction/slime/flight_potion/on_reaction(datum/reagents/holder)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/potion/flight(get_turf(holder.my_atom))
|
||||
new /obj/item/reagent_containers/glass/bottle/potion/flight(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user