From a58c85941b7323e13f3935fd8add804c83a46acd Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 19 Jul 2016 14:06:41 -0400 Subject: [PATCH] More Reagent Refactoring --- .../MetaStation/MetaStation.v41A.II.dmm | 2 +- _maps/map_files/RandomZLevels/academy.dmm | 5 +- _maps/map_files/RandomZLevels/centcomAway.dmm | 10 +- .../map_files/RandomZLevels/moonoutpost19.dmm | 2 +- .../RandomZLevels/undergroundoutpost45.dmm | 2 +- _maps/map_files/cyberiad/cyberiad.dmm | 2 +- _maps/map_files/cyberiad/z4.dmm | 14 +- code/__HELPERS/names.dm | 4 +- code/_globalvars/lists/reagents.dm | 4 +- code/datums/supplypacks.dm | 4 +- code/game/machinery/vending.dm | 2 +- .../crates_lockers/closets/secure/freezer.dm | 4 +- code/modules/reagents/Chemistry-Machinery.dm | 2 +- code/modules/reagents/newchem/drinks.dm | 2 +- code/modules/reagents/newchem/patch.dm | 20 +- .../chemical_reaction_drink.dm | 18 +- .../reagents/drink/reagents_alcohol.dm | 8 +- .../reagent_containers/{glass => }/bottle.dm | 712 +++++----- .../reagents/reagent_containers/drugs.dm | 136 -- .../reagents/reagent_containers/food/cans.dm | 146 +-- .../reagent_containers/food/condiment.dm | 210 ++- .../reagent_containers/food/drinks.dm | 251 ++-- .../reagent_containers/food/drinks/bottle.dm | 239 ++-- .../food/drinks/drinkingglass.dm | 1147 ++++++++--------- .../reagent_containers/food/drinks/jar.dm | 29 - .../food/drinks/shotglass.dm | 13 +- .../reagent_containers/glass_containers.dm | 52 +- icons/obj/drinks.dmi | Bin 68166 -> 70799 bytes icons/obj/food/containers.dmi | Bin 0 -> 8842 bytes icons/obj/reagentfillings.dmi | Bin 2134 -> 2260 bytes paradise.dme | 4 +- 31 files changed, 1298 insertions(+), 1746 deletions(-) rename code/modules/reagents/reagent_containers/{glass => }/bottle.dm (94%) delete mode 100644 code/modules/reagents/reagent_containers/drugs.dm delete mode 100644 code/modules/reagents/reagent_containers/food/drinks/jar.dm create mode 100644 icons/obj/food/containers.dmi diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index d6bc561771b..02ea1f45638 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -3373,7 +3373,7 @@ "bmS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atm{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central) "bmT" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/door/poddoor/preopen{id_tag = "bridge blast"; layer = 2.9; name = "bridge blast door"},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/bridge) "bmU" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/photo_album{pixel_y = -4},/obj/item/device/camera{pixel_y = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (Captain)"; pixel_x = -28},/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) -"bmV" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/item/weapon/razor{pixel_x = -4; pixel_y = 2},/obj/item/clothing/mask/cigarette/cigar,/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) +"bmV" = (/obj/machinery/light_switch{pixel_y = -25},/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/item/weapon/reagent_containers/food/drinks/flask/gold,/obj/item/weapon/razor{pixel_x = -4; pixel_y = 2},/obj/item/clothing/mask/cigarette/cigar,/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "bmW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "bmX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) "bmY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/captain{name = "\improper Captain's Quarters"}) diff --git a/_maps/map_files/RandomZLevels/academy.dmm b/_maps/map_files/RandomZLevels/academy.dmm index 5a371c50a06..500720c279f 100644 --- a/_maps/map_files/RandomZLevels/academy.dmm +++ b/_maps/map_files/RandomZLevels/academy.dmm @@ -341,6 +341,7 @@ "gC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) "gD" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/carpet,/area/awaymission/academy/academyaft) "gE" = (/obj/structure/table,/obj/item/weapon/paper{info = "Grade: B- Educator's Notes: Keep applying yourself, you're showing improvement."; name = "Summoning Midterm Exam"},/obj/item/weapon/gun/projectile/shotgun/toy/tommygun,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) +"gF" = (/obj/structure/window/reinforced,/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/trophy/gold_cup,/turf/simulated/floor/plasteel{icon_state = "red"},/area/awaymission/academy/academyaft) "gG" = (/obj/structure/table,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/academy/classrooms) "gH" = (/obj/structure/window/reinforced,/obj/item/ammo_casing,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/awaymission/academy/classrooms) "gI" = (/mob/living/simple_animal/hostile/bear,/turf/simulated/floor/plating,/area/awaymission/academy/classrooms) @@ -482,7 +483,6 @@ "jo" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/awaymission/academy/academyaft) "jp" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel/airless{tag = "icon-white (EAST)"; icon_state = "white"; dir = 4},/area/awaymission/academy/academyaft) "jq" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/awaymission/academy/academyaft) -"jr" = (/obj/structure/window/reinforced,/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/golden_cup,/turf/simulated/floor/plasteel{icon_state = "red"},/area/awaymission/academy/academyaft) "js" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/awaymission/academy/academyaft) "jt" = (/obj/structure/cult/pylon,/turf/simulated/floor/plasteel{icon_state = "yellow"; dir = 10},/area/awaymission/academy/academyaft) "ju" = (/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/awaymission/academy/academyaft) @@ -633,7 +633,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaSaSaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaaaaaaaSaSaaaaaaaaaaaaaaaaaagZiViWiWiXgZaaaaaaiYhDiZjafLfCfDfDfDfDfDfDfDfDfDfLjbjcjdjeaaaaaagZiViWiWiXgZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaSaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagZjfjgjafLjhfBfBjifBfBjifBfBjjfLjbjkjlgZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaSaSaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYhDjmjafLfCfDjnhlkxhlhljofDfDfLjbjpjdjqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagZjrjsjafLfCfDjtjujujujujvfDfDfLjbjwjxgZjyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaSaSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagZgFjsjafLfCfDjtjujujujujvfDfDfLjbjwjxgZjyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagZgZjzjafLfCjAfDfDfDfDfDfDjAfDfLjbjzgZgZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagZgZjBfLjCetjDfDfDfDfDjEetjDfLjBgZgZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagZgZfLjFjGgCgDfDfDfDfDjHfDfLgZgZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -672,3 +672,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} + diff --git a/_maps/map_files/RandomZLevels/centcomAway.dmm b/_maps/map_files/RandomZLevels/centcomAway.dmm index 9def97f64f2..2cc70f5d3ee 100644 --- a/_maps/map_files/RandomZLevels/centcomAway.dmm +++ b/_maps/map_files/RandomZLevels/centcomAway.dmm @@ -145,6 +145,7 @@ "cO" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar) "cP" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaymission/centcomAway/hangar) "cQ" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 8},/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar) +"cR" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/trophy/gold_cup,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/general) "cS" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/awaymission/centcomAway/hangar) "cT" = (/turf/simulated/shuttle/wall{icon_state = "swallc2"; dir = 2},/area/awaymission/centcomAway/hangar) "cU" = (/turf/simulated/floor/plating,/area/awaymission/centcomAway/hangar) @@ -250,6 +251,7 @@ "eQ" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/awaymission/centcomAway/general) "eR" = (/obj/machinery/autolathe,/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/awaymission/centcomAway/general) "eS" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general) +"eT" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/sugar,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/drinks/ice,/turf/simulated/floor/plasteel{tag = "icon-barber (WEST)"; icon_state = "barber"; dir = 8; heat_capacity = 1},/area/awaymission/centcomAway/thunderdome) "eU" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general) "eV" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/anesthetic,/obj/item/clothing/mask/breath/medical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general) "eW" = (/obj/machinery/implantchair,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/general) @@ -594,7 +596,6 @@ "lx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/awaymission/centcomAway/general) "ly" = (/obj/structure/table/woodentable,/obj/item/clothing/accessory/medal,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/general) "lz" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/general) -"lA" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/golden_cup,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/general) "lB" = (/obj/structure/table/woodentable,/obj/item/clothing/accessory/medal/gold,/turf/simulated/floor/carpet,/area/awaymission/centcomAway/general) "lC" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaymission/centcomAway/general) "lD" = (/turf/simulated/wall/r_wall,/area/awaymission/centcomAway/thunderdome) @@ -622,7 +623,6 @@ "lZ" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/plasteel{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/awaymission/centcomAway/thunderdome) "ma" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/awaymission/centcomAway/thunderdome) "mb" = (/obj/structure/table,/obj/item/weapon/lipstick,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/centcomAway/thunderdome) -"mc" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/sugar,/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/reagent_containers/food/drinks/ice,/turf/simulated/floor/plasteel{tag = "icon-barber (WEST)"; icon_state = "barber"; dir = 8; heat_capacity = 1},/area/awaymission/centcomAway/thunderdome) "md" = (/obj/machinery/icecream_vat,/turf/simulated/floor/plasteel{tag = "icon-barber (WEST)"; icon_state = "barber"; dir = 8; heat_capacity = 1},/area/awaymission/centcomAway/thunderdome) "me" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/centcomAway/thunderdome) "mf" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/awaymission/centcomAway/thunderdome) @@ -791,8 +791,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmbmeFjyjthgjsjsiElrlslsltksivgogojOiEjGjGjslueFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmeFeFeFeFeFeFeFeFeFeFlviclweFeFeFeFeFeFeFeFeFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmlxlyhkeGeGeGhklzlxbmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmhylAhyeGeGeGhylAhybmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmkslAhyeGeGeGhylBksbmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmhycRhyeGeGeGhycRhybmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmkscRhyeGeGeGhylBksbmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmeFeFhylClxlChyeFeFbmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDlDlDlDlDlElFlGlDaaaaaaaaksfDksfDksaaaaaaaalDlElFlGlDlDlDlDlDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDlDlHlIlIlDlDlDlDlDlDlDlDlDlDlJlDlJlDlDlDlDlDlDlDlDlDlDlKlLlMlDlDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -801,7 +801,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDlNlNlDlPlDlDlDlDlDlDlDlDlDlDlDlQlRlSlDlDlDlDlDlDlDlNlTlTlTlNlNlNlNlDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDlNlNlDlUlUlUlUlUlVlWlWlWlWlXlWlWlWlWlWlXlYlXlZmalDlNlLlLlLlNlNlNlNlDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDlNlNlDlUlUlUlUlUlVlWlWlWlWlWlWlWlWlWlWlWlWlWlWlWlDlNmblLlLlNlNlNlNlDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDlNlNlDmcmcmdmdlUlVlWlWlWlWlWlWlWlWlWlWlWlWlWlWlWlDlNmememelNlNlNlNlDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDlNlNlDeTeTmdmdlUlVlWlWlWlWlWlWlWlWlWlWlWlWlWlWlWlDlNmememelNlNlNlNlDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDlDlNlNlDlDlDlDlDlDlDmfmfmfmfmfmfmfmfmfmfmfmfmfmfmflDlDlDlDlDlDlNlNlNlDlDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDlDmglNlNlDlDmhmhmhmhlDmimjmjmjmjmjmjmjmjmjmjmjmjmjmklDmhmhmhmhlDlNlNlNmllDlDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalDlDlDlDlDlDmglNlDlDlDmmmmmmmmlDmnmompmompmomqmrmsmtmumtmumtmvlDmmmmmmmmlDlDlDlNmllDlDlDlDlDlDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/RandomZLevels/moonoutpost19.dmm b/_maps/map_files/RandomZLevels/moonoutpost19.dmm index 57218ff1ad2..a2ac44e94d5 100644 --- a/_maps/map_files/RandomZLevels/moonoutpost19.dmm +++ b/_maps/map_files/RandomZLevels/moonoutpost19.dmm @@ -637,7 +637,7 @@ "mm" = (/obj/structure/table,/obj/item/weapon/storage/backpack/satchel/withwallet,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "mn" = (/obj/structure/closet/secure_closet{icon_state = "secure"; locked = 0; name = "kitchen Cabinet"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/sugar,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "mo" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "meat fridge"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) -"mp" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/storage/fancy/egg_box,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) +"mp" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/storage/fancy/egg_box,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "mq" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "mr" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) "ms" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"}) diff --git a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm index 04d8818ad02..bf249399535 100644 --- a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm +++ b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm @@ -452,7 +452,7 @@ "iJ" = (/obj/machinery/door/firedoor,/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) "iK" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) "iL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) -"iM" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/reagent_containers/food/drinks/milk,/obj/item/weapon/storage/fancy/egg_box,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) +"iM" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/storage/fancy/egg_box,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) "iN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "iO" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/structure/sign/biohazard{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"}) "iP" = (/obj/structure/table,/obj/item/device/radio/off,/obj/item/device/radio/off,/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"}) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index f27a5e4909a..64a7a072711 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -4359,7 +4359,7 @@ "bFQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/space,/area/space) "bFR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/obj/structure/closet/secure_closet/captains,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/carpet,/area/crew_quarters/captain/bedroom) "bFS" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/obj/machinery/camera{c_tag = "Captain's Quarters"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/carpet,/area/crew_quarters/captain/bedroom) -"bFT" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{name = "station intercom (General)"; pixel_y = -28},/obj/item/weapon/storage/box/matches,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/obj/item/clothing/mask/cigarette/cigar,/obj/item/weapon/razor{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/carpet,/area/crew_quarters/captain/bedroom) +"bFT" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{name = "station intercom (General)"; pixel_y = -28},/obj/item/weapon/storage/box/matches,/obj/item/weapon/reagent_containers/food/drinks/flask/gold,/obj/item/clothing/mask/cigarette/cigar,/obj/item/weapon/razor{pixel_x = -4; pixel_y = 2},/turf/simulated/floor/carpet,/area/crew_quarters/captain/bedroom) "bFU" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 1; icon_state = "left"; name = "Shower"; req_access_txt = "0"},/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/item/weapon/soap/deluxe,/obj/item/weapon/bikehorn/rubberducky,/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/crew_quarters/captain/bedroom) "bFV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/captain) "bFW" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/sign/poster/legit{pixel_x = -32},/turf/simulated/floor/plasteel,/area/hallway/primary/central/se) diff --git a/_maps/map_files/cyberiad/z4.dmm b/_maps/map_files/cyberiad/z4.dmm index b980f8a7098..c8ef280d538 100644 --- a/_maps/map_files/cyberiad/z4.dmm +++ b/_maps/map_files/cyberiad/z4.dmm @@ -237,7 +237,7 @@ "eC" = (/obj/machinery/computer/shuttle/engineering,/turf/simulated/floor/plasteel,/area/engiestation) "eD" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/obj/machinery/light_switch{pixel_y = -28},/turf/simulated/floor/plasteel,/area/engiestation) "eE" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/decal/cleanable/dirt,/obj/machinery/light,/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = -28},/turf/simulated/floor/plasteel,/area/engiestation) -"eF" = (/obj/item/weapon/storage/fancy/egg_box,/obj/item/weapon/storage/box/drinkingglasses,/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/milk,/turf/simulated/floor/plasteel,/area/engiestation) +"eF" = (/obj/item/weapon/storage/fancy/egg_box,/obj/item/weapon/storage/box/drinkingglasses,/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/milk,/turf/simulated/floor/plasteel,/area/engiestation) "eG" = (/obj/machinery/light_switch{pixel_x = -28; pixel_y = 0},/turf/simulated/floor/plasteel,/area/engiestation) "eH" = (/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/engiestation) "eI" = (/obj/docking_port/stationary{dir = 8; dwidth = 10; height = 35; id = "whiteship_z4"; name = "east of engistation"; width = 21},/turf/space,/area/space) @@ -245,6 +245,8 @@ "eK" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/engiestation) "eL" = (/obj/docking_port/stationary{dir = 2; dwidth = 3; height = 5; id = "engineering_away"; name = "engineering outpost dock"; width = 7},/turf/space,/area/space) "eM" = (/obj/machinery/field/generator,/turf/simulated/floor/plating/airless,/area/space) +"eN" = (/obj/item/weapon/grenade/chem_grenade/drugs,/turf/simulated/floor/plating,/area/exploration/methlab) +"eO" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/drugs/meth,/obj/item/weapon/reagent_containers/glass/beaker/drugs/meth,/obj/item/weapon/reagent_containers/glass/beaker/drugs/meth,/turf/simulated/floor/plating,/area/exploration/methlab) "fe" = (/turf/simulated/floor/plasteel/airless{icon_state = "white"},/area/constructionsite/medical) "ff" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/medical) "fg" = (/obj/machinery/sleeper{dir = 8},/turf/simulated/floor/plasteel/airless{icon_state = "white"},/area/constructionsite/medical) @@ -301,13 +303,11 @@ "gk" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/plating,/area/exploration/methlab) "gl" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating,/area/exploration/methlab) "gm" = (/obj/machinery/door/airlock/external{name = "Crackden Airlock"},/turf/simulated/floor/plating,/area/exploration/methlab) -"gn" = (/obj/item/weapon/reagent_containers/drugs/baggie,/turf/simulated/floor/plating,/area/exploration/methlab) "go" = (/turf/simulated/floor/plating,/area/exploration/methlab) "gp" = (/obj/machinery/door/airlock/external{name = "Plain Airlock"},/turf/simulated/floor/plating,/area/exploration/methlab) "gq" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/plating,/area/exploration/methlab) "gr" = (/obj/item/ammo_casing{pixel_y = 3},/turf/simulated/floor/plating,/area/exploration/methlab) "gs" = (/obj/effect/decal/cleanable/blood/oil,/obj/item/ammo_casing{pixel_x = -4; pixel_y = -6},/turf/simulated/floor/plating,/area/exploration/methlab) -"gt" = (/obj/structure/table,/obj/item/weapon/reagent_containers/drugs/baggie/meth,/obj/item/weapon/reagent_containers/drugs/baggie/meth,/obj/item/weapon/reagent_containers/drugs/baggie/meth,/turf/simulated/floor/plating,/area/exploration/methlab) "gu" = (/obj/machinery/power/apc/noalarm{pixel_x = 26},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/exploration/methlab) "gv" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/exploration/methlab) "gw" = (/obj/machinery/chem_master,/turf/simulated/floor/plating,/area/exploration/methlab) @@ -510,10 +510,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggggggaaaaggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagefZgbgbgbgbgbgfgdfZgbfZgdgfgbgbgbgbgbfZgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggggggggggggggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZfZgbgbgbgbgbgfgdfZgbfZgdgfgbgbgbgbgbfZfZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggggggggggggggggggggggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagfgbgbgbgbgbgbgfgdfZgbfZgdgfgbgbgbgbgbgbgfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggggggghgigjgkgkglgmgngogpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagfgbgbgbgbgbgbgfgdfZgbfZgdgfgbgbgbgbgbgbgfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagggggqgngogogrgsgnggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagfgbgbgbgbgbgbgfgdfZgbfZgdgfgbgbgbgbgbgbgfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagggggggtgogogugggogogvggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagfgbgbgbgbgbgbgfgdfZgbfZgdgfgbgbgbgbgbgbgfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagggggggwgogxgygggngoggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagfgbgbgbgbgbgbgfgdfZgbfZgdgfgbgbgbgbgbgbgfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggggggghgigjgkgkglgmeNgogpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagfgbgbgbgbgbgbgfgdfZgbfZgdgfgbgbgbgbgbgbgfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagggggqeNgogogrgseNggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagfgbgbgbgbgbgbgfgdfZgbfZgdgfgbgbgbgbgbgbgfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggggggeOgogogugggogogvggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagfgbgbgbgbgbgbgfgdfZgbfZgdgfgbgbgbgbgbgbgfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagggggggwgogxgyggeNgoggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagfgbgbgbgbgbgbgfgdfZgbfZgdgfgbgbgbgbgbgbgfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagggggggzgAgogggggogoggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZfZgbgbgbgbgbfZfZfZgafZfZfZgbgbgbgbgbfZfZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagggggggBgogogggggCgCggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagefZfZfZgDfZfZfZgbgbgbgbgbfZfZfZgafZfZfZgeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagggggggEggggggggggaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagegegfgbgbgbgfgbgbgbgbgbgbgbgfgbgbgbgfgegeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index 0375b7aacea..6b90ace2489 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -175,7 +175,7 @@ var/syndicate_code_response//Code response for traitors. var/safety[] = list(1,2,3)//Tells the proc which options to remove later on. var/nouns[] = list("love","hate","anger","peace","pride","sympathy","bravery","loyalty","honesty","integrity","compassion","charity","success","courage","deceit","skill","beauty","brilliance","pain","misery","beliefs","dreams","justice","truth","faith","liberty","knowledge","thought","information","culture","trust","dedication","progress","education","hospitality","leisure","trouble","friendships", "relaxation") - var/drinks[] = list("vodka and tonic","gin fizz","bahama mama","manhattan","black Russian","whiskey soda","long island tea","margarita","Irish coffee"," manly dwarf","Irish cream","doctor's delight","Beepksy Smash","tequilla sunrise","brave bull","gargle blaster","bloody mary","whiskey cola","white Russian","vodka martini","martini","Cuba libre","kahlua","vodka","wine","moonshine") + var/drinks[] = list("vodka and tonic","gin fizz","bahama mama","manhattan","black Russian","whiskey soda","long island tea","margarita","Irish coffee"," manly dwarf","Irish cream","doctor's delight","Beepksy Smash","tequila sunrise","brave bull","gargle blaster","bloody mary","whiskey cola","white Russian","vodka martini","martini","Cuba libre","kahlua","vodka","wine","moonshine") var/locations[] = teleportlocs.len ? teleportlocs : drinks//if null, defaults to drinks instead. var/names[] = list() @@ -269,7 +269,7 @@ var/syndicate_code_response//Code response for traitors. else syndicate_code_phrase += pick("One") syndicate_code_phrase += " " - syndicate_code_phrase += pick("vodka and tonic","gin fizz","bahama mama","manhattan","black Russian","whiskey soda","long island tea","margarita","Irish coffee"," manly dwarf","Irish cream","doctor's delight","Beepksy Smash","tequilla sunrise","brave bull","gargle blaster","bloody mary","whiskey cola","white Russian","vodka martini","martini","Cuba libre","kahlua","vodka","wine","moonshine") + syndicate_code_phrase += pick("vodka and tonic","gin fizz","bahama mama","manhattan","black Russian","whiskey soda","long island tea","margarita","Irish coffee"," manly dwarf","Irish cream","doctor's delight","Beepksy Smash","tequila sunrise","brave bull","gargle blaster","bloody mary","whiskey cola","white Russian","vodka martini","martini","Cuba libre","kahlua","vodka","wine","moonshine") syndicate_code_phrase += "." if(4) syndicate_code_phrase += pick("I wish I was","My dad was","His mom was","Where do I find","The hero this station needs is","I'd fuck","I wouldn't trust","Someone caught","HoS caught","Someone found","I'd wrestle","I wanna kill") diff --git a/code/_globalvars/lists/reagents.dm b/code/_globalvars/lists/reagents.dm index 23d310be857..4b9786a86df 100644 --- a/code/_globalvars/lists/reagents.dm +++ b/code/_globalvars/lists/reagents.dm @@ -34,10 +34,10 @@ var/list/drinks = list("beer2","hot_coco","orangejuice","tomatojuice","limejuice "nothing","potato","milk","soymilk","cream","coffee","tea","icecoffee", "icetea","cola","nuka_cola","spacemountainwind","thirteenloko","dr_gibb", "space_up","lemon_lime","beer","whiskey","gin","rum","vodka","holywater", - "tequilla","vermouth","wine","tonic","kahlua","cognac","ale","sodawater", + "tequila","vermouth","wine","tonic","kahlua","cognac","ale","sodawater", "ice","bilk","atomicbomb","threemileisland","goldschlager","patron","gintonic", "cubalibre","whiskeycola","martini","vodkamartini","whiterussian","screwdrivercocktail", - "booger","bloodymary","gargleblaster","bravebull","tequillasunrise","toxinsspecial", + "booger","bloodymary","gargleblaster","bravebull","tequilasunrise","toxinsspecial", "beepskysmash","salglu_solution","irishcream","manlydorf","longislandicedtea", "moonshine","b52","irishcoffee","margarita","blackrussian","manhattan", "manhattan_proj","whiskeysoda","antifreeze","barefoot","snowwhite","demonsblood", diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 4b468d81ccc..8deb2dc1a68 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -861,8 +861,8 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine name = "Food Crate" contains = list(/obj/item/weapon/reagent_containers/food/condiment/flour, /obj/item/weapon/reagent_containers/food/condiment/rice, - /obj/item/weapon/reagent_containers/food/drinks/milk, - /obj/item/weapon/reagent_containers/food/drinks/soymilk, + /obj/item/weapon/reagent_containers/food/condiment/milk, + /obj/item/weapon/reagent_containers/food/condiment/soymilk, /obj/item/weapon/reagent_containers/food/condiment/saltshaker, /obj/item/weapon/reagent_containers/food/condiment/peppermill, /obj/item/weapon/storage/fancy/egg_box, diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 78f7eb4efb5..b6fc160a6f6 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -703,7 +703,7 @@ icon_deny = "boozeomat-deny" products = list(/obj/item/weapon/reagent_containers/food/drinks/bottle/gin = 5, /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey = 5, - /obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla = 5, + /obj/item/weapon/reagent_containers/food/drinks/bottle/tequila = 5, /obj/item/weapon/reagent_containers/food/drinks/bottle/vodka = 5, /obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth = 5, /obj/item/weapon/reagent_containers/food/drinks/bottle/rum = 5, diff --git a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm index 896ab5e1dd1..a008e3843e9 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm @@ -70,8 +70,8 @@ New() ..() for(var/i in 1 to 5) - new /obj/item/weapon/reagent_containers/food/drinks/milk(src) - new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src) + new /obj/item/weapon/reagent_containers/food/condiment/milk(src) + new /obj/item/weapon/reagent_containers/food/condiment/soymilk(src) for(var/i in 1 to 2) new /obj/item/weapon/storage/fancy/egg_box(src) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index acbb9648098..197df4425ec 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -280,7 +280,7 @@ energy = 100 max_energy = 100 desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one." - dispensable_reagents = list("ice", "cream", "cider", "beer", "kahlua", "whiskey", "wine", "vodka", "gin", "rum", "tequilla", "vermouth", "cognac", "ale", "mead", "synthanol") + dispensable_reagents = list("ice", "cream", "cider", "beer", "kahlua", "whiskey", "wine", "vodka", "gin", "rum", "tequila", "vermouth", "cognac", "ale", "mead", "synthanol") hack_message = "You disable the 'nanotrasen-are-cheap-bastards' lock, enabling hidden and very expensive boozes." unhack_message = "You re-enable the 'nanotrasen-are-cheap-bastards' lock, disabling hidden and very expensive boozes." hacked_reagents = list("goldschlager", "patron", "absinthe", "ethanol", "nothing") diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm index 201cc97f806..4790b4d01ec 100644 --- a/code/modules/reagents/newchem/drinks.dm +++ b/code/modules/reagents/newchem/drinks.dm @@ -201,7 +201,7 @@ name = "Uplink" id = "uplink" result = "uplink" - required_reagents = list("rum" = 1, "vodka" = 1, "tequilla" = 1, "whiskey" = 1, "synthanol" = 1) + required_reagents = list("rum" = 1, "vodka" = 1, "tequila" = 1, "whiskey" = 1, "synthanol" = 1) result_amount = 5 /datum/reagent/ethanol/synthanol/synthnsoda diff --git a/code/modules/reagents/newchem/patch.dm b/code/modules/reagents/newchem/patch.dm index f686d293c24..2392dd26db5 100644 --- a/code/modules/reagents/newchem/patch.dm +++ b/code/modules/reagents/newchem/patch.dm @@ -18,35 +18,23 @@ desc = "Helps with brute injuries." icon_state = "bandaid_brute" instant_application = 1 - -/obj/item/weapon/reagent_containers/food/pill/patch/styptic/New() - ..() - reagents.add_reagent("styptic_powder", 40) + list_reagents = list("styptic_powder" = 40) /obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf name = "burn patch" desc = "Helps with burn injuries." icon_state = "bandaid_burn" instant_application = 1 - -/obj/item/weapon/reagent_containers/food/pill/patch/silver_sulf/New() - ..() - reagents.add_reagent("silver_sulfadiazine", 40) + list_reagents = list("silver_sulfadiazine" = 40) /obj/item/weapon/reagent_containers/food/pill/patch/synthflesh name = "syntheflesh patch" desc = "Helps with burn injuries." icon_state = "bandaid_med" instant_application = 1 - -/obj/item/weapon/reagent_containers/food/pill/patch/synthflesh/New() - ..() - reagents.add_reagent("synthflesh", 20) + list_reagents = list("synthflesh" = 20) /obj/item/weapon/reagent_containers/food/pill/patch/nicotine name = "nicotine patch" desc = "Helps temporarily curb the cravings of nicotine dependency." - -/obj/item/weapon/reagent_containers/food/pill/patch/nicotine/New() - ..() - reagents.add_reagent("nicotine", 20) \ No newline at end of file + list_reagents = list("nicotine" = 20) \ No newline at end of file diff --git a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_drink.dm b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_drink.dm index 10b5ff13344..1b69b88e071 100644 --- a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_drink.dm +++ b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_drink.dm @@ -44,7 +44,7 @@ name = "Patron" id = "patron" result = "patron" - required_reagents = list("tequilla" = 10, "silver" = 1) + required_reagents = list("tequila" = 10, "silver" = 1) result_amount = 10 mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' @@ -228,15 +228,15 @@ name = "Brave Bull" id = "bravebull" result = "bravebull" - required_reagents = list("tequilla" = 2, "kahlua" = 1) + required_reagents = list("tequila" = 2, "kahlua" = 1) result_amount = 3 mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' -/datum/chemical_reaction/tequilla_sunrise - name = "Tequilla Sunrise" - id = "tequillasunrise" - result = "tequillasunrise" - required_reagents = list("tequilla" = 2, "orangejuice" = 1) +/datum/chemical_reaction/tequila_sunrise + name = "Tequila Sunrise" + id = "tequilasunrise" + result = "tequilasunrise" + required_reagents = list("tequila" = 2, "orangejuice" = 1) result_amount = 3 mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' @@ -317,7 +317,7 @@ name = "Margarita" id = "margarita" result = "margarita" - required_reagents = list("tequilla" = 2, "limejuice" = 1) + required_reagents = list("tequila" = 2, "limejuice" = 1) result_amount = 3 mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' @@ -325,7 +325,7 @@ name = "Long Island Iced Tea" id = "longislandicedtea" result = "longislandicedtea" - required_reagents = list("vodka" = 1, "gin" = 1, "tequilla" = 1, "cubalibre" = 1) + required_reagents = list("vodka" = 1, "gin" = 1, "tequila" = 1, "cubalibre" = 1) result_amount = 4 mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' diff --git a/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm b/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm index 910c1791fd7..c71b1204b60 100644 --- a/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm +++ b/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm @@ -130,9 +130,9 @@ color = "#664300" // rgb: 102, 67, 0 alcohol_perc = 0.2 -/datum/reagent/ethanol/tequilla +/datum/reagent/ethanol/tequila name = "Tequila" - id = "tequilla" + id = "tequila" description = "A strong and mildly flavoured, mexican produced spirit. Feeling thirsty hombre?" color = "#A8B0B7" // rgb: 168, 176, 183 alcohol_perc = 0.4 @@ -323,9 +323,9 @@ color = "#664300" // rgb: 102, 67, 0 alcohol_perc = 0.3 -/datum/reagent/ethanol/tequilla_sunrise +/datum/reagent/ethanol/tequila_sunrise name = "Tequila Sunrise" - id = "tequillasunrise" + id = "tequilasunrise" description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~" reagent_state = LIQUID color = "#664300" // rgb: 102, 67, 0 diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm similarity index 94% rename from code/modules/reagents/reagent_containers/glass/bottle.dm rename to code/modules/reagents/reagent_containers/bottle.dm index 363ff89119f..95fb36d439d 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -1,363 +1,349 @@ - -//Not to be confused with /obj/item/weapon/reagent_containers/food/drinks/bottle - -/obj/item/weapon/reagent_containers/glass/bottle - name = "bottle" - desc = "A small bottle." - icon = 'icons/obj/chemical.dmi' - icon_state = null - item_state = "atoxinbottle" - amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,25,30) - flags = OPENCONTAINER - volume = 30 - -/obj/item/weapon/reagent_containers/glass/bottle/New() - ..() - if(!icon_state) - icon_state = "bottle[rand(1,20)]" - - - //Copypasta from /obj/item/weapon/reagent_containers/glass/beaker -/obj/item/weapon/reagent_containers/glass/bottle/on_reagent_change() - update_icon() - -/obj/item/weapon/reagent_containers/glass/bottle/pickup(mob/user) - ..() - update_icon() - -/obj/item/weapon/reagent_containers/glass/bottle/dropped(mob/user) - ..() - update_icon() - -/obj/item/weapon/reagent_containers/glass/bottle/attack_hand() - ..() - update_icon() - -/obj/item/weapon/reagent_containers/glass/bottle/update_icon() - overlays.Cut() - - if(reagents.total_volume) - var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10") - - var/percent = round((reagents.total_volume / volume) * 100) - switch(percent) - if(0 to 24) - filling.icon_state = "[icon_state]10" - if(25 to 49) - filling.icon_state = "[icon_state]25" - if(50 to 74) - filling.icon_state = "[icon_state]50" - if(75 to 90) - filling.icon_state = "[icon_state]75" - if(91 to INFINITY) - filling.icon_state = "[icon_state]100" - - filling.icon += mix_color_from_reagents(reagents.reagent_list) - overlays += filling - - if(!is_open_container()) - var/image/lid = image(icon, src, "lid_bottle") - overlays += lid - -/obj/item/weapon/reagent_containers/glass/bottle/toxin - name = "toxin bottle" - desc = "A small bottle of toxins. Do not drink, it is poisonous." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle12" - list_reagents = list("toxin" = 30) - -/obj/item/weapon/reagent_containers/glass/bottle/cyanide - name = "cyanide bottle" - desc = "A small bottle of cyanide. Bitter almonds?" - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle12" - list_reagents = list("cyanide" = 30) - -/obj/item/weapon/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 = 'icons/obj/chemical.dmi' - icon_state = "bottle20" - list_reagents = list("mutagen" = 30) - -/obj/item/weapon/reagent_containers/glass/bottle/ammonia - name = "ammonia bottle" - desc = "A small bottle." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle20" - list_reagents = list("ammonia" = 30) - -/obj/item/weapon/reagent_containers/glass/bottle/diethylamine - name = "diethylamine bottle" - desc = "A small bottle." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" - list_reagents = list("diethylamine" = 30) - -/obj/item/weapon/reagent_containers/glass/bottle/facid - name = "Fluorosulfuric Acid Bottle" - desc = "A small bottle. Contains a small amount of Fluorosulfuric Acid" - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" - list_reagents = list("facid" = 30) - -/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" - list_reagents = list("adminordrazine" = 30) - -/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 = "bottle3" - list_reagents = list("capsaicin" = 30) - -/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 = "bottle17" - list_reagents = list("frostoil" = 30) - -/obj/item/weapon/reagent_containers/glass/bottle/morphine - name = "Morphine Bottle" - desc = "A small bottle. Contains morphine." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" - list_reagents = list("morphine" = 30) - -/obj/item/weapon/reagent_containers/glass/bottle/ether - name = "Ether Bottle" - desc = "A small bottle. Contains ether." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" - list_reagents = list("ether" = 30) - -/obj/item/weapon/reagent_containers/glass/bottle/charcoal - name = "Charcoal Bottle" - desc = "A small bottle. Contains charcoal." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" - list_reagents = list("charcoal" = 30) - -/obj/item/weapon/reagent_containers/glass/bottle/epinephrine - name = "Epinephrine Bottle" - desc = "A small bottle. Contains epinephrine." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle17" - list_reagents = list("epinephrine" = 30) - -/obj/item/weapon/reagent_containers/glass/bottle/pancuronium - name = "Pancuronium Bottle" - desc = "A small bottle of pancuronium." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle14" - list_reagents = list("pancuronium" = 30) - -/obj/item/weapon/reagent_containers/glass/bottle/sulfonal - name = "Sulfonal Bottle" - desc = "A small bottle of Sulfonal." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle19" - list_reagents = list("sulfonal" = 30) - -//Reagent bottles - -/obj/item/weapon/reagent_containers/glass/bottle/reagent - name = "Reagent Bottle" - desc = "A bottle for storing reagents" - icon_state = "rbottle" - volume = 50 - -/obj/item/weapon/reagent_containers/glass/bottle/reagent/oil - name = "Oil Bottle" - desc = "A reagent bottle. Contains oil." - icon_state = "rbottle1" - list_reagents = list("oil" = 50) - -/obj/item/weapon/reagent_containers/glass/bottle/reagent/phenol - name = "Phenol Bottle" - desc = "A reagent bottle. Contains phenol." - icon_state = "rbottle2" - list_reagents = list("phenol" = 50) - -/obj/item/weapon/reagent_containers/glass/bottle/reagent/acetone - name = "Acetone Bottle" - desc = "A reagent bottle. Contains acetone." - icon_state = "rbottle3" - list_reagents = list("acetone" = 50) - -/obj/item/weapon/reagent_containers/glass/bottle/reagent/ammonia - name = "Ammonia Bottle" - desc = "A reagent bottle. Contains ammonia." - icon_state = "rbottle4" - list_reagents = list("ammonia" = 50) - -/obj/item/weapon/reagent_containers/glass/bottle/reagent/diethylamine - name = "Diethylamine Bottle" - desc = "A reagent bottle. Contains diethylamine." - icon_state = "rbottle5" - list_reagents = list("diethylamine" = 50) - -/obj/item/weapon/reagent_containers/glass/bottle/reagent/acid - name = "Acid Bottle" - desc = "A reagent bottle. Contains sulfuric acid." - icon_state = "rbottle6" - list_reagents = list("sacid" = 50) - -/obj/item/weapon/reagent_containers/glass/bottle/reagent/formaldehyde - name = "Formaldehyde Bottle" - desc = "A reagent bottle. Contains formaldehyde." - icon_state = "rbottle" - list_reagents = list("formaldehyde" = 50) - -/obj/item/weapon/reagent_containers/glass/bottle/reagent/morphine - name = "Morphine Bottle" - desc = "A reagent bottle. Contains morphine." - list_reagents = list("morphine" = 50) - -/obj/item/weapon/reagent_containers/glass/bottle/reagent/insulin - name = "Insulin Bottle" - desc = "A reagent bottle. Contains insulin." - list_reagents = list("insulin" = 50) - - -/obj/item/weapon/reagent_containers/glass/bottle/reagent/hairgrownium - name = "Hair Grow Gel" - desc = "A bottle full of a stimulative hair growth formula" - list_reagents = list("hairgrownium" = 50) - -/obj/item/weapon/reagent_containers/glass/bottle/reagent/hair_dye - name = "Quantum Hair Dye Bottle" - desc = "A bottle of the ever-changing quantum hair dye." - list_reagents = list("hair_dye" = 50) - -////////////////////Traitor Poison Bottle////////////////////////////// - -/obj/item/weapon/reagent_containers/glass/bottle/traitor - desc = "It has a small skull and crossbones on it. Uh-oh!" - possible_transfer_amounts = list(5,10,15,25,30,40) - volume = 40 - -/obj/item/weapon/reagent_containers/glass/bottle/traitor/New() - ..() - reagents.add_reagent(pick_list("chemistry_tools.json", "traitor_poison_bottle"), 40) - -/obj/item/weapon/reagent_containers/glass/bottle/plasma - name = "plasma dust bottle" - desc = "A small bottle of plasma in dust form. Extremely toxic and reacts with micro-organisms inside blood." - icon_state = "bottle8" - list_reagents = list("plasma_dust" = 30) - -/obj/item/weapon/reagent_containers/glass/bottle/diphenhydramine - name = "diphenhydramine bottle" - desc = "A small bottle of diphenhydramine." - icon_state = "bottle20" - list_reagents = list("diphenhydramine" = 30) - -/obj/item/weapon/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 - 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 - 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/hullucigen_virion - name = "Hullucigen virion culture bottle" - desc = "A small bottle. Contains hullucigen virion culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/advance/hullucigen - -/obj/item/weapon/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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - name = "BVAK bottle" - desc = "A small bottle containing Bio Virus Antidote Kit." - icon_state = "bottle5" - list_reagents = list("atropine" = 5, "epinephrine" = 5, "salbutamol" = 10, "spaceacillin" = 10) + +//Not to be confused with /obj/item/weapon/reagent_containers/food/drinks/bottle + +/obj/item/weapon/reagent_containers/glass/bottle + name = "bottle" + desc = "A small bottle." + icon = 'icons/obj/chemical.dmi' + icon_state = null + item_state = "atoxinbottle" + amount_per_transfer_from_this = 10 + possible_transfer_amounts = list(5,10,15,25,30) + flags = OPENCONTAINER + volume = 30 + +/obj/item/weapon/reagent_containers/glass/bottle/New() + ..() + if(!icon_state) + icon_state = "bottle[rand(1,20)]" + +/obj/item/weapon/reagent_containers/glass/bottle/on_reagent_change() + update_icon() + +/obj/item/weapon/reagent_containers/glass/bottle/update_icon() + overlays.Cut() + + if(reagents.total_volume) + var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10") + + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 24) + filling.icon_state = "[icon_state]10" + if(25 to 49) + filling.icon_state = "[icon_state]25" + if(50 to 74) + filling.icon_state = "[icon_state]50" + if(75 to 90) + filling.icon_state = "[icon_state]75" + if(91 to INFINITY) + filling.icon_state = "[icon_state]100" + + filling.icon += mix_color_from_reagents(reagents.reagent_list) + overlays += filling + + if(!is_open_container()) + var/image/lid = image(icon, src, "lid_bottle") + overlays += lid + +/obj/item/weapon/reagent_containers/glass/bottle/toxin + name = "toxin bottle" + desc = "A small bottle of toxins. Do not drink, it is poisonous." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle12" + list_reagents = list("toxin" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/cyanide + name = "cyanide bottle" + desc = "A small bottle of cyanide. Bitter almonds?" + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle12" + list_reagents = list("cyanide" = 30) + +/obj/item/weapon/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 = 'icons/obj/chemical.dmi' + icon_state = "bottle20" + list_reagents = list("mutagen" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/ammonia + name = "ammonia bottle" + desc = "A small bottle." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle20" + list_reagents = list("ammonia" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/diethylamine + name = "diethylamine bottle" + desc = "A small bottle." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle17" + list_reagents = list("diethylamine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/facid + name = "Fluorosulfuric Acid Bottle" + desc = "A small bottle. Contains a small amount of Fluorosulfuric Acid" + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle17" + list_reagents = list("facid" = 30) + +/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" + list_reagents = list("adminordrazine" = 30) + +/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 = "bottle3" + list_reagents = list("capsaicin" = 30) + +/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 = "bottle17" + list_reagents = list("frostoil" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/morphine + name = "Morphine Bottle" + desc = "A small bottle. Contains morphine." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle17" + list_reagents = list("morphine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/ether + name = "Ether Bottle" + desc = "A small bottle. Contains ether." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle17" + list_reagents = list("ether" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/charcoal + name = "Charcoal Bottle" + desc = "A small bottle. Contains charcoal." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle17" + list_reagents = list("charcoal" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/epinephrine + name = "Epinephrine Bottle" + desc = "A small bottle. Contains epinephrine." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle17" + list_reagents = list("epinephrine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/pancuronium + name = "Pancuronium Bottle" + desc = "A small bottle of pancuronium." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle14" + list_reagents = list("pancuronium" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/sulfonal + name = "Sulfonal Bottle" + desc = "A small bottle of Sulfonal." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle19" + list_reagents = list("sulfonal" = 30) + +//Reagent bottles + +/obj/item/weapon/reagent_containers/glass/bottle/reagent + name = "Reagent Bottle" + desc = "A bottle for storing reagents" + icon_state = "rbottle" + volume = 50 + +/obj/item/weapon/reagent_containers/glass/bottle/reagent/oil + name = "Oil Bottle" + desc = "A reagent bottle. Contains oil." + icon_state = "rbottle1" + list_reagents = list("oil" = 50) + +/obj/item/weapon/reagent_containers/glass/bottle/reagent/phenol + name = "Phenol Bottle" + desc = "A reagent bottle. Contains phenol." + icon_state = "rbottle2" + list_reagents = list("phenol" = 50) + +/obj/item/weapon/reagent_containers/glass/bottle/reagent/acetone + name = "Acetone Bottle" + desc = "A reagent bottle. Contains acetone." + icon_state = "rbottle3" + list_reagents = list("acetone" = 50) + +/obj/item/weapon/reagent_containers/glass/bottle/reagent/ammonia + name = "Ammonia Bottle" + desc = "A reagent bottle. Contains ammonia." + icon_state = "rbottle4" + list_reagents = list("ammonia" = 50) + +/obj/item/weapon/reagent_containers/glass/bottle/reagent/diethylamine + name = "Diethylamine Bottle" + desc = "A reagent bottle. Contains diethylamine." + icon_state = "rbottle5" + list_reagents = list("diethylamine" = 50) + +/obj/item/weapon/reagent_containers/glass/bottle/reagent/acid + name = "Acid Bottle" + desc = "A reagent bottle. Contains sulfuric acid." + icon_state = "rbottle6" + list_reagents = list("sacid" = 50) + +/obj/item/weapon/reagent_containers/glass/bottle/reagent/formaldehyde + name = "Formaldehyde Bottle" + desc = "A reagent bottle. Contains formaldehyde." + icon_state = "rbottle" + list_reagents = list("formaldehyde" = 50) + +/obj/item/weapon/reagent_containers/glass/bottle/reagent/morphine + name = "Morphine Bottle" + desc = "A reagent bottle. Contains morphine." + list_reagents = list("morphine" = 50) + +/obj/item/weapon/reagent_containers/glass/bottle/reagent/insulin + name = "Insulin Bottle" + desc = "A reagent bottle. Contains insulin." + list_reagents = list("insulin" = 50) + + +/obj/item/weapon/reagent_containers/glass/bottle/reagent/hairgrownium + name = "Hair Grow Gel" + desc = "A bottle full of a stimulative hair growth formula" + list_reagents = list("hairgrownium" = 50) + +/obj/item/weapon/reagent_containers/glass/bottle/reagent/hair_dye + name = "Quantum Hair Dye Bottle" + desc = "A bottle of the ever-changing quantum hair dye." + list_reagents = list("hair_dye" = 50) + +////////////////////Traitor Poison Bottle////////////////////////////// + +/obj/item/weapon/reagent_containers/glass/bottle/traitor + desc = "It has a small skull and crossbones on it. Uh-oh!" + possible_transfer_amounts = list(5,10,15,25,30,40) + volume = 40 + +/obj/item/weapon/reagent_containers/glass/bottle/traitor/New() + ..() + reagents.add_reagent(pick_list("chemistry_tools.json", "traitor_poison_bottle"), 40) + +/obj/item/weapon/reagent_containers/glass/bottle/plasma + name = "plasma dust bottle" + desc = "A small bottle of plasma in dust form. Extremely toxic and reacts with micro-organisms inside blood." + icon_state = "bottle8" + list_reagents = list("plasma_dust" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/diphenhydramine + name = "diphenhydramine bottle" + desc = "A small bottle of diphenhydramine." + icon_state = "bottle20" + list_reagents = list("diphenhydramine" = 30) + +/obj/item/weapon/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 + 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 + 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/hullucigen_virion + name = "Hullucigen virion culture bottle" + desc = "A small bottle. Contains hullucigen virion culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/advance/hullucigen + +/obj/item/weapon/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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + name = "BVAK bottle" + desc = "A small bottle containing Bio Virus Antidote Kit." + icon_state = "bottle5" + list_reagents = list("atropine" = 5, "epinephrine" = 5, "salbutamol" = 10, "spaceacillin" = 10) diff --git a/code/modules/reagents/reagent_containers/drugs.dm b/code/modules/reagents/reagent_containers/drugs.dm deleted file mode 100644 index 8071347a275..00000000000 --- a/code/modules/reagents/reagent_containers/drugs.dm +++ /dev/null @@ -1,136 +0,0 @@ -/obj/item/weapon/reagent_containers/drugs - name = " " - var/base_name = " " - desc = " " - icon = 'icons/obj/chemical.dmi' - icon_state = "baggie" - item_state = "beaker" - amount_per_transfer_from_this = 2 - possible_transfer_amounts = 2 - volume = 10 - flags = OPENCONTAINER - - var/label_text = "" - -/obj/item/weapon/reagent_containers/drugs/New() - ..() - src.pixel_x = rand(-10.0, 10) //Randomizes postion - src.pixel_y = rand(-10.0, 10) - base_name = name - -/obj/item/weapon/reagent_containers/drugs/afterattack(obj/target, mob/user, proximity) - if(!proximity) - return - - if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. - - if(!target.reagents.total_volume && target.reagents) - to_chat(user, "\red [target] is empty.") - return - - if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "\red [src] is full.") - return - - for(var/datum/reagent/A in target.reagents.reagent_list) - if(A.reagent_state != 1) - to_chat(user, "\red You can only put powders in [src].") - return - - var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) - to_chat(user, "\blue You fill [src] with [trans] units of the contents of [target].") - - else if(target.is_open_container() && target.reagents) //Something like a glass. Player probably wants to transfer TO it. - if(!reagents.total_volume) - to_chat(user, "\red [src] is empty.") - return - - if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "\red [target] is full.") - return - - // /vg/: Logging transfers of bad things - if(target.reagents_to_log.len) - var/list/badshit=list() - for(var/bad_reagent in target.reagents_to_log) - if(reagents.has_reagent(bad_reagent)) - badshit += reagents_to_log[bad_reagent] - if(badshit.len) - var/hl = "([english_list(badshit)])" - message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl]") - log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].") - - var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "\blue You transfer [trans] units of the solution to [target].") - - //Safety for dumping stuff into a ninja suit. It handles everything through attackby() and this is unnecessary. - - /*else if(istype(target, /obj/machinery/bunsen_burner)) - return - - else if(istype(target, /obj/machinery/radiocarbon_spectrometer)) - return*/ - - -/obj/item/weapon/reagent_containers/drugs/attackby(obj/item/weapon/W, mob/user, params) - if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen)) - var/tmp_label = sanitize(input(user, "Enter a label for [src.name]","Label",src.label_text)) - if(length(tmp_label) > 10) - to_chat(user, "\red The label can be at most 10 characters long.") - else - to_chat(user, "\blue You set the label to \"[tmp_label]\".") - src.label_text = tmp_label - src.update_name_label() - -/obj/item/weapon/reagent_containers/drugs/proc/update_name_label() - if(src.label_text == "") - src.name = src.base_name - else - src.name = "[src.base_name] ([src.label_text])" - -/obj/item/weapon/reagent_containers/drugs/baggie - name = "baggie" - desc = "A baggie. Can hold up to 10 units." - icon = 'icons/obj/chemical.dmi' - icon_state = "baggie" - item_state = "beaker" - -/obj/item/weapon/reagent_containers/drugs/on_reagent_change() - update_icon() - -/obj/item/weapon/reagent_containers/drugs/pickup(mob/user) - ..() - update_icon() - -/obj/item/weapon/reagent_containers/drugs/dropped(mob/user) - ..() - update_icon() - -/obj/item/weapon/reagent_containers/drugs/attack_hand() - ..() - update_icon() - -/obj/item/weapon/reagent_containers/drugs/update_icon() - overlays.Cut() - - if(reagents.total_volume) - var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]2") - - switch(reagents.total_volume) - if(0 to 2) - filling.icon_state = "[icon_state]2" - if(3 to 4) - filling.icon_state = "[icon_state]4" - if(5 to 6) - filling.icon_state = "[icon_state]6" - if(7 to 8) - filling.icon_state = "[icon_state]8" - if(9 to 10) - filling.icon_state = "[icon_state]10" - - - filling.icon += mix_color_from_reagents(reagents.reagent_list) - overlays += filling - -/obj/item/weapon/reagent_containers/drugs/baggie/meth - list_reagents = list("methamphetamine" = 10) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/cans.dm b/code/modules/reagents/reagent_containers/food/cans.dm index d114460b244..6d72ec2221c 100644 --- a/code/modules/reagents/reagent_containers/food/cans.dm +++ b/code/modules/reagents/reagent_containers/food/cans.dm @@ -7,7 +7,7 @@ ..() flags &= ~OPENCONTAINER -/obj/item/weapon/reagent_containers/food/drinks/cans/attack_self(mob/user as mob) +/obj/item/weapon/reagent_containers/food/drinks/cans/attack_self(mob/user) if(canopened == 0) playsound(src.loc,'sound/effects/canopen.ogg', rand(10,50), 1) to_chat(user, "You open the drink with an audible pop!") @@ -28,7 +28,7 @@ qdel(src) return crushed_can -/obj/item/weapon/reagent_containers/food/drinks/cans/attack(mob/M as mob, mob/user as mob, proximity) +/obj/item/weapon/reagent_containers/food/drinks/cans/attack(mob/M, mob/user, proximity) if(canopened == 0) to_chat(user, "You need to open the drink!") return @@ -58,94 +58,46 @@ else return ..(target, user, proximity) -/* examine(mob/user) - if(!..(user, 1)) - return - if(!reagents || reagents.total_volume==0) - to_chat(user, "\blue \The [src] is empty!") - else if(reagents.total_volume<=src.volume/4) - to_chat(user, "\blue \The [src] is almost empty!") - else if(reagents.total_volume<=src.volume*0.66) - to_chat(user, "\blue \The [src] is half full!") - else if(reagents.total_volume<=src.volume*0.90) - to_chat(user, "\blue \The [src] is almost full!") - else - to_chat(user, "\blue \The [src] is full!")*/ - - -//DRINKS - /obj/item/weapon/reagent_containers/food/drinks/cans/cola name = "Space Cola" desc = "Cola. in space." icon_state = "cola" - New() - ..() - reagents.add_reagent("cola", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("cola" = 30) /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle name = "Bottled Water" desc = "Introduced to the vending machines by Skrellian request, this water comes straight from the Martian poles." icon_state = "waterbottle" is_plastic = 1 - New() - ..() - reagents.add_reagent("water", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("water" = 30) /obj/item/weapon/reagent_containers/food/drinks/cans/beer name = "Space Beer" desc = "Contains only water, malt and hops." icon_state = "beer" is_glass = 1 - New() - ..() - reagents.add_reagent("beer", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("beer" = 30) /obj/item/weapon/reagent_containers/food/drinks/cans/adminbooze name = "Admin Booze" desc = "Bottled Griffon tears. Drink with caution." icon_state = "adminbooze" is_glass = 1 - New() - ..() - reagents.add_reagent("adminordrazine", 5) - reagents.add_reagent("capsaicin", 5) - reagents.add_reagent("methamphetamine", 20) - reagents.add_reagent("thirteenloko", 20) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("adminordrazine" = 5, "capsaicin" = 5, "methamphetamine"= 20, "thirteenloko" = 20) /obj/item/weapon/reagent_containers/food/drinks/cans/madminmalt name = "Madmin Malt" desc = "Bottled essence of angry admins. Drink with EXTREME caution." icon_state = "madminmalt" is_glass = 1 - New() - ..() - reagents.add_reagent("hell_water", 20) - reagents.add_reagent("neurotoxin", 15) - reagents.add_reagent("thirteenloko", 15) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("hell_water" = 20, "neurotoxin" = 15, "thirteenloko" = 15) /obj/item/weapon/reagent_containers/food/drinks/cans/badminbrew name = "Badmin Brew" desc = "Bottled trickery and terrible admin work. Probably shouldn't drink this one at all." icon_state = "badminbrew" is_glass = 1 - New() - ..() - reagents.add_reagent("mutagen", 25) - reagents.add_reagent("charcoal", 10) - reagents.add_reagent("thirteenloko", 15) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("mutagen" = 25, "charcoal" = 10, "thirteenloko" = 15) /obj/item/weapon/reagent_containers/food/drinks/cans/ale name = "Magm-Ale" @@ -153,117 +105,74 @@ icon_state = "alebottle" item_state = "beer" is_glass = 1 - New() - ..() - reagents.add_reagent("ale", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - + list_reagents = list("ale" = 30) /obj/item/weapon/reagent_containers/food/drinks/cans/space_mountain_wind name = "Space Mountain Wind" desc = "Blows right through you like a space wind." icon_state = "space_mountain_wind" - New() - ..() - reagents.add_reagent("spacemountainwind", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("spacemountainwind" = 30) /obj/item/weapon/reagent_containers/food/drinks/cans/thirteenloko name = "Thirteen Loko" desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsibly." icon_state = "thirteen_loko" - New() - ..() - reagents.add_reagent("thirteenloko", 25) - reagents.add_reagent("psilocybin", 5) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("thirteenloko" = 25, "psilocybin" = 5) /obj/item/weapon/reagent_containers/food/drinks/cans/dr_gibb name = "Dr. Gibb" desc = "A delicious mixture of 42 different flavors." icon_state = "dr_gibb" - New() - ..() - reagents.add_reagent("dr_gibb", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("dr_gibb" = 30) + /obj/item/weapon/reagent_containers/food/drinks/cans/starkist name = "Star-kist" desc = "The taste of a star in liquid form. And, a bit of tuna...?" icon_state = "starkist" - New() - ..() - reagents.add_reagent("brownstar", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("brownstar" = 30) /obj/item/weapon/reagent_containers/food/drinks/cans/space_up name = "Space-Up" desc = "Tastes like a hull breach in your mouth." icon_state = "space-up" - New() - ..() - reagents.add_reagent("space_up", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("space_up" = 30) /obj/item/weapon/reagent_containers/food/drinks/cans/lemon_lime name = "Lemon-Lime" desc = "You wanted ORANGE. It gave you Lemon Lime." icon_state = "lemon-lime" - New() - ..() - reagents.add_reagent("lemon_lime", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("lemon_lime" = 30) /obj/item/weapon/reagent_containers/food/drinks/cans/iced_tea name = "Vrisk Serket Iced Tea" desc = "That sweet, refreshing southern earthy flavor. That's where it's from, right? South Earth?" icon_state = "ice_tea_can" - New() - ..() - reagents.add_reagent("icetea", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("icetea" = 30) /obj/item/weapon/reagent_containers/food/drinks/cans/grape_juice name = "Grapel Juice" desc = "500 pages of rules of how to appropriately enter into a combat with this juice!" icon_state = "purple_can" - New() - ..() - reagents.add_reagent("grapejuice", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("grapejuice" = 30) /obj/item/weapon/reagent_containers/food/drinks/cans/tonic name = "T-Borg's Tonic Water" desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." icon_state = "tonic" - New() - ..() - reagents.add_reagent("tonic", 50) + list_reagents = list("tonic" = 50) /obj/item/weapon/reagent_containers/food/drinks/cans/sodawater name = "Soda Water" desc = "A can of soda water. Still water's more refreshing cousin." icon_state = "sodawater" - New() - ..() - reagents.add_reagent("sodawater", 50) + list_reagents = list("sodawater" = 50) /obj/item/weapon/reagent_containers/food/drinks/cans/synthanol name = "Beep's Classic Synthanol" desc = "A can of IPC booze, however that works." icon_state = "synthanolcan" - New() - ..() - reagents.add_reagent("synthanol", 50) + list_reagents = list("synthanol" = 50) /obj/item/weapon/reagent_containers/food/drinks/cans/bottler name = "generic beverage container" @@ -273,18 +182,6 @@ /obj/item/weapon/reagent_containers/food/drinks/cans/bottler/on_reagent_change() update_icon() -/obj/item/weapon/reagent_containers/food/drinks/cans/bottler/pickup(mob/user) - ..() - update_icon() - -/obj/item/weapon/reagent_containers/food/drinks/cans/bottler/dropped(mob/user) - ..() - update_icon() - -/obj/item/weapon/reagent_containers/food/drinks/cans/bottler/attack_hand() - ..() - update_icon() - /obj/item/weapon/reagent_containers/food/drinks/cans/bottler/update_icon() overlays.Cut() @@ -313,6 +210,7 @@ desc = "A glass bottle suitable for beverages." icon_state = "glass_bottle" is_glass = 1 + /obj/item/weapon/reagent_containers/food/drinks/cans/bottler/plastic_bottle name = "plastic bottle" desc = "A plastic bottle suitable for beverages." diff --git a/code/modules/reagents/reagent_containers/food/condiment.dm b/code/modules/reagents/reagent_containers/food/condiment.dm index 29bd6e7dc53..05093e3ffeb 100644 --- a/code/modules/reagents/reagent_containers/food/condiment.dm +++ b/code/modules/reagents/reagent_containers/food/condiment.dm @@ -8,10 +8,10 @@ /obj/item/weapon/reagent_containers/food/condiment name = "condiment container" desc = "Just your average condiment container." - icon = 'icons/obj/food/food.dmi' + icon = 'icons/obj/food/containers.dmi' icon_state = "emptycondiment" flags = OPENCONTAINER - possible_transfer_amounts = list(1,5,10) + possible_transfer_amounts = list(1, 5, 10, 15, 20, 25, 30, 50) volume = 50 //Possible_states has the reagent id as key and a list of, in order, the icon_state, the name and the desc as values. Used in the on_reagent_change() to change names, descs and sprites. var/list/possible_states = list( @@ -21,90 +21,69 @@ "soysauce" = list("soysauce", "soy sauce bottle", "A salty soy-based flavoring"), "frostoil" = list("coldsauce", "coldsauce bottle", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("saltshakersmall", "salt shaker", "Salt. From space oceans, presumably"), - "blackpepper" = list("pepermillsmall", "pepper mill", "Often used to flavor food or make people sneeze"), + "blackpepper" = list("peppermillsmall", "pepper mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("oliveoil", "corn oil bottle", "A delicious oil used in cooking. Made from corn"), - "sugar" = list("emptycondiment", "sugar bottle", "Tasty spacey sugar!"), - "flour" =list("flour", "flour sack", "A big bag of flour. Good for baking!"), - "rice" =list("rice", "rice sack", "A big bag of rice. Good for cooking!")) + "sugar" = list("emptycondiment", "sugar bottle", "Tasty spacey sugar!")) + var/originalname = "condiment" //Can't use initial(name) for this. This stores the name set by condimasters. - -/obj/item/weapon/reagent_containers/food/condiment/attackby(obj/item/weapon/W as obj, mob/user as mob, params) +/obj/item/weapon/reagent_containers/food/condiment/attackby(obj/item/weapon/W, mob/user, params) return - -/obj/item/weapon/reagent_containers/food/condiment/attack_self(mob/user as mob) +/obj/item/weapon/reagent_containers/food/condiment/attack_self(mob/user) return -/obj/item/weapon/reagent_containers/food/condiment/attack(mob/M as mob, mob/user as mob, def_zone) - var/datum/reagents/R = src.reagents +/obj/item/weapon/reagent_containers/food/condiment/attack(mob/M, mob/user, def_zone) - if(!R || !R.total_volume) - to_chat(user, "\red None of [src] left, oh no!") + if(!reagents || !reagents.total_volume) + to_chat(user, "None of [src] left, oh no!") return 0 if(M == user) - to_chat(M, "\blue You swallow some of contents of the [src].") - if(reagents.total_volume) - reagents.reaction(M, INGEST) - spawn(0) - reagents.trans_to(M, 10) + to_chat(M, "You swallow some of contents of \the [src].") + else + user.visible_message("[user] attempts to feed [M] from [src].") + if(!do_mob(user, M)) + return + if(!reagents || !reagents.total_volume) + return // The condiment might be empty after the delay. + user.visible_message("[user] feeds [M] from [src].") + add_logs(M, user, "fed", reagentlist(src)) - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 - else if( istype(M, /mob/living/carbon/human) ) + var/fraction = min(10/reagents.total_volume, 1) + reagents.reaction(M, INGEST, fraction) + reagents.trans_to(M, 10) + playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) + return 1 - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] attempts to feed [M] [src].", 1) - if(!do_mob(user, M)) return - for(var/mob/O in viewers(world.view, user)) - O.show_message("\red [user] feeds [M] [src].", 1) - - M.attack_log += text("\[[time_stamp()]\] Has been fed [src.name] by [key_name(user)] Reagents: [reagentlist(src)]") - user.attack_log += text("\[[time_stamp()]\] Fed [src.name] by [key_name(M)] Reagents: [reagentlist(src)]") - if(M.ckey) - msg_admin_attack("[key_name_admin(user)] fed [key_name_admin(M)] with [src.name] (INTENT: [uppertext(user.a_intent)])") - if(!iscarbon(user)) - M.LAssailant = null - else - M.LAssailant = user - - if(reagents.total_volume) - reagents.reaction(M, INGEST) - spawn(0) - reagents.trans_to(M, 10) - - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return 1 - return 0 - -/obj/item/weapon/reagent_containers/food/condiment/attackby(obj/item/I as obj, mob/user as mob, params) +/obj/item/weapon/reagent_containers/food/condiment/attackby(obj/item/I, mob/user, params) return /obj/item/weapon/reagent_containers/food/condiment/afterattack(obj/target, mob/user , proximity) - if(!proximity) return + if(!proximity) + return if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us. if(!target.reagents.total_volume) - to_chat(user, "\red [target] is empty.") + to_chat(user, "[target] is empty!") return if(reagents.total_volume >= reagents.maximum_volume) - to_chat(user, "\red [src] is full.") + to_chat(user, "[src] is full!") return - var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this) - to_chat(user, "\blue You fill [src] with [trans] units of the contents of [target].") + var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) + to_chat(user, "You fill [src] with [trans] units of the contents of [target].") //Something like a glass or a food item. Player probably wants to transfer TO it. else if(target.is_open_container() || istype(target, /obj/item/weapon/reagent_containers/food/snacks)) if(!reagents.total_volume) - to_chat(user, "\red [src] is empty.") + to_chat(user, "[src] is empty!") return if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "\red you can't add anymore to [target].") + to_chat(user, "you can't add anymore to [target]!") return var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - to_chat(user, "\blue You transfer [trans] units of the condiment to [target].") + to_chat(user, "You transfer [trans] units of the condiment to [target].") /obj/item/weapon/reagent_containers/food/condiment/on_reagent_change() if(!possible_states.len) @@ -118,7 +97,7 @@ desc = temp_list[3] else - name = "condiment bottle" + name = "[originalname] bottle" main_reagent = reagents.get_master_reagent_name() if(reagents.reagent_list.len==1) desc = "Looks like it is [lowertext(main_reagent)], but you are not sure." @@ -129,46 +108,17 @@ icon_state = "emptycondiment" name = "condiment bottle" desc = "An empty condiment bottle." - return - /obj/item/weapon/reagent_containers/food/condiment/enzyme name = "universal enzyme" desc = "Used in cooking various dishes." icon_state = "enzyme" - New() - ..() - reagents.add_reagent("enzyme", 50) + list_reagents = list("enzyme" = 50) /obj/item/weapon/reagent_containers/food/condiment/sugar name = "sugar bottle" desc = "Tasty spacey sugar!" - - New() - ..() - reagents.add_reagent("sugar", 50) - -/obj/item/weapon/reagent_containers/food/condiment/flour - name = "flour sack" - desc = "A big bag of flour. Good for baking!" - icon_state = "flour" - item_state = "flour" - possible_states = list() - - New() - ..() - reagents.add_reagent("flour", 30) - -/obj/item/weapon/reagent_containers/food/condiment/rice - name = "rice sack" - desc = "A big bag of rice. Good for cooking!" - icon_state = "rice" - item_state = "flour" - possible_states = list() - - New() - ..() - reagents.add_reagent("rice", 30) + list_reagents = list("sugar" = 50) /obj/item/weapon/reagent_containers/food/condiment/saltshaker //Seperate from above since it's a small shaker rather then name = "salt shaker" // a large one. @@ -177,12 +127,9 @@ possible_transfer_amounts = list(1,20) //for clown turning the lid off amount_per_transfer_from_this = 1 volume = 20 + list_reagents = list("sodiumchloride" = 20) possible_states = list() - New() - ..() - reagents.add_reagent("sodiumchloride", 20) - /obj/item/weapon/reagent_containers/food/condiment/saltshaker/suicide_act(mob/user) user.visible_message("[user] begins to swap forms with the salt shaker! It looks like \he's trying to commit suicide.") var/newname = "[name]" @@ -190,7 +137,7 @@ user.name = newname user.real_name = newname desc = "Salt. From dead crew, presumably." - return TOXLOSS + return (TOXLOSS) /obj/item/weapon/reagent_containers/food/condiment/peppermill name = "pepper mill" @@ -199,36 +146,64 @@ possible_transfer_amounts = list(1,20) //for clown turning the lid off amount_per_transfer_from_this = 1 volume = 20 + list_reagents = list("blackpepper" = 20) possible_states = list() - New() - ..() - reagents.add_reagent("blackpepper", 20) +/obj/item/weapon/reagent_containers/food/condiment/milk + name = "space milk" + desc = "It's milk. White and nutritious goodness!" + icon_state = "milk" + item_state = "carton" + list_reagents = list("milk" = 50) + possible_states = list() + +/obj/item/weapon/reagent_containers/food/condiment/flour + name = "flour sack" + desc = "A big bag of flour. Good for baking!" + icon_state = "flour" + item_state = "flour" + list_reagents = list("flour" = 30) + possible_states = list() + +/obj/item/weapon/reagent_containers/food/condiment/soymilk + name = "soy milk" + desc = "It's soy milk. White and nutritious goodness!" + icon_state = "soymilk" + item_state = "carton" + list_reagents = list("soymilk" = 50) + possible_states = list() + +/obj/item/weapon/reagent_containers/food/condiment/rice + name = "rice sack" + desc = "A big bag of rice. Good for cooking!" + icon_state = "rice" + item_state = "flour" + list_reagents = list("rice" = 30) + possible_states = list() + +/obj/item/weapon/reagent_containers/food/condiment/soysauce + name = "soy sauce" + desc = "A salty soy-based flavoring." + icon_state = "soysauce" + list_reagents = list("soysauce" = 50) + possible_states = list() /obj/item/weapon/reagent_containers/food/condiment/syndisauce name = "\improper Chef Excellence's Special Sauce" desc = "A potent sauce extracted from the potent amanita mushrooms. Death never tasted quite so delicious." - amount_per_transfer_from_this = 5 - volume = 50 - New() - ..() - reagents.add_reagent("amanitin", 50) + list_reagents = list("amanitin" = 50) + possible_states = list() //Food packs. To easily apply deadly toxi... delicious sauces to your food! + /obj/item/weapon/reagent_containers/food/condiment/pack name = "condiment pack" desc = "A small plastic pack with condiments to put on your food" icon_state = "condi_empty" volume = 10 amount_per_transfer_from_this = 10 - possible_transfer_amounts = 10 + possible_transfer_amounts = list() possible_states = list("ketchup" = list("condi_ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("condi_hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "soysauce" = list("condi_soysauce", "Soy Sauce", "A salty soy-based flavoring"), "frostoil" = list("condi_frostoil", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("condi_salt", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("condi_pepper", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("condi_cornoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("condi_sugar", "Sugar", "Tasty spacey sugar!")) - var/originalname = "condiment" //Can't use initial(name) for this. This stores the name set by condimasters. - -/obj/item/weapon/reagent_containers/food/condiment/pack/New() - ..() - pixel_x = rand(-7, 7) - pixel_y = rand(-7, 7) /obj/item/weapon/reagent_containers/food/condiment/pack/attack(mob/M as mob, mob/user as mob, def_zone) //Can't feed these to people directly. return @@ -243,8 +218,7 @@ qdel(src) return if(target.reagents.total_volume >= target.reagents.maximum_volume) - to_chat(user, "You tear open [src], but [target] is stacked so high that it just drips off!")//Not sure if food can ever be full, but better safe than sorry. - + to_chat(user, "You tear open [src], but [target] is stacked so high that it just drips off!") //Not sure if food can ever be full, but better safe than sorry. qdel(src) return else @@ -268,18 +242,12 @@ //Ketchup /obj/item/weapon/reagent_containers/food/condiment/pack/ketchup - name = "Ketchup pack" - originalname = "Ketchup" - -/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup/New() - ..() - reagents.add_reagent("ketchup", 10) + name = "ketchup pack" + originalname = "ketchup" + list_reagents = list("ketchup" = 10) //Hot sauce /obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce - name = "Hotsauce pack" - originalname = "Hotsauce" - -/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce/New() - ..() - reagents.add_reagent("capsaicin", 10) \ No newline at end of file + name = "hotsauce pack" + originalname = "hotsauce" + list_reagents = list("capsaicin" = 10) diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index 8766e784dd7..beabf7e02cd 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -8,19 +8,21 @@ icon_state = null flags = OPENCONTAINER consume_sound = 'sound/items/drink.ogg' - possible_transfer_amounts = list(5,10,25) + possible_transfer_amounts = list(5,10,15,20,25,30,50) volume = 50 /obj/item/weapon/reagent_containers/food/drinks/New() ..() + pixel_x = rand(-5, 5) + pixel_y = rand(-5, 5) bitesize = amount_per_transfer_from_this if(bitesize < 5) bitesize = 5 -/obj/item/weapon/reagent_containers/food/drinks/attack_self(mob/user as mob) +/obj/item/weapon/reagent_containers/food/drinks/attack_self(mob/user) return -/obj/item/weapon/reagent_containers/food/drinks/attack(mob/M as mob, mob/user as mob, def_zone) +/obj/item/weapon/reagent_containers/food/drinks/attack(mob/M, mob/user, def_zone) if(!reagents || !reagents.total_volume) to_chat(user, " None of [src] left, oh no!") return 0 @@ -95,7 +97,7 @@ return -/obj/item/weapon/reagent_containers/food/drinks/attackby(var/obj/item/I, mob/user as mob, params) +/obj/item/weapon/reagent_containers/food/drinks/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/clothing/mask/cigarette)) //ciggies are weird return if(is_hot(I)) @@ -123,22 +125,51 @@ /// Drinks. END //////////////////////////////////////////////////////////////////////////////// -/obj/item/weapon/reagent_containers/food/drinks/golden_cup - desc = "A golden cup" - name = "golden cup" +/obj/item/weapon/reagent_containers/food/drinks/trophy + name = "pewter cup" + desc = "Everyone gets a trophy." + icon_state = "pewter_cup" + w_class = 1 + force = 1 + throwforce = 1 + amount_per_transfer_from_this = 5 + materials = list(MAT_METAL=100) + possible_transfer_amounts = list() + volume = 5 + flags = CONDUCT | OPENCONTAINER + +/obj/item/weapon/reagent_containers/food/drinks/trophy/gold_cup + name = "gold cup" + desc = "You're winner!" icon_state = "golden_cup" - item_state = "golden_cup" //yup :) w_class = 4 force = 14 throwforce = 10 amount_per_transfer_from_this = 20 materials = list(MAT_GOLD=1000) - possible_transfer_amounts = null volume = 150 - flags = CONDUCT | OPENCONTAINER -/obj/item/weapon/reagent_containers/food/drinks/golden_cup/tournament_26_06_2011 - desc = "A golden cup. It will be presented to a winner of tournament 26 june and name of the winner will be graved on it." +/obj/item/weapon/reagent_containers/food/drinks/trophy/silver_cup + name = "silver cup" + desc = "Best loser!" + icon_state = "silver_cup" + w_class = 3 + force = 10 + throwforce = 8 + amount_per_transfer_from_this = 15 + materials = list(MAT_SILVER=800) + volume = 100 + +/obj/item/weapon/reagent_containers/food/drinks/trophy/bronze_cup + name = "bronze cup" + desc = "At least you ranked!" + icon_state = "bronze_cup" + w_class = 2 + force = 5 + throwforce = 4 + amount_per_transfer_from_this = 10 + materials = list(MAT_METAL=400) + volume = 25 ///////////////////////////////////////////////Drinks @@ -146,158 +177,84 @@ // rather then having to add it to something else first. They should only contain liquids. They have a default container size of 50. // Formatting is the same as food. -/obj/item/weapon/reagent_containers/food/drinks/milk - name = "\improper Space Milk" - desc = "It's milk. White and nutritious goodness!" - icon_state = "milk" - item_state = "carton" - New() - ..() - reagents.add_reagent("milk", 50) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/* Flour is no longer a reagent -/obj/item/weapon/reagent_containers/food/drinks/flour - name = "flour sack" - desc = "A big bag of flour. Good for baking!" - icon = 'icons/obj/food/food.dmi' - icon_state = "flour" - item_state = "flour" - New() - ..() - reagents.add_reagent("flour", 50) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) -*/ - -/obj/item/weapon/reagent_containers/food/drinks/soymilk - name = "\improper SoyMilk" - desc = "It's soy milk. White and nutritious goodness!" - icon_state = "soymilk" - item_state = "carton" - New() - ..() - reagents.add_reagent("soymilk", 50) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) /obj/item/weapon/reagent_containers/food/drinks/coffee - name = "\improper Robust Coffee" + name = "Robust Coffee" desc = "Careful, the beverage you're about to enjoy is extremely hot." icon_state = "coffee" - New() - ..() - reagents.add_reagent("coffee", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("coffee" = 30) + +/obj/item/weapon/reagent_containers/food/drinks/ice + name = "Ice Cup" + desc = "Careful, cold ice, do not chew." + icon_state = "coffee" + list_reagents = list("ice" = 30) /obj/item/weapon/reagent_containers/food/drinks/tea - name = "\improper Duke Purple Tea" + name = "Duke Purple Tea" desc = "An insult to Duke Purple is an insult to the Space Queen! Any proper gentleman will fight you, if you sully this tea." - icon_state = "teacup" - item_state = "coffee" - New() - ..() - reagents.add_reagent("tea", 30) - if(prob(20)) - reagents.add_reagent("mugwort", 3) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("tea" = 30) + +/obj/item/weapon/reagent_containers/food/drinks/tea/New() + ..() + if(prob(20)) + reagents.add_reagent("mugwort", 3) /obj/item/weapon/reagent_containers/food/drinks/mugwort - name = "\improper Mugwort Tea" + name = "Mugwort Tea" desc = "A bitter herbal tea." icon_state = "manlydorfglass" item_state = "coffee" - New() - ..() - reagents.add_reagent("mugwort", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - -/obj/item/weapon/reagent_containers/food/drinks/ice - name = "\improper Ice Cup" - desc = "Careful, cold ice, do not chew." - icon_state = "coffee" - New() - ..() - reagents.add_reagent("ice", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("mugwort" = 30) /obj/item/weapon/reagent_containers/food/drinks/h_chocolate - name = "\improper Dutch Hot Coco" + name = "Dutch Hot Coco" desc = "Made in Space South America." - icon_state = "hot_coco" - item_state = "coffee" - New() - ..() - reagents.add_reagent("hot_coco", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("hot_coco" = 30, "sugar" = 5) /obj/item/weapon/reagent_containers/food/drinks/chocolate - name = "\improper Hot Chocolate" + name = "Hot Chocolate" desc = "Made in Space Switzerland." icon_state = "hot_coco" item_state = "coffee" - New() - ..() - reagents.add_reagent("chocolate", 45) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("chocolate" = 30) /obj/item/weapon/reagent_containers/food/drinks/weightloss - name = "\improper Weight-Loss Shake" + name = "Weight-Loss Shake" desc = "A shake designed to cause weight loss. The package proudly proclaims that it is 'tapeworm free.'" icon_state = "coffee" item_state = "coffee" - New() - ..() - reagents.add_reagent("lipolicide", 30) - reagents.add_reagent("chocolate", 5) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - + list_reagents = list("lipolicide" = 30, "chocolate" = 5) /obj/item/weapon/reagent_containers/food/drinks/dry_ramen - name = "\improper Cup Ramen" - desc = "Just add 10ml water, self heats! A taste that reminds you of your school years." + name = "Cup Ramen" + desc = "Just add 10ml of water, self heats! A taste that reminds you of your school years." icon_state = "ramen" - New() - ..() - reagents.add_reagent("dry_ramen", 30) - if(prob(20)) - reagents.add_reagent("enzyme", 3) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("dry_ramen" = 30) + +/obj/item/weapon/reagent_containers/food/drinks/dry_ramen/New() + ..() + if(prob(20)) + reagents.add_reagent("enzyme", 3) /obj/item/weapon/reagent_containers/food/drinks/chicken_soup - name = "\improper Cup Chicken Soup" + name = "Cup Chicken Soup" desc = "A delicious and soothing cup of chicken noodle soup; just like spessmom used to make it." icon_state = "ramen" - New() - ..() - reagents.add_reagent("chicken_soup", 30) - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) + list_reagents = list("chicken_soup" = 30) /obj/item/weapon/reagent_containers/food/drinks/sillycup name = "paper cup" desc = "A paper water cup." icon_state = "water_cup_e" - possible_transfer_amounts = null + possible_transfer_amounts = list() volume = 10 - New() - ..() - src.pixel_x = rand(-10.0, 10) - src.pixel_y = rand(-10.0, 10) - on_reagent_change() - if(reagents.total_volume) - icon_state = "water_cup" - else - icon_state = "water_cup_e" + +/obj/item/weapon/reagent_containers/food/drinks/sillycup/on_reagent_change() + if(reagents.total_volume) + icon_state = "water_cup" + else + icon_state = "water_cup_e" //////////////////////////drinkingglass and shaker// //Note by Darem: This code handles the mixing of drinks. New drinks go in three places: In Chemistry-Reagents.dm (for the drink @@ -308,20 +265,14 @@ name = "shaker" desc = "A metal shaker to mix drinks in." icon_state = "shaker" + materials = list(MAT_METAL=1500) amount_per_transfer_from_this = 10 volume = 100 /obj/item/weapon/reagent_containers/food/drinks/flask - name = "Captain's Flask" - desc = "A metal flask belonging to the captain" + name = "flask" + desc = "Every good spaceman knows it's a good idea to bring along a couple of pints of whiskey wherever they go." icon_state = "flask" - materials = list(MAT_SILVER=500) - volume = 60 - -/obj/item/weapon/reagent_containers/food/drinks/flask/detflask - name = "Detective's Flask" - desc = "A metal flask with a leather band and golden badge belonging to the detective." - icon_state = "detflask" materials = list(MAT_METAL=250) volume = 60 @@ -331,17 +282,30 @@ icon_state = "barflask" volume = 60 -/obj/item/weapon/reagent_containers/food/drinks/britcup - name = "cup" - desc = "A cup with the british flag emblazoned on it." - icon_state = "britcup" - volume = 30 +/obj/item/weapon/reagent_containers/food/drinks/flask/detflask + name = "Detective's Flask" + desc = "A metal flask with a leather band and golden badge belonging to the detective." + icon_state = "detflask" + volume = 60 + +/obj/item/weapon/reagent_containers/food/drinks/flask/gold + name = "captain's flask" + desc = "A gold flask belonging to the captain." + icon_state = "flask_gold" + materials = list(MAT_GOLD=500) + +/obj/item/weapon/reagent_containers/food/drinks/flask/det + name = "detective's flask" + desc = "The detective's only true friend." + icon_state = "detflask" + list_reagents = list("whiskey" = 30) /obj/item/weapon/reagent_containers/food/drinks/flask/hand_made name = "handmade flask" desc = "A wooden flask with a silver lid and bottom. It has a matte, dark blue paint on it with the initials \"W.H.\" etched in black." icon = 'icons/obj/custom_items.dmi' icon_state = "williamhackett" + materials = list() /obj/item/weapon/reagent_containers/food/drinks/flask/thermos name = "vintage thermos" @@ -361,3 +325,10 @@ icon = 'icons/obj/custom_items.dmi' icon_state = "lithiumflask" volume = 50 + + +/obj/item/weapon/reagent_containers/food/drinks/britcup + name = "cup" + desc = "A cup with the british flag emblazoned on it." + icon_state = "britcup" + volume = 30 \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm index 17b52aaf5a7..678078bc7fd 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/bottle.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/bottle.dm @@ -7,18 +7,21 @@ /obj/item/weapon/reagent_containers/food/drinks/bottle amount_per_transfer_from_this = 10 volume = 100 + throwforce = 15 item_state = "broken_beer" //Generic held-item sprite until unique ones are made. var/const/duration = 13 //Directly relates to the 'weaken' duration. Lowered by armor (i.e. helmets) var/isGlass = 1 //Whether the 'bottle' is made of glass or not so that milk cartons dont shatter when someone gets hit by it -/obj/item/weapon/reagent_containers/food/drinks/bottle/proc/smash(mob/living/target as mob, mob/living/user as mob) +/obj/item/weapon/reagent_containers/food/drinks/bottle/proc/smash(mob/living/target, mob/living/user, ranged = 0) //Creates a shattering noise and replaces the bottle with a broken_bottle - user.drop_item() - var/obj/item/weapon/broken_bottle/B = new /obj/item/weapon/broken_bottle(user.loc) - user.put_in_active_hand(B) - if(prob(33)) - new /obj/item/weapon/shard(target.loc) // Create a glass shard at the target's location! + var/new_location = get_turf(loc) + var/obj/item/weapon/broken_bottle/B = new /obj/item/weapon/broken_bottle(new_location) + if(ranged) + B.loc = new_location + else + user.drop_item() + user.put_in_active_hand(B) B.icon_state = src.icon_state var/icon/I = new('icons/obj/drinks.dmi', src.icon_state) @@ -26,13 +29,20 @@ I.SwapColor(rgb(255, 0, 220, 255), rgb(0, 0, 0, 0)) B.icon = I - playsound(src, "shatter", 70, 1) - user.put_in_active_hand(B) - src.transfer_fingerprints_to(B) + if(isGlass) + if(prob(33)) + new/obj/item/weapon/shard(new_location) + playsound(src, "shatter", 70, 1) + else + B.name = "broken carton" + B.force = 0 + B.throwforce = 0 + B.desc = "A carton with the bottom half burst open. Might give you a papercut." + transfer_fingerprints_to(B) qdel(src) -/obj/item/weapon/reagent_containers/food/drinks/bottle/attack(mob/living/target as mob, mob/living/user as mob) +/obj/item/weapon/reagent_containers/food/drinks/bottle/attack(mob/living/target, mob/living/user) if(!target) return @@ -40,25 +50,24 @@ if(user.a_intent != I_HARM || !isGlass) return ..() - force = 15 //Smashing bottles over someoen's head hurts. var/obj/item/organ/external/affecting = user.zone_sel.selecting //Find what the player is aiming at - var/armor_block = 0 //Get the target's armour values for normal attack damage. + var/armor_block = 0 //Get the target's armor values for normal attack damage. var/armor_duration = 0 //The more force the bottle has, the longer the duration. //Calculating duration and calculating damage. if(ishuman(target)) var/mob/living/carbon/human/H = target - var/headarmor = 0 // Target's head armour - armor_block = H.run_armor_check(affecting, "melee", armour_penetration = armour_penetration) // For normal attack damage + var/headarmor = 0 // Target's head armor + armor_block = H.run_armor_check(affecting, "melee","","",armour_penetration) // For normal attack damage //If they have a hat/helmet and the user is targeting their head. if(istype(H.head, /obj/item/clothing/head) && affecting == "head") - // If their head has an armour value, assign headarmor to it, else give it 0. + // If their head has an armor value, assign headarmor to it, else give it 0. if(H.head.armor["melee"]) headarmor = H.head.armor["melee"] else @@ -70,221 +79,201 @@ armor_duration = (duration - headarmor) + force else - //Only humans can have armour, right? + //Only humans can have armor, right? armor_block = target.run_armor_check(affecting, "melee") if(affecting == "head") armor_duration = duration + force armor_duration /= 10 //Apply the damage! - target.apply_damage(force, BRUTE, affecting, armor_block, sharp=0) + armor_block = min(90, armor_block) + target.apply_damage(force, BRUTE, affecting, armor_block) // You are going to knock someone out for longer if they are not wearing a helmet. - if(affecting == "head" && istype(target, /mob/living/carbon/)) - - //Display an attack message. - for(var/mob/O in viewers(user, null)) - if(target != user) O.show_message(text("\red [target] has been hit over the head with a bottle of [src.name], by [user]!"), 1) - else O.show_message(text("\red [target] hit himself with a bottle of [src.name] on the head!"), 1) + var/head_attack_message = "" + if(affecting == "head" && iscarbon(target)) + head_attack_message = " on the head" //Weaken the target for the duration that we calculated and divide it by 5. if(armor_duration) target.apply_effect(min(armor_duration, 10) , WEAKEN) // Never weaken more than a flash! + //Display an attack message. + if(target != user) + target.visible_message("[user] has hit [target][head_attack_message] with a bottle of [src.name]!", \ + "[user] has hit [target][head_attack_message] with a bottle of [src.name]!") else - //Default attack message and don't weaken the target. - for(var/mob/O in viewers(user, null)) - if(target != user) O.show_message(text("\red [target] has been attacked with a bottle of [src.name], by [user]!"), 1) - else O.show_message(text("\red [target] has attacked himself with a bottle of [src.name]!"), 1) + user.visible_message("[target] hits \himself with a bottle of [src.name][head_attack_message]!", \ + "[target] hits \himself with a bottle of [src.name][head_attack_message]!") //Attack logs - user.attack_log += text("\[[time_stamp()]\] Has attacked [key_name(target)] with a bottle!") - target.attack_log += text("\[[time_stamp()]\] Has been smashed with a bottle by [key_name(user)]") - if(target.ckey) - msg_admin_attack("[key_name_admin(user)] attacked [key_name_admin(target)] with a bottle. (INTENT: [uppertext(user.a_intent)])") - if(!iscarbon(user)) - target.LAssailant = null - else - target.LAssailant = user + add_logs(target, user, "attacked", src) //The reagents in the bottle splash all over the target, thanks for the idea Nodrak - if(src.reagents) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\blue The contents of the [src] splashes all over [target]!"), 1) - src.reagents.reaction(target, TOUCH) + SplashReagents(target) //Finally, smash the bottle. This kills (del) the bottle. - src.smash(target, user) + smash(target, user) - return +/obj/item/weapon/reagent_containers/food/drinks/bottle/proc/SplashReagents(mob/M) + if(reagents && reagents.total_volume) + M.visible_message("The contents of \the [src] splashes all over [M]!") + reagents.reaction(M, TOUCH) + reagents.clear_reagents() //Keeping this here for now, I'll ask if I should keep it here. /obj/item/weapon/broken_bottle - - name = "broken bottle" + name = "Broken Bottle" desc = "A bottle with a sharp broken bottom." icon = 'icons/obj/drinks.dmi' icon_state = "broken_bottle" - force = 9.0 - throwforce = 5.0 + force = 9 + throwforce = 5 throw_speed = 3 throw_range = 5 + w_class = 1 item_state = "beer" hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("stabbed", "slashed", "attacked") - sharp = 1 - edge = 0 var/icon/broken_outline = icon('icons/obj/drinks.dmi', "broken") + sharp = 1 + edge = 1 /obj/item/weapon/reagent_containers/food/drinks/bottle/gin - name = "\improper Griffeater Gin" + name = "Griffeater Gin" desc = "A bottle of high quality gin, produced in the New London Space Station." icon_state = "ginbottle" - New() - ..() - reagents.add_reagent("gin", 100) + list_reagents = list("gin" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey - name = "\improper Uncle Git's Special Reserve" + name = "Uncle Git's Special Reserve" desc = "A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES." icon_state = "whiskeybottle" - New() - ..() - reagents.add_reagent("whiskey", 100) + list_reagents = list("whiskey" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/vodka - name = "\improper Tunguska Triple Distilled" + name = "Tunguska Triple Distilled" desc = "Aah, vodka. Prime choice of drink AND fuel by Russians worldwide." icon_state = "vodkabottle" - New() - ..() - reagents.add_reagent("vodka", 100) + list_reagents = list("vodka" = 100) -/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla - name = "\improper Caccavo Guaranteed Quality Tequilla" +/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/badminka + name = "Badminka Vodka" + desc = "The label's written in Cyrillic. All you can make out is the name and a word that looks vaguely like 'Vodka'." + icon_state = "badminka" + list_reagents = list("vodka" = 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/tequila + name = "Caccavo Guaranteed Quality Tequila" desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!" - icon_state = "tequillabottle" - New() - ..() - reagents.add_reagent("tequilla", 100) + icon_state = "tequilabottle" + list_reagents = list("tequila" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing - name = "\improper Bottle of Nothing" - desc = "A bottle filled with nothing" + name = "Bottle of Nothing" + desc = "A bottle filled with nothing." icon_state = "bottleofnothing" - New() - ..() - reagents.add_reagent("nothing", 100) + list_reagents = list("nothing" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/patron - name = "\improper Wrapp Artiste Patron" - desc = "Silver laced tequilla, served in space night clubs across the galaxy." + name = "Wrapp Artiste Patron" + desc = "Silver laced tequila, served in space night clubs across the galaxy." icon_state = "patronbottle" - New() - ..() - reagents.add_reagent("patron", 100) + list_reagents = list("patron" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/rum - name = "\improper Captain Pete's Cuban Spiced Rum" + name = "Captain Pete's Cuban Spiced Rum" desc = "This isn't just rum, oh no. It's practically GRIFF in a bottle." icon_state = "rumbottle" - New() - ..() - reagents.add_reagent("rum", 100) + list_reagents = list("rum" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater - name = "\improper Flask of Holy Water" + name = "Flask of Holy Water" desc = "A flask of the chaplain's holy water." icon_state = "holyflask" - New() - ..() - reagents.add_reagent("holywater", 100) + list_reagents = list("holywater" = 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater/hell + desc = "A flask of holy water...it's been sitting in the Necropolis a while though." + list_reagents = list("hell_water" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth - name = "\improper Goldeneye Vermouth" + name = "Goldeneye Vermouth" desc = "Sweet, sweet dryness~" icon_state = "vermouthbottle" - New() - ..() - reagents.add_reagent("vermouth", 100) + list_reagents = list("vermouth" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua - name = "\improper Robert Robust's Coffee Liqueur" - desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK" + name = "Robert Robust's Coffee Liqueur" + desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK." icon_state = "kahluabottle" - New() - ..() - reagents.add_reagent("kahlua", 100) + list_reagents = list("kahlua" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager - name = "\improper College Girl Goldschlager" + name = "College Girl Goldschlager" desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps." icon_state = "goldschlagerbottle" - New() - ..() - reagents.add_reagent("goldschlager", 100) + list_reagents = list("goldschlager" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/cognac - name = "\improper Chateau De Baton Premium Cognac" + name = "Chateau De Baton Premium Cognac" desc = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time." icon_state = "cognacbottle" - New() - ..() - reagents.add_reagent("cognac", 100) + list_reagents = list("cognac" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/wine - name = "\improper Doublebeard Bearded Special Wine" + name = "Doublebeard Bearded Special Wine" desc = "A faint aura of unease and asspainery surrounds the bottle." icon_state = "winebottle" - New() - ..() - reagents.add_reagent("wine", 100) + list_reagents = list("wine" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe - name = "\improper Jailbreaker Verte" - desc = "One sip of this and you just know you're gonna have a good time." + name = "Extra-Strong Absinthe" + desc = "An strong alcoholic drink brewed and distributed by" icon_state = "absinthebottle" - New() - ..() - reagents.add_reagent("absinthe", 100) + list_reagents = list("absinthe" = 100) + +/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe/premium + name = "Gwyn's Premium Absinthe" + desc = "A potent alcoholic beverage, almost makes you forget the ash in your lungs." + icon_state = "absinthepremium" + +/obj/item/weapon/reagent_containers/food/drinks/bottle/hcider + name = "Jian Hard Cider" + desc = "Apple juice for adults." + icon_state = "hcider" + volume = 50 + list_reagents = list("suicider" = 50) //////////////////////////JUICES AND STUFF /////////////////////// /obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice - name = "orange juice" + name = "Orange Juice" desc = "Full of vitamins and deliciousness!" icon_state = "orangejuice" item_state = "carton" isGlass = 0 - New() - ..() - reagents.add_reagent("orangejuice", 100) + list_reagents = list("orangejuice" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/cream - name = "milk cream" + name = "Milk Cream" desc = "It's cream. Made from milk. What else did you think you'd find in there?" icon_state = "cream" item_state = "carton" isGlass = 0 - New() - ..() - reagents.add_reagent("cream", 100) + list_reagents = list("cream" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice - name = "tomato juice" + name = "Tomato Juice" desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness." icon_state = "tomatojuice" item_state = "carton" isGlass = 0 - New() - ..() - reagents.add_reagent("tomatojuice", 100) + list_reagents = list("tomatojuice" = 100) /obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice - name = "lime juice" + name = "Lime Juice" desc = "Sweet-sour goodness." icon_state = "limejuice" item_state = "carton" isGlass = 0 - New() - ..() - reagents.add_reagent("limejuice", 100) + list_reagents = list("limejuice" = 100) diff --git a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm index b2ba9cf7a36..23ce26cf5e4 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/drinkingglass.dm @@ -11,626 +11,549 @@ righthand_file = 'icons/goonstation/mob/inhands/items_righthand.dmi' materials = list(MAT_GLASS=500) - - proc/smash(mob/living/target as mob, mob/living/user as mob) - //Creates a shattering noise and replaces the drinking glass with a glass shard - user.drop_item() - var/obj/item/weapon/shard/S = new /obj/item/weapon/shard(user.loc) - user.put_in_active_hand(S) - - playsound(src, "shatter", 70, 1) - user.put_in_active_hand(S) - src.transfer_fingerprints_to(S) - - qdel(src) - - - attack(mob/living/target as mob, mob/living/user as mob) - - if(!target) +/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/attackby(obj/item/I, mob/user, params) + 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(reagents) + if(reagents.total_volume >= reagents.maximum_volume) + to_chat(user, "[src] is full.") + else + to_chat(user, "You break [E] in [src].") + E.reagents.trans_to(src, E.reagents.total_volume) + qdel(E) return + else + ..() - if(user.a_intent != I_HARM) - return ..() - - force = 5 - - var/obj/item/organ/external/affecting = user.zone_sel.selecting //Find what the player is aiming at - - var/armor_block = 0 //Get the target's armour values for normal attack damage. - - //Calculating damage. - if(ishuman(target)) - - var/mob/living/carbon/human/H = target - armor_block = H.run_armor_check(affecting, "melee") // For normal attack damage - - else - //Only humans can have armour, right? - armor_block = target.run_armor_check(affecting, "melee") - - //Apply the damage! - target.apply_damage(force, BRUTE, affecting, armor_block) - - if(affecting == "head" && istype(target, /mob/living/carbon/)) - - //Display an attack message. - for(var/mob/O in viewers(user, null)) - if(target != user) O.show_message(text("\red [target] has been hit over the head with a [src.name], by [user]!"), 1) - else O.show_message(text("\red [target] hit himself with a [src.name] on the head!"), 1) - - else - //Default attack message - for(var/mob/O in viewers(user, null)) - if(target != user) O.show_message(text("\red [target] has been attacked with a [src.name], by [user]!"), 1) - else O.show_message(text("\red [target] has attacked himself with a [src.name]!"), 1) - - //Attack logs - user.attack_log += text("\[[time_stamp()]\] Has attacked [target.name] ([target.ckey]) with a drinking glass!") - target.attack_log += text("\[[time_stamp()]\] Has been smashed with a drinking glass by [user.name] ([user.ckey])") - log_attack("[user.name] ([user.ckey]) attacked [target.name] with a drinking glass. ([target.ckey])") - if(!iscarbon(user)) - target.LAssailant = null - else - target.LAssailant = user - - //The reagents in the bottle splash all over the target, thanks for the idea Nodrak - if(src.reagents) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\blue The contents of the [src] splashes all over [target]!"), 1) - src.reagents.reaction(target, TOUCH) - - //Finally, smash the bottle. This kills (del) the bottle. - src.smash(target, user) +/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/on_reagent_change() // *scream + if(reagents.reagent_list.len > 0) + switch(reagents.get_master_reagent_id()) + if("beer") + icon_state = "beerglass" + name = "Beer glass" + desc = "A freezing pint of beer" + if("cider") + icon_state = "rewriter" + name = "Cider" + desc = "a refreshing glass of traditional cider" + if("beer2") + icon_state = "beerglass" + name = "Beer glass" + desc = "A freezing pint of beer" + if("ale") + icon_state = "aleglass" + name = "Ale glass" + desc = "A freezing pint of delicious Ale" + if("milk") + icon_state = "glass_white" + name = "Glass of milk" + desc = "White and nutritious goodness!" + if("cream") + icon_state = "glass_white" + name = "Glass of cream" + desc = "Ewwww..." + if("chocolate") + icon_state = "chocolateglass" + name = "Glass of chocolate" + desc = "Tasty" + if("hot_coco") + icon_state = "hot_coco" + name = "Glass of hot coco" + desc = "Delicious and cozy" + if("lemonjuice") + icon_state = "lemonglass" + name = "Glass of lemonjuice" + desc = "Sour..." + if("cola") + icon_state = "glass_brown" + name = "Glass of Space Cola" + desc = "A glass of refreshing Space Cola" + if("nuka_cola") + icon_state = "nuka_colaglass" + name = "Nuka Cola" + desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland" + if("orangejuice") + icon_state = "glass_orange" + name = "Glass of Orange juice" + desc = "Vitamins! Yay!" + if("tomatojuice") + icon_state = "glass_red" + name = "Glass of Tomato juice" + desc = "Are you sure this is tomato juice?" + if("blood") + icon_state = "glass_red" + name = "Glass of Tomato juice" + desc = "Are you sure this is tomato juice?" + if("limejuice") + icon_state = "glass_green" + name = "Glass of Lime juice" + desc = "A glass of sweet-sour lime juice." + if("whiskey") + icon_state = "whiskeyglass" + name = "Glass of whiskey" + desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy." + if("gin") + icon_state = "ginvodkaglass" + name = "Glass of gin" + desc = "A crystal clear glass of Griffeater gin." + if("vodka") + icon_state = "ginvodkaglass" + name = "Glass of vodka" + desc = "The glass contain wodka. Xynta." + if("sake") + icon_state = "ginvodkaglass" + name = "Glass of Sake" + desc = "A glass of Sake." + if("goldschlager") + icon_state = "ginvodkaglass" + name = "Glass of goldschlager" + desc = "100 proof that teen girls will drink anything with gold in it." + if("wine") + icon_state = "wineglass" + name = "Glass of wine" + desc = "A very classy looking drink." + if("cognac") + icon_state = "cognacglass" + name = "Glass of cognac" + desc = "Damn, you feel like some kind of French aristocrat just by holding this." + if("kahlua") + icon_state = "kahluaglass" + name = "Glass of RR coffee Liquor" + desc = "DAMN, THIS THING LOOKS ROBUST" + if("vermouth") + icon_state = "vermouthglass" + name = "Glass of Vermouth" + desc = "You wonder why you're even drinking this straight." + if("triple_citrus") + icon_state = "triplecitrus" + name = "Glass of Triplecitrus Juice" + desc = "As colorful and healthy as it is delicious." + if("mojito") + icon_state = "mojito" + name = "Glass of Mojito" + desc = "Fresh from Spesscuba." + if("tequila") + icon_state = "tequilaglass" + name = "Glass of Tequila" + desc = "Now all that's missing is the weird colored shades!" + if("patron") + icon_state = "patronglass" + name = "Glass of Patron" + desc = "Drinking patron in the bar, with all the subpar ladies." + if("rum") + icon_state = "rumglass" + name = "Glass of Rum" + desc = "Now you want to Pray for a pirate suit, don't you?" + if("absinthe") + icon_state = "absinthebottle" + name = "Glass of Absinthe" + desc = "The green fairy is going to get you now!" + if("gintonic") + icon_state = "gintonicglass" + name = "Gin and Tonic" + desc = "A mild but still great cocktail. Drink up, like a true Englishman." + if("ginsonic") + icon_state = "ginsonic" + name = "Gin and Sonic" + desc = "An extremely high amperage drink. Absolutely not for the true Englishman." + if("whiskeycola") + icon_state = "whiskeycolaglass" + name = "Whiskey Cola" + desc = "An innocent-looking mixture of cola and Whiskey. Delicious." + if("whiterussian") + icon_state = "whiterussianglass" + name = "White Russian" + desc = "A very nice looking drink. But that's just, like, your opinion, man." + if("screwdrivercocktail") + icon_state = "screwdriverglass" + name = "Screwdriver" + desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer." + if("bloodymary") + icon_state = "bloodymaryglass" + name = "Bloody Mary" + desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder." + if("martini") + icon_state = "martiniglass" + name = "Classic Martini" + desc = "Damn, the bartender even stirred it, not shook it." + if("vodkamartini") + icon_state = "martiniglass" + name = "Vodka martini" + desc ="A bastardisation of the classic martini. Still great." + if("gargleblaster") + icon_state = "gargleblasterglass" + name = "Pan-Galactic Gargle Blaster" + desc = "Does... does this mean that Arthur and Ford are on the station? Oh joy." + if("bravebull") + icon_state = "bravebullglass" + name = "Brave Bull" + desc = "Tequila and Coffee liquor, brought together in a mouthwatering mixture. Drink up." + if("tequilasunrise") + icon_state = "tequilasunriseglass" + name = "Tequila Sunrise" + desc = "Oh great, now you feel nostalgic about sunrises back on Terra..." + if("toxinsspecial") + icon_state = "toxinsspecialglass" + name = "Toxins Special" + desc = "Whoah, this thing is on FIRE" + if("beepskysmash") + icon_state = "beepskysmashglass" + name = "Beepsky Smash" + desc = "Heavy, hot and strong. Just like the Iron fist of the LAW." + if("doctorsdelight") + icon_state = "doctorsdelightglass" + name = "Doctor's Delight" + desc = "A healthy mixture of juices, guaranteed to keep you healthy until the next toolboxing takes place." + if("manlydorf") + icon_state = "manlydorfglass" + name = "The Manly Dorf" + desc = "A manly concotion made from Ale and Beer. Intended for true men only." + if("irishcream") + icon_state = "irishcreamglass" + name = "Irish Cream" + desc = "It's cream, mixed with whiskey. What else would you expect from the Irish?" + if("cubalibre") + icon_state = "cubalibreglass" + name = "Cuba Libre" + desc = "A classic mix of rum and cola." + if("b52") + icon_state = "b52glass" + name = "B-52" + desc = "Kahlua, Irish Cream, and congac. You will get bombed." + if("atomicbomb") + icon_state = "atomicbombglass" + name = "Atomic Bomb" + desc = "Nanotrasen cannot take legal responsibility for your actions after imbibing." + if("longislandicedtea") + icon_state = "longislandicedteaglass" + name = "Long Island Iced Tea" + desc = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." + if("threemileisland") + icon_state = "threemileislandglass" + name = "Three Mile Island Ice Tea" + desc = "A glass of this is sure to prevent a meltdown." + if("margarita") + icon_state = "margaritaglass" + name = "Margarita" + desc = "On the rocks with salt on the rim. Arriba~!" + if("blackrussian") + icon_state = "blackrussianglass" + name = "Black Russian" + desc = "For the lactose-intolerant. Still as classy as a White Russian." + if("vodkatonic") + icon_state = "vodkatonicglass" + name = "Vodka and Tonic" + desc = "For when a gin and tonic isn't russian enough." + if("manhattan") + icon_state = "manhattanglass" + name = "Manhattan" + desc = "The Detective's undercover drink of choice. He never could stomach gin..." + if("manhattan_proj") + icon_state = "proj_manhattanglass" + name = "Manhattan Project" + desc = "A scienitst drink of choice, for thinking how to blow up the station." + if("ginfizz") + icon_state = "ginfizzglass" + name = "Gin Fizz" + desc = "Refreshingly lemony, deliciously dry." + if("irishcoffee") + icon_state = "irishcoffeeglass" + name = "Irish Coffee" + desc = "Coffee and alcohol. More fun than a Mimosa to drink in the morning." + if("suicider") + icon_state = "suicider" + name = "Suicider" + desc = "You've really hit rock bottom now... your liver packed its bags and left last night." + if("whiskeysoda") + icon_state = "whiskeysodaglass2" + name = "Whiskey Soda" + desc = "Ultimate refreshment." + if("tonic") + icon_state = "glass_clear" + name = "Glass of Tonic Water" + desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." + if("sodawater") + icon_state = "glass_clear" + name = "Glass of Soda Water" + desc = "Soda water. Why not make a scotch and soda?" + if("water") + icon_state = "glass_clear" + name = "Glass of Water" + desc = "The father of all refreshments." + if("spacemountainwind") + icon_state = "Space_mountain_wind_glass" + name = "Glass of Space Mountain Wind" + desc = "Space Mountain Wind. As you know, there are no mountains in space, only wind." + if("thirteenloko") + icon_state = "thirteen_loko_glass" + name = "Glass of Thirteen Loko" + desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass" + if("dr_gibb") + icon_state = "dr_gibb_glass" + name = "Glass of Dr. Gibb" + desc = "Dr. Gibb. Not as dangerous as the name might imply." + if("space_up") + icon_state = "space-up_glass" + name = "Glass of Space-up" + desc = "Space-up. It helps keep your cool." + if("moonshine") + icon_state = "glass_clear" + name = "Moonshine" + desc = "You've really hit rock bottom now... your liver packed its bags and left last night." + if("soymilk") + icon_state = "glass_white" + name = "Glass of soy milk" + desc = "White and nutritious soy goodness!" + if("berryjuice") + icon_state = "berryjuice" + name = "Glass of berry juice" + desc = "Berry juice. Or maybe its jam. Who cares?" + if("poisonberryjuice") + icon_state = "poisonberryjuice" + name = "Glass of poison berry juice" + desc = "A glass of deadly juice." + if("carrotjuice") + icon_state = "carrotjuice" + name = "Glass of carrot juice" + desc = "It is just like a carrot but without crunching." + if("potato") + icon_state = "glass_brown" + name = "Glass of potato juice" + desc = "Who in the hell requests this? Gross!" + if("banana") + icon_state = "banana" + name = "Glass of banana juice" + desc = "The raw essence of a banana. HONK" + if("bahama_mama") + icon_state = "bahama_mama" + name = "Bahama Mama" + desc = "Tropic cocktail" + if("singulo") + icon_state = "singulo" + name = "Singulo" + desc = "A blue-space beverage." + if("alliescocktail") + icon_state = "alliescocktail" + name = "Allies cocktail" + desc = "A drink made from your allies." + if("antifreeze") + icon_state = "antifreeze" + name = "Anti-freeze" + desc = "The ultimate refreshment." + if("barefoot") + icon_state = "b&p" + name = "Barefoot" + desc = "Barefoot and pregnant" + if("demonsblood") + icon_state = "demonsblood" + name = "Demons Blood" + desc = "Just looking at this thing makes the hair at the back of your neck stand up." + if("booger") + icon_state = "booger" + name = "Booger" + desc = "Ewww..." + if("snowwhite") + icon_state = "snowwhite" + name = "Snow White" + desc = "A cold refreshment." + if("aloe") + icon_state = "aloe" + name = "Aloe" + desc = "Very, very, very good." + if("andalusia") + icon_state = "andalusia" + name = "Andalusia" + desc = "A nice, strange named drink." + if("sbiten") + icon_state = "sbitenglass" + name = "Sbiten" + desc = "A spicy mix of Vodka and Spice. Very hot." + if("red_mead") + icon_state = "red_meadglass" + name = "Red Mead" + desc = "A True Vikings Beverage, though its color is strange." + if("mead") + icon_state = "meadglass" + name = "Mead" + desc = "A Vikings Beverage, though a cheap one." + if("iced_beer") + icon_state = "iced_beerglass" + name = "Iced Beer" + desc = "A beer so frosty, the air around it freezes." + if("grog") + icon_state = "grogglass" + name = "Grog" + desc = "A fine and cepa drink for Space." + if("soy_latte") + icon_state = "soy_latte" + name = "Soy Latte" + desc = "A nice and refrshing beverage while you are reading." + if("cafe_latte") + icon_state = "cafe_latte" + name = "Cafe Latte" + desc = "A nice, strong and refreshing beverage while you are reading." + if("cafe_mocha") + icon_state = "cafe_latte" + name = "Cafe Mocha" + desc = "The perfect blend of coffe, milk, and chocolate." + if("acidspit") + icon_state = "acidspitglass" + name = "Acid Spit" + desc = "A drink from Nanotrasen. Made from live aliens." + if("amasec") + icon_state = "amasecglass" + name = "Amasec" + desc = "Always handy before COMBAT!!!" + if("neurotoxin") + icon_state = "neurotoxinglass" + name = "Neurotoxin" + desc = "A drink that is guaranteed to knock you silly." + if("hippiesdelight") + icon_state = "hippiesdelightglass" + name = "Hippie's Delight" + desc = "A drink enjoyed by people during the 1960's." + if("bananahonk") + icon_state = "bananahonkglass" + name = "Banana Honk" + desc = "A drink from Banana Heaven." + if("silencer") + icon_state = "silencerglass" + name = "Silencer" + desc = "A drink from mime Heaven." + if("nothing") + icon_state = "nothing" + name = "Nothing" + desc = "Absolutely nothing." + if("devilskiss") + icon_state = "devilskiss" + name = "Devils Kiss" + desc = "Creepy time!" + if("changelingsting") + icon_state = "changelingsting" + name = "Changeling Sting" + desc = "A stingy drink." + if("irishcarbomb") + icon_state = "irishcarbomb" + name = "Irish Car Bomb" + desc = "An irish car bomb." + if("syndicatebomb") + icon_state = "syndicatebomb" + name = "Syndicate Bomb" + desc = "A syndicate bomb." + if("erikasurprise") + icon_state = "erikasurprise" + name = "Erika Surprise" + desc = "The surprise is, it's green!" + if("driestmartini") + icon_state = "driestmartiniglass" + name = "Driest Martini" + desc = "Only for the experienced. You think you see sand floating in the glass." + if("ice") + icon_state = "iceglass" + name = "Glass of ice" + desc = "Generally, you're supposed to put something else in there too..." + if("icecoffee") + icon_state = "icedcoffeeglass" + name = "Iced Coffee" + desc = "A drink to perk you up and refresh you!" + if("coffee") + icon_state = "glass_brown" + name = "Glass of coffee" + desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." + if("bilk") + icon_state = "glass_brown" + name = "Glass of bilk" + desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis." + if("fuel") + icon_state = "dr_gibb_glass" + name = "Glass of welder fuel" + desc = "Unless you are an industrial tool, this is probably not safe for consumption." + if("brownstar") + icon_state = "brownstar" + name = "Brown Star" + desc = "Its not what it sounds like..." + if("tea") + icon_state = "glass_brown" + name = "Glass of Tea" + desc = "A glass of hot tea. Perhaps a cup with a handle would have been smarter?" + if("icetea") + icon_state = "icetea" + name = "Iced Tea" + desc = "No relation to a certain rap artist/ actor." + if("milkshake") + icon_state = "milkshake" + name = "Milkshake" + desc = "Glorious brainfreezing mixture." + if("lemonade") + icon_state = "lemonade" + name = "Lemonade" + desc = "Oh the nostalgia..." + if("kiraspecial") + icon_state = "kiraspecial" + name = "Kira Special" + desc = "Long live the guy who everyone had mistaken for a girl. Baka!" + if("rewriter") + icon_state = "rewriter" + name = "Rewriter" + desc = "The secert of the sanctuary of the Libarian..." + if("applejack") + icon_state = "cognacglass" + name = "Glass of applejack" + desc = "When cider isn't strong enough, you gotta jack it." + if("jackrose") + icon_state = "patronglass" + name = "Jack Rose" + desc = "Drinking this makes you feel like you belong in a luxury hotel bar during the 1920s." + if("synthanol") + icon_state = "synthanolglass" + name = "Glass of Synthanol" + desc = "The equivalent of alcohol for synthetic crewmembers. They'd find it awful if they had tastebuds too." + if("robottears") + icon_state = "robottearsglass" + name = "Glass of Robot Tears" + desc = "No robots were hurt in the making of this drink." + if("trinary") + icon_state = "trinaryglass" + name = "Glass of Trinary" + desc = "Colorful drink made for synthetic crewmembers. It doesn't seem like it would taste well." + if("servo") + icon_state = "servoglass" + name = "Glass of Servo" + desc = "Chocolate - based drink made for IPCs. Not sure if anyone's actually tried out the recipe." + if("synthnsoda") + icon_state = "synthnsodaglass" + name = "Glass of Synth 'n Soda" + desc = "Classic drink altered to fit the tastes of a robot. Bad idea to drink if you're made of carbon." + if("synthignon") + icon_state = "synthignonglass" + name = "Glass of Synthignon" + desc = "Someone mixed good wine and robot booze. Romantic, but atrocious." + if("uplink") + icon_state = "uplinkglass" + name = "Glass of Uplink" + desc = "An exquisite mix of the finest liquoirs and synthanol. Meant only for synthetics." + if("holywater") + icon_state = "glass_clear" + name = "Glass of Water" + desc = "The father of all refreshments." - on_reagent_change() - /*if(reagents.reagent_list.len > 1 ) - icon_state = "glass_brown" - name = "Glass of Hooch" - desc = "Two or more drinks, mixed together."*/ - /*else if(reagents.reagent_list.len == 1) - for(var/datum/reagent/R in reagents.reagent_list) - switch(R.id)*/ - if(reagents.reagent_list.len > 0) - //mrid = R.get_master_reagent_id() - switch(reagents.get_master_reagent_id()) - if("beer") - icon_state = "beerglass" - name = "Beer glass" - desc = "A freezing pint of beer" - if("cider") - icon_state = "rewriter" - name = "Cider" - desc = "a refreshing glass of traditional cider" - if("beer2") - icon_state = "beerglass" - name = "Beer glass" - desc = "A freezing pint of beer" - if("ale") - icon_state = "aleglass" - name = "Ale glass" - desc = "A freezing pint of delicious Ale" - if("milk") - icon_state = "glass_white" - name = "Glass of milk" - desc = "White and nutritious goodness!" - if("cream") - icon_state = "glass_white" - name = "Glass of cream" - desc = "Ewwww..." - if("chocolate") - icon_state = "chocolateglass" - name = "Glass of chocolate" - desc = "Tasty" - if("hot_coco") - icon_state = "hot_coco" - name = "Glass of hot coco" - desc = "Delicious and cozy" - if("lemonjuice") - icon_state = "lemonglass" - name = "Glass of lemonjuice" - desc = "Sour..." - if("cola") - icon_state = "glass_brown" - name = "Glass of Space Cola" - desc = "A glass of refreshing Space Cola" - if("nuka_cola") - icon_state = "nuka_colaglass" - name = "Nuka Cola" - desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland" - if("orangejuice") - icon_state = "glass_orange" - name = "Glass of Orange juice" - desc = "Vitamins! Yay!" - if("tomatojuice") - icon_state = "glass_red" - name = "Glass of Tomato juice" - desc = "Are you sure this is tomato juice?" - if("blood") - icon_state = "glass_red" - name = "Glass of Tomato juice" - desc = "Are you sure this is tomato juice?" - if("limejuice") - icon_state = "glass_green" - name = "Glass of Lime juice" - desc = "A glass of sweet-sour lime juice." - if("whiskey") - icon_state = "whiskeyglass" - name = "Glass of whiskey" - desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy." - if("gin") - icon_state = "ginvodkaglass" - name = "Glass of gin" - desc = "A crystal clear glass of Griffeater gin." - if("vodka") - icon_state = "ginvodkaglass" - name = "Glass of vodka" - desc = "The glass contain wodka. Xynta." - if("sake") - icon_state = "ginvodkaglass" - name = "Glass of Sake" - desc = "A glass of Sake." - if("goldschlager") - icon_state = "ginvodkaglass" - name = "Glass of goldschlager" - desc = "100 proof that teen girls will drink anything with gold in it." - if("wine") - icon_state = "wineglass" - name = "Glass of wine" - desc = "A very classy looking drink." - if("cognac") - icon_state = "cognacglass" - name = "Glass of cognac" - desc = "Damn, you feel like some kind of French aristocrat just by holding this." - if("kahlua") - icon_state = "kahluaglass" - name = "Glass of RR coffee Liquor" - desc = "DAMN, THIS THING LOOKS ROBUST" - if("vermouth") - icon_state = "vermouthglass" - name = "Glass of Vermouth" - desc = "You wonder why you're even drinking this straight." - if("triple_citrus") - icon_state = "triplecitrus" - name = "Glass of Triplecitrus Juice" - desc = "As colorful and healthy as it is delicious." - if("mojito") - icon_state = "mojito" - name = "Glass of Mojito" - desc = "Fresh from Spesscuba." - if("tequilla") - icon_state = "tequillaglass" - name = "Glass of Tequilla" - desc = "Now all that's missing is the weird colored shades!" - if("patron") - icon_state = "patronglass" - name = "Glass of Patron" - desc = "Drinking patron in the bar, with all the subpar ladies." - if("rum") - icon_state = "rumglass" - name = "Glass of Rum" - desc = "Now you want to Pray for a pirate suit, don't you?" - if("absinthe") - icon_state = "absinthebottle" - name = "Glass of Absinthe" - desc = "The green fairy is going to get you now!" - if("gintonic") - icon_state = "gintonicglass" - name = "Gin and Tonic" - desc = "A mild but still great cocktail. Drink up, like a true Englishman." - if("ginsonic") - icon_state = "ginsonic" - name = "Gin and Sonic" - desc = "An extremely high amperage drink. Absolutely not for the true Englishman." - if("whiskeycola") - icon_state = "whiskeycolaglass" - name = "Whiskey Cola" - desc = "An innocent-looking mixture of cola and Whiskey. Delicious." - if("whiterussian") - icon_state = "whiterussianglass" - name = "White Russian" - desc = "A very nice looking drink. But that's just, like, your opinion, man." - if("screwdrivercocktail") - icon_state = "screwdriverglass" - name = "Screwdriver" - desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer." - if("bloodymary") - icon_state = "bloodymaryglass" - name = "Bloody Mary" - desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder." - if("martini") - icon_state = "martiniglass" - name = "Classic Martini" - desc = "Damn, the bartender even stirred it, not shook it." - if("vodkamartini") - icon_state = "martiniglass" - name = "Vodka martini" - desc ="A bastardisation of the classic martini. Still great." - if("gargleblaster") - icon_state = "gargleblasterglass" - name = "Pan-Galactic Gargle Blaster" - desc = "Does... does this mean that Arthur and Ford are on the station? Oh joy." - if("bravebull") - icon_state = "bravebullglass" - name = "Brave Bull" - desc = "Tequilla and Coffee liquor, brought together in a mouthwatering mixture. Drink up." - if("tequillasunrise") - icon_state = "tequillasunriseglass" - name = "Tequilla Sunrise" - desc = "Oh great, now you feel nostalgic about sunrises back on Terra..." - if("toxinsspecial") - icon_state = "toxinsspecialglass" - name = "Toxins Special" - desc = "Whoah, this thing is on FIRE" - if("beepskysmash") - icon_state = "beepskysmashglass" - name = "Beepsky Smash" - desc = "Heavy, hot and strong. Just like the Iron fist of the LAW." - if("doctorsdelight") - icon_state = "doctorsdelightglass" - name = "Doctor's Delight" - desc = "A healthy mixture of juices, guaranteed to keep you healthy until the next toolboxing takes place." - if("manlydorf") - icon_state = "manlydorfglass" - name = "The Manly Dorf" - desc = "A manly concotion made from Ale and Beer. Intended for true men only." - if("irishcream") - icon_state = "irishcreamglass" - name = "Irish Cream" - desc = "It's cream, mixed with whiskey. What else would you expect from the Irish?" - if("cubalibre") - icon_state = "cubalibreglass" - name = "Cuba Libre" - desc = "A classic mix of rum and cola." - if("b52") - icon_state = "b52glass" - name = "B-52" - desc = "Kahlua, Irish Cream, and congac. You will get bombed." - if("atomicbomb") - icon_state = "atomicbombglass" - name = "Atomic Bomb" - desc = "Nanotrasen cannot take legal responsibility for your actions after imbibing." - if("longislandicedtea") - icon_state = "longislandicedteaglass" - name = "Long Island Iced Tea" - desc = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." - if("threemileisland") - icon_state = "threemileislandglass" - name = "Three Mile Island Ice Tea" - desc = "A glass of this is sure to prevent a meltdown." - if("margarita") - icon_state = "margaritaglass" - name = "Margarita" - desc = "On the rocks with salt on the rim. Arriba~!" - if("blackrussian") - icon_state = "blackrussianglass" - name = "Black Russian" - desc = "For the lactose-intolerant. Still as classy as a White Russian." - if("vodkatonic") - icon_state = "vodkatonicglass" - name = "Vodka and Tonic" - desc = "For when a gin and tonic isn't russian enough." - if("manhattan") - icon_state = "manhattanglass" - name = "Manhattan" - desc = "The Detective's undercover drink of choice. He never could stomach gin..." - if("manhattan_proj") - icon_state = "proj_manhattanglass" - name = "Manhattan Project" - desc = "A scienitst drink of choice, for thinking how to blow up the station." - if("ginfizz") - icon_state = "ginfizzglass" - name = "Gin Fizz" - desc = "Refreshingly lemony, deliciously dry." - if("irishcoffee") - icon_state = "irishcoffeeglass" - name = "Irish Coffee" - desc = "Coffee and alcohol. More fun than a Mimosa to drink in the morning." - if("suicider") - icon_state = "suicider" - name = "Suicider" - desc = "You've really hit rock bottom now... your liver packed its bags and left last night." - if("whiskeysoda") - icon_state = "whiskeysodaglass2" - name = "Whiskey Soda" - desc = "Ultimate refreshment." - if("tonic") - icon_state = "glass_clear" - name = "Glass of Tonic Water" - desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." - if("sodawater") - icon_state = "glass_clear" - name = "Glass of Soda Water" - desc = "Soda water. Why not make a scotch and soda?" - if("water") - icon_state = "glass_clear" - name = "Glass of Water" - desc = "The father of all refreshments." - if("spacemountainwind") - icon_state = "Space_mountain_wind_glass" - name = "Glass of Space Mountain Wind" - desc = "Space Mountain Wind. As you know, there are no mountains in space, only wind." - if("thirteenloko") - icon_state = "thirteen_loko_glass" - name = "Glass of Thirteen Loko" - desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass" - if("dr_gibb") - icon_state = "dr_gibb_glass" - name = "Glass of Dr. Gibb" - desc = "Dr. Gibb. Not as dangerous as the name might imply." - if("space_up") - icon_state = "space-up_glass" - name = "Glass of Space-up" - desc = "Space-up. It helps keep your cool." - if("moonshine") - icon_state = "glass_clear" - name = "Moonshine" - desc = "You've really hit rock bottom now... your liver packed its bags and left last night." - if("soymilk") - icon_state = "glass_white" - name = "Glass of soy milk" - desc = "White and nutritious soy goodness!" - if("berryjuice") - icon_state = "berryjuice" - name = "Glass of berry juice" - desc = "Berry juice. Or maybe its jam. Who cares?" - if("poisonberryjuice") - icon_state = "poisonberryjuice" - name = "Glass of poison berry juice" - desc = "A glass of deadly juice." - if("carrotjuice") - icon_state = "carrotjuice" - name = "Glass of carrot juice" - desc = "It is just like a carrot but without crunching." - if("potato") - icon_state = "glass_brown" - name = "Glass of potato juice" - desc = "Who in the hell requests this? Gross!" - if("banana") - icon_state = "banana" - name = "Glass of banana juice" - desc = "The raw essence of a banana. HONK" - if("bahama_mama") - icon_state = "bahama_mama" - name = "Bahama Mama" - desc = "Tropic cocktail" - if("singulo") - icon_state = "singulo" - name = "Singulo" - desc = "A blue-space beverage." - if("alliescocktail") - icon_state = "alliescocktail" - name = "Allies cocktail" - desc = "A drink made from your allies." - if("antifreeze") - icon_state = "antifreeze" - name = "Anti-freeze" - desc = "The ultimate refreshment." - if("barefoot") - icon_state = "b&p" - name = "Barefoot" - desc = "Barefoot and pregnant" - if("demonsblood") - icon_state = "demonsblood" - name = "Demons Blood" - desc = "Just looking at this thing makes the hair at the back of your neck stand up." - if("booger") - icon_state = "booger" - name = "Booger" - desc = "Ewww..." - if("snowwhite") - icon_state = "snowwhite" - name = "Snow White" - desc = "A cold refreshment." - if("aloe") - icon_state = "aloe" - name = "Aloe" - desc = "Very, very, very good." - if("andalusia") - icon_state = "andalusia" - name = "Andalusia" - desc = "A nice, strange named drink." - if("sbiten") - icon_state = "sbitenglass" - name = "Sbiten" - desc = "A spicy mix of Vodka and Spice. Very hot." - if("red_mead") - icon_state = "red_meadglass" - name = "Red Mead" - desc = "A True Vikings Beverage, though its color is strange." - if("mead") - icon_state = "meadglass" - name = "Mead" - desc = "A Vikings Beverage, though a cheap one." - if("iced_beer") - icon_state = "iced_beerglass" - name = "Iced Beer" - desc = "A beer so frosty, the air around it freezes." - if("grog") - icon_state = "grogglass" - name = "Grog" - desc = "A fine and cepa drink for Space." - if("soy_latte") - icon_state = "soy_latte" - name = "Soy Latte" - desc = "A nice and refrshing beverage while you are reading." - if("cafe_latte") - icon_state = "cafe_latte" - name = "Cafe Latte" - desc = "A nice, strong and refreshing beverage while you are reading." - if("cafe_mocha") - icon_state = "cafe_latte" - name = "Cafe Mocha" - desc = "The perfect blend of coffe, milk, and chocolate." - if("acidspit") - icon_state = "acidspitglass" - name = "Acid Spit" - desc = "A drink from Nanotrasen. Made from live aliens." - if("amasec") - icon_state = "amasecglass" - name = "Amasec" - desc = "Always handy before COMBAT!!!" - if("neurotoxin") - icon_state = "neurotoxinglass" - name = "Neurotoxin" - desc = "A drink that is guaranteed to knock you silly." - if("hippiesdelight") - icon_state = "hippiesdelightglass" - name = "Hippie's Delight" - desc = "A drink enjoyed by people during the 1960's." - if("bananahonk") - icon_state = "bananahonkglass" - name = "Banana Honk" - desc = "A drink from Banana Heaven." - if("silencer") - icon_state = "silencerglass" - name = "Silencer" - desc = "A drink from mime Heaven." - if("nothing") - icon_state = "nothing" - name = "Nothing" - desc = "Absolutely nothing." - if("devilskiss") - icon_state = "devilskiss" - name = "Devils Kiss" - desc = "Creepy time!" - if("changelingsting") - icon_state = "changelingsting" - name = "Changeling Sting" - desc = "A stingy drink." - if("irishcarbomb") - icon_state = "irishcarbomb" - name = "Irish Car Bomb" - desc = "An irish car bomb." - if("syndicatebomb") - icon_state = "syndicatebomb" - name = "Syndicate Bomb" - desc = "A syndicate bomb." - if("erikasurprise") - icon_state = "erikasurprise" - name = "Erika Surprise" - desc = "The surprise is, it's green!" - if("driestmartini") - icon_state = "driestmartiniglass" - name = "Driest Martini" - desc = "Only for the experienced. You think you see sand floating in the glass." - if("ice") - icon_state = "iceglass" - name = "Glass of ice" - desc = "Generally, you're supposed to put something else in there too..." - if("icecoffee") - icon_state = "icedcoffeeglass" - name = "Iced Coffee" - desc = "A drink to perk you up and refresh you!" - if("coffee") - icon_state = "glass_brown" - name = "Glass of coffee" - desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere." - if("bilk") - icon_state = "glass_brown" - name = "Glass of bilk" - desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis." - if("fuel") - icon_state = "dr_gibb_glass" - name = "Glass of welder fuel" - desc = "Unless you are an industrial tool, this is probably not safe for consumption." - if("brownstar") - icon_state = "brownstar" - name = "Brown Star" - desc = "Its not what it sounds like..." - if("tea") - icon_state = "glass_brown" - name = "Glass of Tea" - desc = "A glass of hot tea. Perhaps a cup with a handle would have been smarter?" - if("icetea") - icon_state = "icetea" - name = "Iced Tea" - desc = "No relation to a certain rap artist/ actor." - if("milkshake") - icon_state = "milkshake" - name = "Milkshake" - desc = "Glorious brainfreezing mixture." - if("lemonade") - icon_state = "lemonade" - name = "Lemonade" - desc = "Oh the nostalgia..." - if("kiraspecial") - icon_state = "kiraspecial" - name = "Kira Special" - desc = "Long live the guy who everyone had mistaken for a girl. Baka!" - if("rewriter") - icon_state = "rewriter" - name = "Rewriter" - desc = "The secert of the sanctuary of the Libarian..." - if("applejack") - icon_state = "cognacglass" - name = "Glass of applejack" - desc = "When cider isn't strong enough, you gotta jack it." - if("jackrose") - icon_state = "patronglass" - name = "Jack Rose" - desc = "Drinking this makes you feel like you belong in a luxury hotel bar during the 1920s." - if("synthanol") - icon_state = "synthanolglass" - name = "Glass of Synthanol" - desc = "The equivalent of alcohol for synthetic crewmembers. They'd find it awful if they had tastebuds too." - if("robottears") - icon_state = "robottearsglass" - name = "Glass of Robot Tears" - desc = "No robots were hurt in the making of this drink." - if("trinary") - icon_state = "trinaryglass" - name = "Glass of Trinary" - desc = "Colorful drink made for synthetic crewmembers. It doesn't seem like it would taste well." - if("servo") - icon_state = "servoglass" - name = "Glass of Servo" - desc = "Chocolate - based drink made for IPCs. Not sure if anyone's actually tried out the recipe." - if("synthnsoda") - icon_state = "synthnsodaglass" - name = "Glass of Synth 'n Soda" - desc = "Classic drink altered to fit the tastes of a robot. Bad idea to drink if you're made of carbon." - if("synthignon") - icon_state = "synthignonglass" - name = "Glass of Synthignon" - desc = "Someone mixed good wine and robot booze. Romantic, but atrocious." - if("uplink") - icon_state = "uplinkglass" - name = "Glass of Uplink" - desc = "An exquisite mix of the finest liquoirs and synthanol. Meant only for synthetics." - if("holywater") - icon_state = "glass_clear" - name = "Glass of Water" - desc = "The father of all refreshments." - - - else - icon_state ="glass_brown" - name = "Glass of ..what?" - desc = "You can't really tell what this is." - else - icon_state = "glass_empty" - name = "glass" - desc = "Your standard drinking glass." -// center_of_mass = list("x"=16, "y"=10) - return + else + icon_state ="glass_brown" + name = "Glass of ..what?" + desc = "You can't really tell what this is." + else + icon_state = "glass_empty" + name = "glass" + desc = "Your standard drinking glass." // for /obj/machinery/vending/sovietsoda /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/soda - New() - ..() - reagents.add_reagent("sodawater", 50) - on_reagent_change() + list_reagents = list("sodawater" = 50) + /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola - New() - ..() - reagents.add_reagent("cola", 50) - on_reagent_change() + list_reagents = list("cola" = 50) /obj/item/weapon/reagent_containers/food/drinks/drinkingglass/devilskiss - New() - ..() - reagents.add_reagent("devilskiss", 50) - on_reagent_change() + list_reagents = list("devilskiss" = 50) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/drinks/jar.dm b/code/modules/reagents/reagent_containers/food/drinks/jar.dm deleted file mode 100644 index 1ddd831ea90..00000000000 --- a/code/modules/reagents/reagent_containers/food/drinks/jar.dm +++ /dev/null @@ -1,29 +0,0 @@ - - -///jar - -/obj/item/weapon/reagent_containers/food/drinks/jar - name = "empty jar" - desc = "A jar. You're not sure what it's supposed to hold." - icon_state = "jar" - item_state = "beaker" - New() - ..() - reagents.add_reagent("slimejelly", 50) - - on_reagent_change() - if(reagents.reagent_list.len > 0) - switch(reagents.get_master_reagent_id()) - if("slimejelly") - icon_state = "jar_slime" - name = "slime jam" - desc = "A jar of slime jam. Delicious!" - else - icon_state ="jar_what" - name = "jar of something" - desc = "You can't really tell what this is." - else - icon_state = "jar" - name = "empty jar" - desc = "A jar. You're not sure what it's supposed to hold." - return diff --git a/code/modules/reagents/reagent_containers/food/drinks/shotglass.dm b/code/modules/reagents/reagent_containers/food/drinks/shotglass.dm index 46289547909..42781cd1e57 100644 --- a/code/modules/reagents/reagent_containers/food/drinks/shotglass.dm +++ b/code/modules/reagents/reagent_containers/food/drinks/shotglass.dm @@ -11,10 +11,15 @@ if(reagents.total_volume) var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]1") - switch(reagents.total_volume) - if(0 to 4) filling.icon_state = "[icon_state]1" - if(5 to 11) filling.icon_state = "[icon_state]5" - if(12 to INFINITY) filling.icon_state = "[icon_state]12" + + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 25) + filling.icon_state = "[icon_state]1" + if(26 to 79) + filling.icon_state = "[icon_state]5" + if(80 to INFINITY) + filling.icon_state = "[icon_state]12" filling.icon += mix_color_from_reagents(reagents.reagent_list) overlays += filling diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm index cf0b9132b57..db98fd17e3c 100644 --- a/code/modules/reagents/reagent_containers/glass_containers.dm +++ b/code/modules/reagents/reagent_containers/glass_containers.dm @@ -132,12 +132,6 @@ to_chat(user, "You cannot fill [target] while it is sealed.") return - /*else if(istype(target, /obj/machinery/bunsen_burner)) - return - - else if(istype(target, /obj/machinery/radiocarbon_spectrometer)) - return*/ - else if(istype(target, /obj/effect/decal/cleanable)) //stops splashing while scooping up fluids return @@ -181,22 +175,11 @@ item_state = "beaker" materials = list(MAT_GLASS=500) var/obj/item/device/assembly_holder/assembly = null + var/can_assembly = 1 /obj/item/weapon/reagent_containers/glass/beaker/on_reagent_change() update_icon() -/obj/item/weapon/reagent_containers/glass/beaker/pickup(mob/user) - ..() - update_icon() - -/obj/item/weapon/reagent_containers/glass/beaker/dropped(mob/user) - ..() - update_icon() - -/obj/item/weapon/reagent_containers/glass/beaker/attack_hand() - ..() - update_icon() - /obj/item/weapon/reagent_containers/glass/beaker/update_icon() overlays.Cut() @@ -233,7 +216,7 @@ set name = "Remove Assembly" set category = "Object" set src in usr - if(usr.stat || !usr.canmove || usr.restrained()) + if(usr.incapacitated()) return if(assembly) to_chat(usr, "You detach [assembly] from \the [src]") @@ -249,7 +232,7 @@ reagents.handle_reactions() /obj/item/weapon/reagent_containers/glass/beaker/attackby(obj/item/weapon/W as obj, mob/user as mob, params) - if(istype(W,/obj/item/device/assembly_holder)) + if(istype(W, /obj/item/device/assembly_holder) && can_assembly) if(assembly) to_chat(usr, "The [src] already has an assembly.") return ..() @@ -299,6 +282,17 @@ amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25) flags = OPENCONTAINER + can_assembly = 0 + +/obj/item/weapon/reagent_containers/glass/beaker/drugs + name = "baggie" + desc = "A baggie. Can hold up to 10 units." + icon_state = "baggie" + amount_per_transfer_from_this = 2 + possible_transfer_amounts = 2 + volume = 10 + flags = OPENCONTAINER + can_assembly = 0 /obj/item/weapon/reagent_containers/glass/beaker/noreact name = "cryostasis beaker" @@ -319,15 +313,21 @@ possible_transfer_amounts = list(5,10,15,25,30,50,100,300) flags = OPENCONTAINER + /obj/item/weapon/reagent_containers/glass/beaker/cryoxadone list_reagents = list("cryoxadone" = 30) /obj/item/weapon/reagent_containers/glass/beaker/sulphuric list_reagents = list("sacid" = 50) + /obj/item/weapon/reagent_containers/glass/beaker/slime list_reagents = list("slimejelly" = 50) +/obj/item/weapon/reagent_containers/glass/beaker/drugs/meth + list_reagents = list("methamphetamine" = 10) + + /obj/item/weapon/reagent_containers/glass/bucket desc = "It's a bucket." name = "bucket" @@ -349,14 +349,4 @@ user.unEquip(src) qdel(src) else - ..() - -/obj/item/weapon/reagent_containers/glass/beaker/vial - name = "vial" - desc = "Small glass vial. Looks fragile." - icon_state = "vial" - materials = list(MAT_GLASS=500) - volume = 15 - amount_per_transfer_from_this = 5 - possible_transfer_amounts = list(1,5,15) - flags = OPENCONTAINER \ No newline at end of file + ..() \ No newline at end of file diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index dd3633784a539ccfc3d32b5fff49bb6023be3a6e..b1c332e6d7501609afb2750647d94c54212fe357 100644 GIT binary patch delta 52237 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 delta 49583 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 diff --git a/icons/obj/food/containers.dmi b/icons/obj/food/containers.dmi new file mode 100644 index 0000000000000000000000000000000000000000..6825f6c652d46dab8db3c247f5cd57b1297091da GIT binary patch literal 8842 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 PTmfAzL(Ot^hsgf{;g}WV literal 0 HcmV?d00001 diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi index b82dcb47f3c96d8c0fdf7ec37d3d71c25e9a06af..25138117609ae3107d35ef242f69378d9fef5365 100644 GIT binary patch literal 2260 zcma)8X;_oj5d#IsF6hwFziX8O0`&#O=K}3 z1ym5hD9DxsC`OB6iG+v|f{hYD2w=jJ?Mv~;UHUw>_0Ku;ocS>`?>qC(x#aD6V2#Fl z4FJFzw}UQ60Dvu%XYFhs#-W=)!~3_em@4Z2S+WKk?UYJaz3><<6&zJ=aE(!)_7>#Se**R|gD^ z@4dVqS$wB*It72(jCjb9{qWA={!0W*p=0px#=b8m^GZa)-RD9t=Wq^M1{`hOL3|nu zIgbS7{?L9#JNUP}lFY!SVZJz@VXn zdK7vzFT~n-oz4EA%Db;)k5-2+1S*CusU0yhu4B9GK9IWN=V!FGZ|xoyC)<0!(+oeS z-q56iN{>{}+SH-;v(9x32Fx|aKzsReh%w08%TW4IDi!r*V||62+`Kb)!w{RJ08n># zb8+&GFPoCJeHa)O0F?PB9WTiYNDIShYkAL4;UR6IDAJZInjqI#3inNf zUaOLP2G7HPSxfrO26p3U9LzKYo_o`)VVFpa;6l)xNF;JoLY}SL&EI~oF#3#Wf0@Rg z9DZ$k`wZ;MQ4c2Jbz%A!SsC<>aHiG$?J9i@5qnp6-qQo!Tc7$keK@vrr&{(jsL+`XbZ9tDMpORF>Vivg= z!3dQ)vxzuGw#BP?H`B+8u)(REIGUlft&Kf;fJ_Q8w3Ae&?((!MV(Mh53_Q1nJAE3* zKNaxL$cGO+F(L<_(k(3>T3GSWiz^)_z>b|cWiVzL2v`gF9dC#xqo+E}c-m1}2V;$g}zDC@uElT3s%sw_O9bwF0R`9@pDxPJ6r574F=a-%E%E zV5?bv zpStXG(aDL$G)^=Nt5}To=>K%^ZEsE-k{P|qDlw*ywcE^$XUWVc^4;BJYrGF!Ev#&^ zUC{cMA!&H}5`nM{GpYKTOICD;5DtVsI9pgLX%ai-vf_qimH1Sl44S#18I*rt>C*@* zyr?Wu+4&rJ-N1=itvJVbahS!C7g>xADXYAtCtAevdn|W4OBA5q3rE%EFi#$p>XW{y z`I|ZVybApqt#QrO)zztsikX`ZVbBMO0CR_57U>W4Y#kh?X-NxHgN)P!*+RN0ol)2d zA8(F)VZppog3q7t<~BBt@U%Lr&L<>DI4zE;sj1LRHltoFSMW_OmB%7s+s{Qu_qWE+ z-D-OL`1D4H!~qMYGCk`2`G%)oukM`fRiVwtUsJJ3Hu$NB#<#ir9GM?Ty5{NSC0ouX zkd|MlkV{0h_(Gl+bdN%zbZt}_mqF3o2A+_HIRlmPk0nA-bZ#NBCImjq3_sv=gO)Pq z+Ap!Twq`P!9`zD|K%i`XA2Go1`CMN_tW}>He(Rnkz$Iu^IBDjGjBdqRO zg@kUC;}2x_-Tf#1eB7BCk7f%=7bMZRLwAK=1DxZ3H<0}#o}OYUysG(Zd3s)sgPI6p z>_IC#5XRkPm~A*;LJE7iYFUg?ndL!8ZSo aSZEbhZtNzX8twb|X>oJ)bgBIYm-Yuvv-}?b literal 2134 zcma)8Ycv~Z8ctk8OSD^~b&bomqqJ#D71apZ(Wt7WOIzA#9rvMe&k{|>s7|rPB&cf` zmy8y1>7s~ahn9|#Dy76dCEDB&L?V(&_nhvTJ!dCD$;apVtK-B zp&6`w-dW>~(83$j5y+{nh!4uRQNm@SLAjNlE}6cqV~D5M9xg0n%G2GvyOLo8TN2ee zc!SDQ)f|RL>@SB_6Z_5N(F#tevw^fb=@|__KQj3!NM>*L^@IJI&=6(QuCkvdUmYr^^Lyx793UI}WkZ<6{T_sJup;b-Ii$;Z9Sc z^v4aJ&sRda6t2SOO#bQZj-SlX(@7;ms(ZvwCY^D*e-Bq`e4C_uGGky%WjD~W&?K*z z3#y7oD<38tWLx@PxGJdlhn*FD#M2)kp=WF}T8u_ZR0|3Ul>4`?iva0GangXz`#etcFEbYNY}IvyM5cuVL*rmRVOAt=X`Rh@mKDYb-?& zQBR%PNOsLmhuPs8co}3q_3jSPxLXQ`sY%uk6}Q};T+dp&FtOfb&23mCCR^0B4udukE`FVYW@$HaHC+MMjk zxc4mk2qM)tA_eItYKmk~8=|FNXzhKeoSa=wK7SNQU{%z>Kb|dK;JIH+Td0_=( zx^0L;Ng-9X(xXb=+Tm{VO`$zVB(i|bX0H|8?nY!~H>3vcnR{7vi&4BL8Z+n5P#$|z z=1wT{6`gZF-V*gcZ!(`42Zq=Cx=6bL6{Hl5i^)F7I!gcgEJzt-FsF#c#P z=}jw_$<&*>3ex^uAC1^HaeI!dO+>94B7~_fV4DE zM_nq@eAh6*KMg!#(K+2PvM4OQR~{F$wL%Un@;fD|HBvF86HP53r6(^6hUo<`tox9f z;{PapCVly93N%eLFj>&^aXOq(S=q>Sqe0}Rq-l_694a>MmmY%h#G%q=R(52*MSysQ zE{Ufbjc|NuUTeZTOXNi9+iY5rG8(NF$$-J6UG#Cu<@d>_1%pO-qVnDHt1#8HYOPOi biA;GF4;~|?F;B|>3joA9kFyQV0ja+M!$8(V diff --git a/paradise.dme b/paradise.dme index 843eb393f0a..7b4d60f5719 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1859,8 +1859,8 @@ #include "code\modules\reagents\oldchem\reagents\drink\reagents_drink_cold.dm" #include "code\modules\reagents\reagent_containers\blood_pack.dm" #include "code\modules\reagents\reagent_containers\borghydro.dm" +#include "code\modules\reagents\reagent_containers\bottle.dm" #include "code\modules\reagents\reagent_containers\dropper.dm" -#include "code\modules\reagents\reagent_containers\drugs.dm" #include "code\modules\reagents\reagent_containers\food.dm" #include "code\modules\reagents\reagent_containers\glass_containers.dm" #include "code\modules\reagents\reagent_containers\hypospray.dm" @@ -1874,12 +1874,10 @@ #include "code\modules\reagents\reagent_containers\food\snacks.dm" #include "code\modules\reagents\reagent_containers\food\drinks\bottle.dm" #include "code\modules\reagents\reagent_containers\food\drinks\drinkingglass.dm" -#include "code\modules\reagents\reagent_containers\food\drinks\jar.dm" #include "code\modules\reagents\reagent_containers\food\drinks\shotglass.dm" #include "code\modules\reagents\reagent_containers\food\snacks\candy.dm" #include "code\modules\reagents\reagent_containers\food\snacks\meat.dm" #include "code\modules\reagents\reagent_containers\food\snacks\seafood.dm" -#include "code\modules\reagents\reagent_containers\glass\bottle.dm" #include "code\modules\recycling\conveyor2.dm" #include "code\modules\recycling\disposal-construction.dm" #include "code\modules\recycling\disposal.dm"