Angry Eye Fix (#10916)

Vampire blood eyes now properly disappear when they lose frenzy.
This commit is contained in:
Geeves
2021-01-10 12:56:15 +02:00
committed by GitHub
parent e0854fd1e3
commit 59b4d21c84
5 changed files with 21 additions and 8 deletions

View File

@@ -205,7 +205,7 @@
/mob/living/carbon/human/vampire_start_frenzy()
. = ..()
if(.)
update_body()
update_body(force_base_icon = TRUE)
/mob/proc/vampire_stop_frenzy(var/force_stop = 0)
var/datum/vampire/vampire = mind.antag_datums[MODE_VAMPIRE]
@@ -232,7 +232,7 @@
/mob/living/carbon/human/vampire_stop_frenzy()
. = ..()
if(.)
update_body()
update_body(force_base_icon = TRUE)
// Removes all vampire powers.
/mob/proc/remove_vampire_powers()

View File

@@ -255,7 +255,7 @@ There are several things that need to be remembered:
. += M
//BASE MOB SPRITE
/mob/living/carbon/human/proc/update_body(var/update_icons=1)
/mob/living/carbon/human/proc/update_body(var/update_icons=1, var/force_base_icon = FALSE)
if (QDELING(src))
return
@@ -263,7 +263,6 @@ There are several things that need to be remembered:
var/husk = (HUSK in mutations)
var/fat = (FAT in mutations)
var/hulk = (HULK in mutations)
var/skeleton = (SKELETON in mutations)
var/g = (gender == FEMALE ? "f" : "m")
@@ -278,12 +277,12 @@ There are several things that need to be remembered:
qdel(stand_icon)
stand_icon = new(species.icon_template ? species.icon_template : 'icons/mob/human.dmi',"blank")
var/is_frenzied = FALSE
var/is_frenzied = "nofrenzy"
if(mind)
var/datum/vampire/vampire = mind.antag_datums[MODE_VAMPIRE]
if(vampire && (vampire.status & VAMP_FRENZIED))
is_frenzied = TRUE
var/icon_key = "[species.race_key][g][s_tone][r_skin][g_skin][b_skin][lip_style || "nolips"][!!husk][!!fat][!!hulk][!!skeleton][is_frenzied]"
is_frenzied = "frenzy"
var/icon_key = "[species.race_key][g][s_tone][r_skin][g_skin][b_skin][lip_style || "nolips"][!!husk][!!fat][!!skeleton][is_frenzied]"
var/obj/item/organ/internal/eyes/eyes = get_eyes()
if(eyes)
icon_key += "[rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3])]"
@@ -298,7 +297,7 @@ There are several things that need to be remembered:
icon_key += SSicon_cache.get_organ_shortcode(part)
var/icon/base_icon = SSicon_cache.human_icon_cache[icon_key]
if (!base_icon) // Icon ain't in the cache, so generate it.
if (!base_icon || force_base_icon) // Icon ain't in the cache, so generate it.
//BEGIN CACHED ICON GENERATION.
var/obj/item/organ/external/chest = get_organ(BP_CHEST)
base_icon = chest.get_icon(skeleton)
@@ -326,6 +325,7 @@ There are several things that need to be remembered:
else
base_icon.Blend(temp, ICON_OVERLAY)
part.cut_additional_images(src)
var/list/add_images = part.get_additional_images(src)
if(add_images)
add_overlay(add_images, TRUE)

View File

@@ -82,6 +82,7 @@
var/list/genetic_markings // Markings (body_markings) to apply to the icon
var/list/temporary_markings // Same as above, but not preserved when cloning
var/list/cached_markings // The two above lists cached for perf. reasons.
var/list/additional_images
var/atom/movable/applied_pressure //Pressure applied to wounds. It'll make them bleed less, generally.

View File

@@ -112,6 +112,7 @@
if(vampire && (vampire.status & VAMP_FRENZIED))
var/image/return_image = image(H.species.eyes_icons, H, "[H.species.eyes]_frenzy", EFFECTS_ABOVE_LIGHTING_LAYER)
return_image.appearance_flags = KEEP_APART
LAZYADD(additional_images, return_image)
return list(return_image)
/obj/item/organ/external/proc/apply_markings(restrict_to_robotic = FALSE)
@@ -223,6 +224,11 @@
/obj/item/organ/external/proc/get_additional_images(var/mob/living/carbon/human/H)
return
/obj/item/organ/external/proc/cut_additional_images(var/mob/living/carbon/human/H)
if(LAZYLEN(additional_images))
H.cut_overlay(additional_images, TRUE)
LAZYCLEARLIST(additional_images)
// new damage icon system
// adjusted to set damage_state to brute/burn code only (without r_name0 as before)
/obj/item/organ/external/update_icon()

View File

@@ -0,0 +1,6 @@
author: Geeves
delete-after: True
changes:
- bugfix: "Vampire blood eyes now properly disappear when they lose frenzy."