Есть идея... суть в том, чтобы после сражения к герою присоединялись добровольцы (в поисках славы) количество добровольцев зависит от навыка лидерства, или удачи...60% вероятность  для 1- го уровня 50% вероятности для 2-го 40% для 3-го 30% для 4-го 20% для 5-го 10% для 6-го и 5% для 7-го
   при экспертном лидерстве, или удаче если лидерства и удачи нет, то вероятность присоединения только 1-го уровня и не больше 5%
поиздевался над скриптом опьянения, вот что вышло....
********************************************************** 
!?BR&v997=-1/1000;В начале боя... 
     !!VRy-1:S0 R2;Устанавливаем случайное значение переменной рандома. 
     !!VRz-1&y-1=0:S^SACRIF2.WAV^;Если переменная рандома равна 0, играем записываем имя звука в переменную. 
     !!SN&y-1=0:Pz-1;Если переменная рандома равна 0, проигрываем звук. 
     !!BA:H0/?y-3;Определяем номер атакующего героя. 
     !!HEy-3:S24/?y-2;Определяем уровень навыка интеллект у атакующего героя. 
     !!VRy-2:*10;Вычисляем процентный бонус за интеллект у атакующего. 
     !!DO28344/0/20/1&y-1=0:Py-2;Если переменная рандома равна 0, запускаем цикл, проходящийся по всем атакующим монстрам и опьяняющий их. 
     !!VRy-1:S0 R2;Устанавливаем случайное значение переменной рандома. 
     !!VRz-1&y-1=0:S^SACRIF2.WAV^;Если переменная рандома равна 0, играем записываем имя звука в переменную. 
     !!SN&y-1=0:Pz-1;Если переменная рандома равна 0, проигрываем звук. 
     !!BA:H1/?y-3;Определяем номер защищающегося героя. 
     !!VRy-2:S0;Сбрасываем переменную бонуса за интеллект. 
     !!HEy-3&y-3>-1:S24/?y-2;Если у защищающегося есть герой, определяем его уровень навыка интеллект. 
     !!VRy-2&y-3>-1:*10;Если у защищающегося есть герой, вычисляем его процентный бонус за интеллект. 
     !!DO28344/21/41/1&y-1=0:Py-2;Если переменная рандома равна 0, запускаем цикл, проходящийся по всем защищающимся монстрам и опьяняющий их. 
   
;Функции опьянения монстров стороны. 
!?FU28344;Функция опьянения монстра. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за интеллект. 
     !!BMx16&y1<60:M70/1/2;Если переменная рандома меньше 60, накладываем на монстра окаменение на 7 раундов. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за интеллект. 
     !!BMx16&y1<10:M59//2;Если переменная рандома меньше 10, накладываем на монстра берсерк на 1 раунд. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за интеллект. 
     !!BMx16&y1<15:M74/7/2;Если переменная рандома меньше 15, накладываем на монстра паралич на 7 раундов. 
     !!VRy1:S0 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за интеллект. 
     !!BMx16&y1<50:M56/1/2;Если переменная рандома меньше 50, накладываем на монстра бешенство на 1 раунд. 
     !!VRy1:S0-x1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за интеллект. 
     !!BMx16&y1<70:M49/7/2;Если переменная рандома меньше 70, накладываем на монстра радость на 7 раундов. 
     !!VRy1:S0-x1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за интеллект. 
     !!BMx16&y1<70:M51/7/2;Если переменная рандома меньше 70, накладываем на монстра удачу на 7 раундов. 
     !!VRy1:S0-x1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за интеллект. 
     !!BMx16&y1<70:M53/7/2;Если переменная рандома меньше 70, накладываем на монстра ускорение на 7 раундов. 
     !!VRy1:S0-x1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за интеллект. 
     !!BMx16&y1<70:M36/7/2;Если переменная рандома меньше 70, накладываем на монстра волшебное зеркало на 7 раундов. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за интеллект. 
     !!BMx16&y1<5:N?y2;Если переменная рандома меньше 5, считываем количестово монстров. 
     !!VRy2&y1<5::-3;Если переменная рандома меньше 5, делим количество монстров на 3. 
     !!BMx16&y1<5:Ndy2;Если переменная рандома меньше 5, убиваем треть монстров. 
