mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-07-18 11:44:05 +01:00
[MIRROR] Allows to limit liquid generation on low nutri / power (#12324)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com> Co-authored-by: vorestation-ci[bot] <199609141+vorestation-ci[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
3f125bf100
commit
4cefc154b2
@@ -1003,6 +1003,10 @@
|
||||
if(new_show_liquids == 1)
|
||||
new_belly.show_liquids = TRUE
|
||||
|
||||
if(isnum(belly_data["reagent_gen_cost_limit"]))
|
||||
var/new_reagent_gen_cost_limit = belly_data["reagent_gen_cost_limit"]
|
||||
new_belly.reagent_gen_cost_limit = sanitize_integer(new_reagent_gen_cost_limit, 0, 100, initial(new_belly.reagent_gen_cost_limit))
|
||||
|
||||
if(isnum(belly_data["reagentbellymode"]))
|
||||
var/new_reagentbellymode = belly_data["reagentbellymode"]
|
||||
if(new_reagentbellymode == 0)
|
||||
|
||||
@@ -162,6 +162,7 @@
|
||||
var/belly_fullscreen_alpha = 255
|
||||
|
||||
// Liquid belly vars
|
||||
var/reagent_gen_cost_limit = 10 //Our lower percentage limit of nutrition / charge until which we produce liquids
|
||||
var/reagentbellymode = FALSE // Belly has abilities to make liquids from digested/absorbed/drained prey and/or nutrition
|
||||
var/reagent_mode_flags = 0
|
||||
|
||||
@@ -378,6 +379,7 @@
|
||||
"colorization_enabled",
|
||||
"show_liquids",
|
||||
"reagentbellymode",
|
||||
"reagent_gen_cost_limit",
|
||||
"liquid_fullness1_messages",
|
||||
"liquid_fullness2_messages",
|
||||
"liquid_fullness3_messages",
|
||||
@@ -1357,6 +1359,7 @@
|
||||
dupe.belly_fullscreen_color4 = belly_fullscreen_color4
|
||||
dupe.belly_fullscreen_alpha = belly_fullscreen_alpha
|
||||
dupe.show_liquids = show_liquids
|
||||
dupe.reagent_gen_cost_limit = reagent_gen_cost_limit
|
||||
dupe.reagentbellymode = reagentbellymode
|
||||
dupe.vorefootsteps_sounds = vorefootsteps_sounds
|
||||
dupe.liquid_fullness1_messages = liquid_fullness1_messages
|
||||
|
||||
@@ -5,14 +5,16 @@
|
||||
if(isrobot(owner))
|
||||
var/mob/living/silicon/robot/R = owner
|
||||
if(R.cell && R.cell.charge >= gen_cost*10 && gen_interval >= gen_time)
|
||||
GenerateBellyReagents()
|
||||
if(R.cell.percent() >= reagent_gen_cost_limit)
|
||||
GenerateBellyReagents()
|
||||
gen_interval = 0
|
||||
return
|
||||
gen_interval++
|
||||
return
|
||||
|
||||
if(owner.nutrition >= gen_cost && gen_interval >= gen_time)
|
||||
GenerateBellyReagents()
|
||||
if(owner.nutrition_percent() >= reagent_gen_cost_limit)
|
||||
GenerateBellyReagents()
|
||||
gen_interval = 0
|
||||
return
|
||||
gen_interval++
|
||||
|
||||
@@ -439,6 +439,7 @@
|
||||
// Liquid Options
|
||||
belly_data["show_liquids"] = B.show_liquids
|
||||
belly_data["reagentbellymode"] = B.reagentbellymode
|
||||
belly_data["reagent_gen_cost_limit"] = B.reagent_gen_cost_limit
|
||||
belly_data["reagent_chosen"] = B.reagent_chosen
|
||||
belly_data["reagent_name"] = B.reagent_name
|
||||
belly_data["reagent_transfer_verb"] = B.reagent_transfer_verb
|
||||
|
||||
@@ -14,6 +14,12 @@
|
||||
host.vore_selected.show_liquids = 0
|
||||
to_chat(user,span_warning("Your [lowertext(host.vore_selected.name)] no longer has liquid options."))
|
||||
. = TRUE
|
||||
if("b_liq_reagent_gen_cost_limit")
|
||||
var/new_limit = text2num(params["val"])
|
||||
if(!isnum(new_limit))
|
||||
return FALSE
|
||||
host.vore_selected.reagent_gen_cost_limit = CLAMP(new_limit, 0, 100)
|
||||
. = TRUE
|
||||
if("b_liq_reagent_gen")
|
||||
if(!host.vore_selected.reagentbellymode) //liquid container adjustments and interactions.
|
||||
host.vore_selected.reagentbellymode = 1
|
||||
|
||||
@@ -368,9 +368,18 @@
|
||||
selected_list["contents"] = selected_contents
|
||||
|
||||
if(LIQUID_OPTIONS_TAB)
|
||||
var/liq_gen_resources = 0
|
||||
if(isrobot(owner))
|
||||
var/mob/living/silicon/robot/robot_owner = owner
|
||||
if(robot_owner.cell)
|
||||
liq_gen_resources = robot_owner.cell.percent()
|
||||
else if(isliving(owner))
|
||||
var/mob/living/living_owner = owner
|
||||
liq_gen_resources = living_owner.nutrition_percent()
|
||||
// liquid belly options
|
||||
var/list/belly_liquid_data = list(
|
||||
"show_liq" = selected.show_liquids,
|
||||
"liq_gen_resources" = liq_gen_resources,
|
||||
"liq_interacts" = compile_liquid_interact_data(selected)
|
||||
)
|
||||
selected_list["belly_liquid_data"] = belly_liquid_data
|
||||
|
||||
@@ -717,6 +717,7 @@
|
||||
"liq_reagent_transfer_verb" = selected.reagent_transfer_verb,
|
||||
"liq_reagent_nutri_rate" = selected.gen_time,
|
||||
"liq_reagent_capacity" = selected.custom_max_volume,
|
||||
"liq_gen_cost_limit" = selected.reagent_gen_cost_limit,
|
||||
"liq_sloshing" = selected.vorefootsteps_sounds,
|
||||
"liq_reagent_addons" = liquid_addon_list,
|
||||
"custom_reagentcolor" = (selected.custom_reagentcolor ? selected.custom_reagentcolor : selected.reagentcolor),
|
||||
|
||||
Reference in New Issue
Block a user