Skip to content

Commit

Permalink
Adjusts Nausea Stuff (#3690)
Browse files Browse the repository at this point in the history
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

Cleans up nausea code a little bit
Adjusts nausea values
disgust vomiting will not stun you unless you are like. profusely
vomiting.
reduces stun times for nausea all around.

adjusts Radpens to compensate for this.

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

I think this will make nausea somewhat less ass.

<!-- Please add a short description of why you think these changes would
benefit the game. If you can't justify it in words, it might not be
worth adding. -->

## Changelog

:cl:
balance: disgust vomiting has been adjusted.
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

---------

Co-authored-by: Bjarl <[email protected]>
  • Loading branch information
Erikafox and Erikafox authored Nov 3, 2024
1 parent 2c24473 commit 1c7f535
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 43 deletions.
4 changes: 2 additions & 2 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -242,8 +242,8 @@
#define NUTRITION_LEVEL_START_MAX 400

//Disgust levels for humans
#define DISGUST_LEVEL_MAXEDOUT 150
#define DISGUST_LEVEL_DISGUSTED 75
#define DISGUST_LEVEL_MAXEDOUT 200
#define DISGUST_LEVEL_DISGUSTED 100
#define DISGUST_LEVEL_VERYGROSS 50
#define DISGUST_LEVEL_GROSS 25

Expand Down
12 changes: 6 additions & 6 deletions code/_onclick/hud/alert.dm
Original file line number Diff line number Diff line change
Expand Up @@ -175,18 +175,18 @@ Override makes it so the alert is not replaced until cleared by a clear_alert wi
icon_state = "starving"

/atom/movable/screen/alert/gross
name = "Grossed out."
desc = "That was kind of gross..."
name = "Queasy."
desc = "You're starting to feel queasy.."
icon_state = "gross"

/atom/movable/screen/alert/verygross
name = "Very grossed out."
desc = "You're not feeling very well..."
name = "Nauseated."
desc = "You're feeling discomforted as unease creeps into your throat..."
icon_state = "gross2"

/atom/movable/screen/alert/disgusted
name = "DISGUSTED"
desc = "ABSOLUTELY DISGUSTIN'"
name = "Very Nauseated"
desc = "You can barely think against the grains of discomfort ravaging your body!"
icon_state = "gross3"

/atom/movable/screen/alert/hot
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mob/living/carbon/carbon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -438,7 +438,7 @@
visible_message("<span class='warning'>[src] dry heaves!</span>", \
"<span class='userdanger'>You try to throw up, but there's nothing in your stomach!</span>")
if(stun)
Paralyze(200)
Paralyze(50)
return TRUE

if(is_mouth_covered()) //make this add a blood/vomit overlay later it'll be hilarious
Expand All @@ -454,7 +454,7 @@
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "vomit", /datum/mood_event/vomit)

if(stun)
Paralyze(80)
Paralyze(20)

playsound(get_turf(src), 'sound/effects/splat.ogg', 50, TRUE)
var/turf/T = get_turf(src)
Expand Down
6 changes: 3 additions & 3 deletions code/modules/mob/living/carbon/human/human.dm
Original file line number Diff line number Diff line change
Expand Up @@ -914,10 +914,10 @@
/mob/living/carbon/human/vomit(lost_nutrition = 10, blood = FALSE, stun = TRUE, distance = 1, message = TRUE, toxic = FALSE, harm = TRUE, force = FALSE, purge = FALSE)
if(blood && (NOBLOOD in dna.species.species_traits) && !HAS_TRAIT(src, TRAIT_TOXINLOVER))
if(message)
visible_message("<span class='warning'>[src] dry heaves!</span>", \
"<span class='userdanger'>You try to throw up, but there's nothing in your stomach!</span>")
visible_message(span_warning("[src] dry heaves!"), \
span_userdanger("You try to throw up, but there's nothing in your stomach!"))
if(stun)
Paralyze(200)
Paralyze(30)
return 1
..()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -581,7 +581,7 @@