********************************************************** 
!?BR&v997=-1/1000;В начале боя...     Офигевание 
     !!VRy-1:S0 R2;Устанавливаем случайное значение переменной рандома. 
     !!VRz-1&y-1=0:S^SACRIF2.WAV^;Если переменная рандома равна 0, играем записываем имя звука в переменную. 
     !!SN&y-1=0:Pz-1;Если переменная рандома равна 0, проигрываем звук. 
     !!BA:H0/?y-3;Определяем номер атакующего героя. 
     !!HEy-3:S9/?y-2;Определяем уровень навыка удачи у атакующего героя. 
     !!VRy-2:*10;Вычисляем процентный бонус за удачу у атакующего. 
     !!DO21707/0/20/1&y-1=0:Py-2;Если переменная рандома равна 0, запускаем цикл, проходящийся по всем атакующим монстрам и офигевающий их. 
     !!VRy-1:S0 R2;Устанавливаем случайное значение переменной рандома. 
     !!VRz-1&y-1=0:S^SACRIF2.WAV^;Если переменная рандома равна 0, играем записываем имя звука в переменную. 
     !!SN&y-1=0:Pz-1;Если переменная рандома равна 0, проигрываем звук. 
     !!BA:H1/?y-3;Определяем номер защищающегося героя. 
     !!VRy-2:S0;Сбрасываем переменную бонуса за удачу. 
     !!HEy-3&y-3>-1:S24/?y-2;Если у защищающегося есть герой, определяем его уровень навыка удачи. 
     !!VRy-2&y-3>-1:*10;Если у защищающегося есть герой, вычисляем его процентный бонус за удачу. 
     !!DO21707/21/41/1&y-1=0:Py-2;Если переменная рандома равна 0, запускаем цикл, проходящийся по всем защищающимся монстрам и офтгевающий их. 
   
;Функции офигевания монстров стороны. 
!?FU21707;Функция офигевания монстра. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за удачу. 
     !!BMx16&y1<20:M42/7/2;Если переменная рандома меньше 30, накладываем на монстра проклятье на 7 раундов. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за удачу. 
     !!BMx16&y1<20:M45/7/2;Если переменная рандома меньше 30, накладываем на монстра слабость на 7 раундов. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за удачу. 
     !!BMx16&y1<50:M50/7/2;Если переменная рандома меньше 50, накладываем на монстра печаль на 7 раундов. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за удачу. 
     !!BMx16&y1<40:M47/1/2;Если переменная рандома меньше 40, накладываем на монстра разрушающий луч на 7 раундов. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за удачу. 
     !!BMx16&y1<40:M61/1/2;Если переменная рандома меньше 40, накладываем на монстра забывчивость на 7 раундов. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за удачу. 
     !!BMx16&y1<50:M52/7/2;Если переменная рандома меньше 50, накладываем на монстра неудачу на 7 раундов. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за удачу. 
     !!BMx16&y1<20:M54/7/2;Если переменная рандома меньше 40, накладываем на монстра медлительность на 7 раундов. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за удачу. 
     !!BMx16&y1<10:M72/2/2;Если переменная рандома меньше 10, накладываем на монстра корни на 2 раунда. 
     !!VRy1:Sx1 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за удачу. 
     !!BMx16&y1<15:M73/7/2;Если переменная рандома меньше 15, накладываем на монстра болезнь на 7 раундов. 
     !!VRy1:S0 R100;Устанавливаем случайное значение переменной рандома с учётом бонуса за иудачу. 
     !!BMx16&y1<20:M75/1/2;Если переменная рандома меньше 20, накладываем на монстра старость на 1 раунд. 
Бои стали более случайными... Думаю в этом что то есть...