From 35cac8aefc27e20c903b2fd64fdef8f8b7d7691d Mon Sep 17 00:00:00 2001 From: "elly1989@rocketmail.com" Date: Fri, 9 Nov 2012 21:58:10 +0000 Subject: [PATCH] Moved one or two bits out of +FUN and into a +SPAWN flag. The spawn flag allows mob transformations, spawning of items etc. Moved fun (admin-event stuff) up to badmin rank. deadchat visibility defaults to on removed update_admin() fixed associate so it won't accidentally add people to the admins list multiple times. toggling ooc on/off is now available to any admin regardless of rights. mass deletion is now restricted to DEBUG or SERVER flags ADMIN, SERVER, DEBUG can all use the delete verb git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5032 316c924e-a436-60f5-8080-3fe189b3f50e --- code/__HELPERS/type2type.dm | 34 ++--- code/datums/datumvars.dm | 6 +- code/global.dm | 1 + code/modules/admin/admin_ranks.dm | 22 +++ code/modules/admin/admin_verbs.dm | 128 ++++++++---------- code/modules/admin/holder2.dm | 8 +- .../admin/permissionverbs/permissionedit.dm | 7 +- code/modules/admin/topic.dm | 103 +++++--------- code/modules/admin/verbs/debug.dm | 1 + code/modules/client/client defines.dm | 2 +- code/modules/client/client procs.dm | 2 +- config/admin_ranks.txt | 9 +- 12 files changed, 146 insertions(+), 177 deletions(-) diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 901dd8754d..50774abc3b 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -212,11 +212,11 @@ proc/tg_list2text(list/list, glue=",") /proc/angle2dir(var/degree) degree = ((degree+22.5)%365) if(degree < 45) return NORTH - if(degree < 90) return NORTH|EAST + if(degree < 90) return NORTHEAST if(degree < 135) return EAST - if(degree < 180) return SOUTH|EAST + if(degree < 180) return SOUTHEAST if(degree < 225) return SOUTH - if(degree < 270) return SOUTH|WEST + if(degree < 270) return SOUTHWEST if(degree < 315) return WEST return NORTH|WEST @@ -224,24 +224,15 @@ proc/tg_list2text(list/list, glue=",") /proc/dir2angle(var/D) switch(D) - if(1) - return 0 - if(2) - return 180 - if(4) - return 90 - if(8) - return 270 - if(5) - return 45 - if(6) - return 135 - if(9) - return 315 - if(10) - return 225 - else - return null + if(NORTH) return 0 + if(SOUTH) return 180 + if(EAST) return 90 + if(WEST) return 270 + if(NORTHEAST) return 45 + if(SOUTHEAST) return 135 + if(NORTHWEST) return 315 + if(SOUTHWEST) return 225 + else return null //Returns the angle in english /proc/angle2text(var/degree) @@ -262,4 +253,5 @@ proc/tg_list2text(list/list, glue=",") if(rights & R_REJUVINATE) . += "+REJUVINATE" if(rights & R_VAREDIT) . += "+VAREDIT" if(rights & R_SOUNDS) . += "+SOUND" + if(rights & R_SPAWN) . += "+SPAWN" return . \ No newline at end of file diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 3bb6e614be..968f25ba52 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -496,7 +496,7 @@ client href_list["datumrefresh"] = href_list["ninja"] else if(href_list["godmode"]) - if(!check_rights(0)) return + if(!check_rights(R_REJUVINATE)) return var/mob/M = locate(href_list["godmode"]) if(!istype(M)) @@ -517,7 +517,7 @@ client src.cmd_admin_gib(M) else if(href_list["build_mode"]) - if(!check_rights(0)) return + if(!check_rights(R_BUILDMODE)) return var/mob/M = locate(href_list["build_mode"]) if(!istype(M)) @@ -561,7 +561,7 @@ client href_list["datumrefresh"] = href_list["make_skeleton"] else if(href_list["delall"]) - if(!check_rights(0)) return + if(!check_rights(R_DEBUG|R_SERVER)) return var/obj/O = locate(href_list["delall"]) if(!isobj(O)) diff --git a/code/global.dm b/code/global.dm index 2827d003de..bf60e7485f 100644 --- a/code/global.dm +++ b/code/global.dm @@ -221,6 +221,7 @@ var/fileaccess_timer = 1800 //Cannot access files by ftp until the game is finis #define R_REJUVINATE 512 #define R_VAREDIT 1024 #define R_SOUNDS 2048 +#define R_SPAWN 4096 #define R_MAXPERMISSION 4096 //This holds the maximum value for a permission. It is used in iteration, so keep it updated. diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index 2580a5e625..3bdec3b116 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -39,6 +39,7 @@ var/list/admin_ranks = list() //list of all ranks with associated rights if("varedit") rights |= R_VAREDIT if("everything","host","all") rights |= R_HOST if("sound","sounds") rights |= R_SOUNDS + if("spawn","create") rights |= R_SPAWN admin_ranks[rank] = rights previous_rights = rights @@ -134,3 +135,24 @@ var/list/admin_ranks = list() //list of all ranks with associated rights #endif +/* +#ifdef TESTING +/client/verb/changerank(newrank in admin_ranks) + if(holder) + holder.rank = newrank + holder.rights = admin_ranks[newrank] + else + holder = new /datum/admins(newrank,admin_ranks[newrank],ckey) + remove_admin_verbs() + holder.associate(src) + +/client/verb/changerights(newrights as num) + if(holder) + holder.rights = newrights + else + holder = new /datum/admins("testing",newrights,ckey) + remove_admin_verbs() + holder.associate(src) + +#endif +*/ \ No newline at end of file diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 482a028572..7ad9a89c75 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -1,5 +1,7 @@ //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/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*/ @@ -48,7 +50,6 @@ var/list/admin_verbs_admin = list( /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*/ - /datum/admins/proc/spawn_atom, /*allows us to spawn instances*/ /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*/ @@ -86,6 +87,10 @@ var/list/admin_verbs_fun = list( /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, @@ -97,8 +102,8 @@ var/list/admin_verbs_server = list( /datum/admins/proc/immreboot, /client/proc/everyone_random, /datum/admins/proc/toggleAI, - /datum/admins/proc/toggleooc, - /datum/admins/proc/toggleoocdead, + /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, @@ -113,6 +118,7 @@ var/list/admin_verbs_debug = list( /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, @@ -132,7 +138,7 @@ var/list/admin_verbs_rejuv = list( /client/proc/respawn_character ) -//verbs which can be hidden +//verbs which can be hidden - needs work var/list/admin_verbs_hideable = list( /client/proc/deadmin_self, /client/proc/deadchat, @@ -147,7 +153,7 @@ var/list/admin_verbs_hideable = list( /client/proc/admin_ghost, /client/proc/toggle_view_range, /datum/admins/proc/view_txt_log, - /datum/admins/proc/view_atk_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, @@ -214,63 +220,61 @@ var/list/admin_verbs_hideable = list( /client/proc/add_admin_verbs() if(holder) - var/rights = holder.rights verbs += admin_verbs_default - if(rights & R_BUILDMODE) verbs += /client/proc/togglebuildmodeself - if(rights & R_ADMIN) verbs += admin_verbs_admin - if(rights & R_BAN) verbs += admin_verbs_ban - if(rights & R_FUN) verbs += admin_verbs_fun - if(rights & R_SERVER) verbs += admin_verbs_server - if(rights & R_DEBUG) verbs += admin_verbs_debug - if(rights & R_POSSESS) verbs += admin_verbs_possess - if(rights & R_PERMISSIONS) verbs += admin_verbs_permissions - if(rights & R_STEALTH) verbs += /client/proc/stealth - if(rights & R_REJUVINATE) verbs += admin_verbs_rejuv - if(rights & R_SOUNDS) verbs += admin_verbs_sounds + 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() - if(holder) - 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, - /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, - admin_verbs_sounds - ) + 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.Remove(/client/proc/hide_most_verbs, admin_verbs_hideable) verbs += /client/proc/show_verbs src << "Most of your adminverbs have been hidden." @@ -281,21 +285,7 @@ var/list/admin_verbs_hideable = list( set name = "Adminverbs - Hide All" set category = "Admin" - verbs.Remove( - /client/proc/hide_verbs, - /client/proc/hide_most_verbs, - /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/cmd_admin_rejuvenate, - /client/proc/stealth, - admin_verbs_rejuv - ) + remove_admin_verbs() verbs += /client/proc/show_verbs src << "Almost all of your adminverbs have been hidden." diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm index 9fadbbe051..0c112464ee 100644 --- a/code/modules/admin/holder2.dm +++ b/code/modules/admin/holder2.dm @@ -28,11 +28,11 @@ var/list/admin_datums = list() admin_datums[ckey] = src /datum/admins/proc/associate(client/C) - if(C) + if(istype(C)) owner = C owner.holder = src owner.add_admin_verbs() //TODO - admins += C + admins |= C /datum/admins/proc/disassociate() if(owner) @@ -71,6 +71,7 @@ you will have to do something like if(client.rights & R_ADMIN) yourself. usr << "Error: You are not an admin." return 0 +//probably a bit iffy - will hopefully figure out a better solution /proc/check_if_greater_rights_than(client/other) if(usr && usr.client) if(usr.client.holder) @@ -82,9 +83,6 @@ you will have to do something like if(client.rights & R_ADMIN) yourself. usr << "Error: Cannot proceed. They have more or equal rights to us." return 0 -/client/proc/update_admin() - add_admin_verbs() - /client/proc/deadmin() admin_datums -= ckey diff --git a/code/modules/admin/permissionverbs/permissionedit.dm b/code/modules/admin/permissionverbs/permissionedit.dm index 1b250b1d7f..a86329fc6c 100644 --- a/code/modules/admin/permissionverbs/permissionedit.dm +++ b/code/modules/admin/permissionverbs/permissionedit.dm @@ -8,12 +8,7 @@ holder.edit_admin_permissions() /datum/admins/proc/edit_admin_permissions() - if(!usr.client) - return - - if(!usr.client.holder || !(usr.client.holder.rights & R_PERMISSIONS)) - usr << "\red You do not have permission to do this!" - return + if(!check_rights(R_PERMISSIONS)) return establish_db_connection() if(!dbcon.IsConnected()) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 90533438df..cc2a59ad80 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1,12 +1,10 @@ /datum/admins/Topic(href, href_list) ..() - if(usr.client != src.owner) + if(usr.client != src.owner || !check_rights(0)) world << "\blue [usr.key] has attempted to override the admin panel!" log_admin("[key_name(usr)] tried to use the admin panel without authorization.") return - if(!check_rights(0)) return //check they are an admin - if(href_list["makeAntag"]) switch(href_list["makeAntag"]) if("1") @@ -48,39 +46,34 @@ if(!src.makeDeathsquad()) usr << "\red Unfortunatly there were no candidates available" - if(href_list["editadminpermissions"]) - if(!usr.client) - return - + else if(href_list["editadminpermissions"]) var/adm_ckey = href_list["editadminckey"] if(!adm_ckey) usr << "\red no valid ckey" return - if(!usr.client.holder || !(usr.client.holder.rights & R_PERMISSIONS)) - usr << "\red You do not have permission to do this!" - message_admins("[key_name_admin(usr)] attempted to edit the admin permissions of [adm_ckey] without authentication!") - log_admin("[key_name(usr)] attempted to edit the admin permissions of [adm_ckey] without authentication!") + if(!check_rights(R_PERMISSIONS)) + message_admins("[key_name_admin(usr)] attempted to edit the admin permissions of [adm_ckey] without sufficient rights.") + log_admin("[key_name(usr)] attempted to edit the admin permissions of [adm_ckey] without sufficient rights.") return switch(href_list["editadminpermissions"]) if("permissions") var/list/permissionlist = list() - for(var/i = 1; i <= R_MAXPERMISSION; i = i << 1) + for(var/i=1, i<=R_MAXPERMISSION, i<<=1) //that <<= is shorthand for i = i << 1. Which is a left bitshift permissionlist[rights2text(i)] = i var/new_permission spawn(0) //Safety new_permission = input("Select a permission to turn on/off", "Permission toggle", null, null) as null|anything in permissionlist - if(!new_permission) - return + if(!new_permission) return message_admins("[key_name_admin(usr)] toggled the [new_permission] permission of [adm_ckey]") log_admin("[key_name(usr)] toggled the [new_permission] permission of [adm_ckey]") log_admin_permission_modification(adm_ckey, permissionlist[new_permission]) if("rank") var/new_rank = input("Please, select a rank", "New rank for player", null, null) as null|anything in list("Game Master","Game Admin", "Trial Admin", "Admin Observer") - if(!new_rank) - return + if(!new_rank) return + message_admins("[key_name_admin(usr)] edited the admin rank of [adm_ckey] to [new_rank]") log_admin("[key_name(usr)] edited the admin rank of [adm_ckey] to [new_rank]") log_admin_rank_modification(adm_ckey, new_rank) @@ -91,11 +84,10 @@ log_admin_rank_modification(adm_ckey, "Removed") if("add") var/new_ckey = input(usr,"New admin's ckey","Admin ckey", null) as text|null - if(!new_ckey) - return + if(!new_ckey) return var/new_rank = input("Please, select a rank", "New rank for player", null, null) as null|anything in list("Game Master","Game Admin", "Trial Admin", "Admin Observer") - if(!new_rank) - return + if(!new_rank) return + message_admins("[key_name_admin(usr)] added [new_ckey] as a new admin to the rank [new_rank]") log_admin("[key_name(usr)] added [new_ckey] as a new admin to the rank [new_rank]") log_admin_rank_modification(new_ckey, new_rank) @@ -151,7 +143,7 @@ href_list["secretsadmin"] = "check_antagonist" else if(href_list["simplemake"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_SPAWN)) return var/mob/M = locate(href_list["mob"]) if(!ismob(M)) @@ -784,7 +776,7 @@ usr << browse(dat, "window=f_secret") else if(href_list["c_mode2"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_SERVER)) return if (ticker && ticker.mode) return alert(usr, "The game has already started.", null, null, null, null) @@ -797,7 +789,7 @@ .(href, list("c_mode"=1)) else if(href_list["f_secret2"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_SERVER)) return if(ticker && ticker.mode) return alert(usr, "The game has already started.", null, null, null, null) @@ -810,7 +802,7 @@ .(href, list("f_secret"=1)) else if(href_list["monkeyone"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["monkeyone"]) if(!istype(H)) @@ -822,7 +814,7 @@ H.monkeyize() else if(href_list["corgione"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["corgione"]) if(!istype(H)) @@ -1021,7 +1013,7 @@ usr << "Admin Rejuvinates have been disabled" else if(href_list["makeai"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["makeai"]) if(!istype(H)) @@ -1033,7 +1025,7 @@ H.AIize() else if(href_list["makealien"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["makealien"]) if(!istype(H)) @@ -1043,7 +1035,7 @@ usr.client.cmd_admin_alienize(H) else if(href_list["makemetroid"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["makemetroid"]) if(!istype(H)) @@ -1053,7 +1045,7 @@ usr.client.cmd_admin_metroidize(H) else if(href_list["makerobot"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_SPAWN)) return var/mob/living/carbon/human/H = locate(href_list["makerobot"]) if(!istype(H)) @@ -1063,7 +1055,7 @@ usr.client.cmd_admin_robotize(H) else if(href_list["makeanimal"]) - if(!check_rights(R_FUN)) return + if(!check_rights(R_SPAWN)) return var/mob/M = locate(href_list["makeanimal"]) if(istype(M, /mob/new_player)) @@ -1342,19 +1334,19 @@ alert("Cannot make this mob a traitor! It has no mind!") else if(href_list["create_object"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_SPAWN)) return return create_object(usr) else if(href_list["quick_create_object"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_SPAWN)) return return quick_create_object(usr) else if(href_list["create_turf"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_SPAWN)) return return create_turf(usr) else if(href_list["create_mob"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_SPAWN)) return return create_mob(usr) //Promote or Demote a client. @@ -1377,10 +1369,11 @@ dat += "[rank]
" dat += "Deadmin" + dat += "
NOTE: this screen currently does nothing
" usr << browse(dat, "window=prom_demot;size=480x300") else if(href_list["object_list"]) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_SPAWN)) return if(!config.allow_admin_spawning) usr << "Spawning of items is not allowed." @@ -1418,9 +1411,8 @@ removed_paths += dirty_path continue else if(ispath(path, /mob)) - if(!check_rights(R_FUN,0)) - removed_paths += dirty_path - continue + removed_paths += dirty_path + continue paths += path if(!paths) @@ -1538,23 +1530,6 @@ M.client.eye = M del(O) ok = 1*/ - if("toxic") - /* - feedback_inc("admin_secrets_fun_used",1) - feedback_add_details("admin_secrets_fun_used","T") - for(var/obj/machinery/atmoalter/siphs/fullairsiphon/O in world) - O.t_status = 3 - for(var/obj/machinery/atmoalter/siphs/scrubbers/O in world) - O.t_status = 1 - O.t_per = 1000000.0 - for(var/obj/machinery/atmoalter/canister/O in world) - if (!( istype(O, /obj/machinery/atmoalter/canister/oxygencanister) )) - O.t_status = 1 - O.t_per = 1000000.0 - else - O.t_status = 3 - */ - usr << "HEH" if("monkey") feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","M") @@ -1718,18 +1693,12 @@ feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","BC") switch(MAX_EXPLOSION_RANGE) - if(14) - MAX_EXPLOSION_RANGE = 16 - if(16) - MAX_EXPLOSION_RANGE = 20 - if(20) - MAX_EXPLOSION_RANGE = 28 - if(28) - MAX_EXPLOSION_RANGE = 56 - if(56) - MAX_EXPLOSION_RANGE = 128 - if(128) - MAX_EXPLOSION_RANGE = 14 + if(14) MAX_EXPLOSION_RANGE = 16 + if(16) MAX_EXPLOSION_RANGE = 20 + if(20) MAX_EXPLOSION_RANGE = 28 + if(28) MAX_EXPLOSION_RANGE = 56 + if(56) MAX_EXPLOSION_RANGE = 128 + if(128) MAX_EXPLOSION_RANGE = 14 var/range_dev = MAX_EXPLOSION_RANGE *0.25 var/range_high = MAX_EXPLOSION_RANGE *0.5 var/range_low = MAX_EXPLOSION_RANGE diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index aedb786105..1f7fe8870f 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -338,6 +338,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that src << "Made [M] a cultist." */ +//TODO: merge the vievars version into this or something maybe mayhaps /client/proc/cmd_debug_del_all() set category = "Debug" set name = "Del-All" diff --git a/code/modules/client/client defines.dm b/code/modules/client/client defines.dm index 9dedbef62f..3702c01e5a 100644 --- a/code/modules/client/client defines.dm +++ b/code/modules/client/client defines.dm @@ -19,7 +19,7 @@ var/move_delay = 1 var/moving = null var/adminobs = null - var/deadchat = 0 + var/deadchat = 1 var/changes = 0 var/area = null var/played = 0 diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 17fbdac599..a9abb43046 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -111,7 +111,7 @@ world.update_status() if(holder) - update_admin() + add_admin_verbs() admin_memo_show() log_client_to_db() diff --git a/config/admin_ranks.txt b/config/admin_ranks.txt index bc65b912b8..2a33adb3b8 100644 --- a/config/admin_ranks.txt +++ b/config/admin_ranks.txt @@ -13,7 +13,7 @@ # KEYWORDS: # +ADMIN = general admin tools, verbs etc -# +FUN = mob-transformation, events, other event-orientated actions +# +FUN = events, other event-orientated actions. Access to the fun secrets in the secrets panel. # +BAN = the ability to ban, jobban and fullban # +STEALTH = the ability to stealthmin (make yourself appear with a fake name to everyone but other admins # +POSSESS = the ability to possess objects @@ -24,16 +24,17 @@ # +VAREDIT = everyone may view viewvars/debugvars/whatever you call it. This keyword allows you to actually EDIT those variables. # +RIGHTS (or +PERMISSIONS) = allows you to promote and/or demote people. # +SOUND (or +SOUNDS) = allows you to upload and play sounds +# +SPAWN (or +CREATE) = mob transformations, spawning of most atoms including mobs (high-risk atoms, e.g. blackholes, will require the +FUN flag too) # +EVERYTHING (or +HOST or +ALL) = Simply gives you everything without having to type every flag Admin Observer Moderator +ADMIN Admin Candidate +@ -Trial Admin +@ +FUN +REJUV +VAREDIT +BAN -Badmin +@ +POSSESS +BUILDMODE +SERVER +Trial Admin +@ +SPAWN +REJUV +VAREDIT +BAN +Badmin +@ +POSSESS +BUILDMODE +SERVER +FUN Game Admin +@ +STEALTH +SOUNDS +DEBUG Game Master +EVERYTHING Host +EVERYTHING -Coder +DEBUG +VAREDIT +SERVER \ No newline at end of file +Coder +DEBUG +VAREDIT +SERVER +SPAWN \ No newline at end of file