Minor Tweaks & Changes (#17847)

* Don't preview paint bucket, it's confusing

* Add a max alpha preference to force belly overlays to be transparent

* Make UI better
This commit is contained in:
ShadowLarkens
2025-06-12 16:02:14 -07:00
committed by GitHub
parent c173440446
commit 7abfe57d2e
12 changed files with 84 additions and 14 deletions
@@ -72,6 +72,7 @@
no_latejoin_prey_warning_time = client.prefs_vr.no_latejoin_prey_warning_time
no_latejoin_vore_warning_persists = client.prefs_vr.no_latejoin_vore_warning_persists
no_latejoin_prey_warning_persists = client.prefs_vr.no_latejoin_prey_warning_persists
max_voreoverlay_alpha = client.prefs_vr.max_voreoverlay_alpha
belly_rub_target = client.prefs_vr.belly_rub_target
soulcatcher_pref_flags = client.prefs_vr.soulcatcher_pref_flags
persistend_edit_mode = client.prefs_vr.persistend_edit_mode
+9 -6
View File
@@ -663,23 +663,25 @@
var/datum/belly_overlays/lookup_belly_path = text2path("/datum/belly_overlays/[lowertext(belly_fullscreen)]")
if(!lookup_belly_path)
CRASH("Icon datum was not defined for [belly_fullscreen]")
var/alpha = min(belly_fullscreen_alpha, L.max_voreoverlay_alpha)
F.icon = initial(lookup_belly_path.belly_icon)
F.cut_overlays()
var/image/I = image(F.icon, belly_fullscreen) //Would be cool if I could just include color and alpha in the image define so we don't have to copy paste
I.color = belly_fullscreen_color
I.alpha = belly_fullscreen_alpha
I.alpha = alpha
F.add_overlay(I)
I = image(F.icon, belly_fullscreen+"-2")
I.color = belly_fullscreen_color2
I.alpha = belly_fullscreen_alpha
I.alpha = alpha
F.add_overlay(I)
I = image(F.icon, belly_fullscreen+"-3")
I.color = belly_fullscreen_color3
I.alpha = belly_fullscreen_alpha
I.alpha = alpha
F.add_overlay(I)
I = image(F.icon, belly_fullscreen+"-4")
I.color = belly_fullscreen_color4
I.alpha = belly_fullscreen_alpha
I.alpha = alpha
F.add_overlay(I)
var/extra_mush = 0
var/extra_mush_color = mush_color
@@ -695,13 +697,13 @@
if(!mush_overlay)
I = image('icons/mob/vore_fullscreens/bubbles.dmi', "mush")
I.color = extra_mush_color
I.alpha = custom_ingested_alpha
I.alpha = min(custom_ingested_alpha, L.max_voreoverlay_alpha)
I.pixel_y = -450 + ((450 / max(max_ingested, 1)) * min(max_ingested, ingested.total_volume))
F.add_overlay(I)
if(show_liquids && L.liquidbelly_visuals && mush_overlay && (owner.nutrition > 0 || max_mush == 0 || min_mush > 0 || (LAZYLEN(contents) * item_mush_val) > 0))
I = image('icons/mob/vore_fullscreens/bubbles.dmi', "mush")
I.color = mush_color
I.alpha = mush_alpha
I.alpha = min(mush_alpha, L.max_voreoverlay_alpha)
var/total_mush_content = owner.nutrition + LAZYLEN(contents) * item_mush_val + extra_mush
I.pixel_y = -450 + (450 / max(max_mush, 1) * max(min(max_mush, total_mush_content), 1))
if(I.pixel_y < -450 + (450 / 100 * min_mush))
@@ -728,6 +730,7 @@
else
I.alpha = max(150, min(custom_max_volume, 255)) - (255 - belly_fullscreen_alpha)
I.pixel_y = -450 + min((450 / custom_max_volume * reagents.total_volume), 450 / 100 * max_liquid_level)
I.alpha = min(I.alpha, L.max_voreoverlay_alpha)
F.add_overlay(I)
F.update_for_view(L.client.view)
else
+2
View File
@@ -94,3 +94,5 @@
var/enabled = TRUE //Pauses a mob if disabled (Prevents life ticks from happening)
var/died_in_vr = FALSE //For virtual reality sleepers
var/last_move_time = 0 //For movement smoothing
var/max_voreoverlay_alpha = 255
@@ -47,7 +47,8 @@
"soulcatcher_allow_capture" = owner.soulcatcher_pref_flags & SOULCATCHER_ALLOW_CAPTURE,
"soulcatcher_allow_transfer" = owner.soulcatcher_pref_flags & SOULCATCHER_ALLOW_TRANSFER,
"soulcatcher_allow_takeover" = owner.soulcatcher_pref_flags & SOULCATCHER_ALLOW_TAKEOVER,
"soulcatcher_allow_deletion" = (global_flag_check(owner.soulcatcher_pref_flags, SOULCATCHER_ALLOW_DELETION) + global_flag_check(owner.soulcatcher_pref_flags, SOULCATCHER_ALLOW_DELETION_INSTANT))
"soulcatcher_allow_deletion" = (global_flag_check(owner.soulcatcher_pref_flags, SOULCATCHER_ALLOW_DELETION) + global_flag_check(owner.soulcatcher_pref_flags, SOULCATCHER_ALLOW_DELETION_INSTANT)),
"max_voreoverlay_alpha" = owner.max_voreoverlay_alpha,
)
#define SET_TASTE "Set Taste"
+6 -1
View File
@@ -92,6 +92,7 @@
var/belly_rub_target = null
var/soulcatcher_pref_flags = 0
var/list/soulcatcher_prefs = list()
var/max_voreoverlay_alpha = 255
var/persistend_edit_mode = FALSE
var/list/belly_prefs = list()
@@ -250,6 +251,7 @@
soulcatcher_pref_flags = json_from_file["soulcatcher_pref_flags"]
soulcatcher_prefs = json_from_file["soulcatcher_prefs"]
persistend_edit_mode = json_from_file["persistend_edit_mode"]
max_voreoverlay_alpha = json_from_file["max_voreoverlay_alpha"]
//Quick sanitize
if(isnull(digestable))
@@ -381,6 +383,8 @@
soulcatcher_prefs = list()
if(isnull(persistend_edit_mode))
persistend_edit_mode = FALSE
if(isnull(max_voreoverlay_alpha))
max_voreoverlay_alpha = 255
return TRUE
@@ -443,7 +447,8 @@
"belly_rub_target" = belly_rub_target,
"soulcatcher_pref_flags" = soulcatcher_pref_flags,
"soulcatcher_prefs" = soulcatcher_prefs,
"persistend_edit_mode" = persistend_edit_mode
"persistend_edit_mode" = persistend_edit_mode,
"max_voreoverlay_alpha" = max_voreoverlay_alpha,
)
//List to JSON
+10
View File
@@ -494,6 +494,16 @@
host.noisy = !host.noisy
unsaved_changes = TRUE
return TRUE
if("set_max_voreoverlay_alpha")
var/new_alpha = CLAMP(params["val"], 0, 255)
host.max_voreoverlay_alpha = new_alpha
if(host.client.prefs_vr)
host.client.prefs_vr.max_voreoverlay_alpha = host.max_voreoverlay_alpha
if (isbelly(host.loc))
var/obj/belly/B = host.loc
B.vore_fx(host, TRUE)
unsaved_changes = TRUE
return TRUE
// liquid belly code
if("liq_set_attribute")
return liq_set_attr(ui.user, params)