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:
+
+ - Forensics
+ - Custom Loadout - Berets
+ - Custom Loadout - Universal Recorder
+ - Custom Loadout - Camera
+ - Custom Loadout - Clipboard
+ - Poisonous plants you'll now eat in a single bite
+ - Death nettles buffed significantly
+ - Tcomms runtime fix. NOTE: Rest of Tcomms does not actually work
+ - New hairstyles
+
+
+
+
6 September 2014
SoundScopes updated: