From 10c95fa111c5cd87ea5eba4f91dcee013a6b22d8 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Sun, 2 Feb 2020 13:38:32 -0500 Subject: [PATCH] Makes quick item usage (click-dragging unequipped item) require combat mode to be enabled --- code/game/objects/items.dm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index aa4e45dee6..cdd0cf3966 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -400,12 +400,14 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) return usr.client.Click(src, src_location, src_control, params) var/list/directaccess = usr.DirectAccess() //This, specifically, is what requires the copypaste. If this were after the adjacency check, then it'd be impossible to use items in your inventory, among other things. //If this were before the above checks, then trying to click on items would act a little funky and signal overrides wouldn't work. - if((usr.CanReach(src) || (src in directaccess)) && (usr.CanReach(over) || (over in directaccess))) - if(!usr.get_active_held_item()) - usr.UnarmedAttack(src, TRUE) - if(usr.get_active_held_item() == src) - melee_attack_chain(usr, over) - return TRUE //returning TRUE as a "is this overridden?" flag + if(iscarbon(usr)) + var/mob/living/carbon/C = usr + if(C.combatmode && ((C.CanReach(src) || (src in directaccess)) && (C.CanReach(over) || (over in directaccess)))) + if(!C.get_active_held_item()) + C.UnarmedAttack(src, TRUE) + if(C.get_active_held_item() == src) + melee_attack_chain(C, over) + return TRUE //returning TRUE as a "is this overridden?" flag if(!Adjacent(usr) || !over.Adjacent(usr)) return // should stop you from dragging through windows