From ac28845127dca55addd37abb7e0469bac8f3a473 Mon Sep 17 00:00:00 2001
From: Kashargul <144968721+Kashargul@users.noreply.github.com>
Date: Sun, 11 Aug 2024 21:17:33 +0200
Subject: [PATCH] healthbars now respect selective mode (#16163)
---
code/modules/vore/chat_healthbars.dm | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/code/modules/vore/chat_healthbars.dm b/code/modules/vore/chat_healthbars.dm
index f64be8c25ba..203df0b0b81 100644
--- a/code/modules/vore/chat_healthbars.dm
+++ b/code/modules/vore/chat_healthbars.dm
@@ -18,7 +18,9 @@
var/ourbar = ""
var/obj/belly/ourbelly = src.loc
var/which_var = "Health"
- if(ourbelly.digest_mode == "Absorb" || ourbelly.digest_mode == "Drain")
+ var/datum/digest_mode/selective/DM_S = GLOB.digest_modes[DM_SELECT]
+ var/digest_mode = ourbelly.digest_mode == DM_SELECT ? DM_S.get_selective_mode(ourbelly, src) : ourbelly.digest_mode
+ if(digest_mode == DM_ABSORB || digest_mode == DM_DRAIN)
ourpercent = round(((nutrition - 100) / 500) * 100)
which_var = "Nutrition" //It's secretly also a nutrition bar depending on your digest mode
@@ -78,18 +80,18 @@
ourbar = "[ourbar] - [span_red("DEAD")]"
if(absorbed)
ourbar = span_purple("[ourbar] - ABSORBED") //Absorb is a little funny, I didn't want it to say 'absorbing ABSORBED' so we did it different
- else if(ourpercent > 99 && ourbelly.digest_mode == DM_HEAL)
- ourbar = span_green("[ourbar] - [ourbelly.digest_mode]ed")
+ else if(ourpercent > 99 && digest_mode == DM_HEAL)
+ ourbar = span_green("[ourbar] - [digest_mode]ed")
else if(ourpercent > 75)
- ourbar = span_green("[ourbar] - [ourbelly.digest_mode]ing")
+ ourbar = span_green("[ourbar] - [digest_mode]ing")
else if(ourpercent > 50)
- ourbar = span_yellow("[ourbar] - [ourbelly.digest_mode]ing")
+ ourbar = span_yellow("[ourbar] - [digest_mode]ing")
else if(ourpercent > 25)
- ourbar = span_orange("[ourbar] - [ourbelly.digest_mode]ing")
+ ourbar = span_orange("[ourbar] - [digest_mode]ing")
else if(ourpercent > 0)
- ourbar = span_red("[ourbar] - [ourbelly.digest_mode]ing")
+ ourbar = span_red("[ourbar] - [digest_mode]ing")
else
- ourbar = span_red("[ourbar] - [ourbelly.digest_mode]ed")
+ ourbar = span_red("[ourbar] - [digest_mode]ed")
if(onExamine)
to_chat(reciever,"[ourbar]")
@@ -109,7 +111,9 @@
if(!isliving(thing))
continue
if(!belly_announce)
- to_chat(src, "[b.digest_mode] - Within [b.name]:") //We only want to announce the belly if we found something
+ var/datum/digest_mode/selective/DM_S = GLOB.digest_modes[DM_SELECT]
+ var/digest_mode = b.digest_mode == DM_SELECT ? DM_S.get_selective_mode(b, thing) : b.digest_mode
+ to_chat(src, "[digest_mode] - Within [b.name]:") //We only want to announce the belly if we found something
belly_announce = TRUE
var/mob/living/ourmob = thing
ourmob.chat_healthbar(src, TRUE, TRUE)