From dc63265d942cdec4621966a9c29b0dec4df1ed68 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Sun, 7 Oct 2018 20:24:32 -0700 Subject: [PATCH] Fixes bugs with AI examining and nearsighted updates --- code/game/dna/genes/disabilities.dm | 8 ++++++++ code/modules/mob/living/carbon/human/inventory.dm | 5 ++--- code/modules/mob/living/carbon/human/update_stat.dm | 7 +++++++ code/modules/mob/living/silicon/ai/update_status.dm | 2 +- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/code/game/dna/genes/disabilities.dm b/code/game/dna/genes/disabilities.dm index d448419b72d..b346a3fecd9 100644 --- a/code/game/dna/genes/disabilities.dm +++ b/code/game/dna/genes/disabilities.dm @@ -159,6 +159,14 @@ /datum/dna/gene/disability/nearsighted/New() block=GLASSESBLOCK +/datum/dna/gene/disability/nearsighted/activate(mob/living/M, connected, flags) + . = ..() + M.update_nearsighted_effects() + +/datum/dna/gene/disability/nearsighted/deactivate(mob/living/M, connected, flags) + . = ..() + M.update_nearsighted_effects() + /datum/dna/gene/disability/lisp name = "Lisp" desc = "I wonder wath thith doeth." diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 50848851646..c74d7b47c56 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -114,7 +114,7 @@ if(G.tint) update_tint() if(G.prescription) - clear_fullscreen("nearsighted") + update_nearsighted_effects() if(G.vision_flags || G.darkness_view || G.invis_override || G.invis_view) update_sight() update_inv_glasses() @@ -266,8 +266,7 @@ if(G.tint) update_tint() if(G.prescription) - if(disabilities & NEARSIGHTED) - overlay_fullscreen("nearsighted", /obj/screen/fullscreen/impaired, 1) + update_nearsighted_effects() if(G.vision_flags || G.darkness_view || G.invis_override || G.invis_view) update_sight() update_inv_glasses(redraw_mob) diff --git a/code/modules/mob/living/carbon/human/update_stat.dm b/code/modules/mob/living/carbon/human/update_stat.dm index 1d900d478d6..e079328206e 100644 --- a/code/modules/mob/living/carbon/human/update_stat.dm +++ b/code/modules/mob/living/carbon/human/update_stat.dm @@ -18,3 +18,10 @@ if((health >= (config.health_threshold_dead + config.health_threshold_crit) * 0.5) && getBrainLoss()<120) update_revive() create_debug_log("revived from healing, trigger reason: [reason]") + +/mob/living/carbon/human/update_nearsighted_effects() + var/obj/item/clothing/glasses/G = glasses + if((disabilities & NEARSIGHTED) && (!istype(G) || !G.prescription)) + overlay_fullscreen("nearsighted", /obj/screen/fullscreen/impaired, 1) + else + clear_fullscreen("nearsighted") \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/update_status.dm b/code/modules/mob/living/silicon/ai/update_status.dm index 853dedbd6c0..18a35534db8 100644 --- a/code/modules/mob/living/silicon/ai/update_status.dm +++ b/code/modules/mob/living/silicon/ai/update_status.dm @@ -11,5 +11,5 @@ create_debug_log("woke up, trigger reason: [reason]") //diag_hud_set_status() -/mob/living/silicon/ai/has_vision() +/mob/living/silicon/ai/has_vision(information_only = FALSE) return ..() && !lacks_power()