modernizes the belly content interactions (#18659)

* modernizes the belly content interactions

* should use stack items

* .

* .

* .

* .

* .

* search

* .

* .

* .
This commit is contained in:
Kashargul
2025-11-02 16:50:02 +01:00
committed by GitHub
parent 50e615c7f5
commit ebd00b43bd
10 changed files with 447 additions and 155 deletions
@@ -63,6 +63,11 @@
for(var/atom/movable/O in inside_belly)
if(O == owner)
continue
var/our_type
if(isliving(O))
our_type = "Living"
else if(isitem(O))
our_type = "Item"
var/list/info = list(
"name" = "[O]",
@@ -70,6 +75,7 @@
"stat" = 0,
"ref" = "\ref[O]",
"outside" = FALSE,
"our_type" = our_type
)
if(show_pictures) //disables icon mode
if(inside_belly.contents.len <= max_icon_content)
@@ -292,6 +298,22 @@
var/list/selected_contents
var/total_content_count = 0
for(var/O in selected)
// Please don't pass the options as a list... let TGUI handle that
var/our_type
if(ishuman(O))
our_type = "Human"
else if(isobserver(O) || istype(O,/obj/item/mmi))
our_type = "Obeserver"
else if(isliving(O))
var/mob/living/datarget = O
if(datarget.client)
our_type = "LivingC"
else
our_type = "Living"
total_content_count++
if(active_vore_tab == CONTENTS_TAB)
var/list/info = list(
@@ -300,6 +322,7 @@
"stat" = 0,
"ref" = "\ref[O]",
"outside" = TRUE,
"our_type" = our_type
)
if(show_pictures) //disables icon mode
if(selected.contents.len <= max_icon_content)
+17 -5
View File
@@ -867,10 +867,16 @@
// Only allow indirect belly viewers to examine
if(user in OB)
if(isliving(target))
intent = tgui_alert(user, "What do you want to do to them?","Query",list("Examine","Help Out","Devour"))
if(params["option"] in list("Examine","Help Out","Devour"))
intent = params["option"]
else
intent = tgui_alert(user, "What do you want to do to them?","Query",list("Examine","Help Out","Devour"))
else if(istype(target, /obj/item))
intent = tgui_alert(user, "What do you want to do to that?","Query",list("Examine","Use Hand"))
else if(isitem(target))
if(params["option"] in list("Examine","Use Hand"))
intent = params["option"]
else
intent = tgui_alert(user, "What do you want to do to that?","Query",list("Examine","Use Hand"))
//End of indirect vorefx changes
switch(intent)
@@ -989,7 +995,10 @@
if(datarget.client)
available_options += "Process"
available_options += "Health"
intent = tgui_input_list(user, "What would you like to do with [target]?", "Vore Pick", available_options)
if((params["option"] in available_options))
intent = params["option"]
else
intent = tgui_input_list(user, "What would you like to do with [target]?", "Vore Pick", available_options)
switch(intent)
if("Examine")
var/list/results = target.examine(host)
@@ -1023,7 +1032,9 @@
if(host.stat)
to_chat(user,span_warning("You can't do that in your state!"))
return TRUE
var/obj/belly/choice = tgui_input_list(user, "Move [target] where?","Select Belly", host.vore_organs)
var/obj/belly/choice = locate(params["targetBelly"])
if(!(choice in host.vore_organs))
choice = tgui_input_list(user, "Move [target] where?","Select Belly", host.vore_organs)
if(!choice || !(target in host.vore_selected))
return TRUE
to_chat(target,span_vwarning("You're squished from [host]'s [lowertext(host.vore_selected.name)] to their [lowertext(choice.name)]!"))
@@ -1082,6 +1093,7 @@
return FALSE
if(!H.allow_spontaneous_tf)
to_chat(user,span_warning("Your target can't be transformed!"))
return FALSE
var/datum/tgui_module/appearance_changer/vore/V = new(host, H)