diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index a025e32f872..431f093bb18 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -9,6 +9,7 @@ var/plantname var/datum/seed/seed var/potency = -1 + var/awakening = 0 /obj/item/weapon/reagent_containers/food/snacks/grown/New(newloc,planttype) @@ -291,6 +292,9 @@ ..() /obj/item/weapon/reagent_containers/food/snacks/grown/attack(var/mob/living/carbon/M, var/mob/user, var/def_zone) + if(awakening) + user << "The [src] is twitching and shaking, preventing you from eating it." + return if(user == M) return ..() @@ -445,6 +449,26 @@ user.put_in_hands(DN) qdel(src) return + if("killertomato") + if(awakening || istype(user.loc,/turf/space)) + return + user << "You begin to awaken the Killer Tomato..." + awakening = 1 + + spawn(30) + if(!qdeleted(src)) + var/mob/living/simple_animal/hostile/killertomato/K = new /mob/living/simple_animal/hostile/killertomato(get_turf(src.loc)) + var/endurance_value = seed.get_trait(TRAIT_ENDURANCE) + K.maxHealth += round(endurance_value / 3) + K.melee_damage_lower += round(potency / 10) + K.melee_damage_upper += round(potency / 10) + var/production_value = seed.get_trait(TRAIT_PRODUCTION) + K.move_to_delay -= round(production_value / 50) + K.health = K.maxHealth + K.visible_message("The Killer Tomato growls as it suddenly awakens.") + if(user) + user.unEquip(src) + qdel(src) if("cashpod") to_chat(user, "You crack open the cash pod...") var/value = round(seed.get_trait(TRAIT_POTENCY)) diff --git a/code/modules/hydroponics/grown_predefined.dm b/code/modules/hydroponics/grown_predefined.dm index 9e522ef29f2..a7a9254db66 100644 --- a/code/modules/hydroponics/grown_predefined.dm +++ b/code/modules/hydroponics/grown_predefined.dm @@ -12,6 +12,9 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/tomato plantname = "tomato" +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer + plantname = "killertomato" + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot plantname = "carrot" diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index e49ce5397de..a2340803452 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -168,7 +168,7 @@ name = "tomato" seed_name = "tomato" display_name = "tomato plant" - mutants = list("bluetomato","bloodtomato") + mutants = list("bluetomato","bloodtomato","killertomato") chems = list("plantmatter" = list(1,10)) kitchen_tag = "tomato" preset_icon = "tomato" @@ -179,7 +179,7 @@ set_trait(TRAIT_JUICY,1) set_trait(TRAIT_MATURATION,8) set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,2) + set_trait(TRAIT_YIELD,3) set_trait(TRAIT_POTENCY,10) set_trait(TRAIT_PRODUCT_ICON,"tomato") set_trait(TRAIT_PRODUCT_COLOUR,"#D10000") @@ -189,7 +189,7 @@ name = "bloodtomato" seed_name = "blood tomato" display_name = "blood tomato plant" - mutants = list("killertomato") + mutants = null chems = list("protein" = list(1,10), "blood" = list(1,5)) splat_type = /obj/effect/decal/cleanable/blood/splatter kitchen_tag = "bloodtomato" @@ -197,7 +197,6 @@ /datum/seed/tomato/blood/New() ..() - set_trait(TRAIT_YIELD,3) set_trait(TRAIT_PRODUCT_COLOUR,"#FF0000") set_trait(TRAIT_RARITY,20) @@ -206,12 +205,14 @@ seed_name = "killer tomato" display_name = "killer tomato plant" mutants = null - can_self_harvest = 1 - preset_product = /mob/living/simple_animal/hostile/killertomato + kitchen_tag = "killertomato" preset_icon = "killertomato" + final_form = 0 /datum/seed/tomato/killer/New() ..() + set_trait(TRAIT_ENDURANCE,15) + set_trait(TRAIT_HARVEST_REPEAT,0) set_trait(TRAIT_YIELD,2) set_trait(TRAIT_PRODUCT_COLOUR,"#A86747") set_trait(TRAIT_RARITY,30) @@ -226,6 +227,7 @@ /datum/seed/tomato/blue/New() ..() + set_trait(TRAIT_YIELD,2) set_trait(TRAIT_PRODUCT_COLOUR,"#4D86E8") set_trait(TRAIT_PLANT_COLOUR,"#070AAD") set_trait(TRAIT_RARITY,20)