mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-10 15:45:05 +01:00
Adds a protection that blocks marking rank datums (#95654)
This commit is contained in:
@@ -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())
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user