From 14c67e08934132c73a276cc95a43163031331519 Mon Sep 17 00:00:00 2001 From: Neerti Date: Tue, 17 Jan 2017 04:11:57 -0500 Subject: [PATCH] Two bugfixes Ghosts should be able to hear things once more. The big bold NEW NEWS notice should remember if one has already seen the news, as the hash was not actually being saved. It's being saved now. --- code/modules/admin/news.dm | 4 ++-- code/modules/client/preference_setup/global/02_settings.dm | 3 +++ code/modules/client/preferences.dm | 4 +++- code/modules/mob/dead/observer/observer.dm | 6 ++++++ code/modules/mob/new_player/new_player.dm | 3 ++- 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/code/modules/admin/news.dm b/code/modules/admin/news.dm index 7881febe3a..b9e1b616b4 100644 --- a/code/modules/admin/news.dm +++ b/code/modules/admin/news.dm @@ -1,13 +1,13 @@ #define NEWSFILE "data/news.sav" //where the memos are saved /client/ - var/last_news_hash = null // Stores a hash of the last news window it saw, which gets compared to the current one to see if it is different. + //var/last_news_hash = null // Stores a hash of the last news window it saw, which gets compared to the current one to see if it is different. // Returns true if news was updated since last seen. /client/proc/check_for_new_server_news() var/savefile/F = get_server_news() if(F) - if(md5(F["body"]) != last_news_hash) + if(md5(F["body"]) != prefs.lastnews) return TRUE return FALSE diff --git a/code/modules/client/preference_setup/global/02_settings.dm b/code/modules/client/preference_setup/global/02_settings.dm index c7635cbb91..f213c15a8a 100644 --- a/code/modules/client/preference_setup/global/02_settings.dm +++ b/code/modules/client/preference_setup/global/02_settings.dm @@ -8,12 +8,14 @@ /datum/category_item/player_setup_item/player_global/settings/load_preferences(var/savefile/S) S["lastchangelog"] >> pref.lastchangelog + S["lastnews"] >> pref.lastnews S["default_slot"] >> pref.default_slot S["preferences"] >> pref.preferences_enabled S["preferences_disabled"] >> pref.preferences_disabled /datum/category_item/player_setup_item/player_global/settings/save_preferences(var/savefile/S) S["lastchangelog"] << pref.lastchangelog + S["lastnews"] << pref.lastnews S["default_slot"] << pref.default_slot S["preferences"] << pref.preferences_enabled S["preferences_disabled"] << pref.preferences_disabled @@ -47,6 +49,7 @@ pref.preferences_disabled -= key pref.lastchangelog = sanitize_text(pref.lastchangelog, initial(pref.lastchangelog)) + pref.lastnews = sanitize_text(pref.lastnews, initial(pref.lastnews)) pref.default_slot = sanitize_integer(pref.default_slot, 1, config.character_slots, initial(pref.default_slot)) /datum/category_item/player_setup_item/player_global/settings/content(var/mob/user) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index db12940bd9..4b04dd0046 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -114,6 +114,8 @@ datum/preferences var/datum/category_collection/player_setup_collection/player_setup var/datum/browser/panel + var/lastnews // Hash of last seen lobby news content. + /datum/preferences/New(client/C) player_setup = new(src) set_biological_gender(pick(MALE, FEMALE)) @@ -262,7 +264,7 @@ datum/preferences if(be_random_name) real_name = random_name(identifying_gender,species) - // Ask the preferences datums to apply their own settings to the new mob + // Ask the preferences datums to apply their own settings to the new mob player_setup.copy_to_mob(character) if(icon_updates) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index b20d39ddce..b7a686fef0 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -843,3 +843,9 @@ mob/observer/dead/MayRespawn(var/feedback = 0) if(finalized == "No") icon_state = previous_state + +/mob/observer/dead/is_blind() + return FALSE + +/mob/observer/dead/is_deaf() + return FALSE diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 40a1793eed..066fd5b0a4 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -291,7 +291,8 @@ return var/savefile/F = get_server_news() if(F) - client.last_news_hash = md5(F["body"]) + client.prefs.lastnews = md5(F["body"]) + client.prefs.save_preferences() var/dat = "
" dat += "

[F["title"]]

"