5.6 KiB
Recruiting — побеждённые враги, вступающие в отряд
Recruiting позволяет захватить врага, побеждённого в бою, и позже сражаться на стороне игрока. После победы у каждого поверженного врага есть шанс быть захваченным; захваченные персонажи попадают в панель Рекруты, и любого из них можно добавить в отряд или снова убрать. Пока рекрут в плену, он живёт по своим правилам — в Cthangover он проголодается.
Мод не зависит ни от одной боевой системы: он слушает событие платформы «персонажи побеждены», поэтому работает с FF Battle, Card Battle и с чем угодно ещё, что сообщает побеждённых персонажей. Кто может быть захвачен и при каких условиях — решают данные игры и другие моды.
Панель «Рекруты»
Открывается кнопкой на панели инструментов. В начале Cthangover ещё никто не захвачен:
Каждый захваченный рекрут получает строку с портретом, именем и здоровьем, а также кнопку: В отряд или Из отряда. Внизу счётчик показывает, сколько рекрутов захвачено и сколько из них в отряде.
Как происходит захват
После победы для каждого поверженного врага:
- В файле персонажа врага
RecruitmentChanceдолжен быть больше 0. - Рекрут каждого типа — только один: если этот тип уже захвачен, он пропускается.
- Каждое зарегистрированное условие должно позволить захват. Этот мод приносит одно такое: у игрока должен быть навык
slave_master(в Cthangover он у Марао есть с самого начала). - Бросок от 1 до 100 не должен превысить шанс.
Тогда враг попадает в ростер с 10 здоровья. В Cthangover единственный персонаж, которого можно захватить, встречается позже по сюжету, с шансом 50%:
{ "Id": "werewolf_girl_1", "RecruitmentChance": 50 }
В отряде
В отряд делает рекрута обычным членом отряда: он появляется на панели персонажей, сражается в боях своими действиями, может быть целью предметов и сохраняется вместе с отрядом. Потерянное в бою здоровье остаётся у рекрута. Из отряда сохраняет его действия и опыт до следующего возвращения.
Нужды рекрутов
Каждый рекрут запускает зарегистрированные поведения на каждом тике игровых часов. Этот мод приносит одно — питание: рекрут, который не ел 24 игровых часа, теряет 1 здоровья за тик. В нынешней игре кормить рекрута пока нечем, поэтому захваченный рекрут начинает голодать через день после захвата.
Ростер, здоровье и состояние поведений сохраняются вместе с игрой.
Авторам модов
- Условие — это класс, реализующий
IRecruitCondition; мод recruiting находит его в любом загруженном моде. Верните false, чтобы запретить захват. - Поведение реализует
IRecruitBehaviour: оно настраивается при захвате рекрута, вызывается на каждом тике и удаляется вместе с рекрутом. Его состояние живёт в свойствах рекрута. - Код может реагировать на
RecruitJoinedEventиRecruitLeftEvent.
Если что-то пошло не так
- Никого не удаётся захватить. У врага
RecruitmentChanceравен 0, условие запрещает (у игрока нет навыкаslave_master) или бросок не удался. - Тот же враг не захватывается дважды. Один рекрут на тип врага — так задумано.
- Здоровье рекрута постоянно падает. Это питание: он не ел сутки, а способа накормить его пока нет.
