Если попробовать подойти к этому логически..
У волшебника заклинания действуют на каком-то расстоянии, поэтому ему в принципе все равно кого он бьет руками, магия дотянется до любого в пределах видимости.
С воином сложнее. Он бьет того, кого он бьет. НО. В некоторых случаях он может бить того, кого он хочет бить. Например, если дерется с двумя противниками, он в агрессивном стиле а они уклоняются от боя. Раз они уклоняются, инициатива кого бить явно должна быть у воина. И тут возможно предоставить выбор во время боя менять цель.
Я предлагаю сделать примерно так.
1) Если воин сражается с двумя или более противниками, СТИЛЬ БОЯ КОТОРЫХ МЕНЕЕ АГРЕССИВНЫЙ, ЧЕМ СТИЛЬ БОЯ ВОИНА, то воин может сменять во время боя цель. Например, командой АТАКОВАТЬ, повесить ей такую функцию в довесок к остальному.
2) Если воин сражается с двумя или более противниками, СТИЛЬ БОЯ ХОТЯ БЫ ОДНОГО ИЗ НИХ РАВЕН СТИЛЮ БОЯ ВОИНА, И НЕТ ТАКИХ У КОГО ВЫШЕ, то воин не может просто сменить противника, для этого надо будет выучить умение, например "ПРОРУБИТЬСЯ <target>".
3) Если воин сражается с двумя или больше противниками, и СТИЛЬ БОЯ ХОТЯ БЫ ОДНОГО ПРОТИВНИКА БОЛЕЕ АГРЕССИВНЫЙ ЧЕМ СТИЛЬ БОЯ ВОИНА, то никакие умения не помогут, будешь драться с тем кто более агрессивный.
4) Способ действия заклинаний оставить такой как есть.
Смена цели по АТАКОВАТЬ доступна воинам, рыцарям, ворам, следопытам, умертвиям.
ПРОРУБИТЬСЯ могут учить рыцари с 22-го уровня, воины 30-го, воры и умертвия с 35-го (примерно). Хотя вору оно мало пригодится наверное. При этом есть шанс на срабатывание, зависящий от удачи, проворности, силы и разницы степеней агрессивности между воином и агрессивнейшим противником.
Такое введение сделает более логичной систему боя (например, из боя убегает один противник, потом возвращается и бьет из-за спины второго, любой здравомыслящий воин добьет сначала раненого, сейчас же воинские классы вынуждены бить того кто атакует их) и несколько уровняет по возможностям с магическими классами.