mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-15 04:32:42 +00:00
121 lines
3.4 KiB
Plaintext
121 lines
3.4 KiB
Plaintext
//Monkey Overlays Indexes////////
|
|
#define M_MASK_LAYER 1
|
|
#define M_BACK_LAYER 2
|
|
#define M_HANDCUFF_LAYER 3
|
|
#define M_L_HAND_LAYER 4
|
|
#define M_R_HAND_LAYER 5
|
|
#define TARGETED_LAYER 6
|
|
#define M_TOTAL_LAYERS 6
|
|
/////////////////////////////////
|
|
|
|
/mob/living/carbon/monkey
|
|
var/list/overlays_lying[M_TOTAL_LAYERS]
|
|
var/list/overlays_standing[M_TOTAL_LAYERS]
|
|
|
|
/mob/living/carbon/monkey/regenerate_icons()
|
|
..()
|
|
update_inv_wear_mask(0)
|
|
update_inv_back(0)
|
|
update_inv_r_hand(0)
|
|
update_inv_l_hand(0)
|
|
update_inv_handcuffed(0)
|
|
update_icons()
|
|
//Hud Stuff
|
|
update_hud()
|
|
return
|
|
|
|
/mob/living/carbon/monkey/update_icons()
|
|
update_hud()
|
|
lying_prev = lying //so we don't update overlays for lying/standing unless our stance changes again
|
|
overlays.Cut()
|
|
for(var/image/I in overlays_standing)
|
|
overlays += I
|
|
|
|
if(lying)
|
|
var/matrix/M = matrix()
|
|
M.Turn(90)
|
|
M.Translate(1,-6)
|
|
src.transform = M
|
|
else
|
|
var/matrix/M = matrix()
|
|
src.transform = M
|
|
|
|
|
|
////////
|
|
/mob/living/carbon/monkey/update_inv_wear_mask(var/update_icons=1)
|
|
if( wear_mask && istype(wear_mask, /obj/item/clothing/mask) )
|
|
overlays_standing[M_MASK_LAYER] = image("icon" = 'icons/mob/monkey.dmi', "icon_state" = "[wear_mask.icon_state]")
|
|
wear_mask.screen_loc = ui_monkey_mask
|
|
else
|
|
overlays_standing[M_MASK_LAYER] = null
|
|
if(update_icons) update_icons()
|
|
|
|
|
|
/mob/living/carbon/monkey/update_inv_r_hand(var/update_icons=1)
|
|
if(r_hand)
|
|
var/t_state = r_hand.item_state
|
|
if(!t_state) t_state = r_hand.icon_state
|
|
overlays_standing[M_R_HAND_LAYER] = image("icon" = 'icons/mob/items_righthand.dmi', "icon_state" = t_state)
|
|
r_hand.screen_loc = ui_rhand
|
|
if (handcuffed) drop_r_hand()
|
|
else
|
|
overlays_standing[M_R_HAND_LAYER] = null
|
|
if(update_icons) update_icons()
|
|
|
|
|
|
/mob/living/carbon/monkey/update_inv_l_hand(var/update_icons=1)
|
|
if(l_hand)
|
|
var/t_state = l_hand.item_state
|
|
if(!t_state) t_state = l_hand.icon_state
|
|
overlays_standing[M_L_HAND_LAYER] = image("icon" = 'icons/mob/items_lefthand.dmi', "icon_state" = t_state)
|
|
l_hand.screen_loc = ui_lhand
|
|
if (handcuffed) drop_l_hand()
|
|
else
|
|
overlays_standing[M_L_HAND_LAYER] = null
|
|
if(update_icons) update_icons()
|
|
|
|
|
|
/mob/living/carbon/monkey/update_inv_back(var/update_icons=1)
|
|
if(back)
|
|
overlays_standing[M_BACK_LAYER] = image("icon" = 'icons/mob/back.dmi', "icon_state" = "[back.icon_state]")
|
|
back.screen_loc = ui_monkey_back
|
|
else
|
|
overlays_standing[M_BACK_LAYER] = null
|
|
if(update_icons) update_icons()
|
|
|
|
|
|
/mob/living/carbon/monkey/update_inv_handcuffed(var/update_icons=1)
|
|
if(handcuffed)
|
|
drop_r_hand()
|
|
drop_l_hand()
|
|
stop_pulling()
|
|
overlays_standing[M_HANDCUFF_LAYER] = image("icon" = 'icons/mob/monkey.dmi', "icon_state" = "handcuff1")
|
|
else
|
|
overlays_standing[M_HANDCUFF_LAYER] = null
|
|
if(update_icons) update_icons()
|
|
|
|
|
|
/mob/living/carbon/monkey/update_hud()
|
|
if (client)
|
|
client.screen |= contents
|
|
|
|
//Call when target overlay should be added/removed
|
|
/mob/living/carbon/monkey/update_targeted(var/update_icons=1)
|
|
if (targeted_by && target_locked)
|
|
overlays_standing[TARGETED_LAYER] = target_locked
|
|
else if (!targeted_by && target_locked)
|
|
del(target_locked)
|
|
if (!targeted_by)
|
|
overlays_standing[TARGETED_LAYER] = null
|
|
if(update_icons) update_icons()
|
|
|
|
//Monkey Overlays Indexes////////
|
|
#undef M_MASK_LAYER
|
|
#undef M_BACK_LAYER
|
|
#undef M_HANDCUFF_LAYER
|
|
#undef M_L_HAND_LAYER
|
|
#undef M_R_HAND_LAYER
|
|
#undef TARGETED_LAYER
|
|
#undef M_TOTAL_LAYERS
|
|
|