fixes on_mob eyes overlays not updating properly sometimes.
This commit is contained in:
@@ -128,7 +128,8 @@
|
|||||||
current.clear_alert("bloodsense")
|
current.clear_alert("bloodsense")
|
||||||
if(ishuman(current))
|
if(ishuman(current))
|
||||||
var/mob/living/carbon/human/H = 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)
|
H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK)
|
||||||
REMOVE_TRAIT(H, TRAIT_CULT_EYES, "valid_cultist")
|
REMOVE_TRAIT(H, TRAIT_CULT_EYES, "valid_cultist")
|
||||||
H.update_body()
|
H.update_body()
|
||||||
|
|||||||
@@ -252,7 +252,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
|||||||
QDEL_NULL(eyes)
|
QDEL_NULL(eyes)
|
||||||
if(should_have_eyes && !eyes)
|
if(should_have_eyes && !eyes)
|
||||||
eyes = new mutanteyes
|
eyes = new mutanteyes
|
||||||
eyes.Insert(C)
|
eyes.Insert(C, TRUE)
|
||||||
|
|
||||||
if(ears && (replace_current || !should_have_ears))
|
if(ears && (replace_current || !should_have_ears))
|
||||||
ears.Remove(C,1)
|
ears.Remove(C,1)
|
||||||
|
|||||||
@@ -31,17 +31,20 @@
|
|||||||
var/damaged = FALSE //damaged indicates that our eyes are undergoing some level of negative effect
|
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)
|
/obj/item/organ/eyes/Insert(mob/living/carbon/M, special = FALSE, drop_if_replaced = FALSE)
|
||||||
..()
|
. = ..()
|
||||||
|
if(!.)
|
||||||
|
return
|
||||||
if(damage == initial(damage))
|
if(damage == initial(damage))
|
||||||
clear_eye_trauma()
|
clear_eye_trauma()
|
||||||
if(ishuman(owner))
|
if(ishuman(owner))
|
||||||
var/mob/living/carbon/human/HMN = owner
|
var/mob/living/carbon/human/H = owner
|
||||||
old_eye_color = HMN.eye_color
|
old_eye_color = H.eye_color
|
||||||
if(eye_color)
|
if(eye_color)
|
||||||
HMN.eye_color = eye_color
|
H.eye_color = eye_color
|
||||||
HMN.regenerate_icons()
|
|
||||||
else
|
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)
|
if(HAS_TRAIT(HMN, TRAIT_NIGHT_VISION) && !lighting_alpha)
|
||||||
lighting_alpha = LIGHTING_PLANE_ALPHA_NV_TRAIT
|
lighting_alpha = LIGHTING_PLANE_ALPHA_NV_TRAIT
|
||||||
see_in_dark = 8
|
see_in_dark = 8
|
||||||
@@ -51,13 +54,15 @@
|
|||||||
|
|
||||||
/obj/item/organ/eyes/Remove(mob/living/carbon/M, special = 0)
|
/obj/item/organ/eyes/Remove(mob/living/carbon/M, special = 0)
|
||||||
clear_eye_trauma()
|
clear_eye_trauma()
|
||||||
..()
|
. = ..()
|
||||||
if(ishuman(M) && eye_color)
|
if(ishuman(M) && eye_color)
|
||||||
var/mob/living/carbon/human/HMN = M
|
var/mob/living/carbon/human/H = M
|
||||||
HMN.eye_color = old_eye_color
|
H.eye_color = old_eye_color
|
||||||
HMN.regenerate_icons()
|
if(!special)
|
||||||
M.update_tint()
|
H.dna.species.handle_body()
|
||||||
M.update_sight()
|
if(!special)
|
||||||
|
M.update_tint()
|
||||||
|
M.update_sight()
|
||||||
|
|
||||||
/obj/item/organ/eyes/on_life()
|
/obj/item/organ/eyes/on_life()
|
||||||
..()
|
..()
|
||||||
|
|||||||
Reference in New Issue
Block a user