Пётр
Город в огне MV. Разработка. Запись 1.
Решил таки повести дневник разработки.(не уверен, что продолжу, но мало ли.)
Итак давно планировал, начинал, забросил и после стрима Фокса возобновил перенос моего Города в огне(моей ТБС) с Аси на МВ.
И свершилось! Я перенес практически полностью.
В прошлый раз при переносе, я застрял на решении недостатка прошлой версии. А именно врагов не обходящих препятствия. А так же создания лучников. Которые не могут атаковать вблизи. А значит должны отходить.
Решил, что каждая клетка хода должна за себя решить, является ли она точкой атаки. Если эвент/клетка хода может быть точкой атаки, то у этого эвента включается локальный С.
А вот тут стала весьма интересная задача. Найти ближайший к гг ивент со включенным локальным С.
Спрашивал ДК и Диржа как это решить это плагинами.... В итоге придумал решение на ивентах.
Спойлер решение:
Теперь работало на ять.
Возникла сл. проблема.
Поле хода выглядело так. С такими вот огрызками, до которых не дойти.
Враг доходил до точки плагином Янфлаев. Но если вдруг враг не мог дойти до точки атаки, то игра висла, т.к. в этом плагине не учитывается триггер "пропуск если невозможно".
Опять хотел решить плагином. Теперь Галва. Задумка была в том, что от середины плагин бы включал соседние клетки, заполняя поле хода. Но во-первых он как-то плохо работает.(ну или я затупил) Включались только ближайшие ивенты, а дальше как в демке не распространялось. Плюс включались локальные во всех соседних ивентах, даже где не нужно. Во-вторых выпадала просто тьма ошибок скрипта.
Опять таки решил тупо ивентами. Ивент в середине включает локальный В в соседнем ивенте, если его имя MOVE. Таким образом заполняются поля хода только нужные. Очень быстро и нормально смотрится.
Теперь то же самое поле хода выглядит так.
Пришлось правда заморочиться и немного переделать, чтобы поле хода "Летунов" выглядело как раньше.
Ладно.... Я мог бы бесконечно хвастаться тем как я извращаюсь над ивентами, но тдальше будет сухая информация.
На данный момент ТБС готова практически полностью. Как минимум она умеет все то, что умела ТБС на Асе. И даже больше.
Распишу отличия, реализованные элементы и планы.
РЕАЛИЗОВАНО:
- Два принципиальных типа врагов, в зависимости от типа атаки. Бойцы и лучники.
- Два типа персонажей, в зависимости от способа передвижения. Пешеходы и летуны.
- Анимация и дальность атаки напрямую берется из БД. Зависит от одетого оружия на ходящего героя и врага.
- Скиллы/магия. Пока атакующие и лечащие. Так же настраивается через БД дальность и анимация.
НЕ РЕАЛИЗОВАНО/ПЛАНЫ:
- Скиллы, накладывающие бафы/дебафы и состояния.
- Собственно состояния.(сон, яд, паралич и т.п.)
- Зависимость от сопротивлений. Т.е. стойкости/слабости от элементов.
- Криты и уклон в зависимости от удачи и ловкости. А так же в принципе задействовать ловкость и удачу в бою. Пока они не используются.
- Группы врагов. Пока враги атакуют только если могут дойти. Хочу сделать чтобы если кто-то из группы врагов вступил в бой, остальные, если не могли дойти до поля атаки, то не пропускали ход, а шли в сторону ближайшего героя.
- Использование предметов
- ХУД. Пока смотреть данные можно смотреть только через полную статистику. Сделаю ненавязчивое отображение имени, ХП/МХП и МР/ММР в рамочках плагином Худелля. Героев слева. Врагов справа. При наведении на персонажа.
На этом пока всё. Надеюсь это не последняя запись.
К концу недели планирую выпустить демку боя. Проверить производительность, удобность и половить баги.
Всем удачи и счастливого мукеризма!