mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-21 12:02:31 +01:00
Refactored item equipement observable away (#19241)
Refactored item equipement observable away, turned them into signals. Partially ported on_equipped / equipped procs from TG, updated logic, added signals for them.
This commit is contained in:
@@ -106,8 +106,8 @@
|
||||
current_weight += I.w_class
|
||||
add_vis_contents(I)
|
||||
I.vis_flags |= VIS_INHERIT_LAYER | VIS_INHERIT_PLANE
|
||||
item_equipped_event.register(I, src, PROC_REF(pick_up))
|
||||
GLOB.destroyed_event.register(I, src, PROC_REF(unload_item))
|
||||
RegisterSignal(I, COMSIG_ITEM_EQUIPPED, PROC_REF(pick_up))
|
||||
RegisterSignal(I, COMSIG_QDELETING, PROC_REF(unload_item))
|
||||
|
||||
/obj/item/tray/verb/unload()
|
||||
set name = "Unload Tray"
|
||||
@@ -144,7 +144,8 @@
|
||||
unload_item(contained, moved_to)
|
||||
|
||||
/obj/item/tray/proc/unload_item(var/obj/item/contained, var/atom/dropspot = null)
|
||||
item_equipped_event.unregister(contained, src)
|
||||
UnregisterSignal(contained, COMSIG_ITEM_EQUIPPED)
|
||||
UnregisterSignal(contained, COMSIG_QDELETING)
|
||||
if(dropspot)
|
||||
contained.forceMove(dropspot)
|
||||
vis_contents.Remove(contained)
|
||||
|
||||
@@ -243,7 +243,7 @@ This saves us from having to call add_fingerprint() any time something is put in
|
||||
switch(slot)
|
||||
if(slot_back)
|
||||
src.back = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_back(redraw_mob)
|
||||
if(slot_wear_mask)
|
||||
src.wear_mask = W
|
||||
@@ -251,32 +251,32 @@ This saves us from having to call add_fingerprint() any time something is put in
|
||||
update_hair(redraw_mob) //rebuild hair
|
||||
update_inv_l_ear(0)
|
||||
update_inv_r_ear(0)
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_wear_mask(redraw_mob)
|
||||
if(slot_handcuffed)
|
||||
src.handcuffed = W
|
||||
update_inv_handcuffed(redraw_mob)
|
||||
if(slot_legcuffed)
|
||||
src.legcuffed = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_legcuffed(redraw_mob)
|
||||
if(slot_l_hand)
|
||||
src.l_hand = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
W.screen_loc = ui_lhand
|
||||
update_inv_l_hand(redraw_mob)
|
||||
if(slot_r_hand)
|
||||
src.r_hand = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
W.screen_loc = ui_rhand
|
||||
update_inv_r_hand(redraw_mob)
|
||||
if(slot_belt)
|
||||
src.belt = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_belt(redraw_mob)
|
||||
if(slot_wear_id)
|
||||
src.wear_id = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_wear_id(redraw_mob)
|
||||
if(slot_l_ear)
|
||||
src.l_ear = W
|
||||
@@ -288,7 +288,7 @@ This saves us from having to call add_fingerprint() any time something is put in
|
||||
var/obj/item/clothing/ears/offear/O = new /obj/item/clothing/ears/offear(src)
|
||||
O.copy_ear(W)
|
||||
src.r_ear = O
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_l_ear(redraw_mob)
|
||||
if(slot_r_ear)
|
||||
src.r_ear = W
|
||||
@@ -300,19 +300,19 @@ This saves us from having to call add_fingerprint() any time something is put in
|
||||
var/obj/item/clothing/ears/offear/O = new /obj/item/clothing/ears/offear(src)
|
||||
O.copy_ear(W)
|
||||
src.l_ear = O
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_r_ear(redraw_mob)
|
||||
if(slot_glasses)
|
||||
src.glasses = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_glasses(redraw_mob)
|
||||
if(slot_gloves)
|
||||
src.gloves = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_gloves(redraw_mob)
|
||||
if(slot_wrists)
|
||||
src.wrists = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_wrists(redraw_mob)
|
||||
if(slot_head)
|
||||
src.head = W
|
||||
@@ -321,34 +321,34 @@ This saves us from having to call add_fingerprint() any time something is put in
|
||||
update_inv_l_ear(0)
|
||||
update_inv_r_ear(0)
|
||||
update_inv_wear_mask(0)
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_head(redraw_mob)
|
||||
if(slot_shoes)
|
||||
src.shoes = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_shoes(redraw_mob)
|
||||
update_noise_level()
|
||||
if(slot_wear_suit)
|
||||
src.wear_suit = W
|
||||
if(wear_suit.flags_inv & HIDESHOES)
|
||||
update_inv_shoes(0)
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_wear_suit(redraw_mob)
|
||||
if(slot_w_uniform)
|
||||
src.w_uniform = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_w_uniform(redraw_mob)
|
||||
if(slot_l_store)
|
||||
src.l_store = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_pockets(redraw_mob)
|
||||
if(slot_r_store)
|
||||
src.r_store = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_pockets(redraw_mob)
|
||||
if(slot_s_store)
|
||||
src.s_store = W
|
||||
W.equipped(src, slot, assisted_equip)
|
||||
W.on_equipped(src, slot, assisted_equip)
|
||||
update_inv_s_store(redraw_mob)
|
||||
if(slot_in_backpack)
|
||||
if(src.get_active_hand() == W)
|
||||
|
||||
Reference in New Issue
Block a user