mind transfer pref (#8258)

This commit is contained in:
Kashargul
2024-04-19 16:07:17 +02:00
committed by GitHub
parent 11eacbeddb
commit 1bc280b6f5
50 changed files with 159 additions and 93 deletions

View File

@@ -61,50 +61,6 @@ var/global/list/item_vore_blacklist = list(
/obj/item/weapon/disk/nuclear,
/obj/item/clothing/suit/storage/hooded/wintercoat/roiz)
//CHOMPEdit start - Global Whitelist mobs for takeover (mind binder/domination)
var/global/list/mob_takeover_whitelist = list(
/mob/living/carbon,
/mob/living/silicon,
/mob/living/simple_mob/animal/sif,
/mob/living/simple_mob/animal/passive,
/mob/living/simple_mob/slime,
/mob/living/bot,
/mob/living/simple_mob/vore/horse,
/mob/living/simple_mob/vore/wolf,
/mob/living/simple_mob/animal/giant_spider,
/mob/living/simple_mob/vore/pakkun,
/mob/living/simple_mob/vore/otie,
/mob/living/simple_mob/vore/scel,
/mob/living/simple_mob/vore/aggressive/corrupthound,
/mob/living/simple_mob/vore/rabbit,
/mob/living/simple_mob/vore/redpanda,
/mob/living/simple_mob/vore/fennec,
/mob/living/simple_mob/vore/fennix,
/mob/living/simple_mob/vore/bee,
/mob/living/simple_mob/animal/space/bear,
/mob/living/simple_mob/vore/aggressive/dino,
/mob/living/simple_mob/vore/aggressive/lizardman,
/mob/living/simple_mob/vore/aggressive/frog,
/mob/living/simple_mob/vore/aggressive/rat,
/mob/living/simple_mob/vore/jelly,
/mob/living/simple_mob/animal/hyena,
/mob/living/simple_mob/vore/solargrub,
/mob/living/simple_mob/vore/sect_queen,
/mob/living/simple_mob/vore/sect_drone,
/mob/living/simple_mob/vore/xeno_defanged,
/mob/living/simple_mob/vore/aggressive/panther,
/mob/living/simple_mob/vore/aggressive/giant_snake,
/mob/living/simple_mob/vore/aggressive/deathclaw,
/mob/living/simple_mob/vore/weretiger,
/mob/living/simple_mob/vore/bigdragon/friendly/maintpred,
/mob/living/simple_mob/vore/alienanimals/catslug,
/mob/living/simple_mob/vore/alienanimals/teppi,
/mob/living/simple_mob/vore/squirrel/big,
/mob/living/simple_mob/vore/raptor,
/mob/living/simple_mob/vore/bat,
)
//CHOMPEdit end
//Classic Vore sounds
var/global/list/classic_vore_sounds = list(
"Gulp" = 'sound/vore/gulp.ogg',

View File

@@ -25,6 +25,12 @@
to_chat(usr,"<span class='warning'>A warning pops up on the device, informing you that [M] appears braindead.</span>")
return
//CHOMPAdd Start
if(!M.allow_mind_transfer)
to_chat(usr,"<span class='danger'>The target's mind is too complex to be affected!</span>")
return
//CHOMPAdd End
if(M.stat == DEAD) //Are they dead?
to_chat(usr,"<span class='warning'>A warning pops up on the device, informing you that [M] is dead, and, as such, the mind transfer can not be done.</span>")
return

View File

@@ -91,6 +91,11 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
M = new_M
if(ishuman(M))
//CHOMPAdd Start
if(!M.allow_mind_transfer)
to_chat(usr,"<span class='danger'>The target's mind is too complex to be affected!</span>")
return
//CHOMPAdd End
scan_mob(M, user)
else
to_chat(user,"<span class='warning'>Not a compatible subject to work with!</span>")

View File

@@ -4926,6 +4926,7 @@
/mob/living/simple_mob/slime
composition_reagent = "slimejelly"
allow_mind_transfer = TRUE //CHOMPAdd
/mob/living/simple_mob
var/kitchen_tag = "animal" //Used for cooking with animals

View File

@@ -43,6 +43,7 @@
var/max_frustration = 0
can_pain_emote = FALSE // CHOMPEdit: Sanity/safety, if bots ever get emotes later, undo this
allow_mind_transfer = TRUE //CHOMPAdd
/mob/living/bot/New()
..()

View File

@@ -58,6 +58,8 @@
var/obj/item/clothing/head/hat = null // Scughat.
var/can_wear_hat = TRUE // Some have inbuilt hats
allow_mind_transfer = TRUE //CHOMPAdd
//var/picked_color = FALSE //CHOMPEdit - now on simplemob.
can_enter_vent_with = list(

View File

@@ -118,6 +118,7 @@
)
can_be_drop_prey = FALSE //CHOMP Add
allow_mind_transfer = TRUE //CHOMPAdd
species_sounds = "Spider"
pain_emote_1p = list("chitter", "click") //CHOMP Add
pain_emote_3p = list("chitters", "clicks") //CHOMP Add

View File

@@ -82,6 +82,8 @@ They're also cool, and Rykka/Nyria wrote this uwu
say_list_type = /datum/say_list/hyena
allow_mind_transfer = TRUE //CHOMPAdd
var/obj/item/clothing/head/hat = null // The hat the yeen is wearing when initialized, var will update with the chosen hat.
// Silly stuff. HATS! Give your yeen a hat today <3

View File

@@ -3,3 +3,4 @@
/mob/living/simple_mob/animal/passive
ai_holder_type = /datum/ai_holder/simple_mob/passive
mob_bump_flag = 0
allow_mind_transfer = TRUE //CHOMPAdd

View File

@@ -3,6 +3,7 @@
minbodytemp = 175
cold_resist = 0.75
heat_resist = -0.5
allow_mind_transfer = TRUE //CHOMPAdd
tame_items = list(
/obj/item/weapon/reagent_containers/food/snacks/crabmeat = 20,

View File

@@ -28,6 +28,7 @@
say_list_type = /datum/say_list/bear
can_be_drop_prey = FALSE //CHOMP Add
allow_mind_transfer = TRUE //CHOMPAdd
/datum/say_list/bear
speak = list("RAWR!","Rawr!","GRR!","Growl!")

View File

@@ -52,6 +52,8 @@
var/do_seasons = TRUE
picked_color = FALSE //CHOMPedit: removed "var/" since we already have this defined for all simple_mobs.
allow_mind_transfer = TRUE //CHOMPAdd
/////////////////////////////////////// Vore stuff///////////////////////////////////////////
swallowTime = 4 SECONDS

View File

@@ -24,6 +24,8 @@
faction = "vampire"
allow_mind_transfer = TRUE //CHOMPAdd
// Activate Noms!
/mob/living/simple_mob/vore/bat
vore_active = 1
@@ -55,4 +57,3 @@
B.escapechance = 15
B.selective_preference = DM_DRAIN
B.escape_stun = 5

View File

@@ -44,6 +44,8 @@
var/poison_chance = 10 // Chance for injection to occur.
var/poison_per_bite = 1 // Amount added per injection.
allow_mind_transfer = TRUE //CHOMPAdd
/mob/living/simple_mob/vore/bee/Process_Spacemove(var/check_drift = 0)
return 1 //No drifting in space for space bee!

View File

@@ -178,7 +178,7 @@ I think I covered everything.
)
var/eyes
can_be_drop_prey = FALSE //CHOMP Add
can_be_drop_prey = FALSE
///
/// Subtypes
@@ -201,6 +201,7 @@ I think I covered everything.
maxHealth = 200
melee_damage_lower = 20
melee_damage_upper = 15
allow_mind_transfer = TRUE
///
/// Misc define stuff
@@ -237,13 +238,13 @@ I think I covered everything.
. = ..()
if(!riding_datum)
riding_datum = new /datum/riding/simple_mob(src)
add_verb(src,/mob/living/simple_mob/proc/animal_mount) //CHOMPEdit TGPanel
add_verb(src,/mob/living/proc/toggle_rider_reins) //CHOMPEdit TGPanel
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/set_style) //CHOMPEdit TGPanel
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/toggle_glow) //CHOMPEdit TGPanel
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/sprite_toggle) //CHOMPEdit TGPanel
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/flame_toggle) //CHOMPEdit TGPanel
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/special_toggle) //CHOMPEdit TGPanel
add_verb(src,/mob/living/simple_mob/proc/animal_mount)
add_verb(src,/mob/living/proc/toggle_rider_reins)
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/set_style)
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/toggle_glow)
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/sprite_toggle)
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/flame_toggle)
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/special_toggle)
//verbs |= /mob/living/simple_mob/vore/bigdragon/proc/set_name //Implemented upstream
//verbs |= /mob/living/simple_mob/vore/bigdragon/proc/set_desc //Implemented upstream
faction = "neutral"

