diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 9fd1280f399..54cca53f44c 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1998,121 +1998,7 @@ var/global/BSACooldown = 0 dat += "job: [job.title], current_positions: [job.current_positions], total_positions: [job.total_positions]
" usr << browse(dat, "window=jobdebug;size=600x500") if("check_antagonist") - if (ticker && ticker.current_state >= GAME_STATE_PLAYING) - var/dat = "Round Status

Round Status

" - dat += "Current Game Mode: [ticker.mode.name]
" - dat += "Round Duration: [round(world.time / 36000)]:[add_zero(world.time / 600 % 60, 2)]:[world.time / 100 % 6][world.time / 100 % 10]
" - dat += "Emergency shuttle
" - if (!emergency_shuttle.online) - dat += "Call Shuttle
" - else - var/timeleft = emergency_shuttle.timeleft() - switch(emergency_shuttle.location) - if(0) - dat += "ETA: [(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]
" - dat += "Send Back
" - if(1) - dat += "ETA: [(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]
" - - if(ticker.mode.syndicates.len) - dat += "
" - for(var/datum/mind/N in ticker.mode.syndicates) - var/mob/M = N.current - if(M) - dat += "" - dat += "" - else - dat += "" - dat += "
Syndicates
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PM
Nuclear Operative not found!

" - for(var/obj/item/weapon/disk/nuclear/N in world) - dat += "" - dat += "
Nuclear Disk(s)
[N.name], " - var/atom/disk_loc = N.loc - while(!istype(disk_loc, /turf)) - if(istype(disk_loc, /mob)) - var/mob/M = disk_loc - dat += "carried by [M.real_name] " - if(istype(disk_loc, /obj)) - var/obj/O = disk_loc - dat += "in \a [O.name] " - disk_loc = disk_loc.loc - dat += "in [disk_loc.loc] at ([disk_loc.x], [disk_loc.y], [disk_loc.z])
" - - if(ticker.mode.head_revolutionaries.len || ticker.mode.revolutionaries.len) - dat += "
" - for(var/datum/mind/N in ticker.mode.head_revolutionaries) - var/mob/M = N.current - if(!M) - dat += "" - else - dat += "" - dat += "" - for(var/datum/mind/N in ticker.mode.revolutionaries) - var/mob/M = N.current - if(M) - dat += "" - dat += "" - dat += "
Revolutionaries
Head Revolutionary not found!
[M.real_name] (Leader)[M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PM
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PM
" - for(var/datum/mind/N in ticker.mode.get_living_heads()) - var/mob/M = N.current - if(M) - dat += "" - dat += "" - var/turf/mob_loc = get_turf_loc(M) - dat += "" - else - dat += "" - dat += "
Target(s)Location
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PM[mob_loc.loc]
Head not found!
" - - if(ticker.mode.changelings.len > 0) - dat += "
" - for(var/datum/mind/changeling in ticker.mode.changelings) - var/mob/M = changeling.current - if(M) - dat += "" - dat += "" - dat += "" - else - dat += "" - dat += "
Changelings
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PMShow Objective
Changeling not found!
" - - if(ticker.mode.wizards.len > 0) - dat += "
" - for(var/datum/mind/wizard in ticker.mode.wizards) - var/mob/M = wizard.current - if(M) - dat += "" - dat += "" - dat += "" - else - dat += "" - dat += "
Wizards
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PMShow Objective
Wizard not found!
" - - if(ticker.mode.cult.len) - dat += "
" - for(var/datum/mind/N in ticker.mode.cult) - var/mob/M = N.current - if(M) - dat += "" - dat += "" - dat += "
Cultists
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PM
" - - if(ticker.mode.traitors.len > 0) - dat += "
" - for(var/datum/mind/traitor in ticker.mode.traitors) - var/mob/M = traitor.current - if(M) - dat += "" - dat += "" - dat += "" - else - dat += "" - dat += "
Traitors
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PMShow Objective
Traitor not found!
" - - dat += "" - usr << browse(dat, "window=roundstatus;size=400x500") - else - alert("The game hasn't started yet!") + check_antagonists() if("showailaws") for(var/mob/living/silicon/ai/ai in world) usr << "[key_name(ai, usr)]'s Laws:" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 9d125456b6b..1e855e0c026 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -161,6 +161,7 @@ if (holder.level >= 2) verbs += /client/proc/cmd_admin_add_random_ai_law verbs += /client/proc/secrets + verbs += /client/proc/check_antagonists verbs += /client/proc/play_sound verbs += /client/proc/stealth verbs += /client/proc/deadmin_self @@ -230,7 +231,6 @@ verbs += /client/proc/cmd_admin_world_narrate verbs += /client/proc/cmd_debug_del_all verbs += /client/proc/cmd_debug_tog_aliens - verbs += /client/proc/ticklag verbs += /client/proc/mapload verbs += /client/proc/check_words verbs += /client/proc/drop_bomb @@ -323,7 +323,6 @@ verbs -= /client/proc/Cell verbs -= /client/proc/cmd_debug_del_all verbs -= /client/proc/cmd_debug_tog_aliens - verbs -= /client/proc/ticklag verbs -= /client/proc/mapload verbs -= /client/proc/check_words verbs -= /client/proc/drop_bomb @@ -356,6 +355,7 @@ verbs -= /client/proc/spawn_xeno verbs -= /client/proc/cmd_admin_add_random_ai_law verbs -= /client/proc/secrets + verbs -= /client/proc/check_antagonists verbs -= /client/proc/play_sound verbs -= /client/proc/stealth verbs -= /client/proc/cmd_admin_check_contents @@ -482,13 +482,21 @@ return /client/proc/player_panel_new() - set name = "Player Panel-New" + set name = "Player Panel New" set category = "Admin" if(holder) holder.player_panel_new() feedback_add_details("admin_verb","PPN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return +/client/proc/check_antagonists() + set name = "Check Antagonists" + set category = "Admin" + if(holder) + holder.check_antagonists() + feedback_add_details("admin_verb","CHA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + return + /client/proc/jobbans() set name = "Display Job bans" set category = "Admin" diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 5907dc92c96..bc8d392c20c 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -373,3 +373,122 @@ dat += "" usr << browse(dat, "window=players;size=640x480") + + + +/obj/admins/proc/check_antagonists() + if (ticker && ticker.current_state >= GAME_STATE_PLAYING) + var/dat = "Round Status

Round Status

" + dat += "Current Game Mode: [ticker.mode.name]
" + dat += "Round Duration: [round(world.time / 36000)]:[add_zero(world.time / 600 % 60, 2)]:[world.time / 100 % 6][world.time / 100 % 10]
" + dat += "Emergency shuttle
" + if (!emergency_shuttle.online) + dat += "Call Shuttle
" + else + var/timeleft = emergency_shuttle.timeleft() + switch(emergency_shuttle.location) + if(0) + dat += "ETA: [(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]
" + dat += "Send Back
" + if(1) + dat += "ETA: [(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]
" + + if(ticker.mode.syndicates.len) + dat += "
" + for(var/datum/mind/N in ticker.mode.syndicates) + var/mob/M = N.current + if(M) + dat += "" + dat += "" + else + dat += "" + dat += "
Syndicates
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PM
Nuclear Operative not found!

" + for(var/obj/item/weapon/disk/nuclear/N in world) + dat += "" + dat += "
Nuclear Disk(s)
[N.name], " + var/atom/disk_loc = N.loc + while(!istype(disk_loc, /turf)) + if(istype(disk_loc, /mob)) + var/mob/M = disk_loc + dat += "carried by [M.real_name] " + if(istype(disk_loc, /obj)) + var/obj/O = disk_loc + dat += "in \a [O.name] " + disk_loc = disk_loc.loc + dat += "in [disk_loc.loc] at ([disk_loc.x], [disk_loc.y], [disk_loc.z])
" + + if(ticker.mode.head_revolutionaries.len || ticker.mode.revolutionaries.len) + dat += "
" + for(var/datum/mind/N in ticker.mode.head_revolutionaries) + var/mob/M = N.current + if(!M) + dat += "" + else + dat += "" + dat += "" + for(var/datum/mind/N in ticker.mode.revolutionaries) + var/mob/M = N.current + if(M) + dat += "" + dat += "" + dat += "
Revolutionaries
Head Revolutionary not found!
[M.real_name] (Leader)[M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PM
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PM
" + for(var/datum/mind/N in ticker.mode.get_living_heads()) + var/mob/M = N.current + if(M) + dat += "" + dat += "" + var/turf/mob_loc = get_turf_loc(M) + dat += "" + else + dat += "" + dat += "
Target(s)Location
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PM[mob_loc.loc]
Head not found!
" + + if(ticker.mode.changelings.len > 0) + dat += "
" + for(var/datum/mind/changeling in ticker.mode.changelings) + var/mob/M = changeling.current + if(M) + dat += "" + dat += "" + dat += "" + else + dat += "" + dat += "
Changelings
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PMShow Objective
Changeling not found!
" + + if(ticker.mode.wizards.len > 0) + dat += "
" + for(var/datum/mind/wizard in ticker.mode.wizards) + var/mob/M = wizard.current + if(M) + dat += "" + dat += "" + dat += "" + else + dat += "" + dat += "
Wizards
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PMShow Objective
Wizard not found!
" + + if(ticker.mode.cult.len) + dat += "
" + for(var/datum/mind/N in ticker.mode.cult) + var/mob/M = N.current + if(M) + dat += "" + dat += "" + dat += "
Cultists
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PM
" + + if(ticker.mode.traitors.len > 0) + dat += "
" + for(var/datum/mind/traitor in ticker.mode.traitors) + var/mob/M = traitor.current + if(M) + dat += "" + dat += "" + dat += "" + else + dat += "" + dat += "
Traitors
[M.real_name][M.client ? "" : " (logged out)"][M.stat == 2 ? " (DEAD)" : ""]PMShow Objective
Traitor not found!
" + + dat += "" + usr << browse(dat, "window=roundstatus;size=400x500") + else + alert("The game hasn't started yet!") diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 0e5bbf9a5f7..732381600c2 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -139,6 +139,8 @@ var/intercom_range_display_status = 0 src.verbs += /client/proc/cmd_assume_direct_control //-errorage src.verbs += /client/proc/jump_to_dead_group src.verbs += /client/proc/startSinglo + src.verbs += /client/proc/ticklag //allows you to set the ticklag. + feedback_add_details("admin_verb","mDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! count_objects_on_z_level()