diff --git a/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm b/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm index b9fcedcbc0f..248dd2004b9 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm @@ -15,6 +15,7 @@ var/atom/prey //Whatever Ratvar is chasing var/clashing = FALSE //If Ratvar is FUCKING FIGHTING WITH NAR-SIE var/proselytize_range = 10 + dangerous_possession = TRUE /obj/structure/destructible/clockwork/massive/ratvar/New() ..() diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 9548e2a9920..ec3b418a4ad 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -25,7 +25,18 @@ var/persistence_replacement = null //have something WAY too amazing to live to the next round? Set a new path here. Overuse of this var will make me upset. var/unique_rename = 0 // can you customize the description/name of the thing? + + var/dangerous_possession = FALSE //Admin possession yes/no +/obj/vv_edit_var(vname, vval) + switch(vname) + if("dangerous_possession") + return FALSE + if("control_object") + var/obj/O = vval + if(istype(O) && O.dangerous_possession) + return FALSE + ..() /obj/Initialize() ..() diff --git a/code/modules/admin/verbs/possess.dm b/code/modules/admin/verbs/possess.dm index 4f1ccafc0e0..8afc0fdca8d 100644 --- a/code/modules/admin/verbs/possess.dm +++ b/code/modules/admin/verbs/possess.dm @@ -2,10 +2,9 @@ set name = "Possess Obj" set category = "Object" - if(istype(O,/obj/singularity)) - if(config.forbid_singulo_possession) - to_chat(usr, "It is forbidden to possess singularities.") - return + if(O.dangerous_possession && config.forbid_singulo_possession) + to_chat(usr, "[O] is too powerful for you to possess.") + return var/turf/T = get_turf(O) @@ -50,4 +49,4 @@ set name = "Give Possessing Verbs" M.verbs += /proc/possess M.verbs += /proc/release - feedback_add_details("admin_verb","GPV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! \ No newline at end of file + feedback_add_details("admin_verb","GPV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 3cc48bb11a0..8dae7e97d97 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -27,6 +27,7 @@ var/last_warning var/consumedSupermatter = 0 //If the singularity has eaten a supermatter shard and can go to stage six resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + dangerous_possession = TRUE /obj/singularity/New(loc, var/starting_energy = 50, var/temp = 0) //CARN: admin-alert for chuckle-fuckery.