Не понимаю в чем проблема. Скрипт должен удваивать урон если атака строго с клетки за спиной отряда.
Перед действием вычисляем отряды атакующего и жертвы, перед уроном считаем координаты и сравнивает со стороной героя.
!?BG0; [перед действием в бою]
!!BG:A?y1; !!FU&y1<>6:E; [y1 - тип действия, выход, если не рукопашная атака]
!!BG:N?y1; [y1 номер атакующего стека)
!!BG:E?y2; [y2 номер защищающегося стека]
!?MF1; (перед нанесением урона)
** !!MF:N?y7; y7 Номер стека (0…41) получающего урон
!!BMy1:P?y3 I?y5; Позиция атакера, Принадлежность герою: 0 – левому 1 – правому]
!!BMy2:P?y4; Позиция дефендера
!!VRy6:Sy3 -y4; [y6= 1 атакующий отряд справа, -1 слева]
!!MF&y5=0/y6=1:F?y1 Fdy1; [удвоение базового урона] герой слева, атакер справа
!!MF&y5=0/y6=2:F?y1 Fdy1; [удвоение базового урона] герой слева, атакер справа
!!MF&y5=1/y6=-1:F?y1 Fdy1; [удвоение базового урона] герой справа, атакер слева
!!MF&y5=1/y6=-2:F?y1 Fdy1; [удвоение базового урона] герой справа, атакер слева
** end