View File

@@ -74,6 +74,7 @@
loot_list = list(/obj/item/borg/upgrade/basic/syndicate = 6, /obj/item/borg/upgrade/basic/vtec = 6, /obj/item/weapon/material/knife/ritual = 6, /obj/item/weapon/disk/nifsoft/compliance = 6)
can_be_drop_prey = FALSE //CHOMP Add
allow_mind_transfer = TRUE //CHOMPAdd
/mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi
name = "corrupt corrupt hound"

View File

@@ -59,6 +59,8 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee/deathclaw
allow_mind_transfer = TRUE //CHOMPAdd
// Activate Noms!
/mob/living/simple_mob/vore/aggressive/deathclaw
vore_active = 1

View File

@@ -40,6 +40,7 @@
minbodytemp = 0
can_be_drop_prey = FALSE //CHOMP Add
allow_mind_transfer = TRUE //CHOMPAdd
// Activate Noms!
/mob/living/simple_mob/vore/aggressive/dino

View File

@@ -26,7 +26,7 @@
var/prey_ooc_notes
var/prey_ooc_likes
var/prey_ooc_dislikes
var/was_mob=0 //CHOMPAdd - tracks if the dominated being was a mob
var/was_mob = FALSE //CHOMPAdd - tracks if the dominated being was a mob
/mob/living/dominated_brain/New(loc, var/mob/living/pred, preyname, var/mob/living/prey)
. = ..()
@@ -199,7 +199,7 @@
set category = "Abilities"
set name = "Dominate Predator"
set desc = "Connect to and dominate the brain of your predator."
var/is_mob=0 ////CHOMPAdd - tracks if character is a non player mob
var/is_mob = FALSE //CHOMPAdd - tracks if character is a non player mob
var/mob/living/pred
var/mob/living/prey = src
@@ -224,6 +224,12 @@
to_chat(prey, "<span class='warning'>You cannot do that in your current state.</span>")
return
//CHOMPAdd Start Mind transfer pref
if(!pred.allow_mind_transfer)
to_chat(prey, "<span class='warning'>[pred] is unable to be dominated.</span>")
return
//CHOMPAdd End
if(isrobot(pred) && jobban_isbanned(prey, "Cyborg"))
to_chat(prey, "<span class='warning'>Forces beyond your comprehension forbid you from taking control of [pred].</span>")
return
@@ -253,13 +259,10 @@
else if(!pred.client && ("original_player" in pred.vars)) //check if the body belonged to a player and give proper log about it while preparing it
log_and_message_admins("[key_name_admin(prey)] is taking control over [pred] while they are out of their body.")
pred.ckey="DOMPLY[rand(100000,999999)]"
is_mob=1
else if(!is_type_in_list(pred, mob_takeover_whitelist)) //check if the dominated mob is not on the whitelist
to_chat(prey, "<span class='warning'>[pred] is unable to be dominated.</span>")
return
is_mob = TRUE
else //at this point we end up with a mob
pred.ckey="DOMMOB[rand(100000,999999)]" //this is cursed, but it does work and is cleaned up after
is_mob=1
pred.ckey = "DOMMOB[rand(100000,999999)]" //this is cursed, but it does work and is cleaned up after
is_mob = TRUE
//CHOMPEdit end
to_chat(pred, "<span class='warning'>You can feel the will of another overwriting your own, control of your body being sapped away from you...</span>")
@@ -328,7 +331,7 @@
//CHOMPEdit start - extra variable for mobs that assist cleanup
if(is_mob == 1)
pred_brain.was_mob=1
pred_brain.was_mob = TRUE
//CHOMPEdit End
/mob/proc/release_predator()
@@ -342,9 +345,9 @@
if(db.ckey == db.pred_ckey)
to_chat(src, "<span class='notice'>You ease off of your control, releasing \the [db].</span>")
to_chat(db, "<span class='notice'>You feel the alien presence fade, and restore control of your body to you of their own will...</span>")
if(db.was_mob==1) //CHOMPEdit start - clean up if the dominated body was a playerless mob
db.pred_ckey=null
db.ckey=null
if(db.was_mob) //CHOMPEdit start - clean up if the dominated body was a playerless mob
db.pred_ckey = null
db.ckey = null
db.restore_control()
else
db.restore_control()
@@ -381,7 +384,7 @@
var/list/possible_mobs = list()
for(var/obj/belly/B in src.vore_organs)
for(var/mob/living/L in B)
if(isliving(L) && L.ckey)
if(isliving(L) && L.ckey && L.allow_mind_transfer)
possible_mobs |= L
else
continue
@@ -389,7 +392,7 @@
var/obj/item/weapon/grab/G = src.get_active_hand()
if(istype(G))
var/mob/living/L = G.affecting
if(istype(L))
if(istype(L) && L.allow_mind_transfer)
if(G.state != GRAB_NECK)
possible_mobs |= "~~[L.name]~~ (reinforce grab first)"
else
@@ -406,6 +409,9 @@
if(!istype(M))
to_chat(src, "<span class='warning'>You must have a tighter grip to dominate this creature.</span>")
return
if(!M.allow_mind_transfer) //check if the dominated mob pref is enabled
to_chat(src, "<span class='warning'>[M] is unable to be dominated.</span>")
return
//CHOMPEdit End
if(tgui_alert(src, "You selected [M] to attempt to dominate. Are you sure?", "Dominate Prey",list("No","Yes")) != "Yes")
return

