diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm index ecfb45eaa8b..194e64100e2 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/sentinel.dm @@ -26,18 +26,17 @@ large = 1 /mob/living/carbon/alien/humanoid/sentinel/large/update_icons() - lying_prev = lying //so we don't update overlays for lying/standing unless our stance changes again update_hud() //TODO: remove the need for this to be here overlays.Cut() - if(lying) - if(resting) icon_state = "prat_sleep" - else icon_state = "prat_l" - for(var/image/I in overlays_lying) - overlays += I + if(stat == DEAD) + icon_state = "prat_dead" + else if(stat == UNCONSCIOUS || lying || resting) + icon_state = "prat_sleep" else icon_state = "prat_s" - for(var/image/I in overlays_standing) - overlays += I + + for(var/image/I in overlays_standing) + overlays += I /mob/living/carbon/alien/humanoid/sentinel/New() var/datum/reagents/R = new/datum/reagents(100) diff --git a/code/modules/mob/living/carbon/alien/humanoid/empress.dm b/code/modules/mob/living/carbon/alien/humanoid/empress.dm index 6e10ad90d9c..6d20f4e1e45 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/empress.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/empress.dm @@ -20,18 +20,19 @@ pixel_x = -32 /mob/living/carbon/alien/humanoid/empress/large/update_icons() - lying_prev = lying //so we don't update overlays for lying/standing unless our stance changes again + update_hud() //TODO: remove the need for this to be here overlays.Cut() - if(lying) - if(resting) icon_state = "empress_sleep" - else icon_state = "empress_l" - for(var/image/I in overlays_lying) - overlays += I + + if(stat == DEAD) + icon_state = "empress_dead" + else if(stat == UNCONSCIOUS || lying || resting) + icon_state = "empress_sleep" else icon_state = "empress_s" - for(var/image/I in overlays_standing) - overlays += I + + for(var/image/I in overlays_standing) + overlays += I /mob/living/carbon/alien/humanoid/empress/New() var/datum/reagents/R = new/datum/reagents(100) diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm index c90ba2c2b58..eb32d6b974f 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm @@ -78,18 +78,18 @@ large = 1 /mob/living/carbon/alien/humanoid/queen/large/update_icons() - lying_prev = lying //so we don't update overlays for lying/standing unless our stance changes again update_hud() //TODO: remove the need for this to be here overlays.Cut() - if(lying) - if(resting) icon_state = "queen_sleep" - else icon_state = "queen_l" - for(var/image/I in overlays_lying) - overlays += I + + if(stat == DEAD) + icon_state = "queen_dead" + else if(stat == UNCONSCIOUS || lying || resting) + icon_state = "queen_sleep" else icon_state = "queen_s" - for(var/image/I in overlays_standing) - overlays += I + + for(var/image/I in overlays_standing) + overlays += I /* diff --git a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm index e9e4fd88608..549b2ce6c93 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm @@ -9,7 +9,6 @@ ///////////////////////////////// /mob/living/carbon/alien/humanoid - var/list/overlays_lying[X_TOTAL_LAYERS] var/list/overlays_standing[X_TOTAL_LAYERS] /mob/living/carbon/alien/humanoid/update_icons() @@ -63,7 +62,13 @@ update_hud() update_icons() update_fire() + update_transform() +/mob/living/carbon/alien/humanoid/update_transform() //The old method of updating lying/standing was update_icons(). Aliens still expect that. + if(lying > 0) + lying = 90 //Anything else looks retarded + ..() + update_icons() /mob/living/carbon/alien/humanoid/update_hud() @@ -74,32 +79,24 @@ client.screen |= contents /mob/living/carbon/alien/humanoid/update_fire() - overlays -= overlays_lying[X_FIRE_LAYER] overlays -= overlays_standing[X_FIRE_LAYER] if(on_fire) - overlays_lying[X_FIRE_LAYER] = image("icon"='icons/mob/OnFire.dmi', "icon_state"="Lying", "layer"= -X_FIRE_LAYER) overlays_standing[X_FIRE_LAYER] = image("icon"='icons/mob/OnFire.dmi', "icon_state"="Standing", "layer"= -X_FIRE_LAYER) - if(src.lying) - overlays += overlays_lying[X_FIRE_LAYER] - else - overlays += overlays_standing[X_FIRE_LAYER] + overlays += overlays_standing[X_FIRE_LAYER] return else - overlays_lying[X_FIRE_LAYER] = null overlays_standing[X_FIRE_LAYER] = null /mob/living/carbon/alien/humanoid/update_inv_wear_suit(var/update_icons=1) if(wear_suit) var/t_state = wear_suit.item_state if(!t_state) t_state = wear_suit.icon_state - var/image/lying = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "[t_state]2") var/image/standing = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "[t_state]") if(wear_suit.blood_DNA) var/t_suit = "suit" if( istype(wear_suit, /obj/item/clothing/suit/armor) ) t_suit = "armor" - lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "[t_suit]blood2") standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "[t_suit]blood") //TODO @@ -109,10 +106,8 @@ drop_r_hand() drop_l_hand() - overlays_lying[X_SUIT_LAYER] = lying overlays_standing[X_SUIT_LAYER] = standing else - overlays_lying[X_SUIT_LAYER] = null overlays_standing[X_SUIT_LAYER] = null if(update_icons) update_icons() @@ -121,16 +116,12 @@ if (head) var/t_state = head.item_state if(!t_state) t_state = head.icon_state - var/image/lying = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "[t_state]2") var/image/standing = image("icon" = 'icons/mob/mob.dmi', "icon_state" = "[t_state]") if(head.blood_DNA) - lying.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "helmetblood2") standing.overlays += image("icon" = 'icons/effects/blood.dmi', "icon_state" = "helmetblood") head.screen_loc = ui_alien_head - overlays_lying[X_HEAD_LAYER] = lying overlays_standing[X_HEAD_LAYER] = standing else - overlays_lying[X_HEAD_LAYER] = null overlays_standing[X_HEAD_LAYER] = null if(update_icons) update_icons() @@ -164,12 +155,10 @@ //Call when target overlay should be added/removed /mob/living/carbon/alien/humanoid/update_targeted(var/update_icons=1) if (targeted_by && target_locked) - overlays_lying[TARGETED_LAYER] = target_locked overlays_standing[TARGETED_LAYER] = target_locked else if (!targeted_by && target_locked) del(target_locked) if (!targeted_by) - overlays_lying[TARGETED_LAYER] = null overlays_standing[TARGETED_LAYER] = null if(update_icons) update_icons() diff --git a/code/modules/mob/living/carbon/alien/larva/update_icons.dm b/code/modules/mob/living/carbon/alien/larva/update_icons.dm index 3ab3fb3b382..104811c4fc1 100644 --- a/code/modules/mob/living/carbon/alien/larva/update_icons.dm +++ b/code/modules/mob/living/carbon/alien/larva/update_icons.dm @@ -12,11 +12,14 @@ if(stat == DEAD) icon_state = "larva[state]_dead" - else if (handcuffed || legcuffed) + else if (handcuffed || legcuffed) //This should be an overlay. Who made this an icon_state? icon_state = "larva[state]_cuff" + else if(stat == UNCONSCIOUS || lying || resting) + icon_state = "larva[state]_sleep" else if (stunned) icon_state = "larva[state]_stun" - else if(lying || resting) - icon_state = "larva[state]_sleep" else icon_state = "larva[state]" + +/mob/living/carbon/alien/larva/update_transform() //All this is handled in update_icons() + return update_icons() \ No newline at end of file diff --git a/icons/mob/alien.dmi b/icons/mob/alien.dmi index a5e120020a2..71ec10e420b 100644 Binary files a/icons/mob/alien.dmi and b/icons/mob/alien.dmi differ diff --git a/icons/mob/alienhuge.dmi b/icons/mob/alienhuge.dmi index 93eae9e1ec8..0ebb470822e 100644 Binary files a/icons/mob/alienhuge.dmi and b/icons/mob/alienhuge.dmi differ diff --git a/icons/mob/alienlarge.dmi b/icons/mob/alienlarge.dmi index 340eba5337f..d6726914c20 100644 Binary files a/icons/mob/alienlarge.dmi and b/icons/mob/alienlarge.dmi differ