Update 2.2

Changed frequency for pain emotes to play, as per the following;
**In life.dm**
- One at shock stage >= 80, at a 20% chance
- One at shock stage 120 when you're about to black out, at a 40% chance to play
- One at shock stage 150 (60% chance to play)

**In human_organs.dm**
- Having broken ribs will emote pain on a 10% chance.
- Dropping things from your hands will also emote pain (to simulate trying to pick up things with a broken hand being **excruciatingly** painful).

**In pain.dm**
- Custom pain messages (such as "your upper body aches badly) will no longer play pain often *at all*, as they now reduce the chance by a factor of 10
This commit is contained in:
Rykka Stormheart
2023-03-03 04:42:55 -08:00
parent 9c80b225aa
commit 4c1eedaaec
3 changed files with 9 additions and 14 deletions

View File

@@ -62,6 +62,7 @@
//Moving around with fractured ribs won't do you any good
if (prob(10) && !stat && can_feel_pain() && chem_effects[CE_PAINKILLER] < 50 && E.is_broken() && E.internal_organs.len)
custom_pain("Pain jolts through your broken [E.encased ? E.encased : E.name], staggering you!", 50)
emote("pain") // CHOMPStation Add: You SHOULD make a noise here.
drop_item(loc)
Stun(2)
@@ -166,6 +167,8 @@
if(!isbelly(loc)) //VOREStation Add
var/emote_scream = pick("screams in pain and ", "lets out a sharp cry and ", "cries out and ")
custom_emote(VISIBLE_MESSAGE, "[(can_feel_pain()) ? "" : emote_scream ]drops what they were holding in their [E.name]!")
if(can_feel_pain())
emote("pain") // CHOMPStation Add: You SHOULD make a noise here.
else if(E.is_malfunctioning())
switch(E.body_part)
@@ -203,7 +206,7 @@
/mob/living/carbon/human/proc/set_gender(var/g)
if(g != gender)
gender = g
if(dna.GetUIState(DNA_UI_GENDER) ^ gender == FEMALE) // XOR will catch both cases where they do not match
dna.SetUIState(DNA_UI_GENDER, gender == FEMALE)
sync_organ_dna(dna)
sync_organ_dna(dna)

View File

@@ -1857,10 +1857,6 @@
if(shock_stage == 40)
if(traumatic_shock >= 80)
to_chat(src, "<span class='danger'>[pick("The pain is excruciating", "Please&#44; just end the pain", "Your whole body is going numb")]!</span>")
// CHOMPEdit: Pain
if(prob(60) && !isbelly(loc)) // Hopefully not spammy, only 60% of the time will we groan in pain + sanity for in-belly
emote("pain")
// CHOMPEdit End
if (shock_stage >= 60)
if(shock_stage == 60 && !isbelly(loc)) //VOREStation Edit
@@ -1868,10 +1864,6 @@
if (prob(2))
if(traumatic_shock >= 80)
to_chat(src, "<span class='danger'>[pick("The pain is excruciating", "Please&#44; just end the pain", "Your whole body is going numb")]!</span>")
// CHOMPEdit: Pain
if(prob(60) && !isbelly(loc)) // Hopefully not spammy, only 60% of the time will we groan in pain + sanity for in-belly
emote("pain")
// CHOMPEdit End
Weaken(20)
if(shock_stage >= 80)
@@ -1879,7 +1871,7 @@
if(traumatic_shock >= 80)
to_chat(src, "<span class='danger'>[pick("The pain is excruciating", "Please&#44; just end the pain", "Your whole body is going numb")]!</span>")
// CHOMPEdit: Pain
if(prob(60) && !isbelly(loc)) // Hopefully not spammy, only 80% of the time will we groan in pain + sanity for in-belly
if(prob(20) && !isbelly(loc)) // Hopefully not spammy, only 20% of the time will we groan in pain + sanity for in-belly
emote("pain")
// CHOMPEdit End
Weaken(20)
@@ -1889,7 +1881,7 @@
if(traumatic_shock >= 80)
to_chat(src, "<span class='danger'>[pick("You black out", "You feel like you could die any moment now", "You are about to lose consciousness")]!</span>")
// CHOMPEdit: Pain
if(prob(60) && !isbelly(loc)) // Hopefully not spammy, only 60% of the time will we groan in pain + sanity for in-belly
if(prob(40) && !isbelly(loc)) // Hopefully not spammy, only 40% of the time will we groan in pain + sanity for in-belly
emote("pain")
// CHOMPEdit End
Paralyse(5)

View File

@@ -39,7 +39,7 @@
last_pain_message = message
to_chat(src,message)
// CHOMPAdd: Emote in pain for custom pain, too
if(prob(power) && !isbelly(loc)) // No pain noises inside bellies.
if(prob(power / 10) && !isbelly(loc)) // No pain noises inside bellies.
emote("pain")
// CHOMPAdd End
@@ -49,7 +49,7 @@
next_pain_time = world.time + (100 - power)
multilimb_pain_time = world.time + (100 - power)
// CHOMPAdd: Emote in pain for custom pain, too
if(prob(power) && !isbelly(loc)) // No pain noises inside bellies.
if(prob(power / 10) && !isbelly(loc)) // No pain noises inside bellies.
emote("pain")
// CHOMPAdd End