Merge pull request #5804 from BlackMajor/bellies

Extra vore belly overlay options + tri colour + transparency + a fix
This commit is contained in:
Razgriz
2023-03-04 16:26:54 -07:00
committed by GitHub
9 changed files with 166 additions and 25 deletions

View File

@@ -416,3 +416,8 @@
if(to_update)
updateVRPanels()
/////////////////////////// CHOMP PCL END ///////////////////////////
/obj/belly/proc/update_internal_overlay()
for(var/A in contents)
if(isliving(A))
vore_fx(A,1)

View File

@@ -166,6 +166,10 @@
var/disable_hud = FALSE
var/colorization_enabled = TRUE //CHOMPedit
var/belly_fullscreen_color = "#823232"
var/belly_fullscreen_color2 = "#FFFFFF"
var/belly_fullscreen_color3 = "#823232"
var/belly_fullscreen_color4 = "#FFFFFF"
var/belly_fullscreen_alpha = 255
@@ -230,6 +234,10 @@
"disable_hud",
"reagent_mode_flags", //CHOMP start of variables from CHOMP
"belly_fullscreen_color",
"belly_fullscreen_color2",
"belly_fullscreen_color3",
"belly_fullscreen_color4",
"belly_fullscreen_alpha",
"colorization_enabled",
"reagentbellymode",
"liquid_fullness1_messages",
@@ -415,7 +423,7 @@
for(var/count in I.d_mult to 1 step 0.25)
I.add_overlay(I.d_stage_overlay, TRUE) //CHOMPEdit end
/obj/belly/proc/vore_fx(mob/living/L)
/obj/belly/proc/vore_fx(mob/living/L, var/update)
if(!istype(L))
return
if(!L.client)
@@ -423,22 +431,35 @@
if(!L.show_vore_fx)
L.clear_fullscreen("belly")
return
if(update)
L.clear_fullscreen("belly")
if(belly_fullscreen)
if(colorization_enabled)
var/obj/screen/fullscreen/F = L.overlay_fullscreen("belly", /obj/screen/fullscreen/belly) //CHOMPedit: preserving save data
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)
*/
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
F.add_overlay(I)
I = image('modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi', belly_fullscreen+"-2")
I.color = belly_fullscreen_color2
I.alpha = belly_fullscreen_alpha
F.add_overlay(I)
I = image('modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi', belly_fullscreen+"-3")
I.color = belly_fullscreen_color3
I.alpha = belly_fullscreen_alpha
F.add_overlay(I)
I = image('modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi', belly_fullscreen+"-4")
I.color = belly_fullscreen_color4
I.alpha = belly_fullscreen_alpha
F.add_overlay(I)
else
var/obj/screen/fullscreen/F = L.overlay_fullscreen("belly", /obj/screen/fullscreen/belly/fixed) //CHOMPedit: preserving save data
F.icon_state = belly_fullscreen
F.add_overlay(image(F.icon, belly_fullscreen))
F.add_overlay(image('modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi', belly_fullscreen+"-2"))
F.add_overlay(image('modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi', belly_fullscreen+"-3"))
F.add_overlay(image('modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi', belly_fullscreen+"-4"))
else
L.clear_fullscreen("belly")
//L.clear_fullscreen("belly2") //Allows for 'multilayered' stomachs. Currently not implemented.
if(disable_hud)
if(L?.hud_used?.hud_shown)
@@ -454,18 +475,30 @@
if(belly_fullscreen)
if(colorization_enabled)
var/obj/screen/fullscreen/F = L.overlay_fullscreen("belly", /obj/screen/fullscreen/belly) //CHOMPedit: preserving save data
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)
*/
var/image/I = image(F.icon, belly_fullscreen)
I.color = belly_fullscreen_color
I.alpha = belly_fullscreen_alpha
F.add_overlay(I)
I = image('modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi', belly_fullscreen+"-2")
I.color = belly_fullscreen_color2
I.alpha = belly_fullscreen_alpha
F.add_overlay(I)
I = image('modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi', belly_fullscreen+"-3")
I.color = belly_fullscreen_color3
I.alpha = belly_fullscreen_alpha
F.add_overlay(I)
I = image('modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi', belly_fullscreen+"-4")
I.color = belly_fullscreen_color4
I.alpha = belly_fullscreen_alpha
F.add_overlay(I)
else
var/obj/screen/fullscreen/F = L.overlay_fullscreen("belly", /obj/screen/fullscreen/belly/fixed) //CHOMPedit: preserving save data
F.icon_state = belly_fullscreen
F.add_overlay(image(F.icon, belly_fullscreen))
F.add_overlay(image('modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi', belly_fullscreen+"-2"))
F.add_overlay(image('modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi', belly_fullscreen+"-3"))
F.add_overlay(image('modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi', belly_fullscreen+"-4"))
else
L.clear_fullscreen("belly")
//L.clear_fullscreen("belly2") //Allows for 'multilayered' stomachs. Currently not implemented.
/obj/belly/proc/clear_preview(mob/living/L)
L.clear_fullscreen("belly")
@@ -1354,6 +1387,10 @@
dupe.reagent_mode_flags = reagent_mode_flags //CHOMP start of variables from CHOMP
dupe.belly_fullscreen_color = belly_fullscreen_color
dupe.belly_fullscreen_color2 = belly_fullscreen_color2
dupe.belly_fullscreen_color3 = belly_fullscreen_color3
dupe.belly_fullscreen_color4 = belly_fullscreen_color4
dupe.belly_fullscreen_alpha = belly_fullscreen_alpha
dupe.reagentbellymode = reagentbellymode
dupe.vorefootsteps_sounds = vorefootsteps_sounds
dupe.liquid_fullness1_messages = liquid_fullness1_messages
@@ -1397,7 +1434,6 @@
dupe.belly_fullscreen = belly_fullscreen
dupe.disable_hud = disable_hud
dupe.belly_fullscreen_color = belly_fullscreen_color
dupe.colorization_enabled = colorization_enabled
dupe.egg_type = egg_type
dupe.emote_time = emote_time

