From 399813b36c2159bd54a84ad101c85b64d0f88276 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Mon, 11 Apr 2016 00:12:24 -0400 Subject: [PATCH 1/3] Killer Tomatoes Live Up to their Name --- code/game/dna/genes/goon_powers.dm | 1 - code/modules/hydroponics/seed_datums.dm | 2 +- .../living/simple_animal/friendly/tomato.dm | 18 ------------- .../simple_animal/hostile/killertomato.dm | 26 +++++++++++++++++++ code/modules/projectiles/projectile/magic.dm | 6 ++--- paradise.dme | 2 +- 6 files changed, 31 insertions(+), 24 deletions(-) delete mode 100644 code/modules/mob/living/simple_animal/friendly/tomato.dm create mode 100644 code/modules/mob/living/simple_animal/hostile/killertomato.dm diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index b0e0a405265..c6aa1ffbdca 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -256,7 +256,6 @@ /mob/living/carbon/alien/larva, /mob/living/simple_animal/slime, /mob/living/simple_animal/adultslime, - /mob/living/simple_animal/tomato, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, /mob/living/simple_animal/lizard, diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index 84a2f7a7fbf..e49ce5397de 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -207,7 +207,7 @@ display_name = "killer tomato plant" mutants = null can_self_harvest = 1 - preset_product = /mob/living/simple_animal/tomato + preset_product = /mob/living/simple_animal/hostile/killertomato preset_icon = "killertomato" /datum/seed/tomato/killer/New() diff --git a/code/modules/mob/living/simple_animal/friendly/tomato.dm b/code/modules/mob/living/simple_animal/friendly/tomato.dm deleted file mode 100644 index ca135fe87be..00000000000 --- a/code/modules/mob/living/simple_animal/friendly/tomato.dm +++ /dev/null @@ -1,18 +0,0 @@ -/mob/living/simple_animal/tomato - name = "tomato" - desc = "It's a horrifyingly enormous beef tomato, and it's packing extra beef!" - icon_state = "tomato" - icon_living = "tomato" - icon_dead = "tomato_dead" - speak_chance = 0 - turns_per_move = 5 - maxHealth = 15 - health = 15 - butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/tomatomeat = 3) - response_help = "prods the" - response_disarm = "pushes aside the" - response_harm = "smacks the" - harm_intent_damage = 5 - pass_flags = PASSTABLE - can_hide = 1 - gold_core_spawnable = CHEM_MOB_SPAWN_FRIENDLY \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/killertomato.dm b/code/modules/mob/living/simple_animal/hostile/killertomato.dm new file mode 100644 index 00000000000..e142dfcbe39 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/killertomato.dm @@ -0,0 +1,26 @@ +/mob/living/simple_animal/hostile/killertomato + name = "Killer Tomato" + desc = "It's a horrifyingly enormous beef tomato, and it's packing extra beef!" + icon_state = "tomato" + icon_living = "tomato" + icon_dead = "tomato_dead" + speak_chance = 0 + turns_per_move = 5 + maxHealth = 30 + health = 30 + see_in_dark = 3 + butcher_results = list(/obj/item/weapon/reagent_containers/food/snacks/tomatomeat = 2) + response_help = "prods" + response_disarm = "pushes aside" + response_harm = "smacks" + melee_damage_lower = 8 + melee_damage_upper = 12 + attacktext = "slams" + attack_sound = 'sound/weapons/punch1.ogg' + ventcrawler = 2 + faction = list("plants") + + atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 150 + maxbodytemp = 500 + gold_core_spawnable = CHEM_MOB_SPAWN_HOSTILE diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 7d8c9abbe8f..ecbbfb530f8 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -185,7 +185,7 @@ proc/wabbajack(mob/living/M) new_mob.universal_speak = 1*/ if("animal") if(prob(50)) - var/beast = pick("carp","bear","mushroom","statue", "bat", "goat") + var/beast = pick("carp","bear","mushroom","statue", "bat", "goat", "tomato") switch(beast) if("carp") new_mob = new /mob/living/simple_animal/hostile/carp(M.loc) if("bear") new_mob = new /mob/living/simple_animal/hostile/bear(M.loc) @@ -193,14 +193,14 @@ proc/wabbajack(mob/living/M) if("statue") new_mob = new /mob/living/simple_animal/hostile/statue(M.loc) if("bat") new_mob = new /mob/living/simple_animal/hostile/scarybat(M.loc) if("goat") new_mob = new /mob/living/simple_animal/hostile/retaliate/goat(M.loc) + if("tomato") new_mob = new /mob/living/simple_animal/hostile/killertomato(M.loc) else - var/animal = pick("parrot","corgi","crab","pug","cat","tomato","mouse","chicken","cow","lizard","chick","fox") + var/animal = pick("parrot","corgi","crab","pug","cat","mouse","chicken","cow","lizard","chick","fox") switch(animal) if("parrot") new_mob = new /mob/living/simple_animal/parrot(M.loc) if("corgi") new_mob = new /mob/living/simple_animal/pet/corgi(M.loc) if("crab") new_mob = new /mob/living/simple_animal/crab(M.loc) if("cat") new_mob = new /mob/living/simple_animal/pet/cat(M.loc) - if("tomato") new_mob = new /mob/living/simple_animal/tomato(M.loc) if("mouse") new_mob = new /mob/living/simple_animal/mouse(M.loc) if("chicken") new_mob = new /mob/living/simple_animal/chicken(M.loc) if("cow") new_mob = new /mob/living/simple_animal/cow(M.loc) diff --git a/paradise.dme b/paradise.dme index ca1495b92b1..433ed122264 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1558,7 +1558,6 @@ #include "code\modules\mob\living\simple_animal\friendly\pug.dm" #include "code\modules\mob\living\simple_animal\friendly\slime.dm" #include "code\modules\mob\living\simple_animal\friendly\spiderbot.dm" -#include "code\modules\mob\living\simple_animal\friendly\tomato.dm" #include "code\modules\mob\living\simple_animal\hostile\alien.dm" #include "code\modules\mob\living\simple_animal\hostile\bat.dm" #include "code\modules\mob\living\simple_animal\hostile\bear.dm" @@ -1570,6 +1569,7 @@ #include "code\modules\mob\living\simple_animal\hostile\hivebot.dm" #include "code\modules\mob\living\simple_animal\hostile\hostile.dm" #include "code\modules\mob\living\simple_animal\hostile\jungle_animals.dm" +#include "code\modules\mob\living\simple_animal\hostile\killertomato.dm" #include "code\modules\mob\living\simple_animal\hostile\mimic.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs.dm" #include "code\modules\mob\living\simple_animal\hostile\mushroom.dm" From 49f59234e6522ec427356b4e7a064116d7f5038a Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Mon, 11 Apr 2016 22:24:35 -0400 Subject: [PATCH 2/3] tweaks --- code/modules/hydroponics/grown.dm | 24 ++++++++++++++++++++ code/modules/hydroponics/grown_predefined.dm | 3 +++ code/modules/hydroponics/seed_datums.dm | 14 +++++++----- 3 files changed, 35 insertions(+), 6 deletions(-) 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) From d6f33a0127b19aa128134f208d168edb3cdb1ef4 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Tue, 12 Apr 2016 03:34:00 -0400 Subject: [PATCH 3/3] tweak 2 --- code/modules/hydroponics/seed_datums.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm index a2340803452..e98c815a0f2 100644 --- a/code/modules/hydroponics/seed_datums.dm +++ b/code/modules/hydroponics/seed_datums.dm @@ -189,7 +189,7 @@ name = "bloodtomato" seed_name = "blood tomato" display_name = "blood tomato plant" - mutants = null + mutants = list("killertomato") chems = list("protein" = list(1,10), "blood" = list(1,5)) splat_type = /obj/effect/decal/cleanable/blood/splatter kitchen_tag = "bloodtomato"