mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
[MIRROR] updates belly handling (#10152)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
e465c23293
commit
35fc6f0aaa
@@ -188,7 +188,7 @@
|
||||
phaseanim.dir = H.dir
|
||||
H.invisibility = initial(H.invisibility)
|
||||
respite_activating = FALSE
|
||||
belly.owner.update_fullness()
|
||||
belly.owner.handle_belly_update() // CHOMPEdit
|
||||
H.clear_fullscreen("belly")
|
||||
if(H.hud_used)
|
||||
if(!H.hud_used.hud_shown)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
if(sprite_datum.has_sleeper_light_indicator)
|
||||
vore_light_states = list("sleeper" = 0)
|
||||
sprite_datum.belly_light_list = list("sleeper")
|
||||
update_fullness() //Set how full the newly defined bellies are, if they're already full
|
||||
handle_belly_update() //Set how full the newly defined bellies are, if they're already full
|
||||
|
||||
/mob/living/silicon/robot/proc/reset_belly_lights(var/b_class)
|
||||
if(sprite_datum.belly_light_list.len && sprite_datum.belly_light_list.Find(b_class))
|
||||
|
||||
@@ -302,7 +302,7 @@
|
||||
forceMove(pick(floors))
|
||||
flick("tp_in",src)
|
||||
respite_activating = FALSE
|
||||
belly.owner.update_fullness()
|
||||
belly.owner.handle_belly_update() // CHOMPEdit
|
||||
clear_fullscreen("belly")
|
||||
if(hud_used)
|
||||
if(!hud_used.hud_shown)
|
||||
|
||||
@@ -1177,6 +1177,6 @@
|
||||
new_belly.items_preserved.Cut()
|
||||
new_belly.update_internal_overlay() // Signal not implemented! CHOMPEnable
|
||||
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
host.updateVRPanel()
|
||||
unsaved_changes = TRUE
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
for(var/reagent in generated_reagents)
|
||||
reagents.add_reagent(reagent, generated_reagents[reagent])
|
||||
if(count_liquid_for_sprite)
|
||||
owner.update_fullness() //This is run whenever a belly's contents are changed.
|
||||
owner.handle_belly_update() //This is run whenever a belly's contents are changed.
|
||||
if(LAZYLEN(belly_surrounding))
|
||||
SEND_SIGNAL(src, COMSIG_BELLY_UPDATE_VORE_FX, FALSE, reagents.total_volume) // Signals vore_fx() reagents updates.
|
||||
|
||||
|
||||
@@ -443,6 +443,7 @@
|
||||
var/mob/living/L = thing
|
||||
startfx.Add(L)
|
||||
startfx.Add(get_belly_surrounding(L.contents))
|
||||
owner.handle_belly_update() //CHOMPEdit - This is run whenever a belly's contents are changed.
|
||||
if(istype(thing,/obj/item))
|
||||
var/obj/item/I = thing
|
||||
startfx.Add(get_belly_surrounding(I.contents))
|
||||
@@ -466,16 +467,15 @@
|
||||
vore_fx(M, TRUE) //CHOMPEdit: update belleh
|
||||
if(owner.previewing_belly == src) //CHOMPEdit
|
||||
vore_fx(owner, TRUE) //CHOMPEdit: update belleh
|
||||
owner.update_fullness() //CHOMPEdit - This is run whenever a belly's contents are changed.
|
||||
//Stop AI processing in bellies
|
||||
if(M.ai_holder)
|
||||
M.ai_holder.go_sleep()
|
||||
if(reagents.total_volume >= 5) //CHOMPEdit Start
|
||||
if(digest_mode == DM_DIGEST && M.digestable)
|
||||
reagents.trans_to(M, reagents.total_volume * 0.1, 1 / max(LAZYLEN(contents), 1), FALSE)
|
||||
to_chat(M, span_vwarning("<B>You splash into a pool of [reagent_name]!</B>"))
|
||||
to_chat(M, span_vwarning(span_bold("You splash into a pool of [reagent_name]!")))
|
||||
if(!isliving(thing) && count_items_for_sprite) //CHOMPEdit - If this is enabled also update fullness for non-living things
|
||||
owner.update_fullness() //CHOMPEdit - This is run whenever a belly's contents are changed.
|
||||
owner.handle_belly_update() //CHOMPEdit - This is run whenever a belly's contents are changed.
|
||||
//if(istype(thing, /obj/item/capture_crystal)) //CHOMPEdit start: Capture crystal occupant gets to see belly text too. Moved to modular_chomp capture_crystal.dm.
|
||||
//var/obj/item/capture_crystal/CC = thing
|
||||
//if(CC.bound_mob && desc)
|
||||
@@ -500,7 +500,7 @@
|
||||
if(isbelly(thing.loc)) //CHOMPEdit Start
|
||||
var/obj/belly/NB = thing.loc
|
||||
if(count_items_for_sprite && !NB.count_items_for_sprite)
|
||||
owner.update_fullness()
|
||||
owner.handle_belly_update()
|
||||
return //CHOMPEdit End
|
||||
|
||||
//CHOMPEdit Start - Remove vorefx from all those indirectly viewing as well
|
||||
@@ -509,13 +509,13 @@
|
||||
var/mob/living/L = thing
|
||||
endfx.Add(L)
|
||||
endfx.Add(get_belly_surrounding(L.contents))
|
||||
owner.handle_belly_update() //CHOMPEdit - This is run whenever a belly's contents are changed.
|
||||
if(istype(thing,/obj/item))
|
||||
var/obj/item/I = thing
|
||||
endfx.Add(get_belly_surrounding(I.contents))
|
||||
if(!isbelly(thing.loc))
|
||||
for(var/mob/living/L in endfx) //CHOMPEdit End
|
||||
if(L.surrounding_belly()) continue
|
||||
owner.update_fullness() //CHOMPEdit - This is run whenever a belly's contents are changed.
|
||||
L.clear_fullscreen("belly")
|
||||
//L.clear_fullscreen("belly2") // CHOMP Disable - using our implementation, not upstream's
|
||||
//L.clear_fullscreen("belly3") // CHOMP Disable - using our implementation, not upstream's
|
||||
@@ -529,7 +529,7 @@
|
||||
//CHOMPEdit End of indirect vorefx changes
|
||||
if(isitem(thing) && !isbelly(thing.loc)) //CHOMPEdit: Digest stage effects. Don't bother adding overlays to stuff that won't make it back out.
|
||||
if(count_items_for_sprite) //CHOMPEdit - If this is enabled also update fullness for non-living things
|
||||
owner.update_fullness() //CHOMPEdit - This is run whenever a belly's contents are changed.
|
||||
owner.handle_belly_update() //CHOMPEdit - This is run whenever a belly's contents are changed.
|
||||
var/obj/item/I = thing
|
||||
if(I.gurgled)
|
||||
I.cut_overlay(gurgled_overlays[I.gurgled_color]) //No double-overlay for worn items.
|
||||
@@ -922,8 +922,6 @@
|
||||
|
||||
//Clean up our own business
|
||||
items_preserved.Cut()
|
||||
if(!ishuman(owner))
|
||||
owner.update_icons()
|
||||
|
||||
//Determines privacy
|
||||
var/privacy_range = world.view
|
||||
@@ -1007,9 +1005,6 @@
|
||||
if(ML.stat)
|
||||
ML.SetSleeping(min(ML.sleeping,20))
|
||||
|
||||
//Clean up our own business
|
||||
if(!ishuman(owner))
|
||||
owner.update_icons()
|
||||
|
||||
//Determines privacy
|
||||
var/privacy_range = world.view
|
||||
@@ -1059,8 +1054,6 @@
|
||||
var/mob/ourmob = prey
|
||||
ourmob.reset_view(owner)
|
||||
owner.updateVRPanel()
|
||||
if(isanimal(owner))
|
||||
owner.update_icon()
|
||||
|
||||
for(var/mob/living/M in contents)
|
||||
M.updateVRPanel()
|
||||
@@ -1161,7 +1154,7 @@
|
||||
M.reagents.del_reagent(REAGENT_ID_CLEANER) //Don't need this stuff in our bloodstream.
|
||||
M.reagents.trans_to_holder(Pred.ingested, M.reagents.total_volume, 0.5, TRUE) //CHOMPEdit End
|
||||
|
||||
owner.update_fullness()
|
||||
owner.handle_belly_update()
|
||||
|
||||
//Incase they have the loop going, let's double check to stop it.
|
||||
M.stop_sound_channel(CHANNEL_PREYLOOP)
|
||||
@@ -1204,8 +1197,7 @@
|
||||
M.forceMove(G)
|
||||
else
|
||||
qdel(M)
|
||||
if(isanimal(owner))
|
||||
owner.update_icon()
|
||||
owner.handle_belly_update()
|
||||
//CHOMPEdit End
|
||||
|
||||
// Handle a mob being absorbed
|
||||
@@ -1259,10 +1251,7 @@
|
||||
|
||||
//Update owner
|
||||
owner.updateVRPanel()
|
||||
if(isanimal(owner))
|
||||
owner.update_icon()
|
||||
else
|
||||
owner.update_fullness()
|
||||
owner.handle_belly_update()
|
||||
// Finally, if they're to be sent to a special pudge belly, send them there
|
||||
if(transferlocation_absorb)
|
||||
var/obj/belly/dest_belly
|
||||
@@ -1289,10 +1278,7 @@
|
||||
|
||||
//Update owner
|
||||
owner.updateVRPanel()
|
||||
if(isanimal(owner))
|
||||
owner.update_icon()
|
||||
else
|
||||
owner.update_fullness()
|
||||
owner.handle_belly_update()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
/obj/belly/proc/handle_absorb_langs()
|
||||
@@ -1617,7 +1603,7 @@
|
||||
owner.updateVRPanel()
|
||||
for(var/mob/living/M in contents)
|
||||
M.updateVRPanel()
|
||||
owner.update_icon()
|
||||
owner.handle_belly_update()
|
||||
|
||||
//Autotransfer callback CHOMPEdit Start
|
||||
/obj/belly/proc/check_autotransfer(var/atom/movable/prey)
|
||||
|
||||
@@ -42,7 +42,7 @@ GLOBAL_LIST_INIT(digest_modes, list())
|
||||
else
|
||||
B.handle_digestion_death(L)
|
||||
if(!L)
|
||||
B.owner.update_fullness()
|
||||
B.owner.handle_belly_update()
|
||||
return list("to_update" = TRUE)
|
||||
if(!L)
|
||||
return //CHOMPEdit End
|
||||
@@ -56,7 +56,7 @@ GLOBAL_LIST_INIT(digest_modes, list())
|
||||
L.adjustBruteLoss(-paratox*2) //Should automaticaly clamp to 0
|
||||
L.adjustFireLoss(-paratox*2) //Should automaticaly clamp to 0
|
||||
if(B.health_impacts_size) //CHOMPEdit - Health probably changed so...
|
||||
B.owner.update_fullness() //CHOMPEdit - This is run whenever a belly's contents are changed.
|
||||
B.owner.handle_belly_update() //CHOMPEdit - This is run whenever a belly's contents are changed.
|
||||
return
|
||||
|
||||
//CHOMPedit end
|
||||
@@ -89,7 +89,7 @@ GLOBAL_LIST_INIT(digest_modes, list())
|
||||
var/difference = B.owner.size_multiplier / L.size_multiplier
|
||||
|
||||
if(B.health_impacts_size)
|
||||
B.owner.update_fullness()
|
||||
B.owner.handle_belly_update()
|
||||
|
||||
consider_healthbar(L, old_health, B.owner)
|
||||
/*if(isrobot(B.owner)) //CHOMPEdit: Borgos can now use nutrition too
|
||||
@@ -158,7 +158,7 @@ GLOBAL_LIST_INIT(digest_modes, list())
|
||||
L.resize(L.size_multiplier - 0.01) // Shrink by 1% per tick
|
||||
if(L.size_multiplier <= B.shrink_grow_size) // Adds some feedback so the pred knows their prey has stopped shrinking.
|
||||
to_chat(B.owner, span_vnotice("You feel [L] get as small as you would like within your [lowertext(B.name)]."))
|
||||
B.owner.update_fullness()
|
||||
B.owner.handle_belly_update()
|
||||
. = ..()
|
||||
|
||||
/datum/digest_mode/grow
|
||||
@@ -170,7 +170,7 @@ GLOBAL_LIST_INIT(digest_modes, list())
|
||||
L.resize(L.size_multiplier + 0.01) // Shrink by 1% per tick
|
||||
if(L.size_multiplier >= B.shrink_grow_size) // Adds some feedback so the pred knows their prey has stopped growing.
|
||||
to_chat(B.owner, span_vnotice("You feel [L] get as big as you would like within your [lowertext(B.name)]."))
|
||||
B.owner.update_fullness()
|
||||
B.owner.handle_belly_update()
|
||||
|
||||
/datum/digest_mode/drain/sizesteal
|
||||
id = DM_SIZE_STEAL
|
||||
@@ -183,7 +183,7 @@ GLOBAL_LIST_INIT(digest_modes, list())
|
||||
L.resize(L.size_multiplier - 0.01) //Shrink by 1% per tick
|
||||
if(L.size_multiplier <= B.shrink_grow_size) // Adds some feedback so the pred knows their prey has stopped shrinking.
|
||||
to_chat(B.owner, span_vnotice("You feel [L] get as small as you would like within your [lowertext(B.name)]."))
|
||||
B.owner.update_fullness()
|
||||
B.owner.handle_belly_update()
|
||||
. = ..()
|
||||
|
||||
/datum/digest_mode/heal
|
||||
@@ -202,14 +202,14 @@ GLOBAL_LIST_INIT(digest_modes, list())
|
||||
O.heal_damage(0.5, 0.5, 0, 1) // Less effective healing as able to fix broken limbs
|
||||
B.owner.adjust_nutrition(-5) // More costly for the pred, since metals and stuff
|
||||
if(B.health_impacts_size)
|
||||
B.owner.update_fullness()
|
||||
B.owner.handle_belly_update()
|
||||
if(L.health < L.maxHealth)
|
||||
L.adjustToxLoss(-2)
|
||||
L.adjustOxyLoss(-2)
|
||||
L.adjustCloneLoss(-1)
|
||||
B.owner.adjust_nutrition(-1) // Normal cost per old functionality
|
||||
if(B.health_impacts_size)
|
||||
B.owner.update_fullness()
|
||||
B.owner.handle_belly_update()
|
||||
if(B.owner.nutrition > 90 && (L.health < L.maxHealth) && !H.isSynthetic())
|
||||
L.adjustBruteLoss(-2.5)
|
||||
L.adjustFireLoss(-2.5)
|
||||
@@ -218,7 +218,7 @@ GLOBAL_LIST_INIT(digest_modes, list())
|
||||
L.adjustCloneLoss(-1.25)
|
||||
B.owner.adjust_nutrition(-2)
|
||||
if(B.health_impacts_size)
|
||||
B.owner.update_fullness()
|
||||
B.owner.handle_belly_update()
|
||||
if(L.nutrition <= 400)
|
||||
L.adjust_nutrition(1)
|
||||
else if(B.owner.nutrition > 90 && (L.nutrition <= 400))
|
||||
|
||||
@@ -34,3 +34,10 @@
|
||||
|
||||
/mob/living/proc/vs_animate(var/belly_to_animate)
|
||||
return
|
||||
|
||||
// use this instead of upsate fullness where you need to directly update a belly size
|
||||
/mob/proc/handle_belly_update()
|
||||
if(ishuman(src))
|
||||
update_fullness()
|
||||
return
|
||||
update_icon()
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
add_attack_logs(user,TR,"Transfered [RTB.reagent_name] from [TG]'s [RTB] to [TR]'s [TB]") //Bonus for staff so they can see if people have abused transfer and done pref breaks
|
||||
RTB.reagents.vore_trans_to_mob(TR, transfer_amount, CHEM_VORE, 1, 0, TB)
|
||||
if(RTB.count_liquid_for_sprite || TB.count_liquid_for_sprite)
|
||||
update_fullness()
|
||||
handle_belly_update()
|
||||
|
||||
else if(TR.receive_reagents == FALSE)
|
||||
to_chat(user, span_vwarning("This person's prefs dont allow that!"))
|
||||
@@ -159,9 +159,9 @@
|
||||
RTB.reagents.vore_trans_to_mob(TR, transfer_amount, CHEM_VORE, 1, 0, TB)
|
||||
add_attack_logs(user,TR,"Transfered reagents from [TG]'s [RTB] to [TR]'s [TB]") //Bonus for staff so they can see if people have abused transfer and done pref breaks
|
||||
if(RTB.count_liquid_for_sprite)
|
||||
update_fullness()
|
||||
handle_belly_update()
|
||||
if(TB.count_liquid_for_sprite)
|
||||
TR.update_fullness()
|
||||
TR.handle_belly_update()
|
||||
|
||||
|
||||
if("Stomach")
|
||||
@@ -178,7 +178,7 @@
|
||||
RTB.reagents.vore_trans_to_mob(TR, transfer_amount, CHEM_INGEST, 1, 0, null)
|
||||
add_attack_logs(user,TR,"Transfered [RTB.reagent_name] from [TG]'s [RTB] to [TR]'s Stomach")
|
||||
if(RTB.count_liquid_for_sprite)
|
||||
update_fullness()
|
||||
handle_belly_update()
|
||||
|
||||
else if(TR.receive_reagents == FALSE)
|
||||
to_chat(user, span_vwarning("This person's prefs dont allow that!"))
|
||||
@@ -193,7 +193,7 @@
|
||||
RTB.reagents.vore_trans_to_mob(TR, transfer_amount, CHEM_INGEST, 1, 0, null)
|
||||
add_attack_logs(user,TR,"Transfered [RTB.reagent_name] from [TG]'s [RTB] to [TR]'s Stomach") //Bonus for staff so they can see if people have abused transfer and done pref breaks
|
||||
if(RTB.count_liquid_for_sprite)
|
||||
update_fullness()
|
||||
handle_belly_update()
|
||||
|
||||
if("Container")
|
||||
if(RTB.reagentid == REAGENT_ID_STOMACID)
|
||||
@@ -215,13 +215,13 @@
|
||||
RTB.reagents.vore_trans_to_con(T, transfer_amount, 1, 0)
|
||||
add_attack_logs(user, T,"Transfered [RTB.reagent_name] from [TG]'s [RTB] to a [T]") //Bonus for staff so they can see if people have abused transfer and done pref breaks
|
||||
if(RTB.count_liquid_for_sprite)
|
||||
update_fullness()
|
||||
handle_belly_update()
|
||||
if("Floor")
|
||||
if(RTB.reagentid == REAGENT_ID_WATER)
|
||||
return
|
||||
var/amount_removed = RTB.reagents.remove_any(transfer_amount)
|
||||
if(RTB.count_liquid_for_sprite)
|
||||
update_fullness()
|
||||
handle_belly_update()
|
||||
var/puddle_amount = round(amount_removed/5)
|
||||
|
||||
if(puddle_amount == 0)
|
||||
|
||||
@@ -628,9 +628,7 @@
|
||||
LAZYSET(SA.prey_excludes, src, world.time)
|
||||
log_and_message_admins("used the OOC escape button to get out of [key_name(B.owner)] ([B.owner ? "<a href='byond://?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[B.owner.x];Y=[B.owner.y];Z=[B.owner.z]'>JMP</a>" : "null"])", src)
|
||||
|
||||
B.owner.update_fullness() //CHOMPEdit - This is run whenever a belly's contents are changed.
|
||||
if(!ishuman(B.owner))
|
||||
B.owner.update_icons()
|
||||
B.owner.handle_belly_update() //CHOMPEdit - This is run whenever a belly's contents are changed.
|
||||
|
||||
//You're in a dogborg!
|
||||
else if(istype(loc, /obj/item/dogborg/sleeper))
|
||||
|
||||
@@ -2788,56 +2788,35 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
||||
return FALSE
|
||||
else
|
||||
host.vore_selected.belly_sprite_to_affect = belly_choice
|
||||
if(isanimal(host))
|
||||
host.update_icon()
|
||||
else
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
. = TRUE
|
||||
if("b_affects_vore_sprites")
|
||||
host.vore_selected.affects_vore_sprites = !host.vore_selected.affects_vore_sprites
|
||||
if(isanimal(host))
|
||||
host.update_icon()
|
||||
else
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
. = TRUE
|
||||
if("b_count_absorbed_prey_for_sprites")
|
||||
host.vore_selected.count_absorbed_prey_for_sprite = !host.vore_selected.count_absorbed_prey_for_sprite
|
||||
if(isanimal(host))
|
||||
host.update_icon()
|
||||
else
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
. = TRUE
|
||||
if("b_absorbed_multiplier")
|
||||
var/absorbed_multiplier_input = tgui_input_number(user, "Set the impact absorbed prey's size have on your vore sprite. 1 means no scaling, 0.5 means absorbed prey count half as much, 2 means absorbed prey count double. (Range from 0.1 - 3)", "Absorbed Multiplier", host.vore_selected.absorbed_multiplier, 3, 0.1, round_value=FALSE)
|
||||
if(!isnull(absorbed_multiplier_input))
|
||||
host.vore_selected.absorbed_multiplier = CLAMP(absorbed_multiplier_input, 0.1, 3)
|
||||
if(isanimal(host))
|
||||
host.update_icon()
|
||||
else
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
. = TRUE
|
||||
if("b_count_items_for_sprites")
|
||||
host.vore_selected.count_items_for_sprite = !host.vore_selected.count_items_for_sprite
|
||||
if(isanimal(host))
|
||||
host.update_icon()
|
||||
else
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
. = TRUE
|
||||
if("b_item_multiplier")
|
||||
var/item_multiplier_input = tgui_input_number(user, "Set the impact items will have on your vore sprite. 1 means a belly with 8 normal-sized items will count as 1 normal sized prey-thing's worth, 0.5 means items count half as much, 2 means items count double. (Range from 0.1 - 10)", "Item Multiplier", host.vore_selected.item_multiplier, 10, 0.1, round_value=FALSE)
|
||||
if(!isnull(item_multiplier_input))
|
||||
host.vore_selected.item_multiplier = CLAMP(item_multiplier_input, 0.1, 10)
|
||||
if(isanimal(host))
|
||||
host.update_icon()
|
||||
else
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
. = TRUE
|
||||
if("b_health_impacts_size")
|
||||
host.vore_selected.health_impacts_size = !host.vore_selected.health_impacts_size
|
||||
if(isanimal(host))
|
||||
host.update_icon()
|
||||
else
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
. = TRUE
|
||||
if("b_resist_animation")
|
||||
host.vore_selected.resist_triggers_animation = !host.vore_selected.resist_triggers_animation
|
||||
@@ -2846,10 +2825,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
||||
var/size_factor_input = tgui_input_number(user, "Set the impact all belly content's collective size has on your vore sprite. 1 means no scaling, 0.5 means content counts half as much, 2 means contents count double. (Range from 0.1 - 3)", "Size Factor", host.vore_selected.size_factor_for_sprite, 3, 0.1, round_value=FALSE)
|
||||
if(!isnull(size_factor_input))
|
||||
host.vore_selected.size_factor_for_sprite = CLAMP(size_factor_input, 0.1, 3)
|
||||
if(isanimal(host))
|
||||
host.update_icon()
|
||||
else
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
. = TRUE
|
||||
if("b_vore_sprite_flags")
|
||||
var/list/menu_list = host.vore_selected.vore_sprite_flag_list.Copy()
|
||||
@@ -2860,19 +2836,13 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
||||
. = TRUE
|
||||
if("b_count_liquid_for_sprites") //CHOMP Addition
|
||||
host.vore_selected.count_liquid_for_sprite = !host.vore_selected.count_liquid_for_sprite
|
||||
if(isanimal(host))
|
||||
host.update_icon()
|
||||
else
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
. = TRUE
|
||||
if("b_liquid_multiplier") //CHOMP Addition
|
||||
var/liquid_multiplier_input = tgui_input_number(user, "Set the impact amount of liquid reagents will have on your vore sprite. 1 means a belly with 100 reagents of fluid will count as 1 normal sized prey-thing's worth, 0.5 means liquid counts half as much, 2 means liquid counts double. (Range from 0.1 - 10)", "Liquid Multiplier", host.vore_selected.liquid_multiplier, 10, 0.1, round_value=FALSE)
|
||||
if(!isnull(liquid_multiplier_input))
|
||||
host.vore_selected.liquid_multiplier = CLAMP(liquid_multiplier_input, 0.1, 10)
|
||||
if(isanimal(host))
|
||||
host.update_icon()
|
||||
else
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
. = TRUE
|
||||
if("b_undergarment_choice")
|
||||
var/datum/category_group/underwear/undergarment_choice = tgui_input_list(user, "Which undergarment do you want to enable when your [lowertext(host.vore_selected.name)] is filled?","Select Undergarment Class", global_underwear.categories)
|
||||
@@ -2880,7 +2850,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
||||
return FALSE
|
||||
else
|
||||
host.vore_selected.undergarment_chosen = undergarment_choice.name
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
. = TRUE
|
||||
if("b_undergarment_if_none")
|
||||
var/datum/category_group/underwear/UWC = global_underwear.categories_by_name[host.vore_selected.undergarment_chosen]
|
||||
@@ -2889,13 +2859,13 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
||||
return FALSE
|
||||
else
|
||||
host.vore_selected.undergarment_if_none = selected_underwear
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
host.updateVRPanel()
|
||||
if("b_undergarment_color")
|
||||
var/newcolor = tgui_color_picker(user, "Choose a color.", "", host.vore_selected.undergarment_color)
|
||||
if(newcolor)
|
||||
host.vore_selected.undergarment_color = newcolor
|
||||
host.update_fullness()
|
||||
host.handle_belly_update()
|
||||
. = TRUE
|
||||
if("b_tail_to_change_to")
|
||||
var/tail_choice = tgui_input_list(user, "Which tail sprite do you want to use when your [lowertext(host.vore_selected.name)] is filled?","Select Sprite", global.tail_styles_list)
|
||||
|
||||
Reference in New Issue
Block a user