mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-21 15:51:31 +00:00
65 lines
2.0 KiB
Plaintext
65 lines
2.0 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/New()
|
|
..()
|
|
component_parts = list()
|
|
component_parts += new /obj/item/weapon/circuitboard/seed_extractor(null)
|
|
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
|
|
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
|
|
RefreshParts()
|
|
|
|
/obj/machinery/seed_extractor/RefreshParts() //If you want to make the machine upgradable, this is where you would change any vars basd on its stock parts.
|
|
return
|
|
|
|
obj/machinery/seed_extractor/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
|
|
|
|
if(default_deconstruction_screwdriver(user, "sextractor_open", "sextractor", O))
|
|
return
|
|
|
|
if(exchange_parts(user, O))
|
|
return
|
|
|
|
if(default_unfasten_wrench(user, O))
|
|
return
|
|
|
|
default_deconstruction_crowbar(O)
|
|
|
|
// Fruits and vegetables.
|
|
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown) || istype(O, /obj/item/weapon/grown))
|
|
|
|
user.drop_item(O)
|
|
|
|
var/datum/seed/new_seed_type
|
|
if(istype(O, /obj/item/weapon/grown))
|
|
var/obj/item/weapon/grown/F = O
|
|
new_seed_type = plant_controller.seeds[F.plantname]
|
|
else
|
|
var/obj/item/weapon/reagent_containers/food/snacks/grown/F = O
|
|
new_seed_type = plant_controller.seeds[F.plantname]
|
|
|
|
if(new_seed_type)
|
|
to_chat(user, "<span class='notice'>You extract some seeds from [O].</span>")
|
|
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
|
|
to_chat(user, "<span class='notice'>You extract some seeds from the [S.name].</span>")
|
|
S.use(1)
|
|
new /obj/item/seeds/grassseed(loc)
|
|
|
|
return |