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))
|
||||
..()
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/reagent_containers
|
||||
/obj/item/reagent_containers
|
||||
name = "Container"
|
||||
desc = "..."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
@@ -12,7 +12,7 @@
|
||||
var/disease_amount = 20
|
||||
var/spillable = 0
|
||||
|
||||
/obj/item/weapon/reagent_containers/Initialize(mapload, vol)
|
||||
/obj/item/reagent_containers/Initialize(mapload, vol)
|
||||
. = ..()
|
||||
if(isnum(vol) && vol > 0)
|
||||
volume = vol
|
||||
@@ -24,11 +24,11 @@
|
||||
|
||||
add_initial_reagents()
|
||||
|
||||
/obj/item/weapon/reagent_containers/proc/add_initial_reagents()
|
||||
/obj/item/reagent_containers/proc/add_initial_reagents()
|
||||
if(list_reagents)
|
||||
reagents.add_reagent_list(list_reagents)
|
||||
|
||||
/obj/item/weapon/reagent_containers/attack_self(mob/user)
|
||||
/obj/item/reagent_containers/attack_self(mob/user)
|
||||
if(possible_transfer_amounts.len)
|
||||
var/i=0
|
||||
for(var/A in possible_transfer_amounts)
|
||||
@@ -41,14 +41,14 @@
|
||||
to_chat(user, "<span class='notice'>[src]'s transfer amount is now [amount_per_transfer_from_this] units.</span>")
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/attack(mob/M, mob/user, def_zone)
|
||||
/obj/item/reagent_containers/attack(mob/M, mob/user, def_zone)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/afterattack(obj/target, mob/user , flag)
|
||||
/obj/item/reagent_containers/afterattack(obj/target, mob/user , flag)
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/proc/reagentlist(obj/item/weapon/reagent_containers/snack) //Attack logs for regents in pills
|
||||
/obj/item/reagent_containers/proc/reagentlist(obj/item/reagent_containers/snack) //Attack logs for regents in pills
|
||||
var/data
|
||||
if(snack.reagents.reagent_list && snack.reagents.reagent_list.len) //find a reagent list if there is and check if it has entries
|
||||
for (var/datum/reagent/R in snack.reagents.reagent_list) //no reagents will be left behind
|
||||
@@ -56,7 +56,7 @@
|
||||
return data
|
||||
else return "No reagents"
|
||||
|
||||
/obj/item/weapon/reagent_containers/proc/canconsume(mob/eater, mob/user)
|
||||
/obj/item/reagent_containers/proc/canconsume(mob/eater, mob/user)
|
||||
if(!iscarbon(eater))
|
||||
return 0
|
||||
var/mob/living/carbon/C = eater
|
||||
@@ -71,23 +71,23 @@
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/ex_act()
|
||||
/obj/item/reagent_containers/ex_act()
|
||||
if(reagents)
|
||||
for(var/datum/reagent/R in reagents.reagent_list)
|
||||
R.on_ex_act()
|
||||
if(!QDELETED(src))
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/fire_act(exposed_temperature, exposed_volume)
|
||||
/obj/item/reagent_containers/fire_act(exposed_temperature, exposed_volume)
|
||||
reagents.chem_temp += 30
|
||||
reagents.handle_reactions()
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/throw_impact(atom/target)
|
||||
/obj/item/reagent_containers/throw_impact(atom/target)
|
||||
. = ..()
|
||||
SplashReagents(target, TRUE)
|
||||
|
||||
/obj/item/weapon/reagent_containers/proc/SplashReagents(atom/target, thrown = FALSE)
|
||||
/obj/item/reagent_containers/proc/SplashReagents(atom/target, thrown = FALSE)
|
||||
if(!reagents || !reagents.total_volume || !spillable)
|
||||
return
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
|
||||
reagents.clear_reagents()
|
||||
|
||||
/obj/item/weapon/reagent_containers/microwave_act(obj/machinery/microwave/M)
|
||||
/obj/item/reagent_containers/microwave_act(obj/machinery/microwave/M)
|
||||
if(is_open_container())
|
||||
reagents.chem_temp = max(reagents.chem_temp, 1000)
|
||||
reagents.handle_reactions()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/reagent_containers/blood
|
||||
/obj/item/reagent_containers/blood
|
||||
name = "blood pack"
|
||||
desc = "Contains blood used for transfusion. Must be attached to an IV drip."
|
||||
icon = 'icons/obj/bloodpack.dmi'
|
||||
@@ -7,13 +7,13 @@
|
||||
var/blood_type = null
|
||||
var/labelled = 0
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/Initialize()
|
||||
/obj/item/reagent_containers/blood/Initialize()
|
||||
. = ..()
|
||||
if(blood_type != null)
|
||||
reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null))
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/on_reagent_change()
|
||||
/obj/item/reagent_containers/blood/on_reagent_change()
|
||||
if(reagents)
|
||||
var/datum/reagent/blood/B = reagents.has_reagent("blood")
|
||||
if(B && B.data && B.data["blood_type"])
|
||||
@@ -23,14 +23,14 @@
|
||||
update_pack_name()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/proc/update_pack_name()
|
||||
/obj/item/reagent_containers/blood/proc/update_pack_name()
|
||||
if(!labelled)
|
||||
if(blood_type)
|
||||
name = "blood pack - [blood_type]"
|
||||
else
|
||||
name = "blood pack"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/update_icon()
|
||||
/obj/item/reagent_containers/blood/update_icon()
|
||||
var/percent = round((reagents.total_volume / volume) * 100)
|
||||
switch(percent)
|
||||
if(0 to 9)
|
||||
@@ -40,37 +40,37 @@
|
||||
if(51 to INFINITY)
|
||||
icon_state = "full"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/random/Initialize()
|
||||
/obj/item/reagent_containers/blood/random/Initialize()
|
||||
blood_type = pick("A+", "A-", "B+", "B-", "O+", "O-", "L")
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/APlus
|
||||
/obj/item/reagent_containers/blood/APlus
|
||||
blood_type = "A+"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/AMinus
|
||||
/obj/item/reagent_containers/blood/AMinus
|
||||
blood_type = "A-"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/BPlus
|
||||
/obj/item/reagent_containers/blood/BPlus
|
||||
blood_type = "B+"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/BMinus
|
||||
/obj/item/reagent_containers/blood/BMinus
|
||||
blood_type = "B-"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/OPlus
|
||||
/obj/item/reagent_containers/blood/OPlus
|
||||
blood_type = "O+"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/OMinus
|
||||
/obj/item/reagent_containers/blood/OMinus
|
||||
blood_type = "O-"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/lizard
|
||||
/obj/item/reagent_containers/blood/lizard
|
||||
blood_type = "L"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/empty
|
||||
/obj/item/reagent_containers/blood/empty
|
||||
name = "blood pack"
|
||||
icon_state = "empty"
|
||||
|
||||
/obj/item/weapon/reagent_containers/blood/attackby(obj/item/I, mob/user, params)
|
||||
if (istype(I, /obj/item/weapon/pen) || istype(I, /obj/item/toy/crayon))
|
||||
/obj/item/reagent_containers/blood/attackby(obj/item/I, mob/user, params)
|
||||
if (istype(I, /obj/item/pen) || istype(I, /obj/item/toy/crayon))
|
||||
|
||||
var/t = stripped_input(user, "What would you like to label the blood pack?", name, null, 53)
|
||||
if(!user.canUseTopic(src))
|
||||
|
||||
@@ -8,7 +8,7 @@ Nothing to do with hydroponics in here. Sorry to dissapoint you.
|
||||
/*
|
||||
Borg Hypospray
|
||||
*/
|
||||
/obj/item/weapon/reagent_containers/borghypo
|
||||
/obj/item/reagent_containers/borghypo
|
||||
name = "cyborg hypospray"
|
||||
desc = "An advanced chemical synthesizer and injection system, designed for heavy-duty medical equipment."
|
||||
icon = 'icons/obj/syringe.dmi'
|
||||
@@ -32,7 +32,7 @@ Borg Hypospray
|
||||
//Used as list for input() in shakers.
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/Initialize()
|
||||
/obj/item/reagent_containers/borghypo/Initialize()
|
||||
. = ..()
|
||||
|
||||
for(var/R in reagent_ids)
|
||||
@@ -41,12 +41,12 @@ Borg Hypospray
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/Destroy()
|
||||
/obj/item/reagent_containers/borghypo/Destroy()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/process() //Every [recharge_time] seconds, recharge some reagents for the cyborg
|
||||
/obj/item/reagent_containers/borghypo/process() //Every [recharge_time] seconds, recharge some reagents for the cyborg
|
||||
charge_tick++
|
||||
if(charge_tick >= recharge_time)
|
||||
regenerate_reagents()
|
||||
@@ -57,14 +57,14 @@ Borg Hypospray
|
||||
|
||||
// Purely for testing purposes I swear~ //don't lie to me
|
||||
/*
|
||||
/obj/item/weapon/reagent_containers/borghypo/verb/add_cyanide()
|
||||
/obj/item/reagent_containers/borghypo/verb/add_cyanide()
|
||||
set src in world
|
||||
add_reagent("cyanide")
|
||||
*/
|
||||
|
||||
|
||||
// Use this to add more chemicals for the borghypo to produce.
|
||||
/obj/item/weapon/reagent_containers/borghypo/proc/add_reagent(reagent)
|
||||
/obj/item/reagent_containers/borghypo/proc/add_reagent(reagent)
|
||||
reagent_ids |= reagent
|
||||
var/datum/reagents/RG = new(30)
|
||||
RG.my_atom = src
|
||||
@@ -75,7 +75,7 @@ Borg Hypospray
|
||||
|
||||
modes[reagent] = modes.len + 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/proc/regenerate_reagents()
|
||||
/obj/item/reagent_containers/borghypo/proc/regenerate_reagents()
|
||||
if(iscyborg(src.loc))
|
||||
var/mob/living/silicon/robot/R = src.loc
|
||||
if(R && R.cell)
|
||||
@@ -85,7 +85,7 @@ Borg Hypospray
|
||||
R.cell.use(charge_cost) //Take power from borg...
|
||||
RG.add_reagent(reagent_ids[i], 5) //And fill hypo with reagent.
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/attack(mob/living/carbon/M, mob/user)
|
||||
/obj/item/reagent_containers/borghypo/attack(mob/living/carbon/M, mob/user)
|
||||
var/datum/reagents/R = reagent_list[mode]
|
||||
if(!R.total_volume)
|
||||
to_chat(user, "<span class='notice'>The injector is empty.</span>")
|
||||
@@ -106,7 +106,7 @@ Borg Hypospray
|
||||
injected += RG.name
|
||||
add_logs(user, M, "injected", src, "(CHEMICALS: [english_list(injected)])")
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/attack_self(mob/user)
|
||||
/obj/item/reagent_containers/borghypo/attack_self(mob/user)
|
||||
var/chosen_reagent = modes[input(user, "What reagent do you want to dispense?") as null|anything in reagent_ids]
|
||||
if(!chosen_reagent)
|
||||
return
|
||||
@@ -116,12 +116,12 @@ Borg Hypospray
|
||||
to_chat(user, "<span class='notice'>[src] is now dispensing '[R.name]'.</span>")
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/examine(mob/user)
|
||||
/obj/item/reagent_containers/borghypo/examine(mob/user)
|
||||
usr = user
|
||||
..()
|
||||
DescribeContents() //Because using the standardized reagents datum was just too cool for whatever fuckwit wrote this
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/proc/DescribeContents()
|
||||
/obj/item/reagent_containers/borghypo/proc/DescribeContents()
|
||||
var/empty = 1
|
||||
|
||||
for(var/datum/reagents/RS in reagent_list)
|
||||
@@ -133,12 +133,12 @@ Borg Hypospray
|
||||
if(empty)
|
||||
to_chat(usr, "<span class='warning'>It is currently empty! Allow some time for the internal syntheszier to produce more.</span>")
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/hacked
|
||||
/obj/item/reagent_containers/borghypo/hacked
|
||||
icon_state = "borghypo_s"
|
||||
reagent_ids = list ("facid", "mutetoxin", "cyanide", "sodium_thiopental", "heparin", "lexorin")
|
||||
accepts_reagent_upgrades = FALSE
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/syndicate
|
||||
/obj/item/reagent_containers/borghypo/syndicate
|
||||
name = "syndicate cyborg hypospray"
|
||||
desc = "An experimental piece of Syndicate technology used to produce powerful restorative nanites used to very quickly restore injuries of all types. Also metabolizes potassium iodide, for radiation poisoning, and morphine, for offense."
|
||||
icon_state = "borghypo_s"
|
||||
@@ -151,7 +151,7 @@ Borg Hypospray
|
||||
/*
|
||||
Borg Shaker
|
||||
*/
|
||||
/obj/item/weapon/reagent_containers/borghypo/borgshaker
|
||||
/obj/item/reagent_containers/borghypo/borgshaker
|
||||
name = "cyborg shaker"
|
||||
desc = "An advanced drink synthesizer and mixer."
|
||||
icon = 'icons/obj/drinks.dmi'
|
||||
@@ -163,10 +163,10 @@ Borg Shaker
|
||||
|
||||
reagent_ids = list("beer", "orangejuice", "limejuice", "tomatojuice", "cola", "tonic", "sodawater", "ice", "cream", "whiskey", "vodka", "rum", "gin", "tequila", "vermouth", "wine", "kahlua", "cognac", "ale")
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/borgshaker/attack(mob/M, mob/user)
|
||||
/obj/item/reagent_containers/borghypo/borgshaker/attack(mob/M, mob/user)
|
||||
return //Can't inject stuff with a shaker, can we? //not with that attitude
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/borgshaker/regenerate_reagents()
|
||||
/obj/item/reagent_containers/borghypo/borgshaker/regenerate_reagents()
|
||||
if(iscyborg(src.loc))
|
||||
var/mob/living/silicon/robot/R = src.loc
|
||||
if(R && R.cell)
|
||||
@@ -177,7 +177,7 @@ Borg Shaker
|
||||
R.cell.use(charge_cost)
|
||||
RG.add_reagent(reagent_ids[valueofi], 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/borgshaker/afterattack(obj/target, mob/user, proximity)
|
||||
/obj/item/reagent_containers/borghypo/borgshaker/afterattack(obj/target, mob/user, proximity)
|
||||
if(!proximity) return
|
||||
|
||||
else if(target.is_open_container() && target.reagents)
|
||||
@@ -193,7 +193,7 @@ Borg Shaker
|
||||
var/trans = R.trans_to(target, amount_per_transfer_from_this)
|
||||
to_chat(user, "<span class='notice'>You transfer [trans] unit\s of the solution to [target].</span>")
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/borgshaker/DescribeContents()
|
||||
/obj/item/reagent_containers/borghypo/borgshaker/DescribeContents()
|
||||
var/empty = 1
|
||||
|
||||
var/datum/reagents/RS = reagent_list[mode]
|
||||
@@ -205,7 +205,7 @@ Borg Shaker
|
||||
if(empty)
|
||||
to_chat(usr, "<span class='warning'>It is currently empty! Please allow some time for the synthesizer to produce more.</span>")
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/borgshaker/hacked
|
||||
/obj/item/reagent_containers/borghypo/borgshaker/hacked
|
||||
..()
|
||||
name = "cyborg shaker"
|
||||
desc = "Will mix drinks that knock them dead."
|
||||
@@ -218,19 +218,19 @@ Borg Shaker
|
||||
|
||||
reagent_ids = list("beer2")
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/peace
|
||||
/obj/item/reagent_containers/borghypo/peace
|
||||
name = "Peace Hypospray"
|
||||
|
||||
reagent_ids = list("dizzysolution","tiresolution")
|
||||
accepts_reagent_upgrades = FALSE
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/peace/hacked
|
||||
/obj/item/reagent_containers/borghypo/peace/hacked
|
||||
desc = "Everything's peaceful in death!"
|
||||
icon_state = "borghypo_s"
|
||||
reagent_ids = list("dizzysolution","tiresolution","tirizene","sulfonal","sodium_thiopental","cyanide","neurotoxin2")
|
||||
accepts_reagent_upgrades = FALSE
|
||||
|
||||
/obj/item/weapon/reagent_containers/borghypo/epi
|
||||
/obj/item/reagent_containers/borghypo/epi
|
||||
name = "epinephrine injector"
|
||||
desc = "An advanced chemical synthesizer and injection system, designed to stabilize patients.."
|
||||
reagent_ids = list("epinephrine")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//Not to be confused with /obj/item/weapon/reagent_containers/food/drinks/bottle
|
||||
//Not to be confused with /obj/item/reagent_containers/food/drinks/bottle
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle
|
||||
/obj/item/reagent_containers/glass/bottle
|
||||
name = "bottle"
|
||||
desc = "A small bottle."
|
||||
icon_state = "bottle"
|
||||
@@ -9,16 +9,16 @@
|
||||
volume = 30
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/Initialize()
|
||||
/obj/item/reagent_containers/glass/bottle/Initialize()
|
||||
. = ..()
|
||||
if(!icon_state)
|
||||
icon_state = "bottle"
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/on_reagent_change()
|
||||
/obj/item/reagent_containers/glass/bottle/on_reagent_change()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/update_icon()
|
||||
/obj/item/reagent_containers/glass/bottle/update_icon()
|
||||
cut_overlays()
|
||||
if(reagents.total_volume)
|
||||
var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "[icon_state]-10")
|
||||
@@ -40,316 +40,322 @@
|
||||
add_overlay(filling)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/epinephrine
|
||||
/obj/item/reagent_containers/glass/bottle/epinephrine
|
||||
name = "epinephrine bottle"
|
||||
desc = "A small bottle. Contains epinephrine - used to stabilize patients."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("epinephrine" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/toxin
|
||||
/obj/item/reagent_containers/glass/bottle/toxin
|
||||
name = "toxin bottle"
|
||||
desc = "A small bottle of toxins. Do not drink, it is poisonous."
|
||||
icon_state = "bottle12"
|
||||
list_reagents = list("toxin" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/cyanide
|
||||
/obj/item/reagent_containers/glass/bottle/cyanide
|
||||
name = "cyanide bottle"
|
||||
desc = "A small bottle of cyanide. Bitter almonds?"
|
||||
icon_state = "bottle12"
|
||||
list_reagents = list("cyanide" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/spewium
|
||||
/obj/item/reagent_containers/glass/bottle/spewium
|
||||
name = "spewium bottle"
|
||||
desc = "A small bottle of spewium."
|
||||
icon_state = "bottle12"
|
||||
list_reagents = list("spewium" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/morphine
|
||||
/obj/item/reagent_containers/glass/bottle/morphine
|
||||
name = "morphine bottle"
|
||||
desc = "A small bottle of morphine."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "bottle20"
|
||||
list_reagents = list("morphine" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate
|
||||
/obj/item/reagent_containers/glass/bottle/chloralhydrate
|
||||
name = "Chloral Hydrate Bottle"
|
||||
desc = "A small bottle of Choral Hydrate. Mickey's Favorite!"
|
||||
icon_state = "bottle20"
|
||||
list_reagents = list("chloralhydrate" = 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/charcoal
|
||||
/obj/item/reagent_containers/glass/bottle/charcoal
|
||||
name = "antitoxin bottle"
|
||||
desc = "A small bottle of charcoal."
|
||||
icon_state = "bottle17"
|
||||
list_reagents = list("charcoal" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/mutagen
|
||||
/obj/item/reagent_containers/glass/bottle/mutagen
|
||||
name = "unstable mutagen bottle"
|
||||
desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact."
|
||||
icon_state = "bottle20"
|
||||
list_reagents = list("mutagen" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/plasma
|
||||
/obj/item/reagent_containers/glass/bottle/plasma
|
||||
name = "liquid plasma bottle"
|
||||
desc = "A small bottle of liquid plasma. Extremely toxic and reacts with micro-organisms inside blood."
|
||||
icon_state = "bottle8"
|
||||
list_reagents = list("plasma" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/synaptizine
|
||||
/obj/item/reagent_containers/glass/bottle/synaptizine
|
||||
name = "synaptizine bottle"
|
||||
desc = "A small bottle of synaptizine."
|
||||
icon_state = "bottle20"
|
||||
list_reagents = list("synaptizine" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/formaldehyde
|
||||
/obj/item/reagent_containers/glass/bottle/formaldehyde
|
||||
name = "formaldehyde bottle"
|
||||
desc = "A small bottle of formaldehyde."
|
||||
icon_state = "bottle20"
|
||||
list_reagents = list("formaldehyde" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/ammonia
|
||||
/obj/item/reagent_containers/glass/bottle/ammonia
|
||||
name = "ammonia bottle"
|
||||
desc = "A small bottle of ammonia."
|
||||
icon_state = "bottle20"
|
||||
list_reagents = list("ammonia" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/diethylamine
|
||||
/obj/item/reagent_containers/glass/bottle/diethylamine
|
||||
name = "diethylamine bottle"
|
||||
desc = "A small bottle of diethylamine."
|
||||
icon_state = "bottle17"
|
||||
list_reagents = list("diethylamine" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/facid
|
||||
/obj/item/reagent_containers/glass/bottle/facid
|
||||
name = "Fluorosulfuric Acid Bottle"
|
||||
desc = "A small bottle. Contains a small amount of Fluorosulfuric Acid"
|
||||
icon_state = "bottle17"
|
||||
list_reagents = list("facid" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine
|
||||
/obj/item/reagent_containers/glass/bottle/adminordrazine
|
||||
name = "Adminordrazine Bottle"
|
||||
desc = "A small bottle. Contains the liquid essence of the gods."
|
||||
icon = 'icons/obj/drinks.dmi'
|
||||
icon_state = "holyflask"
|
||||
list_reagents = list("adminordrazine" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/capsaicin
|
||||
/obj/item/reagent_containers/glass/bottle/capsaicin
|
||||
name = "Capsaicin Bottle"
|
||||
desc = "A small bottle. Contains hot sauce."
|
||||
icon_state = "bottle3"
|
||||
list_reagents = list("capsaicin" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/frostoil
|
||||
/obj/item/reagent_containers/glass/bottle/frostoil
|
||||
name = "Frost Oil Bottle"
|
||||
desc = "A small bottle. Contains cold sauce."
|
||||
icon_state = "bottle17"
|
||||
list_reagents = list("frostoil" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/traitor
|
||||
/obj/item/reagent_containers/glass/bottle/traitor
|
||||
name = "syndicate bottle"
|
||||
desc = "A small bottle. Contains a random nasty chemical."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "bottle16"
|
||||
var/extra_reagent = null
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/traitor/Initialize()
|
||||
/obj/item/reagent_containers/glass/bottle/traitor/Initialize()
|
||||
. = ..()
|
||||
extra_reagent = pick("polonium", "histamine", "formaldehyde", "venom", "neurotoxin2", "cyanide")
|
||||
reagents.add_reagent("[extra_reagent]", 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/polonium
|
||||
/obj/item/reagent_containers/glass/bottle/polonium
|
||||
name = "polonium bottle"
|
||||
desc = "A small bottle. Contains Polonium."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("polonium" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/venom
|
||||
/obj/item/reagent_containers/glass/bottle/magillitis
|
||||
name = "magillitis bottle"
|
||||
desc = "A small bottle. Contains a serum known only as 'magillitis'."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("magillitis" = 5)
|
||||
|
||||
/obj/item/reagent_containers/glass/bottle/venom
|
||||
name = "venom bottle"
|
||||
desc = "A small bottle. Contains Venom."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("venom" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/neurotoxin2
|
||||
/obj/item/reagent_containers/glass/bottle/neurotoxin2
|
||||
name = "neurotoxin bottle"
|
||||
desc = "A small bottle. Contains Neurotoxin."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("neurotoxin2" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/formaldehyde
|
||||
/obj/item/reagent_containers/glass/bottle/formaldehyde
|
||||
name = "formaldehyde bottle"
|
||||
desc = "A small bottle. Contains Formaldehyde."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("formaldehyde" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/initropidril
|
||||
/obj/item/reagent_containers/glass/bottle/initropidril
|
||||
name = "initropidril bottle"
|
||||
desc = "A small bottle. Contains initropidril."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("initropidril" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/pancuronium
|
||||
/obj/item/reagent_containers/glass/bottle/pancuronium
|
||||
name = "pancuronium bottle"
|
||||
desc = "A small bottle. Contains pancuronium."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("pancuronium" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/sodium_thiopental
|
||||
/obj/item/reagent_containers/glass/bottle/sodium_thiopental
|
||||
name = "sodium thiopental bottle"
|
||||
desc = "A small bottle. Contains sodium thiopental."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("sodium_thiopental" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/coniine
|
||||
/obj/item/reagent_containers/glass/bottle/coniine
|
||||
name = "coniine bottle"
|
||||
desc = "A small bottle. Contains coniine."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("coniine" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/curare
|
||||
/obj/item/reagent_containers/glass/bottle/curare
|
||||
name = "curare bottle"
|
||||
desc = "A small bottle. Contains curare."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("curare" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/amanitin
|
||||
/obj/item/reagent_containers/glass/bottle/amanitin
|
||||
name = "amanitin bottle"
|
||||
desc = "A small bottle. Contains amanitin."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("amanitin" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/histamine
|
||||
/obj/item/reagent_containers/glass/bottle/histamine
|
||||
name = "histamine bottle"
|
||||
desc = "A small bottle. Contains Histamine."
|
||||
icon_state = "bottle16"
|
||||
list_reagents = list("histamine" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/diphenhydramine
|
||||
/obj/item/reagent_containers/glass/bottle/diphenhydramine
|
||||
name = "antihistamine bottle"
|
||||
desc = "A small bottle of diphenhydramine."
|
||||
icon_state = "bottle20"
|
||||
list_reagents = list("diphenhydramine" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/potass_iodide
|
||||
/obj/item/reagent_containers/glass/bottle/potass_iodide
|
||||
name = "anti-radiation bottle"
|
||||
desc = "A small bottle of potassium iodide."
|
||||
icon_state = "bottle11"
|
||||
list_reagents = list("potass_iodide" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/salglu_solution
|
||||
/obj/item/reagent_containers/glass/bottle/salglu_solution
|
||||
name = "saline-glucose solution bottle"
|
||||
desc = "A small bottle of saline-glucose solution."
|
||||
icon_state = "bottle1"
|
||||
list_reagents = list("salglu_solution" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/atropine
|
||||
/obj/item/reagent_containers/glass/bottle/atropine
|
||||
name = "atropine bottle"
|
||||
desc = "A small bottle of atropine."
|
||||
icon_state = "bottle12"
|
||||
list_reagents = list("atropine" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/romerol
|
||||
/obj/item/reagent_containers/glass/bottle/romerol
|
||||
name = "romerol bottle"
|
||||
desc = "A small bottle of Romerol. The REAL zombie powder."
|
||||
icon_state = "bottle12"
|
||||
list_reagents = list("romerol" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/flu_virion
|
||||
/obj/item/reagent_containers/glass/bottle/flu_virion
|
||||
name = "Flu virion culture bottle"
|
||||
desc = "A small bottle. Contains H13N1 flu virion culture in synthblood medium."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/advance/flu
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/epiglottis_virion
|
||||
/obj/item/reagent_containers/glass/bottle/epiglottis_virion
|
||||
name = "Epiglottis virion culture bottle"
|
||||
desc = "A small bottle. Contains Epiglottis virion culture in synthblood medium."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/advance/voice_change
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/liver_enhance_virion
|
||||
/obj/item/reagent_containers/glass/bottle/liver_enhance_virion
|
||||
name = "Liver enhancement virion culture bottle"
|
||||
desc = "A small bottle. Contains liver enhancement virion culture in synthblood medium."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/advance/heal
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/hallucigen_virion
|
||||
/obj/item/reagent_containers/glass/bottle/hallucigen_virion
|
||||
name = "Hallucigen virion culture bottle"
|
||||
desc = "A small bottle. Contains hullucigen virion culture in synthblood medium."
|
||||
desc = "A small bottle. Contains hallucigen virion culture in synthblood medium."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/advance/hallucigen
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat
|
||||
/obj/item/reagent_containers/glass/bottle/pierrot_throat
|
||||
name = "Pierrot's Throat culture bottle"
|
||||
desc = "A small bottle. Contains H0NI<42 virion culture in synthblood medium."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/pierrot_throat
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/cold
|
||||
/obj/item/reagent_containers/glass/bottle/cold
|
||||
name = "Rhinovirus culture bottle"
|
||||
desc = "A small bottle. Contains XY-rhinovirus culture in synthblood medium."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/advance/cold
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/retrovirus
|
||||
/obj/item/reagent_containers/glass/bottle/retrovirus
|
||||
name = "Retrovirus culture bottle"
|
||||
desc = "A small bottle. Contains a retrovirus culture in a synthblood medium."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/dna_retrovirus
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/gbs
|
||||
/obj/item/reagent_containers/glass/bottle/gbs
|
||||
name = "GBS culture bottle"
|
||||
desc = "A small bottle. Contains Gravitokinetic Bipotential SADS+ culture in synthblood medium."//Or simply - General BullShit
|
||||
icon_state = "bottle3"
|
||||
amount_per_transfer_from_this = 5
|
||||
spawned_disease = /datum/disease/gbs
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/fake_gbs
|
||||
/obj/item/reagent_containers/glass/bottle/fake_gbs
|
||||
name = "GBS culture bottle"
|
||||
desc = "A small bottle. Contains Gravitokinetic Bipotential SADS- culture in synthblood medium."//Or simply - General BullShit
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/fake_gbs
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/brainrot
|
||||
/obj/item/reagent_containers/glass/bottle/brainrot
|
||||
name = "Brainrot culture bottle"
|
||||
desc = "A small bottle. Contains Cryptococcus Cosmosis culture in synthblood medium."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/brainrot
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/magnitis
|
||||
/obj/item/reagent_containers/glass/bottle/magnitis
|
||||
name = "Magnitis culture bottle"
|
||||
desc = "A small bottle. Contains a small dosage of Fukkos Miracos."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/magnitis
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/wizarditis
|
||||
/obj/item/reagent_containers/glass/bottle/wizarditis
|
||||
name = "Wizarditis culture bottle"
|
||||
desc = "A small bottle. Contains a sample of Rincewindus Vulgaris."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/wizarditis
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/anxiety
|
||||
/obj/item/reagent_containers/glass/bottle/anxiety
|
||||
name = "Severe Anxiety culture bottle"
|
||||
desc = "A small bottle. Contains a sample of Lepidopticides."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/anxiety
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/beesease
|
||||
/obj/item/reagent_containers/glass/bottle/beesease
|
||||
name = "Beesease culture bottle"
|
||||
desc = "A small bottle. Contains a sample of invasive Apidae."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/beesease
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/fluspanish
|
||||
/obj/item/reagent_containers/glass/bottle/fluspanish
|
||||
name = "Spanish flu culture bottle"
|
||||
desc = "A small bottle. Contains a sample of Inquisitius."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/fluspanish
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/tuberculosis
|
||||
/obj/item/reagent_containers/glass/bottle/tuberculosis
|
||||
name = "Fungal Tuberculosis culture bottle"
|
||||
desc = "A small bottle. Contains a sample of Fungal Tubercle bacillus."
|
||||
icon_state = "bottle3"
|
||||
spawned_disease = /datum/disease/tuberculosis
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/tuberculosiscure
|
||||
/obj/item/reagent_containers/glass/bottle/tuberculosiscure
|
||||
name = "BVAK bottle"
|
||||
desc = "A small bottle containing Bio Virus Antidote Kit."
|
||||
icon_state = "bottle5"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/reagent_containers/dropper
|
||||
/obj/item/reagent_containers/dropper
|
||||
name = "dropper"
|
||||
desc = "A dropper. Holds up to 5 units."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
@@ -6,9 +6,9 @@
|
||||
amount_per_transfer_from_this = 5
|
||||
possible_transfer_amounts = list(1, 2, 3, 4, 5)
|
||||
volume = 5
|
||||
container_type = TRANSPARENT
|
||||
container_type = TRANSPARENT_1
|
||||
|
||||
/obj/item/weapon/reagent_containers/dropper/afterattack(obj/target, mob/user , proximity)
|
||||
/obj/item/reagent_containers/dropper/afterattack(obj/target, mob/user , proximity)
|
||||
if(!proximity) return
|
||||
if(!target.reagents) return
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/dropper/update_icon()
|
||||
/obj/item/reagent_containers/dropper/update_icon()
|
||||
cut_overlays()
|
||||
if(reagents.total_volume)
|
||||
var/mutable_appearance/filling = mutable_appearance('icons/obj/reagentfillings.dmi', "dropper")
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm (rejected hunks)
|
||||
@@ -6,7 +6,7 @@
|
||||
amount_per_transfer_from_this = 5
|
||||
possible_transfer_amounts = list(1, 2, 3, 4, 5)
|
||||
volume = 5
|
||||
- container_type = TRANSPARENT
|
||||
+ container_type = TRANSPARENT_1
|
||||
|
||||
/obj/item/reagent_containers/dropper/afterattack(obj/target, mob/user , proximity)
|
||||
if(!proximity) return
|
||||
@@ -1,14 +1,14 @@
|
||||
/obj/item/weapon/reagent_containers/glass
|
||||
/obj/item/reagent_containers/glass
|
||||
name = "glass"
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5, 10, 15, 20, 25, 30, 50)
|
||||
volume = 50
|
||||
container_type = OPENCONTAINER
|
||||
container_type = OPENCONTAINER_1
|
||||
spillable = 1
|
||||
resistance_flags = ACID_PROOF
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/attack(mob/M, mob/user, obj/target)
|
||||
/obj/item/reagent_containers/glass/attack(mob/M, mob/user, obj/target)
|
||||
if(!canconsume(M, user))
|
||||
return
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
reagents.trans_to(M, 5)
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/afterattack(obj/target, mob/user, proximity)
|
||||
/obj/item/reagent_containers/glass/afterattack(obj/target, mob/user, proximity)
|
||||
if((!proximity) || !check_allowed_items(target,target_self=1)) return
|
||||
|
||||
else if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us.
|
||||
@@ -89,7 +89,7 @@
|
||||
reagents.reaction(target, TOUCH)
|
||||
reagents.clear_reagents()
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/attackby(obj/item/I, mob/user, params)
|
||||
/obj/item/reagent_containers/glass/attackby(obj/item/I, mob/user, params)
|
||||
var/hotness = I.is_hot()
|
||||
if(hotness)
|
||||
var/added_heat = (hotness / 100) //ishot returns a temperature
|
||||
@@ -101,8 +101,8 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] is already hotter than [I]!</span>")
|
||||
|
||||
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/egg)) //breaking eggs
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/egg/E = I
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks/egg)) //breaking eggs
|
||||
var/obj/item/reagent_containers/food/snacks/egg/E = I
|
||||
if(reagents)
|
||||
if(reagents.total_volume >= reagents.maximum_volume)
|
||||
to_chat(user, "<span class='notice'>[src] is full.</span>")
|
||||
@@ -114,7 +114,7 @@
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker
|
||||
/obj/item/reagent_containers/glass/beaker
|
||||
name = "beaker"
|
||||
desc = "A beaker. It can hold up to 50 units."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
@@ -122,14 +122,14 @@
|
||||
item_state = "beaker"
|
||||
materials = list(MAT_GLASS=500)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/Initialize()
|
||||
/obj/item/reagent_containers/glass/beaker/Initialize()
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/on_reagent_change()
|
||||
/obj/item/reagent_containers/glass/beaker/on_reagent_change()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/update_icon()
|
||||
/obj/item/reagent_containers/glass/beaker/update_icon()
|
||||
cut_overlays()
|
||||
|
||||
if(reagents.total_volume)
|
||||
@@ -155,13 +155,13 @@
|
||||
filling.color = mix_color_from_reagents(reagents.reagent_list)
|
||||
add_overlay(filling)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/jar
|
||||
/obj/item/reagent_containers/glass/beaker/jar
|
||||
name = "honey jar"
|
||||
desc = "A jar for honey. It can hold up to 50 units of sweet delight."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "vapour"
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large
|
||||
/obj/item/reagent_containers/glass/beaker/large
|
||||
name = "large beaker"
|
||||
desc = "A large beaker. Can hold up to 100 units."
|
||||
icon_state = "beakerlarge"
|
||||
@@ -169,9 +169,9 @@
|
||||
volume = 100
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,50,100)
|
||||
flags = OPENCONTAINER
|
||||
flags_1 = OPENCONTAINER_1
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/noreact
|
||||
/obj/item/reagent_containers/glass/beaker/noreact
|
||||
name = "cryostasis beaker"
|
||||
desc = "A cryostasis beaker that allows for chemical storage without \
|
||||
reactions. Can hold up to 50 units."
|
||||
@@ -180,13 +180,13 @@
|
||||
volume = 50
|
||||
amount_per_transfer_from_this = 10
|
||||
origin_tech = "materials=2;engineering=3;plasmatech=3"
|
||||
flags = OPENCONTAINER
|
||||
flags_1 = OPENCONTAINER_1
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/noreact/Initialize()
|
||||
/obj/item/reagent_containers/glass/beaker/noreact/Initialize()
|
||||
. = ..()
|
||||
reagents.set_reacting(FALSE)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/bluespace
|
||||
/obj/item/reagent_containers/glass/beaker/bluespace
|
||||
name = "bluespace beaker"
|
||||
desc = "A bluespace beaker, powered by experimental bluespace technology \
|
||||
and Element Cuban combined with the Compound Pete. Can hold up to \
|
||||
@@ -196,38 +196,38 @@
|
||||
volume = 300
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,50,100,300)
|
||||
flags = OPENCONTAINER
|
||||
flags_1 = OPENCONTAINER_1
|
||||
origin_tech = "bluespace=5;materials=4;plasmatech=4"
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone
|
||||
/obj/item/reagent_containers/glass/beaker/cryoxadone
|
||||
list_reagents = list("cryoxadone" = 30)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/sulphuric
|
||||
/obj/item/reagent_containers/glass/beaker/sulphuric
|
||||
list_reagents = list("sacid" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/slime
|
||||
/obj/item/reagent_containers/glass/beaker/slime
|
||||
list_reagents = list("slimejelly" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/styptic
|
||||
/obj/item/reagent_containers/glass/beaker/large/styptic
|
||||
name = "styptic reserve tank"
|
||||
list_reagents = list("styptic_powder" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/silver_sulfadiazine
|
||||
/obj/item/reagent_containers/glass/beaker/large/silver_sulfadiazine
|
||||
name = "silver sulfadiazine reserve tank"
|
||||
list_reagents = list("silver_sulfadiazine" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/charcoal
|
||||
/obj/item/reagent_containers/glass/beaker/large/charcoal
|
||||
name = "antitoxin reserve tank"
|
||||
list_reagents = list("charcoal" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/epinephrine
|
||||
/obj/item/reagent_containers/glass/beaker/large/epinephrine
|
||||
name = "epinephrine reserve tank"
|
||||
list_reagents = list("epinephrine" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/synthflesh
|
||||
/obj/item/reagent_containers/glass/beaker/synthflesh
|
||||
list_reagents = list("synthflesh" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bucket
|
||||
/obj/item/reagent_containers/glass/bucket
|
||||
name = "bucket"
|
||||
desc = "It's a bucket."
|
||||
icon = 'icons/obj/janitor.dmi'
|
||||
@@ -240,7 +240,7 @@
|
||||
amount_per_transfer_from_this = 20
|
||||
possible_transfer_amounts = list(10,15,20,25,30,50,70)
|
||||
volume = 70
|
||||
flags = OPENCONTAINER
|
||||
flags_1 = OPENCONTAINER_1
|
||||
flags_inv = HIDEHAIR
|
||||
slot_flags = SLOT_HEAD
|
||||
resistance_flags = 0
|
||||
@@ -256,8 +256,8 @@
|
||||
slot_generic_dextrous_storage
|
||||
)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bucket/attackby(obj/O, mob/user, params)
|
||||
if(istype(O, /obj/item/weapon/mop))
|
||||
/obj/item/reagent_containers/glass/bucket/attackby(obj/O, mob/user, params)
|
||||
if(istype(O, /obj/item/mop))
|
||||
if(reagents.total_volume < 1)
|
||||
to_chat(user, "<span class='warning'>[src] is out of water!</span>")
|
||||
else
|
||||
@@ -268,18 +268,18 @@
|
||||
to_chat(user, "<span class='notice'>You add [O] to [src].</span>")
|
||||
qdel(O)
|
||||
qdel(src)
|
||||
user.put_in_hands(new /obj/item/weapon/bucket_sensor)
|
||||
user.put_in_hands(new /obj/item/bucket_sensor)
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bucket/equipped(mob/user, slot)
|
||||
/obj/item/reagent_containers/glass/bucket/equipped(mob/user, slot)
|
||||
..()
|
||||
if(slot == slot_head && reagents.total_volume)
|
||||
to_chat(user, "<span class='userdanger'>[src]'s contents spill all over you!</span>")
|
||||
reagents.reaction(user, TOUCH)
|
||||
reagents.clear_reagents()
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bucket/equip_to_best_slot(var/mob/M)
|
||||
/obj/item/reagent_containers/glass/bucket/equip_to_best_slot(var/mob/M)
|
||||
if(reagents.total_volume) //If there is water in a bucket, don't quick equip it to the head
|
||||
var/index = slot_equipment_priority.Find(slot_head)
|
||||
slot_equipment_priority.Remove(slot_head)
|
||||
@@ -288,7 +288,7 @@
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/waterbottle
|
||||
/obj/item/reagent_containers/glass/beaker/waterbottle
|
||||
name = "bottle of water"
|
||||
desc = "A bottle of water filled at an old Earth bottling facility,"
|
||||
icon = 'icons/obj/drinks.dmi'
|
||||
@@ -300,10 +300,10 @@
|
||||
amount_per_transfer_from_this = 10
|
||||
origin_tech = null
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/waterbottle/empty
|
||||
/obj/item/reagent_containers/glass/beaker/waterbottle/empty
|
||||
list_reagents = list()
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/waterbottle/large
|
||||
/obj/item/reagent_containers/glass/beaker/waterbottle/large
|
||||
desc = "A fresh commercial-sized bottle of water."
|
||||
icon_state = "largebottle"
|
||||
materials = list(MAT_GLASS=0)
|
||||
@@ -311,105 +311,105 @@
|
||||
volume = 100
|
||||
amount_per_transfer_from_this = 20
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/waterbottle/large/empty
|
||||
/obj/item/reagent_containers/glass/beaker/waterbottle/large/empty
|
||||
list_reagents = list()
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/hydrogen
|
||||
/obj/item/reagent_containers/glass/beaker/large/hydrogen
|
||||
name = "hydrogen"
|
||||
list_reagents = list("hydrogen" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/lithium
|
||||
/obj/item/reagent_containers/glass/beaker/large/lithium
|
||||
name = "lithium"
|
||||
list_reagents = list("lithium" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/carbon
|
||||
/obj/item/reagent_containers/glass/beaker/large/carbon
|
||||
name = "carbon"
|
||||
list_reagents = list("carbon" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/nitrogen
|
||||
/obj/item/reagent_containers/glass/beaker/large/nitrogen
|
||||
name = "nitrogen"
|
||||
list_reagents = list("nitrogen" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/oxygen
|
||||
/obj/item/reagent_containers/glass/beaker/large/oxygen
|
||||
name = "oxygen"
|
||||
list_reagents = list("oxygen" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/fluorine
|
||||
/obj/item/reagent_containers/glass/beaker/large/fluorine
|
||||
name = "fluorine"
|
||||
list_reagents = list("fluorine" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/sodium
|
||||
/obj/item/reagent_containers/glass/beaker/large/sodium
|
||||
name = "sodium"
|
||||
list_reagents = list("sodium" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/aluminium
|
||||
/obj/item/reagent_containers/glass/beaker/large/aluminium
|
||||
name = "aluminium"
|
||||
list_reagents = list("aluminium" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/silicon
|
||||
/obj/item/reagent_containers/glass/beaker/large/silicon
|
||||
name = "silicon"
|
||||
list_reagents = list("silicon" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/phosphorus
|
||||
/obj/item/reagent_containers/glass/beaker/large/phosphorus
|
||||
name = "phosphorus"
|
||||
list_reagents = list("phosphorus" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/sulfur
|
||||
/obj/item/reagent_containers/glass/beaker/large/sulfur
|
||||
name = "sulfur"
|
||||
list_reagents = list("sulfur" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/chlorine
|
||||
/obj/item/reagent_containers/glass/beaker/large/chlorine
|
||||
name = "chlorine"
|
||||
list_reagents = list("chlorine" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/potassium
|
||||
/obj/item/reagent_containers/glass/beaker/large/potassium
|
||||
name = "potassium"
|
||||
list_reagents = list("potassium" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/iron
|
||||
/obj/item/reagent_containers/glass/beaker/large/iron
|
||||
name = "iron"
|
||||
list_reagents = list("iron" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/copper
|
||||
/obj/item/reagent_containers/glass/beaker/large/copper
|
||||
name = "copper"
|
||||
list_reagents = list("copper" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/mercury
|
||||
/obj/item/reagent_containers/glass/beaker/large/mercury
|
||||
name = "mercury"
|
||||
list_reagents = list("mercury" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/radium
|
||||
/obj/item/reagent_containers/glass/beaker/large/radium
|
||||
name = "radium"
|
||||
list_reagents = list("radium" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/water
|
||||
/obj/item/reagent_containers/glass/beaker/large/water
|
||||
name = "water"
|
||||
list_reagents = list("water" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/ethanol
|
||||
/obj/item/reagent_containers/glass/beaker/large/ethanol
|
||||
name = "ethanol"
|
||||
list_reagents = list("ethanol" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/sugar
|
||||
/obj/item/reagent_containers/glass/beaker/large/sugar
|
||||
name = "sugar"
|
||||
list_reagents = list("sugar" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/sacid
|
||||
/obj/item/reagent_containers/glass/beaker/large/sacid
|
||||
name = "sacid"
|
||||
list_reagents = list("sacid" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/welding_fuel
|
||||
/obj/item/reagent_containers/glass/beaker/large/welding_fuel
|
||||
name = "welding_fuel"
|
||||
list_reagents = list("welding_fuel" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/silver
|
||||
/obj/item/reagent_containers/glass/beaker/large/silver
|
||||
name = "silver"
|
||||
list_reagents = list("silver" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/iodine
|
||||
/obj/item/reagent_containers/glass/beaker/large/iodine
|
||||
name = "iodine"
|
||||
list_reagents = list("iodine" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/beaker/large/bromine
|
||||
/obj/item/reagent_containers/glass/beaker/large/bromine
|
||||
name = "bromine"
|
||||
list_reagents = list("bromine" = 50)
|
||||
@@ -0,0 +1,28 @@
|
||||
diff a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm (rejected hunks)
|
||||
@@ -169,7 +169,7 @@
|
||||
volume = 100
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,50,100)
|
||||
- flags = OPENCONTAINER
|
||||
+ flags_1 = OPENCONTAINER_1
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/noreact
|
||||
name = "cryostasis beaker"
|
||||
@@ -180,7 +180,7 @@
|
||||
volume = 50
|
||||
amount_per_transfer_from_this = 10
|
||||
origin_tech = "materials=2;engineering=3;plasmatech=3"
|
||||
- flags = OPENCONTAINER
|
||||
+ flags_1 = OPENCONTAINER_1
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/noreact/Initialize()
|
||||
. = ..()
|
||||
@@ -196,7 +196,7 @@
|
||||
volume = 300
|
||||
amount_per_transfer_from_this = 10
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,50,100,300)
|
||||
- flags = OPENCONTAINER
|
||||
+ flags_1 = OPENCONTAINER_1
|
||||
origin_tech = "bluespace=5;materials=4;plasmatech=4"
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/cryoxadone
|
||||
@@ -1,24 +1,24 @@
|
||||
/obj/item/weapon/reagent_containers/hypospray
|
||||
/obj/item/reagent_containers/hypospray
|
||||
name = "hypospray"
|
||||
desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients."
|
||||
icon = 'icons/obj/syringe.dmi'
|
||||
item_state = "hypo"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
||||
icon_state = "hypo"
|
||||
amount_per_transfer_from_this = 5
|
||||
volume = 30
|
||||
possible_transfer_amounts = list()
|
||||
resistance_flags = ACID_PROOF
|
||||
container_type = OPENCONTAINER
|
||||
container_type = OPENCONTAINER_1
|
||||
slot_flags = SLOT_BELT
|
||||
var/ignore_flags = 0
|
||||
var/infinite = FALSE
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/attack_paw(mob/user)
|
||||
/obj/item/reagent_containers/hypospray/attack_paw(mob/user)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/attack(mob/living/M, mob/user)
|
||||
/obj/item/reagent_containers/hypospray/attack(mob/living/M, mob/user)
|
||||
if(!reagents.total_volume)
|
||||
to_chat(user, "<span class='warning'>[src] is empty!</span>")
|
||||
return
|
||||
@@ -47,11 +47,11 @@
|
||||
|
||||
add_logs(user, M, "injected", src, "([contained])")
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/CMO
|
||||
/obj/item/reagent_containers/hypospray/CMO
|
||||
list_reagents = list("omnizine" = 30)
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/combat
|
||||
/obj/item/reagent_containers/hypospray/combat
|
||||
name = "combat stimulant injector"
|
||||
desc = "A modified air-needle autoinjector, used by support operatives to quickly heal injuries in combat."
|
||||
amount_per_transfer_from_this = 10
|
||||
@@ -60,28 +60,28 @@
|
||||
ignore_flags = 1 // So they can heal their comrades.
|
||||
list_reagents = list("epinephrine" = 30, "omnizine" = 30, "leporazine" = 15, "atropine" = 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/combat/nanites
|
||||
/obj/item/reagent_containers/hypospray/combat/nanites
|
||||
desc = "A modified air-needle autoinjector for use in combat situations. Prefilled with expensive medical nanites for rapid healing."
|
||||
volume = 100
|
||||
list_reagents = list("nanites" = 80, "synaptizine" = 20)
|
||||
|
||||
//MediPens
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/medipen
|
||||
/obj/item/reagent_containers/hypospray/medipen
|
||||
name = "epinephrine medipen"
|
||||
desc = "A rapid and safe way to stabilize patients in critical condition for personnel without advanced medical knowledge."
|
||||
icon_state = "medipen"
|
||||
item_state = "medipen"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
||||
amount_per_transfer_from_this = 10
|
||||
volume = 10
|
||||
ignore_flags = 1 //so you can medipen through hardsuits
|
||||
container_type = DRAWABLE
|
||||
flags = null
|
||||
container_type = DRAWABLE_1
|
||||
flags_1 = null
|
||||
list_reagents = list("epinephrine" = 10)
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/medipen/attack(mob/M, mob/user)
|
||||
/obj/item/reagent_containers/hypospray/medipen/attack(mob/M, mob/user)
|
||||
if(!reagents.total_volume)
|
||||
to_chat(user, "<span class='warning'>[src] is empty!</span>")
|
||||
return
|
||||
@@ -98,20 +98,20 @@
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/medipen/update_icon()
|
||||
/obj/item/reagent_containers/hypospray/medipen/update_icon()
|
||||
if(reagents.total_volume > 0)
|
||||
icon_state = initial(icon_state)
|
||||
else
|
||||
icon_state = "[initial(icon_state)]0"
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/medipen/examine()
|
||||
/obj/item/reagent_containers/hypospray/medipen/examine()
|
||||
..()
|
||||
if(reagents && reagents.reagent_list.len)
|
||||
to_chat(usr, "<span class='notice'>It is currently loaded.</span>")
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>It is spent.</span>")
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/medipen/stimpack //goliath kiting
|
||||
/obj/item/reagent_containers/hypospray/medipen/stimpack //goliath kiting
|
||||
name = "stimpack medipen"
|
||||
desc = "A rapid way to stimulate your body's adrenaline, allowing for freer movement in restrictive armor."
|
||||
icon_state = "stimpen"
|
||||
@@ -119,16 +119,16 @@
|
||||
amount_per_transfer_from_this = 20
|
||||
list_reagents = list("ephedrine" = 10, "coffee" = 10)
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/medipen/stimpack/traitor
|
||||
/obj/item/reagent_containers/hypospray/medipen/stimpack/traitor
|
||||
desc = "A modified stimulants autoinjector for use in combat situations. Has a mild healing effect."
|
||||
list_reagents = list("stimulants" = 10, "omnizine" = 10)
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/medipen/morphine
|
||||
/obj/item/reagent_containers/hypospray/medipen/morphine
|
||||
name = "morphine medipen"
|
||||
desc = "A rapid way to get you out of a tight situation and fast! You'll feel rather drowsy, though."
|
||||
list_reagents = list("morphine" = 10)
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/medipen/tuberculosiscure
|
||||
/obj/item/reagent_containers/hypospray/medipen/tuberculosiscure
|
||||
name = "BVAK autoinjector"
|
||||
desc = "Bio Virus Antidote Kit autoinjector. Has a two use system for yourself, and someone else. Inject when infected."
|
||||
icon_state = "stimpen"
|
||||
@@ -136,7 +136,7 @@
|
||||
amount_per_transfer_from_this = 30
|
||||
list_reagents = list("atropine" = 10, "epinephrine" = 10, "salbutamol" = 20, "spaceacillin" = 20)
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/medipen/survival
|
||||
/obj/item/reagent_containers/hypospray/medipen/survival
|
||||
name = "survival medipen"
|
||||
desc = "A medipen for surviving in the harshest of environments, heals and protects from environmental hazards. WARNING: Do not inject more than one pen in quick succession."
|
||||
icon_state = "stimpen"
|
||||
@@ -144,7 +144,7 @@
|
||||
amount_per_transfer_from_this = 57
|
||||
list_reagents = list("salbutamol" = 10, "leporazine" = 15, "tricordrazine" = 15, "epinephrine" = 10, "miningnanites" = 2, "omnizine" = 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/hypospray/medipen/species_mutator
|
||||
/obj/item/reagent_containers/hypospray/medipen/species_mutator
|
||||
name = "species mutator medipen"
|
||||
desc = "Embark on a whirlwind tour of racial insensitivity by \
|
||||
literally appropriating other races."
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
diff a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm (rejected hunks)
|
||||
@@ -77,8 +77,8 @@
|
||||
amount_per_transfer_from_this = 10
|
||||
volume = 10
|
||||
ignore_flags = 1 //so you can medipen through hardsuits
|
||||
- container_type = DRAWABLE
|
||||
- flags = null
|
||||
+ container_type = DRAWABLE_1
|
||||
+ flags_1 = null
|
||||
list_reagents = list("epinephrine" = 10)
|
||||
|
||||
/obj/item/reagent_containers/hypospray/medipen/attack(mob/M, mob/user)
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/reagent_containers/pill/patch
|
||||
/obj/item/reagent_containers/pill/patch
|
||||
name = "chemical patch"
|
||||
desc = "A chemical patch for touch based applications."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
@@ -10,21 +10,21 @@
|
||||
apply_method = "apply"
|
||||
self_delay = 30 // three seconds
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/patch/afterattack(obj/target, mob/user , proximity)
|
||||
/obj/item/reagent_containers/pill/patch/afterattack(obj/target, mob/user , proximity)
|
||||
return // thanks inheritance again
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/patch/canconsume(mob/eater, mob/user)
|
||||
/obj/item/reagent_containers/pill/patch/canconsume(mob/eater, mob/user)
|
||||
if(!iscarbon(eater))
|
||||
return 0
|
||||
return 1 // Masks were stopping people from "eating" patches. Thanks, inheritance.
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/patch/styptic
|
||||
/obj/item/reagent_containers/pill/patch/styptic
|
||||
name = "brute patch"
|
||||
desc = "Helps with brute injuries."
|
||||
list_reagents = list("styptic_powder" = 20)
|
||||
icon_state = "bandaid_brute"
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/patch/silver_sulf
|
||||
/obj/item/reagent_containers/pill/patch/silver_sulf
|
||||
name = "burn patch"
|
||||
desc = "Helps with burn injuries."
|
||||
list_reagents = list("silver_sulfadiazine" = 20)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/reagent_containers/pill
|
||||
/obj/item/reagent_containers/pill
|
||||
name = "pill"
|
||||
desc = "A tablet or capsule."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
@@ -13,7 +13,7 @@
|
||||
var/roundstart = 0
|
||||
var/self_delay = 0 //pills are instant, this is because patches inheret their aplication from pills
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/Initialize()
|
||||
/obj/item/reagent_containers/pill/Initialize()
|
||||
. = ..()
|
||||
if(!icon_state)
|
||||
icon_state = "pill[rand(1,20)]"
|
||||
@@ -21,11 +21,11 @@
|
||||
name += " ([reagents.total_volume]u)"
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/attack_self(mob/user)
|
||||
/obj/item/reagent_containers/pill/attack_self(mob/user)
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/attack(mob/M, mob/user, def_zone)
|
||||
/obj/item/reagent_containers/pill/attack(mob/M, mob/user, def_zone)
|
||||
if(!canconsume(M, user))
|
||||
return 0
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/afterattack(obj/target, mob/user , proximity)
|
||||
/obj/item/reagent_containers/pill/afterattack(obj/target, mob/user , proximity)
|
||||
if(!proximity) return
|
||||
if(target.is_open_container() != 0 && target.reagents)
|
||||
if(!target.reagents.total_volume)
|
||||
@@ -65,87 +65,87 @@
|
||||
reagents.trans_to(target, reagents.total_volume)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/tox
|
||||
/obj/item/reagent_containers/pill/tox
|
||||
name = "toxins pill"
|
||||
desc = "Highly toxic."
|
||||
icon_state = "pill5"
|
||||
list_reagents = list("toxin" = 50)
|
||||
roundstart = 1
|
||||
/obj/item/weapon/reagent_containers/pill/cyanide
|
||||
/obj/item/reagent_containers/pill/cyanide
|
||||
name = "cyanide pill"
|
||||
desc = "Don't swallow this."
|
||||
icon_state = "pill5"
|
||||
list_reagents = list("cyanide" = 50)
|
||||
roundstart = 1
|
||||
/obj/item/weapon/reagent_containers/pill/adminordrazine
|
||||
/obj/item/reagent_containers/pill/adminordrazine
|
||||
name = "adminordrazine pill"
|
||||
desc = "It's magic. We don't have to explain it."
|
||||
icon_state = "pill16"
|
||||
list_reagents = list("adminordrazine" = 50)
|
||||
roundstart = 1
|
||||
/obj/item/weapon/reagent_containers/pill/morphine
|
||||
/obj/item/reagent_containers/pill/morphine
|
||||
name = "morphine pill"
|
||||
desc = "Commonly used to treat insomnia."
|
||||
icon_state = "pill8"
|
||||
list_reagents = list("morphine" = 30)
|
||||
roundstart = 1
|
||||
/obj/item/weapon/reagent_containers/pill/stimulant
|
||||
/obj/item/reagent_containers/pill/stimulant
|
||||
name = "stimulant pill"
|
||||
desc = "Often taken by overworked employees, athletes, and the inebriated. You'll snap to attention immediately!"
|
||||
icon_state = "pill19"
|
||||
list_reagents = list("ephedrine" = 10, "antihol" = 10, "coffee" = 30)
|
||||
roundstart = 1
|
||||
/obj/item/weapon/reagent_containers/pill/salbutamol
|
||||
/obj/item/reagent_containers/pill/salbutamol
|
||||
name = "salbutamol pill"
|
||||
desc = "Used to treat oxygen deprivation."
|
||||
icon_state = "pill16"
|
||||
list_reagents = list("salbutamol" = 30)
|
||||
roundstart = 1
|
||||
/obj/item/weapon/reagent_containers/pill/charcoal
|
||||
/obj/item/reagent_containers/pill/charcoal
|
||||
name = "charcoal pill"
|
||||
desc = "Neutralizes many common toxins."
|
||||
icon_state = "pill17"
|
||||
list_reagents = list("charcoal" = 10)
|
||||
roundstart = 1
|
||||
/obj/item/weapon/reagent_containers/pill/epinephrine
|
||||
/obj/item/reagent_containers/pill/epinephrine
|
||||
name = "epinephrine pill"
|
||||
desc = "Used to stabilize patients."
|
||||
icon_state = "pill5"
|
||||
list_reagents = list("epinephrine" = 15)
|
||||
roundstart = 1
|
||||
/obj/item/weapon/reagent_containers/pill/mannitol
|
||||
/obj/item/reagent_containers/pill/mannitol
|
||||
name = "mannitol pill"
|
||||
desc = "Used to treat brain damage."
|
||||
icon_state = "pill17"
|
||||
list_reagents = list("mannitol" = 50)
|
||||
roundstart = 1
|
||||
/obj/item/weapon/reagent_containers/pill/mutadone
|
||||
/obj/item/reagent_containers/pill/mutadone
|
||||
name = "mutadone pill"
|
||||
desc = "Used to treat genetic damage."
|
||||
icon_state = "pill20"
|
||||
list_reagents = list("mutadone" = 50)
|
||||
roundstart = 1
|
||||
/obj/item/weapon/reagent_containers/pill/salicyclic
|
||||
/obj/item/reagent_containers/pill/salicyclic
|
||||
name = "salicylic acid pill"
|
||||
desc = "Used to dull pain."
|
||||
icon_state = "pill9"
|
||||
list_reagents = list("sal_acid" = 24)
|
||||
roundstart = 1
|
||||
/obj/item/weapon/reagent_containers/pill/oxandrolone
|
||||
/obj/item/reagent_containers/pill/oxandrolone
|
||||
name = "oxandrolone pill"
|
||||
desc = "Used to stimulate burn healing."
|
||||
icon_state = "pill11"
|
||||
list_reagents = list("oxandrolone" = 24)
|
||||
roundstart = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/insulin
|
||||
/obj/item/reagent_containers/pill/insulin
|
||||
name = "insulin pill"
|
||||
desc = "Handles hyperglycaemic coma."
|
||||
icon_state = "pill18"
|
||||
list_reagents = list("insulin" = 50)
|
||||
roundstart = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/pill/shadowtoxin
|
||||
/obj/item/reagent_containers/pill/shadowtoxin
|
||||
name = "black pill"
|
||||
desc = "I wouldn't eat this if I were you."
|
||||
icon_state = "pill9"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/reagent_containers/spray
|
||||
/obj/item/reagent_containers/spray
|
||||
name = "spray bottle"
|
||||
desc = "A spray bottle, with an unscrewable top."
|
||||
icon = 'icons/obj/janitor.dmi'
|
||||
@@ -6,8 +6,8 @@
|
||||
item_state = "cleaner"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi'
|
||||
flags = NOBLUDGEON
|
||||
container_type = OPENCONTAINER
|
||||
flags_1 = NOBLUDGEON_1
|
||||
container_type = OPENCONTAINER_1
|
||||
slot_flags = SLOT_BELT
|
||||
throwforce = 0
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
@@ -23,7 +23,7 @@
|
||||
possible_transfer_amounts = list(5,10,15,20,25,30,50,100)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user)
|
||||
/obj/item/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user)
|
||||
if(istype(A, /obj/structure/sink) || istype(A, /obj/structure/janitorialcart) || istype(A, /obj/machinery/hydroponics))
|
||||
return
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/spray/proc/spray(atom/A)
|
||||
/obj/item/reagent_containers/spray/proc/spray(atom/A)
|
||||
var/range = max(min(current_range, get_dist(src, A)), 1)
|
||||
var/obj/effect/decal/chempuff/D = new /obj/effect/decal/chempuff(get_turf(src))
|
||||
D.create_reagents(amount_per_transfer_from_this)
|
||||
@@ -77,7 +77,7 @@
|
||||
var/wait_step = max(round(2+3/range), 2)
|
||||
do_spray(A, wait_step, D, range, puff_reagent_left)
|
||||
|
||||
/obj/item/weapon/reagent_containers/spray/proc/do_spray(atom/A, wait_step, obj/effect/decal/chempuff/D, range, puff_reagent_left)
|
||||
/obj/item/reagent_containers/spray/proc/do_spray(atom/A, wait_step, obj/effect/decal/chempuff/D, range, puff_reagent_left)
|
||||
set waitfor = FALSE
|
||||
var/range_left = range
|
||||
for(var/i=0, i<range, i++)
|
||||
@@ -113,7 +113,7 @@
|
||||
return
|
||||
qdel(D)
|
||||
|
||||
/obj/item/weapon/reagent_containers/spray/attack_self(mob/user)
|
||||
/obj/item/reagent_containers/spray/attack_self(mob/user)
|
||||
stream_mode = !stream_mode
|
||||
if(stream_mode)
|
||||
amount_per_transfer_from_this = stream_amount
|
||||
@@ -123,7 +123,7 @@
|
||||
current_range = spray_range
|
||||
to_chat(user, "<span class='notice'>You switch the nozzle setting to [stream_mode ? "\"stream\"":"\"spray\""]. You'll now use [amount_per_transfer_from_this] units per use.</span>")
|
||||
|
||||
/obj/item/weapon/reagent_containers/spray/verb/empty()
|
||||
/obj/item/reagent_containers/spray/verb/empty()
|
||||
set name = "Empty Spray Bottle"
|
||||
set category = "Object"
|
||||
set src in usr
|
||||
@@ -137,37 +137,37 @@
|
||||
src.reagents.clear_reagents()
|
||||
|
||||
//space cleaner
|
||||
/obj/item/weapon/reagent_containers/spray/cleaner
|
||||
/obj/item/reagent_containers/spray/cleaner
|
||||
name = "space cleaner"
|
||||
desc = "BLAM!-brand non-foaming space cleaner!"
|
||||
list_reagents = list("cleaner" = 250)
|
||||
|
||||
//spray tan
|
||||
/obj/item/weapon/reagent_containers/spray/spraytan
|
||||
/obj/item/reagent_containers/spray/spraytan
|
||||
name = "spray tan"
|
||||
volume = 50
|
||||
desc = "Gyaro brand spray tan. Do not spray near eyes or other orifices."
|
||||
list_reagents = list("spraytan" = 50)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/spray/medical
|
||||
/obj/item/reagent_containers/spray/medical
|
||||
name = "medical spray"
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "medspray"
|
||||
volume = 100
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/spray/medical/sterilizer
|
||||
/obj/item/reagent_containers/spray/medical/sterilizer
|
||||
name = "sterilizer spray"
|
||||
desc = "Spray bottle loaded with non-toxic sterilizer. Useful in preparation for surgery."
|
||||
list_reagents = list("sterilizine" = 100)
|
||||
|
||||
|
||||
//pepperspray
|
||||
/obj/item/weapon/reagent_containers/spray/pepper
|
||||
/obj/item/reagent_containers/spray/pepper
|
||||
name = "pepperspray"
|
||||
desc = "Manufactured by UhangInc, used to blind and down an opponent quickly."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon = 'icons/obj/items_and_weapons.dmi'
|
||||
icon_state = "pepperspray"
|
||||
item_state = "pepperspray"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
|
||||
@@ -178,13 +178,13 @@
|
||||
list_reagents = list("condensedcapsaicin" = 40)
|
||||
|
||||
// Fix pepperspraying yourself
|
||||
/obj/item/weapon/reagent_containers/spray/pepper/afterattack(atom/A as mob|obj, mob/user)
|
||||
/obj/item/reagent_containers/spray/pepper/afterattack(atom/A as mob|obj, mob/user)
|
||||
if (A.loc == user)
|
||||
return
|
||||
..()
|
||||
|
||||
//water flower
|
||||
/obj/item/weapon/reagent_containers/spray/waterflower
|
||||
/obj/item/reagent_containers/spray/waterflower
|
||||
name = "water flower"
|
||||
desc = "A seemingly innocent sunflower...with a twist."
|
||||
icon = 'icons/obj/hydroponics/harvest.dmi'
|
||||
@@ -194,11 +194,11 @@
|
||||
volume = 10
|
||||
list_reagents = list("water" = 10)
|
||||
|
||||
/obj/item/weapon/reagent_containers/spray/waterflower/attack_self(mob/user) //Don't allow changing how much the flower sprays
|
||||
/obj/item/reagent_containers/spray/waterflower/attack_self(mob/user) //Don't allow changing how much the flower sprays
|
||||
return
|
||||
|
||||
//chemsprayer
|
||||
/obj/item/weapon/reagent_containers/spray/chemsprayer
|
||||
/obj/item/reagent_containers/spray/chemsprayer
|
||||
name = "chem sprayer"
|
||||
desc = "A utility used to spray large amounts of reagents in a given area."
|
||||
icon = 'icons/obj/guns/projectile.dmi'
|
||||
@@ -214,13 +214,13 @@
|
||||
volume = 600
|
||||
origin_tech = "combat=3;materials=3;engineering=3"
|
||||
|
||||
/obj/item/weapon/reagent_containers/spray/chemsprayer/afterattack(atom/A as mob|obj, mob/user)
|
||||
/obj/item/reagent_containers/spray/chemsprayer/afterattack(atom/A as mob|obj, mob/user)
|
||||
// Make it so the bioterror spray doesn't spray yourself when you click your inventory items
|
||||
if (A.loc == user)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/spray/chemsprayer/spray(atom/A)
|
||||
/obj/item/reagent_containers/spray/chemsprayer/spray(atom/A)
|
||||
var/direction = get_dir(src, A)
|
||||
var/turf/T = get_turf(A)
|
||||
var/turf/T1 = get_step(T,turn(direction, 90))
|
||||
@@ -232,11 +232,11 @@
|
||||
return
|
||||
..(the_targets[i])
|
||||
|
||||
/obj/item/weapon/reagent_containers/spray/chemsprayer/bioterror
|
||||
/obj/item/reagent_containers/spray/chemsprayer/bioterror
|
||||
list_reagents = list("sodium_thiopental" = 100, "coniine" = 100, "venom" = 100, "condensedcapsaicin" = 100, "initropidril" = 100, "polonium" = 100)
|
||||
|
||||
// Plant-B-Gone
|
||||
/obj/item/weapon/reagent_containers/spray/plantbgone // -- Skie
|
||||
/obj/item/reagent_containers/spray/plantbgone // -- Skie
|
||||
name = "Plant-B-Gone"
|
||||
desc = "Kills those pesky weeds!"
|
||||
icon = 'icons/obj/hydroponics/equipment.dmi'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#define SYRINGE_DRAW 0
|
||||
#define SYRINGE_INJECT 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe
|
||||
/obj/item/reagent_containers/syringe
|
||||
name = "syringe"
|
||||
desc = "A syringe that can hold up to 15 units."
|
||||
icon = 'icons/obj/syringe.dmi'
|
||||
@@ -16,40 +16,40 @@
|
||||
var/busy = FALSE // needed for delayed drawing of blood
|
||||
var/proj_piercing = 0 //does it pierce through thick clothes when shot with syringe gun
|
||||
materials = list(MAT_METAL=10, MAT_GLASS=20)
|
||||
container_type = TRANSPARENT
|
||||
container_type = TRANSPARENT_1
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/Initialize()
|
||||
/obj/item/reagent_containers/syringe/Initialize()
|
||||
. = ..()
|
||||
if(list_reagents) //syringe starts in inject mode if its already got something inside
|
||||
mode = SYRINGE_INJECT
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/on_reagent_change()
|
||||
/obj/item/reagent_containers/syringe/on_reagent_change()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/pickup(mob/user)
|
||||
/obj/item/reagent_containers/syringe/pickup(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/dropped(mob/user)
|
||||
/obj/item/reagent_containers/syringe/dropped(mob/user)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/attack_self(mob/user)
|
||||
/obj/item/reagent_containers/syringe/attack_self(mob/user)
|
||||
mode = !mode
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/attack_hand()
|
||||
/obj/item/reagent_containers/syringe/attack_hand()
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/attack_paw(mob/user)
|
||||
/obj/item/reagent_containers/syringe/attack_paw(mob/user)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/attackby(obj/item/I, mob/user, params)
|
||||
/obj/item/reagent_containers/syringe/attackby(obj/item/I, mob/user, params)
|
||||
return
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/afterattack(atom/target, mob/user , proximity)
|
||||
/obj/item/reagent_containers/syringe/afterattack(atom/target, mob/user , proximity)
|
||||
if(busy)
|
||||
return
|
||||
if(!proximity)
|
||||
@@ -157,7 +157,7 @@
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/update_icon()
|
||||
/obj/item/reagent_containers/syringe/update_icon()
|
||||
var/rounded_vol = Clamp(round((reagents.total_volume / volume * 15),5), 0, 15)
|
||||
cut_overlays()
|
||||
if(ismob(loc))
|
||||
@@ -176,82 +176,82 @@
|
||||
filling_overlay.color = mix_color_from_reagents(reagents.reagent_list)
|
||||
add_overlay(filling_overlay)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/epinephrine
|
||||
/obj/item/reagent_containers/syringe/epinephrine
|
||||
name = "syringe (epinephrine)"
|
||||
desc = "Contains epinephrine - used to stabilize patients."
|
||||
list_reagents = list("epinephrine" = 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/charcoal
|
||||
/obj/item/reagent_containers/syringe/charcoal
|
||||
name = "syringe (charcoal)"
|
||||
desc = "Contains charcoal."
|
||||
list_reagents = list("charcoal" = 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/antiviral
|
||||
/obj/item/reagent_containers/syringe/antiviral
|
||||
name = "syringe (spaceacillin)"
|
||||
desc = "Contains antiviral agents."
|
||||
list_reagents = list("spaceacillin" = 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/bioterror
|
||||
/obj/item/reagent_containers/syringe/bioterror
|
||||
name = "bioterror syringe"
|
||||
desc = "Contains several paralyzing reagents."
|
||||
list_reagents = list("neurotoxin" = 5, "mutetoxin" = 5, "sodium_thiopental" = 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/stimulants
|
||||
/obj/item/reagent_containers/syringe/stimulants
|
||||
name = "Stimpack"
|
||||
desc = "Contains stimulants."
|
||||
amount_per_transfer_from_this = 50
|
||||
volume = 50
|
||||
list_reagents = list("stimulants" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/calomel
|
||||
/obj/item/reagent_containers/syringe/calomel
|
||||
name = "syringe (calomel)"
|
||||
desc = "Contains calomel."
|
||||
list_reagents = list("calomel" = 15)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/lethal
|
||||
/obj/item/reagent_containers/syringe/lethal
|
||||
name = "lethal injection syringe"
|
||||
desc = "A syringe used for lethal injections. It can hold up to 50 units."
|
||||
amount_per_transfer_from_this = 50
|
||||
volume = 50
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/lethal/choral
|
||||
/obj/item/reagent_containers/syringe/lethal/choral
|
||||
list_reagents = list("chloralhydrate" = 50)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/lethal/execution
|
||||
/obj/item/reagent_containers/syringe/lethal/execution
|
||||
list_reagents = list("plasma" = 15, "formaldehyde" = 15, "cyanide" = 10, "facid" = 10)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/mulligan
|
||||
/obj/item/reagent_containers/syringe/mulligan
|
||||
name = "Mulligan"
|
||||
desc = "A syringe used to completely change the users identity."
|
||||
amount_per_transfer_from_this = 1
|
||||
volume = 1
|
||||
list_reagents = list("mulligan" = 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/gluttony
|
||||
/obj/item/reagent_containers/syringe/gluttony
|
||||
name = "Gluttony's Blessing"
|
||||
desc = "A syringe recovered from a dread place. It probably isn't wise to use."
|
||||
amount_per_transfer_from_this = 1
|
||||
volume = 1
|
||||
list_reagents = list("gluttonytoxin" = 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/bluespace
|
||||
/obj/item/reagent_containers/syringe/bluespace
|
||||
name = "bluespace syringe"
|
||||
desc = "An advanced syringe that can hold 60 units of chemicals"
|
||||
amount_per_transfer_from_this = 20
|
||||
volume = 60
|
||||
origin_tech = "bluespace=4;materials=4;biotech=4"
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/noreact
|
||||
/obj/item/reagent_containers/syringe/noreact
|
||||
name = "cryo syringe"
|
||||
desc = "An advanced syringe that stops reagents inside from reacting. It can hold up to 20 units."
|
||||
volume = 20
|
||||
origin_tech = "materials=3;engineering=3"
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/noreact/Initialize()
|
||||
/obj/item/reagent_containers/syringe/noreact/Initialize()
|
||||
. = ..()
|
||||
reagents.set_reacting(FALSE)
|
||||
|
||||
/obj/item/weapon/reagent_containers/syringe/piercing
|
||||
/obj/item/reagent_containers/syringe/piercing
|
||||
name = "piercing syringe"
|
||||
desc = "A diamond-tipped syringe that pierces armor when launched at high velocity. It can hold up to 10 units."
|
||||
volume = 10
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm (rejected hunks)
|
||||
@@ -16,7 +16,7 @@
|
||||
var/busy = FALSE // needed for delayed drawing of blood
|
||||
var/proj_piercing = 0 //does it pierce through thick clothes when shot with syringe gun
|
||||
materials = list(MAT_METAL=10, MAT_GLASS=20)
|
||||
- container_type = TRANSPARENT
|
||||
+ container_type = TRANSPARENT_1
|
||||
|
||||
/obj/item/reagent_containers/syringe/Initialize()
|
||||
. = ..()
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "water"
|
||||
density = TRUE
|
||||
anchored = FALSE
|
||||
container_type = DRAWABLE
|
||||
container_type = DRAWABLE_1
|
||||
pressure_resistance = 2*ONE_ATMOSPHERE
|
||||
max_integrity = 300
|
||||
var/tank_volume = 1000 //In units, how much the dispenser can hold
|
||||
@@ -17,8 +17,8 @@
|
||||
if(tank_volume && (damage_flag == "bullet" || damage_flag == "laser"))
|
||||
boom()
|
||||
|
||||
/obj/structure/reagent_dispensers/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/reagent_containers))
|
||||
/obj/structure/reagent_dispensers/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/reagent_containers))
|
||||
return 0 //so we can refill them via their afterattack.
|
||||
else
|
||||
return ..()
|
||||
@@ -42,7 +42,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/reagent_dispensers/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!disassembled)
|
||||
boom()
|
||||
else
|
||||
@@ -95,11 +95,11 @@
|
||||
boom()
|
||||
|
||||
/obj/structure/reagent_dispensers/fueltank/attackby(obj/item/I, mob/living/user, params)
|
||||
if(istype(I, /obj/item/weapon/weldingtool))
|
||||
if(istype(I, /obj/item/weldingtool))
|
||||
if(!reagents.has_reagent("welding_fuel"))
|
||||
to_chat(user, "<span class='warning'>[src] is out of fuel!</span>")
|
||||
return
|
||||
var/obj/item/weapon/weldingtool/W = I
|
||||
var/obj/item/weldingtool/W = I
|
||||
if(!W.welding)
|
||||
if(W.reagents.has_reagent("welding_fuel", W.max_fuel))
|
||||
to_chat(user, "<span class='warning'>Your [W.name] is already full!</span>")
|
||||
@@ -153,7 +153,7 @@
|
||||
to_chat(user, "<span class='warning'>There aren't any cups left!</span>")
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] takes a cup from [src].</span>", "<span class='notice'>You take a paper cup from [src].</span>")
|
||||
var/obj/item/weapon/reagent_containers/food/drinks/sillycup/S = new(get_turf(src))
|
||||
var/obj/item/reagent_containers/food/drinks/sillycup/S = new(get_turf(src))
|
||||
user.put_in_hands(S)
|
||||
paper_cups--
|
||||
|
||||
|
||||
Reference in New Issue
Block a user