mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-14 08:34:16 +01:00
Closer to working 100%
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user