Files
Fluffy 3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +00:00

46 lines
1.4 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 = 1
anchored = 1
/obj/machinery/seed_extractor/attackby(obj/item/attacking_item, mob/user)
// Fruits and vegetables.
if(istype(attacking_item, /obj/item/reagent_containers/food/snacks/grown) || istype(attacking_item, /obj/item/grown))
user.remove_from_mob(attacking_item)
var/datum/seed/new_seed_type
if(istype(attacking_item, /obj/item/grown))
var/obj/item/grown/F = attacking_item
new_seed_type = SSplants.seeds[F.plantname]
else
var/obj/item/reagent_containers/food/snacks/grown/F = attacking_item
new_seed_type = SSplants.seeds[F.plantname]
if(new_seed_type)
to_chat(user, SPAN_NOTICE("You extract some seeds from [attacking_item]."))
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, "[attacking_item] doesn't seem to have any usable seeds inside it.")
qdel(attacking_item)
return TRUE
//Grass.
else if(istype(attacking_item, /obj/item/stack/tile/grass))
var/obj/item/stack/tile/grass/S = attacking_item
if (S.use(1))
to_chat(user, SPAN_NOTICE("You extract some seeds from the grass tile."))
new /obj/item/seeds/grassseed(loc)
return TRUE
return ..()