mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 11:13:16 +00:00
Belly option for absorbed auto-transfer (#7009)
This commit is contained in:
@@ -71,6 +71,8 @@
|
|||||||
var/autotransferchance_secondary = 0 // % Chance of prey being autotransferred to secondary transfer location //CHOMPAdd
|
var/autotransferchance_secondary = 0 // % Chance of prey being autotransferred to secondary transfer location //CHOMPAdd
|
||||||
var/autotransferlocation_secondary // Second place to send them //CHOMPAdd
|
var/autotransferlocation_secondary // Second place to send them //CHOMPAdd
|
||||||
var/autotransfer_enabled = FALSE // Player toggle
|
var/autotransfer_enabled = FALSE // Player toggle
|
||||||
|
var/autotransfer_absorbed = FALSE // If belly can auto transfer absorbed creatures //CHOMPAdd
|
||||||
|
var/autotransfer_absorbed_only = FALSE // If belly ONLY auto transfers absorbed creatures //CHOMPAdd
|
||||||
var/autotransfer_min_amount = 0 // Minimum amount of things to pass at once. //CHOMPAdd
|
var/autotransfer_min_amount = 0 // Minimum amount of things to pass at once. //CHOMPAdd
|
||||||
var/autotransfer_max_amount = 0 // Maximum amount of things to pass at once. //CHOMPAdd
|
var/autotransfer_max_amount = 0 // Maximum amount of things to pass at once. //CHOMPAdd
|
||||||
var/tmp/list/autotransfer_queue = list()// Reserve for above things. //CHOMPAdd
|
var/tmp/list/autotransfer_queue = list()// Reserve for above things. //CHOMPAdd
|
||||||
@@ -305,6 +307,8 @@
|
|||||||
"autotransferwait",
|
"autotransferwait",
|
||||||
"autotransferlocation",
|
"autotransferlocation",
|
||||||
"autotransfer_enabled",
|
"autotransfer_enabled",
|
||||||
|
"autotransfer_absorbed",
|
||||||
|
"autotransfer_absorbed_only",
|
||||||
"autotransferchance_secondary",
|
"autotransferchance_secondary",
|
||||||
"autotransferlocation_secondary",
|
"autotransferlocation_secondary",
|
||||||
"autotransfer_min_amount",
|
"autotransfer_min_amount",
|
||||||
|
|||||||
@@ -22,7 +22,8 @@
|
|||||||
if(!M || !M.autotransferable) continue
|
if(!M || !M.autotransferable) continue
|
||||||
if(isliving(M))
|
if(isliving(M))
|
||||||
var/mob/living/L = M
|
var/mob/living/L = M
|
||||||
if(L.absorbed) continue
|
if(!src.autotransfer_absorbed && L.absorbed) continue
|
||||||
|
if(src.autotransfer_absorbed && src.autotransfer_absorbed_only && !L.absorbed) continue
|
||||||
M.belly_cycles++
|
M.belly_cycles++
|
||||||
if(M.belly_cycles < autotransferwait / 60) continue
|
if(M.belly_cycles < autotransferwait / 60) continue
|
||||||
autotransferables += M
|
autotransferables += M
|
||||||
|
|||||||
@@ -328,6 +328,8 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
|||||||
selected_list["autotransfer"]["autotransferlocation_secondary"] = selected.autotransferlocation_secondary //CHOMPAdd
|
selected_list["autotransfer"]["autotransferlocation_secondary"] = selected.autotransferlocation_secondary //CHOMPAdd
|
||||||
selected_list["autotransfer"]["autotransfer_min_amount"] = selected.autotransfer_min_amount
|
selected_list["autotransfer"]["autotransfer_min_amount"] = selected.autotransfer_min_amount
|
||||||
selected_list["autotransfer"]["autotransfer_max_amount"] = selected.autotransfer_max_amount
|
selected_list["autotransfer"]["autotransfer_max_amount"] = selected.autotransfer_max_amount
|
||||||
|
selected_list["autotransfer"]["autotransfer_absorbed"] = selected.autotransfer_absorbed //CHOMPAdd
|
||||||
|
selected_list["autotransfer"]["autotransfer_absorbed_only"] = selected.autotransfer_absorbed_only //CHOMPAdd
|
||||||
|
|
||||||
selected_list["disable_hud"] = selected.disable_hud
|
selected_list["disable_hud"] = selected.disable_hud
|
||||||
selected_list["colorization_enabled"] = selected.colorization_enabled
|
selected_list["colorization_enabled"] = selected.colorization_enabled
|
||||||
@@ -1218,6 +1220,20 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
|||||||
var/new_autotransfer_max_amount = belly_data["autotransfer_max_amount"]
|
var/new_autotransfer_max_amount = belly_data["autotransfer_max_amount"]
|
||||||
new_belly.autotransfer_max_amount = sanitize_integer(new_autotransfer_max_amount, 0, 100, initial(new_belly.autotransfer_max_amount))
|
new_belly.autotransfer_max_amount = sanitize_integer(new_autotransfer_max_amount, 0, 100, initial(new_belly.autotransfer_max_amount))
|
||||||
|
|
||||||
|
if(isnum(belly_data["autotransfer_absorbed"]))
|
||||||
|
var/new_autotransfer_absorbed = belly_data["autotransfer_absorbed"]
|
||||||
|
if(new_autotransfer_absorbed == 0)
|
||||||
|
new_belly.autotransfer_absorbed = FALSE
|
||||||
|
if(new_autotransfer_absorbed == 1)
|
||||||
|
new_belly.autotransfer_absorbed = TRUE
|
||||||
|
|
||||||
|
if(isnum(belly_data["autotransfer_absorbed_only"]))
|
||||||
|
var/new_autotransfer_absorbed_only = belly_data["autotransfer_absorbed_only"]
|
||||||
|
if(new_autotransfer_absorbed_only == 0)
|
||||||
|
new_belly.autotransfer_absorbed_only = FALSE
|
||||||
|
if(new_autotransfer_absorbed_only == 1)
|
||||||
|
new_belly.autotransfer_absorbed_only = TRUE
|
||||||
|
|
||||||
// Liquid Options
|
// Liquid Options
|
||||||
if(isnum(belly_data["show_liquids"]))
|
if(isnum(belly_data["show_liquids"]))
|
||||||
var/new_show_liquids = belly_data["show_liquids"]
|
var/new_show_liquids = belly_data["show_liquids"]
|
||||||
@@ -2741,6 +2757,12 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
|
|||||||
. = TRUE
|
. = TRUE
|
||||||
if("b_autotransfer_enabled")
|
if("b_autotransfer_enabled")
|
||||||
host.vore_selected.autotransfer_enabled = !host.vore_selected.autotransfer_enabled
|
host.vore_selected.autotransfer_enabled = !host.vore_selected.autotransfer_enabled
|
||||||
|
. = TRUE
|
||||||
|
if("b_autotransfer_absorbed")
|
||||||
|
host.vore_selected.autotransfer_absorbed = !host.vore_selected.autotransfer_absorbed
|
||||||
|
. = TRUE
|
||||||
|
if("b_autotransfer_absorbed_only")
|
||||||
|
host.vore_selected.autotransfer_absorbed_only = !host.vore_selected.autotransfer_absorbed_only
|
||||||
. = TRUE //CHOMPedit End
|
. = TRUE //CHOMPedit End
|
||||||
if("b_fullscreen")
|
if("b_fullscreen")
|
||||||
host.vore_selected.belly_fullscreen = params["val"]
|
host.vore_selected.belly_fullscreen = params["val"]
|
||||||
|
|||||||
@@ -246,6 +246,8 @@
|
|||||||
belly_data["autotransferlocation_secondary"] = B.autotransferlocation_secondary
|
belly_data["autotransferlocation_secondary"] = B.autotransferlocation_secondary
|
||||||
belly_data["autotransfer_min_amount"] = B.autotransfer_min_amount
|
belly_data["autotransfer_min_amount"] = B.autotransfer_min_amount
|
||||||
belly_data["autotransfer_max_amount"] = B.autotransfer_max_amount
|
belly_data["autotransfer_max_amount"] = B.autotransfer_max_amount
|
||||||
|
belly_data["autotransfer_absorbed"] = B.autotransfer_absorbed
|
||||||
|
belly_data["autotransfer_absorbed_only"] = B.autotransfer_absorbed_only
|
||||||
|
|
||||||
// Liquid Options
|
// Liquid Options
|
||||||
belly_data["show_liquids"] = B.show_liquids
|
belly_data["show_liquids"] = B.show_liquids
|
||||||
|
|||||||
@@ -1630,6 +1630,42 @@ const VoreSelectedBellyInteractions = (props, context) => {
|
|||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</LabeledList.Item>
|
</LabeledList.Item>
|
||||||
|
<LabeledList.Item label="Auto-Transfer Absorbed Creatures">
|
||||||
|
<Button
|
||||||
|
onClick={() =>
|
||||||
|
act('set_attribute', { attribute: 'b_autotransfer_absorbed' })
|
||||||
|
}
|
||||||
|
icon={
|
||||||
|
autotransfer.autotransfer_absorbed
|
||||||
|
? 'toggle-on'
|
||||||
|
: 'toggle-off'
|
||||||
|
}
|
||||||
|
selected={autotransfer.autotransfer_absorbed}
|
||||||
|
content={autotransfer.autotransfer_absorbed ? 'Yes' : 'No'}
|
||||||
|
/>
|
||||||
|
</LabeledList.Item>
|
||||||
|
{autotransfer.autotransfer_absorbed ? (
|
||||||
|
<LabeledList.Item label="Only Auto-Transfer Absorbed Creatures">
|
||||||
|
<Button
|
||||||
|
onClick={() =>
|
||||||
|
act('set_attribute', {
|
||||||
|
attribute: 'b_autotransfer_absorbed_only',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
icon={
|
||||||
|
autotransfer.autotransfer_absorbed_only
|
||||||
|
? 'toggle-on'
|
||||||
|
: 'toggle-off'
|
||||||
|
}
|
||||||
|
selected={autotransfer.autotransfer_absorbed_only}
|
||||||
|
content={
|
||||||
|
autotransfer.autotransfer_absorbed_only ? 'Yes' : 'No'
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</LabeledList.Item>
|
||||||
|
) : (
|
||||||
|
''
|
||||||
|
)}
|
||||||
</LabeledList>
|
</LabeledList>
|
||||||
) : (
|
) : (
|
||||||
'These options only display while Auto-Transfer is enabled.'
|
'These options only display while Auto-Transfer is enabled.'
|
||||||
|
|||||||
@@ -201,6 +201,8 @@ type Belly = {
|
|||||||
autotransferlocation_secondary: string;
|
autotransferlocation_secondary: string;
|
||||||
autotransfer_min_amount: number;
|
autotransfer_min_amount: number;
|
||||||
autotransfer_max_amount: number;
|
autotransfer_max_amount: number;
|
||||||
|
autotransfer_absorbed: BooleanLike;
|
||||||
|
autotransfer_absorbed_only: BooleanLike;
|
||||||
|
|
||||||
// Liquid Options
|
// Liquid Options
|
||||||
show_liquids: BooleanLike;
|
show_liquids: BooleanLike;
|
||||||
@@ -334,6 +336,8 @@ const generateBellyString = (belly: Belly, index: number) => {
|
|||||||
autotransfer_enabled,
|
autotransfer_enabled,
|
||||||
autotransfer_min_amount,
|
autotransfer_min_amount,
|
||||||
autotransfer_max_amount,
|
autotransfer_max_amount,
|
||||||
|
autotransfer_absorbed,
|
||||||
|
autotransfer_absorbed_only,
|
||||||
|
|
||||||
// Liquid Options
|
// Liquid Options
|
||||||
show_liquids,
|
show_liquids,
|
||||||
@@ -674,6 +678,8 @@ const generateBellyString = (belly: Belly, index: number) => {
|
|||||||
result += '<li class="list-group-item">Auto-Transfer Location: ' + autotransferlocation_secondary + '</li>';
|
result += '<li class="list-group-item">Auto-Transfer Location: ' + autotransferlocation_secondary + '</li>';
|
||||||
result += '<li class="list-group-item">Auto-Transfer Min Amount: ' + autotransfer_min_amount + '</li>';
|
result += '<li class="list-group-item">Auto-Transfer Min Amount: ' + autotransfer_min_amount + '</li>';
|
||||||
result += '<li class="list-group-item">Auto-Transfer Max Amount: ' + autotransfer_max_amount + '</li>';
|
result += '<li class="list-group-item">Auto-Transfer Max Amount: ' + autotransfer_max_amount + '</li>';
|
||||||
|
result += '<li class="list-group-item">Auto-Transfer Absorbed Creatures: ' + (autotransfer_absorbed ? '<span style="color: green;">Yes' : '<span style="color: red;">No') + '</li>';
|
||||||
|
result += '<li class="list-group-item">Only Auto-Transfer Absorbed Creatures: ' + (autotransfer_absorbed_only ? '<span style="color: green;">Yes' : '<span style="color: red;">No') + '</li>';
|
||||||
result += '</ul>';
|
result += '</ul>';
|
||||||
result += '</div></div></div>';
|
result += '</div></div></div>';
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user