mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Exploration Expansion 1: Or, How I Learned To Love The Tree
This commit is contained in:
@@ -293,4 +293,29 @@ the artifact triggers the rage.
|
||||
on_expired_text = "<span class='notice'>You feel.. different.</span>"
|
||||
stacks = MODIFIER_STACK_EXTEND
|
||||
|
||||
pulse_set_level = PULSE_NORM
|
||||
pulse_set_level = PULSE_NORM
|
||||
|
||||
/datum/modifier/slow_pulse
|
||||
name = "slow pulse"
|
||||
desc = "Your blood flows slower."
|
||||
|
||||
on_created_text = "<span class='notice'>You feel sluggish.</span>"
|
||||
on_expired_text = "<span class='notice'>You feel energized.</span>"
|
||||
stacks = MODIFIER_STACK_EXTEND
|
||||
|
||||
bleeding_rate_percent = 0.8
|
||||
|
||||
pulse_set_level = PULSE_SLOW
|
||||
|
||||
// Temperature Normalizer.
|
||||
/datum/modifier/homeothermic
|
||||
name = "temperature resistance"
|
||||
desc = "Your body normalizes to room temperature."
|
||||
|
||||
on_created_text = "<span class='notice'>You feel comfortable.</span>"
|
||||
on_expired_text = "<span class='notice'>You feel.. still probably comfortable.</span>"
|
||||
stacks = MODIFIER_STACK_EXTEND
|
||||
|
||||
/datum/modifier/homeothermic/tick()
|
||||
..()
|
||||
holder.bodytemperature = round((holder.bodytemperature + T20C) / 2)
|
||||
|
||||
@@ -146,3 +146,55 @@
|
||||
if(prob(10))
|
||||
to_chat(H, "<span class='danger'>It feels as though your body is being torn apart!</span>")
|
||||
L.updatehealth()
|
||||
|
||||
/datum/modifier/gluttonyregeneration
|
||||
name = "gluttonous regeneration"
|
||||
desc = "You are filled with an overwhelming hunger."
|
||||
mob_overlay_state = "electricity"
|
||||
|
||||
on_created_text = "<span class='critical'>You feel an intense and overwhelming hunger overtake you as your body regenerates!</span>"
|
||||
on_expired_text = "<span class='notice'>The blaze of hunger inside you has been snuffed.</span>"
|
||||
stacks = MODIFIER_STACK_EXTEND
|
||||
|
||||
/datum/modifier/gluttonyregeneration/can_apply(var/mob/living/L)
|
||||
if(L.stat == DEAD)
|
||||
to_chat(L, "<span class='warning'>You can't be dead to consume.</span>")
|
||||
return FALSE
|
||||
|
||||
if(!L.is_sentient())
|
||||
return FALSE // Drones don't feel anything, not even hunger.
|
||||
|
||||
if(L.has_modifier_of_type(/datum/modifier/berserk_exhaustion))
|
||||
to_chat(L, "<span class='warning'>You recently berserked, so you are too tired to consume.</span>")
|
||||
return FALSE
|
||||
|
||||
if(!ishuman(L)) // Only humanoids feel hunger. Totally.
|
||||
return FALSE
|
||||
|
||||
else
|
||||
var/mob/living/carbon/human/H = L
|
||||
if(H.species.name == "Diona")
|
||||
to_chat(L, "<span class='warning'>You feel strange for a moment, but it passes.</span>")
|
||||
return FALSE // Happy trees aren't affected by incredible hunger.
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/modifier/gluttonyregeneration/tick()
|
||||
spawn()
|
||||
if(ishuman(holder))
|
||||
var/mob/living/carbon/human/H = holder
|
||||
var/starting_nutrition = H.nutrition
|
||||
H.nutrition = max(0, H.nutrition - 10)
|
||||
var/healing_amount = starting_nutrition - H.nutrition
|
||||
if(healing_amount < 0) // If you are eating enough to somehow outpace this, congratulations, you are gluttonous enough to gain a boon.
|
||||
healing_amount *= -2
|
||||
|
||||
H.adjustBruteLoss(-healing_amount * 0.25)
|
||||
|
||||
H.adjustFireLoss(-healing_amount * 0.25)
|
||||
|
||||
H.adjustOxyLoss(-healing_amount * 0.25)
|
||||
|
||||
H.adjustToxLoss(-healing_amount * 0.25)
|
||||
|
||||
..()
|
||||
Reference in New Issue
Block a user