/datum/reagent/medicine/anti_rad/on_mob_life(mob/living/carbon/M)
M.radiation -= M.radiation - rand(50,150)
M.adjust_disgust(7*REM, 0)
M.adjust_disgust(4*REM, 0)
..()
. = 1

Expand Down
70 changes: 41 additions & 29 deletions code/modules/surgery/organs/stomach.dm
Original file line number Diff line number Diff line change
Expand Up @@ -48,37 +48,49 @@
/obj/item/organ/stomach/proc/handle_disgust(mob/living/carbon/human/H)
if(H.disgust)
var/pukeprob = 5 + 0.05 * H.disgust
if(H.disgust >= DISGUST_LEVEL_GROSS)
if(prob(10))
H.stuttering += 1
H.confused += 2
if(prob(10) && !H.stat)
to_chat(H, "<span class='warning'>You feel kind of iffy...</span>")
H.jitteriness = max(H.jitteriness - 3, 0)
if(H.disgust >= DISGUST_LEVEL_VERYGROSS)
if(prob(pukeprob)) //iT hAndLeS mOrE ThaN PukInG
H.confused += 2.5
H.stuttering += 1
H.vomit(10, 0, 1, 0, 1, 0)
H.Dizzy(5)
if(H.disgust >= DISGUST_LEVEL_DISGUSTED)
if(prob(25))
H.blur_eyes(3) //We need to add more shit down here
switch(H.disgust)
if(0 to DISGUST_LEVEL_GROSS)
//throw alerts
H.clear_alert("disgust")
SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "disgust")
//do our stupid bullshit
if(prob(10))
H.stuttering += 1
H.confused += 2
if(!H.stat)
to_chat(H, span_warning("You feel queasy..."))
H.jitteriness = max(H.jitteriness - 3, 0)
if(DISGUST_LEVEL_GROSS to DISGUST_LEVEL_VERYGROSS)
//throw alerts
H.throw_alert("disgust", /atom/movable/screen/alert/gross)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/gross)
//do the nausea stuff
if(prob(pukeprob)) //iT hAndLeS mOrE ThaN PukInG
H.vomit(10, 0, 0, 0, 1, 0)
H.confused += 2.5
H.stuttering += 1
H.Dizzy(5)
if(DISGUST_LEVEL_VERYGROSS to DISGUST_LEVEL_DISGUSTED)
//do the thing
H.throw_alert("disgust", /atom/movable/screen/alert/verygross)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/verygross)
//you're not gonna believe it we do the other thing too

if(prob(pukeprob))
H.blur_eyes(3)
H.manual_emote(pick("tears up!", "whimpers!", "chokes!"))
H.vomit(20, 0, 1, 1, 1, 0)
H.confused += 2.5
H.stuttering += 1
if(DISGUST_LEVEL_DISGUSTED to DISGUST_LEVEL_MAXEDOUT)
H.throw_alert("disgust", /atom/movable/screen/alert/disgusted)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/disgusted)

//profusely vomiting.
H.force_scream()
H.vomit(40, 0, 1, 1, 1, 0)

H.adjust_disgust(-0.5 * disgust_metabolism)
switch(H.disgust)
if(0 to DISGUST_LEVEL_GROSS)
H.clear_alert("disgust")
SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "disgust")
if(DISGUST_LEVEL_GROSS to DISGUST_LEVEL_VERYGROSS)
H.throw_alert("disgust", /atom/movable/screen/alert/gross)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/gross)
if(DISGUST_LEVEL_VERYGROSS to DISGUST_LEVEL_DISGUSTED)
H.throw_alert("disgust", /atom/movable/screen/alert/verygross)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/verygross)
if(DISGUST_LEVEL_DISGUSTED to INFINITY)
H.throw_alert("disgust", /atom/movable/screen/alert/disgusted)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/disgusted)

/obj/item/organ/stomach/Remove(mob/living/carbon/M, special = 0)
var/mob/living/carbon/human/H = owner
Expand Down

0 comments on commit 1c7f535

Please sign in to comment.