From c7073e52b8347ca9e489697fa2ab160b9a67a233 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 8 Dec 2015 16:44:07 -0500 Subject: [PATCH] glowcaps --- code/__DEFINES/hydroponics.dm | 3 ++- code/modules/hydroponics/grown.dm | 19 ++++++++++++++++++- code/modules/hydroponics/grown_predefined.dm | 5 ++++- code/modules/hydroponics/seed.dm | 3 ++- code/modules/hydroponics/seed_datums.dm | 16 +++++++++++++++- code/modules/hydroponics/seed_packets.dm | 3 +++ code/modules/hydroponics/trays/tray_tools.dm | 3 +++ icons/obj/harvest.dmi | Bin 39839 -> 40121 bytes 8 files changed, 47 insertions(+), 5 deletions(-) diff --git a/code/__DEFINES/hydroponics.dm b/code/__DEFINES/hydroponics.dm index a53e66f0a0f..f6693b0bcfc 100644 --- a/code/__DEFINES/hydroponics.dm +++ b/code/__DEFINES/hydroponics.dm @@ -56,4 +56,5 @@ #define TRAIT_BIOLUM 36 #define TRAIT_BIOLUM_COLOUR 37 #define TRAIT_IMMUTABLE 38 -#define TRAIT_RARITY 39 \ No newline at end of file +#define TRAIT_RARITY 39 +#define TRAIT_BATTERY_RECHARGE 40 \ No newline at end of file diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 9190e94cbbd..b39ca263d02 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -491,4 +491,21 @@ return reagents.remove_any(rand(1,3)) //Todo, make it actually remove the reagents the seed uses. seed.do_thorns(H,src) - seed.do_sting(H,src,pick("r_hand","l_hand")) \ No newline at end of file + seed.do_sting(H,src,pick("r_hand","l_hand")) + + +/obj/item/weapon/reagent_containers/food/snacks/grown/On_Consume() + if(seed && seed.get_trait(TRAIT_BATTERY_RECHARGE)) + if(!reagents.total_volume) + var/batteries_recharged = 0 + for(var/obj/item/weapon/stock_parts/cell/C in usr.GetAllContents()) + var/newcharge = (potency*0.01)*C.maxcharge + if(C.charge < newcharge) + C.charge = newcharge + if(isobj(C.loc)) + var/obj/O = C.loc + O.update_icon() //update power meters and such + batteries_recharged = 1 + if(batteries_recharged) + usr << "Battery has recovered." + ..() \ No newline at end of file diff --git a/code/modules/hydroponics/grown_predefined.dm b/code/modules/hydroponics/grown_predefined.dm index 523974abac3..44c9c3a1943 100644 --- a/code/modules/hydroponics/grown_predefined.dm +++ b/code/modules/hydroponics/grown_predefined.dm @@ -43,4 +43,7 @@ plantname = "aloe" /obj/item/weapon/reagent_containers/food/snacks/grown/comfrey - plantname = "comfrey" \ No newline at end of file + plantname = "comfrey" + +/obj/item/weapon/reagent_containers/food/snacks/grown/glowcap + plantname = "glowcap" \ No newline at end of file diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index d206c8f8e3a..86a4f19630d 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -42,6 +42,7 @@ set_trait(TRAIT_MATURATION, 0) // Time taken before the plant is mature. set_trait(TRAIT_PRODUCTION, 0) // Time before harvesting can be undertaken again. set_trait(TRAIT_TELEPORTING, 0) // Uses the bluespace tomato effect. + set_trait(TRAIT_BATTERY_RECHARGE, 0) // Used for glowcaps; recharges batteries on a user. set_trait(TRAIT_BIOLUM, 0) // Plant is bioluminescent. set_trait(TRAIT_ALTER_TEMP, 0) // If set, the plant will periodically alter local temp by this amount. set_trait(TRAIT_PRODUCT_ICON, 0) // Icon to use for fruit coming from this plant. @@ -675,7 +676,7 @@ P.values["[TRAIT_EXUDE_GASSES]"] = exude_gasses traits_to_copy = list(TRAIT_POTENCY) if(GENE_OUTPUT) - traits_to_copy = list(TRAIT_PRODUCES_POWER,TRAIT_BIOLUM) + traits_to_copy = list(TRAIT_PRODUCES_POWER,TRAIT_BIOLUM,TRAIT_BATTERY_RECHARGE) if(GENE_ATMOSPHERE) traits_to_copy = list(TRAIT_HEAT_TOLERANCE,TRAIT_LOWKPA_TOLERANCE,TRAIT_HIGHKPA_TOLERANCE) if(GENE_HARDINESS) diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 58ee1a8a666..28cd89843ac 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -655,7 +655,7 @@ name = "glowshroom" seed_name = "glowshroom" display_name = "glowshrooms" - mutants = null + mutants = list("glowcap") chems = list("radium" = list(1,20)) preset_icon = "glowshroom" @@ -673,6 +673,20 @@ set_trait(TRAIT_PLANT_ICON,"mushroom7") set_trait(TRAIT_RARITY,20) +/datum/seed/mushroom/glowshroom/glowcap + name = "glowcap" + seed_name = "glowcap" + display_name = "glowcaps" + mutants = null + preset_icon = "glowcap" + +/datum/seed/mushroom/glowshroom/glowcap/New() + ..() + set_trait(TRAIT_BIOLUM_COLOUR,"#8E0300") + set_trait(TRAIT_PRODUCT_COLOUR,"#C65680") + set_trait(TRAIT_PLANT_COLOUR,"#B72D68") + set_trait(TRAIT_BATTERY_RECHARGE,1) + /datum/seed/mushroom/plastic name = "plastic" seed_name = "plastellium" diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm index 18645c4f531..568af7a89ec 100644 --- a/code/modules/hydroponics/seed_packets.dm +++ b/code/modules/hydroponics/seed_packets.dm @@ -179,6 +179,9 @@ var/global/list/plant_seed_sprites = list() /obj/item/seeds/glowshroom seed_type = "glowshroom" +/obj/item/seeds/glowcap + seed_type = "glowcap" + /obj/item/seeds/plumpmycelium seed_type = "plumphelmet" diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index a18ed380196..147f02f69c1 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -234,6 +234,9 @@ if(grown_seed.get_trait(TRAIT_PRODUCES_POWER)) dat += "
The fruit will function as a battery if prepared appropriately." + if(grown_seed.get_trait(TRAIT_BATTERY_RECHARGE)) + dat += "
The fruit hums with an odd electrical energy." + if(grown_seed.get_trait(TRAIT_STINGS)) dat += "
The fruit is covered in stinging spines." diff --git a/icons/obj/harvest.dmi b/icons/obj/harvest.dmi index fb06ace12ef8ce19717de78d24c065bcf07351d6..0b7045cc64cd18b879f425c16f78c52754ed0e61 100644 GIT binary patch delta 4344 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 O0000