fixes on_mob eyes overlays not updating properly sometimes.

This commit is contained in:
Ghommie
2019-12-06 03:38:39 +01:00
parent 8a6b9ac7e0
commit d6fe78f4a7
3 changed files with 20 additions and 14 deletions

View File

@@ -128,7 +128,8 @@
current.clear_alert("bloodsense")
if(ishuman(current))
var/mob/living/carbon/human/H = current
H.eye_color = initial(H.eye_color)
var/obj/item/organ/eyes/eyes = H.getorganslot(ORGAN_SLOT_EYES)
H.eye_color = eyes?.eye_color || initial(H.eye_color)
H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK)
REMOVE_TRAIT(H, TRAIT_CULT_EYES, "valid_cultist")
H.update_body()

View File

@@ -252,7 +252,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
QDEL_NULL(eyes)
if(should_have_eyes && !eyes)
eyes = new mutanteyes
eyes.Insert(C)
eyes.Insert(C, TRUE)
if(ears && (replace_current || !should_have_ears))
ears.Remove(C,1)

View File

@@ -31,17 +31,20 @@
var/damaged = FALSE //damaged indicates that our eyes are undergoing some level of negative effect
/obj/item/organ/eyes/Insert(mob/living/carbon/M, special = FALSE, drop_if_replaced = FALSE)
..()
. = ..()
if(!.)
return
if(damage == initial(damage))
clear_eye_trauma()
if(ishuman(owner))
var/mob/living/carbon/human/HMN = owner
old_eye_color = HMN.eye_color
var/mob/living/carbon/human/H = owner
old_eye_color = H.eye_color
if(eye_color)
HMN.eye_color = eye_color
HMN.regenerate_icons()
H.eye_color = eye_color
else
eye_color = HMN.eye_color
eye_color = H.eye_color
if(!special)
H.dna.species.handle_body() //regenerate eyeballs overlays.
if(HAS_TRAIT(HMN, TRAIT_NIGHT_VISION) && !lighting_alpha)
lighting_alpha = LIGHTING_PLANE_ALPHA_NV_TRAIT
see_in_dark = 8
@@ -51,13 +54,15 @@
/obj/item/organ/eyes/Remove(mob/living/carbon/M, special = 0)
clear_eye_trauma()
..()
. = ..()
if(ishuman(M) && eye_color)
var/mob/living/carbon/human/HMN = M
HMN.eye_color = old_eye_color
HMN.regenerate_icons()
M.update_tint()
M.update_sight()
var/mob/living/carbon/human/H = M
H.eye_color = old_eye_color
if(!special)
H.dna.species.handle_body()
if(!special)
M.update_tint()
M.update_sight()
/obj/item/organ/eyes/on_life()
..()