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
|
||||
|
||||
@@ -2,4 +2,5 @@
|
||||
// They can also be displaced by all mobs.
|
||||
/mob/living/simple_mob/animal/passive
|
||||
ai_holder_type = /datum/ai_holder/simple_mob/passive
|
||||
mob_bump_flag = 0
|
||||
mob_bump_flag = 0
|
||||
allow_mind_transfer = TRUE //CHOMPAdd
|
||||
|
||||
@@ -3,10 +3,11 @@
|
||||
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,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meat = 10
|
||||
)
|
||||
|
||||
|
||||
can_be_drop_prey = FALSE //CHOMP Add
|
||||
|
||||
@@ -26,8 +26,9 @@
|
||||
meat_amount = 8
|
||||
|
||||
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
|
||||
|
||||
@@ -38,8 +38,9 @@
|
||||
min_n2 = 0
|
||||
max_n2 = 0
|
||||
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.")
|
||||
|
||||
@@ -43,8 +43,9 @@
|
||||
special_attack_min_range = 1
|
||||
special_attack_max_range = 5
|
||||
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"
|
||||
@@ -198,4 +199,4 @@
|
||||
holder.set_dir(moving_to)
|
||||
holder.IMove(get_step(holder,moving_to))
|
||||
wander_delay = base_wander_delay
|
||||
ai_log("handle_wander_movement() : Exited.", AI_LOG_TRACE)
|
||||
ai_log("handle_wander_movement() : Exited.", AI_LOG_TRACE)
|
||||
|
||||
@@ -16,8 +16,9 @@
|
||||
|
||||
say_list_type = /datum/say_list/jelly
|
||||
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
|
||||
|
||||
@@ -32,8 +32,9 @@
|
||||
|
||||
say_list_type = /datum/say_list/lizardman
|
||||
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
|
||||
@@ -41,4 +42,4 @@
|
||||
emote_hear = list("hisses", "yawns", "growls")
|
||||
emote_see = list("licks their maw", "stretches", "yawns", "noodles")
|
||||
say_maybe_target = list("Rawr?")
|
||||
say_got_target = list("GWAR!!")
|
||||
say_got_target = list("GWAR!!")
|
||||
|
||||
@@ -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.
|
||||
@@ -90,13 +92,13 @@
|
||||
var/pounce_chance = CanPounceTarget(user)
|
||||
if(pounce_chance)
|
||||
PounceTarget(user, pounce_chance)
|
||||
|
||||
|
||||
// CHOMPEdit start: More voremob bellies!
|
||||
/mob/living/simple_mob/vore/rabbit/init_vore()
|
||||
if(!voremob_loaded)
|
||||
return
|
||||
.=..()
|
||||
|
||||
|
||||
var/obj/belly/B = vore_selected
|
||||
B.name = "stomach"
|
||||
B.desc = "With a sudden pounce, the rabbit begins swallowing you down with ease! A pink maw and surprisingly unintimidating teeth give way to the thing's pink, tight throat, until you're crammed down inside it's gut! Unless you happen to be drastically smaller than it, the inside of this thing's gut is incredibly cramped, as the fleshy pink walls undulate over your form. It's clearly still able to move with you inside somehow, despite the tiny size of the thing, as gastric sounds flood your ears. You've been bested by a RABBIT of all things!"
|
||||
@@ -105,13 +107,13 @@
|
||||
B.fancy_vore = 1 // CHOMPedit - Fancy Vore Sounds
|
||||
B.belly_fullscreen_color = "#b15aac" // CHOMPedit - Belly Fullscreen
|
||||
B.belly_fullscreen = "anim_belly" // CHOMPedit - Belly Fullscreen
|
||||
|
||||
|
||||
/* // Commented out as unfortunately I suck at writing rabbit guts, given I'm mostly a canine and such pred. :p
|
||||
B.emote_lists[DM_HOLD] = list(
|
||||
"",
|
||||
"",
|
||||
"")
|
||||
|
||||
|
||||
B.emote_lists[DM_DIGEST] = list(
|
||||
"",
|
||||
"",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -53,8 +53,9 @@
|
||||
pixel_y = -16
|
||||
|
||||
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
|
||||
|
||||
@@ -30,8 +30,9 @@
|
||||
default_pixel_x = -16
|
||||
|
||||
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")
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
maxHealth = 150
|
||||
health = 150
|
||||
see_in_dark = 10
|
||||
|
||||
|
||||
//Something something, phoron mutation.
|
||||
min_oxy = 0
|
||||
max_oxy = 0
|
||||
@@ -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!")
|
||||
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