From 0bbca438b82e9e9b1e684f550d150de34d6bac73 Mon Sep 17 00:00:00 2001 From: "Wowzewow (Wezzy)" <42310821+alsoandanswer@users.noreply.github.com> Date: Tue, 29 Nov 2022 20:08:59 +0800 Subject: [PATCH] SSD Tweaks (#15172) --- .../modules/mob/abstract/observer/observer.dm | 1 + code/modules/mob/living/carbon/human/life.dm | 2 +- code/modules/mob/living/carbon/human/login.dm | 4 +- .../modules/mob/living/carbon/human/logout.dm | 2 + html/changelogs/wezzy_SSDtweaks.yml | 41 ++++++++++++++++++ icons/effects/effects.dmi | Bin 338654 -> 339106 bytes 6 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 html/changelogs/wezzy_SSDtweaks.yml diff --git a/code/modules/mob/abstract/observer/observer.dm b/code/modules/mob/abstract/observer/observer.dm index 09b81bc407e..1358e1a26a0 100644 --- a/code/modules/mob/abstract/observer/observer.dm +++ b/code/modules/mob/abstract/observer/observer.dm @@ -228,6 +228,7 @@ Works together with spawning an observer, noted above. /mob/proc/ghostize(var/can_reenter_corpse = TRUE, var/should_set_timer = TRUE) if(ckey) + cut_overlay(image('icons/effects/effects.dmi', "zzz_glow")) // not very efficient but ghostize isn't called /too/ often. var/mob/abstract/observer/ghost = new(src) //Transfer safety to observer spawning proc. ghost.can_reenter_corpse = can_reenter_corpse ghost.timeofdeath = src.stat == DEAD ? src.timeofdeath : world.time diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index c4075803441..ee738af058b 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -741,7 +741,7 @@ return 0 //SSD check, if a logged player is awake put them back to sleep! - if(species.show_ssd && (!client && !vr_mob) && !teleop) + if(species.show_ssd && (!client && !vr_mob) && !teleop && ((world.realtime - disconnect_time) >= 5 MINUTES)) //only sleep after 5 minutes, should help those with intermittent internet connections Sleeping(2) if(stat == DEAD) //DEAD. BROWN BREAD. SWIMMING WITH THE SPESS CARP blinded = 1 diff --git a/code/modules/mob/living/carbon/human/login.dm b/code/modules/mob/living/carbon/human/login.dm index 26730de3870..781fbc44050 100644 --- a/code/modules/mob/living/carbon/human/login.dm +++ b/code/modules/mob/living/carbon/human/login.dm @@ -3,6 +3,8 @@ update_hud() if(species) species.handle_login_special(src) + if(client) + cut_overlay(image('icons/effects/effects.dmi', "zzz_glow")) var/datum/antagonist/antag = player_is_antag(mind, FALSE) if(antag) - antag.handle_latelogin(src) \ No newline at end of file + antag.handle_latelogin(src) diff --git a/code/modules/mob/living/carbon/human/logout.dm b/code/modules/mob/living/carbon/human/logout.dm index 5332851ee2a..721253d4b9d 100644 --- a/code/modules/mob/living/carbon/human/logout.dm +++ b/code/modules/mob/living/carbon/human/logout.dm @@ -2,3 +2,5 @@ ..() if(species) species.handle_logout_special(src) + if(mind && mind.active && stat != DEAD) + add_overlay(image('icons/effects/effects.dmi', icon_state = "zzz_glow")) diff --git a/html/changelogs/wezzy_SSDtweaks.yml b/html/changelogs/wezzy_SSDtweaks.yml new file mode 100644 index 00000000000..f0964117873 --- /dev/null +++ b/html/changelogs/wezzy_SSDtweaks.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: Wowzewow (Wezzy) + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "SSD no longer immediately puts you to sleep - only after 5 minutes will your character drop on the ground. Also, adds an overlay to indicate when someone's SSD." \ No newline at end of file diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 03912b8d95f0f60e50425e686bd5d4c033d27051..b64fac36d15f139fb8804e56802879efc7ecc8e8 100644 GIT binary patch delta 10188 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