Ants can't traumatize ghosts, ants show up on top of pipes + Ant QOL (#62496)

* Protects ghosts, bypasses vents & pipes

* hard crit oops

* stops screaming unconcious people

* fixes a copy-paste error

* fixes planes

* *unconcious* people won't get messages.

* I am begging for this to be right

* I hate that it took me 30 seconds to realize
This commit is contained in:
Wallem
2021-11-08 22:43:36 -05:00
committed by GitHub
parent 463586b2a5
commit 2583eceea2
4 changed files with 26 additions and 9 deletions
+10 -8
View File
@@ -980,19 +980,21 @@
var/ants_remaining = 0
/datum/status_effect/ants/on_creation(mob/living/new_owner, amount_left)
if(isnum(amount_left))
to_chat(new_owner, "<span class='userdanger'>You're covered in ants!</span>")
if(isnum(amount_left) && new_owner.stat < HARD_CRIT)
if(new_owner.stat < UNCONSCIOUS) // Unconcious people won't get messages
to_chat(new_owner, "<span class='userdanger'>You're covered in ants!</span>")
ants_remaining += amount_left
RegisterSignal(new_owner, COMSIG_COMPONENT_CLEAN_ACT, .proc/ants_washed)
. = ..()
/datum/status_effect/ants/refresh(effect, amount_left)
var/mob/living/carbon/human/victim = owner
if(isnum(amount_left) && ants_remaining >= 1)
if(!prob(1)) // 99%
to_chat(victim, "<span class='userdanger'>You're covered in MORE ants!</span>")
else // 1%
victim.say("AAHH! THIS SITUATION HAS ONLY BEEN MADE WORSE WITH THE ADDITION OF YET MORE ANTS!!", forced = /datum/status_effect/ants)
if(isnum(amount_left) && ants_remaining >= 1 && victim.stat < HARD_CRIT)
if(victim.stat < UNCONSCIOUS) // Unconcious people won't get messages
if(!prob(1)) // 99%
to_chat(victim, "<span class='userdanger'>You're covered in MORE ants!</span>")
else // 1%
victim.say("AAHH! THIS SITUATION HAS ONLY BEEN MADE WORSE WITH THE ADDITION OF YET MORE ANTS!!", forced = /datum/status_effect/ants)
ants_remaining += amount_left
. = ..()
@@ -1010,7 +1012,7 @@
/datum/status_effect/ants/tick()
var/mob/living/carbon/human/victim = owner
victim.adjustBruteLoss(max(0.1, round((ants_remaining * 0.004),0.1))) //Scales with # of ants (lowers with time). Roughly 10 brute over 50 seconds.
if(victim.stat <= SOFT_CRIT) //Makes sure people don't scratch at themselves while they're unconcious
if(victim.stat <= SOFT_CRIT) //Makes sure people don't scratch at themselves while they're in a critical condition
if(prob(15))
switch(rand(1,2))
if(1)