diff --git a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm index 3ee98de3c03..c835c1c4e79 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm @@ -112,4 +112,29 @@ /mob/living/simple_animal/drone/stripPanelEquip(obj/item/what, mob/who, where) - ..(what, who, where, 1) \ No newline at end of file + ..(what, who, where, 1) + +/mob/living/simple_animal/drone/verb/quick_equip() + set name = "quick-equip" + set hidden = 1 + var/obj/item/I = get_active_hand() + var/obj/item/weapon/storage/S = get_inactive_hand() + var/obj/item/weapon/storage/T = internal_storage + if (!I) + usr << "You are not holding anything to equip!" + return + if(equip_to_appropriate_slot(I)) + if(hand) + update_inv_l_hand(0) + else + update_inv_r_hand(0) + else if(s_active && s_active.can_be_inserted(I,1)) //if storage active insert there + s_active.handle_item_insertion(I) + else if(istype(S, /obj/item/weapon/storage) && S.can_be_inserted(I,1)) //see if we have box in other hand + S.handle_item_insertion(I) + else if (istype(T) && T.can_be_inserted(I,1)) // If carrying storage item like toolbox + T.handle_item_insertion(I) + else if(!internal_storage) + equip_to_slot(I, "drone_storage_slot") + else + usr << "You are unable to equip that!" diff --git a/html/changelogs/spasticVerbalizer-droneQuickEquip.yml b/html/changelogs/spasticVerbalizer-droneQuickEquip.yml new file mode 100644 index 00000000000..eb18e8577f5 --- /dev/null +++ b/html/changelogs/spasticVerbalizer-droneQuickEquip.yml @@ -0,0 +1,5 @@ +author: spasticVerbalizer +delete-after: True + +changes: + - rscfix: "Drones can now properly quick-equip."