Adds a protection that blocks marking rank datums (#95654)

This commit is contained in:
LemonInTheDark
2026-04-09 15:51:03 -07:00
committed by GitHub
parent 9dfc15ec90
commit 4bc27d68f7
3 changed files with 17 additions and 0 deletions
+8
View File
@@ -51,6 +51,14 @@ GLOBAL_PROTECT(protected_ranks)
/datum/admin_rank/vv_edit_var(var_name, var_value)
return FALSE
/datum/admin_rank/allow_mark_datum()
alert_to_permissions_elevation_attempt(usr)
return FALSE
/datum/admin_rank/can_vv_mark()
alert_to_permissions_elevation_attempt(usr)
return FALSE
// Adds/removes rights to this admin_rank
/datum/admin_rank/proc/process_keyword(group, group_count, datum/admin_rank/previous_rank)
if(IsAdminAdvancedProcCall())
+3
View File
@@ -9,6 +9,9 @@
to_chat(owner, span_warning("[target_datum] is already tagged!"))
return
if(!target_datum.allow_mark_datum())
return
LAZYADD(tagged_datums, target_datum)
RegisterSignal(target_datum, COMSIG_QDELETING, PROC_REF(handle_tagged_del), override = TRUE)
to_chat(owner, span_notice("[target_datum] has been tagged."))
@@ -1,6 +1,8 @@
/client/proc/mark_datum(datum/D)
if(!holder)
return
if(!D.allow_mark_datum())
return
if(holder.marked_datum)
holder.UnregisterSignal(holder.marked_datum, COMSIG_QDELETING)
vv_update_display(holder.marked_datum, "marked", "")
@@ -15,3 +17,7 @@ ADMIN_VERB_ONLY_CONTEXT_MENU(mark_datum, R_NONE, "Mark Object", datum/target as
SIGNAL_HANDLER
UnregisterSignal(marked_datum, COMSIG_QDELETING)
marked_datum = null
/// Will this datum allow itself to be marked by vv?
/datum/proc/allow_mark_datum()
return TRUE