View File

@@ -50,10 +50,12 @@
say_list_type = /datum/say_list/fennec
ai_holder_type = /datum/ai_holder/simple_mob/passive
// CHOMPAdd: :c
// CHOMPAdd: Start :c
allow_mind_transfer = TRUE
pain_emote_1p = list("yelp", "whine", "bark", "growl")
pain_emote_3p = list("yelps", "whines", "barks", "growls")
species_sounds = "Vulpine"
//CHOMPAdd End
// Activate Noms!
/mob/living/simple_mob/vore/fennec

View File

@@ -27,6 +27,8 @@
say_list_type = /datum/say_list/fennix
ai_holder_type = /datum/ai_holder/simple_mob/retaliate/cooperative
allow_mind_transfer = TRUE //CHOMPAdd
/datum/say_list/fennix
speak = list("SQUEL!","SQEL?","Skree.")
emote_hear = list("Screeeeecheeeeessss!","Chirrup.")

View File

@@ -45,6 +45,7 @@
special_attack_cooldown = 100
can_be_drop_prey = FALSE //CHOMP Add
allow_mind_transfer = TRUE //CHOMPAdd
// Pepe is love, not hate.
/mob/living/simple_mob/vore/aggressive/frog/New()

View File

@@ -36,6 +36,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/retaliate
can_be_drop_prey = FALSE //CHOMP Add
allow_mind_transfer = TRUE //CHOMPAdd
/mob/living/simple_mob/vore/horse/big
name = "horse"

