From 07d8e72125113d964b34b4fe3b3e33f4dd550fa1 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sat, 12 Dec 2020 11:19:45 -0700 Subject: [PATCH] fix --- code/controllers/subsystem/ticker.dm | 2 +- code/datums/world_topic.dm | 2 +- code/modules/admin/admin.dm | 4 +- .../modules/mob/dead/new_player/new_player.dm | 4 +- code/modules/mob/dead/observer/respawn.dm | 43 +++---------------- code/modules/mob/living/death.dm | 4 ++ 6 files changed, 17 insertions(+), 42 deletions(-) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 730ee3d6ab..e58d05f0d8 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -373,7 +373,7 @@ SUBSYSTEM_DEF(ticker) player.create_character(FALSE) if(player.new_character && player.client && player.client.prefs) // we cannot afford a runtime, ever LAZYOR(player.client.prefs.slots_joined_as, player.client.prefs.slot) - LAZYOR(player.client.prefs.characters_joined_as, player.new_character.real_name)) + LAZYOR(player.client.prefs.characters_joined_as, player.new_character.real_name) else stack_trace("WARNING: Either a player did not have a new_character, did not have a client, or did not have preferences. This is VERY bad.") else diff --git a/code/datums/world_topic.dm b/code/datums/world_topic.dm index 261e423640..7a1f0f6980 100644 --- a/code/datums/world_topic.dm +++ b/code/datums/world_topic.dm @@ -164,7 +164,7 @@ . = list() .["version"] = GLOB.game_version .["mode"] = "hidden" //CIT CHANGE - hides the gamemode in topic() calls to prevent meta'ing the gamemode - .["respawn"] = config ? !CONFIG_GET(flag/norespawn) : FALSE + .["respawn"] = config ? CONFIG_GET(flag/respawns_enabled) : FALSE .["enter"] = GLOB.enter_allowed .["vote"] = CONFIG_GET(flag/allow_vote_mode) .["ai"] = CONFIG_GET(flag/allow_ai) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index d4b2d03428..d4afc3dbb4 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -679,8 +679,8 @@ set category = "Server" set desc="Respawn basically" set name="Toggle Respawn" - var/new_nores = !CONFIG_GET(flag/norespawn) - CONFIG_SET(flag/norespawn, new_nores) + var/new_nores = CONFIG_GET(flag/respawns_enabled) + CONFIG_SET(flag/respawns_enabled, !new_nores) if (!new_nores) to_chat(world, "You may now respawn.", confidential = TRUE) else diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 6d619c4fd1..09975ed7b9 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -449,8 +449,8 @@ GLOB.joined_player_list += character.ckey GLOB.latejoiners += character - LAZYOR(prefs.slots_joined_as, prefs.slot) - LAZYOR(prefs.characters_joined_as, character.real_name)) + LAZYOR(character.client.prefs.slots_joined_as, prefs.slot) + LAZYOR(character.client.prefs.characters_joined_as, character.real_name) if(CONFIG_GET(flag/allow_latejoin_antagonists) && humanc) //Borgs aren't allowed to be antags. Will need to be tweaked if we get true latejoin ais. if(SSshuttle.emergency) diff --git a/code/modules/mob/dead/observer/respawn.dm b/code/modules/mob/dead/observer/respawn.dm index fb1873adff..0ccdc460cf 100644 --- a/code/modules/mob/dead/observer/respawn.dm +++ b/code/modules/mob/dead/observer/respawn.dm @@ -15,7 +15,7 @@ continue valid["[I.ckey] - Observing: [I]"] = I.ckey for(var/mob/dead/new_player/I in GLOB.dead_mob_list) - if(!I.client || !I.prefs.respawn_restrictions_active) + if(!I.client || !I.client.prefs.respawn_restrictions_active) continue valid["[I.ckey] - IN LOBBY"] = I.ckey var/ckey = valid[input(src, "Choose a player (only showing logged in players who have restrictions)", "Unrestricted Respawn") as null|anything in valid] @@ -39,7 +39,7 @@ if(confirm != "Yes") return message_admins("[key_name_admin(src)] removed [ckey]'s respawn restrictions.") - log_admins("[key_name(src)] removed [ckey]'s respawn restrictions") + log_admin("[key_name(src)] removed [ckey]'s respawn restrictions") NP.client.prefs.respawn_restrictions_active = FALSE to_chat(NP, "Your respawn restrictions have been removed.") else @@ -54,7 +54,7 @@ set category = "Admin" var/list/mob/dead/observer/valid = list() - for(var/mob/dead/observer/i in GLOB.dead_mob_list) + for(var/mob/dead/observer/I in GLOB.dead_mob_list) if(!I.client) continue valid["[I.ckey] - [I.name]"] = I @@ -99,6 +99,10 @@ set name = "Respawn" set category = "OOC" + if(!CONFIG_GET(flag/respawns_enabled)) + to_chat(src, "Respawns are disabled in configuration.") + return + var/timeleft = time_left_to_respawn() if(timeleft) to_chat(src, "It's been too short of a time since you died/observed! Please wait [round(timeleft / 600, 0.1)] more minutes.") @@ -145,36 +149,3 @@ var/mob/dead/new_player/M = new /mob/dead/new_player M.ckey = ckey - -/mob/verb/abandon_mob() - set name = "Respawn" - set category = "OOC" - - if (CONFIG_GET(flag/norespawn)) - return - if ((stat != DEAD || !( SSticker ))) - to_chat(usr, "You must be dead to use this!") - return - - log_game("[key_name(usr)] used abandon mob.") - - to_chat(usr, "Please roleplay correctly!") - - if(!client) - log_game("[key_name(usr)] AM failed due to disconnect.") - return - client.screen.Cut() - client.screen += client.void - if(!client) - log_game("[key_name(usr)] AM failed due to disconnect.") - return - - var/mob/dead/new_player/M = new /mob/dead/new_player() - if(!client) - log_game("[key_name(usr)] AM failed due to disconnect.") - qdel(M) - return - - M.key = key -// M.Login() //wat - return diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index c605f91528..f0caa63a1a 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -66,6 +66,10 @@ GLOB.alive_mob_list -= src if(!gibbed) GLOB.dead_mob_list += src + if(mind.key) + var/datum/preferences/P = GLOB.preferences_datums[ckey(mind.key)] + if(P) + P.respawn_time_of_death = world.time set_drugginess(0) set_disgust(0) SetSleeping(0, 0)