View File

@@ -214,7 +214,7 @@
L.Weaken(5)
// Fullscreen overlays
vore_fx(L)
//vore_fx(L) //CHOMPEdit - Don't update this every single process tick, damn.
//Handle 'human'
if(ishuman(L))

View File

@@ -198,11 +198,15 @@
"nutrition_ex" = host.nutrition_message_visible,
"weight_ex" = host.weight_message_visible,
"belly_fullscreen" = selected.belly_fullscreen,
//CHOMP add: vore sprite options and additional stuff
"belly_fullscreen_color" = selected.belly_fullscreen_color,
"belly_fullscreen_color2" = selected.belly_fullscreen_color2,
"belly_fullscreen_color3" = selected.belly_fullscreen_color3,
"belly_fullscreen_color4" = selected.belly_fullscreen_color4,
"belly_fullscreen_alpha" = selected.belly_fullscreen_alpha,
"colorization_enabled" = selected.colorization_enabled,
"vorespawn_blacklist" = selected.vorespawn_blacklist, //CHOMP Addition: vorespawn blacklist
"sound_volume" = selected.sound_volume, //CHOMPAdd
//CHOMP add: vore sprite options
"vorespawn_blacklist" = selected.vorespawn_blacklist,
"sound_volume" = selected.sound_volume,
"affects_voresprite" = selected.affects_vore_sprites,
"absorbed_voresprite" = selected.count_absorbed_prey_for_sprite,
"absorbed_multiplier" = selected.absorbed_multiplier,
@@ -271,6 +275,10 @@
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_color2"] = selected.belly_fullscreen_color2
selected_list["belly_fullscreen_color3"] = selected.belly_fullscreen_color3
selected_list["belly_fullscreen_color4"] = selected.belly_fullscreen_color4
selected_list["belly_fullscreen_alpha"] = selected.belly_fullscreen_alpha
if(selected.colorization_enabled)
selected_list["possible_fullscreens"] = icon_states('modular_chomp/icons/mob/screen_full_vore_ch.dmi') //Makes any icons inside of here selectable. //CHOMPedit
@@ -1644,6 +1652,7 @@
. = TRUE //CHOMPedit End
if("b_fullscreen")
host.vore_selected.belly_fullscreen = params["val"]
host.vore_selected.update_internal_overlay()
. = TRUE
if("b_disable_hud")
host.vore_selected.disable_hud = !host.vore_selected.disable_hud
@@ -1668,6 +1677,31 @@
var/newcolor = input(usr, "Choose a color.", "", host.vore_selected.belly_fullscreen_color) as color|null
if(newcolor)
host.vore_selected.belly_fullscreen_color = newcolor
host.vore_selected.update_internal_overlay()
. = TRUE
if("b_fullscreen_color2")
var/newcolor2 = input(usr, "Choose a color.", "", host.vore_selected.belly_fullscreen_color2) as color|null
if(newcolor2)
host.vore_selected.belly_fullscreen_color2 = newcolor2
host.vore_selected.update_internal_overlay()
. = TRUE
if("b_fullscreen_color3")
var/newcolor3 = input(usr, "Choose a color.", "", host.vore_selected.belly_fullscreen_color3) as color|null
if(newcolor3)
host.vore_selected.belly_fullscreen_color3 = newcolor3
host.vore_selected.update_internal_overlay()
. = TRUE
if("b_fullscreen_color4")
var/newcolor4 = input(usr, "Choose a color.", "", host.vore_selected.belly_fullscreen_color4) as color|null
if(newcolor4)
host.vore_selected.belly_fullscreen_color4 = newcolor4
host.vore_selected.update_internal_overlay()
. = TRUE
if("b_fullscreen_alpha")
var/newalpha = tgui_input_number(usr, "Set alpha transparency between 0-255", "Vore Alpha",255,255,0,0,1)
if(newalpha)
host.vore_selected.belly_fullscreen_alpha = newalpha
host.vore_selected.update_internal_overlay()
. = TRUE
if("b_save_digest_mode")
host.vore_selected.save_digest_mode = !host.vore_selected.save_digest_mode

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 6.8 MiB

