mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 04:51:32 +01:00
Merge branch 'incremental_tg' r5067 into bs12_with_tgport
removed extraneous admin attack messages, temporarily disabled much moderator stuff (will be re-enabled in future updates) Conflicts: baystation12.dme code/__HELPERS/type2type.dm code/controllers/configuration.dm code/datums/datumvars.dm code/datums/helper_datums/getrev.dm code/defines/obj.dm code/game/gamemodes/events/black_hole.dm code/game/gamemodes/events/space_ninja.dm code/game/gamemodes/wizard/rightandwrong.dm code/game/jobs/job/captain.dm code/game/jobs/job/job.dm code/game/jobs/job_controller.dm code/game/machinery/bots/medbot.dm code/game/machinery/computer/card.dm code/game/machinery/telecomms/traffic_control.dm code/game/machinery/turrets.dm code/game/machinery/wishgranter.dm code/game/objects/items/blueprints.dm code/game/objects/items/devices/uplinks.dm code/game/objects/items/stacks/stack.dm code/game/objects/items/weapons/surgery_tools.dm code/game/turfs/turf.dm code/game/verbs/ooc.dm code/global.dm code/modules/admin/IsBanned.dm code/modules/admin/admin.dm code/modules/admin/admin_memo.dm code/modules/admin/admin_verbs.dm code/modules/admin/holder2.dm code/modules/admin/player_panel.dm code/modules/admin/verbs/adminpm.dm code/modules/admin/verbs/diagnostics.dm code/modules/assembly/igniter.dm code/modules/client/client defines.dm code/modules/client/client procs.dm code/modules/clothing/spacesuits/miscellaneous.dm code/modules/clothing/suits/armor.dm code/modules/clothing/suits/jobs.dm code/modules/mining/mine_turfs.dm code/modules/mob/living/carbon/human/say.dm code/modules/mob/living/carbon/human/update_icons.dm code/modules/mob/living/living.dm code/modules/mob/living/living_defense.dm code/modules/mob/living/silicon/robot/emote.dm code/modules/mob/living/silicon/robot/life.dm code/modules/mob/mob_cleanup.dm code/modules/mob/new_player/new_player.dm code/modules/mob/new_player/preferences.dm code/modules/paperwork/paper.dm code/modules/paperwork/photocopier.dm code/modules/projectiles/guns/projectile/automatic.dm code/modules/reagents/Chemistry-Machinery.dm code/setup.dm code/stylesheet.dm code/world.dm config/admins.txt config/config.txt html/changelog.html icons/mob/items_lefthand.dmi icons/mob/items_righthand.dmi icons/mob/suit.dmi icons/obj/clothing/suits.dmi icons/turf/areas.dmi Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
+309
-543
@@ -1,457 +1,302 @@
|
||||
//GUYS REMEMBER TO ADD A += to UPDATE_ADMINS
|
||||
//AND A -= TO CLEAR_ADMIN_VERBS
|
||||
|
||||
|
||||
|
||||
//Some verbs that are still in the code but not used atm
|
||||
// Debug
|
||||
// verbs += /client/proc/radio_report //for radio debugging dont think its been used in a very long time
|
||||
// verbs += /client/proc/fix_next_move //has not been an issue in a very very long time
|
||||
|
||||
// Mapping helpers added via enable_debug_verbs verb
|
||||
// verbs += /client/proc/do_not_use_these
|
||||
// verbs += /client/proc/camera_view
|
||||
// verbs += /client/proc/sec_camera_report
|
||||
// verbs += /client/proc/intercom_view
|
||||
// verbs += /client/proc/air_status //Air things
|
||||
// verbs += /client/proc/Cell //More air things
|
||||
|
||||
/client/proc/admin_rank_check(var/rank, var/requested)
|
||||
if(rank < requested)
|
||||
alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
|
||||
return(0)
|
||||
return(1)
|
||||
|
||||
/client/proc/update_admins(var/rank)
|
||||
if(!holder)
|
||||
holder = new /datum/admins(rank)
|
||||
admins |= src
|
||||
admin_datums[ckey] = holder
|
||||
|
||||
var/need_update = 0
|
||||
//check if our rank has changed
|
||||
if(holder.rank != rank)
|
||||
holder.rank = rank
|
||||
need_update = 1
|
||||
//check if our state has changed
|
||||
if(istype(mob,/mob/living))
|
||||
if(holder.state != 1)
|
||||
holder.state = 1
|
||||
need_update = 1
|
||||
else
|
||||
if(holder.state != 2)
|
||||
holder.state = 2
|
||||
need_update = 1
|
||||
|
||||
if(!need_update) return
|
||||
|
||||
clear_admin_verbs()
|
||||
handle_permission_verbs()
|
||||
|
||||
switch(rank)
|
||||
if("Game Master")
|
||||
holder.level = 6
|
||||
|
||||
if ("Game Admin")
|
||||
holder.level = 5
|
||||
|
||||
if ("Badmin")
|
||||
holder.level = 4
|
||||
|
||||
if ("Trial Admin")
|
||||
holder.level = 3
|
||||
if(holder.state == 2) // if observing
|
||||
verbs += /client/proc/debug_variables
|
||||
verbs += /client/proc/cmd_modify_ticker_variables
|
||||
verbs += /client/proc/toggle_view_range
|
||||
verbs += /client/proc/Getmob
|
||||
verbs += /client/proc/Getkey
|
||||
verbs += /client/proc/sendmob
|
||||
verbs += /client/proc/Jump
|
||||
verbs += /client/proc/jumptokey
|
||||
verbs += /client/proc/jumptomob
|
||||
verbs += /client/proc/jumptoturf
|
||||
verbs += /client/proc/jumptocoord
|
||||
verbs += /client/proc/cmd_admin_delete
|
||||
verbs += /client/proc/cmd_admin_add_freeform_ai_law
|
||||
verbs += /client/proc/cmd_admin_rejuvenate
|
||||
|
||||
if ("Admin Candidate")
|
||||
holder.level = 2
|
||||
if(holder.state == 2) // if observing
|
||||
deadchat = 1
|
||||
verbs += /datum/admins/proc/toggleaban //abandon mob
|
||||
verbs += /client/proc/deadchat //toggles deadchat
|
||||
verbs += /client/proc/cmd_admin_check_contents
|
||||
verbs += /client/proc/Jump
|
||||
verbs += /client/proc/jumptokey
|
||||
verbs += /client/proc/jumptomob
|
||||
|
||||
if ("Temporary Admin")
|
||||
holder.level = 1
|
||||
|
||||
if ("Moderator")
|
||||
holder.level = 0
|
||||
|
||||
if ("Admin Observer")
|
||||
holder.level = -1
|
||||
|
||||
// if ("Banned")
|
||||
// holder.level = -2
|
||||
// del(src)
|
||||
// return
|
||||
|
||||
else
|
||||
del(holder)
|
||||
return
|
||||
|
||||
if (holder) //THE BELOW handles granting powers. The above is for special cases only!
|
||||
holder.owner = src
|
||||
|
||||
//---- Special Admin Ranks //Retired admin
|
||||
if (holder.level == -3)
|
||||
verbs += /client/proc/cmd_admin_say
|
||||
verbs += /client/proc/cmd_mod_say
|
||||
return
|
||||
|
||||
//Admin Observer
|
||||
if (holder.level >= -1)
|
||||
seeprayers = 1
|
||||
|
||||
verbs += /client/proc/cmd_admin_say //Allows anyone rank -1 or higher to use asay -- removed when it hits 0 (mods), added again at 1 (Temp Admin)
|
||||
verbs += /client/proc/cmd_mod_say //Allows anyone rank -1 or higher to use msay
|
||||
verbs += /client/proc/deadmin_self
|
||||
verbs += /client/proc/toggleadminhelpsound
|
||||
else
|
||||
return
|
||||
|
||||
//Moderator
|
||||
if (holder.level >= 0)
|
||||
verbs += /client/proc/cmd_admin_pm_panel
|
||||
verbs += /client/proc/cmd_admin_pm_context
|
||||
verbs += /client/proc/hide_verbs
|
||||
verbs += /client/proc/Report
|
||||
verbs += /client/proc/display_admin_reports
|
||||
verbs += /datum/admins/proc/show_skills
|
||||
verbs += /client/proc/admin_ghost
|
||||
verbs += /datum/admins/proc/show_player_info
|
||||
verbs += /datum/admins/proc/PlayerNotes
|
||||
else
|
||||
return
|
||||
|
||||
//Extra moderator commands
|
||||
if(holder.level == 0)
|
||||
verbs += /client/proc/mod_panel
|
||||
verbs -= /client/proc/cmd_admin_say
|
||||
return
|
||||
|
||||
//Temporary Admin
|
||||
if (holder.level >= 1)
|
||||
verbs += /client/proc/investigate_show
|
||||
verbs += /client/proc/cmd_admin_say
|
||||
verbs += /datum/admins/proc/startnow
|
||||
verbs += /datum/admins/proc/delay //game start delay
|
||||
verbs += /datum/admins/proc/immreboot //immediate reboot
|
||||
verbs += /datum/admins/proc/restart //restart
|
||||
verbs += /client/proc/cmd_admin_check_contents
|
||||
verbs += /client/proc/cmd_admin_create_centcom_report
|
||||
verbs += /client/proc/toggle_hear_deadcast
|
||||
verbs += /client/proc/toggle_hear_radio
|
||||
verbs += /client/proc/deadmin_self
|
||||
verbs += /datum/admins/proc/announce
|
||||
verbs += /datum/admins/proc/startnow
|
||||
verbs += /datum/admins/proc/toggleAI //Toggle the AI
|
||||
verbs += /datum/admins/proc/toggleenter //Toggle enterting
|
||||
verbs += /datum/admins/proc/toggleguests //Toggle guests entering
|
||||
verbs += /datum/admins/proc/toggleooc //toggle ooc
|
||||
verbs += /datum/admins/proc/toggleoocdead //toggle ooc for dead/unc
|
||||
verbs += /datum/admins/proc/show_player_panel
|
||||
verbs += /client/proc/deadchat //toggles deadchat
|
||||
verbs += /client/proc/cmd_admin_subtle_message
|
||||
verbs += /client/proc/dsay
|
||||
verbs += /client/proc/admin_ghost
|
||||
verbs += /client/proc/game_panel
|
||||
verbs += /client/proc/player_panel
|
||||
verbs += /client/proc/player_panel_new
|
||||
verbs += /client/proc/unban_panel
|
||||
verbs += /client/proc/jobbans
|
||||
verbs += /client/proc/unjobban_panel
|
||||
verbs += /client/proc/hide_verbs
|
||||
verbs += /client/proc/general_report
|
||||
verbs += /client/proc/air_report
|
||||
verbs += /client/proc/check_ai_laws
|
||||
verbs += /client/proc/investigate_show
|
||||
verbs += /client/proc/cmd_admin_gib_self
|
||||
verbs += /client/proc/player_panel_new
|
||||
verbs += /client/proc/cmd_admin_change_custom_event
|
||||
verbs += /client/proc/game_panel
|
||||
verbs += /client/proc/unjobban_panel
|
||||
verbs += /client/proc/jobbans
|
||||
verbs += /client/proc/unban_panel
|
||||
verbs += /datum/admins/proc/toggleooc
|
||||
verbs += /datum/admins/proc/toggleoocdead
|
||||
else
|
||||
return
|
||||
|
||||
//Admin Candidate
|
||||
if (holder.level >= 2)
|
||||
verbs += /client/proc/cmd_admin_add_random_ai_law
|
||||
verbs += /client/proc/secrets
|
||||
verbs += /client/proc/check_antagonists
|
||||
verbs += /client/proc/play_sound
|
||||
verbs += /client/proc/stealth
|
||||
else
|
||||
return
|
||||
|
||||
//Trial Admin
|
||||
if (holder.level >= 3)
|
||||
deadchat = 1
|
||||
|
||||
verbs += /client/proc/invisimin
|
||||
verbs += /datum/admins/proc/view_txt_log
|
||||
verbs += /datum/admins/proc/view_atk_log
|
||||
verbs += /datum/admins/proc/toggleaban //abandon mob
|
||||
verbs += /datum/admins/proc/show_traitor_panel
|
||||
verbs += /client/proc/getserverlog //fetch an old serverlog to look at
|
||||
verbs += /client/proc/admin_call_shuttle
|
||||
verbs += /client/proc/admin_cancel_shuttle
|
||||
verbs += /client/proc/cmd_admin_dress
|
||||
verbs += /client/proc/respawn_character
|
||||
verbs += /client/proc/spawn_xeno
|
||||
verbs += /client/proc/toggleprayers
|
||||
verbs += /proc/possess
|
||||
verbs += /proc/release
|
||||
verbs += /client/proc/one_click_antag
|
||||
|
||||
//bs12 specific
|
||||
verbs += /client/proc/admin_deny_shuttle
|
||||
verbs += /client/proc/editappear
|
||||
else
|
||||
return
|
||||
|
||||
//Badmin
|
||||
if (holder.level >= 4)
|
||||
verbs += /datum/admins/proc/adrev //toggle admin revives
|
||||
verbs += /datum/admins/proc/adspawn //toggle admin item spawning
|
||||
verbs += /client/proc/debug_variables
|
||||
verbs += /datum/admins/proc/access_news_network //Admin access to the newscaster network
|
||||
verbs += /client/proc/cmd_modify_ticker_variables
|
||||
verbs += /client/proc/Debug2 //debug toggle switch
|
||||
verbs += /client/proc/toggle_view_range
|
||||
verbs += /client/proc/Getmob
|
||||
verbs += /client/proc/Getkey
|
||||
verbs += /client/proc/sendmob
|
||||
verbs += /client/proc/Jump
|
||||
verbs += /client/proc/jumptokey
|
||||
verbs += /client/proc/jumptomob
|
||||
verbs += /client/proc/jumptoturf
|
||||
verbs += /client/proc/cmd_admin_delete
|
||||
verbs += /client/proc/cmd_admin_add_freeform_ai_law
|
||||
verbs += /client/proc/cmd_admin_add_random_ai_law
|
||||
verbs += /client/proc/cmd_admin_rejuvenate
|
||||
verbs += /client/proc/hide_most_verbs
|
||||
verbs += /client/proc/jumptocoord
|
||||
verbs += /client/proc/deadmin_self
|
||||
verbs += /client/proc/giveruntimelog //used by coders to retrieve runtime logs
|
||||
verbs += /client/proc/togglebuildmodeself
|
||||
verbs += /client/proc/debug_controller
|
||||
else
|
||||
return
|
||||
|
||||
//Game Admin
|
||||
if (holder.level >= 5)
|
||||
verbs += /datum/admins/proc/spawn_atom
|
||||
verbs += /client/proc/cmd_admin_list_open_jobs
|
||||
verbs += /client/proc/cmd_admin_direct_narrate
|
||||
verbs += /client/proc/colorooc
|
||||
verbs += /client/proc/kill_air
|
||||
verbs += /client/proc/cmd_admin_world_narrate
|
||||
verbs += /client/proc/cmd_debug_del_all
|
||||
verbs += /client/proc/cmd_debug_tog_aliens
|
||||
verbs += /client/proc/check_words
|
||||
verbs += /client/proc/drop_bomb
|
||||
verbs += /client/proc/kill_airgroup
|
||||
verbs += /client/proc/make_sound
|
||||
verbs += /client/proc/play_local_sound
|
||||
verbs += /client/proc/send_space_ninja
|
||||
verbs += /client/proc/restart_controller //Can call via aproccall --I_hate_easy_things.jpg, Mport --Agouri
|
||||
verbs += /client/proc/toggle_clickproc //TODO ERRORAGE (Temporary proc while the new clickproc is being tested)
|
||||
verbs += /client/proc/toggle_gravity_on
|
||||
verbs += /client/proc/toggle_gravity_off
|
||||
verbs += /client/proc/toggle_random_events
|
||||
verbs += /client/proc/deadmin_self
|
||||
verbs += /client/proc/Set_Holiday //Force-set a Holiday
|
||||
verbs += /client/proc/admin_memo
|
||||
verbs += /client/proc/ToRban //ToRban frontend to access its features.
|
||||
verbs += /client/proc/game_panel
|
||||
else
|
||||
return
|
||||
|
||||
//Game Master
|
||||
if (holder.level >= 6)
|
||||
verbs += /datum/admins/proc/toggle_aliens //toggle aliens
|
||||
verbs += /datum/admins/proc/toggle_space_ninja //toggle ninjas
|
||||
verbs += /datum/admins/proc/adjump
|
||||
verbs += /client/proc/callproc
|
||||
verbs += /client/proc/triple_ai
|
||||
verbs += /client/proc/reload_admins
|
||||
verbs += /client/proc/cmd_debug_make_powernets
|
||||
verbs += /client/proc/object_talk
|
||||
verbs += /client/proc/strike_team
|
||||
verbs += /client/proc/enable_debug_verbs
|
||||
verbs += /client/proc/everyone_random
|
||||
verbs += /client/proc/only_one
|
||||
verbs += /client/proc/cinematic //show a cinematic sequence
|
||||
verbs += /client/proc/startSinglo //Used to prevent the station from losing power while testing stuff out.
|
||||
verbs += /client/proc/toggle_log_hrefs
|
||||
verbs += /client/proc/cmd_debug_mob_lists
|
||||
verbs += /client/proc/set_ooc
|
||||
else
|
||||
return
|
||||
return
|
||||
|
||||
|
||||
/client/proc/clear_admin_verbs()
|
||||
deadchat = 0
|
||||
verbs.Remove(
|
||||
/datum/admins/proc/announce,
|
||||
/datum/admins/proc/startnow,
|
||||
/datum/admins/proc/toggleAI, /*Toggle the AI*/
|
||||
/datum/admins/proc/toggleenter, /*Toggle enterting*/
|
||||
/datum/admins/proc/toggleguests, /*Toggle guests entering*/
|
||||
/datum/admins/proc/toggleooc, /*toggle ooc*/
|
||||
/datum/admins/proc/toggleoocdead, /*toggle ooc for dead/unc*/
|
||||
/datum/admins/proc/delay, /*game start delay*/
|
||||
/datum/admins/proc/immreboot, /*immediate reboot*/
|
||||
/datum/admins/proc/restart, /*restart*/
|
||||
/datum/admins/proc/show_traitor_panel,
|
||||
/datum/admins/proc/show_player_panel,
|
||||
/datum/admins/proc/toggle_aliens, /*toggle aliens*/
|
||||
/datum/admins/proc/toggle_space_ninja,/*toggle ninjas*/
|
||||
/datum/admins/proc/adjump,
|
||||
/datum/admins/proc/view_txt_log,
|
||||
/datum/admins/proc/view_atk_log,
|
||||
/datum/admins/proc/spawn_atom,
|
||||
/datum/admins/proc/adrev, /*toggle admin revives*/
|
||||
/datum/admins/proc/adspawn, /*toggle admin item spawning*/
|
||||
/datum/admins/proc/toggleaban, /*abandon mob*/
|
||||
/client/proc/hide_verbs,
|
||||
/client/proc/hide_most_verbs,
|
||||
/client/proc/show_verbs,
|
||||
/client/proc/colorooc,
|
||||
/client/proc/triple_ai,
|
||||
/client/proc/reload_admins,
|
||||
/client/proc/kill_air,
|
||||
/client/proc/cmd_debug_make_powernets,
|
||||
/client/proc/object_talk,
|
||||
/client/proc/strike_team,
|
||||
/client/proc/cmd_admin_list_open_jobs,
|
||||
/client/proc/cmd_admin_direct_narrate,
|
||||
/client/proc/cmd_admin_world_narrate,
|
||||
/client/proc/callproc,
|
||||
/client/proc/Cell,
|
||||
/client/proc/cmd_debug_del_all,
|
||||
/client/proc/cmd_debug_tog_aliens,
|
||||
/client/proc/check_words,
|
||||
/client/proc/drop_bomb,
|
||||
/client/proc/make_sound,
|
||||
/client/proc/only_one,
|
||||
/client/proc/send_space_ninja,
|
||||
/client/proc/debug_variables,
|
||||
/client/proc/cmd_modify_ticker_variables,
|
||||
/client/proc/Debug2, /*debug toggle switch*/
|
||||
/client/proc/toggle_view_range,
|
||||
/client/proc/Getmob,
|
||||
/client/proc/Getkey,
|
||||
/client/proc/sendmob,
|
||||
/client/proc/Jump,
|
||||
/client/proc/jumptokey,
|
||||
/client/proc/jumptomob,
|
||||
/client/proc/jumptoturf,
|
||||
/client/proc/cmd_admin_add_freeform_ai_law,
|
||||
/client/proc/cmd_admin_add_random_ai_law,
|
||||
/client/proc/cmd_admin_rejuvenate,
|
||||
/client/proc/cmd_admin_delete,
|
||||
/client/proc/toggleadminhelpsound,
|
||||
/client/proc/admin_call_shuttle,
|
||||
/client/proc/admin_cancel_shuttle,
|
||||
/client/proc/cmd_admin_dress,
|
||||
/client/proc/respawn_character,
|
||||
/client/proc/spawn_xeno,
|
||||
/client/proc/cmd_admin_add_random_ai_law,
|
||||
/client/proc/secrets,
|
||||
/client/proc/check_antagonists,
|
||||
/client/proc/play_sound,
|
||||
/client/proc/stealth,
|
||||
/client/proc/cmd_admin_check_contents,
|
||||
/client/proc/cmd_admin_create_centcom_report,
|
||||
/client/proc/deadchat, /*toggles deadchat*/
|
||||
/client/proc/cmd_admin_pm_context,
|
||||
/client/proc/cmd_admin_pm_panel,
|
||||
/client/proc/cmd_admin_say,
|
||||
/client/proc/cmd_admin_subtle_message,
|
||||
/client/proc/dsay,
|
||||
/client/proc/admin_ghost,
|
||||
/client/proc/game_panel,
|
||||
/client/proc/player_panel,
|
||||
/client/proc/unban_panel,
|
||||
/client/proc/jobbans,
|
||||
/client/proc/unjobban_panel,
|
||||
/client/proc/hide_verbs,
|
||||
/client/proc/general_report,
|
||||
/client/proc/air_report,
|
||||
/client/proc/cmd_admin_say,
|
||||
/client/proc/cmd_admin_gib_self,
|
||||
/client/proc/restart_controller,
|
||||
/client/proc/play_local_sound,
|
||||
/client/proc/enable_debug_verbs,
|
||||
/client/proc/toggleprayers,
|
||||
/client/proc/toggle_clickproc, /*TODO ERRORAGE (Temporary proc while the enw clickproc is being tested)*/
|
||||
/client/proc/toggle_hear_deadcast,
|
||||
/client/proc/toggle_hear_radio,
|
||||
/client/proc/player_panel_new,
|
||||
/client/proc/toggle_gravity_on,
|
||||
/client/proc/toggle_gravity_off,
|
||||
/client/proc/toggle_random_events,
|
||||
/client/proc/deadmin_self,
|
||||
/client/proc/jumptocoord,
|
||||
/client/proc/everyone_random,
|
||||
/client/proc/Set_Holiday,
|
||||
/client/proc/giveruntimelog, /*used by coders to retrieve runtime logs*/
|
||||
/client/proc/getserverlog,
|
||||
/client/proc/cinematic, /*show a cinematic sequence*/
|
||||
/client/proc/admin_memo,
|
||||
/client/proc/investigate_show, /*investigate in-game mishaps using various logs.*/
|
||||
/client/proc/toggle_log_hrefs,
|
||||
/client/proc/ToRban,
|
||||
/proc/possess,
|
||||
/proc/release,
|
||||
/client/proc/togglebuildmodeself,
|
||||
/client/proc/kill_airgroup,
|
||||
/client/proc/debug_controller,
|
||||
/client/proc/startSinglo,
|
||||
/client/proc/check_ai_laws,
|
||||
/client/proc/cmd_debug_mob_lists,
|
||||
/datum/admins/proc/access_news_network,
|
||||
/client/proc/one_click_antag,
|
||||
/client/proc/invisimin,
|
||||
/client/proc/set_ooc,
|
||||
|
||||
//bs12 verbs
|
||||
/client/proc/update_mob_sprite,
|
||||
/client/proc/mod_panel,
|
||||
/client/proc/admin_deny_shuttle,
|
||||
/client/proc/playernotes,
|
||||
/datum/admins/proc/show_skills,
|
||||
/client/proc/Report,
|
||||
/client/proc/display_admin_reports,
|
||||
/client/proc/editappear,
|
||||
/client/proc/cmd_mod_say,
|
||||
/client/proc/playernotes,
|
||||
/client/proc/cmd_admin_change_custom_event
|
||||
//admin verb groups - They can overlap if you so wish. Only one of each verb will exist in the verbs list regardless
|
||||
var/list/admin_verbs_default = list(
|
||||
/datum/admins/proc/show_player_panel, /*shows an interface for individual players, with various links (links require additional flags*/
|
||||
/client/proc/game_panel, /*game panel, allows to change game-mode etc*/
|
||||
/datum/admins/proc/toggleooc, /*toggles ooc on/off for everyone*/
|
||||
/datum/admins/proc/toggleoocdead, /*toggles ooc on/off for everyone who is dead*/
|
||||
/client/proc/toggleadminhelpsound, /*toggles whether we hear a sound when adminhelps/PMs are used*/
|
||||
/client/proc/deadmin_self, /*destroys our own admin datum so we can play as a regular player*/
|
||||
/client/proc/cmd_admin_say, /*admin-only ooc chat*/
|
||||
/client/proc/hide_verbs, /*hides all our adminverbs*/
|
||||
/client/proc/hide_most_verbs, /*hides all our hideable adminverbs*/
|
||||
/client/proc/debug_variables, /*allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify*/
|
||||
/client/proc/check_ai_laws, /*shows AI and borg laws*/
|
||||
/client/proc/check_antagonists, /*shows all antags*/
|
||||
/client/proc/admin_memo, /*admin memo system. show/delete/write. +SERVER needed to delete admin memos of others*/
|
||||
/client/proc/deadchat, /*toggles deadchat on/off*/
|
||||
/client/proc/dsay, /*talk in deadchat using our ckey/fakekey*/
|
||||
/client/proc/toggleprayers, /*toggles prayers on/off*/
|
||||
/client/proc/toggle_hear_deadcast, /*toggles whether we hear deadchat*/
|
||||
/client/proc/toggle_hear_radio, /*toggles whether we hear the radio*/
|
||||
/client/proc/investigate_show, /*various admintools for investigation. Such as a singulo grief-log*/
|
||||
/client/proc/secrets
|
||||
)
|
||||
var/list/admin_verbs_admin = list(
|
||||
/client/proc/player_panel, /*shows an interface for all players, with links to various panels (old style)*/
|
||||
/client/proc/player_panel_new, /*shows an interface for all players, with links to various panels*/
|
||||
/client/proc/invisimin, /*allows our mob to go invisible/visible*/
|
||||
/datum/admins/proc/show_traitor_panel, /*interface which shows a mob's mind*/
|
||||
/datum/admins/proc/toggleenter, /*toggles whether people can join the current game*/
|
||||
/datum/admins/proc/toggleguests, /*toggles whether guests can join the current game*/
|
||||
/datum/admins/proc/announce, /*priority announce something to all clients.*/
|
||||
/client/proc/colorooc, /*allows us to set a custom colour for everythign we say in ooc*/
|
||||
/client/proc/admin_ghost, /*allows us to ghost/reenter body at will*/
|
||||
/client/proc/toggle_view_range, /*changes how far we can see*/
|
||||
/datum/admins/proc/view_txt_log, /*shows the server log (diary) for today*/
|
||||
// /datum/admins/proc/view_atk_log, /*shows the server combat-log, doesn't do anything presently*/
|
||||
/client/proc/cmd_admin_pm_context, /*right-click adminPM interface*/
|
||||
/client/proc/cmd_admin_pm_panel, /*admin-pm list*/
|
||||
/client/proc/cmd_admin_subtle_message, /*send an message to somebody as a 'voice in their head'*/
|
||||
/client/proc/cmd_admin_delete, /*delete an instance/object/mob/etc*/
|
||||
/client/proc/cmd_admin_check_contents, /*displays the contents of an instance*/
|
||||
/datum/admins/proc/access_news_network, /*allows access of newscasters*/
|
||||
/client/proc/giveruntimelog, /*allows us to give access to runtime logs to somebody*/
|
||||
/client/proc/getserverlog, /*allows us to fetch server logs (diary) for other days*/
|
||||
/client/proc/jumptocoord, /*we ghost and jump to a coordinate*/
|
||||
/client/proc/Getmob, /*teleports a mob to our location*/
|
||||
/client/proc/Getkey, /*teleports a mob with a certain ckey to our location*/
|
||||
/client/proc/sendmob, /*sends a mob somewhere*/
|
||||
/client/proc/Jump,
|
||||
/client/proc/jumptokey, /*allows us to jump to the location of a mob with a certain ckey*/
|
||||
/client/proc/jumptomob, /*allows us to jump to a specific mob*/
|
||||
/client/proc/jumptoturf, /*allows us to jump to a specific turf*/
|
||||
/client/proc/admin_call_shuttle, /*allows us to call the emergency shuttle*/
|
||||
/client/proc/admin_cancel_shuttle, /*allows us to cancel the emergency shuttle, sending it back to centcomm*/
|
||||
/client/proc/cmd_admin_direct_narrate, /*send text directly to a player with no padding. Useful for narratives and fluff-text*/
|
||||
/client/proc/cmd_admin_world_narrate, /*sends text to all players with no padding*/
|
||||
/client/proc/cmd_admin_create_centcom_report,
|
||||
/client/proc/check_words /*displays cult-words*/
|
||||
)
|
||||
var/list/admin_verbs_ban = list(
|
||||
/client/proc/unban_panel,
|
||||
/client/proc/jobbans,
|
||||
/client/proc/unjobban_panel,
|
||||
/client/proc/DB_ban_panel
|
||||
)
|
||||
var/list/admin_verbs_sounds = list(
|
||||
/client/proc/play_local_sound,
|
||||
/client/proc/play_sound
|
||||
)
|
||||
var/list/admin_verbs_fun = list(
|
||||
/client/proc/object_talk,
|
||||
/client/proc/cmd_admin_dress,
|
||||
/client/proc/cmd_admin_gib_self,
|
||||
/client/proc/drop_bomb,
|
||||
/client/proc/cinematic,
|
||||
/client/proc/one_click_antag,
|
||||
/datum/admins/proc/toggle_aliens,
|
||||
/datum/admins/proc/toggle_space_ninja,
|
||||
/client/proc/only_one,
|
||||
/client/proc/send_space_ninja,
|
||||
/client/proc/cmd_admin_add_freeform_ai_law,
|
||||
/client/proc/cmd_admin_add_random_ai_law,
|
||||
/client/proc/make_sound,
|
||||
/client/proc/toggle_random_events
|
||||
)
|
||||
var/list/admin_verbs_spawn = list(
|
||||
/datum/admins/proc/spawn_atom, /*allows us to spawn instances*/
|
||||
/client/proc/respawn_character
|
||||
)
|
||||
var/list/admin_verbs_server = list(
|
||||
/client/proc/Set_Holiday,
|
||||
/client/proc/ToRban,
|
||||
/datum/admins/proc/startnow,
|
||||
/datum/admins/proc/restart,
|
||||
/datum/admins/proc/delay,
|
||||
/datum/admins/proc/toggleaban,
|
||||
/client/proc/toggle_log_hrefs,
|
||||
/datum/admins/proc/immreboot,
|
||||
/client/proc/everyone_random,
|
||||
/datum/admins/proc/toggleAI,
|
||||
/client/proc/cmd_admin_delete, /*delete an instance/object/mob/etc*/
|
||||
/client/proc/cmd_debug_del_all,
|
||||
/datum/admins/proc/adrev,
|
||||
/datum/admins/proc/adspawn,
|
||||
/datum/admins/proc/adjump,
|
||||
/client/proc/toggle_random_events
|
||||
)
|
||||
var/list/admin_verbs_debug = list(
|
||||
/client/proc/restart_controller,
|
||||
/client/proc/cmd_admin_list_open_jobs,
|
||||
/client/proc/Debug2,
|
||||
/client/proc/kill_air,
|
||||
/client/proc/cmd_debug_make_powernets,
|
||||
/client/proc/kill_airgroup,
|
||||
/client/proc/debug_controller,
|
||||
/client/proc/cmd_debug_mob_lists,
|
||||
/client/proc/cmd_admin_delete,
|
||||
/client/proc/cmd_debug_del_all,
|
||||
/client/proc/cmd_debug_tog_aliens,
|
||||
/client/proc/air_report,
|
||||
/client/proc/reload_admins,
|
||||
/client/proc/restart_controller,
|
||||
/client/proc/enable_debug_verbs
|
||||
)
|
||||
var/list/admin_verbs_possess = list(
|
||||
/proc/possess,
|
||||
/proc/release
|
||||
)
|
||||
var/list/admin_verbs_permissions = list(
|
||||
/client/proc/edit_admin_permissions
|
||||
)
|
||||
var/list/admin_verbs_rejuv = list(
|
||||
/client/proc/cmd_admin_rejuvenate,
|
||||
/client/proc/respawn_character
|
||||
)
|
||||
|
||||
//verbs which can be hidden - needs work
|
||||
var/list/admin_verbs_hideable = list(
|
||||
/client/proc/deadmin_self,
|
||||
/client/proc/deadchat,
|
||||
/client/proc/toggleprayers,
|
||||
/client/proc/toggle_hear_deadcast,
|
||||
/client/proc/toggle_hear_radio,
|
||||
/datum/admins/proc/show_traitor_panel,
|
||||
/datum/admins/proc/toggleenter,
|
||||
/datum/admins/proc/toggleguests,
|
||||
/datum/admins/proc/announce,
|
||||
/client/proc/colorooc,
|
||||
/client/proc/admin_ghost,
|
||||
/client/proc/toggle_view_range,
|
||||
/datum/admins/proc/view_txt_log,
|
||||
// /datum/admins/proc/view_atk_log,
|
||||
/client/proc/cmd_admin_subtle_message,
|
||||
/client/proc/cmd_admin_check_contents,
|
||||
/datum/admins/proc/access_news_network,
|
||||
/client/proc/giveruntimelog,
|
||||
/client/proc/getserverlog,
|
||||
/client/proc/admin_call_shuttle,
|
||||
/client/proc/admin_cancel_shuttle,
|
||||
/client/proc/cmd_admin_direct_narrate,
|
||||
/client/proc/cmd_admin_world_narrate,
|
||||
/client/proc/check_words,
|
||||
/client/proc/play_local_sound,
|
||||
/client/proc/play_sound,
|
||||
/client/proc/object_talk,
|
||||
/client/proc/cmd_admin_dress,
|
||||
/client/proc/cmd_admin_gib_self,
|
||||
/client/proc/drop_bomb,
|
||||
/client/proc/cinematic,
|
||||
/datum/admins/proc/toggle_aliens,
|
||||
/datum/admins/proc/toggle_space_ninja,
|
||||
/client/proc/only_one,
|
||||
/client/proc/send_space_ninja,
|
||||
/client/proc/cmd_admin_add_freeform_ai_law,
|
||||
/client/proc/cmd_admin_add_random_ai_law,
|
||||
/client/proc/cmd_admin_create_centcom_report,
|
||||
/client/proc/make_sound,
|
||||
/client/proc/toggle_random_events,
|
||||
/client/proc/cmd_admin_add_random_ai_law,
|
||||
/client/proc/Set_Holiday,
|
||||
/client/proc/ToRban,
|
||||
/datum/admins/proc/startnow,
|
||||
/datum/admins/proc/restart,
|
||||
/datum/admins/proc/delay,
|
||||
/datum/admins/proc/toggleaban,
|
||||
/client/proc/toggle_log_hrefs,
|
||||
/datum/admins/proc/immreboot,
|
||||
/client/proc/everyone_random,
|
||||
/datum/admins/proc/toggleAI,
|
||||
/datum/admins/proc/adrev,
|
||||
/datum/admins/proc/adspawn,
|
||||
/datum/admins/proc/adjump,
|
||||
/client/proc/restart_controller,
|
||||
/client/proc/cmd_admin_list_open_jobs,
|
||||
/client/proc/callproc,
|
||||
/client/proc/Debug2,
|
||||
/client/proc/reload_admins,
|
||||
/client/proc/kill_air,
|
||||
/client/proc/cmd_debug_make_powernets,
|
||||
/client/proc/kill_airgroup,
|
||||
/client/proc/debug_controller,
|
||||
/client/proc/startSinglo,
|
||||
/client/proc/cmd_debug_mob_lists,
|
||||
/client/proc/cmd_debug_del_all,
|
||||
/client/proc/cmd_debug_tog_aliens,
|
||||
/client/proc/air_report,
|
||||
/client/proc/enable_debug_verbs,
|
||||
/proc/possess,
|
||||
/proc/release
|
||||
)
|
||||
|
||||
/client/proc/add_admin_verbs()
|
||||
if(holder)
|
||||
verbs += admin_verbs_default
|
||||
if(holder.rights & R_BUILDMODE) verbs += /client/proc/togglebuildmodeself
|
||||
if(holder.rights & R_ADMIN) verbs += admin_verbs_admin
|
||||
if(holder.rights & R_BAN) verbs += admin_verbs_ban
|
||||
if(holder.rights & R_FUN) verbs += admin_verbs_fun
|
||||
if(holder.rights & R_SERVER) verbs += admin_verbs_server
|
||||
if(holder.rights & R_DEBUG) verbs += admin_verbs_debug
|
||||
if(holder.rights & R_POSSESS) verbs += admin_verbs_possess
|
||||
if(holder.rights & R_PERMISSIONS) verbs += admin_verbs_permissions
|
||||
if(holder.rights & R_STEALTH) verbs += /client/proc/stealth
|
||||
if(holder.rights & R_REJUVINATE) verbs += admin_verbs_rejuv
|
||||
if(holder.rights & R_SOUNDS) verbs += admin_verbs_sounds
|
||||
if(holder.rights & R_SPAWN) verbs += admin_verbs_spawn
|
||||
|
||||
/client/proc/remove_admin_verbs()
|
||||
verbs.Remove(
|
||||
admin_verbs_default,
|
||||
/client/proc/togglebuildmodeself,
|
||||
admin_verbs_admin,
|
||||
admin_verbs_ban,
|
||||
admin_verbs_fun,
|
||||
admin_verbs_server,
|
||||
admin_verbs_debug,
|
||||
admin_verbs_possess,
|
||||
admin_verbs_permissions,
|
||||
/client/proc/stealth,
|
||||
admin_verbs_rejuv,
|
||||
admin_verbs_sounds,
|
||||
admin_verbs_spawn,
|
||||
/*Debug verbs added by "show debug verbs"*/
|
||||
/client/proc/Cell,
|
||||
/client/proc/do_not_use_these,
|
||||
/client/proc/camera_view,
|
||||
/client/proc/sec_camera_report,
|
||||
/client/proc/intercom_view,
|
||||
/client/proc/air_status,
|
||||
/client/proc/atmosscan,
|
||||
/client/proc/powerdebug,
|
||||
/client/proc/count_objects_on_z_level,
|
||||
/client/proc/count_objects_all,
|
||||
/client/proc/cmd_assume_direct_control,
|
||||
/client/proc/jump_to_dead_group,
|
||||
/client/proc/startSinglo,
|
||||
/client/proc/ticklag,
|
||||
/client/proc/cmd_admin_grantfullaccess,
|
||||
/client/proc/kaboom,
|
||||
/client/proc/splash,
|
||||
/client/proc/cmd_admin_areatest
|
||||
)
|
||||
|
||||
/client/proc/hide_most_verbs()//Allows you to keep some functionality while hiding some verbs
|
||||
set name = "Adminverbs - Hide Most"
|
||||
set category = "Admin"
|
||||
|
||||
verbs.Remove(/client/proc/hide_most_verbs, admin_verbs_hideable)
|
||||
verbs += /client/proc/show_verbs
|
||||
|
||||
src << "<span class='interface'>Most of your adminverbs have been hidden.</span>"
|
||||
feedback_add_details("admin_verb","HMV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/hide_verbs()
|
||||
set name = "Adminverbs - Hide All"
|
||||
set category = "Admin"
|
||||
|
||||
remove_admin_verbs()
|
||||
verbs += /client/proc/show_verbs
|
||||
|
||||
src << "<span class='interface'>Almost all of your adminverbs have been hidden.</span>"
|
||||
feedback_add_details("admin_verb","TAVVH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/show_verbs()
|
||||
set name = "Adminverbs - Show"
|
||||
set category = "Admin"
|
||||
|
||||
verbs -= /client/proc/show_verbs
|
||||
add_admin_verbs()
|
||||
|
||||
src << "<span class='interface'>All of your adminverbs are now visible.</span>"
|
||||
feedback_add_details("admin_verb","TAVVS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/client/proc/admin_ghost()
|
||||
set category = "Admin"
|
||||
set name = "Aghost"
|
||||
@@ -472,19 +317,6 @@
|
||||
body.key = "@[key]" //Haaaaaaaack. But the people have spoken. If it breaks; blame adminbus
|
||||
feedback_add_details("admin_verb","O") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/*
|
||||
/client/proc/get_admin_state()
|
||||
set name = "Get Admin State"
|
||||
set category = "Debug"
|
||||
for(var/client/C in admins)
|
||||
if(C.holder.state == 1)
|
||||
src << "[C.key] is playing - [C.holder.state]"
|
||||
else if(C.holder.state == 2)
|
||||
src << "[C.key] is observing - [C.holder.state]"
|
||||
else
|
||||
src << "[C.key] is undefined - [C.holder.state]"
|
||||
feedback_add_details("admin_verb","GAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
*/
|
||||
|
||||
/client/proc/invisimin()
|
||||
set name = "Invisimin"
|
||||
@@ -533,7 +365,10 @@
|
||||
set name = "Display Job bans"
|
||||
set category = "Admin"
|
||||
if(holder)
|
||||
holder.Jobbans()
|
||||
if(config.ban_legacy_system)
|
||||
holder.Jobbans()
|
||||
else
|
||||
holder.DB_ban_panel()
|
||||
feedback_add_details("admin_verb","VJB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
@@ -541,7 +376,10 @@
|
||||
set name = "Unban Panel"
|
||||
set category = "Admin"
|
||||
if(holder)
|
||||
holder.unbanpanel()
|
||||
if(config.ban_legacy_system)
|
||||
holder.unbanpanel()
|
||||
else
|
||||
holder.DB_ban_panel()
|
||||
feedback_add_details("admin_verb","UBP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
@@ -586,17 +424,14 @@
|
||||
message_admins("[key_name_admin(usr)] has turned stealth mode [holder.fakekey ? "ON" : "OFF"]", 1)
|
||||
feedback_add_details("admin_verb","SM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
#define AUTOBATIME 10
|
||||
/client/proc/warn(var/mob/M in player_list)
|
||||
/*set category = "Special Verbs"
|
||||
set name = "Warn"
|
||||
set desc = "Warn a player"*/ //Based on the information I gathered via stat logging this verb was not used. Use the show player panel alternative. --erro
|
||||
if(!holder)
|
||||
src << "Only administrators may use this command."
|
||||
return
|
||||
if(M.client && M.client.holder && (M.client.holder.level >= holder.level))
|
||||
alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
|
||||
return
|
||||
|
||||
if(!check_rights(R_ADMIN)) return
|
||||
if(!M.client.warned)
|
||||
M << "\red <B>You have been warned by an administrator. This is the only warning you will recieve.</B>"
|
||||
M.client.warned = 1
|
||||
@@ -721,17 +556,6 @@
|
||||
log_admin("[key_name(usr)] used 'kill air'.")
|
||||
message_admins("\blue [key_name_admin(usr)] used 'kill air'.", 1)
|
||||
|
||||
/client/proc/show_verbs()
|
||||
set name = "Toggle admin verb visibility"
|
||||
set category = "Admin"
|
||||
src << "Restoring admin verbs back"
|
||||
|
||||
var/temp = deadchat
|
||||
holder.state = null //forces a full verbs update
|
||||
update_admins(holder.rank)
|
||||
deadchat = temp
|
||||
feedback_add_details("admin_verb","TAVVS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/toggle_clickproc() //TODO ERRORAGE (This is a temporary verb here while I test the new clicking proc)
|
||||
set name = "Toggle NewClickProc"
|
||||
set category = "Debug"
|
||||
@@ -763,72 +587,14 @@
|
||||
set name = "De-admin self"
|
||||
set category = "Admin"
|
||||
|
||||
if(src.holder)
|
||||
if(holder)
|
||||
if(alert("Confirm self-deadmin for the round? You can't re-admin yourself without someont promoting you.",,"Yes","No") == "Yes")
|
||||
log_admin("[src] deadmined themself.")
|
||||
message_admins("[src] deadmined themself.", 1)
|
||||
deadmin()
|
||||
usr << "You are now a normal player."
|
||||
src << "<span class='interface'>You are now a normal player.</span>"
|
||||
feedback_add_details("admin_verb","DAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/proc/hide_most_verbs()//Allows you to keep some functionality while hiding some verbs
|
||||
set name = "Toggle most admin verb visibility"
|
||||
set category = "Admin"
|
||||
src << "Hiding most admin verbs"
|
||||
|
||||
var/temp = deadchat
|
||||
clear_admin_verbs()
|
||||
deadchat = temp
|
||||
verbs -= /client/proc/hide_verbs
|
||||
verbs -= /client/proc/hide_most_verbs
|
||||
verbs += /client/proc/show_verbs
|
||||
|
||||
if(holder.level >= 5)//Game Admin********************************************************************
|
||||
verbs += /client/proc/colorooc
|
||||
|
||||
if(holder.level >= 4)//Badmin********************************************************************
|
||||
verbs += /client/proc/debug_variables
|
||||
//verbs += /client/proc/cmd_modify_object_variables --merged with view vairiables
|
||||
verbs += /client/proc/Jump
|
||||
verbs += /client/proc/jumptoturf
|
||||
verbs += /client/proc/togglebuildmodeself
|
||||
|
||||
verbs += /client/proc/dsay
|
||||
verbs += /client/proc/admin_ghost
|
||||
verbs += /client/proc/game_panel
|
||||
verbs += /client/proc/player_panel
|
||||
verbs += /client/proc/cmd_admin_subtle_message
|
||||
verbs += /client/proc/cmd_admin_pm_context
|
||||
verbs += /client/proc/cmd_admin_pm_panel
|
||||
verbs += /client/proc/cmd_admin_gib_self
|
||||
|
||||
verbs += /client/proc/deadchat //toggles deadchat
|
||||
verbs += /datum/admins/proc/toggleooc //toggle ooc
|
||||
verbs += /client/proc/cmd_admin_say//asay
|
||||
verbs += /client/proc/toggleadminhelpsound
|
||||
feedback_add_details("admin_verb","HMV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
|
||||
/client/proc/hide_verbs()
|
||||
set name = "Toggle admin verb visibility"
|
||||
set category = "Admin"
|
||||
src << "Hiding almost all admin verbs"
|
||||
|
||||
var/temp = deadchat
|
||||
clear_admin_verbs()
|
||||
deadchat = temp
|
||||
verbs -= /client/proc/hide_verbs
|
||||
verbs -= /client/proc/hide_most_verbs
|
||||
verbs += /client/proc/show_verbs
|
||||
|
||||
verbs += /client/proc/deadchat //toggles deadchat
|
||||
verbs += /datum/admins/proc/toggleooc //toggle ooc
|
||||
verbs += /client/proc/cmd_admin_say//asay
|
||||
feedback_add_details("admin_verb","TAVVH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/toggle_log_hrefs()
|
||||
set name = "Toggle href logging"
|
||||
set category = "Server"
|
||||
|
||||
Reference in New Issue
Block a user