Files
Bubberstation/modular_skyrat/modules/borgs/code/inventory.dm
2025-06-05 20:49:11 -04:00

28 lines
1.4 KiB
Plaintext

/mob/living/silicon/robot/doUnEquip(obj/item/item_dropping, force, atom/newloc, no_move, invdrop, silent)
. = ..()
if(check_held_item_sprites(item_dropping))
update_icons()
/mob/living/silicon/robot/put_in_hand(obj/item/item_module, hand_index, forced = FALSE, ignore_anim = TRUE, visuals_only = FALSE)
. = ..()
if(check_held_item_sprites(item_module))
update_icons()
/// contains a list of items that currently have sprites associated with them, and what borg-skin has them, returns true if the held item and borg skin are in the list.
/mob/living/silicon/robot/proc/check_held_item_sprites(obj/item/O)
var/list/items_with_sprites = list(
/obj/item/melee/baton/security/loaded = list("dragon-sec"),
/obj/item/borg/projectile_dampen = list("dragon-pk"),
/obj/item/katana/ninja_blade = list("dragon-ninja"),
/obj/item/kinetic_crusher = list("dragon-mining"),
/obj/item/gun/energy/recharge/kinetic_accelerator/cyborg = list("dragon-mining"),
/obj/item/melee/energy/sword/cyborg = list("dragon-syndi"),
/obj/item/gun/energy/laser/cyborg = list("all-sec"),
/obj/item/gun/energy/e_gun/advtaser/cyborg = list("all-sec"),
/obj/item/gun/energy/disabler/cyborg = list("all-sec"),
)
var/list/item_sprite_data = items_with_sprites[O.type]
if(item_sprite_data && (model.cyborg_base_icon == item_sprite_data[1] || item_sprite_data[1] == "all-sec"))
return TRUE
return FALSE