mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-22 19:47:47 +01:00
Kitchen Sink P2 TGUI Prefs (#17579)
* Kitchen Sink V2 * tsx * Update vorestation.dme * Update 01_basic.dm * Update 01_basic.dm * Deletes the character directory * F & M tags * Flexible * Update misc.dm * ICP * more fixes * missing sounds
This commit is contained in:
@@ -15,9 +15,16 @@
|
||||
var/pred_ooc_notes
|
||||
var/pred_ooc_likes
|
||||
var/pred_ooc_dislikes
|
||||
var/pred_ooc_favs
|
||||
var/pred_ooc_maybes
|
||||
var/pred_ooc_style
|
||||
var/prey_ooc_favs
|
||||
var/prey_ooc_maybes
|
||||
var/prey_ooc_style
|
||||
var/prey_ooc_notes
|
||||
var/prey_ooc_likes
|
||||
var/prey_ooc_dislikes
|
||||
var/was_mob
|
||||
|
||||
/mob/living/dominated_brain/Initialize(mapload, var/mob/living/pred, preyname, var/mob/living/prey)
|
||||
prey_name = preyname
|
||||
@@ -112,6 +119,9 @@
|
||||
prey_goes_here.ooc_notes = prey_ooc_notes
|
||||
prey_goes_here.ooc_notes_likes = prey_ooc_likes
|
||||
prey_goes_here.ooc_notes_dislikes = prey_ooc_dislikes
|
||||
prey_goes_here.ooc_notes_favs = prey_ooc_favs
|
||||
prey_goes_here.ooc_notes_maybes = prey_ooc_maybes
|
||||
prey_goes_here.ooc_notes_style = prey_ooc_style
|
||||
add_verb(prey_goes_here, /mob/living/dominated_brain/proc/cease_this_foolishness)
|
||||
|
||||
|
||||
@@ -128,6 +138,9 @@
|
||||
prey_goes_here.ooc_notes = prey_ooc_notes
|
||||
prey_goes_here.ooc_notes_likes = prey_ooc_likes
|
||||
prey_goes_here.ooc_notes_dislikes = prey_ooc_dislikes
|
||||
prey_goes_here.ooc_notes_favs = prey_ooc_favs
|
||||
prey_goes_here.ooc_notes_maybes = prey_ooc_maybes
|
||||
prey_goes_here.ooc_notes_style = prey_ooc_style
|
||||
|
||||
///////////////////
|
||||
|
||||
@@ -140,6 +153,9 @@
|
||||
pred_body.ooc_notes = pred_ooc_notes
|
||||
pred_body.ooc_notes_likes = pred_ooc_likes
|
||||
pred_body.ooc_notes_dislikes = pred_ooc_dislikes
|
||||
pred_body.ooc_notes_favs = pred_ooc_favs
|
||||
pred_body.ooc_notes_maybes = pred_ooc_maybes
|
||||
pred_body.ooc_notes_style = pred_ooc_style
|
||||
log_and_message_admins("is now controlled by [pred_body.ckey]. They were restored to control through prey domination, and had been controlled by [prey_ckey].", pred_body)
|
||||
pred_body.absorb_langs()
|
||||
pred_body.prey_controlled = FALSE
|
||||
@@ -173,6 +189,7 @@
|
||||
set category = "Abilities.Vore"
|
||||
set name = "Dominate Predator"
|
||||
set desc = "Connect to and dominate the brain of your predator."
|
||||
var/is_mob = FALSE // - tracks if character is a non player mob TODO: Add
|
||||
|
||||
var/mob/living/pred
|
||||
var/mob/living/prey = src
|
||||
@@ -196,9 +213,6 @@
|
||||
to_chat(prey, span_warning("[pred] is unable to be dominated."))
|
||||
return
|
||||
|
||||
if(!pred.ckey)
|
||||
to_chat(prey, span_notice("\The [pred] isn't able to be dominated."))
|
||||
return
|
||||
if(isrobot(pred) && jobban_isbanned(prey, JOB_CYBORG))
|
||||
to_chat(prey, span_warning("Forces beyond your comprehension forbid you from taking control of [pred]."))
|
||||
return
|
||||
@@ -212,11 +226,21 @@
|
||||
return
|
||||
to_chat(prey, span_notice("You attempt to exert your control over \the [pred]..."))
|
||||
log_admin("[key_name_admin(prey)] attempted to take over [pred].")
|
||||
if(tgui_alert(pred, "\The [prey] has elected to attempt to take control of you. Is this something you will allow to happen?", "Allow Prey Domination",list("No","Yes")) != "Yes")
|
||||
to_chat(prey, span_warning("\The [pred] declined your request for control."))
|
||||
return
|
||||
if(tgui_alert(pred, "Are you sure? If you should decide to revoke this, you will have the ability to do so in your 'Abilities' tab.", "Allow Prey Domination",list("No","Yes")) != "Yes")
|
||||
return
|
||||
|
||||
if(pred.ckey) //check if body is assigned to another player currently
|
||||
if(tgui_alert(pred, "\The [prey] has elected to attempt to take control of you. Is this something you will allow to happen?", "Allow Prey Domination",list("No","Yes")) != "Yes")
|
||||
to_chat(prey, span_warning("\The [pred] declined your request for control."))
|
||||
return
|
||||
if(tgui_alert(pred, "Are you sure? If you should decide to revoke this, you will have the ability to do so in your 'Abilities' tab.", "Allow Prey Domination",list("No","Yes")) != "Yes")
|
||||
return
|
||||
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 = 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 = TRUE
|
||||
|
||||
to_chat(pred, span_warning("You can feel the will of another overwriting your own, control of your body being sapped away from you..."))
|
||||
to_chat(prey, span_warning("You can feel the will of your host diminishing as you exert your will over them!"))
|
||||
if(!do_after(prey, 10 SECONDS, exclusive = TRUE))
|
||||
@@ -241,6 +265,12 @@
|
||||
pred_brain.prey_ooc_notes = prey.ooc_notes
|
||||
pred_brain.prey_ooc_likes = prey.ooc_notes_likes
|
||||
pred_brain.prey_ooc_dislikes = prey.ooc_notes_dislikes
|
||||
pred_brain.prey_ooc_favs = prey.ooc_notes_favs
|
||||
pred_brain.prey_ooc_maybes = prey.ooc_notes_maybes
|
||||
pred_brain.prey_ooc_style = prey.ooc_notes_style
|
||||
pred_brain.pred_ooc_favs = pred.ooc_notes_favs
|
||||
pred_brain.pred_ooc_maybes = pred.ooc_notes_maybes
|
||||
pred_brain.pred_ooc_style = pred.ooc_notes_style
|
||||
pred_brain.pred_ooc_notes = pred.ooc_notes
|
||||
pred_brain.pred_ooc_likes = pred.ooc_notes_likes
|
||||
pred_brain.pred_ooc_dislikes = pred.ooc_notes_dislikes
|
||||
@@ -256,6 +286,9 @@
|
||||
pred.ooc_notes = pred_brain.prey_ooc_notes
|
||||
pred.ooc_notes_likes = pred_brain.prey_ooc_likes
|
||||
pred.ooc_notes_dislikes = pred_brain.prey_ooc_dislikes
|
||||
pred.ooc_notes_favs = pred_brain.prey_ooc_favs
|
||||
pred.ooc_notes_maybes = pred_brain.prey_ooc_maybes
|
||||
pred.ooc_notes_style = pred_brain.prey_ooc_style
|
||||
|
||||
add_verb(pred, /mob/proc/release_predator)
|
||||
|
||||
@@ -268,6 +301,9 @@
|
||||
if(delete_source)
|
||||
qdel(prey)
|
||||
|
||||
if(is_mob == 1)
|
||||
pred_brain.was_mob = TRUE
|
||||
|
||||
/mob/proc/release_predator()
|
||||
set category = "Abilities.Vore"
|
||||
set name = "Restore Control"
|
||||
@@ -279,7 +315,12 @@
|
||||
if(db.ckey == db.pred_ckey)
|
||||
to_chat(src, span_notice("You ease off of your control, releasing \the [db]."))
|
||||
to_chat(db, span_notice("You feel the alien presence fade, and restore control of your body to you of their own will..."))
|
||||
db.restore_control()
|
||||
if(db.was_mob)
|
||||
db.pred_ckey = null
|
||||
db.ckey = null
|
||||
db.restore_control()
|
||||
else
|
||||
db.restore_control()
|
||||
return
|
||||
else
|
||||
continue
|
||||
@@ -317,6 +358,14 @@
|
||||
possible_mobs |= L
|
||||
else
|
||||
continue
|
||||
var/obj/item/grab/G = src.get_active_hand()
|
||||
if(istype(G))
|
||||
var/mob/living/L = G.affecting
|
||||
if(istype(L) && L.allow_mind_transfer)
|
||||
if(G.state != GRAB_NECK)
|
||||
possible_mobs |= "~~[L.name]~~ (reinforce grab first)"
|
||||
else
|
||||
possible_mobs |= L
|
||||
if(!possible_mobs)
|
||||
to_chat(src, span_warning("There are no valid targets inside of you."))
|
||||
return
|
||||
@@ -324,6 +373,9 @@
|
||||
if(!input)
|
||||
return
|
||||
var/mob/living/M = input
|
||||
if(!istype(M))
|
||||
to_chat(src, span_warning("You must have a tighter grip to dominate this creature."))
|
||||
return
|
||||
if(!M.allow_mind_transfer) //check if the dominated mob pref is enabled
|
||||
to_chat(src, span_warning("[M] is unable to be dominated."))
|
||||
return
|
||||
@@ -340,11 +392,13 @@
|
||||
to_chat(M, span_warning("You can feel the will of another pulling you away from your body..."))
|
||||
to_chat(src, span_warning("You can feel the will of your prey diminishing as you gather them!"))
|
||||
|
||||
if(istype(G) && M == G.affecting)
|
||||
src.visible_message(span_danger("[src] seems to be doing something to [M], resulting in [M]'s body looking increasingly drowsy with every passing moment!"))
|
||||
if(!do_after(src, 10 SECONDS, exclusive = TRUE))
|
||||
to_chat(M, span_notice("The alien presence fades, and you are left along in your body..."))
|
||||
to_chat(src, span_notice("Your attempt to gather [M]'s mind has been interrupted."))
|
||||
return
|
||||
if(!isbelly(M.loc))
|
||||
if(!isbelly(M.loc) && !(istype(G) && M == G.affecting && G.state == GRAB_NECK)) //CHOMPEdit - Let dominate prey work on grabbed people
|
||||
to_chat(M, span_notice("The alien presence fades, and you are left along in your body..."))
|
||||
to_chat(src, span_notice("Your attempt to gather [M]'s mind has been interrupted."))
|
||||
return
|
||||
@@ -364,6 +418,12 @@
|
||||
db.ooc_notes = M.ooc_notes
|
||||
db.ooc_notes_likes = M.ooc_notes_likes
|
||||
db.ooc_notes_dislikes = M.ooc_notes_dislikes
|
||||
db.ooc_notes_favs = M.ooc_notes_favs
|
||||
db.ooc_notes_maybes = M.ooc_notes_maybes
|
||||
db.ooc_notes_style = M.ooc_notes_style
|
||||
db.prey_ooc_favs = M.ooc_notes_favs
|
||||
db.prey_ooc_maybes = M.ooc_notes_maybes
|
||||
db.prey_ooc_style = M.ooc_notes_style
|
||||
db.prey_ooc_likes = M.ooc_notes_likes
|
||||
db.prey_ooc_dislikes = M.ooc_notes_dislikes
|
||||
add_verb(db, /mob/living/dominated_brain/proc/cease_this_foolishness)
|
||||
@@ -374,6 +434,8 @@
|
||||
log_admin("[db] ([db.ckey]) has agreed to [src]'s dominate prey attempt, and so no longer occupies their original body.")
|
||||
to_chat(src, span_notice("You feel your mind expanded as [M] is incorporated into you."))
|
||||
to_chat(M, span_warning("Your mind is gathered into \the [src], becoming part of them..."))
|
||||
if(istype(G) && M == G.affecting)
|
||||
visible_message(span_danger("[src] seems to finish whatever they were doing to [M]."))
|
||||
|
||||
/mob/living/dominated_brain/proc/cease_this_foolishness()
|
||||
set category = "Abilities.Vore"
|
||||
@@ -472,6 +534,12 @@
|
||||
pred_brain.prey_ooc_notes = prey.ooc_notes
|
||||
pred_brain.prey_ooc_likes = prey.ooc_notes_likes
|
||||
pred_brain.prey_ooc_dislikes = prey.ooc_notes_dislikes
|
||||
pred_brain.prey_ooc_favs = prey.ooc_notes_favs
|
||||
pred_brain.prey_ooc_maybes = prey.ooc_notes_maybes
|
||||
pred_brain.prey_ooc_style = prey.ooc_notes_style
|
||||
pred_brain.pred_ooc_favs = pred.ooc_notes_favs
|
||||
pred_brain.pred_ooc_maybes = pred.ooc_notes_maybes
|
||||
pred_brain.pred_ooc_style = pred.ooc_notes_style
|
||||
pred_brain.pred_ooc_notes = pred.ooc_notes
|
||||
pred_brain.pred_ooc_likes = pred.ooc_notes_likes
|
||||
pred_brain.pred_ooc_dislikes = pred.ooc_notes_dislikes
|
||||
@@ -486,6 +554,9 @@
|
||||
pred.ooc_notes = pred_brain.prey_ooc_notes
|
||||
pred.ooc_notes_likes = pred_brain.prey_ooc_likes
|
||||
pred.ooc_notes_dislikes = pred_brain.prey_ooc_dislikes
|
||||
pred.ooc_notes_favs = pred_brain.prey_ooc_favs
|
||||
pred.ooc_notes_maybes = pred_brain.prey_ooc_maybes
|
||||
pred.ooc_notes_style = pred_brain.prey_ooc_style
|
||||
|
||||
add_verb(pred, /mob/proc/release_predator)
|
||||
|
||||
|
||||
@@ -22,11 +22,9 @@
|
||||
ooc_notes = client.prefs.read_preference(/datum/preference/text/living/ooc_notes)
|
||||
ooc_notes_likes = client.prefs.read_preference(/datum/preference/text/living/ooc_notes_likes)
|
||||
ooc_notes_dislikes = client.prefs.read_preference(/datum/preference/text/living/ooc_notes_dislikes)
|
||||
/* Not implemented on virgo
|
||||
ooc_notes_favs = read_preference(/datum/preference/text/living/ooc_notes_favs)
|
||||
ooc_notes_maybes = read_preference(/datum/preference/text/living/ooc_notes_maybes)
|
||||
ooc_notes_style = read_preference(/datum/preference/toggle/living/ooc_notes_style)
|
||||
*/
|
||||
private_notes = client.prefs.read_preference(/datum/preference/text/living/private_notes)
|
||||
digestable = client.prefs_vr.digestable
|
||||
devourable = client.prefs_vr.devourable
|
||||
|
||||
Reference in New Issue
Block a user