Closer to working 100%

This commit is contained in:
tigercat2000
2018-10-25 01:48:51 -07:00
parent 1f9fc0a7fb
commit 8dc88cb80b
3 changed files with 25 additions and 8 deletions
+6 -4
View File
@@ -26,14 +26,15 @@ var/global/list/frozen_mob_list = list()
/mob/living/var/frozen = null //used for preventing attacks on admin-frozen mobs
/mob/living/var/admin_prev_sleeping = 0 //used for keeping track of previous sleeping value with admin freeze
/mob/living/proc/admin_Freeze(var/client/admin)
/mob/living/proc/admin_Freeze(var/client/admin, skip_overlays = FALSE)
if(istype(admin))
to_chat(src, "<b><font color= red>You have been frozen by [key_name(admin)]</b></font>")
message_admins("<span class='notice'>[key_name_admin(admin)]</span> froze [key_name_admin(src)]")
log_admin("[key_name(admin)] froze [key_name(src)]")
var/obj/effect/overlay/adminoverlay/AO = new
src.overlays += AO
if(skip_overlays)
src.overlays += AO
anchored = 1
frozen = AO
@@ -42,14 +43,15 @@ var/global/list/frozen_mob_list = list()
if(!(src in frozen_mob_list))
frozen_mob_list += src
/mob/living/proc/admin_unFreeze(var/client/admin)
/mob/living/proc/admin_unFreeze(var/client/admin, skip_overlays = FALSE)
if(istype(admin))
to_chat(src, "<b><font color= red>You have been unfrozen by [key_name(admin)]</b></font>")
message_admins("<span class='notice'>[key_name_admin(admin)] unfroze [key_name_admin(src)]</span>")
log_admin("[key_name(admin)] unfroze [key_name(src)]")
anchored = 0
overlays -= frozen
if(skip_overlays)
overlays -= frozen
frozen = null
SetSleeping(admin_prev_sleeping)
admin_prev_sleeping = null
@@ -105,7 +105,6 @@ Please contact me on #coderbus IRC. ~Carn x
/mob/living/carbon/human
var/list/overlays_standing[TOTAL_LAYERS]
var/list/misc_effect_overlays = list() //Overlays that are applied at a custom layer (defined in each image's .layer property) outside of standard overlay application. Updated in update_misc_effects()
var/previous_damage_appearance // store what the body last looked like, so we only have to update it if something changed
var/icon/skeleton
var/list/cached_standing_overlays = list() // List of everything currently in a human's actual overlays
@@ -189,6 +188,7 @@ var/global/list/damage_icon_parts = list()
else
icon_key += "#000000"
update_misc_effects()
for(var/organ_tag in dna.species.has_limbs)
var/obj/item/organ/external/part = bodyparts_by_name[organ_tag]
if(isnull(part))
@@ -296,6 +296,7 @@ var/global/list/damage_icon_parts = list()
lips.Blend(lip_color, ICON_ADD)
stand_icon.Blend(lips, ICON_OVERLAY)
icon = stand_icon
//tail
update_tail_layer(0)
//head accessory
@@ -1246,11 +1247,23 @@ var/global/list/damage_icon_parts = list()
apply_overlay(COLLAR_LAYER)
/mob/living/carbon/human/proc/update_misc_effects()
misc_effect_overlays.Cut()
remove_overlay(MISC_LAYER)
//Begin appending miscellaneous effects.
if(eyes_shine())
misc_effect_overlays += get_eye_shine() //Image layer is specified in get_eye_shine() proc as LIGHTING_LAYER + 1.
overlays_standing[MISC_LAYER] = get_eye_shine() //Image layer is specified in get_eye_shine() proc as LIGHTING_LAYER + 1.
apply_overlay(MISC_LAYER)
/mob/living/carbon/human/admin_Freeze(client/admin, skip_overlays = TRUE)
. = ..()
overlays_standing[FROZEN_LAYER] = mutable_appearance(frozen, layer = FROZEN_LAYER)
apply_overlay(FROZEN_LAYER)
/mob/living/carbon/human/admin_unFreeze(client/admin, skip_overlays = TRUE)
. = ..()
remove_overlay(FROZEN_LAYER)
/mob/living/carbon/human/proc/force_update_limbs()
for(var/obj/item/organ/external/O in bodyparts)