mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-22 05:25:15 +01:00
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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user