Code:
**
!?BG1; [после действия в бою]
!!DO5353/0/41/1:P194/35; [для каждого стека проверяем, не погибший ли это оборотень (#194), урон взрыва за каждого погибшего 35 ед.]
!!BU:R; [обновление поля боя]
**
!?FU5353; [x1-тип монстра, с абилкой самоуничтожение, x2 - урон взрыва за каждого погибшего]
!!BMx16:T?y1; [y1 - тип монстра в стеке]
!!FU&y1<>x1:E; [выход, если не нужный тип монстра]
!!BMx16:N?y1 B?y2 By1; [y1/y2 - текущее/прошлое кол-во монстров в стеке, обновление прошлого кол-ва монстров в стеке текущим]
!!FU|y1>0/y2=0:E; [выход, если стек не погиб, или уже самоуничтожился]
!!VRy2:*x2; [y2 - расчетный урон от взрыва]
!!BMx16:P?y3 V51 V51 V57; [y3 - позиция стека, анимация на стеке]
!!VRy4:Sy3 :17 %2 *-2 +1; [y4 = +1 для четного ряда и -1 для нечетного]
!!VRy5:Sy3 -17 +y4; [y5 - позиция]
!!BU&y5>-1/y5<187:Ey5/?y6; [y6 - номер стека в позиции y5]
!!BMy6&y5>-1/y5<187/y6>=0:Ky2; [урон стеку в позиции y5]
!!VRy5:Sy3 -17; [y5 - позиция]
!!BU&y5>-1/y5<187:Ey5/?y6; [y6 - номер стека в позиции y5]
!!BMy6&y5>-1/y5<187/y6>=0:Ky2; [урон стеку в позиции y5]
!!VRy5:Sy3 -1; [y5 - позиция]
!!BU&y5>-1/y5<187:Ey5/?y6; [y6 - номер стека в позиции y5]
!!BMy6&y5>-1/y5<187/y6>=0:Ky2; [урон стеку в позиции y5]
!!VRy5:Sy3 +1; [y5 - позиция]
!!BU&y5>-1/y5<187:Ey5/?y6; [y6 - номер стека в позиции y5]
!!BMy6&y5>-1/y5<187/y6>=0:Ky2; [урон стеку в позиции y5]
!!VRy5:Sy3 +17; [y5 - позиция]
!!BU&y5>-1/y5<187:Ey5/?y6; [y6 - номер стека в позиции y5]
!!BMy6&y5>-1/y5<187/y6>=0:Ky2; [урон стеку в позиции y5]
!!VRy5:Sy3 +17 +y4; [y5 - позиция]
!!BU&y5>-1/y5<187:Ey5/?y6; [y6 - номер стека в позиции y5]
!!BMy6&y5>-1/y5<187/y6>=0:Ky2; [урон стеку в позиции y5]
!!BU:R; [обновление поля боя]
!!VRx16:S-1; [рестарт цикла, на случай если еще один стек монстров с самоуничтожением погиб от взрыва]
**
!?BG0; [перед действием в бою]
!!BG:N?y1; [y1 - номер стека]
!!BMy1:N?y2; [y2 - кол-во существ в стеке]
!!BG&y2=0:A0 A12; [пропуск хода нулевым отрядом]
!!BU&y2=0:R; [обновление поля боя]
**