From b7e84139a7719af1647e84ae6569c0ac4e55b04f Mon Sep 17 00:00:00 2001 From: SoundScopes Date: Sun, 14 Sep 2014 03:07:42 +0100 Subject: [PATCH] Scopes updates - Admin Access - Attack Log - Prays - Centcomm - Singluo tells Mods/Admins when stage 4 - PA tells Mods/Admins when it is altered at all - All stagg get a notification if any of the chat channels are muted at login --- Scopes Files/gravitygenerator.dm | 6 ++-- code/controllers/voting.dm | 18 +++++++----- code/datums/datumvars.dm | 2 +- code/game/gamemodes/changeling/changeling.dm | 11 ++++--- code/game/gamemodes/cult/cult.dm | 1 + code/game/gamemodes/events/power_failure.dm | 2 ++ code/game/gamemodes/game_mode.dm | 6 ++++ code/game/gamemodes/gameticker.dm | 3 ++ code/game/gamemodes/vampire/vampire.dm | 16 ++++++---- code/modules/admin/admin.dm | 20 ++++++++++--- code/modules/admin/admin_verbs.dm | 29 ++++++++++++------- code/modules/admin/player_panel.dm | 17 ++++++----- code/modules/admin/verbs/adminhelp.dm | 6 ++-- code/modules/admin/verbs/debug.dm | 7 +++-- code/modules/admin/verbs/mapping.dm | 2 +- code/modules/admin/verbs/modifyvariables.dm | 6 +++- code/modules/admin/verbs/pray.dm | 10 +++++-- code/modules/client/client procs.dm | 10 +++++-- code/modules/events/event_manager.dm | 3 +- code/modules/mob/login.dm | 4 ++- .../power/singularity/field_generator.dm | 1 + .../particle_accelerator/particle_control.dm | 7 +++-- code/modules/power/singularity/singularity.dm | 8 ++++- html/changelog.html | 17 +++++++++++ 24 files changed, 149 insertions(+), 63 deletions(-) diff --git a/Scopes Files/gravitygenerator.dm b/Scopes Files/gravitygenerator.dm index affa4f5a..245449aa 100644 --- a/Scopes Files/gravitygenerator.dm +++ b/Scopes Files/gravitygenerator.dm @@ -21,7 +21,7 @@ var/list/gravity_field_generators = list() // We will keep track of this by addi /client/proc/cmd_dev_reset_gravity() set category = "Debug" set name = "Restore Default Gravity" - set desc = "Resets all gravity on the entire server(This spams Scopes like mad.)" + set desc = "Resets all gravity on the entire server." if(!check_rights(R_DEBUG|R_DEV)) return @@ -36,7 +36,7 @@ var/list/gravity_field_generators = list() // We will keep track of this by addi src << "\red The game hasn't started yet!" return - if(alert(usr, "Be sure to warn Scopes, Chris, and Skull. This could be very spammy for their logs", "Restore gravity", "No", "Yes") == "No") + if(alert(usr, "Make people fall on their face?", "Restore gravity", "No", "Yes") == "No") return 0 world << "\red \b Resetting Gravity Simulation." @@ -47,12 +47,10 @@ var/list/gravity_field_generators = list() // We will keep track of this by addi continue A.has_gravity = 1 - msg_scopes("Gravity reset in: [A.name]") for(var/area/SubA in A.related) SubA.has_gravity = 1 for(var/mob/living/carbon/human/M in SubA) M:float(0) - msg_scopes("Did you enjoy that insane amount of things") world << "\red Gravity Simulation reset." feedback_add_details("admin_verb","RSG") diff --git a/code/controllers/voting.dm b/code/controllers/voting.dm index 207d51f2..2eea0aa0 100644 --- a/code/controllers/voting.dm +++ b/code/controllers/voting.dm @@ -181,7 +181,7 @@ datum/controller/vote log_game("Rebooting due to restart vote") world.Reboot() - last_vote_time = world.time + last_vote_time = time_stamp() return . proc/submit_vote(var/ckey, var/vote) @@ -236,14 +236,16 @@ datum/controller/vote mode = vote_type initiator = initiator_key started_time = world.time - var/timedifference = round((world.time - last_vote_time)) - var/timedifference_text - timedifference_text = time2text(timedifference, "hh:mm:ss") - msg_scopes("timedifference_text debug: [timedifference]") - timedifference_text = time2text(timedifference,"mm:ss") - msg_scopes("timedifference: [timedifference] timedifference_text: [timedifference_text] started_time: [started_time]") +// var/timedifference = round((world.time - last_vote_time)) +// var/timedifference_text +// timedifference_text = time2text(timedifference, "hh:mm:ss") +// msg_scopes("timedifference_text debug: [timedifference]") +// timedifference_text = time2text(timedifference,"mm:ss") +// msg_scopes("timedifference: [timedifference] timedifference_text: [timedifference_text] started_time: [started_time]") for(var/client/C in admins) - C << "Time since last vote: [timedifference_text]" + if((C.holder.rights & R_ADMIN) || (C.holder.rights & R_MOD)) + C << "Time last vote: [last_vote_time]" + C << "Time: [time_stamp()]" var/text = "[capitalize(mode)] vote started by [initiator]." if(mode == "custom") text += "\n[question]" diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 02f09088..c8391ce3 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -465,7 +465,7 @@ client cmd_mass_modify_object_variables(A, href_list["varnamemass"]) else if(href_list["mob_player_panel"]) - if(!check_rights(0)) return + if(!check_rights(R_ADMIN|R_MOD)) return var/mob/M = locate(href_list["mob_player_panel"]) if(!istype(M)) diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index 5891b812..f0f14e73 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -51,13 +51,16 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon" var/list/datum/mind/possible_changelings = get_players_for_role(BE_CHANGELING) for(var/datum/mind/player in possible_changelings) +//This could be the fuckup with game start + if(player.current.client.prefs.species == "Machine") //Removing ipc's + possible_changelings -= player + msg_scopes("[player.key] has an invalid mob for this role.") + continue for(var/job in restricted_jobs)//Removing robots from the list if(player.assigned_role == job) possible_changelings -= player - continue -//This could be the fuckup with game start -// if(player.current.isipc()) //Removing ipc's -// possible_changelings -= player + msg_scopes("[player.key] has an invalid job for this role.") + break changeling_amount = 1 + round(num_players() / 10) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 9515b665..ee19a0ca 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -68,6 +68,7 @@ for(var/datum/mind/player in cultists_possible) for(var/job in restricted_jobs)//Removing heads and such from the list if(player.assigned_role == job) + msg_scopes("[player.key] has an invalid job for this role.") cultists_possible -= player for(var/cultists_number = 1 to max_cultists_to_start) diff --git a/code/game/gamemodes/events/power_failure.dm b/code/game/gamemodes/events/power_failure.dm index dbebc649..815c3a6b 100644 --- a/code/game/gamemodes/events/power_failure.dm +++ b/code/game/gamemodes/events/power_failure.dm @@ -86,6 +86,8 @@ continue S.charge = S.capacity S.output = 200000 + spawn(600) + S.output = S.last_output S.online = 1 S.updateicon() S.power_change() diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 20b0ff79..577bb9b1 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -92,12 +92,16 @@ Implants; if((player.client)&&(player.ready)) playerC++ + msg_scopes("playerC: [playerC]") if(master_mode=="secret") + msg_scopes("req [required_players_secret]") if(playerC >= required_players_secret) return 1 else + msg_scopes("req [required_players]") if(playerC >= required_players) return 1 + msg_scopes("Nope, players not here or something") return 0 @@ -282,6 +286,7 @@ Implants; if(BE_CULTIST) roletext="cultist" if(BE_NINJA) roletext="ninja" if(BE_RAIDER) roletext="raider" + if(BE_VAMPIRE) roletext="vampire" // Assemble a list of active players without jobbans. for(var/mob/new_player/player in player_list) @@ -311,6 +316,7 @@ Implants; // Remove candidates who want to be antagonist but have a job that precludes it if(restricted_jobs) + msg_scopes("going through restricted jobs") for(var/datum/mind/player in candidates) for(var/job in restricted_jobs) if(player.assigned_role == job) diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 071f2442..4bea30a5 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -76,6 +76,7 @@ var/global/datum/controller/gameticker/ticker if((master_mode=="random") || (master_mode=="secret")) runnable_modes = config.get_runnable_modes() if (runnable_modes.len==0) + msg_scopes("Well we can't continue runnable_modes.0") current_state = GAME_STATE_PREGAME world << "Unable to choose playable game mode. Reverting to pre-game lobby." return 0 @@ -92,6 +93,7 @@ var/global/datum/controller/gameticker/ticker else src.mode = config.pick_mode(master_mode) if (!src.mode.can_start()) + msg_scopes("Well we can't continue can_start") world << "Unable to start [mode.name]. Not enough players, [mode.required_players] players needed. Reverting to pre-game lobby." del(mode) current_state = GAME_STATE_PREGAME @@ -104,6 +106,7 @@ var/global/datum/controller/gameticker/ticker if(!can_continue) del(mode) current_state = GAME_STATE_PREGAME + msg_scopes("Well we can't continue pre_setup") world << "Error setting up [master_mode]. Reverting to pre-game lobby." job_master.ResetOccupations() return 0 diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm index 188108cf..6d0db3d7 100644 --- a/code/game/gamemodes/vampire/vampire.dm +++ b/code/game/gamemodes/vampire/vampire.dm @@ -52,16 +52,19 @@ var/list/datum/mind/possible_vampires = get_players_for_role(BE_VAMPIRE) for(var/datum/mind/player in possible_vampires) - for(var/job in restricted_jobs)//Removing robots from the list +//This could be the fuckup with game start + if(player.current.client.prefs.species == "Machine") + possible_vampires -= player + msg_scopes("[player.key] has an invalid mob for this role.") + continue + for(var/job in restricted_jobs) if(player.assigned_role == job) possible_vampires -= player - continue -//This could be the fuckup with game start -// if(player.current.isipc()) -// possible_vampires -= player + msg_scopes("[player.key] has an invalid job for this role.") + break vampire_amount = max(1,round(num_players() / 10)) //1 + round(num_players() / 10) - + msg_scopes("vampire_amount: [vampire_amount]") if(possible_vampires.len>0) for(var/i = 0, i < vampire_amount, i++) if(!possible_vampires.len) break @@ -71,6 +74,7 @@ modePlayer += vampires return 1 else + msg_scopes("possible_vampires went poof") return 0 /datum/game_mode/vampire/post_setup() diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 7e566fc6..c0619058 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -11,11 +11,17 @@ var/global/floorIsLava = 0 if(R_ADMIN & C.holder.rights) C << msg +/proc/message_mods(var/msg) + msg = "MOD LOG: [msg]" + for(var/client/C in admins) + if(R_MOD & C.holder.rights) + C << msg + /proc/msg_admin_attack(var/text) //Toggleable Attack Messages log_attack(text) var/rendered = "ATTACK: [text]" for(var/client/C in admins) - if(R_MOD || R_ADMIN & C.holder.rights) + if((R_ADMIN & C.holder.rights) || (R_MOD & C.holder.rights)) if(C.prefs.toggles & CHAT_ATTACKLOGS) var/msg = rendered C << msg @@ -28,14 +34,18 @@ var/global/floorIsLava = 0 set name = "Show Player Panel" set desc="Edit player (respawn, ban, heal, etc)" + if(!check_rights(R_ADMIN|R_MOD)) return + if(!M) usr << "You seem to be selecting a mob that doesn't exist anymore." return +/* if (!istype(src,/datum/admins)) src = usr.client.holder if (!istype(src,/datum/admins)) usr << "Error: you are not an admin!" return +*/ var/body = "Options for [M.key]" body += "Options panel for [M]" @@ -192,11 +202,14 @@ var/global/floorIsLava = 0 /datum/admins/proc/PlayerNotes() set category = "Admin" set name = "Player Notes" - if (!istype(src,/datum/admins)) +/* if (!istype(src,/datum/admins)) src = usr.client.holder if (!istype(src,/datum/admins)) usr << "Error: you are not an admin!" return +*/ + if(!check_rights(R_ADMIN|R_MOD)) + return PlayerNotesPage(1) /datum/admins/proc/PlayerNotesPage(page) @@ -246,7 +259,6 @@ var/global/floorIsLava = 0 if(!infos || !infos.len) return 0 else return 1 - /datum/admins/proc/show_player_info(var/key as text) set category = "Admin" set name = "Show Player Info" @@ -855,7 +867,7 @@ var/global/floorIsLava = 0 set desc="Delay the game start/end" set name="Delay" - if(!check_rights(R_SERVER|R_DEV)) return + if(!check_rights(R_SERVER|R_DEBUG)) return if (!ticker || ticker.current_state != GAME_STATE_PREGAME) ticker.delay_end = !ticker.delay_end log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].") diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 6ff00af9..7cbe3a61 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -1,17 +1,17 @@ //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/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*/ /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_antagonists, /*shows all antags*/ /client/proc/cmd_mentor_check_new_players // /client/proc/deadchat /*toggles deadchat on/off*/ ) var/list/admin_verbs_admin = list( + /datum/admins/proc/show_player_panel, /*shows an interface for individual players, with various links (links require additional flags*/ + /client/proc/check_antagonists, /*shows all antags*/ /client/proc/alertlevels, /client/proc/cmd_admin_wind, /client/proc/cmd_admin_unwind, @@ -53,11 +53,11 @@ var/list/admin_verbs_admin = list( /client/proc/check_antagonists, /client/proc/admin_memo, /*admin memo system. show/delete/write. +SERVER needed to delete admin memos of others*/ /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, + /client/proc/toggleprayers, /datum/admins/proc/toggleooc, /*toggles ooc on/off for everyone*/ /datum/admins/proc/togglelooc, /datum/admins/proc/toggleoocdead, /*toggles ooc on/off for everyone who is dead*/ @@ -96,7 +96,7 @@ var/list/admin_verbs_fun = list( /client/proc/cmd_admin_dress, /client/proc/cmd_admin_gib_self, /client/proc/drop_bomb, - /client/proc/everyone_random, + /client/proc/everyone_random, /client/proc/cinematic, /client/proc/one_click_antag, /datum/admins/proc/toggle_aliens, @@ -112,8 +112,6 @@ var/list/admin_verbs_fun = list( var/list/admin_verbs_dev = list( /client/proc/dsay, /client/proc/togglebuildmodeself, - /datum/admins/proc/restart, - /datum/admins/proc/delay, /client/proc/giveruntimelog, /client/proc/getruntimelog, /client/proc/cmd_admin_list_open_jobs, @@ -128,12 +126,11 @@ var/list/admin_verbs_dev = list( /client/proc/cmd_admin_delete, /client/proc/cmd_debug_del_all, /client/proc/cmd_debug_tog_aliens, + /datum/admins/proc/restart, /client/proc/air_report, /client/proc/reload_admins, /client/proc/restart_controller, /client/proc/enable_debug_verbs, - /client/proc/callproc, - /client/proc/toggleattacklogs, /client/proc/toggledebuglogs, /client/proc/SDQL_query, /client/proc/SDQL2_query, @@ -168,8 +165,10 @@ var/list/admin_verbs_server = list( /client/proc/check_customitem_activity ) var/list/admin_verbs_debug = list( - /client/proc/getruntimelog, /*allows us to access runtime logs to somebody*/ + /client/proc/getruntimelog, /*allows us to access runtime logs to somebody*/ /client/proc/cmd_admin_list_open_jobs, + /datum/admins/proc/restart, + /datum/admins/proc/delay, /client/proc/Debug2, /client/proc/kill_air, /client/proc/ZASSettings, @@ -188,7 +187,6 @@ var/list/admin_verbs_debug = list( /client/proc/toggledebuglogs, /client/proc/SDQL_query, /client/proc/SDQL2_query, - /client/proc/cmd_dev_bst, /client/proc/cmd_dev_reset_gravity ) var/list/admin_verbs_possess = list( @@ -274,6 +272,8 @@ var/list/admin_verbs_hideable = list( /proc/release ) var/list/admin_verbs_mod = list( + /client/proc/check_antagonists, /*shows all antags*/ + /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*/ @@ -281,15 +281,19 @@ var/list/admin_verbs_mod = list( /client/proc/debug_variables, /*allows us to -see- the variables of any instance in the game.*/ /client/proc/toggleattacklogs, /client/proc/toggledebuglogs, + /client/proc/toggleprayers, /datum/admins/proc/PlayerNotes, /client/proc/admin_ghost, /*allows us to ghost/reenter body at will*/ /client/proc/cmd_mod_say, + /client/proc/check_ai_laws, + /client/proc/jumptomob, /datum/admins/proc/show_player_info, /client/proc/player_panel_new, /client/proc/dsay, /datum/admins/proc/show_skills, /datum/admins/proc/show_player_panel, /client/proc/check_antagonists, + /datum/admins/proc/adjump, /client/proc/jobbans, /client/proc/cmd_admin_subtle_message /*send an message to somebody as a 'voice in their head'*/ ) @@ -520,7 +524,7 @@ var/list/admin_verbs_mod = list( #define AUTOBANTIME 10 /client/proc/warn(warned_ckey) - if(!check_rights(R_ADMIN)) return + if(!check_rights(R_ADMIN|R_MOD)) return if(!warned_ckey || !istext(warned_ckey)) return if(warned_ckey in admin_datums) @@ -797,6 +801,9 @@ var/list/admin_verbs_mod = list( /client/proc/playernotes() set name = "Show Player Info" set category = "Admin" + if(!check_rights(R_ADMIN|R_MOD)) + return + if(holder) holder.PlayerNotes() return diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 33d99f4f..4eaec1e5 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -364,13 +364,16 @@ X PM "} - switch(is_special_character(M)) - if(0) - dat += {"Traitor?"} - if(1) - dat += {"Traitor?"} - if(2) - dat += {"Traitor?"} + if(!check_rights(R_ADMIN|R_MOD)) + dat += {"Traitor?"} + else + switch(is_special_character(M)) + if(0) + dat += {"Traitor?"} + if(1) + dat += {"Traitor?"} + if(2) + dat += {"Traitor?"} dat += "" diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 2f6d1f81..c5a17f72 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -33,7 +33,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," if(!msg) return var/original_msg = msg - + //explode the input msg into a list var/list/msglist = text2list(msg, " ") @@ -94,9 +94,11 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," msg = "\blue HELP: [get_options_bar(mob, 2, 1, 1)][ai_found ? " (CL)" : ""]: [msg]" //send this msg to all admins + var/admin_number_present = 0 var/admin_number_afk = 0 for(var/client/X in admins) if((R_ADMIN|R_MOD) & X.holder.rights) + admin_number_present++ if(X.is_afk()) admin_number_afk++ if(X.prefs.toggles & SOUND_ADMINHELP) @@ -106,7 +108,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," //show it to the person adminhelping too src << "PM to-Admins: [original_msg]" - var/admin_number_present = admins.len - admin_number_afk + admin_number_present = (admin_number_present - admin_number_afk) log_admin("HELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins.") if(admin_number_present <= 0) if(!admin_number_afk) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 64c2a887..c37fa1dc 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -31,7 +31,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that set category = "Debug" set name = "Advanced ProcCall" - if(!check_rights(R_DEBUG|R_DEV)) return + if(!check_rights(R_DEBUG)) return spawn(0) var/target = null @@ -436,7 +436,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that GLOBAL_RADIO_TYPE = !GLOBAL_RADIO_TYPE // toggle log_admin("[key_name(src)] has turned the experimental radio system [GLOBAL_RADIO_TYPE ? "on" : "off"].") message_admins("[key_name_admin(src)] has turned the experimental radio system [GLOBAL_RADIO_TYPE ? "on" : "off"].", 0) - msg_scopes("[key_name_admin(src)] has turned the experimental radio system [GLOBAL_RADIO_TYPE ? "on" : "off"].", 0) + msg_scopes("[key_name_admin(src)] has turned the experimental radio system [GLOBAL_RADIO_TYPE ? "on" : "off"].", 1) feedback_add_details("admin_verb","SRM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_areatest() @@ -1103,11 +1103,12 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that return /client/proc/startSinglo() - set category = "Debug" set name = "Start Singularity" set desc = "Sets up the singularity and all machines to get power flowing through the station" + if(!check_rights(R_DEBUG)) return + if(alert("Are you sure? This will start up the engine. Should only be used during debug!",,"Yes","No") != "Yes") return diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index ca58c10d..093d0bd5 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -144,7 +144,7 @@ var/list/debug_verbs = list ( ,/client/proc/splash ,/client/proc/cmd_admin_areatest ,/client/proc/cmd_admin_rejuvenate - ,/datum/admins/proc/show_traitor_panel +// ,/datum/admins/proc/show_traitor_panel //What has this got to do with mapping ,/client/proc/print_jobban_old ,/client/proc/print_jobban_old_filter ,/client/proc/forceEvent diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm index 2bf70822..ac356eae 100644 --- a/code/modules/admin/verbs/modifyvariables.dm +++ b/code/modules/admin/verbs/modifyvariables.dm @@ -264,6 +264,10 @@ var/list/forbidden_varedit_object_types = list( if("marked datum") L[L.Find(variable)] = holder.marked_datum + world.log << "### VarEdit by [src]: [variable]=[html_encode("[L[L.Find(variable)]]")]" + log_admin("[key_name(src)] modified [variable] to [L[L.Find(variable)]]") + message_admins("[key_name_admin(src)] modified [variable] to [L[L.Find(variable)]]", 1) + msg_scopes("[key_name_admin(src)] modified [variable] to [L[L.Find(variable)]]", 1) // Tell dev's to but not log twice /client/proc/modify_variables(var/atom/O, var/param_var_name = null, var/autodetect_class = 0) if(!check_rights(R_VAREDIT|R_DEV)) return @@ -498,4 +502,4 @@ var/list/forbidden_varedit_object_types = list( world.log << "### VarEdit by [src]: [O.type] [variable]=[html_encode("[O.vars[variable]]")]" log_admin("[key_name(src)] modified [original_name]'s [variable] to [O.vars[variable]]") message_admins("[key_name_admin(src)] modified [original_name]'s [variable] to [O.vars[variable]]", 1) - msg_scopes("[key_name_admin(src)] modified [original_name]'s [variable] to [O.vars[variable]]", 1) // Tell dev's to but look at the logs + msg_scopes("[key_name_admin(src)] modified [original_name]'s [variable] to [O.vars[variable]]", 1) // Tell dev's to but not log twice diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index e2fa58f5..c183b4d6 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -20,7 +20,7 @@ msg = "\blue \icon[cross] PRAY: [key_name(src, 1)] (?) (PP) (VV) (SM) (JMP) (CA) (SC): [msg]" for(var/client/C in admins) - if(C.prefs.toggles & CHAT_PRAYER) + if(((R_ADMIN & C.holder.rights) || (R_MOD & C.holder.rights)) && (C.prefs.toggles & CHAT_PRAYER)) C << msg usr << "Your prayers have been received by the gods." @@ -30,9 +30,13 @@ /proc/Centcomm_announce(var/text , var/mob/Sender , var/iamessage) var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN) msg = "\blue CENTCOMM[iamessage ? " IA" : ""]:[key_name(Sender, 1)] (PP) (VV) (SM) (JMP) (CA) (BSA) (RPLY): [msg]" - admins << msg + for(var/client/C in admins) + if((R_ADMIN & C.holder.rights) || (R_MOD & C.holder.rights)) + C << msg /proc/Syndicate_announce(var/text , var/mob/Sender) var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN) msg = "\blue SYNDICATE:[key_name(Sender, 1)] (PP) (VV) (SM) (JMP) (CA) (BSA) (RPLY): [msg]" - admins << msg + for(var/client/C in admins) + if((R_ADMIN & C.holder.rights) || (R_MOD & C.holder.rights)) + C << msg \ No newline at end of file diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index b3cdba60..378aed54 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -54,7 +54,7 @@ return cmd_admin_irc_pm() return - + //Logs all hrefs @@ -155,6 +155,12 @@ if(holder) add_admin_verbs() admin_memo_show() + if(!ooc_allowed) + src << "OOC is Disabled" + if(!looc_allowed) + src << "LOOC is Disabled" + if(!dsay_allowed) + src << "Deadchat is Disabled" log_client_to_db() @@ -255,7 +261,7 @@ //send resources to the client. It's here in its own proc so we can move it around easiliy if need be /client/proc/send_resources() // preload_vox() //Causes long delays with initial start window and subsequent windows when first logged in. - + getFiles( 'html/search.js', 'html/panels.css', diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index 9d88a467..4f101779 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -59,10 +59,11 @@ var/scheduledEvent = null set name = "Trigger Event (Debug Only)" set category = "Debug" + if(!check_rights(R_DEBUG)) return + if(!holder) return if(ispath(type)) new type message_admins("[key_name_admin(usr)] has triggered an event. ([type])", 1) - msg_scopes("[key_name_admin(usr)] has triggered an event. ([type])", 0) diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 342dde47..385885bd 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -18,9 +18,11 @@ if(matches) if(M.client) message_admins("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(M)].", 1) + message_mods("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(M)].") log_access("Notice: [key_name(src)] has the same [matches] as [key_name(M)].") else message_admins("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(M)] (no longer logged in). ", 1) + message_mods("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(M)] (no longer logged in). ") log_access("Notice: [key_name(src)] has the same [matches] as [key_name(M)] (no longer logged in).") /mob/Login() @@ -56,4 +58,4 @@ if(H.species && H.species.abilities) client.verbs |= H.species.abilities - nanomanager.send_resources(client) + nanomanager.send_resources(client) \ No newline at end of file diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index 31f32143..b4289730 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -350,6 +350,7 @@ field_generator power level display if(O.last_warning && temp) if((world.time - O.last_warning) > 50) //to stop message-spam temp = 0 + message_mods("A singulo exists and a containment field has failed.") message_admins("A singulo exists and a containment field has failed.",1) investigate_log("has failed whilst a singulo exists.","singulo") O.last_warning = world.time diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm index 85cd68cd..599d0af3 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm @@ -87,9 +87,8 @@ if(href_list["togglep"]) src.toggle_power() investigate_log("turned [active?"ON":"OFF"] by [usr.key]","singulo") - if (active) - message_admins("PA Control Computer turned ON by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)",0,1) - log_game("PA Control Computer turned ON by [usr.ckey]([usr]) in ([x],[y],[z])") + message_admins("PA Control Computer turned [active?"ON":"OFF"] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)",0,1) + log_game("PA Control Computer turned [active?"ON":"OFF"] by [usr.ckey]([usr]) in ([x],[y],[z])") else if(href_list["scan"]) src.part_scan() else if(href_list["strengthup"]) @@ -109,6 +108,8 @@ if(strength < 0) strength = 0 else + message_admins("PA Control Computer decreased to [strength] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)",0,1) + log_game("PA Control Computer decreased to [strength] by [usr.ckey]([usr]) in ([x],[y],[z])") investigate_log("decreased to [strength] by [usr.key]","singulo") for(var/obj/structure/particle_accelerator/part in connected_parts) part.strength = strength diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index ba7bc25d..010bcd61 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -102,7 +102,9 @@ var/global/list/uneatable = list( /obj/machinery/singularity/proc/admin_investigate_setup() last_warning = world.time var/count = locate(/obj/machinery/containment_field) in orange(30, src) - if(!count) message_admins("A singulo has been created without containment fields active ([x],[y],[z])",1) + if(!count) + message_mods("A singulo has been created without containment fields active ([x],[y],[z])") + message_admins("A singulo has been created without containment fields active ([x],[y],[z])",1) investigate_log("was created. [count?"":"No containment fields were active"]","singulo") /obj/machinery/singularity/proc/dissipate() @@ -166,6 +168,10 @@ var/global/list/uneatable = list( dissipate_delay = 10 dissipate_track = 0 dissipate_strength = 10 + investigate_log("turned to a stage 4","singulo") + message_mods("Singluo is at stage 4 ([x],[y],[z] - JMP)") + message_admins("Singluo is at stage 4 ([x],[y],[z] - JMP)",0,1) + log_game("Singluo turned to a stage 4 ([x],[y],[z])") if(9)//this one also lacks a check for gens because it eats everything current_size = 9 icon = 'icons/effects/288x288.dmi' diff --git a/html/changelog.html b/html/changelog.html index 1eb93bb8..f9e4209e 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,23 @@ should be listed in the changelog upon commit though. Thanks. --> +
+

13 September 2014

+

SoundScopes updated:

+ +
+ +

6 September 2014

SoundScopes updated: