Now caught up with Vanilla Angband Changeset 1455
@@ -836,6 +836,7 @@ | ||
836 | 836 | { |
837 | 837 | int item; |
838 | 838 | object_type *o_ptr; |
839 | + bool cmd_needs_aim = FALSE; | |
839 | 840 | |
840 | 841 | const _TCHAR *q; |
841 | 842 | const _TCHAR *s; |
@@ -854,9 +855,20 @@ | ||
854 | 855 | /* Get the item */ |
855 | 856 | o_ptr = object_from_item_idx(item); |
856 | 857 | |
858 | + /* These commands need an aim */ | |
859 | + if (item_actions[act].command == CMD_QUAFF || | |
860 | + item_actions[act].command == CMD_ACTIVATE || | |
861 | + item_actions[act].command == CMD_USE_WAND || | |
862 | + item_actions[act].command == CMD_USE_ROD || | |
863 | + item_actions[act].command == CMD_USE_STAFF || | |
864 | + item_actions[act].command == CMD_READ_SCROLL) | |
865 | + { | |
866 | + cmd_needs_aim = TRUE; | |
867 | + } | |
868 | + | |
857 | 869 | if (item_actions[act].action != NULL) |
858 | 870 | item_actions[act].action(o_ptr, item); |
859 | - else if (obj_needs_aim(o_ptr)) | |
871 | + else if (cmd_needs_aim && obj_needs_aim(o_ptr)) | |
860 | 872 | { |
861 | 873 | int dir; |
862 | 874 | if (!get_aim_dir(&dir)) |