mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-06 07:22:42 +00:00
More plant things
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user