This commit is contained in:
Guti
2024-09-22 15:01:10 +02:00
101 changed files with 7739 additions and 852 deletions
+60 -46
View File
@@ -1,5 +1,64 @@
//Health bars in the game window would be pretty challenging and I don't know how to do that, so I thought this would be a good alternative
// Generates the progress bar text
/proc/chat_progress_bar(percentage, add_color = FALSE)
switch(percentage)
if(100)
. = "|▓▓▓▓▓▓▓▓▓▓|"
if(95 to 99)
. = "|▓▓▓▓▓▓▓▓▓▒|"
if(90 to 94)
. = "|▓▓▓▓▓▓▓▓▓░|"
if(85 to 89)
. = "|▓▓▓▓▓▓▓▓▒░|"
if(80 to 84)
. = "|▓▓▓▓▓▓▓▓░░|"
if(75 to 79)
. = "|▓▓▓▓▓▓▓▒░░|"
if(70 to 74)
. = "|▓▓▓▓▓▓▓░░░|"
if(65 to 69)
. = "|▓▓▓▓▓▓▒░░░|"
if(60 to 64)
. = "|▓▓▓▓▓▓░░░░|"
if(55 to 59)
. = "|▓▓▓▓▓▒░░░░|"
if(50 to 54)
. = "|▓▓▓▓▓░░░░░|"
if(45 to 49)
. = "|▓▓▓▓▒░░░░░|"
if(40 to 44)
. = "|▓▓▓▓░░░░░░|"
if(35 to 39)
. = "|▓▓▓▒░░░░░░|"
if(30 to 34)
. = "|▓▓▓░░░░░░░|"
if(25 to 29)
. = "|▓▓▒░░░░░░░|"
if(20 to 24)
. = "|▓▓░░░░░░░░|"
if(15 to 19)
. = "|▓▒░░░░░░░░|"
if(10 to 14)
. = "|▓░░░░░░░░░|"
if(5 to 9)
. = "|▒░░░░░░░░░|"
if(0)
. = "|░░░░░░░░░░|"
else
. = "!░░░░░░░░░░!"
if(add_color)
switch(percentage)
if(75 to 100)
. = span_green(.)
if(50 to 75)
. = span_yellow(.)
if(25 to 50)
. = span_orange(.)
else
. = span_red(.)
/mob/living/proc/chat_healthbar(var/mob/living/reciever, onExamine = FALSE, override = FALSE)
if(!reciever) //No one to send it to, don't bother
return
@@ -26,52 +85,7 @@
ourpercent = round(ourpercent)
switch(ourpercent) //I thought about trying to do this in a more automated way but my brain isn't very large so enjoy my stupid switch statement
if(100)
ourbar = "|▓▓▓▓▓▓▓▓▓▓|"
if(95 to 99)
ourbar = "|▓▓▓▓▓▓▓▓▓▒|"
if(90 to 94)
ourbar = "|▓▓▓▓▓▓▓▓▓░|"
if(85 to 89)
ourbar = "|▓▓▓▓▓▓▓▓▒░|"
if(80 to 84)
ourbar = "|▓▓▓▓▓▓▓▓░░|"
if(75 to 79)
ourbar = "|▓▓▓▓▓▓▓▒░░|"
if(70 to 74)
ourbar = "|▓▓▓▓▓▓▓░░░|"
if(65 to 69)
ourbar = "|▓▓▓▓▓▓▒░░░|"
if(60 to 64)
ourbar = "|▓▓▓▓▓▓░░░░|"
if(55 to 59)
ourbar = "|▓▓▓▓▓▒░░░░|"
if(50 to 54)
ourbar = "|▓▓▓▓▓░░░░░|"
if(45 to 49)
ourbar = "|▓▓▓▓▒░░░░░|"
if(40 to 44)
ourbar = "|▓▓▓▓░░░░░░|"
if(35 to 39)
ourbar = "|▓▓▓▒░░░░░░|"
if(30 to 34)
ourbar = "|▓▓▓░░░░░░░|"
if(25 to 29)
ourbar = "|▓▓▒░░░░░░░|"
if(20 to 24)
ourbar = "|▓▓░░░░░░░░|"
if(15 to 19)
ourbar = "|▓▒░░░░░░░░|"
if(10 to 14)
ourbar = "|▓░░░░░░░░░|"
if(5 to 9)
ourbar = "|▒░░░░░░░░░|"
if(0)
ourbar = "|░░░░░░░░░░|"
else
ourbar = "!░░░░░░░░░░!"
ourbar = chat_progress_bar(ourpercent, FALSE)
ourbar = "[ourbar] [which_var] - [src.name]"
if(stat == UNCONSCIOUS)
+3
View File
@@ -259,6 +259,7 @@
P.digest_pain = src.digest_pain
P.stumble_vore = src.stumble_vore
P.eating_privacy_global = src.eating_privacy_global
P.allow_mimicry = src.allow_mimicry
P.nutrition_message_visible = src.nutrition_message_visible
P.nutrition_messages = src.nutrition_messages
@@ -312,6 +313,7 @@
food_vore = P.food_vore
digest_pain = P.digest_pain
eating_privacy_global = P.eating_privacy_global
allow_mimicry = P.allow_mimicry
nutrition_message_visible = P.nutrition_message_visible
nutrition_messages = P.nutrition_messages
@@ -1212,6 +1214,7 @@
dispvoreprefs += "<b>Can be stepped on/over:</b> [step_mechanics_pref ? "Allowed" : "Disallowed"]<br>"
dispvoreprefs += "<b>Can be picked up:</b> [pickup_pref ? "Allowed" : "Disallowed"]<br>"
dispvoreprefs += "<b>Global Vore Privacy is:</b> [eating_privacy_global ? "Subtle" : "Loud"]<br>"
dispvoreprefs += "<b>Allow Mimicry:</b> [allow_mimicry ? "Yes" : "No"]<br>"
user << browse("<html><head><title>Vore prefs: [src]</title></head><body><center>[dispvoreprefs]</center></body></html>", "window=[name]mvp;size=300x400;can_resize=1;can_minimize=0")
onclose(user, "[name]")
return
+1
View File
@@ -27,6 +27,7 @@
var/selective_preference = DM_DEFAULT // Preference for selective bellymode
var/text_warnings = TRUE // Allows us to dismiss the text limit warning messages after viewing it once per round
var/eating_privacy_global = FALSE // Makes eating attempt/success messages only reach for subtle range if true, overwritten by belly-specific var
var/allow_mimicry = TRUE // Allows mimicking their character
var/allow_mind_transfer = FALSE //Allows ones mind to be taken over or swapped
var/nutrition_message_visible = TRUE
var/list/nutrition_messages = list(
+5
View File
@@ -54,6 +54,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
var/permit_healbelly = TRUE
var/noisy = FALSE
var/eating_privacy_global = FALSE //Makes eating attempt/success messages only reach for subtle range if true, overwritten by belly-specific var
var/allow_mimicry = TRUE
// These are 'modifier' prefs, do nothing on their own but pair with drop_prey/drop_pred settings.
var/drop_vore = TRUE
@@ -196,6 +197,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
weight_message_visible = json_from_file["weight_message_visible"]
weight_messages = json_from_file["weight_messages"]
eating_privacy_global = json_from_file["eating_privacy_global"]
allow_mimicry = json_from_file["allow_mimicry"]
vore_sprite_color = json_from_file["vore_sprite_color"]
allow_mind_transfer = json_from_file["allow_mind_transfer"]
@@ -254,6 +256,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
weight_message_visible = TRUE
if(isnull(eating_privacy_global))
eating_privacy_global = FALSE
if(isnull(allow_mimicry))
allow_mimicry = TRUE
if(isnull(nutrition_messages))
nutrition_messages = list(
"They are starving! You can hear their stomach snarling from across the room!",
@@ -329,6 +333,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
"weight_message_visible" = weight_message_visible,
"weight_messages" = weight_messages,
"eating_privacy_global" = eating_privacy_global,
"allow_mimicry" = allow_mimicry,
"vore_sprite_color" = vore_sprite_color,
)
+7
View File
@@ -347,6 +347,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
"weight_message_visible" = host.weight_message_visible,
"weight_messages" = host.weight_messages,
"eating_privacy_global" = host.eating_privacy_global,
"allow_mimicry" = host.allow_mimicry,
)
return data
@@ -535,6 +536,12 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
host.eating_privacy_global = host.eating_privacy_global
unsaved_changes = TRUE
return TRUE
if("toggle_mimicry")
host.allow_mimicry = !host.allow_mimicry
if(host.client.prefs_vr)
host.client.prefs_vr.allow_mimicry = host.allow_mimicry
unsaved_changes = TRUE
return TRUE
if("toggle_devour")
host.devourable = !host.devourable
if(host.client.prefs_vr)
+1
View File
@@ -249,6 +249,7 @@
new_mob.nutrition_message_visible = nutrition_message_visible
new_mob.allow_spontaneous_tf = allow_spontaneous_tf
new_mob.eating_privacy_global = eating_privacy_global
new_mob.allow_mimicry = allow_mimicry
new_mob.text_warnings = text_warnings
new_mob.allow_mind_transfer = allow_mind_transfer