View File

@@ -18,6 +18,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/retaliate/jelly
can_be_drop_prey = FALSE //CHOMP Add
allow_mind_transfer = TRUE //CHOMPAdd
min_oxy = 0
max_oxy = 0

View File

@@ -34,6 +34,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee
can_be_drop_prey = FALSE //CHOMP Add
allow_mind_transfer = TRUE //CHOMPAdd
/datum/say_list/lizardman

View File

@@ -47,8 +47,9 @@
var/tamed = 0
var/tame_chance = 50 //It's a fiddy-fiddy default you may get a buddy pal or you may get mauled and ate. Win-win!
can_be_drop_prey = FALSE //CHOMP Add
// CHOMPAdd: :c
// CHOMPAdd Start :c
can_be_drop_prey = FALSE
allow_mind_transfer = TRUE
species_sounds = "Canine"
pain_emote_1p = list("yelp", "whine", "bark", "growl")
pain_emote_3p = list("yelps", "whines", "barks", "growls")

View File

@@ -58,6 +58,8 @@
maxHealth = 100
health = 100
allow_mind_transfer = TRUE //CHOMPAdd
/mob/living/simple_mob/vore/pakkun/Life()
. = ..()
if(client)

View File

@@ -42,8 +42,9 @@
say_list_type = /datum/say_list/panther
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
can_be_drop_prey = FALSE //CHOMP Add
// CHOMPAdd: :c
// CHOMPAdd Start :c
can_be_drop_prey = FALSE
allow_mind_transfer = TRUE
species_sounds = "Feline"
pain_emote_1p = list("yowl", "growl")
pain_emote_3p = list("yowls", "growls")

