Merge branch 'master' into cleanupTwo

This commit is contained in:
Kelenius
2016-04-21 11:41:32 +03:00
386 changed files with 7149 additions and 4820 deletions
+12 -2
View File
@@ -310,6 +310,7 @@
use_power = 1
idle_power_usage = 5
active_power_usage = 100
circuit = /obj/item/weapon/circuitboard/grinder
var/inuse = 0
var/obj/item/weapon/reagent_containers/beaker = null
var/limit = 10
@@ -326,6 +327,10 @@
/obj/machinery/reagentgrinder/New()
..()
beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src)
component_parts = list()
component_parts += new /obj/item/weapon/stock_parts/motor(src)
component_parts += new /obj/item/weapon/stock_parts/gear(src)
RefreshParts()
return
/obj/machinery/reagentgrinder/update_icon()
@@ -333,6 +338,11 @@
return
/obj/machinery/reagentgrinder/attackby(var/obj/item/O as obj, var/mob/user as mob)
if(beaker)
if(default_deconstruction_screwdriver(user, O))
return
if(default_deconstruction_crowbar(user, O))
return
if (istype(O,/obj/item/weapon/reagent_containers/glass) || \
istype(O,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass) || \
@@ -356,13 +366,13 @@
return
if(istype(O,/obj/item/weapon/storage/bag/plants))
var/obj/item/weapon/storage/bag/plants/bag = O
var/failed = 1
for(var/obj/item/G in O.contents)
if(!G.reagents || !G.reagents.total_volume)
continue
failed = 0
O.contents -= G
G.loc = src
bag.remove_from_storage(G, src)
holdingitems += G
if(holdingitems && holdingitems.len >= limit)
break
+2 -2
View File
@@ -127,7 +127,7 @@ About the Holder:
trans_to_obj(var/turf/target, var/amount = 1, var/multiplier = 1, var/copy = 0)
If target has reagents, transfers [amount] to it. Otherwise, same as trans_to_turf().
/atom/proc/create_reagents(var/max_vol)
atom/proc/create_reagents(var/max_vol)
Creates a new reagent datum.
About Reagents:
@@ -285,7 +285,7 @@ About the Tools:
By default, all atom have a reagents var - but its empty. if you want to use an object for the chem.
system you'll need to add something like this in its new proc:
/atom/proc/create_reagents(var/max_volume)
atom/proc/create_reagents(var/max_volume)
Other important stuff:
+1 -1
View File
@@ -55,7 +55,7 @@
return
if(!affects_dead && M.stat == DEAD)
return
if(overdose && (dose > overdose) && (location != CHEM_TOUCH))
if(overdose && (volume > overdose) && (location != CHEM_TOUCH))
overdose(M, alien)
var/removed = metabolism
if(ingest_met && (location == CHEM_INGEST))
+2 -2
View File
@@ -145,7 +145,7 @@
group = "Reagents"
#define SEC_PACK(_tname, _type, _name, _cname, _cost, _access)\
/datum/supply_packs/dispenser_cartridges{\
datum/supply_packs/dispenser_cartridges{\
_tname {\
name = _name ;\
containername = _cname ;\
@@ -157,7 +157,7 @@
}\
}
#define PACK(_tname, _type, _name, _cname, _cost)\
/datum/supply_packs/dispenser_cartridges{\
datum/supply_packs/dispenser_cartridges{\
_tname {\
name = _name ;\
containername = _cname ;\
@@ -0,0 +1,115 @@
var/list/lunchables_lunches_ = list(/obj/item/weapon/reagent_containers/food/snacks/sandwich,
/obj/item/weapon/reagent_containers/food/snacks/meatbreadslice,
/obj/item/weapon/reagent_containers/food/snacks/tofubreadslice,
/obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice,
/obj/item/weapon/reagent_containers/food/snacks/margheritaslice,
/obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice,
/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice,
/obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice,
/obj/item/weapon/reagent_containers/food/snacks/tastybread,
/obj/item/weapon/reagent_containers/food/snacks/liquidfood,
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry,
/obj/item/weapon/reagent_containers/food/snacks/tossedsalad)
var/list/lunchables_snacks_ = list(/obj/item/weapon/reagent_containers/food/snacks/donut/jelly,
/obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly,
/obj/item/weapon/reagent_containers/food/snacks/muffin,
/obj/item/weapon/reagent_containers/food/snacks/popcorn,
/obj/item/weapon/reagent_containers/food/snacks/sosjerky,
/obj/item/weapon/reagent_containers/food/snacks/no_raisin,
/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie,
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers,
/obj/item/weapon/reagent_containers/food/snacks/poppypretzel,
/obj/item/weapon/reagent_containers/food/snacks/carrotfries,
/obj/item/weapon/reagent_containers/food/snacks/candiedapple,
/obj/item/weapon/reagent_containers/food/snacks/applepie,
/obj/item/weapon/reagent_containers/food/snacks/cherrypie,
/obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit,
/obj/item/weapon/reagent_containers/food/snacks/appletart,
/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice,
/obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice,
/obj/item/weapon/reagent_containers/food/snacks/plaincakeslice,
/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice,
/obj/item/weapon/reagent_containers/food/snacks/limecakeslice,
/obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice,
/obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice,
/obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice,
/obj/item/weapon/reagent_containers/food/snacks/watermelonslice,
/obj/item/weapon/reagent_containers/food/snacks/applecakeslice,
/obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice,
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks)
var/list/lunchables_drinks_ = list(/obj/item/weapon/reagent_containers/food/drinks/cans/cola,
/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,
/obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind,
/obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb,
/obj/item/weapon/reagent_containers/food/drinks/cans/starkist,
/obj/item/weapon/reagent_containers/food/drinks/cans/space_up,
/obj/item/weapon/reagent_containers/food/drinks/cans/lemon_lime,
/obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea,
/obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice,
/obj/item/weapon/reagent_containers/food/drinks/cans/tonic,
/obj/item/weapon/reagent_containers/food/drinks/cans/sodawater)
// This default list is a bit different, it contains items we don't want
var/list/lunchables_drink_reagents_ = list(/datum/reagent/drink/nothing,
/datum/reagent/drink/doctor_delight,
/datum/reagent/drink/dry_ramen,
/datum/reagent/drink/hell_ramen,
/datum/reagent/drink/hot_ramen,
/datum/reagent/drink/nuka_cola,)
// This default list is a bit different, it contains items we don't want
var/list/lunchables_ethanol_reagents_ = list(/datum/reagent/ethanol/acid_spit,
/datum/reagent/ethanol/atomicbomb,
/datum/reagent/ethanol/beepsky_smash,
/datum/reagent/ethanol/coffee,
/datum/reagent/ethanol/hippies_delight,
/datum/reagent/ethanol/hooch,
/datum/reagent/ethanol/thirteenloko,
/datum/reagent/ethanol/manhattan_proj,
/datum/reagent/ethanol/neurotoxin,
/datum/reagent/ethanol/pwine,
/datum/reagent/ethanol/threemileisland,
/datum/reagent/ethanol/toxins_special)
/proc/lunchables_lunches()
if(!(lunchables_lunches_[lunchables_lunches_[1]]))
lunchables_lunches_ = init_lunchable_list(lunchables_lunches_)
return lunchables_lunches_
/proc/lunchables_snacks()
if(!(lunchables_snacks_[lunchables_snacks_[1]]))
lunchables_snacks_ = init_lunchable_list(lunchables_snacks_)
return lunchables_snacks_
/proc/lunchables_drinks()
if(!(lunchables_drinks_[lunchables_drinks_[1]]))
lunchables_drinks_ = init_lunchable_list(lunchables_drinks_)
return lunchables_drinks_
/proc/lunchables_drink_reagents()
if(!(lunchables_drink_reagents_[lunchables_drink_reagents_[1]]))
lunchables_drink_reagents_ = init_lunchable_reagent_list(lunchables_drink_reagents_, /datum/reagent/drink)
return lunchables_drink_reagents_
/proc/lunchables_ethanol_reagents()
if(!(lunchables_ethanol_reagents_[lunchables_ethanol_reagents_[1]]))
lunchables_ethanol_reagents_ = init_lunchable_reagent_list(lunchables_ethanol_reagents_, /datum/reagent/ethanol)
return lunchables_ethanol_reagents_
/proc/init_lunchable_list(var/list/lunches)
. = list()
for(var/lunch in lunches)
var/obj/O = lunch
.[initial(O.name)] = lunch
return sortAssoc(.)
/proc/init_lunchable_reagent_list(var/list/banned_reagents, var/reagent_types)
. = list()
for(var/reagent_type in subtypes(reagent_types))
if(reagent_type in banned_reagents)
continue
var/datum/reagent/reagent = reagent_type
.[initial(reagent.name)] = initial(reagent.id)
return sortAssoc(.)
@@ -2238,6 +2238,12 @@
filling_color = "#FF7575"
bitesize = 2
center_of_mass = list("x"=16, "y"=13)
/obj/item/weapon/reagent_containers/food/snacks/meatbreadslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("protein", 4)
reagents.add_reagent("nutriment", 2)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread
name = "xenomeatbread loaf"
@@ -2262,6 +2268,12 @@
filling_color = "#8AFF75"
bitesize = 2
center_of_mass = list("x"=16, "y"=13)
/obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("protein", 4)
reagents.add_reagent("nutriment", 2)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread
name = "Banana-nut bread"
@@ -2286,6 +2298,12 @@
filling_color = "#EDE5AD"
bitesize = 2
center_of_mass = list("x"=16, "y"=8)
/obj/item/weapon/reagent_containers/food/snacks/bananabreadslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("banana", 4)
reagents.add_reagent("nutriment", 4)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/tofubread
name = "Tofubread"
@@ -2309,6 +2327,11 @@
filling_color = "#F7FFE0"
bitesize = 2
center_of_mass = list("x"=16, "y"=13)
/obj/item/weapon/reagent_containers/food/snacks/tofubreadslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 6)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake
@@ -2334,6 +2357,12 @@
filling_color = "#FFD675"
bitesize = 2
center_of_mass = list("x"=16, "y"=14)
/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("imidazoline", 2)
reagents.add_reagent("nutriment", 5)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/braincake
name = "Brain Cake"
@@ -2359,6 +2388,13 @@
filling_color = "#E6AEDB"
bitesize = 2
center_of_mass = list("x"=16, "y"=12)
/obj/item/weapon/reagent_containers/food/snacks/braincakeslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("protein", 5)
reagents.add_reagent("nutriment", 1)
reagents.add_reagent("alkysine", 2)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake
name = "Cheese Cake"
@@ -2383,6 +2419,12 @@
filling_color = "#FAF7AF"
bitesize = 2
center_of_mass = list("x"=16, "y"=14)
/obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("protein", 3)
reagents.add_reagent("nutriment", 2)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake
name = "Vanilla Cake"
@@ -2405,6 +2447,11 @@
filling_color = "#F7EDD5"
bitesize = 2
center_of_mass = list("x"=16, "y"=14)
/obj/item/weapon/reagent_containers/food/snacks/plaincakeslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 4)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake
name = "Orange Cake"
@@ -2427,6 +2474,11 @@
filling_color = "#FADA8E"
bitesize = 2
center_of_mass = list("x"=16, "y"=14)
/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 4)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake
name = "Lime Cake"
@@ -2449,6 +2501,11 @@
filling_color = "#CBFA8E"
bitesize = 2
center_of_mass = list("x"=16, "y"=14)
/obj/item/weapon/reagent_containers/food/snacks/limecakeslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 4)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake
name = "Lemon Cake"
@@ -2471,6 +2528,11 @@
filling_color = "#FAFA8E"
bitesize = 2
center_of_mass = list("x"=16, "y"=14)
/obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 4)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake
name = "Chocolate Cake"
@@ -2493,6 +2555,11 @@
filling_color = "#805930"
bitesize = 2
center_of_mass = list("x"=16, "y"=14)
/obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 4)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel
name = "Cheese wheel"
@@ -2539,6 +2606,12 @@
filling_color = "#FFD6D6"
bitesize = 2
center_of_mass = list("x"=16, "y"=14)
/obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 4)
reagents.add_reagent("sprinkles", 2)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread
name = "Bread"
@@ -2562,6 +2635,11 @@
filling_color = "#D27332"
bitesize = 2
center_of_mass = list("x"=16, "y"=4)
/obj/item/weapon/reagent_containers/food/snacks/breadslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 1)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread
@@ -2587,7 +2665,12 @@
filling_color = "#FFF896"
bitesize = 2
center_of_mass = list("x"=16, "y"=13)
/obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("protein", 3)
reagents.add_reagent("nutriment", 1)
/obj/item/weapon/reagent_containers/food/snacks/watermelonslice
name = "Watermelon Slice"
@@ -2596,7 +2679,11 @@
filling_color = "#FF3867"
bitesize = 2
center_of_mass = list("x"=16, "y"=10)
/obj/item/weapon/reagent_containers/food/snacks/watermelonslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("watermelonjuice", 1)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake
name = "Apple Cake"
@@ -2619,6 +2706,11 @@
filling_color = "#EBF5B8"
bitesize = 2
center_of_mass = list("x"=16, "y"=14)
/obj/item/weapon/reagent_containers/food/snacks/applecakeslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 3)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie
name = "Pumpkin Pie"
@@ -2641,6 +2733,11 @@
filling_color = "#F5B951"
bitesize = 2
center_of_mass = list("x"=16, "y"=12)
/obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 3)
/obj/item/weapon/reagent_containers/food/snacks/cracker
name = "Cracker"
@@ -2683,6 +2780,13 @@
filling_color = "#BAA14C"
bitesize = 2
center_of_mass = list("x"=18, "y"=13)
/obj/item/weapon/reagent_containers/food/snacks/margheritaslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 5)
reagents.add_reagent("protein", 1)
reagents.add_reagent("tomatojuice", 1)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza
name = "Meatpizza"
@@ -2705,6 +2809,12 @@
filling_color = "#BAA14C"
bitesize = 2
center_of_mass = list("x"=18, "y"=13)
/obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("protein", 7)
reagents.add_reagent("tomatojuice", 1)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza
name = "Mushroompizza"
@@ -2727,6 +2837,12 @@
filling_color = "#BAA14C"
bitesize = 2
center_of_mass = list("x"=18, "y"=13)
/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 5)
reagents.add_reagent("protein", 1)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza
name = "Vegetable pizza"
@@ -2751,6 +2867,14 @@
filling_color = "#BAA14C"
bitesize = 2
center_of_mass = list("x"=18, "y"=13)
/obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice/New()
..()
if(!(reagents.total_volume))
reagents.add_reagent("nutriment", 4)
reagents.add_reagent("protein", 1)
reagents.add_reagent("tomatojuice", 1)
reagents.add_reagent("imidazoline", 2)
/obj/item/pizzabox
name = "pizza box"
@@ -40,7 +40,7 @@
/obj/machinery/sleeper,
/obj/machinery/smartfridge/,
/obj/machinery/biogenerator,
/obj/machinery/constructable_frame,
/obj/structure/frame,
/obj/machinery/radiocarbon_spectrometer
)
@@ -245,6 +245,17 @@
var/image/lid = image(icon, src, "lid_[initial(icon_state)]")
overlays += lid
/obj/item/weapon/reagent_containers/glass/cooler_bottle
desc = "A bottle for a water-cooler."
name = "water-cooler bottle"
icon = 'icons/obj/vending.dmi'
icon_state = "water_cooler_bottle"
matter = list(DEFAULT_WALL_MATERIAL = 200)
w_class = 3.0
amount_per_transfer_from_this = 20
possible_transfer_amounts = list(10,20,30,60,120)
volume = 120
/*
/obj/item/weapon/reagent_containers/glass/blender_jug
name = "Blender Jug"
@@ -55,16 +55,18 @@
var/image/lid = image(icon, src, "lid_bottle")
overlays += lid
/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline
name = "inaprovaline bottle"
desc = "A small bottle. Contains inaprovaline - used to stabilize patients."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
reagents.add_reagent("inaprovaline", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline/New()
..()
reagents.add_reagent("inaprovaline", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/toxin
name = "toxin bottle"
@@ -72,10 +74,11 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-3"
New()
..()
reagents.add_reagent("toxin", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/toxin/New()
..()
reagents.add_reagent("toxin", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/cyanide
name = "cyanide bottle"
@@ -83,10 +86,11 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-3"
New()
..()
reagents.add_reagent("cyanide", 30) //volume changed to match chloral
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/cyanide/New()
..()
reagents.add_reagent("cyanide", 30) //volume changed to match chloral
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/stoxin
name = "soporific bottle"
@@ -94,10 +98,11 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-3"
New()
..()
reagents.add_reagent("stoxin", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/stoxin/New()
..()
reagents.add_reagent("stoxin", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate
name = "Chloral Hydrate Bottle"
@@ -105,10 +110,11 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-3"
New()
..()
reagents.add_reagent("chloralhydrate", 30) //Intentionally low since it is so strong. Still enough to knock someone out.
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate/New()
..()
reagents.add_reagent("chloralhydrate", 30) //Intentionally low since it is so strong. Still enough to knock someone out.
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/antitoxin
name = "dylovene bottle"
@@ -116,10 +122,11 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
reagents.add_reagent("anti_toxin", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/antitoxin/New()
..()
reagents.add_reagent("anti_toxin", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/mutagen
name = "unstable mutagen bottle"
@@ -127,10 +134,11 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-1"
New()
..()
reagents.add_reagent("mutagen", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/mutagen/New()
..()
reagents.add_reagent("mutagen", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/ammonia
name = "ammonia bottle"
@@ -138,10 +146,47 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-1"
New()
..()
reagents.add_reagent("ammonia", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/ammonia/New()
..()
reagents.add_reagent("ammonia", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/eznutrient
name = "\improper EZ NUtrient bottle"
desc = "A small bottle."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
/obj/item/weapon/reagent_containers/glass/bottle/eznutrient/New()
..()
reagents.add_reagent("eznutrient", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/left4zed
name = "\improper Left-4-Zed bottle"
desc = "A small bottle."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
/obj/item/weapon/reagent_containers/glass/bottle/left4zed/New()
..()
reagents.add_reagent("left4zed", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/robustharvest
name = "\improper Robust Harvest"
desc = "A small bottle."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
/obj/item/weapon/reagent_containers/glass/bottle/robustharvest/New()
..()
reagents.add_reagent("robustharvest", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/diethylamine
name = "diethylamine bottle"
@@ -149,47 +194,56 @@
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
reagents.add_reagent("diethylamine", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/diethylamine/New()
..()
reagents.add_reagent("diethylamine", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/pacid
name = "Polytrinic Acid Bottle"
desc = "A small bottle. Contains a small amount of Polytrinic Acid"
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
reagents.add_reagent("pacid", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/pacid/New()
..()
reagents.add_reagent("pacid", 60)
update_icon()
/obj/item/weapon/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"
New()
..()
reagents.add_reagent("adminordrazine", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine/New()
..()
reagents.add_reagent("adminordrazine", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/capsaicin
name = "Capsaicin Bottle"
desc = "A small bottle. Contains hot sauce."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
reagents.add_reagent("capsaicin", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/capsaicin/New()
..()
reagents.add_reagent("capsaicin", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/frostoil
name = "Frost Oil Bottle"
desc = "A small bottle. Contains cold sauce."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
reagents.add_reagent("frostoil", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/frostoil/New()
..()
reagents.add_reagent("frostoil", 60)
update_icon()
@@ -3,7 +3,7 @@
////////////////////////////////////////////////////////////////////////////////
/obj/item/weapon/reagent_containers/pill
name = "pill"
desc = "a pill."
desc = "A pill."
icon = 'icons/obj/chemical.dmi'
icon_state = null
item_state = "pill"
+66 -7
View File
@@ -68,7 +68,7 @@
//Dispensers
/obj/structure/reagent_dispensers/watertank
name = "watertank"
desc = "A watertank"
desc = "A watertank."
icon = 'icons/obj/objects.dmi'
icon_state = "watertank"
amount_per_transfer_from_this = 10
@@ -78,7 +78,7 @@
/obj/structure/reagent_dispensers/fueltank
name = "fueltank"
desc = "A fueltank"
desc = "A fueltank."
icon = 'icons/obj/objects.dmi'
icon_state = "weldtank"
amount_per_transfer_from_this = 10
@@ -183,7 +183,7 @@
/obj/structure/reagent_dispensers/peppertank
name = "Pepper Spray Refiller"
desc = "Refill pepper spray canisters."
desc = "Refills pepper spray canisters."
icon = 'icons/obj/objects.dmi'
icon_state = "peppertank"
anchored = 1
@@ -202,10 +202,69 @@
icon_state = "water_cooler"
possible_transfer_amounts = null
anchored = 1
New()
..()
reagents.add_reagent("water",500)
var/bottle = 0
/obj/structure/reagent_dispensers/water_cooler/New()
if(bottle == 1)
..()
reagents.add_reagent("water",120)
else
icon_state = "water_cooler_0"
/obj/structure/reagent_dispensers/water_cooler/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/weapon/wrench))
src.add_fingerprint(user)
if(bottle)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 20))
user << "<span class='notice'>You unfasten the jug.</span>"
var/obj/item/weapon/reagent_containers/glass/cooler_bottle/G = new /obj/item/weapon/reagent_containers/glass/cooler_bottle( src.loc )
for(var/datum/reagent/R in reagents.reagent_list)
var/total_reagent = reagents.get_reagent_amount(R.id)
G.reagents.add_reagent(R.id, total_reagent)
reagents.clear_reagents()
bottle = 0
icon_state = "water_cooler_0"
else
if(anchored)
user.visible_message("\The [user] begins unsecuring \the [src] from the floor.", "You start unsecuring \the [src] from the floor.")
else
user.visible_message("\The [user] begins securing \the [src] to the floor.", "You start securing \the [src] to the floor.")
if(do_after(user, 20, src))
if(!src) return
user << "<span class='notice'>You [anchored? "un" : ""]secured \the [src]!</span>"
anchored = !anchored
return
if(istype(I, /obj/item/weapon/screwdriver))
if(!bottle)
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
user << "<span class='notice'>You take the water-cooler apart.</span>"
new /obj/item/stack/material/plastic( src.loc, 4 )
qdel(src)
return
if(istype(I, /obj/item/weapon/reagent_containers/glass/cooler_bottle))
src.add_fingerprint(user)
if(!bottle)
if(anchored)
var/obj/item/weapon/reagent_containers/glass/cooler_bottle/G = I
user << "<span class='notice'>You start to screw the bottle onto the water-cooler.</span>"
if(do_after(user, 20))
bottle = 1
icon_state = "water_cooler"
user << "<span class='notice'>You screw the bottle onto the water-cooler but accidently spill some!</span>" //you spill some because it for somereason transfers 5 units to the bottle after it gets attached but before it's deleted...
for(var/datum/reagent/R in G.reagents.reagent_list)
var/total_reagent = G.reagents.get_reagent_amount(R.id)
reagents.add_reagent(R.id, total_reagent)
qdel(G)
else
user << "<span class='warning'>You need to wrench down the cooler first.</span>"
else
user << "<span class='warning'>There is already a bottle there!</span>"
return
else
return ..()
/obj/structure/reagent_dispensers/beerkeg
name = "beer keg"
@@ -225,7 +284,7 @@
/obj/structure/reagent_dispensers/virusfood
name = "Virus Food Dispenser"
desc = "A dispenser of virus food."
desc = "A dispenser of virus food. Yum."
icon = 'icons/obj/objects.dmi'
icon_state = "virusfoodtank"
amount_per_transfer_from_this = 10