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)