//- Are all the floors with or without air, as they should be? (regular or airless) //- Does the area have an APC? //- Does the area have an Air Alarm? //- Does the area have a Request Console? //- Does the area have lights? //- Does the area have a light switch? //- Does the area have enough intercoms? //- Does the area have enough security cameras? (Use the 'Camera Range Display' verb under Debug) //- Is the area connected to the scrubbers air loop? //- Is the area connected to the vent air loop? (vent pumps) //- Is everything wired properly? //- Does the area have a fire alarm and firedoors? //- Do all pod doors work properly? //- Are accesses set properly on doors, pod buttons, etc. //- Are all items placed properly? (not below vents, scrubbers, tables) //- Does the disposal system work properly from all the disposal units in this room and all the units, the pipes of which pass through this room? //- Check for any misplaced or stacked piece of pipe (air and disposal) //- Check for any misplaced or stacked piece of wire //- Identify how hard it is to break into the area and where the weak points are //- Check if the area has too much empty space. If so, make it smaller and replace the rest with maintenance tunnels. GLOBAL_VAR_INIT(camera_range_display_status, 0) GLOBAL_VAR_INIT(intercom_range_display_status, 0) /obj/effect/debugging/mapfix_marker name = "map fix marker" icon = 'icons/mob/screen_gen.dmi' icon_state = "mapfixmarker" desc = "I am a mappers mistake." /obj/effect/debugging/marker icon = 'icons/turf/areas.dmi' icon_state = "yellow" /obj/effect/debugging/marker/Move() return 0 USER_VERB_VISIBILITY(debug_camera_view, VERB_VISIBILITY_FLAG_MOREDEBUG) USER_VERB(debug_camera_view, R_DEBUG, "Camera Range Display", "Camera Range Display", VERB_CATEGORY_MAPPING) if(GLOB.camera_range_display_status) GLOB.camera_range_display_status = 0 else GLOB.camera_range_display_status = 1 for(var/obj/effect/debugging/marker/M in world) qdel(M) if(GLOB.camera_range_display_status) for(var/obj/machinery/camera/C in GLOB.cameranet.cameras) for(var/turf/T in orange(7, C)) var/obj/effect/debugging/marker/F = new/obj/effect/debugging/marker(T) if(!(F in view(7, C.loc))) qdel(F) SSblackbox.record_feedback("tally", "admin_verb", 1, "Camera Range Display") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_VERB_VISIBILITY(debug_camera_report, VERB_VISIBILITY_FLAG_MOREDEBUG) USER_VERB(debug_camera_report, R_DEBUG, "Camera Report", "Camera Report", VERB_CATEGORY_MAPPING) var/list/obj/machinery/camera/CL = list() for(var/obj/machinery/camera/C in GLOB.cameranet.cameras) CL += C var/output = {"CAMERA ANOMALIES REPORT
The following anomalies have been detected. The ones in red need immediate attention: Some of those in black may be intentional.
" client << browse(output,"window=airreport;size=1000x500") SSblackbox.record_feedback("tally", "admin_verb", 1, "Camera Report") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_VERB_VISIBILITY(debug_view_intercoms, VERB_VISIBILITY_FLAG_MOREDEBUG) USER_VERB(debug_view_intercoms, R_DEBUG, "Intercom Range Display", "Intercom Range Display", VERB_CATEGORY_MAPPING) if(GLOB.intercom_range_display_status) GLOB.intercom_range_display_status = 0 else GLOB.intercom_range_display_status = 1 for(var/obj/effect/debugging/marker/M in world) qdel(M) if(GLOB.intercom_range_display_status) for(var/obj/item/radio/intercom/I in GLOB.global_radios) for(var/turf/T in orange(7,I)) var/obj/effect/debugging/marker/F = new/obj/effect/debugging/marker(T) if(!(F in view(7,I.loc))) qdel(F) SSblackbox.record_feedback("tally", "admin_verb", 1, "Intercom Range Display") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_VERB_VISIBILITY(debug_object_count_zlevel, VERB_VISIBILITY_FLAG_MOREDEBUG) USER_VERB(debug_object_count_zlevel, R_DEBUG, "Count Objects On Level", "Count Objects On Level", VERB_CATEGORY_MAPPING) var/level = clean_input("Which z-level?","Level?", user = client) if(!level) return var/num_level = text2num(level) if(!num_level) return if(!isnum(num_level)) return var/type_text = clean_input("Which type path?","Path?", user = client) if(!type_text) return var/type_path = text2path(type_text) if(!type_path) return var/count = 0 var/list/atom/atom_list = list() for(var/atom/A in world) if(istype(A,type_path)) var/atom/B = A while(!(isturf(B.loc))) if(B && B.loc) B = B.loc else break if(B) if(B.z == num_level) count++ atom_list += A to_chat(world, "There are [count] objects of type [type_path] on z-level [num_level].") SSblackbox.record_feedback("tally", "admin_verb", 1, "Count Objects (On Level)") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_VERB_VISIBILITY(debug_object_count_world, VERB_VISIBILITY_FLAG_MOREDEBUG) USER_VERB(debug_object_count_world, R_DEBUG, "Count Objects All", "Count Objects All", VERB_CATEGORY_MAPPING) var/type_text = clean_input("Which type path?","", user = client) if(!type_text) return var/type_path = text2path(type_text) if(!type_path) return var/count = 0 for(var/atom/A in world) if(istype(A,type_path)) count++ to_chat(world, "There are [count] objects of type [type_path] in the game world.") SSblackbox.record_feedback("tally", "admin_verb", 1, "Count Objects (Global)") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! USER_VERB(set_next_map, R_SERVER, "Set Next Map", "Set Next Map", VERB_CATEGORY_SERVER) var/list/map_datums = list() for(var/x in subtypesof(/datum/map)) var/datum/map/M = x if(initial(M.voteable)) map_datums["[initial(M.fluff_name)] ([initial(M.technical_name)])"] = M // Put our map in var/target_map_name = input(client, "Select target map", "Next map", null) as null|anything in map_datums if(!target_map_name) return var/datum/map/TM = map_datums[target_map_name] SSmapping.next_map = new TM var/announce_to_players = alert(client, "Do you wish to tell the playerbase about your choice?", "Announce", "Yes", "No") message_admins("[key_name_admin(client)] has set the next map to [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])") log_admin("[key_name(client)] has set the next map to [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])") if(announce_to_players == "Yes") to_chat(world, SPAN_BOLDANNOUNCEOOC("[client.key] has chosen the following map for next round: [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])"))