diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 2be40422181..5c09dbf0308 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -957,7 +957,7 @@ /obj/item/seeds/poppyseed = 3,/obj/item/seeds/ambrosiavulgarisseed = 3,/obj/item/seeds/whitebeetseed = 3,/obj/item/seeds/watermelonseed = 3,/obj/item/seeds/limeseed = 3, /obj/item/seeds/lemonseed = 3,/obj/item/seeds/orangeseed = 3,/obj/item/seeds/grassseed = 3,/obj/item/seeds/cocoapodseed = 3, /obj/item/seeds/cabbageseed = 3,/obj/item/seeds/grapeseed = 3,/obj/item/seeds/pumpkinseed = 3,/obj/item/seeds/cherryseed = 3,/obj/item/seeds/plastiseed = 3,/obj/item/seeds/riceseed = 3, - /obj/item/seeds/tobaccoseed = 3, /obj/item/seeds/coffeeaseed = 3, /obj/item/seeds/teaasperaseed = 3) + /obj/item/seeds/tobaccoseed = 3, /obj/item/seeds/coffeeaseed = 3, /obj/item/seeds/teaasperaseed = 3,/obj/item/seeds/peanutseed = 3) contraband = list(/obj/item/seeds/amanitamycelium = 2,/obj/item/seeds/glowshroom = 2,/obj/item/seeds/libertymycelium = 2,/obj/item/seeds/nettleseed = 2, /obj/item/seeds/plumpmycelium = 2,/obj/item/seeds/reishimycelium = 2) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 04f4ab47ee4..ceab50c77f6 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -39,7 +39,11 @@ name = "[seed.seed_name]" - update_icon() + if(seed.modular_icon == 1) + update_icon() + else + icon = 'icons/obj/harvest.dmi' + icon_state = seed.preset_icon if(!seed.chems) return @@ -142,6 +146,8 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/update_icon() if(!seed || !plant_controller || !plant_controller.plant_icon_cache) return + if(seed.modular_icon != 1) + return overlays.Cut() var/image/plant_icon var/icon_key = "fruit-[seed.get_trait(TRAIT_PRODUCT_ICON)]-[seed.get_trait(TRAIT_PRODUCT_COLOUR)]-[seed.get_trait(TRAIT_PLANT_COLOUR)]" diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 5d90f365029..079feb33229 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -4,24 +4,27 @@ /datum/seed //Tracking. - var/uid // Unique identifier. - var/name // Index for global list. - var/seed_name // Plant name for seed packet. - var/seed_noun = "seeds" // Descriptor for packet. - var/display_name // Prettier name. - var/roundstart // If set, seed will not display variety number. - var/mysterious // Only used for the random seed packets. - var/can_self_harvest = 0 // Mostly used for living mobs. - var/growth_stages = 0 // Number of stages the plant passes through before it is mature. - var/list/traits = list() // Initialized in New() - var/list/mutants // Possible predefined mutant varieties, if any. - var/list/chems // Chemicals that plant produces in products/injects into victim. - var/list/consume_gasses // The plant will absorb these gasses during its life. - var/list/exude_gasses // The plant will exude these gasses during its life. - var/kitchen_tag // Used by the reagent grinder. - var/trash_type // Garbage item produced when eaten. + var/uid // Unique identifier. + var/name // Index for global list. + var/seed_name // Plant name for seed packet. + var/seed_noun = "seeds" // Descriptor for packet. + var/display_name // Prettier name. + var/roundstart // If set, seed will not display variety number. + var/mysterious // Only used for the random seed packets. + var/can_self_harvest = 0 // Mostly used for living mobs. + var/growth_stages = 0 // Number of stages the plant passes through before it is mature. + var/list/traits = list() // Initialized in New() + var/list/mutants // Possible predefined mutant varieties, if any. + var/list/chems // Chemicals that plant produces in products/injects into victim. + var/list/consume_gasses // The plant will absorb these gasses during its life. + var/list/exude_gasses // The plant will exude these gasses during its life. + var/kitchen_tag // Used by the reagent grinder. + var/trash_type // Garbage item produced when eaten. var/splat_type = /obj/effect/decal/cleanable/fruit_smudge // Graffiti decal. var/has_mob_product + var/modular_icon = 0 // Dictates if the product uses a modular sprite. 0 = preset, 1 = modular + var/preset_icon = "undef" // Name of the iconstate in icon/obj/harvest.dmi to use for preset sprite + // Make sure to set this to the correct icon if not using a modular sprite /datum/seed/New() @@ -370,6 +373,7 @@ display_name = "strange plants" // TODO: name generator. mysterious = 1 seed_noun = pick("spores","nodes","cuttings","seeds") + modular_icon = 1 set_trait(TRAIT_POTENCY,rand(5,30),200,0) set_trait(TRAIT_PRODUCT_ICON,pick(plant_controller.plant_product_sprites)) diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index ce005e45482..52c84e6d266 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -6,6 +6,7 @@ chems = list("capsaicin" = list(3,5), "plantmatter" = list(1,25)) mutants = list("icechili") kitchen_tag = "chili" + preset_icon = "chilipepper" /datum/seed/chili/New() ..() @@ -25,6 +26,7 @@ mutants = null chems = list("frostoil" = list(3,5), "plantmatter" = list(1,50)) kitchen_tag = "icechili" + preset_icon = "icepepper" /datum/seed/chili/ice/New() ..() @@ -40,6 +42,7 @@ mutants = list("glowberries","poisonberries") chems = list("plantmatter" = list(1,10)) kitchen_tag = "berries" + preset_icon = "berrypile" /datum/seed/berry/New() ..() @@ -59,6 +62,7 @@ display_name = "glowberry bush" mutants = null chems = list("plantmatter" = list(1,10), "uranium" = list(3,5)) + preset_icon = "glowberrypile" /datum/seed/berry/glow/New() ..() @@ -78,6 +82,7 @@ mutants = list("deathberries") chems = list("plantmatter" = list(1), "toxin" = list(3,5)) kitchen_tag = "poisonberries" + preset_icon = "poisonberrypile" /datum/seed/berry/poison/New() ..() @@ -89,6 +94,7 @@ display_name = "death berry bush" mutants = null chems = list("plantmatter" = list(1), "toxin" = list(3,3), "lexorin" = list(1,5)) + preset_icon = "deathberrypile" /datum/seed/berry/poison/death/New() ..() @@ -104,6 +110,7 @@ mutants = list("deathnettle") chems = list("plantmatter" = list(1,50), "sacid" = list(0,1)) kitchen_tag = "nettle" + preset_icon = "nettle" /datum/seed/nettle/New() ..() @@ -124,6 +131,7 @@ mutants = null chems = list("plantmatter" = list(1,50), "facid" = list(0,1)) kitchen_tag = "deathnettle" + preset_icon = "deathnettle" /datum/seed/nettle/death/New() ..() @@ -140,6 +148,7 @@ mutants = list("bluetomato","bloodtomato") chems = list("plantmatter" = list(1,10)) kitchen_tag = "tomato" + preset_icon = "tomato" /datum/seed/tomato/New() ..() @@ -161,6 +170,7 @@ chems = list("protein" = list(1,10), "blood" = list(1,5)) splat_type = /obj/effect/decal/cleanable/blood/splatter kitchen_tag = "bloodtomato" + preset_icon = "bloodtomato" /datum/seed/tomato/blood/New() ..() @@ -174,6 +184,7 @@ mutants = null can_self_harvest = 1 has_mob_product = /mob/living/simple_animal/tomato + preset_icon = "killertomato" /datum/seed/tomato/killer/New() ..() @@ -186,6 +197,7 @@ display_name = "blue tomato plant" mutants = list("bluespacetomato") chems = list("plantmatter" = list(1,20), "lube" = list(1,5)) + preset_icon = "bluetomato" /datum/seed/tomato/blue/New() ..() @@ -198,6 +210,7 @@ display_name = "bluespace tomato plant" mutants = null chems = list("plantmatter" = list(1,20), "singulo" = list(10,5)) + preset_icon = "bluespacetomato" /datum/seed/tomato/blue/teleport/New() ..() @@ -214,6 +227,7 @@ mutants = list("realeggplant") chems = list("plantmatter" = list(1,10)) kitchen_tag = "eggplant" + preset_icon = "eggplant" /datum/seed/eggplant/New() ..() @@ -234,6 +248,7 @@ mutants = list("poisonapple","goldapple") chems = list("plantmatter" = list(1,10)) kitchen_tag = "apple" + preset_icon = "apple" /datum/seed/apple/New() ..() @@ -250,6 +265,7 @@ name = "poisonapple" mutants = null chems = list("cyanide" = list(1,5)) + preset_icon = "apple" /datum/seed/apple/gold name = "goldapple" @@ -258,6 +274,7 @@ mutants = null chems = list("plantmatter" = list(1,10), "gold" = list(1,5)) kitchen_tag = "goldapple" + preset_icon = "goldapple" /datum/seed/apple/gold/New() ..() @@ -275,6 +292,7 @@ mutants = list("ambrosiadeus") chems = list("plantmatter" = list(1), "thc" = list(1,8), "silver_sulfadiazine" = list(1,8,1), "styptic_powder" = list(1,10,1), "toxin" = list(1,10)) kitchen_tag = "ambrosia" + preset_icon = "ambrosiavulgaris" /datum/seed/ambrosia/New() ..() @@ -294,6 +312,7 @@ mutants = null chems = list("plantmatter" = list(1), "styptic_powder" = list(1,8), "synaptizine" = list(1,8,1), "methamphetamine" = list(1,10,1), "thc" = list(1,10)) kitchen_tag = "ambrosiadeus" + preset_icon = "ambrosiadeus" //Tobacco/varieties /datum/seed/tobacco @@ -303,6 +322,7 @@ mutants = list("stobacco") chems = list("plantmatter" = list(1,40), "nicotine" = list(1,40)) kitchen_tag = "tobacco" + preset_icon = "tobacco_leaves" /datum/seed/tobacco/New() ..() @@ -322,6 +342,7 @@ mutants = null chems = list("plantmatter" = list(1,40), "nicotine" = list(1,20), "epinephrine" = list(1,30)) kitchen_tag = "stobacco" + preset_icon = "stobacco_leaves" /datum/seed/tobacco/space/New() ..() @@ -337,6 +358,7 @@ display_name = "tea aspera" mutants = list("teaastra") chems = list("teapowder" = list(1,20), "charcoal" = list(1,30)) + preset_icon = "tea_aspera_leaves" /datum/seed/teaaspera/New() ..() @@ -354,6 +376,7 @@ seed_name = "tea astra" display_name = "tea astra" chems = list("teapowder" = list(1,20), "haloperidol" = list(1,30)) + preset_icon = "tea_astra_leaves" /datum/seed/teaastra/New() ..() @@ -375,6 +398,7 @@ mutants = list("coffeer") chems = list("coffeepowder" = list(1,20), "synaptizine" = list(1,40)) kitchen_tag = "coffeea" + preset_icon = "coffee_arabica" /datum/seed/coffeea/New() ..() @@ -393,6 +417,7 @@ display_name = "coffee robusta" chems = list("coffeepowder" = list(1,20), "synaptizine" = list(1,20), "methamphetamine" = list(1,40)) kitchen_tag = "coffeer" + preset_icon = "coffee_robusta" /datum/seed/coffeer/New() ..() @@ -415,6 +440,7 @@ chems = list("plantmatter" = list(1,25), "fungus" = list(1,10)) splat_type = /obj/effect/plant kitchen_tag = "mushroom" + preset_icon = "chanterelle" /datum/seed/mushroom/New() ..() @@ -450,6 +476,7 @@ mutants = list("walkingmushroom","towercap") chems = list("plantmatter" = list(2,10)) kitchen_tag = "plumphelmet" + preset_icon = "plumphelmet" /datum/seed/mushroom/plump/New() ..() @@ -468,6 +495,7 @@ mutants = null can_self_harvest = 1 has_mob_product = /mob/living/simple_animal/hostile/mushroom + preset_icon = "walkingmushroom" /datum/seed/mushroom/plump/walking/New() ..() @@ -482,6 +510,7 @@ display_name = "reishi" mutants = list("libertycap","glowshroom") chems = list("plantmatter" = list(1,50), "psilocybin" = list(3,5)) + preset_icon = "reishi" /datum/seed/mushroom/hallucinogenic/New() ..() @@ -501,6 +530,7 @@ mutants = null chems = list("plantmatter" = list(1), "morphine" = list(3,3), "space_drugs" = list(1,25)) kitchen_tag = "libertycap" + preset_icon = "libertycap" /datum/seed/mushroom/hallucinogenic/strong/New() ..() @@ -518,6 +548,7 @@ mutants = list("destroyingangel","plastic") chems = list("plantmatter" = list(1), "amanitin" = list(3,3), "psilocybin" = list(1,25)) kitchen_tag = "amanita" + preset_icon = "amanita" /datum/seed/mushroom/poison/New() ..() @@ -536,6 +567,7 @@ display_name = "destroying angel mushrooms" mutants = null chems = list("plantmatter" = list(1,50), "amanitin" = list(13,3), "psilocybin" = list(1,25)) + preset_icon = "angel" /datum/seed/mushroom/poison/death/New() ..() @@ -553,6 +585,7 @@ display_name = "tower caps" chems = list("woodpulp" = list(10,1)) mutants = null + preset_icon = "logs" /datum/seed/mushroom/towercap/New() ..() @@ -568,6 +601,7 @@ display_name = "glowshrooms" mutants = null chems = list("radium" = list(1,20)) + preset_icon = "glowshroom" /datum/seed/mushroom/glowshroom/New() ..() @@ -588,6 +622,7 @@ display_name = "plastellium" mutants = null chems = list("plasticide" = list(1,10)) + preset_icon = "plastellium" /datum/seed/mushroom/plastic/New() ..() @@ -606,6 +641,7 @@ seed_name = "harebell" display_name = "harebells" chems = list("plantmatter" = list(1,20)) + preset_icon = "harebell" /datum/seed/flower/New() ..() @@ -623,6 +659,7 @@ display_name = "poppies" chems = list("plantmatter" = list(1,20), "styptic_powder" = list(1,10)) kitchen_tag = "poppy" + preset_icon = "poppy" /datum/seed/flower/poppy/New() ..() @@ -638,6 +675,7 @@ name = "sunflowers" seed_name = "sunflower" display_name = "sunflowers" + preset_icon = "sunflower" /datum/seed/flower/sunflower/New() ..() @@ -653,6 +691,7 @@ display_name = "grapevines" mutants = list("greengrapes") chems = list("plantmatter" = list(1,10), "sugar" = list(1,5)) + preset_icon = "grapes" /datum/seed/grapes/New() ..() @@ -672,6 +711,7 @@ display_name = "green grapevines" mutants = null chems = list("plantmatter" = list(1,10), "silver_sulfadiazine" = list(3,5)) + preset_icon = "greengrapes" /datum/seed/grapes/green/New() ..() @@ -683,6 +723,7 @@ seed_name = "peanut" display_name = "peanut vines" chems = list("plantmatter" = list(1,10)) + preset_icon = "peanuts" /datum/seed/peanuts/New() ..() @@ -701,6 +742,7 @@ display_name = "cabbages" chems = list("plantmatter" = list(1,10)) kitchen_tag = "cabbage" + preset_icon = "cabbage" /datum/seed/cabbage/New() ..() @@ -721,6 +763,7 @@ chems = list("banana" = list(10,10)) trash_type = /obj/item/weapon/bananapeel kitchen_tag = "banana" + preset_icon = "banana" /datum/seed/banana/New() ..() @@ -740,6 +783,7 @@ chems = list("plantmatter" = list(1,10), "corn_starch" = list(3,5)) kitchen_tag = "corn" trash_type = /obj/item/weapon/corncob + preset_icon = "corn" /datum/seed/corn/New() ..() @@ -758,6 +802,7 @@ display_name = "potatoes" chems = list("plantmatter" = list(1,10)) kitchen_tag = "potato" + preset_icon = "potato" /datum/seed/potato/New() ..() @@ -776,6 +821,7 @@ display_name = "soybeans" chems = list("plantmatter" = list(1,20), "soybeanoil" = list(1,20)) kitchen_tag = "soybeans" + preset_icon = "soybeans" /datum/seed/soybean/New() ..() @@ -794,6 +840,7 @@ display_name = "wheat stalks" chems = list("plantmatter" = list(1,25)) kitchen_tag = "wheat" + preset_icon = "wheat" /datum/seed/wheat/New() ..() @@ -812,6 +859,7 @@ display_name = "rice stalks" chems = list("plantmatter" = list(1,25)) kitchen_tag = "rice" + preset_icon = "rice" /datum/seed/rice/New() ..() @@ -830,6 +878,7 @@ display_name = "carrots" chems = list("plantmatter" = list(1,20), "oculine" = list(3,5)) kitchen_tag = "carrot" + preset_icon = "carrot" /datum/seed/carrots/New() ..() @@ -864,6 +913,7 @@ display_name = "white-beets" chems = list("plantmatter" = list(0,20), "sugar" = list(1,5)) kitchen_tag = "whitebeet" + preset_icon = "whitebeet" /datum/seed/whitebeets/New() ..() @@ -881,6 +931,7 @@ seed_name = "sugarcane" display_name = "sugarcanes" chems = list("sugar" = list(4,5)) + preset_icon = "sugarcane" /datum/seed/sugarcane/New() ..() @@ -900,6 +951,7 @@ display_name = "watermelon vine" chems = list("plantmatter" = list(1,6)) kitchen_tag = "watermelon" + preset_icon = "watermelon" /datum/seed/watermelon/New() ..() @@ -920,6 +972,7 @@ display_name = "pumpkin vine" chems = list("plantmatter" = list(1,6)) kitchen_tag = "pumpkin" + preset_icon = "pumpkin" /datum/seed/pumpkin/New() ..() @@ -939,6 +992,7 @@ display_name = "lime trees" chems = list("plantmatter" = list(1,20)) kitchen_tag = "lime" + preset_icon = "lime" /datum/seed/citrus/New() ..() @@ -958,6 +1012,7 @@ display_name = "lemon trees" chems = list("plantmatter" = list(1,20)) kitchen_tag = "lemon" + preset_icon = "lemon" /datum/seed/citrus/lemon/New() ..() @@ -970,6 +1025,7 @@ display_name = "orange trees" kitchen_tag = "orange" chems = list("plantmatter" = list(1,20)) + preset_icon = "orange" /datum/seed/citrus/orange/New() ..() @@ -981,6 +1037,7 @@ display_name = "grass" chems = list("plantmatter" = list(1,20)) kitchen_tag = "grass" + modular_icon = 1 /datum/seed/grass/New() ..() @@ -998,6 +1055,7 @@ seed_name = "cacao" display_name = "cacao tree" chems = list("plantmatter" = list(1,10), "coco" = list(4,5)) + preset_icon = "cocoapod" /datum/seed/cocoa/New() ..() @@ -1017,6 +1075,7 @@ display_name = "cherry tree" chems = list("plantmatter" = list(1,15), "sugar" = list(1,15)) kitchen_tag = "cherries" + preset_icon = "cherry" /datum/seed/cherries/New() ..() @@ -1036,6 +1095,7 @@ seed_name = "kudzu" display_name = "kudzu vines" chems = list("plantmatter" = list(1,50), "charcoal" = list(1,25)) + preset_icon = "kudzupod" /datum/seed/kudzu/New() ..() @@ -1096,6 +1156,7 @@ display_name = "S'randar's hand leaves" chems = list("styptic_powder" = list(0,10)) kitchen_tag = "shand" + modular_icon = 1 /datum/seed/shand/New() ..() @@ -1114,6 +1175,7 @@ display_name = "Messa's tear leaves" chems = list("honey" = list(1,10), "silver_sulfadiazine" = list(3,5)) kitchen_tag = "mtear" + modular_icon = 1 /datum/seed/mtear/New() ..() @@ -1131,6 +1193,7 @@ seed_name = "telriis" display_name = "telriis grass" chems = list("wine" = list(1,5), "toxin" = list(1,5), "plantmatter" = list(1,6)) + modular_icon = 1 /datum/seed/telriis/New() ..() @@ -1146,6 +1209,7 @@ seed_name = "thaa'dra" display_name = "thaa'dra lichen" chems = list("frostoil" = list(1,5),"plantmatter" = list(1,5)) + modular_icon = 1 /datum/seed/thaadra/New() ..() @@ -1161,6 +1225,7 @@ seed_name = "jurl'mah" display_name = "jurl'mah reeds" chems = list("serotrotium" = list(1,5),"plantmatter" = list(1,5)) + modular_icon = 1 /datum/seed/jurlmah/New() ..() @@ -1176,6 +1241,7 @@ seed_name = "amauri" display_name = "amauri plant" chems = list("condensedcapsaicin" = list(1,5),"plantmatter" = list(1,5)) + modular_icon = 1 /datum/seed/amauri/New() ..() @@ -1191,6 +1257,7 @@ seed_name = "gelthi" display_name = "gelthi plant" chems = list("ether" = list(1,5),"capsaicin" = list(1,5),"plantmatter" = list(1,5)) + modular_icon = 1 /datum/seed/gelthi/New() ..() @@ -1206,6 +1273,7 @@ seed_name = "vale" display_name = "vale bush" chems = list("sal_acid" = list(1,5),"salbutamol" = list(1,2),"plantmatter"= list(1,5)) + modular_icon = 1 /datum/seed/vale/New() ..() @@ -1221,6 +1289,7 @@ seed_name = "surik" display_name = "surik vine" chems = list("haloperidol" = list(1,3),"synaptizine" = list(1,2),"plantmatter" = list(1,5)) + modular_icon = 1 /datum/seed/surik/New() ..() @@ -1237,6 +1306,7 @@ display_name = "test trees" chems = list("omnizine" = list(1,20)) consume_gasses = list("oxygen" = 5) + modular_icon = 1 /datum/seed/test/New() ..() @@ -1256,6 +1326,7 @@ seed_name = "test2" display_name = "test2 trees" exude_gasses = list("toxins" = 5) + modular_icon = 1 /datum/seed/test2/New() ..() diff --git a/icons/obj/harvest.dmi b/icons/obj/harvest.dmi index 144b2e021f0..87c105bc0d2 100644 Binary files a/icons/obj/harvest.dmi and b/icons/obj/harvest.dmi differ