View File

@@ -0,0 +1,39 @@
Yeah hey if you're reading this, this is just a little .txt file keeping a record of which artist created which belly sprite (if any credit is due).
Scottred:
VBO_belly1
VBO_belly2
VBO_belly3
VBO_belly4
VBO_belly6
VBO_belly7
VBO_intestines6
VBO_intestines7
VBO_intestines8
TheMirth:
VBO_belly5
VBO_maw1
Tsumibeer:
VBO_intestines1
VBO_intestines2
VBO_intestines3
VBO_intestines4
VBO_intestines5
Ewebun:
VBO_maw2
VBO_maw3
VBO_maw4
VBO_maw5
VBO_maw6
VBO_maw7
VBO_maw8
VBO_maw9
VBO_maw10
VBO_maw11
FishyBoner:
VBO_maw12
VBO_trash

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@@ -794,6 +794,10 @@ const VoreSelectedBellyVisuals = (props, context) => {
const {
belly_fullscreen,
belly_fullscreen_color,
belly_fullscreen_color2,
belly_fullscreen_color3,
belly_fullscreen_color4,
belly_fullscreen_alpha,
mapRef,
colorization_enabled,
possible_fullscreens,
@@ -939,7 +943,30 @@ const VoreSelectedBellyVisuals = (props, context) => {
<Button
icon="eye-dropper"
onClick={() => act('set_attribute', { attribute: 'b_fullscreen_color', val: null })}>
Select Color
Select Color 1
</Button>
<Box backgroundColor={belly_fullscreen_color2} width="20px" height="20px" />
<Button
icon="eye-dropper"
onClick={() => act('set_attribute', { attribute: 'b_fullscreen_color2', val: null })}>
Select Color 2
</Button>
<Box backgroundColor={belly_fullscreen_color3} width="20px" height="20px" />
<Button
icon="eye-dropper"
onClick={() => act('set_attribute', { attribute: 'b_fullscreen_color3', val: null })}>
Select Color 3
</Button>
<Box backgroundColor={belly_fullscreen_color4} width="20px" height="20px" />
<Button
icon="eye-dropper"
onClick={() => act('set_attribute', { attribute: 'b_fullscreen_color4', val: null })}>
Select Color 4
</Button>
<Button
icon="eye-dropper"
onClick={() => act('set_attribute', { attribute: 'b_fullscreen_alpha', val: null })}>
Set Alpha
</Button>
<LabeledList.Item label="Enable Coloration">
<Button

File diff suppressed because one or more lines are too long