Ресивер BM (параметры существ в бою)
!!BM#:XXXX;
- установить/проверить/получить некоторые параметры стека монстров.
# - номер стека (0..41). Используются номера 0..20 для первого (0) игрока и 21..41 для второго (1) игрока.
B$
Кол-во монстров в стеке (в начале битвы)
Пример (показать)
C#1/#2/#3/#4/#5
Колдовать заклинание:
#1 – номер заклинания
#2 – позиция для заклинания
#3 – уровень заклинания (0..3): это как уровень навыка (нет/баз/продв/эксп)
#4 – сила заклинания (сила/длительность): это как Колдовская Сила героя
#5 – проверка на существование монстра (0 - не выполнять, 1 - выполнить)
Комментарий (показать)
E$
Кол-во заклинаний (для существ-колдунов)
Комментарий (показать)
F$
Флаги монстров
Комментарий (показать)
G#/$1/$2
Установить/проверить/получить параметры активных заклинаний
# – номер заклинания
$1 – установить/проверить/получить продолжительность
$2 – установить/проверить/получить силу заклинания
При установке длительности заклинания на 0 картинка по-прежнему остаётся, а действие заклинания исчезает.
Дополнительно (показать)
Вызов: !!BMx:G#/$/d;, где:
# - некий числовой параметр (см. таблицу ниже), используя который, можно изменять любую информацию о монстре как доступную (атака, здоровье и др.), так и недоступную (например, звуки, анимацию).
$ - значение для параметра #.
Во избежание ошибок, "/d" в конце команды обязательно.
Красным выделены строковые параметры - для изменения вам потребуются функции для работы со строками на низком уровне.
Серым выделено то, что менять проблемно - можно только посоветовать прочитать данные у одного монстра и поставить их другому.
-100: Видимость существа (4 - виден, 8 - не виден)
Отряды теряют невидимость при любом действии на поле боя. Но её можно восстановить в триггере !?BG1.
-90: Есть ли цифры кол-ва существ? (0 = есть, 1 = нет)
Отряд не имеет обозначения кол-ва существ, пока не походит. При этом на него можно колдовать магию и бить.
Кол-во показывается при щелчке в нижнем правом углу картинки (где обычно, в общем).
-89: Тип существа
Параметры отряда становятся как у существа, номер которого установлен, но сразу же снижаются до стандартных параметров существа, которое меняют.
Имя отряда в меню при щелчке по существу меняется; когда его бьют - имя остаётся изменённым.
Когда битва окончена - на картинке будет показан настроенный отряд, а не старый. Если изменить тип существа, битву становится невозможно выиграть
(логика игры требует убить того, на кого нападал, и изменения типа существ равнозначно вызову другого существа, без уничтожения старого (по логике опять же игры)).
Эта проблема делает параметр практически бесполезным.
-88: Позиция существа
Если сменить, на старом месте останется стоять копия. Копия не может ходить и быть атакованной, занимает место.
-87: Номер анимации
При значение 2,6,9… (много ещё где) игра выдаёт чёрный экран. Кадры берутся в том порядке, как и при создании.
-86: Номер кадра в анимации
Анимация возвращается к нормальной, если навести мышкой
-83: Кол-во существ (реальное)
-82: Кол-во существ для отображения
Может не совпадать с кол-вом. В этом случае написано будет одно, а реально другое. По умолчанию равно -1 – значит "полностью совпадает с реальным".
После того, как любое существо попадет под атаку, данному значению станет равно кол-во реальное; в итогах битвы показывается реальное кол-во убитых;
при атаке изменённого существа фантомные монстры не учитываются (т.е. если изменить 10 монстров на 100 этой командой и атаковать, то урон будет нанесен именно этими 10).
Но его можно восстановить в триггере !?BG1.
-81: Безвозвратные потери.
Кол-во существ после выигранной битвы (или после откупа) равно "текущее кол-во существ" минус "безвозвратные потери".
Потери могут быть записаны в безвозвратные при использовании, например, после Воскрешения без навыка Магия Земли или с ней, но на базовом уровне.
-80: Разница между текущим здоровьем и полным.
Если 0 значит стек здоров.
-79: Номер слота героя (0..6), -1 – будет удалён после битвы
-78: Кол-во существ в начале боя
-73: Город-владелец (существа)
-69: Флаги существа
-68: Название существа
-67: Название существа (множественное число)
-66: Строка состояния (например, "Нет штрафа рукопашной")
-54: Здоровье (полное)
-53: Скорость
-52: Атака
-51: Защита
-50: Мин. урон
-49: Макс. урон
-48: Боезапас
-41: Владелец (не вполне корректно работает)
-40: Номер стека (0..21)
-38: Смещение существа по Y
-37: Смещение существа по X
От того места, где существо должно быть. В пикселях.
-19: Смещение по оси OX прямоугольника с кол-вом существ.
-17: Частота проигрывания случайной анимации.
Чем меньше, тем чаще. Так, значение 200 даст беспрерывную анимацию.
-13: Анимация существа
-12: Анимация снаряда (см. таблицу)
-10: Звук перемещения
-9: Звук атаки
-8: Звук урона
-7: Звук выстрела
-6: Звук смерти
-5: Звук защиты
-1: Кол-во активных заклинаний (для отображения цвета кол-ва существ).
[0..65]: работа с заклинаниями (нормальное функционирование команды BM:G)
173: Кол-во активных заклинаний (для отображения при щелчке ).
212: Мораль существа
213: Удача существа
Мораль и удача пересчитывается при передаче хода другому существу. Поэтому полезно только для получения или проверки.
Если очень нужно менять, то можно делать это или перед атакой, или каждый ход.
H$
Максимальное здоровье существа
I$
Принадлежность герою $:
0 – левому
1 – правому
J?$
Получить или проверить кол-во активных заклинаний
K#
Нанести # урона существу
При данном действии триггер
!?MF не срабатывает
L$
Кол-во потерянного здоровья монстра в стеке
Комментарий (показать)
M#1/#2/#3
Наложить заклинание на монстра
#1 – номер заклинания
#2 – продолжительность
#3 – уровень навыка (0 – нет, 1 – базовый, 2 – продвинутый, 3 – эксперт)
Если вы накладываете заклинание, которое монстр уже имеет, это будет игнорироваться. Но вы можете использовать «Снятие заклинания» :)
Дополнительно (показать)
N$
Кол-во монстров в стеке (текущее)
O$
Номер слота существа в армии героя (0..6, -1)
Если $ = -1, стек не принадлежит армии героя
(вызван)
Замечание: стеки 20 и 41 всегда имеют значение 0.
P$
Позиция на поле боя
Можно использовать как телепорт
Q#1/#2/#3
Поместить участок Зыбучего песка или мину в позицию
#1 – тип (0 – песок, 1 – мины)
#2 – позиция
#3 – обновить (1 – да, 0 – нет)
Комментарий (показать)
R$
Кол-во ответов на атаки (проверка для Королевских грифонов)
Комментарий (показать)
S$
Скорость существа.
Комментарий: полученное значение не включает магические эффекты влияния на скорость.
См. также: команда BM:U6
T$
Тип монстра
U#/$
Изменить параметры монстров
# = 1 – установить/проверить/получить минимальный урон в $
# = 2 – установить/проверить/получить максимальный урон в $
# = 3 – установить/проверить/получить кол-во выстрелов в $
# = 4 – изменить заклинание существа на $
# = 5 - клон стека. Если клонов стека не существует, $ = -1,
иначе равен 0..41 - номер стека-клона искомого стека (искомый – это # в !!BM#:U5/$;).
Если существо погибает, его клоны умирают тоже.
Комментарии (показать)
U6/?$
Получить реальную скорость стека (учитываются все бонусы/штрафы).
См. также: команда BM:S.
V#
Показать анимацию # для стека.
Z?$
Команда возвращает адрес памяти структуры указанного стека.
Пример (показать)