mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
[MIRROR] Add AFK pred/prey and contaminate worn items preferences (#12044)
Co-authored-by: TheGreatKitsune <88862343+TheGreatKitsune@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
2465e088c7
commit
f10636966f
@@ -20,6 +20,8 @@
|
||||
\
|
||||
target.can_be_drop_prey = source.can_be_drop_prey; \
|
||||
target.can_be_drop_pred = source.can_be_drop_pred; \
|
||||
target.can_be_afk_prey = source.can_be_afk_prey; \
|
||||
target.can_be_afk_pred = source.can_be_afk_pred; \
|
||||
target.throw_vore = source.throw_vore; \
|
||||
target.food_vore = source.food_vore; \
|
||||
target.drop_vore = source.drop_vore; \
|
||||
@@ -56,6 +58,7 @@
|
||||
\
|
||||
target.autotransferable = source.autotransferable; \
|
||||
target.strip_pref = source.strip_pref; \
|
||||
target.contaminate_pref = source.contaminate_pref; \
|
||||
target.vore_sprite_multiply = source.vore_sprite_multiply; \
|
||||
target.vore_sprite_color = source.vore_sprite_color; \
|
||||
target.belly_rub_target = source.belly_rub_target; \
|
||||
|
||||
@@ -17,6 +17,10 @@
|
||||
return FALSE
|
||||
if(!pred.vore_selected)
|
||||
return FALSE
|
||||
if(!pred.can_be_afk_pred && (!pred.client || pred.away_from_keyboard))
|
||||
return FALSE
|
||||
if(!prey.can_be_afk_prey && (!prey.client || prey.away_from_keyboard))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/// Basic spont vore check.
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
feeding = client.prefs_vr.feeding
|
||||
can_be_drop_prey = client.prefs_vr.can_be_drop_prey
|
||||
can_be_drop_pred = client.prefs_vr.can_be_drop_pred
|
||||
can_be_afk_prey = client.prefs_vr.can_be_afk_prey
|
||||
can_be_afk_pred = client.prefs_vr.can_be_afk_pred
|
||||
throw_vore = client.prefs_vr.throw_vore
|
||||
food_vore = client.prefs_vr.food_vore
|
||||
consume_liquid_belly = client.prefs_vr.consume_liquid_belly
|
||||
@@ -65,6 +67,7 @@
|
||||
autotransferable = client.prefs_vr.autotransferable
|
||||
noisy_full = client.prefs_vr.noisy_full
|
||||
strip_pref = client.prefs_vr.strip_pref
|
||||
contaminate_pref = client.prefs_vr.contaminate_pref
|
||||
vore_sprite_color = client.prefs_vr.vore_sprite_color
|
||||
vore_sprite_multiply = client.prefs_vr.vore_sprite_multiply
|
||||
no_latejoin_vore_warning = client.prefs_vr.no_latejoin_vore_warning
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
H.forced_psay = FALSE
|
||||
|
||||
//Worn items flag
|
||||
if(mode_flags & DM_FLAG_AFFECTWORN)
|
||||
if((mode_flags & DM_FLAG_AFFECTWORN) && H.contaminate_pref)
|
||||
for(var/slot in slots)
|
||||
var/obj/item/I = H.get_equipped_item(slot = slot)
|
||||
if(I && I.canremove)
|
||||
|
||||
@@ -1059,10 +1059,13 @@
|
||||
dat += span_bold("Affected by temperature:") + " [allowtemp ? span_green("Enabled") : span_red("Disabled")]<br>"
|
||||
dat += span_bold("Autotransferable:") + " [autotransferable ? span_green("Enabled") : span_red("Disabled")]<br>"
|
||||
dat += span_bold("Can be stripped:") + " [strip_pref ? span_green("Allowed") : span_red("Disallowed")]<br>"
|
||||
dat += span_bold("Worn items can be contaminated:") + " [contaminate_pref ? span_green("Allowed") : span_red("Disallowed")]<br>"
|
||||
dat += span_bold("Applying reagents:") + " [apply_reagents ? span_green("Allowed") : span_red("Disallowed")]<br>"
|
||||
dat += span_bold("Leaves Remains:") + " [digest_leave_remains ? span_green("Enabled") : span_red("Disabled")]<br>"
|
||||
dat += span_bold("Spontaneous vore prey:") + " [can_be_drop_prey ? span_green("Enabled") : span_red("Disabled")]<br>"
|
||||
dat += span_bold("Spontaneous vore prey:") + " [can_be_drop_prey ? span_green("Enabled") : span_red("Disabled")]<br>"
|
||||
dat += span_bold("AFK/Disconnected vore prey:") + " [can_be_afk_prey ? span_green("Enabled") : span_red("Disabled")]<br>"
|
||||
dat += span_bold("Spontaneous vore pred:") + " [can_be_drop_pred ? span_green("Enabled") : span_red("Disabled")]<br>"
|
||||
dat += span_bold("AFK/Disconnected vore pred:") + " [can_be_afk_pred ? span_green("Enabled") : span_red("Disabled")]<br>"
|
||||
if(can_be_drop_prey || can_be_drop_pred)
|
||||
dat += span_bold("Drop Vore:") + " [drop_vore ? span_green("Enabled") : span_red("Disabled")]<br>"
|
||||
dat += span_bold("Slip Vore:") + " [slip_vore ? span_green("Enabled") : span_red("Disabled")]<br>"
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
var/digest_pain = TRUE
|
||||
var/can_be_drop_prey = FALSE
|
||||
var/can_be_drop_pred = FALSE
|
||||
var/can_be_afk_prey = TRUE
|
||||
var/can_be_afk_pred = TRUE
|
||||
var/allow_spontaneous_tf = FALSE // Obviously.
|
||||
var/show_vore_fx = TRUE // Show belly fullscreens
|
||||
var/selective_preference = DM_DEFAULT // Preference for selective bellymode
|
||||
@@ -80,6 +82,7 @@
|
||||
var/noisy_full = FALSE //Enables belching when a mob has overeaten
|
||||
var/phase_vore = TRUE //Enabled by default since you have to enable drop pred/prey to do this anyway
|
||||
var/strip_pref = TRUE //Enables the ability for worn items to be stripped
|
||||
var/contaminate_pref = TRUE //Enables the ability for worn items to be digested/contaminated.
|
||||
var/no_latejoin_vore_warning = FALSE //Auto accepts pred spwan notifications (roundbased / saveable)
|
||||
var/no_latejoin_prey_warning = FALSE //Auto accepts prey spawn notifications (roundbased / saveable)
|
||||
var/no_latejoin_vore_warning_time = 15 //Time until accepting prey
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
"show_vore_fx" = owner.show_vore_fx,
|
||||
"can_be_drop_prey" = owner.can_be_drop_prey,
|
||||
"can_be_drop_pred" = owner.can_be_drop_pred,
|
||||
"can_be_afk_prey" = owner.can_be_afk_prey,
|
||||
"can_be_afk_pred" = owner.can_be_afk_pred,
|
||||
"latejoin_vore" = owner.latejoin_vore,
|
||||
"latejoin_prey" = owner.latejoin_prey,
|
||||
"no_spawnpred_warning" = owner.no_latejoin_vore_warning,
|
||||
@@ -24,6 +26,7 @@
|
||||
"step_mechanics_active" = owner.step_mechanics_pref,
|
||||
"pickup_mechanics_active" = owner.pickup_pref,
|
||||
"strip_mechanics_active" = owner.strip_pref,
|
||||
"contaminate_worn_items" = owner.contaminate_pref,
|
||||
"noisy" = owner.noisy,
|
||||
//liquid belly prefs
|
||||
"liq_rec" = owner.receive_reagents,
|
||||
|
||||
@@ -186,4 +186,16 @@
|
||||
if(prey.absorbed || pred.absorbed)
|
||||
to_chat(user, span_vwarning("They aren't aren't in a state to be devoured."))
|
||||
return FALSE
|
||||
if(!pred.can_be_afk_pred && (!pred.client || pred.away_from_keyboard))
|
||||
if(user == pred)
|
||||
to_chat(user, span_vwarning("You aren't set as being able to pred while AFK"))
|
||||
return FALSE
|
||||
to_chat(user, span_vnotice("The predator prefers not to be fed while AFK"))
|
||||
return FALSE
|
||||
if(!prey.can_be_afk_prey && (!prey.client || prey.away_from_keyboard))
|
||||
if(user == prey)
|
||||
to_chat(user, span_vwarning("You aren't set as being able to prey while AFK"))
|
||||
return FALSE
|
||||
to_chat(user, span_vnotice("The prey prefers not to be eaten while AFK"))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
var/feeding = TRUE
|
||||
var/can_be_drop_prey = FALSE
|
||||
var/can_be_drop_pred = FALSE
|
||||
var/can_be_afk_prey = FALSE
|
||||
var/can_be_afk_pred = FALSE
|
||||
var/allow_spontaneous_tf = FALSE
|
||||
var/digest_leave_remains = FALSE
|
||||
var/allowmobvore = TRUE
|
||||
@@ -78,6 +80,7 @@
|
||||
var/latejoin_prey = FALSE
|
||||
var/autotransferable = TRUE
|
||||
var/strip_pref = FALSE
|
||||
var/contaminate_pref = TRUE
|
||||
var/no_latejoin_vore_warning = FALSE // Only load, when... no_latejoin_vore_warning_persists
|
||||
var/no_latejoin_prey_warning = FALSE // Only load, when... no_latejoin_vore_warning_persists
|
||||
var/no_latejoin_vore_warning_time = 15 // Only load, when... no_latejoin_vore_warning_persists
|
||||
@@ -203,6 +206,8 @@
|
||||
show_vore_fx = json_from_file["show_vore_fx"]
|
||||
can_be_drop_prey = json_from_file["can_be_drop_prey"]
|
||||
can_be_drop_pred = json_from_file["can_be_drop_pred"]
|
||||
can_be_afk_prey = json_from_file["can_be_afk_prey"]
|
||||
can_be_afk_pred = json_from_file["can_be_afk_pred"]
|
||||
allow_spontaneous_tf = json_from_file["allow_spontaneous_tf"]
|
||||
step_mechanics_pref = json_from_file["step_mechanics_pref"]
|
||||
pickup_pref = json_from_file["pickup_pref"]
|
||||
@@ -234,6 +239,7 @@
|
||||
autotransferable = json_from_file["autotransferable"]
|
||||
vore_sprite_multiply = json_from_file["vore_sprite_multiply"]
|
||||
strip_pref = json_from_file["strip_pref"]
|
||||
contaminate_pref = json_from_file["contaminate_pref"]
|
||||
|
||||
no_latejoin_vore_warning_persists = json_from_file["no_latejoin_vore_warning_persists"]
|
||||
if(no_latejoin_vore_warning_persists)
|
||||
@@ -278,6 +284,10 @@
|
||||
can_be_drop_prey = FALSE
|
||||
if(isnull(can_be_drop_pred))
|
||||
can_be_drop_pred = FALSE
|
||||
if(isnull(can_be_afk_prey))
|
||||
can_be_afk_prey = FALSE
|
||||
if(isnull(can_be_afk_pred))
|
||||
can_be_afk_pred = FALSE
|
||||
if(isnull(allow_spontaneous_tf))
|
||||
allow_spontaneous_tf = FALSE
|
||||
if(isnull(step_mechanics_pref))
|
||||
@@ -363,6 +373,8 @@
|
||||
vore_sprite_multiply = list("stomach" = FALSE, "taur belly" = FALSE)
|
||||
if(isnull(strip_pref))
|
||||
strip_pref = TRUE
|
||||
if(isnull(contaminate_pref))
|
||||
contaminate_pref = TRUE
|
||||
if(isnull(no_latejoin_vore_warning))
|
||||
no_latejoin_vore_warning = FALSE
|
||||
if(isnull(no_latejoin_prey_warning))
|
||||
@@ -410,6 +422,8 @@
|
||||
"show_vore_fx" = show_vore_fx,
|
||||
"can_be_drop_prey" = can_be_drop_prey,
|
||||
"can_be_drop_pred" = can_be_drop_pred,
|
||||
"can_be_afk_prey" = can_be_afk_prey,
|
||||
"can_be_afk_pred" = can_be_afk_pred,
|
||||
"latejoin_vore" = latejoin_vore,
|
||||
"latejoin_prey" = latejoin_prey,
|
||||
"allow_spontaneous_tf" = allow_spontaneous_tf,
|
||||
@@ -437,6 +451,7 @@
|
||||
"allow_mimicry" = allow_mimicry,
|
||||
"vore_sprite_multiply" = vore_sprite_multiply,
|
||||
"strip_pref" = strip_pref,
|
||||
"contaminate_pref" = contaminate_pref,
|
||||
"no_latejoin_vore_warning" = no_latejoin_vore_warning,
|
||||
"no_latejoin_prey_warning" = no_latejoin_prey_warning,
|
||||
"no_latejoin_vore_warning_time" = no_latejoin_vore_warning_time,
|
||||
|
||||
@@ -392,6 +392,18 @@
|
||||
host.client.prefs_vr.can_be_drop_prey = host.can_be_drop_prey
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_afk_pred")
|
||||
host.can_be_afk_pred = !host.can_be_afk_pred
|
||||
if(host.client.prefs_vr)
|
||||
host.client.prefs_vr.can_be_afk_pred = host.can_be_afk_pred
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_afk_prey")
|
||||
host.can_be_afk_prey = !host.can_be_afk_prey
|
||||
if(host.client.prefs_vr)
|
||||
host.client.prefs_vr.can_be_afk_prey = host.can_be_afk_prey
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_latejoin_vore")
|
||||
host.latejoin_vore = !host.latejoin_vore
|
||||
if(host.client.prefs_vr)
|
||||
@@ -494,6 +506,12 @@
|
||||
host.client.prefs_vr.strip_pref = host.strip_pref
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_contaminate_pref")
|
||||
host.contaminate_pref = !host.contaminate_pref
|
||||
if(host.client.prefs_vr)
|
||||
host.client.prefs_vr.contaminate_pref = host.contaminate_pref
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_allow_mind_transfer")
|
||||
host.allow_mind_transfer = !host.allow_mind_transfer
|
||||
if(host.client.prefs_vr)
|
||||
|
||||
Reference in New Issue
Block a user