diff --git a/code/ZAS/Controller.dm b/code/ZAS/Controller.dm
index 4ba30f47b3..4614b3a183 100644
--- a/code/ZAS/Controller.dm
+++ b/code/ZAS/Controller.dm
@@ -98,7 +98,7 @@ Class Procs:
set background = 1
#endif
- world << "Processing Geometry..."
+ admin_notice("Processing Geometry...", R_DEBUG)
sleep(-1)
var/start_time = world.timeofday
@@ -109,14 +109,14 @@ Class Procs:
simulated_turf_count++
S.update_air_properties()
- world << {"Geometry initialized in [round(0.1*(world.timeofday-start_time),0.1)] seconds.
+ admin_notice({"Geometry initialized in [round(0.1*(world.timeofday-start_time),0.1)] seconds.
Total Simulated Turfs: [simulated_turf_count]
Total Zones: [zones.len]
Total Edges: [edges.len]
Total Active Edges: [active_edges.len ? "[active_edges.len]" : "None"]
Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count]
-"}
+"}, R_DEBUG)
// spawn Start()
diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm
index facae60577..7e2784dad4 100644
--- a/code/controllers/master_controller.dm
+++ b/code/controllers/master_controller.dm
@@ -26,7 +26,7 @@ datum/controller/game_controller/New()
job_master = new /datum/controller/occupations()
job_master.SetupOccupations()
job_master.LoadJobs("config/jobs.txt")
- world << "Job setup complete"
+ admin_notice("Job setup complete", R_DEBUG)
if(!syndicate_code_phrase) syndicate_code_phrase = generate_code_phrase()
if(!syndicate_code_response) syndicate_code_response = generate_code_phrase()
@@ -46,17 +46,17 @@ datum/controller/game_controller/proc/setup()
datum/controller/game_controller/proc/setup_objects()
- world << "Initializing objects"
+ admin_notice("Initializing objects", R_DEBUG)
sleep(-1)
for(var/atom/movable/object in world)
object.initialize()
- world << "Initializing pipe networks"
+ admin_notice("Initializing pipe networks", R_DEBUG)
sleep(-1)
for(var/obj/machinery/atmospherics/machine in machines)
machine.build_network()
- world << "Initializing atmos machinery."
+ admin_notice("Initializing atmos machinery.", R_DEBUG)
sleep(-1)
for(var/obj/machinery/atmospherics/unary/U in machines)
if(istype(U, /obj/machinery/atmospherics/unary/vent_pump))
@@ -77,5 +77,5 @@ datum/controller/game_controller/proc/setup_objects()
//Set up spawn points.
populate_spawn_points()
- world << "Initializations complete."
+ admin_notice("Initializations complete.", R_DEBUG)
sleep(-1)
diff --git a/code/defines/procs/admin.dm b/code/defines/procs/admin.dm
index 5901f3b9c9..6c5f27fa07 100644
--- a/code/defines/procs/admin.dm
+++ b/code/defines/procs/admin.dm
@@ -1,3 +1,8 @@
+proc/admin_notice(var/message, var/rights)
+ for(var/mob/M in mob_list)
+ if(check_rights(rights, 0, M))
+ M << message
+
proc/log_and_message_admins(var/message as text, var/mob/user = usr)
log_admin(user ? "[key_name(user)] [message]" : "EVENT [message]")
message_admins(user ? "[key_name(user)] [message]" : "EVENT [message]")
diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm
index d1cc15b0fe..0588ef5e6d 100644
--- a/code/modules/admin/holder2.dm
+++ b/code/modules/admin/holder2.dm
@@ -55,8 +55,7 @@ proc/admin_proc()
if(!check_rights(R_ADMIN)) return
world << "you have enough rights!"
-NOTE: it checks usr! not src! So if you're checking somebody's rank in a proc which they did not call
-you will have to do something like if(client.holder.rights & R_ADMIN) yourself.
+NOTE: It checks usr by default. Supply the "user" argument if you wish to check for a specific mob.
*/
/proc/check_rights(rights_required, show_msg=1, var/mob/user = usr)
if(user && user.client)
diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm
index b0ba29dcd0..4f9002409f 100644
--- a/code/modules/awaymissions/zlevel.dm
+++ b/code/modules/awaymissions/zlevel.dm
@@ -3,7 +3,7 @@ proc/createRandomZlevel()
return
var/list/potentialRandomZlevels = list()
- world << "\red \b Searching for away missions..."
+ admin_notice("\red \b Searching for away missions...", R_DEBUG)
var/list/Lines = file2list("maps/RandomZLevels/fileList.txt")
if(!Lines.len) return
for (var/t in Lines)
@@ -35,7 +35,7 @@ proc/createRandomZlevel()
if(potentialRandomZlevels.len)
- world << "\red \b Loading away mission..."
+ admin_notice("\red \b Loading away mission...", R_DEBUG)
var/map = pick(potentialRandomZlevels)
var/file = file(map)
@@ -48,8 +48,8 @@ proc/createRandomZlevel()
continue
awaydestinations.Add(L)
- world << "\red \b Away mission loaded."
+ admin_notice("\red \b Away mission loaded.", R_DEBUG)
else
- world << "\red \b No away missions found."
+ admin_notice("\red \b No away missions found.", R_DEBUG)
return
diff --git a/code/modules/random_map/mining_distribution.dm b/code/modules/random_map/mining_distribution.dm
index 76c3b5bcc0..7973ff14ab 100644
--- a/code/modules/random_map/mining_distribution.dm
+++ b/code/modules/random_map/mining_distribution.dm
@@ -62,13 +62,13 @@ Deep minerals:
deep_count++
// Sanity check.
if(surface_count < MIN_SURFACE_COUNT)
- world << "Insufficient surface minerals. Rerolling..."
+ admin_notice("Insufficient surface minerals. Rerolling...", R_DEBUG)
return 0
else if(rare_count < MIN_RARE_COUNT)
- world << "Insufficient rare minerals. Rerolling..."
+ admin_notice("Insufficient rare minerals. Rerolling...", R_DEBUG)
return 0
else if(deep_count < MIN_DEEP_COUNT)
- world << "Insufficient deep minerals. Rerolling..."
+ admin_notice("Insufficient deep minerals. Rerolling...", R_DEBUG)
return 0
else
return 1
@@ -112,7 +112,7 @@ Deep minerals:
// Infinite loop check!
if(iteration>=iterate_before_fail)
- world << "Iteration count exceeded, aborting."
+ admin_notice("Iteration count exceeded, aborting.", R_DEBUG)
return
var/isize = input_size
diff --git a/code/modules/random_map/random_map.dm b/code/modules/random_map/random_map.dm
index e6f4ec1409..81def6be14 100644
--- a/code/modules/random_map/random_map.dm
+++ b/code/modules/random_map/random_map.dm
@@ -58,12 +58,12 @@ var/global/list/random_maps = list()
if(seed) rand_seed(seed)
var/start_time = world.timeofday
- world << "Generating [descriptor]."
+ admin_notice("Generating [descriptor].", R_DEBUG)
for(var/i = 0;i[capitalize(descriptor)] generation completed in [round(0.1*(world.timeofday-start_time),0.1)] seconds."
+ admin_notice("[capitalize(descriptor)] generation completed in [round(0.1*(world.timeofday-start_time),0.1)] seconds.", R_DEBUG)
return
- world << "[capitalize(descriptor)] generation failed in [round(0.1*(world.timeofday-start_time),0.1)] seconds: could not produce sane map."
+ admin_notice("[capitalize(descriptor)] generation failed in [round(0.1*(world.timeofday-start_time),0.1)] seconds: could not produce sane map.", R_DEBUG)
/datum/random_map/proc/within_bounds(var/val)
return (val>0) && (val<=raw_map_size)
@@ -169,5 +169,5 @@ var/global/list/random_maps = list()
for(var/i = 0, i < max_secret_rooms, i++)
if(make_mining_asteroid_secret())
rooms_placed++
- world << "Placed [rooms_placed] secrets."
+ admin_notice("Placed [rooms_placed] secrets.", R_DEBUG)
return 1
\ No newline at end of file