mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-27 18:42:44 +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/weapon/disk/nuclear,
|
||||||
/obj/item/clothing/suit/storage/hooded/wintercoat/roiz)
|
/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
|
//Classic Vore sounds
|
||||||
var/global/list/classic_vore_sounds = list(
|
var/global/list/classic_vore_sounds = list(
|
||||||
"Gulp" = 'sound/vore/gulp.ogg',
|
"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>")
|
to_chat(usr,"<span class='warning'>A warning pops up on the device, informing you that [M] appears braindead.</span>")
|
||||||
return
|
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?
|
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>")
|
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
|
return
|
||||||
|
|||||||
@@ -91,6 +91,11 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
|
|||||||
M = new_M
|
M = new_M
|
||||||
|
|
||||||
if(ishuman(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)
|
scan_mob(M, user)
|
||||||
else
|
else
|
||||||
to_chat(user,"<span class='warning'>Not a compatible subject to work with!</span>")
|
to_chat(user,"<span class='warning'>Not a compatible subject to work with!</span>")
|
||||||
|
|||||||
@@ -4926,6 +4926,7 @@
|
|||||||
|
|
||||||
/mob/living/simple_mob/slime
|
/mob/living/simple_mob/slime
|
||||||
composition_reagent = "slimejelly"
|
composition_reagent = "slimejelly"
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/mob/living/simple_mob
|
/mob/living/simple_mob
|
||||||
var/kitchen_tag = "animal" //Used for cooking with animals
|
var/kitchen_tag = "animal" //Used for cooking with animals
|
||||||
|
|||||||
@@ -43,6 +43,7 @@
|
|||||||
var/max_frustration = 0
|
var/max_frustration = 0
|
||||||
|
|
||||||
can_pain_emote = FALSE // CHOMPEdit: Sanity/safety, if bots ever get emotes later, undo this
|
can_pain_emote = FALSE // CHOMPEdit: Sanity/safety, if bots ever get emotes later, undo this
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/mob/living/bot/New()
|
/mob/living/bot/New()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -58,6 +58,8 @@
|
|||||||
var/obj/item/clothing/head/hat = null // Scughat.
|
var/obj/item/clothing/head/hat = null // Scughat.
|
||||||
var/can_wear_hat = TRUE // Some have inbuilt hats
|
var/can_wear_hat = TRUE // Some have inbuilt hats
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
//var/picked_color = FALSE //CHOMPEdit - now on simplemob.
|
//var/picked_color = FALSE //CHOMPEdit - now on simplemob.
|
||||||
|
|
||||||
can_enter_vent_with = list(
|
can_enter_vent_with = list(
|
||||||
|
|||||||
@@ -118,6 +118,7 @@
|
|||||||
)
|
)
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
can_be_drop_prey = FALSE //CHOMP Add
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
species_sounds = "Spider"
|
species_sounds = "Spider"
|
||||||
pain_emote_1p = list("chitter", "click") //CHOMP Add
|
pain_emote_1p = list("chitter", "click") //CHOMP Add
|
||||||
pain_emote_3p = list("chitters", "clicks") //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
|
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.
|
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
|
// Silly stuff. HATS! Give your yeen a hat today <3
|
||||||
|
|||||||
@@ -3,3 +3,4 @@
|
|||||||
/mob/living/simple_mob/animal/passive
|
/mob/living/simple_mob/animal/passive
|
||||||
ai_holder_type = /datum/ai_holder/simple_mob/passive
|
ai_holder_type = /datum/ai_holder/simple_mob/passive
|
||||||
mob_bump_flag = 0
|
mob_bump_flag = 0
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
minbodytemp = 175
|
minbodytemp = 175
|
||||||
cold_resist = 0.75
|
cold_resist = 0.75
|
||||||
heat_resist = -0.5
|
heat_resist = -0.5
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
tame_items = list(
|
tame_items = list(
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/crabmeat = 20,
|
/obj/item/weapon/reagent_containers/food/snacks/crabmeat = 20,
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
say_list_type = /datum/say_list/bear
|
say_list_type = /datum/say_list/bear
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
can_be_drop_prey = FALSE //CHOMP Add
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/datum/say_list/bear
|
/datum/say_list/bear
|
||||||
speak = list("RAWR!","Rawr!","GRR!","Growl!")
|
speak = list("RAWR!","Rawr!","GRR!","Growl!")
|
||||||
|
|||||||
@@ -52,6 +52,8 @@
|
|||||||
var/do_seasons = TRUE
|
var/do_seasons = TRUE
|
||||||
picked_color = FALSE //CHOMPedit: removed "var/" since we already have this defined for all simple_mobs.
|
picked_color = FALSE //CHOMPedit: removed "var/" since we already have this defined for all simple_mobs.
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/////////////////////////////////////// Vore stuff///////////////////////////////////////////
|
/////////////////////////////////////// Vore stuff///////////////////////////////////////////
|
||||||
|
|
||||||
swallowTime = 4 SECONDS
|
swallowTime = 4 SECONDS
|
||||||
|
|||||||
@@ -24,6 +24,8 @@
|
|||||||
|
|
||||||
faction = "vampire"
|
faction = "vampire"
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
// Activate Noms!
|
// Activate Noms!
|
||||||
/mob/living/simple_mob/vore/bat
|
/mob/living/simple_mob/vore/bat
|
||||||
vore_active = 1
|
vore_active = 1
|
||||||
@@ -55,4 +57,3 @@
|
|||||||
B.escapechance = 15
|
B.escapechance = 15
|
||||||
B.selective_preference = DM_DRAIN
|
B.selective_preference = DM_DRAIN
|
||||||
B.escape_stun = 5
|
B.escape_stun = 5
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,8 @@
|
|||||||
var/poison_chance = 10 // Chance for injection to occur.
|
var/poison_chance = 10 // Chance for injection to occur.
|
||||||
var/poison_per_bite = 1 // Amount added per injection.
|
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)
|
/mob/living/simple_mob/vore/bee/Process_Spacemove(var/check_drift = 0)
|
||||||
return 1 //No drifting in space for space bee!
|
return 1 //No drifting in space for space bee!
|
||||||
|
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ I think I covered everything.
|
|||||||
)
|
)
|
||||||
var/eyes
|
var/eyes
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
can_be_drop_prey = FALSE
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Subtypes
|
/// Subtypes
|
||||||
@@ -201,6 +201,7 @@ I think I covered everything.
|
|||||||
maxHealth = 200
|
maxHealth = 200
|
||||||
melee_damage_lower = 20
|
melee_damage_lower = 20
|
||||||
melee_damage_upper = 15
|
melee_damage_upper = 15
|
||||||
|
allow_mind_transfer = TRUE
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Misc define stuff
|
/// Misc define stuff
|
||||||
@@ -237,13 +238,13 @@ I think I covered everything.
|
|||||||
. = ..()
|
. = ..()
|
||||||
if(!riding_datum)
|
if(!riding_datum)
|
||||||
riding_datum = new /datum/riding/simple_mob(src)
|
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/simple_mob/proc/animal_mount)
|
||||||
add_verb(src,/mob/living/proc/toggle_rider_reins) //CHOMPEdit TGPanel
|
add_verb(src,/mob/living/proc/toggle_rider_reins)
|
||||||
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/set_style) //CHOMPEdit TGPanel
|
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/set_style)
|
||||||
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/toggle_glow) //CHOMPEdit TGPanel
|
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/toggle_glow)
|
||||||
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/sprite_toggle) //CHOMPEdit TGPanel
|
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/sprite_toggle)
|
||||||
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/flame_toggle) //CHOMPEdit TGPanel
|
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/flame_toggle)
|
||||||
add_verb(src,/mob/living/simple_mob/vore/bigdragon/proc/special_toggle) //CHOMPEdit TGPanel
|
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_name //Implemented upstream
|
||||||
//verbs |= /mob/living/simple_mob/vore/bigdragon/proc/set_desc //Implemented upstream
|
//verbs |= /mob/living/simple_mob/vore/bigdragon/proc/set_desc //Implemented upstream
|
||||||
faction = "neutral"
|
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)
|
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
|
can_be_drop_prey = FALSE //CHOMP Add
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi
|
/mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi
|
||||||
name = "corrupt corrupt hound"
|
name = "corrupt corrupt hound"
|
||||||
|
|||||||
@@ -59,6 +59,8 @@
|
|||||||
|
|
||||||
ai_holder_type = /datum/ai_holder/simple_mob/melee/deathclaw
|
ai_holder_type = /datum/ai_holder/simple_mob/melee/deathclaw
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
// Activate Noms!
|
// Activate Noms!
|
||||||
/mob/living/simple_mob/vore/aggressive/deathclaw
|
/mob/living/simple_mob/vore/aggressive/deathclaw
|
||||||
vore_active = 1
|
vore_active = 1
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
minbodytemp = 0
|
minbodytemp = 0
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
can_be_drop_prey = FALSE //CHOMP Add
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
// Activate Noms!
|
// Activate Noms!
|
||||||
/mob/living/simple_mob/vore/aggressive/dino
|
/mob/living/simple_mob/vore/aggressive/dino
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
var/prey_ooc_notes
|
var/prey_ooc_notes
|
||||||
var/prey_ooc_likes
|
var/prey_ooc_likes
|
||||||
var/prey_ooc_dislikes
|
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)
|
/mob/living/dominated_brain/New(loc, var/mob/living/pred, preyname, var/mob/living/prey)
|
||||||
. = ..()
|
. = ..()
|
||||||
@@ -199,7 +199,7 @@
|
|||||||
set category = "Abilities"
|
set category = "Abilities"
|
||||||
set name = "Dominate Predator"
|
set name = "Dominate Predator"
|
||||||
set desc = "Connect to and dominate the brain of your 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/pred
|
||||||
var/mob/living/prey = src
|
var/mob/living/prey = src
|
||||||
@@ -224,6 +224,12 @@
|
|||||||
to_chat(prey, "<span class='warning'>You cannot do that in your current state.</span>")
|
to_chat(prey, "<span class='warning'>You cannot do that in your current state.</span>")
|
||||||
return
|
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"))
|
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>")
|
to_chat(prey, "<span class='warning'>Forces beyond your comprehension forbid you from taking control of [pred].</span>")
|
||||||
return
|
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
|
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.")
|
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)]"
|
pred.ckey="DOMPLY[rand(100000,999999)]"
|
||||||
is_mob=1
|
is_mob = TRUE
|
||||||
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
|
|
||||||
else //at this point we end up with a mob
|
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
|
pred.ckey = "DOMMOB[rand(100000,999999)]" //this is cursed, but it does work and is cleaned up after
|
||||||
is_mob=1
|
is_mob = TRUE
|
||||||
//CHOMPEdit end
|
//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>")
|
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
|
//CHOMPEdit start - extra variable for mobs that assist cleanup
|
||||||
if(is_mob == 1)
|
if(is_mob == 1)
|
||||||
pred_brain.was_mob=1
|
pred_brain.was_mob = TRUE
|
||||||
//CHOMPEdit End
|
//CHOMPEdit End
|
||||||
|
|
||||||
/mob/proc/release_predator()
|
/mob/proc/release_predator()
|
||||||
@@ -342,9 +345,9 @@
|
|||||||
if(db.ckey == db.pred_ckey)
|
if(db.ckey == db.pred_ckey)
|
||||||
to_chat(src, "<span class='notice'>You ease off of your control, releasing \the [db].</span>")
|
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>")
|
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
|
if(db.was_mob) //CHOMPEdit start - clean up if the dominated body was a playerless mob
|
||||||
db.pred_ckey=null
|
db.pred_ckey = null
|
||||||
db.ckey=null
|
db.ckey = null
|
||||||
db.restore_control()
|
db.restore_control()
|
||||||
else
|
else
|
||||||
db.restore_control()
|
db.restore_control()
|
||||||
@@ -381,7 +384,7 @@
|
|||||||
var/list/possible_mobs = list()
|
var/list/possible_mobs = list()
|
||||||
for(var/obj/belly/B in src.vore_organs)
|
for(var/obj/belly/B in src.vore_organs)
|
||||||
for(var/mob/living/L in B)
|
for(var/mob/living/L in B)
|
||||||
if(isliving(L) && L.ckey)
|
if(isliving(L) && L.ckey && L.allow_mind_transfer)
|
||||||
possible_mobs |= L
|
possible_mobs |= L
|
||||||
else
|
else
|
||||||
continue
|
continue
|
||||||
@@ -389,7 +392,7 @@
|
|||||||
var/obj/item/weapon/grab/G = src.get_active_hand()
|
var/obj/item/weapon/grab/G = src.get_active_hand()
|
||||||
if(istype(G))
|
if(istype(G))
|
||||||
var/mob/living/L = G.affecting
|
var/mob/living/L = G.affecting
|
||||||
if(istype(L))
|
if(istype(L) && L.allow_mind_transfer)
|
||||||
if(G.state != GRAB_NECK)
|
if(G.state != GRAB_NECK)
|
||||||
possible_mobs |= "~~[L.name]~~ (reinforce grab first)"
|
possible_mobs |= "~~[L.name]~~ (reinforce grab first)"
|
||||||
else
|
else
|
||||||
@@ -406,6 +409,9 @@
|
|||||||
if(!istype(M))
|
if(!istype(M))
|
||||||
to_chat(src, "<span class='warning'>You must have a tighter grip to dominate this creature.</span>")
|
to_chat(src, "<span class='warning'>You must have a tighter grip to dominate this creature.</span>")
|
||||||
return
|
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
|
//CHOMPEdit End
|
||||||
if(tgui_alert(src, "You selected [M] to attempt to dominate. Are you sure?", "Dominate Prey",list("No","Yes")) != "Yes")
|
if(tgui_alert(src, "You selected [M] to attempt to dominate. Are you sure?", "Dominate Prey",list("No","Yes")) != "Yes")
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -50,10 +50,12 @@
|
|||||||
say_list_type = /datum/say_list/fennec
|
say_list_type = /datum/say_list/fennec
|
||||||
ai_holder_type = /datum/ai_holder/simple_mob/passive
|
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_1p = list("yelp", "whine", "bark", "growl")
|
||||||
pain_emote_3p = list("yelps", "whines", "barks", "growls")
|
pain_emote_3p = list("yelps", "whines", "barks", "growls")
|
||||||
species_sounds = "Vulpine"
|
species_sounds = "Vulpine"
|
||||||
|
//CHOMPAdd End
|
||||||
|
|
||||||
// Activate Noms!
|
// Activate Noms!
|
||||||
/mob/living/simple_mob/vore/fennec
|
/mob/living/simple_mob/vore/fennec
|
||||||
|
|||||||
@@ -27,6 +27,8 @@
|
|||||||
say_list_type = /datum/say_list/fennix
|
say_list_type = /datum/say_list/fennix
|
||||||
ai_holder_type = /datum/ai_holder/simple_mob/retaliate/cooperative
|
ai_holder_type = /datum/ai_holder/simple_mob/retaliate/cooperative
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/datum/say_list/fennix
|
/datum/say_list/fennix
|
||||||
speak = list("SQUEL!","SQEL?","Skree.")
|
speak = list("SQUEL!","SQEL?","Skree.")
|
||||||
emote_hear = list("Screeeeecheeeeessss!","Chirrup.")
|
emote_hear = list("Screeeeecheeeeessss!","Chirrup.")
|
||||||
|
|||||||
@@ -45,6 +45,7 @@
|
|||||||
special_attack_cooldown = 100
|
special_attack_cooldown = 100
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
can_be_drop_prey = FALSE //CHOMP Add
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
// Pepe is love, not hate.
|
// Pepe is love, not hate.
|
||||||
/mob/living/simple_mob/vore/aggressive/frog/New()
|
/mob/living/simple_mob/vore/aggressive/frog/New()
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
ai_holder_type = /datum/ai_holder/simple_mob/retaliate
|
ai_holder_type = /datum/ai_holder/simple_mob/retaliate
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
can_be_drop_prey = FALSE //CHOMP Add
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/mob/living/simple_mob/vore/horse/big
|
/mob/living/simple_mob/vore/horse/big
|
||||||
name = "horse"
|
name = "horse"
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
ai_holder_type = /datum/ai_holder/simple_mob/retaliate/jelly
|
ai_holder_type = /datum/ai_holder/simple_mob/retaliate/jelly
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
can_be_drop_prey = FALSE //CHOMP Add
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
min_oxy = 0
|
min_oxy = 0
|
||||||
max_oxy = 0
|
max_oxy = 0
|
||||||
|
|||||||
@@ -34,6 +34,7 @@
|
|||||||
ai_holder_type = /datum/ai_holder/simple_mob/melee
|
ai_holder_type = /datum/ai_holder/simple_mob/melee
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
can_be_drop_prey = FALSE //CHOMP Add
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
|
|
||||||
/datum/say_list/lizardman
|
/datum/say_list/lizardman
|
||||||
|
|||||||
@@ -47,8 +47,9 @@
|
|||||||
var/tamed = 0
|
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!
|
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 Start :c
|
||||||
// CHOMPAdd: :c
|
can_be_drop_prey = FALSE
|
||||||
|
allow_mind_transfer = TRUE
|
||||||
species_sounds = "Canine"
|
species_sounds = "Canine"
|
||||||
pain_emote_1p = list("yelp", "whine", "bark", "growl")
|
pain_emote_1p = list("yelp", "whine", "bark", "growl")
|
||||||
pain_emote_3p = list("yelps", "whines", "barks", "growls")
|
pain_emote_3p = list("yelps", "whines", "barks", "growls")
|
||||||
|
|||||||
@@ -58,6 +58,8 @@
|
|||||||
maxHealth = 100
|
maxHealth = 100
|
||||||
health = 100
|
health = 100
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/mob/living/simple_mob/vore/pakkun/Life()
|
/mob/living/simple_mob/vore/pakkun/Life()
|
||||||
. = ..()
|
. = ..()
|
||||||
if(client)
|
if(client)
|
||||||
|
|||||||
@@ -42,8 +42,9 @@
|
|||||||
say_list_type = /datum/say_list/panther
|
say_list_type = /datum/say_list/panther
|
||||||
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
|
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
// CHOMPAdd Start :c
|
||||||
// CHOMPAdd: :c
|
can_be_drop_prey = FALSE
|
||||||
|
allow_mind_transfer = TRUE
|
||||||
species_sounds = "Feline"
|
species_sounds = "Feline"
|
||||||
pain_emote_1p = list("yowl", "growl")
|
pain_emote_1p = list("yowl", "growl")
|
||||||
pain_emote_3p = list("yowls", "growls")
|
pain_emote_3p = list("yowls", "growls")
|
||||||
|
|||||||
@@ -43,6 +43,8 @@
|
|||||||
vore_default_mode = DM_HOLD
|
vore_default_mode = DM_HOLD
|
||||||
vore_icons = SA_ICON_LIVING
|
vore_icons = SA_ICON_LIVING
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
var/body_color //brown, black and white, leave blank for random
|
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.
|
var/grumpiness = 0 // This determines how grumpy we are. Pet us to increase it, leave us alone to decrease.
|
||||||
|
|||||||
@@ -48,6 +48,8 @@
|
|||||||
"raptorwhite"
|
"raptorwhite"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/mob/living/simple_mob/vore/raptor
|
/mob/living/simple_mob/vore/raptor
|
||||||
|
|
||||||
vore_bump_chance = 25
|
vore_bump_chance = 25
|
||||||
|
|||||||
@@ -71,6 +71,7 @@
|
|||||||
ai_holder_type = /datum/ai_holder/simple_mob/melee/rat
|
ai_holder_type = /datum/ai_holder/simple_mob/melee/rat
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
can_be_drop_prey = FALSE //CHOMP Add
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/mob/living/simple_mob/vore/aggressive/rat/init_vore()
|
/mob/living/simple_mob/vore/aggressive/rat/init_vore()
|
||||||
if(!voremob_loaded)
|
if(!voremob_loaded)
|
||||||
|
|||||||
@@ -32,3 +32,4 @@
|
|||||||
vore_bump_emote = "knocks over and attempts to engulf"
|
vore_bump_emote = "knocks over and attempts to engulf"
|
||||||
|
|
||||||
can_be_drop_prey = FALSE
|
can_be_drop_prey = FALSE
|
||||||
|
allow_mind_transfer = FALSE
|
||||||
|
|||||||
@@ -28,6 +28,8 @@
|
|||||||
say_list_type = /datum/say_list/redpanda
|
say_list_type = /datum/say_list/redpanda
|
||||||
ai_holder_type = /datum/ai_holder/simple_mob/passive
|
ai_holder_type = /datum/ai_holder/simple_mob/passive
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
// Activate Noms!
|
// Activate Noms!
|
||||||
/mob/living/simple_mob/vore/redpanda
|
/mob/living/simple_mob/vore/redpanda
|
||||||
vore_active = 1
|
vore_active = 1
|
||||||
|
|||||||
@@ -56,6 +56,8 @@
|
|||||||
"scel_green"
|
"scel_green"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/mob/living/simple_mob/vore/scel/New()
|
/mob/living/simple_mob/vore/scel/New()
|
||||||
..()
|
..()
|
||||||
if(random_skin)
|
if(random_skin)
|
||||||
|
|||||||
@@ -84,6 +84,8 @@
|
|||||||
ai_holder_type = /datum/ai_holder/simple_mob/melee
|
ai_holder_type = /datum/ai_holder/simple_mob/melee
|
||||||
say_list_type = /datum/say_list/sect_drone
|
say_list_type = /datum/say_list/sect_drone
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/mob/living/simple_mob/vore/sect_drone/Login()
|
/mob/living/simple_mob/vore/sect_drone/Login()
|
||||||
. = ..()
|
. = ..()
|
||||||
add_verb(src,/mob/living/simple_mob/vore/sect_drone/proc/set_abdomen_color) //CHOMPEdit TGPanel
|
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
|
ai_holder_type = /datum/ai_holder/simple_mob/melee
|
||||||
say_list_type = /datum/say_list/sect_queen
|
say_list_type = /datum/say_list/sect_queen
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/mob/living/simple_mob/vore/sect_queen/Login()
|
/mob/living/simple_mob/vore/sect_queen/Login()
|
||||||
. = ..()
|
. = ..()
|
||||||
add_verb(src,/mob/living/simple_mob/vore/sect_queen/proc/set_abdomen_color) //CHOMPEdit TGPanel
|
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
|
ai_holder_type = /datum/ai_holder/simple_mob/melee
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
can_be_drop_prey = FALSE //CHOMP Add
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
// Activate Noms!
|
// Activate Noms!
|
||||||
/mob/living/simple_mob/vore/aggressive/giant_snake
|
/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
|
var/tracked = FALSE
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
can_be_drop_prey = FALSE //CHOMP Add
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
glow_override = TRUE
|
glow_override = TRUE
|
||||||
|
|
||||||
/datum/say_list/solargrub
|
/datum/say_list/solargrub
|
||||||
|
|||||||
@@ -52,6 +52,7 @@
|
|||||||
pickup_pref = client.prefs_vr.pickup_pref
|
pickup_pref = client.prefs_vr.pickup_pref
|
||||||
|
|
||||||
//CHOMP Stuff Start
|
//CHOMP Stuff Start
|
||||||
|
allow_mind_transfer = client.prefs_vr.allow_mind_transfer
|
||||||
phase_vore = client.prefs_vr.phase_vore
|
phase_vore = client.prefs_vr.phase_vore
|
||||||
latejoin_vore = client.prefs_vr.latejoin_vore
|
latejoin_vore = client.prefs_vr.latejoin_vore
|
||||||
latejoin_prey = client.prefs_vr.latejoin_prey
|
latejoin_prey = client.prefs_vr.latejoin_prey
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
has_hands = 1
|
has_hands = 1
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
can_be_drop_prey = FALSE //CHOMP Add
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
// Nomnomn
|
// Nomnomn
|
||||||
/mob/living/simple_mob/vore/weretiger
|
/mob/living/simple_mob/vore/weretiger
|
||||||
|
|||||||
@@ -33,8 +33,9 @@
|
|||||||
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
|
ai_holder_type = /datum/ai_holder/simple_mob/melee/evasive
|
||||||
catalogue_data = list(/datum/category_item/catalogue/fauna/wolf)
|
catalogue_data = list(/datum/category_item/catalogue/fauna/wolf)
|
||||||
|
|
||||||
can_be_drop_prey = FALSE //CHOMP Add
|
// CHOMPAdd Start :c
|
||||||
// CHOMPAdd: :c
|
can_be_drop_prey = FALSE
|
||||||
|
allow_mind_transfer = TRUE
|
||||||
species_sounds = "Canine"
|
species_sounds = "Canine"
|
||||||
pain_emote_1p = list("yelp", "whine", "bark", "growl")
|
pain_emote_1p = list("yelp", "whine", "bark", "growl")
|
||||||
pain_emote_3p = list("yelps", "whines", "barks", "growls")
|
pain_emote_3p = list("yelps", "whines", "barks", "growls")
|
||||||
|
|||||||
@@ -64,5 +64,7 @@
|
|||||||
ai_holder_type = /datum/ai_holder/simple_mob/melee
|
ai_holder_type = /datum/ai_holder/simple_mob/melee
|
||||||
say_list_type = /datum/say_list/xeno_defanged
|
say_list_type = /datum/say_list/xeno_defanged
|
||||||
|
|
||||||
|
allow_mind_transfer = TRUE //CHOMPAdd
|
||||||
|
|
||||||
/datum/say_list/xeno_defanged
|
/datum/say_list/xeno_defanged
|
||||||
say_got_target = list("hisses angrily!")
|
say_got_target = list("hisses angrily!")
|
||||||
@@ -246,6 +246,7 @@
|
|||||||
P.weight_messages = src.weight_messages
|
P.weight_messages = src.weight_messages
|
||||||
|
|
||||||
//CHOMP stuff Start
|
//CHOMP stuff Start
|
||||||
|
P.allow_mind_transfer = src.allow_mind_transfer
|
||||||
P.phase_vore = src.phase_vore
|
P.phase_vore = src.phase_vore
|
||||||
P.noisy_full = src.noisy_full
|
P.noisy_full = src.noisy_full
|
||||||
P.latejoin_vore = src.latejoin_vore
|
P.latejoin_vore = src.latejoin_vore
|
||||||
@@ -315,6 +316,7 @@
|
|||||||
weight_messages = P.weight_messages
|
weight_messages = P.weight_messages
|
||||||
|
|
||||||
//CHOMP stuff
|
//CHOMP stuff
|
||||||
|
allow_mind_transfer = P.allow_mind_transfer
|
||||||
phase_vore = P.phase_vore
|
phase_vore = P.phase_vore
|
||||||
noisy_full = P.noisy_full
|
noisy_full = P.noisy_full
|
||||||
latejoin_vore = P.latejoin_vore
|
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 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>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>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>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>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>"
|
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_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/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/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/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/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)
|
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
|
var/pickup_pref = TRUE
|
||||||
|
|
||||||
//CHOMP stuff
|
//CHOMP stuff
|
||||||
|
var/allow_mind_transfer = FALSE
|
||||||
var/phase_vore = TRUE
|
var/phase_vore = TRUE
|
||||||
var/noisy_full = FALSE
|
var/noisy_full = FALSE
|
||||||
var/receive_reagents = FALSE
|
var/receive_reagents = FALSE
|
||||||
@@ -216,6 +217,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
|||||||
|
|
||||||
|
|
||||||
//CHOMP stuff Start
|
//CHOMP stuff Start
|
||||||
|
allow_mind_transfer = json_from_file["allow_mind_transfer"]
|
||||||
phase_vore = json_from_file["phase_vore"]
|
phase_vore = json_from_file["phase_vore"]
|
||||||
latejoin_vore = json_from_file["latejoin_vore"]
|
latejoin_vore = json_from_file["latejoin_vore"]
|
||||||
latejoin_prey = json_from_file["latejoin_prey"]
|
latejoin_prey = json_from_file["latejoin_prey"]
|
||||||
@@ -322,6 +324,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
|||||||
weight_messages.Add("")
|
weight_messages.Add("")
|
||||||
|
|
||||||
//CHOMP stuff Start
|
//CHOMP stuff Start
|
||||||
|
if(isnull(allow_mind_transfer))
|
||||||
|
allow_mind_transfer = FALSE
|
||||||
if(isnull(phase_vore))
|
if(isnull(phase_vore))
|
||||||
phase_vore = TRUE
|
phase_vore = TRUE
|
||||||
if(isnull(latejoin_vore))
|
if(isnull(latejoin_vore))
|
||||||
@@ -397,6 +401,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
|||||||
"slip_vore" = slip_vore,
|
"slip_vore" = slip_vore,
|
||||||
"stumble_vore" = stumble_vore,
|
"stumble_vore" = stumble_vore,
|
||||||
"throw_vore" = throw_vore,
|
"throw_vore" = throw_vore,
|
||||||
|
"allow_mind_transfer" = allow_mind_transfer, //CHOMPedit
|
||||||
"phase_vore" = phase_vore, //CHOMPedit
|
"phase_vore" = phase_vore, //CHOMPedit
|
||||||
"food_vore" = food_vore,
|
"food_vore" = food_vore,
|
||||||
"nutrition_message_visible" = nutrition_message_visible,
|
"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,
|
"autotransferable" = host.autotransferable,
|
||||||
"noisy_full" = host.noisy_full, //Belching while full
|
"noisy_full" = host.noisy_full, //Belching while full
|
||||||
"selective_active" = host.selective_preference, //Reveal active selective mode in prefs
|
"selective_active" = host.selective_preference, //Reveal active selective mode in prefs
|
||||||
|
"allow_mind_transfer" = host.allow_mind_transfer,
|
||||||
//CHOMPedit end
|
//CHOMPedit end
|
||||||
"drop_vore" = host.drop_vore,
|
"drop_vore" = host.drop_vore,
|
||||||
"slip_vore" = host.slip_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
|
host.client.prefs_vr.strip_pref = host.strip_pref
|
||||||
unsaved_changes = TRUE
|
unsaved_changes = TRUE
|
||||||
return 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
|
//CHOMPEdit End
|
||||||
if("toggle_healbelly")
|
if("toggle_healbelly")
|
||||||
host.permit_healbelly = !host.permit_healbelly
|
host.permit_healbelly = !host.permit_healbelly
|
||||||
|
|||||||
@@ -284,6 +284,7 @@
|
|||||||
new_mob.text_warnings = text_warnings
|
new_mob.text_warnings = text_warnings
|
||||||
|
|
||||||
//CHOMP stuff Start
|
//CHOMP stuff Start
|
||||||
|
new_mob.allow_mind_transfer = allow_mind_transfer
|
||||||
new_mob.phase_vore = phase_vore
|
new_mob.phase_vore = phase_vore
|
||||||
new_mob.latejoin_vore = latejoin_vore
|
new_mob.latejoin_vore = latejoin_vore
|
||||||
new_mob.latejoin_prey = latejoin_prey
|
new_mob.latejoin_prey = latejoin_prey
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
A = H.held_mob
|
A = H.held_mob
|
||||||
if(istype(A, /mob/living))
|
if(istype(A, /mob/living))
|
||||||
var/mob/living/M = A
|
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>")
|
to_chat(usr,"<span class='danger'>The target's mind is too complex to be affected!</span>")
|
||||||
return
|
return
|
||||||
if(usr == M)
|
if(usr == M)
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
/mob/living/simple_mob/vore/alienanimals/teppi/baby
|
/mob/living/simple_mob/vore/alienanimals/teppi/baby
|
||||||
mob_size = MOB_MEDIUM
|
mob_size = MOB_MEDIUM
|
||||||
|
allow_mind_transfer = TRUE
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ export const VoreUserPreferences = (props) => {
|
|||||||
digest_leave_remains,
|
digest_leave_remains,
|
||||||
pickup_mechanics_active,
|
pickup_mechanics_active,
|
||||||
allow_spontaneous_tf,
|
allow_spontaneous_tf,
|
||||||
|
allow_mind_transfer,
|
||||||
eating_privacy_global,
|
eating_privacy_global,
|
||||||
strip_mechanics_active,
|
strip_mechanics_active,
|
||||||
autotransferable,
|
autotransferable,
|
||||||
@@ -411,6 +412,21 @@ export const VoreUserPreferences = (props) => {
|
|||||||
disabled: 'Spontaneous TF Disabled',
|
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: {
|
examine_nutrition: {
|
||||||
action: 'toggle_nutrition_ex',
|
action: 'toggle_nutrition_ex',
|
||||||
test: nutrition_message_visible,
|
test: nutrition_message_visible,
|
||||||
@@ -663,12 +679,18 @@ export const VoreUserPreferences = (props) => {
|
|||||||
tooltipPosition="right"
|
tooltipPosition="right"
|
||||||
/>
|
/>
|
||||||
</Flex.Item>
|
</Flex.Item>
|
||||||
<Flex.Item basis="33%">
|
<Flex.Item basis="33%" grow={1}>
|
||||||
<VoreUserPreferenceItem
|
<VoreUserPreferenceItem
|
||||||
spec={preferences.spontaneous_tf}
|
spec={preferences.spontaneous_tf}
|
||||||
tooltipPosition="top"
|
tooltipPosition="top"
|
||||||
/>
|
/>
|
||||||
</Flex.Item>
|
</Flex.Item>
|
||||||
|
<Flex.Item basis="33%">
|
||||||
|
<VoreUserPreferenceItem
|
||||||
|
spec={preferences.mind_transfer}
|
||||||
|
tooltipPosition="top"
|
||||||
|
/>
|
||||||
|
</Flex.Item>
|
||||||
</Flex>
|
</Flex>
|
||||||
</Section>
|
</Section>
|
||||||
<Section
|
<Section
|
||||||
|
|||||||
Reference in New Issue
Block a user