mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
mind transfer pref (#8258)
This commit is contained in:
@@ -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',
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
..()
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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!")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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!
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.")
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -58,6 +58,8 @@
|
||||
maxHealth = 100
|
||||
health = 100
|
||||
|
||||
allow_mind_transfer = TRUE //CHOMPAdd
|
||||
|
||||
/mob/living/simple_mob/vore/pakkun/Life()
|
||||
. = ..()
|
||||
if(client)
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -48,6 +48,8 @@
|
||||
"raptorwhite"
|
||||
)
|
||||
|
||||
allow_mind_transfer = TRUE //CHOMPAdd
|
||||
|
||||
/mob/living/simple_mob/vore/raptor
|
||||
|
||||
vore_bump_chance = 25
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -32,3 +32,4 @@
|
||||
vore_bump_emote = "knocks over and attempts to engulf"
|
||||
|
||||
can_be_drop_prey = FALSE
|
||||
allow_mind_transfer = FALSE
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -56,6 +56,8 @@
|
||||
"scel_green"
|
||||
)
|
||||
|
||||
allow_mind_transfer = TRUE //CHOMPAdd
|
||||
|
||||
/mob/living/simple_mob/vore/scel/New()
|
||||
..()
|
||||
if(random_skin)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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!")
|
||||
@@ -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>"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
/mob/living/simple_mob/vore/alienanimals/teppi/baby
|
||||
mob_size = MOB_MEDIUM
|
||||
allow_mind_transfer = TRUE
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user