More plant things

This commit is contained in:
Anewbe
2017-02-20 18:23:09 -06:00
parent 09e7d5aef9
commit bba014acfa
4 changed files with 59 additions and 23 deletions

View File

@@ -120,21 +120,24 @@
var/damage = 0
var/has_edge = 0
if(get_trait(TRAIT_CARNIVOROUS) >= 2)
if(affecting)
to_chat(target, "<span class='danger'>\The [fruit]'s thorns pierce your [affecting.name] greedily!</span>")
else
to_chat(target, "<span class='danger'>\The [fruit]'s thorns pierce your flesh greedily!</span>")
damage = max(5, round(15*get_trait(TRAIT_POTENCY)/100, 1))
has_edge = prob(get_trait(TRAIT_POTENCY)/2)
else
if(affecting)
to_chat(target, "<span class='danger'>\The [fruit]'s thorns dig deeply into your [affecting.name]!</span>")
to_chat(target, "<span class='danger'>\The [fruit]'s thorns pierce your [affecting.name] greedily!</span>")
target.apply_damage(damage, BRUTE, target_limb, blocked, "Thorns", sharp=1, edge=has_edge)
else
to_chat(target, "<span class='danger'>\The [fruit]'s thorns dig deeply into your flesh!</span>")
to_chat(target, "<span class='danger'>\The [fruit]'s thorns pierce your flesh greedily!</span>")
target.adjustBruteLoss(damage)
else
damage = max(1, round(5*get_trait(TRAIT_POTENCY)/100, 1))
has_edge = prob(get_trait(TRAIT_POTENCY)/5)
target.apply_damage(damage, BRUTE, target_limb, blocked, "Thorns", sharp=1, edge=has_edge)
if(affecting)
to_chat(target, "<span class='danger'>\The [fruit]'s thorns dig deeply into your [affecting.name]!</span>")
target.apply_damage(damage, BRUTE, target_limb, blocked, "Thorns", sharp=1, edge=has_edge)
else
to_chat(target, "<span class='danger'>\The [fruit]'s thorns dig deeply into your flesh!</span>")
target.adjustBruteLoss(damage)
// Adds reagents to a target.
/datum/seed/proc/do_sting(var/mob/living/carbon/human/target, var/obj/item/fruit)
@@ -147,7 +150,8 @@
for(var/obj/item/clothing/clothes in target)
if(target.item_is_in_hands(clothes))
continue
body_coverage &= ~(clothes.body_parts_covered)
if(clothes.item_flags & THICKMATERIAL)
body_coverage &= ~(clothes.body_parts_covered)
if(!body_coverage)
return

View File

@@ -46,6 +46,7 @@
/obj/effect/plant
name = "plant"
anchored = 1
can_buckle = 1
opacity = 0
density = 0
icon = 'icons/obj/hydroponics_growing.dmi'
@@ -109,7 +110,7 @@
growth_threshold = max_health/VINE_GROWTH_STAGES
icon = 'icons/obj/hydroponics_vines.dmi'
growth_type = 2 // Vines by default.
if(seed.get_trait(TRAIT_CARNIVOROUS) == 2)
if(seed.get_trait(TRAIT_CARNIVOROUS) >= 2)
growth_type = 1 // WOOOORMS.
else if(!(seed.seed_noun in list("seeds","pits")))
if(seed.seed_noun == "nodes")

View File

@@ -7,7 +7,7 @@
if(!istype(M))
return
if(!buckled_mob && !M.buckled && !M.anchored && (issmall(M) || prob(round(seed.get_trait(TRAIT_POTENCY)/6))))
if(!buckled_mob && !M.buckled && !M.anchored && (issmall(M) || prob(round(seed.get_trait(TRAIT_POTENCY)/3))))
//wait a tick for the Entered() proc that called HasProximity() to finish (and thus the moving animation),
//so we don't appear to teleport from two tiles away when moving into a turf adjacent to vines.
spawn(1)
@@ -27,7 +27,7 @@
if(!is_mature())
return
var/mob/living/carbon/human/H = victim
if(prob(round(seed.get_trait(TRAIT_POTENCY)/4)))
if(prob(round(seed.get_trait(TRAIT_POTENCY)/3)))
entangle(victim)
if(istype(H) && H.shoes)
return
@@ -89,13 +89,8 @@
if(can_grab)
src.visible_message("<span class='danger'>Tendrils lash out from \the [src] and drag \the [victim] in!</span>")
victim.forceMove(src.loc)
//entangling people
if(victim.loc == src.loc)
buckle_mob(victim)
victim.set_dir(pick(cardinal))
victim << "<span class='danger'>Tendrils [pick("wind", "tangle", "tighten")] around you!</span>"
/obj/effect/plant/buckle_mob()
.=..()
if(.) plant_controller.add_plant(src)
buckle_mob(victim)
victim.set_dir(pick(cardinal))
victim << "<span class='danger'>Tendrils [pick("wind", "tangle", "tighten")] around you!</span>"
victim.Weaken(0.5)
seed.do_thorns(victim,src)