mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-05-29 18:46:30 +01:00
d447acdc6e
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.)
85 lines
2.3 KiB
Plaintext
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)
|