View File

@@ -43,6 +43,8 @@
vore_default_mode = DM_HOLD
vore_icons = SA_ICON_LIVING
allow_mind_transfer = TRUE //CHOMPAdd
var/body_color //brown, black and white, leave blank for random
var/grumpiness = 0 // This determines how grumpy we are. Pet us to increase it, leave us alone to decrease.

View File

@@ -48,6 +48,8 @@
"raptorwhite"
)
allow_mind_transfer = TRUE //CHOMPAdd
/mob/living/simple_mob/vore/raptor
vore_bump_chance = 25

View File

@@ -71,6 +71,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee/rat
can_be_drop_prey = FALSE //CHOMP Add
allow_mind_transfer = TRUE //CHOMPAdd
/mob/living/simple_mob/vore/aggressive/rat/init_vore()
if(!voremob_loaded)

View File

@@ -32,3 +32,4 @@
vore_bump_emote = "knocks over and attempts to engulf"
can_be_drop_prey = FALSE
allow_mind_transfer = FALSE

View File

@@ -28,6 +28,8 @@
say_list_type = /datum/say_list/redpanda
ai_holder_type = /datum/ai_holder/simple_mob/passive
allow_mind_transfer = TRUE //CHOMPAdd
// Activate Noms!
/mob/living/simple_mob/vore/redpanda
vore_active = 1

View File

@@ -56,6 +56,8 @@
"scel_green"
)
allow_mind_transfer = TRUE //CHOMPAdd
/mob/living/simple_mob/vore/scel/New()
..()
if(random_skin)

View File

@@ -84,6 +84,8 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee
say_list_type = /datum/say_list/sect_drone
allow_mind_transfer = TRUE //CHOMPAdd
/mob/living/simple_mob/vore/sect_drone/Login()
. = ..()
add_verb(src,/mob/living/simple_mob/vore/sect_drone/proc/set_abdomen_color) //CHOMPEdit TGPanel

View File

@@ -85,6 +85,8 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee
say_list_type = /datum/say_list/sect_queen
allow_mind_transfer = TRUE //CHOMPAdd
/mob/living/simple_mob/vore/sect_queen/Login()
. = ..()
add_verb(src,/mob/living/simple_mob/vore/sect_queen/proc/set_abdomen_color) //CHOMPEdit TGPanel

View File

@@ -55,6 +55,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee
can_be_drop_prey = FALSE //CHOMP Add
allow_mind_transfer = TRUE //CHOMPAdd
// Activate Noms!
/mob/living/simple_mob/vore/aggressive/giant_snake

View File

@@ -62,6 +62,7 @@ var/global/moth_amount = 0 // Chompstation Addition, Rykka waz here. *pawstamp*
var/tracked = FALSE
can_be_drop_prey = FALSE //CHOMP Add
allow_mind_transfer = TRUE //CHOMPAdd
glow_override = TRUE
/datum/say_list/solargrub

View File

