mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-10 00:43:14 +00:00
* Overlay queuing * Fix SS flags * Don't copy on assignment * Flags processing * Fix icon_smoothing * MSO's helper proc * Legacy detection * Make it work * Fixes shitcode * Fix the flag * |= -> += * OK, how did I fuck that up? * shitcode * Conditional assoc queue while initializing * Cleanup everything * Orange meme * This isn't perfect, but its the best byond will give us. * forgot about dir * oh ya * This was litterally the last thing i did last night before heading to bed You can tell can't you? * Fixes various shit * Let's not ever pause * Fix the flag * Cleaned up some missing shit. Added image dummys * Remove the one usage of FPRINT * Jesus get rid of this
60 lines
2.0 KiB
Plaintext
60 lines
2.0 KiB
Plaintext
/mob/living/carbon/true_devil/doUnEquip(obj/item/I, force)
|
|
if(..())
|
|
update_inv_hands()
|
|
return 1
|
|
return 0
|
|
|
|
/mob/living/carbon/true_devil/update_inv_hands()
|
|
//TODO LORDPIDEY: Figure out how to make the hands line up properly. the l/r_hand_image should use the down sprite when facing down, left, or right, and the up sprite when facing up.
|
|
remove_overlay(DEVIL_HANDS_LAYER)
|
|
var/list/hands_overlays = list()
|
|
var/obj/item/l_hand = get_item_for_held_index(1) //hardcoded 2-hands only, for now.
|
|
var/obj/item/r_hand = get_item_for_held_index(2)
|
|
|
|
if(r_hand)
|
|
|
|
var/r_state = r_hand.item_state
|
|
if(!r_state)
|
|
r_state = r_hand.icon_state
|
|
|
|
var/image/r_hand_image = r_hand.build_worn_icon(state = r_state, default_layer = DEVIL_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE)
|
|
|
|
hands_overlays += r_hand_image
|
|
|
|
if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD)
|
|
r_hand.layer = ABOVE_HUD_LAYER
|
|
r_hand.plane = ABOVE_HUD_PLANE
|
|
r_hand.screen_loc = ui_hand_position(get_held_index_of_item(r_hand))
|
|
client.screen |= r_hand
|
|
|
|
if(l_hand)
|
|
|
|
var/l_state = l_hand.item_state
|
|
if(!l_state)
|
|
l_state = l_hand.icon_state
|
|
|
|
var/image/l_hand_image = l_hand.build_worn_icon(state = l_state, default_layer = DEVIL_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE)
|
|
|
|
hands_overlays += l_hand_image
|
|
|
|
if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD)
|
|
l_hand.layer = ABOVE_HUD_LAYER
|
|
l_hand.plane = ABOVE_HUD_PLANE
|
|
l_hand.screen_loc = ui_hand_position(get_held_index_of_item(l_hand))
|
|
client.screen |= l_hand
|
|
if(hands_overlays.len)
|
|
devil_overlays[DEVIL_HANDS_LAYER] = hands_overlays
|
|
apply_overlay(DEVIL_HANDS_LAYER)
|
|
|
|
/mob/living/carbon/true_devil/remove_overlay(cache_index)
|
|
var/I = devil_overlays[cache_index]
|
|
if(I)
|
|
cut_overlay(I)
|
|
devil_overlays[cache_index] = null
|
|
|
|
|
|
/mob/living/carbon/true_devil/apply_overlay(cache_index)
|
|
var/image/I = devil_overlays[cache_index]
|
|
if(I)
|
|
add_overlay(I)
|