mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Merge pull request #5804 from BlackMajor/bellies
Extra vore belly overlay options + tri colour + transparency + a fix
This commit is contained in:
@@ -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)
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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 |
39
modular_chomp/icons/mob/screen_full_vore_ch_credits.txt
Normal file
39
modular_chomp/icons/mob/screen_full_vore_ch_credits.txt
Normal 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
|
||||
BIN
modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi
Normal file
BIN
modular_chomp/icons/mob/screen_full_vore_ch_overlays.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 MiB |
@@ -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
Reference in New Issue
Block a user