Files
Bubberstation/code/modules/hydroponics/grown/corn.dm
T
Ashe Higgs d447acdc6e All-In-One grinder results are now defined by type, not by huge lists (#33181)
I had some time free, and noticed how awful the reagent grinder code was - it used huge static lists containing types and their associated reagents from grinding.

This is now split into two new vars on /obj/item - var/list/grind_results and var/list/juice_results, as well as two new helper procs, on_grind() and on_juice() to allow those to change based on conditions like plant potency. Such checks and the like have been moved to that. If any of these procs return -1, the operation is canceled.

I also fixed some of the recipes that didn't work. The reagent IDs for them didn't exist, leading me to believe that they weren't tested. I corrected that! (I've tested every single recipe in this PR, with the exception of a few juicing-related ones.)
2017-12-15 10:48:25 +13:00

85 lines
2.3 KiB
Plaintext

// Corn
/obj/item/seeds/corn
name = "pack of corn seeds"
desc = "I don't mean to sound corny..."
icon_state = "seed-corn"
species = "corn"
plantname = "Corn Stalks"
product = /obj/item/reagent_containers/food/snacks/grown/corn
maturation = 8
potency = 20
growthstages = 3
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
icon_grow = "corn-grow" // Uses one growth icons set for all the subtypes
icon_dead = "corn-dead" // Same for the dead icon
mutatelist = list(/obj/item/seeds/corn/snapcorn)
reagents_add = list("cornoil" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1)
/obj/item/reagent_containers/food/snacks/grown/corn
seed = /obj/item/seeds/corn
name = "ear of corn"
desc = "Needs some butter!"
icon_state = "corn"
cooked_type = /obj/item/reagent_containers/food/snacks/popcorn
filling_color = "#FFFF00"
trash = /obj/item/grown/corncob
bitesize_mod = 2
foodtype = VEGETABLES
juice_results = list("corn_starch" = 0)
/obj/item/grown/corncob
name = "corn cob"
desc = "A reminder of meals gone by."
icon_state = "corncob"
item_state = "corncob"
w_class = WEIGHT_CLASS_TINY
throwforce = 0
throw_speed = 3
throw_range = 7
/obj/item/grown/corncob/attackby(obj/item/grown/W, mob/user, params)
if(W.is_sharp())
to_chat(user, "<span class='notice'>You use [W] to fashion a pipe out of the corn cob!</span>")
new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc)
qdel(src)
else
return ..()
// Snapcorn
/obj/item/seeds/corn/snapcorn
name = "pack of snapcorn seeds"
desc = "Oh snap!"
icon_state = "seed-snapcorn"
species = "snapcorn"
plantname = "Snapcorn Stalks"
product = /obj/item/grown/snapcorn
mutatelist = list()
rarity = 10
/obj/item/grown/snapcorn
seed = /obj/item/seeds/corn/snapcorn
name = "snap corn"
desc = "A cob with snap pops."
icon_state = "snapcorn"
item_state = "corncob"
w_class = WEIGHT_CLASS_TINY
throwforce = 0
throw_speed = 3
throw_range = 7
var/snap_pops = 1
/obj/item/grown/snapcorn/add_juice()
..()
snap_pops = max(round(seed.potency/8), 1)
/obj/item/grown/snapcorn/attack_self(mob/user)
..()
to_chat(user, "<span class='notice'>You pick a snap pop from the cob.</span>")
var/obj/item/toy/snappop/S = new /obj/item/toy/snappop(user.loc)
if(ishuman(user))
user.put_in_hands(S)
snap_pops -= 1
if(!snap_pops)
new /obj/item/grown/corncob(user.loc)
qdel(src)