diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 0099cf6ffd..7a4064f4ed 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -348,7 +348,7 @@ var/global/list/additional_antag_types = list()
escaped_on_pod_large_2++
if(M_area_type == /area/shuttle/cryo/centcom) //CHOMP Add
escaped_on_cryopod++
-
+
if(isobserver(M))
@@ -397,11 +397,11 @@ var/global/list/additional_antag_types = list()
send2mainirc("A round of [src.name] has ended - [surviving_total] survivors, [ghosts] ghosts.")
SSwebhooks.send(
- WEBHOOK_ROUNDEND,
+ WEBHOOK_ROUNDEND,
list(
- "survivors" = surviving_total,
- "escaped" = escaped_total,
- "ghosts" = ghosts,
+ "survivors" = surviving_total,
+ "escaped" = escaped_total,
+ "ghosts" = ghosts,
"clients" = clients
)
)
@@ -543,6 +543,8 @@ var/global/list/additional_antag_types = list()
msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] (Ghosted)\n"
continue //Ghosted while alive
+ continue // CHOMPEdit: Escape infinite loop in case there's nobody connected. Shouldn't happen ever, but.
+
msg += "" // close the span from right at the top
for(var/mob/M in mob_list)
diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm
index b4aff90dc8..e30922dacf 100644
--- a/code/modules/client/client procs.dm
+++ b/code/modules/client/client procs.dm
@@ -231,6 +231,7 @@
if(holder)
add_admin_verbs()
admin_memo_show()
+ message_admins("Admin login: [key_name(src)]") // CHOMPEdit: Admin Login Notice
// Forcibly enable hardware-accelerated graphics, as we need them for the lighting overlays.
// (but turn them off first, since sometimes BYOND doesn't turn them on properly otherwise)
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 19fa408643..2b8395d5c9 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -168,10 +168,10 @@
I = getFlatIcon(src, defdir = SOUTH, no_anim = TRUE)
set_cached_examine_icon(src, I, 200 SECONDS)
return I
-
+
/mob/observer/dead/examine(mob/user)
. = ..()
-
+
if(is_admin(user))
. += "\t>[ADMIN_FULLMONTY(src)]"
@@ -292,6 +292,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
B.update(1)
if(!admin_ghosted)
announce_ghost_joinleave(mind, 0, "They now occupy their body again.")
+ if(admin_ghosted)
+ log_and_message_admins("Admin [key_name(src)] re-entered their body.") // CHOMPEdit - Add logging.
return 1
/mob/observer/dead/verb/toggle_medHUD()
@@ -344,7 +346,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/list/areas = return_sorted_areas()
if(client?.holder)
return areas
-
+
for(var/key in areas)
var/area/A = areas[key]
if(A.z in using_map?.secret_levels)
@@ -365,7 +367,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
mobs -= key
if(mobz in using_map?.hidden_levels)
mobs -= key
-
+
return mobs
/mob/observer/dead/verb/dead_tele(areaname as anything in jumpable_areas())
@@ -378,7 +380,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
return
var/area/A
-
+
if(!areaname)
var/list/areas = jumpable_areas()
var/input = tgui_input_list(usr, "Select an area:", "Ghost Teleport", areas)
@@ -420,29 +422,29 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
return
ManualFollow(M || jumpable_mobs()[mobname])
-
+
/mob/observer/dead/forceMove(atom/destination)
if(client?.holder)
return ..()
-
+
if(get_z(destination) in using_map?.secret_levels)
to_chat(src,SPAN_WARNING("Sorry, that z-level does not allow ghosts."))
if(following)
stop_following()
return
-
+
return ..()
/mob/observer/dead/Move(atom/newloc, direct = 0, movetime)
if(client?.holder)
return ..()
-
+
if(get_z(newloc) in using_map?.secret_levels)
to_chat(src,SPAN_WARNING("Sorry, that z-level does not allow ghosts."))
if(following)
stop_following()
return
-
+
return ..()
// This is the ghost's follow verb with an argument
@@ -526,7 +528,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
for(var/mob/observer/dead/M in following_mobs)
if(!.)
M.stop_following()
-
+
if(M.following != src)
following_mobs -= M
else
@@ -649,7 +651,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(config.disable_player_mice)
to_chat(src, "Spawning as a mouse is currently disabled.")
return
-
+
//VOREStation Add Start
if(jobban_isbanned(src, "GhostRoles"))
to_chat(src, "You cannot become a mouse because you are banned from playing ghost roles.")
@@ -1000,7 +1002,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(jobban_isbanned(usr, "pAI"))
to_chat(usr,"You cannot alert pAI cards when you are banned from playing as a pAI.")
return
-
+
if(usr.client.prefs?.be_special & BE_PAI)
var/choice = tgui_alert(usr, "Would you like to submit yourself to the recruitment list too?", "Confirmation", list("No", "Yes"))
if(choice == "Yes")
diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm
index 398c748ccc..374690c5bd 100644
--- a/code/modules/mob/login.dm
+++ b/code/modules/mob/login.dm
@@ -83,4 +83,4 @@
if(cloaked && cloaked_selfimage)
client.images += cloaked_selfimage
- SEND_SIGNAL(src, COMSIG_MOB_CLIENT_LOGIN, client)
\ No newline at end of file
+ SEND_SIGNAL(src, COMSIG_MOB_CLIENT_LOGIN, client)
diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm
index ced40de20d..d0a7d01603 100644
--- a/code/modules/mob/logout.dm
+++ b/code/modules/mob/logout.dm
@@ -6,13 +6,13 @@
log_access_out(src)
unset_machine()
if(admin_datums[src.ckey])
- if (ticker && ticker.current_state == GAME_STATE_PLAYING) //Only report this stuff if we are currently playing.
+ message_admins("Admin logout: [key_name(src)]") // CHOMPEdit: Admin logout notice displays no matter what
+ if(ticker && ticker.current_state == GAME_STATE_PLAYING) //Only report this stuff if we are currently playing.
var/admins_number = GLOB.admins.len
- message_admins("Admin logout: [key_name(src)]")
if(admins_number == 0) //Apparently the admin logging out is no longer an admin at this point, so we have to check this towards 0 and not towards 1. Awell.
send2adminirc("[key_name(src)] logged out - no more admins online.")
set_listening(NON_LISTENING_ATOM) //maybe remove this, even if it will cause a teensy bit more lag
..()
- return 1
\ No newline at end of file
+ return 1
diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm
index c1c3e2fa03..1a90c4a605 100644
--- a/code/modules/mob/new_player/login.dm
+++ b/code/modules/mob/new_player/login.dm
@@ -53,7 +53,7 @@ var/obj/effect/lobby_image = new /obj/effect/lobby_image
/mob/new_player/proc/version_warnings()
var/problems // string to store message to present to player as a problem
-
+
// TODO: Move this to a config file at some point maybe? What would the structure of that look like?
switch(client.byond_build)
// http://www.byond.com/forum/post/2711510
@@ -62,7 +62,7 @@ var/obj/effect/lobby_image = new /obj/effect/lobby_image
// http://www.byond.com/forum/post/2711748
if(1562 to 1563)
problems = "frequent known crashes related to animations"
-
+
// Don't have a thread, just a lot of player reports.
if(1564 to 1565) // Fixed in 1566 which isn't released as of this commit
if(world.byond_build == 1564)