Smol botany update (#9068)

* Smol botany update

- Adds the botany belt, capable of holding botany related tools, beakers & bottles as well as the floral somatoray
- Gives spades the ability to dig up plants so we don't have to go full texas chainsaw massacre on them whenever we want to remove one
- Adds botany belts to biogenerators
- Adds 2 and 3 spades to xenobotany and botany, respectively

* Update tray.dm
This commit is contained in:
enbyfriend
2023-04-23 11:19:38 -08:00
committed by GitHub
parent d77c87cbd1
commit 2ecf2befc5
5 changed files with 49 additions and 0 deletions
+3
View File
@@ -120,6 +120,7 @@
dat += "<A href='?src=\ref[src];action=create;item=plantbag;cost=320'>Plant bag</A> <FONT COLOR=green>([round(250/build_eff)])</FONT><BR>"
dat += "<A href='?src=\ref[src];action=create;item=plantbaglarge;cost=640'>Large plant bag</A> <FONT COLOR=green>([round(250/build_eff)])</FONT><BR>"
dat += "<A href='?src=\ref[src];action=create;item=tbelt;cost=300'>Utility belt</A> <FONT COLOR=brown>([round(300/build_eff)])</FONT><BR>"
dat += "<A href='?src=\ref[src];action=create;item=plantbelt;cost=300'>Botany belt</A> <FONT COLOR=green>([round(300/build_eff)])</FONT><BR>"
dat += "<A href='?src=\ref[src];action=create;item=satchel;cost=400'>Leather Satchel</A> <FONT COLOR=brown>([round(400/build_eff)])</FONT><BR>"
dat += "<A href='?src=\ref[src];action=create;item=cashbag;cost=400'>Cash Bag</A> <FONT COLOR=brown>([round(400/build_eff)])</FONT><BR>"
dat += "<A href='?src=\ref[src];action=create;item=chembag;cost=400'>Chemistry Bag</A> <FONT COLOR=green>([round(400/build_eff)])</FONT><BR>"
@@ -250,6 +251,8 @@
new/obj/item/storage/bag/plants/large(loc)
if("tbelt")
new/obj/item/storage/belt/utility(loc)
if("plantbelt")
new/obj/item/storage/belt/plant(loc)
if("satchel")
new/obj/item/storage/backpack/satchel(loc)
if("cashbag")
@@ -464,3 +464,21 @@
can_hold = list(
/obj/item/ammo_casing/afoam_dart
)
/obj/item/storage/belt/plant
name = "botany toolbelt"
desc = "A belt to hold various botanical tools."
icon_state = "plantbelt"
storage_slots = 8
can_hold = list(
/obj/item/reagent_containers/glass/bottle,
/obj/item/reagent_containers/glass/beaker,
/obj/item/material/minihoe,
/obj/item/shovel/spade,
/obj/item/material/knife/machete/hatchet,
/obj/item/analyzer/plant_analyzer,
/obj/item/gun/energy/floragun,
/obj/item/tool/wirecutters,
/obj/item/tool/wrench,
/obj/item/multitool,
)
+23
View File
@@ -574,6 +574,29 @@
anchored = !anchored
to_chat(user, "<span class='filter_notice'>You [anchored ? "wrench" : "unwrench"] \the [src].</span>")
else if(istype(O, /obj/item/shovel/spade))
if(!weedlevel && !seed) // Don't do anything if the tray is truly empty
to_chat(user, SPAN_NOTICE("[src] doesn't have any plants or weeds!"))
return
user.visible_message(SPAN_NOTICE("[user] starts digging out [src]'s plants..."))
to_chat(user, SPAN_NOTICE("You start digging out [src]'s plants..."))
playsound(src, O.usesound, 50, 1)
if(do_after(user, 40 * O.toolspeed))
to_chat(user, SPAN_NOTICE("[user] digs out the plants in [src]!"), SPAN_NOTICE("You dig out all of [src]'s plants!"))
if(seed) // Chuck the seed -- it's basically just a forced remove_dead() without the verbosity
seed = null
dead = 0
sampled = 0
age = 0
yield_mod = 0
mutation_mod = 0
lastproduce = 0
weedlevel = 0
check_health()
force_update = 1
process()
return
else if(istype(O,/obj/item/multitool))
if(!anchored)
to_chat(user, "<span class='warning'>Anchor it first!</span>")
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

+5
View File
@@ -44134,6 +44134,9 @@
pixel_y = 2
},
/obj/item/reagent_containers/glass/bucket,
/obj/item/shovel/spade,
/obj/item/shovel/spade,
/obj/item/shovel/spade,
/turf/simulated/floor/tiled/hydro,
/area/surface/station/hydroponics)
"tzy" = (
@@ -54049,6 +54052,8 @@
/obj/effect/floor_decal/corner/green/border{
dir = 4
},
/obj/item/shovel/spade,
/obj/item/shovel/spade,
/turf/simulated/floor/tiled/neutral,
/area/surface/station/rnd/xenobiology/xenoflora)
"xYt" = (