@@ -52,6 +52,7 @@
pickup_pref = client.prefs_vr.pickup_pref
//CHOMP Stuff Start
allow_mind_transfer = client.prefs_vr.allow_mind_transfer
phase_vore = client.prefs_vr.phase_vore
latejoin_vore = client.prefs_vr.latejoin_vore
latejoin_prey = client.prefs_vr.latejoin_prey

View File

@@ -32,6 +32,7 @@
has_hands = 1
can_be_drop_prey = FALSE //CHOMP Add
allow_mind_transfer = TRUE //CHOMPAdd
// Nomnomn
/mob/living/simple_mob/vore/weretiger

View File

@@ -33,8 +33,9 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
catalogue_data = list(/datum/category_item/catalogue/fauna/wolf)
can_be_drop_prey = FALSE //CHOMP Add
// CHOMPAdd: :c
// CHOMPAdd Start :c
can_be_drop_prey = FALSE
allow_mind_transfer = TRUE
species_sounds = "Canine"
pain_emote_1p = list("yelp", "whine", "bark", "growl")
pain_emote_3p = list("yelps", "whines", "barks", "growls")

View File

@@ -64,5 +64,7 @@
ai_holder_type = /datum/ai_holder/simple_mob/melee
say_list_type = /datum/say_list/xeno_defanged
allow_mind_transfer = TRUE //CHOMPAdd
/datum/say_list/xeno_defanged
say_got_target = list("hisses angrily!")

View File

@@ -246,6 +246,7 @@
P.weight_messages = src.weight_messages
//CHOMP stuff Start
P.allow_mind_transfer = src.allow_mind_transfer
P.phase_vore = src.phase_vore
P.noisy_full = src.noisy_full
P.latejoin_vore = src.latejoin_vore
@@ -315,6 +316,7 @@
weight_messages = P.weight_messages
//CHOMP stuff
allow_mind_transfer = P.allow_mind_transfer
phase_vore = P.phase_vore
noisy_full = P.noisy_full
latejoin_vore = P.latejoin_vore
@@ -1208,6 +1210,7 @@
dispvoreprefs += "<b>Can be picked up:</b> [pickup_pref ? "<font color='green'>Allowed</font>" : "<font color='red'>Disallowed</font>"]<br>"
dispvoreprefs += "<b>Can be resized:</b> [resizable ? "<font color='green'>Allowed</font>" : "<font color='red'>Disallowed</font>"]<br>"
dispvoreprefs += "<b>Spontaneous transformation:</b> [allow_spontaneous_tf ? "<font color='green'>Enabled</font>" : "<font color='red'>Disabled</font>"]<br>"
dispvoreprefs += "<b>Mind transfer:</b> [allow_mind_transfer ? "<font color='green'>Allowed</font>" : "<font color='red'>Disallowed</font>"]<br>"
dispvoreprefs += "<b>Feedable:</b> [feeding ? "<font color='green'>Enabled</font>" : "<font color='red'>Disabled</font>"]<br>"
dispvoreprefs += "<b>Receiving liquids:</b> [receive_reagents ? "<font color='green'>Enabled</font>" : "<font color='red'>Disabled</font>"]<br>"
dispvoreprefs += "<b>Giving liquids:</b> [give_reagents ? "<font color='green'>Enabled</font>" : "<font color='red'>Disabled</font>"]<br>"

View File

@@ -5,6 +5,7 @@
var/latejoin_vore = FALSE //If enabled, latejoiners can spawn into this, assuming they have a client
var/latejoin_prey = FALSE //If enabled, latejoiners can spawn ontop of and instantly eat the victim
var/noisy_full = FALSE //Enables belching when a mob has overeaten
var/allow_mind_transfer = FALSE //Allows ones mind to be taken over or swapped
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/no_latejoin_vore_warning = FALSE //Auto accepts pred spwan notifications (roundbased / saveable)

View File

