Duty Officers

This commit is contained in:
SoundScopes
2015-02-18 15:08:03 +00:00
parent 330a2e7938
commit 6d945b97d2
21 changed files with 809 additions and 140 deletions
+107 -96
View File
@@ -46,6 +46,10 @@ var/global/floorIsLava = 0
usr << "Error: you are not an admin!"
return
if(!src.rights & (R_ADMIN|R_MOD|R_FUN|R_DEV))
usr << "Error: you are not an admin!"
return
var/body = "<html><head><center><title>Options for [M.key]</title></head>"
body += "<body>Options panel for <b>[M]</b>"
if(M.client)
@@ -122,98 +126,100 @@ var/global/floorIsLava = 0
"}
if (M.client)
if(!istype(M, /mob/new_player))
body += "<br><br>"
body += "<b>Transformation:</b>"
body += "<br>"
if(check_rights(R_ADMIN|R_MOD|R_FUN,0))
if(!istype(M, /mob/new_player))
body += "<br><br>"
body += "<b>Transformation:</b>"
body += "<br>"
//Monkey
if(ismonkey(M))
body += "<B>Monkeyized</B> | "
else
body += "<A href='?src=\ref[src];monkeyone=\ref[M]'>Monkeyize</A> | "
//Monkey
if(ismonkey(M))
body += "<B>Monkeyized</B> | "
else
body += "<A href='?src=\ref[src];monkeyone=\ref[M]'>Monkeyize</A> | "
//Corgi
if(iscorgi(M))
body += "<B>Corgized</B> | "
else
body += "<A href='?src=\ref[src];corgione=\ref[M]'>Corgize</A> | "
//Corgi
if(iscorgi(M))
body += "<B>Corgized</B> | "
else
body += "<A href='?src=\ref[src];corgione=\ref[M]'>Corgize</A> | "
//AI / Cyborg
if(isAI(M))
body += "<B>Is an AI</B> "
else if(ishuman(M))
body += {"<A href='?src=\ref[src];makeai=\ref[M]'>Make AI</A> |
<A href='?src=\ref[src];makerobot=\ref[M]'>Make Robot</A> |
<A href='?src=\ref[src];makeslime=\ref[M]'>Make slime</A> |
<A href='?src=\ref[src];makealien=\ref[M]'>Make Alien(BROKEN)</A> |
//AI / Cyborg
if(isAI(M))
body += "<B>Is an AI</B> "
else if(ishuman(M))
body += {"<A href='?src=\ref[src];makeai=\ref[M]'>Make AI</A> |
<A href='?src=\ref[src];makerobot=\ref[M]'>Make Robot</A> |
<A href='?src=\ref[src];makeslime=\ref[M]'>Make slime</A> |
<A href='?src=\ref[src];makealien=\ref[M]'>Make Alien(BROKEN)</A> |
"}
//Simple Animals
if(isanimal(M))
body += "<A href='?src=\ref[src];makeanimal=\ref[M]'>Re-Animalize</A> | "
else
body += "<A href='?src=\ref[src];makeanimal=\ref[M]'>Animalize</A> | "
// DNA2 - Admin Hax
if(M.dna && iscarbon(M))
body += "<br><br>"
body += "<b>DNA Blocks:</b><br><table border='2'><tr><th>&nbsp;</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th>"
var/bname
for(var/block=1;block<=DNA_SE_LENGTH;block++)
if(((block-1)%5)==0)
body += "</tr><tr><th>[block-1]</th>"
bname = assigned_blocks[block]
body += "<td>"
if(bname)
var/bstate=M.dna.GetSEState(block)
var/bcolor="[(bstate)?"#006600":"#ff0000"]"
body += "<A href='?src=\ref[src];togmutate=\ref[M];block=[block]' style='color:[bcolor];'>[bname]</A><sub>[block]</sub>"
else
body += "[block]"
body+="</td>"
body += "</tr></table>"
body += {"<br><br>
<b>Rudimentary transformation:</b><font size=2><br>These transformations only create a new mob type and copy stuff over. They do not take into account MMIs and similar mob-specific things. The buttons in 'Transformations' are preferred, when possible.</font><br>
<A href='?src=\ref[src];simplemake=observer;mob=\ref[M]'>Observer</A> |
<A href='?src=\ref[src];simplemake=robot;mob=\ref[M]'>Cyborg</A> |
<A href='?src=\ref[src];simplemake=human;mob=\ref[M]'>Human</A><br>
Slime: <A href='?src=\ref[src];simplemake=slime;mob=\ref[M]'>Baby</A> |
<A href='?src=\ref[src];simplemake=adultslime;mob=\ref[M]'>Adult</A><br>
Animal: <A href='?src=\ref[src];simplemake=monkey;mob=\ref[M]'>Monkey</A> |
<A href='?src=\ref[src];simplemake=cat;mob=\ref[M]'>Cat</A> |
<A href='?src=\ref[src];simplemake=runtime;mob=\ref[M]'>Runtime</A> |
<A href='?src=\ref[src];simplemake=corgi;mob=\ref[M]'>Corgi</A> |
<A href='?src=\ref[src];simplemake=ian;mob=\ref[M]'>Ian</A> |
<A href='?src=\ref[src];simplemake=crab;mob=\ref[M]'>Crab</A> |
<A href='?src=\ref[src];simplemake=coffee;mob=\ref[M]'>Coffee</A> |
<A href='?src=\ref[src];simplemake=nymph;mob=\ref[M]'>Nymph</A><br>
Construct: <A href='?src=\ref[src];simplemake=constructarmoured;mob=\ref[M]'>Armoured</A> |
<A href='?src=\ref[src];simplemake=constructbuilder;mob=\ref[M]'>Builder</A> |
<A href='?src=\ref[src];simplemake=constructwraith;mob=\ref[M]'>Wraith</A> |
<A href='?src=\ref[src];simplemake=shade;mob=\ref[M]'>Shade</A><br>
Alien: <A href='?src=\ref[src];simplemake=drone;mob=\ref[M]'>Drone</A> |
<A href='?src=\ref[src];simplemake=hunter;mob=\ref[M]'>Hunter</A> |
<A href='?src=\ref[src];simplemake=queen;mob=\ref[M]'>Queen</A> |
<A href='?src=\ref[src];simplemake=sentinel;mob=\ref[M]'>Sentinel</A> |
<A href='?src=\ref[src];simplemake=larva;mob=\ref[M]'>Larva</A><br>
"}
//Simple Animals
if(isanimal(M))
body += "<A href='?src=\ref[src];makeanimal=\ref[M]'>Re-Animalize</A> | "
else
body += "<A href='?src=\ref[src];makeanimal=\ref[M]'>Animalize</A> | "
// DNA2 - Admin Hax
if(M.dna && iscarbon(M))
body += "<br><br>"
body += "<b>DNA Blocks:</b><br><table border='2'><tr><th>&nbsp;</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th>"
var/bname
for(var/block=1;block<=DNA_SE_LENGTH;block++)
if(((block-1)%5)==0)
body += "</tr><tr><th>[block-1]</th>"
bname = assigned_blocks[block]
body += "<td>"
if(bname)
var/bstate=M.dna.GetSEState(block)
var/bcolor="[(bstate)?"#006600":"#ff0000"]"
body += "<A href='?src=\ref[src];togmutate=\ref[M];block=[block]' style='color:[bcolor];'>[bname]</A><sub>[block]</sub>"
else
body += "[block]"
body+="</td>"
body += "</tr></table>"
body += {"<br><br>
<b>Rudimentary transformation:</b><font size=2><br>These transformations only create a new mob type and copy stuff over. They do not take into account MMIs and similar mob-specific things. The buttons in 'Transformations' are preferred, when possible.</font><br>
<A href='?src=\ref[src];simplemake=observer;mob=\ref[M]'>Observer</A> |
<A href='?src=\ref[src];simplemake=robot;mob=\ref[M]'>Cyborg</A> |
<A href='?src=\ref[src];simplemake=human;mob=\ref[M]'>Human</A><br>
Slime: <A href='?src=\ref[src];simplemake=slime;mob=\ref[M]'>Baby</A> |
<A href='?src=\ref[src];simplemake=adultslime;mob=\ref[M]'>Adult</A><br>
Animal: <A href='?src=\ref[src];simplemake=monkey;mob=\ref[M]'>Monkey</A> |
<A href='?src=\ref[src];simplemake=cat;mob=\ref[M]'>Cat</A> |
<A href='?src=\ref[src];simplemake=runtime;mob=\ref[M]'>Runtime</A> |
<A href='?src=\ref[src];simplemake=corgi;mob=\ref[M]'>Corgi</A> |
<A href='?src=\ref[src];simplemake=ian;mob=\ref[M]'>Ian</A> |
<A href='?src=\ref[src];simplemake=crab;mob=\ref[M]'>Crab</A> |
<A href='?src=\ref[src];simplemake=coffee;mob=\ref[M]'>Coffee</A> |
<A href='?src=\ref[src];simplemake=nymph;mob=\ref[M]'>Nymph</A><br>
Construct: <A href='?src=\ref[src];simplemake=constructarmoured;mob=\ref[M]'>Armoured</A> |
<A href='?src=\ref[src];simplemake=constructbuilder;mob=\ref[M]'>Builder</A> |
<A href='?src=\ref[src];simplemake=constructwraith;mob=\ref[M]'>Wraith</A> |
<A href='?src=\ref[src];simplemake=shade;mob=\ref[M]'>Shade</A><br>
Alien: <A href='?src=\ref[src];simplemake=drone;mob=\ref[M]'>Drone</A> |
<A href='?src=\ref[src];simplemake=hunter;mob=\ref[M]'>Hunter</A> |
<A href='?src=\ref[src];simplemake=queen;mob=\ref[M]'>Queen</A> |
<A href='?src=\ref[src];simplemake=sentinel;mob=\ref[M]'>Sentinel</A> |
<A href='?src=\ref[src];simplemake=larva;mob=\ref[M]'>Larva</A><br>
"}
if (M.client)
body += {"<br><br>
<b>Other actions:</b>
<br>
<A href='?src=\ref[src];forcespeech=\ref[M]'>Forcesay</A> |
<A href='?src=\ref[src];tdome1=\ref[M]'>Thunderdome 1</A> |
<A href='?src=\ref[src];tdome2=\ref[M]'>Thunderdome 2</A> |
<A href='?src=\ref[src];tdomeadmin=\ref[M]'>Thunderdome Admin</A> |
<A href='?src=\ref[src];tdomeobserve=\ref[M]'>Thunderdome Observer</A> |
"}
if(check_rights(R_ADMIN|R_FUN,0))
body += {"<br><br>
<b>Other actions:</b>
<br>
<A href='?src=\ref[src];forcespeech=\ref[M]'>Forcesay</A> |
<A href='?src=\ref[src];tdome1=\ref[M]'>Thunderdome 1</A> |
<A href='?src=\ref[src];tdome2=\ref[M]'>Thunderdome 2</A> |
<A href='?src=\ref[src];tdomeadmin=\ref[M]'>Thunderdome Admin</A> |
<A href='?src=\ref[src];tdomeobserve=\ref[M]'>Thunderdome Observer</A> |
"}
body += {"<br>
</center></body></html>
@@ -589,14 +595,16 @@ var/global/floorIsLava = 0
usr << browse(dat, "window=ban;size=400x400")
/datum/admins/proc/Game()
if(!check_rights(0)) return
if(!check_rights(R_ADMIN|R_FUN)) return
var/dat = {"
<center><B>Game Panel</B></center><hr>\n
<A href='?src=\ref[src];c_mode=1'>Change Game Mode</A><br>
"}
if(master_mode == "secret")
dat += "<A href='?src=\ref[src];f_secret=1'>(Force Secret Mode)</A><br>"
var/dat = ""
if(check_rights(R_ADMIN,0))
dat += {"
<center><B>Game Panel</B></center><hr>\n
<A href='?src=\ref[src];c_mode=1'>Change Game Mode</A><br>
"}
if(master_mode == "secret")
dat += "<A href='?src=\ref[src];f_secret=1'>(Force Secret Mode)</A><br>"
dat += {"
<BR>
@@ -604,10 +612,13 @@ var/global/floorIsLava = 0
<A href='?src=\ref[src];quick_create_object=1'>Quick Create Object</A><br>
<A href='?src=\ref[src];create_turf=1'>Create Turf</A><br>
<A href='?src=\ref[src];create_mob=1'>Create Mob</A><br>
<br><A href='?src=\ref[src];vsc=airflow'>Edit Airflow Settings</A><br>
<A href='?src=\ref[src];vsc=plasma'>Edit Plasma Settings</A><br>
<A href='?src=\ref[src];vsc=default'>Choose a default ZAS setting</A><br>
"}
if(check_rights(R_ADMIN,0))
dat += {"
<br><A href='?src=\ref[src];vsc=airflow'>Edit Airflow Settings</A><br>
<A href='?src=\ref[src];vsc=plasma'>Edit Plasma Settings</A><br>
<A href='?src=\ref[src];vsc=default'>Choose a default ZAS setting</A><br>
"}
usr << browse(dat, "window=admin2;size=210x280")
return
+1
View File
@@ -42,6 +42,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights
if("spawn","create") rights |= R_SPAWN
if("mod") rights |= R_MOD
if("developer") rights |= R_DEV
if("dutyofficer") rights |= R_DUTYOFF
admin_ranks[rank] = rights
previous_rights = rights
+8 -1
View File
@@ -1,5 +1,6 @@
/*
//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(
var/list/admin_verbs_default = list(
/client/proc/player_panel,
/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*/
@@ -101,6 +102,7 @@ var/list/admin_verbs_sounds = list(
var/list/admin_verbs_fun = list(
//Hey look it's in order of letters ^_^
/datum/admins/proc/access_news_network,
/datum/admins/proc/Game,
/datum/admins/proc/toggle_aliens,
/datum/admins/proc/toggle_space_ninja,
/client/proc/admin_ghost,
@@ -138,6 +140,7 @@ var/list/admin_verbs_fun = list(
/client/proc/send_space_ninja,
/client/proc/toggle_view_range
)
var/list/admin_verbs_dev = list(
/client/proc/dsay,
/client/proc/togglebuildmodeself,
@@ -388,6 +391,7 @@ var/list/admin_verbs_mod = list(
/client/proc/toggle_power_update_profiling,
/client/proc/atmos_toggle_debug
)
*/
/client/proc/hide_most_verbs()//Allows you to keep some functionality while hiding some verbs
set name = "Adminverbs - Hide Most"
@@ -445,6 +449,9 @@ var/list/admin_verbs_mod = list(
else if(istype(mob,/mob/new_player))
src << "<font color='red'>Error: Aghost: Can't admin-ghost whilst in the lobby. Join or Observe first.</font>"
else
//first lets see if this works
if(!holder.original_mob)
holder.original_mob = mob
//ghostize
var/mob/body = mob
body.ghostize(1)
+2
View File
@@ -8,6 +8,8 @@ var/list/admin_datums = list()
var/datum/marked_datum
var/mob/living/original_mob = null //used to return to body from Duty Officers
var/admincaster_screen = 0 //See newscaster.dm under machinery for a full description
var/datum/feed_message/admincaster_feed_message = new /datum/feed_message //These two will act as holders.
var/datum/feed_channel/admincaster_feed_channel = new /datum/feed_channel
@@ -0,0 +1,417 @@
//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(
/client/proc/deadmin_self, /*destroys our own admin datum so we can play as a regular player*/
/client/proc/hide_verbs, /*hides all our adminverbs*/
)
var/list/admin_verbs_admin = list(
// /datum/admins/proc/show_traitor_panel, /*interface which shows a mob's mind*/ -Removed due to rare practical use. Moved to debug verbs ~Errorage
// /client/proc/sendmob, /*sends a mob somewhere*/ -Removed due to it needing two sorting procs to work, which were executed every time an admin right-clicked. ~Errorage
// /client/proc/toggle_hear_deadcast, /*toggles whether we hear deadchat*/
// /client/proc/deadchat /*toggles deadchat on/off*/
/datum/admins/proc/announce, /*priority announce something to all clients.*/
/datum/admins/proc/access_news_network, /*allows access of newscasters*/
/datum/admins/proc/PlayerNotes,
/datum/admins/proc/show_player_info,
/datum/admins/proc/show_player_panel, /*shows an interface for individual players, with various links (links require additional flags*/
/datum/admins/proc/show_skills,
/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/toggleooc, /*toggles ooc on/off for everyone*/
/datum/admins/proc/toggledevooc,
/datum/admins/proc/togglemodooc,
/datum/admins/proc/togglelooc,
/datum/admins/proc/togglemodlooc,
/datum/admins/proc/toggledevlooc,
/datum/admins/proc/toggleoocdead, /*toggles ooc on/off for everyone who is dead*/
/datum/admins/proc/toggledsay, /*toggles dsay on/off for everyone*/
/datum/admins/proc/view_atk_log, /*shows the server combat-log, doesn't do anything presently*/
/datum/admins/proc/view_txt_log, /*shows the server log (diary) for today*/
/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/admin_ghost, /*allows us to ghost/reenter body at will*/
/client/proc/admin_memo, /*admin memo system. show/delete/write. +SERVER needed to delete admin memos of others*/
/client/proc/alertlevels,
/client/proc/allow_character_respawn, /* Allows a ghost to respawn */
/client/proc/check_ai_laws, /*shows AI and borg laws*/
/client/proc/check_antagonists,
/client/proc/check_customitem_activity,
/client/proc/check_words, /*displays cult-words*/
/client/proc/cleartox,
/client/proc/cmd_admin_check_contents, /*displays the contents of an instance*/
/client/proc/cmd_admin_create_centcom_report,
/client/proc/cmd_admin_change_custom_event,
/client/proc/cmd_admin_delete, /*delete an instance/object/mob/etc*/
/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_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_say, /*admin-only ooc chat*/
/client/proc/cmd_admin_rejuvenate,
/client/proc/cmd_admin_unwind,
/client/proc/cmd_admin_wind,
/client/proc/cmd_admin_world_narrate, /*sends text to all players with no padding*/
/client/proc/cmd_duty_say,
/client/proc/cmd_mentor_check_new_players,
/client/proc/cmd_mod_say,
/client/proc/colorooc, /*allows us to set a custom colour for everythign we say in ooc*/
/client/proc/debug_variables, /*allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify*/
/client/proc/dsay, /*talk in deadchat using our ckey/fakekey*/
/client/proc/free_slot, /*frees slot for chosen job*/
/client/proc/game_panel, /*game panel, allows to change game-mode etc*/
/client/proc/Getmob, /*teleports a mob to our location*/
/client/proc/Getkey, /*teleports a mob with a certain ckey to our location*/
/client/proc/getserverlog, /*allows us to fetch server logs (diary) for other days*/
/client/proc/giveruntimelog, /*allows us to give access to runtime logs to somebody*/
/client/proc/global_man_up,
/client/proc/hide_most_verbs, /*hides all our hideable adminverbs*/
/client/proc/investigate_show, /*various admintools for investigation. Such as a singulo grief-log*/
/client/proc/invisimin, /*allows our mob to go invisible/visible*/
/client/proc/Jump,
/client/proc/jumptocoord, /*we ghost and jump to a coordinate*/
/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/man_up,
/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/response_team, // Response Teams admin verb
/client/proc/toggleadminhelpsound, /*toggles whether we hear a sound when adminhelps/PMs are used*/
/client/proc/toggle_antagHUD_use,
/client/proc/toggle_antagHUD_restrictions,
/client/proc/toggleattacklogs,
/client/proc/toggledebuglogs,
/client/proc/toggleghostwriters,
/client/proc/toggle_hear_radio, /*toggles whether we hear the radio*/
/client/proc/toggledrones,
/client/proc/toggleprayers,
/client/proc/toggle_view_range, /*changes how far we can see*/
/client/proc/secrets,
/client/proc/set_ooc
)
var/list/admin_verbs_ban = list(
/client/proc/unban_panel,
/client/proc/jobbans,
/client/proc/warning_panel
)
var/list/admin_verbs_sounds = list(
/client/proc/play_local_sound,
/client/proc/play_sound
)
var/list/admin_verbs_fun = list(
//Hey look it's in order of letters ^_^
/datum/admins/proc/access_news_network,
/datum/admins/proc/toggle_aliens,
/datum/admins/proc/toggle_space_ninja,
/client/proc/admin_ghost,
/client/proc/alertlevels,
/client/proc/check_ai_laws,
/client/proc/cinematic,
/client/proc/cmd_admin_add_freeform_ai_law,
/client/proc/cmd_admin_add_random_ai_law,
/client/proc/cmd_admin_change_custom_event,
/client/proc/cmd_admin_create_centcom_report,
/client/proc/cmd_admin_delete,
/client/proc/cmd_admin_direct_narrate,
/client/proc/cmd_admin_dress,
/client/proc/cmd_admin_gib_self,
/client/proc/cmd_admin_pm_context,
/client/proc/cmd_admin_pm_panel,
/client/proc/cmd_admin_subtle_message,
/client/proc/cmd_admin_world_narrate,
/client/proc/cmd_debug_tog_aliens,
/client/proc/cmd_mod_say,
/client/proc/debug_variables,
/client/proc/drop_bomb,
/client/proc/dsay,
/client/proc/editappear,
/client/proc/everyone_random,
/client/proc/game_panel,
/client/proc/Getmob,
/client/proc/Getkey,
/client/proc/hide_most_verbs,
/client/proc/Jump,
/client/proc/jumptokey,
/client/proc/jumptomob,
/client/proc/make_area_sound,
/client/proc/make_sound,
/client/proc/object_talk,
/client/proc/one_click_antag,
/client/proc/player_panel,
/client/proc/secrets,
/client/proc/send_space_ninja,
/client/proc/toggle_view_range
)
var/list/admin_verbs_dev = list(
/datum/admins/proc/restart,
/client/proc/admin_ghost,
/client/proc/air_report,
/client/proc/enable_debug_verbs,
/client/proc/cmd_admin_delete,
/client/proc/cmd_admin_list_open_jobs,
/client/proc/cmd_debug_del_all,
/client/proc/cmd_debug_make_powernets,
/client/proc/cmd_debug_mob_lists,
/client/proc/cmd_dev_bst,
/client/proc/cmd_dev_say,
/client/proc/cmd_dev_reset_gravity,
/client/proc/cmd_dev_reset_floating,
/client/proc/Debug2,
/client/proc/debug_controller,
/client/proc/debug_variables,
/client/proc/dsay,
/client/proc/getruntimelog,
/client/proc/giveruntimelog,
/client/proc/hide_most_verbs,
/client/proc/kill_air,
/client/proc/kill_airgroup,
/client/proc/player_panel,
/client/proc/reload_admins,
/client/proc/restart_controller,
/client/proc/togglebuildmodeself,
/client/proc/toggledebuglogs,
/client/proc/togglescopeslogs,
/client/proc/ZASSettings
)
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(
/datum/admins/proc/adrev,
/datum/admins/proc/adspawn,
/datum/admins/proc/adjump,
/datum/admins/proc/delay,
/datum/admins/proc/toggleaban,
/datum/admins/proc/toggleAI,
/datum/admins/proc/toggle_aliens,
/datum/admins/proc/toggle_space_ninja,
/datum/admins/proc/immreboot,
/datum/admins/proc/startnow,
/datum/admins/proc/restart,
/client/proc/check_customitem_activity,
/client/proc/cmd_admin_delete, /*delete an instance/object/mob/etc*/
/client/proc/cmd_debug_del_all,
/client/proc/everyone_random,
/client/proc/nanomapgen_DumpImage,
/client/proc/SDQL_query,
/client/proc/SDQL2_query,
/client/proc/Set_Holiday,
/client/proc/ToRban,
/client/proc/toggle_log_hrefs,
/client/proc/toggle_random_events
)
var/list/admin_verbs_debug = list(
/datum/admins/proc/delay,
/datum/admins/proc/restart,
/client/proc/air_report,
/client/proc/callproc,
/client/proc/cmd_admin_delete,
/client/proc/cmd_admin_list_open_jobs,
/client/proc/cmd_debug_del_all,
/client/proc/cmd_debug_make_powernets,
/client/proc/cmd_debug_mob_lists,
/client/proc/cmd_debug_tog_aliens,
/client/proc/cmd_dev_reset_gravity,
/client/proc/cmd_dev_reset_floating,
/client/proc/Debug2,
/client/proc/debug_controller,
/client/proc/debug_variables,
/client/proc/enable_debug_verbs,
/client/proc/fillspace,
/client/proc/getruntimelog,
/client/proc/hide_activity,
/client/proc/kill_air,
/client/proc/kill_airgroup,
/client/proc/show_distribution_map,
/client/proc/toggledebuglogs,
/client/proc/reload_admins,
/client/proc/restart_controller,
/client/proc/remake_distribution_map,
/client/proc/ZASSettings,
)
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/respawn_character
)
var/list/admin_verbs_mod = list(
/datum/admins/proc/PlayerNotes,
/datum/admins/proc/show_player_info,
/datum/admins/proc/show_skills,
/datum/admins/proc/show_player_panel,
/client/proc/admin_ghost, /*allows us to ghost/reenter body at will*/
/client/proc/check_antagonists, /*shows all antags*/
/client/proc/check_ai_laws,
/client/proc/cmd_admin_check_contents,
/client/proc/cmd_admin_wind,
/client/proc/cmd_admin_unwind,
/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_mentor_check_new_players,
/client/proc/cmd_mod_say,
/client/proc/debug_variables, /*allows us to -see- the variables of any instance in the game.*/
/client/proc/dsay,
/client/proc/hide_most_verbs,
/client/proc/jobbans,
/client/proc/player_panel,
/client/proc/player_panel_new,
/client/proc/toggleadminhelpsound, /*toggles whether we hear a sound when adminhelps/PMs are used*/
/client/proc/toggleattacklogs,
/client/proc/toggledebuglogs,
/client/proc/toggleprayers
)
//verbs which can be hidden - needs work
var/list/admin_verbs_hideable = list(
/datum/admins/proc/access_news_network,
/datum/admins/proc/adjump,
/datum/admins/proc/adrev,
/datum/admins/proc/adspawn,
/datum/admins/proc/announce,
/datum/admins/proc/delay,
/datum/admins/proc/immreboot,
/datum/admins/proc/restart,
/datum/admins/proc/show_traitor_panel,
/datum/admins/proc/startnow,
/datum/admins/proc/toggleaban,
/datum/admins/proc/toggleAI,
/datum/admins/proc/toggle_aliens,
/datum/admins/proc/toggleenter,
/datum/admins/proc/toggleguests,
/datum/admins/proc/toggle_space_ninja,
/datum/admins/proc/view_txt_log,
/datum/admins/proc/view_atk_log,
/client/proc/admin_call_shuttle,
/client/proc/admin_cancel_shuttle,
/client/proc/admin_ghost,
/client/proc/air_report,
/client/proc/callproc,
/client/proc/check_words,
/client/proc/cinematic,
/client/proc/cmd_admin_add_freeform_ai_law,
/client/proc/cmd_admin_add_random_ai_law,
/client/proc/cmd_admin_check_contents,
/client/proc/cmd_admin_create_centcom_report,
/client/proc/cmd_admin_direct_narrate,
/client/proc/cmd_admin_dress,
/client/proc/cmd_admin_gib_self,
/client/proc/cmd_admin_subtle_message,
/client/proc/cmd_admin_world_narrate,
/client/proc/cmd_debug_make_powernets,
/client/proc/cmd_debug_mob_lists,
/client/proc/cmd_admin_list_open_jobs,
/client/proc/cmd_debug_del_all,
/client/proc/cmd_debug_tog_aliens,
/client/proc/colorooc,
// /client/proc/deadchat,
/client/proc/deadmin_self,
/client/proc/Debug2,
/client/proc/debug_controller,
/client/proc/drop_bomb,
/client/proc/enable_debug_verbs,
/client/proc/everyone_random,
/client/proc/kill_air,
/client/proc/kill_airgroup,
/client/proc/make_area_sound,
/client/proc/make_sound,
/client/proc/object_talk,
/client/proc/play_local_sound,
/client/proc/play_sound,
/client/proc/reload_admins,
/client/proc/restart_controller,
/client/proc/send_space_ninja,
/client/proc/Set_Holiday,
/client/proc/set_ooc,
/client/proc/startSinglo,
/client/proc/toggle_hear_radio,
/client/proc/toggle_log_hrefs,
/client/proc/toggleprayers,
/client/proc/toggle_random_events,
/client/proc/toggle_view_range,
/client/proc/ToRban,
/proc/possess,
/proc/release
)
/client/proc/remove_admin_verbs()
verbs.Remove(
admin_verbs_default,
/client/proc/togglebuildmodeself,
/client/proc/stealth,
admin_verbs_admin,
admin_verbs_ban,
admin_verbs_fun,
admin_verbs_server,
admin_verbs_debug,
admin_verbs_possess,
admin_verbs_permissions,
admin_verbs_rejuv,
admin_verbs_sounds,
admin_verbs_spawn,
admin_verbs_dev,
admin_verbs_duty,
/*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/view_power_update_stats_area,
/client/proc/view_power_update_stats_machines,
/client/proc/toggle_power_update_profiling,
/client/proc/atmos_toggle_debug
)
var/list/admin_verbs_duty = list(
/client/proc/spawn_duty_officer,
/client/proc/cmd_duty_say,
/client/verb/returntobody
)
/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
if(holder.rights & R_MOD) verbs += admin_verbs_mod
if(holder.rights & R_DEV) verbs += admin_verbs_dev
if(holder.rights & R_DUTYOFF) verbs += admin_verbs_duty //hehe duty
+3
View File
@@ -333,6 +333,9 @@
for(var/mob/M in mobs)
if(!M.ckey) continue
if(M.client && M.client.holder && M.client.holder.fakekey)
if(!usr.client.holder.rights & (R_ADMIN|R_MOD))
continue
dat += "<tr><td>[M.name]</td>"
if(isAI(M))
-1
View File
@@ -1554,7 +1554,6 @@
src.owner << "Message reply to transmitted successfully."
log_admin("[key_name(src.owner)] replied to a fax message from [key_name(H)]: [input]")
message_admins("[key_name_admin(src.owner)] replied to a fax message from [key_name_admin(H)] <a href='?_src_=holder;CentcommFaxView=\ref[input]'>view message</a>", 1)
message_mods("[key_name_admin(src.owner)] replied to a fax message from [key_name_admin(H)]")
else if(href_list["jumpto"])
+19 -1
View File
@@ -49,7 +49,25 @@
log_admin("[key_name(src)] : [msg]")
if(check_rights(R_DEV,0))
msg = "<span class='devsay'><span class='prefix'>DEV:</span> <EM>[key_name(usr, 1)]</EM>: <span class='message'>[msg]</span></span>"
msg = "<span class='devsay'><span class='prefix'>DEV:</span> <EM>[key_name(usr, 0, 1, 0)]</EM>: <span class='message'>[msg]</span></span>"
for(var/client/C in admins)
if(R_DEV & C.holder.rights)
C << msg
/client/proc/cmd_duty_say(msg as text)
set category = "Admin"
set name = "Dosay"
set hidden = 1
if(!check_rights(R_DUTYOFF)) return
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
if(!msg) return
log_admin("[key_name(src)] : [msg]")
if(check_rights(R_DUTYOFF,0))
msg = "<span class='dutysay'><span class='prefix'>DOfficer:</span> <EM>[key_name(usr, 0, 1, 0)]</EM>: <span class='message'>[msg]</span></span>"
for(var/client/C in admins)
if(C.holder.rights & (R_ADMIN|R_DUTYOFF))
C << msg
+3 -3
View File
@@ -20,7 +20,7 @@
msg = "\blue \icon[cross] <b><font color=purple>PRAY: </font>[key_name(src, 1)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[src]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=\ref[src]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[src]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[src]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[src]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;adminspawncookie=\ref[src]'>SC</a>):</b> [msg]"
for(var/client/C in admins)
if(((R_ADMIN & C.holder.rights) || (R_MOD & C.holder.rights)) || (R_FUN & C.holder.rights) && (C.prefs.toggles & CHAT_PRAYER))
if(C.holder.rights & (R_ADMIN|R_MOD|R_FUN) && (C.prefs.toggles & CHAT_PRAYER))
C << msg
usr << "Your prayers have been received by the gods."
@@ -35,12 +35,12 @@
else
msg = "\blue <b><font color=orange>CENTCOMM[iamessage ? " IA" : ""]:</font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[Sender]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[Sender]'>BSA</A>) (<A HREF='?_src_=holder;CentcommReply=\ref[Sender]'>RPLY</A>):</b> [msg]"
for(var/client/C in admins)
if((R_ADMIN & C.holder.rights) || (R_MOD & C.holder.rights) || (R_FUN & C.holder.rights))
if(C.holder.rights & (R_ADMIN|R_DUTYOFF|R_FUN))
C << msg
/proc/Syndicate_announce(var/text , var/mob/Sender)
var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN)
msg = "\blue <b><font color=crimson>SYNDICATE:</font>[key_name(Sender, 1)] (<A HREF='?_src_=holder;adminplayeropts=\ref[Sender]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[Sender]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=\ref[Sender]'>JMP</A>) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;BlueSpaceArtillery=\ref[Sender]'>BSA</A>) (<A HREF='?_src_=holder;SyndicateReply=\ref[Sender]'>RPLY</A>):</b> [msg]"
for(var/client/C in admins)
if((R_ADMIN & C.holder.rights) || (R_MOD & C.holder.rights) || (R_FUN & C.holder.rights))
if(C.holder.rights & (R_ADMIN|R_MOD|R_FUN))
C << msg