Files
CHOMPStation2/code/game/machinery/seed_extractor.dm
CHOMPStation2StaffMirrorBot bb70ca1093 [MIRROR] Icon Fixup [IDB IGNORE] (#11451)
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-08-17 20:03:49 -04:00

52 lines
1.5 KiB
Plaintext

/obj/machinery/seed_extractor
name = "seed extractor"
desc = "Extracts and bags seeds from produce."
icon = 'icons/obj/hydroponics_machines.dmi'
icon_state = "sextractor"
density = TRUE
anchored = TRUE
/obj/machinery/seed_extractor/attackby(var/obj/item/O as obj, var/mob/user as mob)
// Fruits and vegetables.
if(istype(O, /obj/item/reagent_containers/food/snacks/grown) || istype(O, /obj/item/grown))
user.remove_from_mob(O)
var/datum/seed/new_seed_type
if(istype(O, /obj/item/grown))
var/obj/item/grown/F = O
new_seed_type = SSplants.seeds[F.plantname]
else
var/obj/item/reagent_containers/food/snacks/grown/F = O
new_seed_type = SSplants.seeds[F.plantname]
if(new_seed_type)
to_chat(user, span_notice("You extract some seeds from [O]."))
var/produce = rand(1,4)
for(var/i = 0;i<=produce;i++)
var/obj/item/seeds/seeds = new(get_turf(src))
seeds.seed_type = new_seed_type.name
seeds.update_seed()
else
to_chat(user, "[O] doesn't seem to have any usable seeds inside it.")
qdel(O)
//Grass.
else if(istype(O, /obj/item/stack/tile/grass))
var/obj/item/stack/tile/grass/S = O
if(S.use(1))
to_chat(user, span_notice("You extract some seeds from the grass tile."))
new /obj/item/seeds/grassseed(loc)
else if(istype(O, /obj/item/fossil/plant)) // Fossils
var/obj/item/seeds/random/R = new(get_turf(src))
to_chat(user, "\The [src] pulverizes \the [O] and spits out \the [R].")
qdel(O)
else if(default_unfasten_wrench(user, O, 20))
return
return