@@ -67,6 +67,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
var/pickup_pref = TRUE
//CHOMP stuff
var/allow_mind_transfer = FALSE
var/phase_vore = TRUE
var/noisy_full = FALSE
var/receive_reagents = FALSE
@@ -216,6 +217,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
//CHOMP stuff Start
allow_mind_transfer = json_from_file["allow_mind_transfer"]
phase_vore = json_from_file["phase_vore"]
latejoin_vore = json_from_file["latejoin_vore"]
latejoin_prey = json_from_file["latejoin_prey"]
@@ -322,6 +324,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
weight_messages.Add("")
//CHOMP stuff Start
if(isnull(allow_mind_transfer))
allow_mind_transfer = FALSE
if(isnull(phase_vore))
phase_vore = TRUE
if(isnull(latejoin_vore))
@@ -397,6 +401,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
"slip_vore" = slip_vore,
"stumble_vore" = stumble_vore,
"throw_vore" = throw_vore,
"allow_mind_transfer" = allow_mind_transfer, //CHOMPedit
"phase_vore" = phase_vore, //CHOMPedit
"food_vore" = food_vore,
"nutrition_message_visible" = nutrition_message_visible,

View File

@@ -529,6 +529,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
"autotransferable" = host.autotransferable,
"noisy_full" = host.noisy_full, //Belching while full
"selective_active" = host.selective_preference, //Reveal active selective mode in prefs
"allow_mind_transfer" = host.allow_mind_transfer,
//CHOMPedit end
"drop_vore" = host.drop_vore,
"slip_vore" = host.slip_vore,
@@ -1877,6 +1878,12 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono",
host.client.prefs_vr.strip_pref = host.strip_pref
unsaved_changes = TRUE
return TRUE
if("toggle_allow_mind_transfer")
host.allow_mind_transfer = !host.allow_mind_transfer
if(host.client.prefs_vr)
host.client.prefs_vr.allow_mind_transfer = host.allow_mind_transfer
unsaved_changes = TRUE
return TRUE
//CHOMPEdit End
if("toggle_healbelly")
host.permit_healbelly = !host.permit_healbelly

View File

@@ -284,6 +284,7 @@
new_mob.text_warnings = text_warnings
//CHOMP stuff Start
new_mob.allow_mind_transfer = allow_mind_transfer
new_mob.phase_vore = phase_vore
new_mob.latejoin_vore = latejoin_vore
new_mob.latejoin_prey = latejoin_prey

View File

@@ -43,7 +43,7 @@
A = H.held_mob
if(istype(A, /mob/living))
var/mob/living/M = A
if(!is_type_in_list(A, mob_takeover_whitelist))
if(!M.allow_mind_transfer)
to_chat(usr,"<span class='danger'>The target's mind is too complex to be affected!</span>")
return
if(usr == M)

View File

@@ -1,2 +1,3 @@
/mob/living/simple_mob/vore/alienanimals/teppi/baby
mob_size = MOB_MEDIUM
allow_mind_transfer = TRUE

View File

@@ -40,6 +40,7 @@ export const VoreUserPreferences = (props) => {
digest_leave_remains,
pickup_mechanics_active,
allow_spontaneous_tf,
allow_mind_transfer,
eating_privacy_global,
strip_mechanics_active,
autotransferable,
@@ -411,6 +412,21 @@ export const VoreUserPreferences = (props) => {
disabled: 'Spontaneous TF Disabled',
},
},
mind_transfer: {
action: 'toggle_allow_mind_transfer',
test: allow_mind_transfer,
tooltip: {
main:
'This toggle is for mind transfer interactions' +
' as a victim, such as mind-binder or dominate pred/prey.',
enable: 'Click here to allow your mind being taken or swapped.',
disable: 'Click here to disallow having your mind taken or swapped.',
},
content: {
enabled: 'Mind Transfer Enabled',
disabled: 'Mind Transfer Disabled',
},
},
examine_nutrition: {
action: 'toggle_nutrition_ex',
test: nutrition_message_visible,
@@ -663,12 +679,18 @@ export const VoreUserPreferences = (props) => {
tooltipPosition="right"
/>
</Flex.Item>
<Flex.Item basis="33%">
<Flex.Item basis="33%" grow={1}>
<VoreUserPreferenceItem
spec={preferences.spontaneous_tf}
tooltipPosition="top"
/>
</Flex.Item>
<Flex.Item basis="33%">
<VoreUserPreferenceItem
spec={preferences.mind_transfer}
tooltipPosition="top"
/>
</Flex.Item>
</Flex>
</Section>
<Section