Merge pull request #4158 from Fox-McCloud/killer-tomato

Killer Tomatoes Live Up to their Name
This commit is contained in:
TheDZD
2016-04-14 19:12:34 -04:00
8 changed files with 64 additions and 28 deletions
+24
View File
@@ -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 << "<span class='warning'>The [src] is twitching and shaking, preventing you from eating it.</span>"
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 << "<span class='notice'>You begin to awaken the Killer Tomato...</span>"
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("<span class='notice'>The Killer Tomato growls as it suddenly awakens.</span>")
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))
@@ -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"
+7 -5
View File
@@ -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")
@@ -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/tomato
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)
@@ -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
@@ -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
+3 -3
View File
@@ -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)