mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-21 11:07:46 +01:00
Adds ability for multi-colored colorable belly overlays to exist, adds one using it
This commit is contained in:
@@ -1528,7 +1528,9 @@
|
||||
|
||||
if(!isbelly(loc)) //VOREStation Add - Belly fullscreens safety
|
||||
clear_fullscreen("belly")
|
||||
//clear_fullscreen("belly2") //For multilayered stomachs. Not currently implemented.
|
||||
clear_fullscreen("belly2")
|
||||
clear_fullscreen("belly3")
|
||||
clear_fullscreen("belly4")
|
||||
|
||||
if(config.welder_vision)
|
||||
var/found_welder
|
||||
|
||||
@@ -167,8 +167,8 @@
|
||||
var/disable_hud = FALSE
|
||||
var/colorization_enabled = FALSE
|
||||
var/belly_fullscreen_color = "#823232"
|
||||
|
||||
|
||||
var/belly_fullscreen_color_secondary = "#428242"
|
||||
var/belly_fullscreen_color_trinary = "#f0f0f0"
|
||||
|
||||
//For serialization, keep this updated, required for bellies to save correctly.
|
||||
/obj/belly/vars_to_save()
|
||||
@@ -230,6 +230,8 @@
|
||||
"belly_fullscreen",
|
||||
"disable_hud",
|
||||
"belly_fullscreen_color",
|
||||
"belly_fullscreen_color_secondary",
|
||||
"belly_fullscreen_color_trinary",
|
||||
"colorization_enabled",
|
||||
"egg_type",
|
||||
"save_digest_mode",
|
||||
@@ -316,6 +318,9 @@
|
||||
if(isliving(thing) && !isbelly(thing.loc))
|
||||
var/mob/living/L = thing
|
||||
L.clear_fullscreen("belly")
|
||||
L.clear_fullscreen("belly2")
|
||||
L.clear_fullscreen("belly3")
|
||||
L.clear_fullscreen("belly4")
|
||||
if(L.hud_used)
|
||||
if(!L.hud_used.hud_shown)
|
||||
L.toggle_hud_vis()
|
||||
@@ -336,16 +341,25 @@
|
||||
var/obj/screen/fullscreen/F = L.overlay_fullscreen("belly", /obj/screen/fullscreen/belly/colorized)
|
||||
F.icon_state = belly_fullscreen
|
||||
F.color = belly_fullscreen_color
|
||||
/* //Allows for 'multilayered' stomachs. Currently not implemented.
|
||||
if(b_multilayered)
|
||||
var/obj/screen/fullscreen/F2 = L.overlay_fullscreen("belly2", /obj/screen/fullscreen/belly)
|
||||
*/
|
||||
if("[belly_fullscreen]_l1" in icon_states('icons/mob/screen_full_colorized_vore_overlays.dmi'))
|
||||
var/obj/screen/fullscreen/F2 = L.overlay_fullscreen("belly2", /obj/screen/fullscreen/belly/colorized/overlay)
|
||||
F2.icon_state = "[belly_fullscreen]_l1"
|
||||
F2.color = belly_fullscreen_color_secondary
|
||||
if("[belly_fullscreen]_l2" in icon_states('icons/mob/screen_full_colorized_vore_overlays.dmi'))
|
||||
var/obj/screen/fullscreen/F3 = L.overlay_fullscreen("belly3", /obj/screen/fullscreen/belly/colorized/overlay)
|
||||
F3.icon_state = "[belly_fullscreen]_l2"
|
||||
F3.color = belly_fullscreen_color_trinary
|
||||
if("[belly_fullscreen]_nc" in icon_states('icons/mob/screen_full_colorized_vore_overlays.dmi'))
|
||||
var/obj/screen/fullscreen/F4 = L.overlay_fullscreen("belly4", /obj/screen/fullscreen/belly/colorized/overlay)
|
||||
F4.icon_state = "[belly_fullscreen]_nc"
|
||||
else
|
||||
var/obj/screen/fullscreen/F = L.overlay_fullscreen("belly", /obj/screen/fullscreen/belly)
|
||||
F.icon_state = belly_fullscreen
|
||||
else
|
||||
L.clear_fullscreen("belly")
|
||||
//L.clear_fullscreen("belly2") //Allows for 'multilayered' stomachs. Currently not implemented.
|
||||
L.clear_fullscreen("belly2")
|
||||
L.clear_fullscreen("belly3")
|
||||
L.clear_fullscreen("belly4")
|
||||
|
||||
if(disable_hud)
|
||||
if(L?.hud_used?.hud_shown)
|
||||
@@ -363,19 +377,31 @@
|
||||
var/obj/screen/fullscreen/F = L.overlay_fullscreen("belly", /obj/screen/fullscreen/belly/colorized)
|
||||
F.icon_state = belly_fullscreen
|
||||
F.color = belly_fullscreen_color
|
||||
/* //Allows for 'multilayered' stomachs. Currently not implemented.
|
||||
if(b_multilayered)
|
||||
var/obj/screen/fullscreen/F2 = L.overlay_fullscreen("belly2", /obj/screen/fullscreen/belly)
|
||||
*/
|
||||
if("[belly_fullscreen]_l1" in icon_states('icons/mob/screen_full_colorized_vore_overlays.dmi'))
|
||||
var/obj/screen/fullscreen/F2 = L.overlay_fullscreen("belly2", /obj/screen/fullscreen/belly/colorized/overlay)
|
||||
F2.icon_state = "[belly_fullscreen]_l1"
|
||||
F2.color = belly_fullscreen_color_secondary
|
||||
if("[belly_fullscreen]_l2" in icon_states('icons/mob/screen_full_colorized_vore_overlays.dmi'))
|
||||
var/obj/screen/fullscreen/F3 = L.overlay_fullscreen("belly3", /obj/screen/fullscreen/belly/colorized/overlay)
|
||||
F3.icon_state = "[belly_fullscreen]_l2"
|
||||
F3.color = belly_fullscreen_color_trinary
|
||||
if("[belly_fullscreen]_nc" in icon_states('icons/mob/screen_full_colorized_vore_overlays.dmi'))
|
||||
var/obj/screen/fullscreen/F4 = L.overlay_fullscreen("belly4", /obj/screen/fullscreen/belly/colorized/overlay)
|
||||
F4.icon_state = "[belly_fullscreen]_nc"
|
||||
else
|
||||
var/obj/screen/fullscreen/F = L.overlay_fullscreen("belly", /obj/screen/fullscreen/belly)
|
||||
F.icon_state = belly_fullscreen
|
||||
else
|
||||
L.clear_fullscreen("belly")
|
||||
//L.clear_fullscreen("belly2") //Allows for 'multilayered' stomachs. Currently not implemented.
|
||||
L.clear_fullscreen("belly2")
|
||||
L.clear_fullscreen("belly3")
|
||||
L.clear_fullscreen("belly4")
|
||||
|
||||
/obj/belly/proc/clear_preview(mob/living/L)
|
||||
L.clear_fullscreen("belly")
|
||||
L.clear_fullscreen("belly2")
|
||||
L.clear_fullscreen("belly3")
|
||||
L.clear_fullscreen("belly4")
|
||||
|
||||
|
||||
|
||||
@@ -1218,6 +1244,8 @@
|
||||
dupe.belly_fullscreen = belly_fullscreen
|
||||
dupe.disable_hud = disable_hud
|
||||
dupe.belly_fullscreen_color = belly_fullscreen_color
|
||||
dupe.belly_fullscreen_color_secondary = belly_fullscreen_color_secondary
|
||||
dupe.belly_fullscreen_color_trinary = belly_fullscreen_color_trinary
|
||||
dupe.colorization_enabled = colorization_enabled
|
||||
dupe.egg_type = egg_type
|
||||
dupe.emote_time = emote_time
|
||||
|
||||
@@ -1108,6 +1108,9 @@
|
||||
/obj/screen/fullscreen/belly/colorized
|
||||
icon = 'icons/mob/screen_full_colorized_vore.dmi'
|
||||
|
||||
/obj/screen/fullscreen/belly/colorized/overlay
|
||||
icon = 'icons/mob/screen_full_colorized_vore_overlays.dmi'
|
||||
|
||||
/mob/living/proc/vorebelly_printout() //Spew the vorepanel belly messages into chat window for copypasting.
|
||||
set name = "X-Print Vorebelly Settings"
|
||||
set category = "Preferences"
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
#define BELLIES_DESC_MAX 4096
|
||||
#define FLAVOR_MAX 400
|
||||
|
||||
//INSERT COLORIZE-ONLY STOMACHS HERE
|
||||
var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
||||
"a_synth_flesh_mono_hole",
|
||||
"a_anim_belly",
|
||||
"multi_layer_test_tummy")
|
||||
|
||||
/mob/living
|
||||
var/datum/vore_look/vorePanel
|
||||
|
||||
@@ -202,6 +208,8 @@
|
||||
"weight_ex" = host.weight_message_visible,
|
||||
"belly_fullscreen" = selected.belly_fullscreen,
|
||||
"belly_fullscreen_color" = selected.belly_fullscreen_color,
|
||||
"belly_fullscreen_color_secondary" = selected.belly_fullscreen_color_secondary,
|
||||
"belly_fullscreen_color_trinary" = selected.belly_fullscreen_color_trinary,
|
||||
"colorization_enabled" = selected.colorization_enabled,
|
||||
"eating_privacy_local" = selected.eating_privacy_local,
|
||||
"silicon_belly_overlay_preference" = selected.silicon_belly_overlay_preference,
|
||||
@@ -241,6 +249,8 @@
|
||||
selected_list["disable_hud"] = selected.disable_hud
|
||||
selected_list["colorization_enabled"] = selected.colorization_enabled
|
||||
selected_list["belly_fullscreen_color"] = selected.belly_fullscreen_color
|
||||
selected_list["belly_fullscreen_color_secondary"] = selected.belly_fullscreen_color_secondary
|
||||
selected_list["belly_fullscreen_color_trinary"] = selected.belly_fullscreen_color_trinary
|
||||
|
||||
if(selected.colorization_enabled)
|
||||
selected_list["possible_fullscreens"] = icon_states('icons/mob/screen_full_colorized_vore.dmi') //Makes any icons inside of here selectable.
|
||||
@@ -252,10 +262,7 @@
|
||||
//Why? I have no flipping clue. As you can see above, vore_colorized is included in the assets but isn't working. It makes no sense.
|
||||
//I can only imagine this is a BYOND/TGUI issue with the cache. If you can figure out how to fix this and make it so you only need to
|
||||
//include things in full_colorized_vore, that would be great. For now, this is the only workaround that I could get to work.
|
||||
selected_list["possible_fullscreens"] -= "a_synth_flesh_mono"
|
||||
selected_list["possible_fullscreens"] -= "a_synth_flesh_mono_hole"
|
||||
selected_list["possible_fullscreens"] -= "a_anim_belly"
|
||||
//INSERT COLORIZE-ONLY STOMACHS HERE
|
||||
selected_list["possible_fullscreens"] -= belly_colorable_only_fullscreens
|
||||
|
||||
var/list/selected_contents = list()
|
||||
for(var/O in selected)
|
||||
@@ -534,7 +541,9 @@
|
||||
host.client.prefs_vr.show_vore_fx = host.show_vore_fx
|
||||
if(!host.show_vore_fx)
|
||||
host.clear_fullscreen("belly")
|
||||
//host.clear_fullscreen("belly2") //For multilayered stomachs. Not currently implemented.
|
||||
host.clear_fullscreen("belly2")
|
||||
host.clear_fullscreen("belly3")
|
||||
host.clear_fullscreen("belly4")
|
||||
if(!host.hud_used.hud_shown)
|
||||
host.toggle_hud_vis()
|
||||
unsaved_changes = TRUE
|
||||
@@ -1400,6 +1409,16 @@
|
||||
if(newcolor)
|
||||
host.vore_selected.belly_fullscreen_color = newcolor
|
||||
. = TRUE
|
||||
if("b_fullscreen_color_secondary")
|
||||
var/newcolor = input(usr, "Choose a color.", "", host.vore_selected.belly_fullscreen_color) as color|null
|
||||
if(newcolor)
|
||||
host.vore_selected.belly_fullscreen_color_secondary = newcolor
|
||||
. = TRUE
|
||||
if("b_fullscreen_color_trinary")
|
||||
var/newcolor = input(usr, "Choose a color.", "", host.vore_selected.belly_fullscreen_color) as color|null
|
||||
if(newcolor)
|
||||
host.vore_selected.belly_fullscreen_color_trinary = newcolor
|
||||
. = TRUE
|
||||
if("b_save_digest_mode")
|
||||
host.vore_selected.save_digest_mode = !host.vore_selected.save_digest_mode
|
||||
. = TRUE
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.3 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.5 MiB After Width: | Height: | Size: 2.6 MiB |
@@ -887,6 +887,8 @@ const VoreSelectedBellyVisuals = (props, context) => {
|
||||
possible_fullscreens,
|
||||
disable_hud,
|
||||
belly_fullscreen_color,
|
||||
belly_fullscreen_color_secondary,
|
||||
belly_fullscreen_color_trinary,
|
||||
mapRef,
|
||||
colorization_enabled,
|
||||
} = belly;
|
||||
@@ -908,7 +910,37 @@ const VoreSelectedBellyVisuals = (props, context) => {
|
||||
val: null,
|
||||
})
|
||||
}>
|
||||
Select Color
|
||||
Select Primary Color
|
||||
</Button>
|
||||
<Box
|
||||
backgroundColor={belly_fullscreen_color_secondary}
|
||||
width="20px"
|
||||
height="20px"
|
||||
/>
|
||||
<Button
|
||||
icon="eye-dropper"
|
||||
onClick={() =>
|
||||
act('set_attribute', {
|
||||
attribute: 'b_fullscreen_color_secondary',
|
||||
val: null,
|
||||
})
|
||||
}>
|
||||
Select Secondary Color
|
||||
</Button>
|
||||
<Box
|
||||
backgroundColor={belly_fullscreen_color_trinary}
|
||||
width="20px"
|
||||
height="20px"
|
||||
/>
|
||||
<Button
|
||||
icon="eye-dropper"
|
||||
onClick={() =>
|
||||
act('set_attribute', {
|
||||
attribute: 'b_fullscreen_color_trinary',
|
||||
val: null,
|
||||
})
|
||||
}>
|
||||
Select Trinary Color
|
||||
</Button>
|
||||
<LabeledList.Item label="Enable Coloration">
|
||||
<Button
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -4065,6 +4065,7 @@
|
||||
#include "code\modules\vore\appearance\update_icons_vr.dm"
|
||||
#include "code\modules\vore\eating\belly_dat_vr.dm"
|
||||
#include "code\modules\vore\eating\belly_obj_vr.dm"
|
||||
#include "code\modules\vore\eating\belly_overlays_vr.dm"
|
||||
#include "code\modules\vore\eating\bellymodes_datum_vr.dm"
|
||||
#include "code\modules\vore\eating\bellymodes_vr.dm"
|
||||
#include "code\modules\vore\eating\contaminate_vr.dm"
|
||||
|
||||
Reference in New Issue
Block a user