diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 7c45d7b64bf..b6ab1bd7812 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -11419,7 +11419,7 @@ pixel_y = 30 }, /obj/structure/reagent_dispensers/watertank, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, /obj/structure/cable, @@ -49658,7 +49658,7 @@ /obj/structure/rack, /obj/item/storage/bag/plants/portaseeder, /obj/item/cultivator, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/item/plant_analyzer, /obj/structure/sign/poster/contraband/kudzu{ pixel_y = -32 @@ -54382,7 +54382,7 @@ /obj/effect/turf_decal/delivery/white{ color = "#52B4E9" }, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /turf/open/floor/iron/dark/textured, /area/station/service/hydroponics) "oJx" = ( @@ -62062,7 +62062,7 @@ /obj/effect/turf_decal/delivery/white{ color = "#52B4E9" }, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /turf/open/floor/iron/dark/textured, /area/station/service/hydroponics) "qOk" = ( @@ -64667,7 +64667,7 @@ req_access = list("kitchen") }, /obj/item/storage/bag/plants, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /turf/open/floor/iron, /area/station/service/kitchen) "rES" = ( @@ -71736,7 +71736,7 @@ /obj/item/wirecutters, /obj/effect/turf_decal/box, /obj/machinery/firealarm/directional/north, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /turf/open/floor/iron, /area/station/service/hydroponics) "tsU" = ( @@ -73569,7 +73569,7 @@ /area/station/science/genetics) "tPD" = ( /obj/machinery/biogenerator, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) "tPE" = ( @@ -86451,7 +86451,7 @@ /obj/effect/turf_decal/trimline/green/end{ dir = 1 }, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/effect/turf_decal/trimline/green/mid_joiner{ dir = 8 }, diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 76aea20a702..c592711a1d7 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -10530,7 +10530,7 @@ /obj/item/hatchet, /obj/item/cultivator, /obj/item/crowbar, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/item/plant_analyzer, /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/tile/green, @@ -21004,7 +21004,7 @@ }, /obj/structure/reagent_dispensers/watertank/high, /obj/effect/turf_decal/stripes/line, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /turf/open/floor/iron/half{ dir = 1 }, @@ -34733,7 +34733,7 @@ /obj/structure/closet/crate/hydroponics, /obj/item/shovel/spade, /obj/item/wrench, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/item/wirecutters, /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -58447,7 +58447,7 @@ /obj/item/hatchet, /obj/item/crowbar, /obj/item/plant_analyzer, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/effect/turf_decal/tile/green, /obj/effect/turf_decal/tile/green{ dir = 4 diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 3f8031520d8..37adc3ddd5d 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -5528,7 +5528,7 @@ dir = 8; pixel_x = 11 }, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9877,7 +9877,7 @@ "cXg" = ( /obj/structure/reagent_dispensers/watertank/high, /obj/structure/railing, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/service/hydroponics) @@ -28457,7 +28457,7 @@ /obj/effect/turf_decal/siding/green{ dir = 4 }, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) "ibm" = ( @@ -29503,7 +29503,7 @@ "ipL" = ( /obj/structure/closet/crate/hydroponics, /obj/item/crowbar/red, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/item/circuitboard/machine/biogenerator, /obj/item/wirecutters, /obj/item/wrench, @@ -62053,7 +62053,7 @@ /area/station/tcommsat/computer) "rLs" = ( /obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/effect/turf_decal/tile/green{ dir = 1 }, diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 75e34a83922..a6c98ab38e3 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -13266,7 +13266,7 @@ "eUi" = ( /obj/structure/table, /obj/item/storage/bag/plants, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/machinery/light/directional/north, /obj/effect/turf_decal/trimline/brown/warning{ dir = 10 @@ -16378,7 +16378,7 @@ /obj/structure/closet/crate/hydroponics, /obj/item/shovel/spade, /obj/item/wrench, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/item/cultivator, /obj/item/wirecutters, /obj/machinery/airalarm/directional/south, @@ -16425,7 +16425,7 @@ /obj/item/hatchet, /obj/item/cultivator, /obj/item/crowbar, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/item/plant_analyzer, /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -21276,7 +21276,7 @@ dir = 4 }, /obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/service/hydroponics) @@ -29603,7 +29603,7 @@ /obj/item/cultivator, /obj/item/crowbar, /obj/item/plant_analyzer, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/structure/table/glass, /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -31077,7 +31077,7 @@ /obj/item/storage/bag/plants/portaseeder, /obj/item/plant_analyzer, /obj/item/cultivator, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/structure/rack, /obj/item/vending_refill/hydroseeds, /turf/open/floor/plating, @@ -32331,7 +32331,7 @@ /area/station/medical/break_room) "lxJ" = ( /obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/effect/turf_decal/stripes/line, /obj/machinery/light/directional/north, /turf/open/floor/iron, @@ -53502,7 +53502,7 @@ dir = 8; pixel_x = 11 }, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 }, @@ -57557,7 +57557,7 @@ /obj/item/crowbar, /obj/machinery/light/directional/north, /obj/item/plant_analyzer, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/service/hydroponics/garden) diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 74dfa931f23..b720a69c4e5 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -4346,7 +4346,7 @@ dir = 4; pixel_x = -12 }, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /turf/open/floor/iron, /area/station/security/prison/garden) "bHP" = ( @@ -4489,7 +4489,7 @@ dir = 1 }, /obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /turf/open/floor/iron/dark, /area/station/service/hydroponics) "bJp" = ( @@ -7744,7 +7744,7 @@ "cIG" = ( /obj/structure/window/reinforced/spawner/north, /obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 }, @@ -47373,7 +47373,7 @@ /obj/item/hatchet, /obj/item/plant_analyzer, /obj/item/cultivator, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/machinery/light/directional/north, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -50899,7 +50899,7 @@ }, /obj/machinery/light/directional/north, /obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /turf/open/floor/iron/dark, /area/station/service/hydroponics) "rdO" = ( diff --git a/_maps/shuttles/whiteship_meta.dmm b/_maps/shuttles/whiteship_meta.dmm index 3c84ab3c4b8..90cf7a78a89 100644 --- a/_maps/shuttles/whiteship_meta.dmm +++ b/_maps/shuttles/whiteship_meta.dmm @@ -1485,7 +1485,7 @@ /obj/item/shovel/spade, /obj/item/cultivator, /obj/item/plant_analyzer, -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/tile/green{ dir = 1 diff --git a/_maps/templates/holodeck_petpark.dmm b/_maps/templates/holodeck_petpark.dmm index f1bc336f02d..d0dc75dc1f3 100644 --- a/_maps/templates/holodeck_petpark.dmm +++ b/_maps/templates/holodeck_petpark.dmm @@ -128,7 +128,7 @@ /turf/open/floor/holofloor, /area/template_noop) "X" = ( -/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/watering_can, /turf/open/floor/holofloor/grass, /area/template_noop) "Z" = ( diff --git a/code/modules/jobs/job_types/botanist.dm b/code/modules/jobs/job_types/botanist.dm index 92a9aea6db2..7dec53564e2 100644 --- a/code/modules/jobs/job_types/botanist.dm +++ b/code/modules/jobs/job_types/botanist.dm @@ -20,13 +20,18 @@ /datum/job_department/service, ) - family_heirlooms = list(/obj/item/cultivator, /obj/item/reagent_containers/glass/bucket, /obj/item/toy/plush/beeplushie) + family_heirlooms = list( + /obj/item/cultivator, + /obj/item/reagent_containers/glass/watering_can/wood, + /obj/item/toy/plush/beeplushie, + ) mail_goodies = list( /obj/item/reagent_containers/glass/bottle/mutagen = 20, /obj/item/reagent_containers/glass/bottle/saltpetre = 20, /obj/item/reagent_containers/glass/bottle/diethylamine = 20, /obj/item/gun/energy/floragun = 10, + /obj/item/reagent_containers/glass/watering_can/advanced = 10, /obj/effect/spawner/random/food_or_drink/seed_rare = 5,// These are strong, rare seeds, so use sparingly. /obj/item/food/monkeycube/bee = 2 ) diff --git a/code/modules/reagents/reagent_containers/watering_can.dm b/code/modules/reagents/reagent_containers/watering_can.dm new file mode 100644 index 00000000000..f3f72234de0 --- /dev/null +++ b/code/modules/reagents/reagent_containers/watering_can.dm @@ -0,0 +1,47 @@ +/obj/item/reagent_containers/glass/watering_can + name = "watering can" + desc = "It's a watering can. It is scientifically proved that using a watering can to simulate rain increases plant happiness!" + icon = 'icons/obj/hydroponics/equipment.dmi' + icon_state = "watering_can" + inhand_icon_state = "watering_can" + lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi' + custom_materials = list(/datum/material/iron = 200) + w_class = WEIGHT_CLASS_NORMAL + volume = 100 + amount_per_transfer_from_this = 20 + possible_transfer_amounts = list(20,100) + +/obj/item/reagent_containers/glass/watering_can/wood + name = "wood watering can" + desc = "An old metal-made watering can but shoddily painted to look like it was made of wood for some dubious reason..." + icon_state = "watering_can_wood" + inhand_icon_state = "watering_can_wood" + volume = 70 + possible_transfer_amounts = list(20,70) + +/obj/item/reagent_containers/glass/watering_can/advanced + desc = "Everything a botanist would want in a watering can. This marvel of technology generates its own water!" + name = "advanced watering can" + icon_state = "adv_watering_can" + inhand_icon_state = "adv_watering_can" + custom_materials = list(/datum/material/iron = 2500, /datum/material/glass = 200) + list_reagents = list(/datum/reagent/water = 100) + ///Refill rate for the watering can + var/refill_rate = 5 + ///Determins what reagent to use for refilling + var/datum/reagent/refill_reagent = /datum/reagent/water + +/obj/item/reagent_containers/glass/watering_can/advanced/Initialize(mapload) + . = ..() + START_PROCESSING(SSobj, src) + +/obj/item/reagent_containers/glass/watering_can/advanced/process(delta_time) + ///How much to refill + var/refill_add = min(volume - reagents.total_volume, refill_rate * delta_time) + if(refill_add > 0) + reagents.add_reagent(refill_reagent, refill_add) + +/obj/item/reagent_containers/glass/watering_can/advanced/Destroy() + STOP_PROCESSING(SSobj, src) + return ..() diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index ddc95fef00d..3c04f5a7972 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -11,6 +11,15 @@ category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENT_BITFLAG_SERVICE +/datum/design/watering_can + name = "Watering Can" + id = "watering_can" + build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE + materials = list(/datum/material/iron = 200) + build_path = /obj/item/reagent_containers/glass/watering_can + category = list("initial","Tools","Tool Designs") + departmental_flags = DEPARTMENT_BITFLAG_SERVICE + /datum/design/mop name = "Mop" id = "mop" diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index abcc07164ab..cc985976735 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -439,6 +439,20 @@ category = list("Equipment") departmental_flags = DEPARTMENT_BITFLAG_SERVICE + +///////////////////////////////////////// +/////////////Hydroponics///////////////// +///////////////////////////////////////// + +/datum/design/adv_watering_can + name = "Advanced Watering Can" + id = "adv_watering_can" + build_type = PROTOLATHE | AWAY_LATHE + materials = list(/datum/material/iron = 2500, /datum/material/glass = 200) + build_path = /obj/item/reagent_containers/glass/watering_can/advanced + category = list("initial","Tools","Tool Designs") + departmental_flags = DEPARTMENT_BITFLAG_SERVICE + ///////////////////////////////////////// /////////////Holobarriers//////////////// ///////////////////////////////////////// diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index e65db0e55ff..5810bba4708 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -64,6 +64,7 @@ "turbine_part_compressor", "turbine_part_rotor", "turbine_part_stator", + "watering_can", ) /datum/techweb_node/mmi @@ -1328,6 +1329,7 @@ "hydro_tray", "portaseeder", "seed_extractor", + "adv_watering_can", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000) required_experiments = list(/datum/experiment/scanning/random/plants/wild) diff --git a/icons/mob/inhands/equipment/hydroponics_lefthand.dmi b/icons/mob/inhands/equipment/hydroponics_lefthand.dmi index f2dafa9bd60..031909dbf82 100644 Binary files a/icons/mob/inhands/equipment/hydroponics_lefthand.dmi and b/icons/mob/inhands/equipment/hydroponics_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/hydroponics_righthand.dmi b/icons/mob/inhands/equipment/hydroponics_righthand.dmi index 0006212fc58..a2cac9c47f3 100644 Binary files a/icons/mob/inhands/equipment/hydroponics_righthand.dmi and b/icons/mob/inhands/equipment/hydroponics_righthand.dmi differ diff --git a/icons/obj/hydroponics/equipment.dmi b/icons/obj/hydroponics/equipment.dmi index 08d86965b5b..2f7b511cdef 100644 Binary files a/icons/obj/hydroponics/equipment.dmi and b/icons/obj/hydroponics/equipment.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 41a41f051fe..58bff600cc0 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4031,6 +4031,7 @@ #include "code\modules\reagents\reagent_containers\pill.dm" #include "code\modules\reagents\reagent_containers\spray.dm" #include "code\modules\reagents\reagent_containers\syringes.dm" +#include "code\modules\reagents\reagent_containers\watering_can.dm" #include "code\modules\reagents\withdrawal\_addiction.dm" #include "code\modules\reagents\withdrawal\generic_addictions.dm" #include "code\modules\recycling\conveyor.dm"