Converts jittering to status effect, striking yet another mob level status value (#66852)

Converts jittering to status effect, striking yet another mob level status value
This commit is contained in:
MrMelbert
2022-05-11 00:56:29 -04:00
committed by GitHub
parent 528074e050
commit 29bfa42779
58 changed files with 218 additions and 195 deletions
+2 -1
View File
@@ -79,10 +79,11 @@
owner.stop_sound_channel(CHANNEL_HEARTBEAT)
beat = BEAT_NONE
if(owner.jitteriness)
if(owner.has_status_effect(/datum/status_effect/jitter))
if(owner.health > HEALTH_THRESHOLD_FULLCRIT && (!beat || beat == BEAT_SLOW))
owner.playsound_local(get_turf(owner), fastbeat, 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE)
beat = BEAT_FAST
else if(beat == BEAT_FAST)
owner.stop_sound_channel(CHANNEL_HEARTBEAT)
beat = BEAT_NONE
@@ -152,7 +152,7 @@
else if(human.satiety < 0)
human.satiety++
if(DT_PROB(round(-human.satiety/77), delta_time))
human.Jitter(5)
human.set_timed_status_effect(10 SECONDS, /datum/status_effect/jitter, only_if_higher = TRUE)
hunger_rate = 3 * HUNGER_FACTOR
hunger_rate *= human.physiology.hunger_mod
human.adjust_nutrition(-hunger_rate * delta_time)
@@ -220,12 +220,12 @@
disgusted.adjust_timed_status_effect(2 SECONDS, /datum/status_effect/confusion)
if(DT_PROB(5, delta_time) && !disgusted.stat)
to_chat(disgusted, span_warning("You feel kind of iffy..."))
disgusted.jitteriness = max(disgusted.jitteriness - 3, 0)
disgusted.adjust_timed_status_effect(-6 SECONDS, /datum/status_effect/jitter)
if(disgust >= DISGUST_LEVEL_VERYGROSS)
if(DT_PROB(pukeprob, delta_time)) //iT hAndLeS mOrE ThaN PukInG
disgusted.adjust_timed_status_effect(2.5 SECONDS, /datum/status_effect/confusion)
disgusted.adjust_timed_status_effect(2 SECONDS, /datum/status_effect/speech/stutter)
disgusted.vomit(10, 0, 1, 0, 1, 0)
disgusted.vomit(10, distance = 0, vomit_type = NONE)
disgusted.set_timed_status_effect(10 SECONDS, /datum/status_effect/dizziness, only_if_higher = TRUE)
if(disgust >= DISGUST_LEVEL_DISGUSTED)
if(DT_PROB(13, delta_time))
+1 -1
View File
@@ -399,7 +399,7 @@
playsound(get_turf(patient), 'sound/items/ratchet.ogg', 20, TRUE)
if(patient.stat >= UNCONSCIOUS || HAS_TRAIT(patient, TRAIT_INCAPACITATED)) //if you're incapacitated (due to paralysis, a stun, being in staminacrit, etc.), critted, unconscious, or dead, it's much easier to properly line up a snip
amputation_speed_mod *= 0.5
if(patient.stat != DEAD && patient.jitteriness) //jittering will make it harder to secure the shears, even if you can't otherwise move
if(patient.stat != DEAD && patient.has_status_effect(/datum/status_effect/jitter)) //jittering will make it harder to secure the shears, even if you can't otherwise move
amputation_speed_mod *= 1.5 //15*0.5*1.5=11.25, so staminacritting someone who's jittering (from, say, a stun baton) won't give you enough time to snip their head off, but staminacritting someone who isn't jittering will
if(do_after(user, toolspeed * 15 SECONDS * amputation_speed_mod, target = patient))