A Tale of Blobs and Man

This commit is contained in:
Atermonera
2020-04-12 22:34:33 -07:00
committed by VirgoBot
parent a727b703b6
commit 2374a40908
47 changed files with 1633 additions and 592 deletions

View File

@@ -48,6 +48,8 @@
var/pain_immunity // Makes the holder not care about pain while this is on. Only really useful to human mobs.
var/pulse_modifier // Modifier for pulse, will be rounded on application, then added to the normal 'pulse' multiplier which ranges between 0 and 5 normally. Only applied if they're living.
var/pulse_set_level // Positive number. If this is non-null, it will hard-set the pulse level to this. Pulse ranges from 0 to 5 normally.
var/emp_modifier // Added to the EMP strength, which is an inverse scale from 1 to 4, with 1 being the strongest EMP. 5 is a nullification.
var/explosion_modifier // Added to the bomb strength, which is an inverse scale from 1 to 3, with 1 being gibstrength. 4 is a nullification.
/datum/modifier/New(var/new_holder, var/new_origin)
holder = new_holder

View File

@@ -324,3 +324,67 @@ the artifact triggers the rage.
/datum/modifier/homeothermic/tick()
..()
holder.bodytemperature = round((holder.bodytemperature + T20C) / 2)
/datum/modifier/exothermic
name = "heat resistance"
desc = "Your body lowers 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/exothermic/tick()
..()
if(holder.bodytemperature > T20C)
holder.bodytemperature = round((holder.bodytemperature + T20C) / 2)
/datum/modifier/endothermic
name = "cold resistance"
desc = "Your body rises 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/endothermic/tick()
..()
if(holder.bodytemperature < T20C)
holder.bodytemperature = round((holder.bodytemperature + T20C) / 2)
// Nullifies EMP.
/datum/modifier/faraday
name = "EMP shielding"
desc = "You are covered in some form of faraday shielding. EMPs have no effect."
mob_overlay_state = "electricity"
on_created_text = "<span class='notice'>You feel a surge of energy, that fades to a calm tide.</span>"
on_expired_text = "<span class='warning'>You feel a longing for the flow of energy.</span>"
stacks = MODIFIER_STACK_EXTEND
emp_modifier = 5
// Nullifies explosions.
/datum/modifier/blastshield
name = "Blast Shielding"
desc = "You are protected from explosions somehow."
mob_overlay_state = "electricity"
on_created_text = "<span class='notice'>You feel a surge of energy, that fades to a stalwart hum.</span>"
on_expired_text = "<span class='warning'>You feel a longing for the flow of energy.</span>"
stacks = MODIFIER_STACK_EXTEND
explosion_modifier = 3
// Kills on expiration.
/datum/modifier/doomed
name = "Doomed"
desc = "You are doomed."
on_created_text = "<span class='notice'>You feel an overwhelming sense of dread.</span>"
on_expired_text = "<span class='warning'>You feel the life drain from your body.</span>"
stacks = MODIFIER_STACK_EXTEND
/datum/modifier/doomed/on_expire()
if(holder.stat != DEAD)
holder.visible_message("<span class='alien'>\The [holder] collapses, the life draining from their body.</span>")
holder.death()