// --- Поле боя == арена
Лог-чат. Сжатое или разжатое (по всей высоте экрана) окно.
3-4 строки, в сжатом виде (примерно 10 строк - в разжатом).
Шырь окна около 40% шыри экрана.
1. Нужна кнопка, чтобы мигом сместить окно к _другому_краю экрана.
Отдельная кнопка (вне лог-чат-окна) - техническая абилка, которая
прячет-проявляет _постояные дополнительные окна (и детали инфы).
Значит, прячем лог-чат этой кнопкой.
// Возможно, это циклинг - показываем _всех, прячем часть, ешё часть.
2. Увеличить окно лог-чата - кнопка на ребре окна лог-чата.
// Не исключено, что увеличение по двум осям - тогда можно
// выносить доп-инфо в конец строки = кратко + краткий коментарий.
3. ? Кнопка, чтобы сохранить текст лог-чата ?
4. Вдобавок, на ребре лог-чата пусть будет кнопка _вопрос_и_наверх,
чтобы проявлять-убирать особые миксовые спрайты _результат_удара,
инфа которых дублирована в лог-чате.
Производим удар по солдатику - рядом с жэртвой, число урона появилось,
и улетает наверх, и прозрачность увеличивают - число исчезает.
Это привычная фишка. А суть кнопки _вопрос_и_наверх в том, чтобы
_повторить рисование тех спрайтов. Допустим, что при повторе, те
спрайты (рендеры в текстуру, в несколько текстур) просто проявим,
без двигания наверх, и без анимации прозрачности. Проявили, и
любой клик их убирает мигом - почитали, и хватит.
Некоторые абилки могут бить много целей, и поэтому готовим несколько
текстур - инфа каждой текстуры должна быть добавлена в лог-чат
(конечно, это отдельные виды форматирования).
Итог удара _по_жэртве..
Значок удара (меч-рука, стрела-даль, удар заклином такой-то стихии),
процент первой атаки, плюсик, если была 2-я атака, процент второй.
Тоесть, если даль-атака была поделена на два из-за помехи,
и поделена на 2 из-за дистанции, то рисуем _стрелу, и 25%,
и под этой строкой, печатаем _сколько отняли из хит-бара,
или из стака, или из мана-бара (в таком приоре, в несколько строк).
// Печатаем число фактически отнятых единиц - если юнит был на 100
// единиц, а удар на 300, то печатаем _минус_100.
После чисел, можно печатать знак подробности - если отняли из
хит-бара - печатаем сердечко. Но если это доп-хит-бар, то
для этого можно спец-знак сделать - сердечко в каком-то кружочке.
// Будем считать, что скролинг текста - это авто-реализация.
// Наверно, будет панэлька, где текст будет _предметом внутри List.
// Тоесть, каждое событие можт порождать много предметов (строк).
// ---
Изначальное окно игры 1024 на 740.
Внедрил кнопку, чтобы масштабировать пикселя (увеличивать).
Изменил размер тайлов - стало 64 на 48.
Можно подкладывать под гексы, сетку квадратных тайлов 16 на 16.
Но это формальность - даж если найти тайлы (+ домики), то
собирать картинку из тайлов - это слишком утомительно.
И я продолжаю считать, что проект будет _без_картинки.
// ---
Создал панэльку для ввода числа кликами, чтобы указывать
количество для разделения стака на две части..
Игрок сначала кликает пустой слот для солдатиков, затем кликает
по кнопке, с названием "4 / 2", и тут проявляем огромный циферблат,
где есть подсказка "сколько отделить" - игрок указывает, и кликает
кнопку с названием "=" (знак равенства), циферблат пропадает, и надо
не забыть кликнуть на слот, который надо разделить.
slatazan
> Внедрил кнопку, чтобы масштабировать пикселя (увеличивать).
Используются несколько заготовок графических ресурсов под разные разрешения или графика тупо масштабируется?
Vitorio
Тупо - работает матрица на корневой ноде.
Ставим двойку, и она увеличит вдвое все отрисовки.
Если кто-то захочет использовать мои скрипты для себя,
то можно убрать _кнопку с размером пикселя, и определять
свой набор ресурсов для каждого _размера_экрана.
Нет кнопки - нет смены пикселя - нет проблем.
Не смотря на мои доводы о том, что проект будет _без_графики,
я всё-таки запланировал переделать визуальные ноды,
чтобы в них можно было накидать художественых слоёв.
Годот позволяет всякие анимашки.
Внедрил комплекс процедур по теме развития капитанов,
через _админскую добавку талантов и заклинаний.
Теперь легко создать любого капитана для его испытаний на поле боя.
Кликаем на готовую лодку, чтобы открыть _окно_лодки.
Отмечаем пустой слот, жмём админскую кнопку ADD, ставим там единицу,
и выбираем один из 18 стартовых пресетов (6 базовых талантов)
(6 первых специализаций) (6 вторых специализаций).
Отмечаем созданого капитана - открываем ему рюкзак.
Смотрим на номерки предметов, в скрипте g2.gd
Например, 181 для z_item_hand_torch - печатаем этот номер,
и жмём локальный ADD (внутри рюкзака) - имя предмета добавят
в правый столбец (в колонку рюкзака) - можно тыкнуть эту строку,
и проявят спец-окно, где есть кнопка Экипировать, чтобы переместить
факел в левый столбец (псевдо кукла героя).
Можно добавлять стак-предметы (стрелы 351, ману 353).
Я не стал делать для стаков рутину манипуляций - ограничился тем,
что стак будет собирать в себя все повторы своего предмета.
// Выкидываем сразу весь стак.
// Передавать предметы нельзя - создавай новые, у каждого капитана.
// Картинок для предметов нет - дебагер напомнит про это (но сбоя нет).
Жмём новую кнопку _книжка_с_плюсом (сундук чудес аля книга магий).
Наверху, есть локальный админ-механизм по добавке талантов, и заклов.
Добавив номерок чудесного таланта (например, 251), мы автоматически
получим нубо-заклинание. Впрочем, повторы добавки заклинаний будут
блокированы, чтобы не засорять набор. А вот повторы таланта (251)
будут восприняты, как повышэние степени таланта (есть лимит).
// Можно добавлять негативные номерки, имитируя блокировку номерка.
// Заклинания добавляем, не смотря на наличие нужных талантов.
С каждой актуальной добавкой таланта, капитан повышает свой ранжыр,
и его свойства автоматически подстраиваются.
Пока я ковырял эти процы, капитаны слегка мутировали.
Выдал им гибкое повышэние брони и хитбара, от каждого левел-апа.
Зависимость от глобальных чисел, которые легко менять.
// Повысил броню на предметах-шитах.
Кое-как сделал 40 картинок для заклинаний.
Пере-кинул часть кода из scene2.gd --> g3.gd
// Там явно наметились трудности отделения _визуалки.
// Возможно, потом верну код в один файл.
// Модульность везде проблемная.
Логика клеток на схеме этапа (стратегия), и на поле боя (тактика)
Если клетка этапа будет _базой простой арены, то большынство
клеток арены (поля боя) обязаны быть подобными.
__grass == простая местность (идеальный нейтралитет).
1. Ничего не значит для _полёта_лодки.
2. Ничего не значит для солдатиков, на поле боя.
__water == болотистая местность (лужа). // ? приём урона усилен ?
1. Ничего не значит для _полёта_лодки.
2. Негативы отнимания шагов для пехоты, на поле боя.
// Вдобавок, соседям, лужа молнию пробует _тиражыровать,
// ну и блокировка _поджыга.
__wood == лесистая местность. // ? выдача урона ослаблена ?
1. Возможно, лиш вблизи виден _ресурс, подбираемый.
2. Негативы отнимания шагов для летунов, на поле боя.
// Клетки с техно-юнитом _дерево - это другое - там клетка занята,
// а здесь, центр клетки свободен, а по краям - деревья и кусты, как-бы.
__rock == гора, которую надо пере-прыгивать (не встать на неё).
Одинаковый смысл - пере-прыгивать можно лодкой, и солдат-летунами.
// Гора не можт быть _базой арены. Сделать _осаду_города на этот номер.
Можно дублировать это юнит-стеной, но клетка позволяет формировать
крепостную стену, и сохранять _разметку_арены, без юнитов.
Допустим, нейтральные лодки-отряды могут ходить на схеме этапа,
если при переходе не возникает события _открыть_окно для начала боя.
Тоесть, нейтралы сами не нападают, но могут уйти со своего места.
// Надо найти свойство, которое будет блокировать движуху лодки.
Клик _рядом с нейтралом - фиксируем типаж клетки, по которой был клик,
чтобы сделать этот типаж (трава или вода ...) базовой для арены.
Таким образом, у игрока можт быть выбор местности для проведения боя.
И если рядом есть болотистая клетка, то игроку можт быть выгодно,
когда много стрельцов выносят замедленых врагов.
// Можно развесить _клей, но приятней, когда клей вместе с болотом,
// будут тормозить пехоту врага - можно наглеть.
// Конечно, тратим много раундов, но добиваемся позитив-результата.
Считаю, что не надо использовать эфект _клей, чтобы реализовать
негатив от болота - это два отдельных факта, которые складываем.
// Реализация отнимания шагов - мутная.
// Надо оставлять минимум 1 шаг, если юнит мог ходить.
// Арена == поле_боя.
Один из важных шаблонов - арена осады города.
Надо-ли делать 4 разных варианта арен города, под 4 клана ?
// не надо
Допустим, что не нужно внедрять типаж клетки __tower.
Потому-что факт нахождения на _башне, буду определять процедурно..
Две явных клетки буду считать _башней, учитывая пресет(ы) арены _город.
Но помимо сочетания номера клетки и арены, надо проверить
число фортификации, для обороны города.
Тоесть, первая клетка-башня связана с логикой первой башни, и вторая
клетка связана с наличием второй башни ... Но при этом, вторая
клетка впритык к первой - по сути, отряд обороны города всегда _справа,
и надо знать лиш первую вменяемую клетку _башни, чтобы прибавить 1,
и получить второй номер клетки.
Хитрый смысл таков..
Башню делать только в дальне-верхней строке (наверху экрана),
чтобы эта башня никого не могла собой визуально закрыть - раздражает.
Тоесть, можно и атакеру внедрить _осадную башню, но она тож обязана
быть в верхних рядах клеток. Допустим, что третья строка сверху,
это и есть оптима для башни - строка борта, строка стены, и башня.
Визуально поднимаем юнит - он как-бы на строку вышэ будет.
Итого..
Вторая башня можт быть _декор_кусочком проявлена в нижней части экрана,
но работает лиш верхния башня - она и стреляет сдвоеным выстрелом,
и предоставляет _помеху (даль-оборону для _ближнего солдатика башни).
При наличии _второй башни, на единственую башню, можно поставить
второго солдатика = 2 солдатика на башне, и один из них
работает прикрышкой для второго ...
// Должны быть глобальные добавки атаки-обороны для солдатиков,
// кого считаем _на_башне.
По сути, надо повторить две клетки формации отряда_жэртвы
39 и 40
// Вероятно, на 38-й клетке разместить техно-юнит-помеху (зубец).
// Возможно, и на 53 надо выставить помеху.
// ---
клетка.vis == декор.
Если ноль, то игнор свойства.
Иначе, номер // зависит от реализации..
1 версия.. для формат-стринга, чтобы получить имя тексы, в спец-папке.
2 версия.. это номер пресета для спец-процы, которая построит
нужную картинку для тайла.
клетка.vis_ext == декор-вариативность (vis + random( 0, vis_ext)).
Подразумеваю, что края _картинок_тайла одинаковы у _вариаций.
клетка.orig_land == техническое свойство логики (псевдо-константа).
У клетки есть оригинальная версия - её надо читать лиш для возврата
свойства Land к оригинальному значению, после метки.
// (не исключено, что процы Схемы этапа читали _оригинал не правильно)
клетка.land == динамическое свойство (изначально, копирует orig_land).
клетка.land_ext == деталь для контроля длительностей или слоёв.
Внедрить техническое сохранение набора клеток == фундамент арен.
Изначально, надо 4 таких сохранки..
= Нормальная арена, // почти все клетки нормальные.
= Болотистая арена, // почти все - water
= Лесная поляна, // почти все - wood
= Городская осада. // нормальные клетки + рисунок стены ...
У значений оригинальной сохраняемой логики клеток - нет рулетки.
Но за счёт land + land_ext можно оформлять спорные места, где
иногда будет образована лужа, или наоборот, норм-трава, среди болота.
if(land_ext > 1 ) { if( is_basic_land_type( land) ) // если 4 первых типажа. { if( random( 1, land_ext) == land_ext ) { orig_land = land // альтэрнатива подменила оригинал. // чуть нижэ будет land = orig_land } } }
А все остальные помехи надо делать за счёт добавления техно-юнитов.
В любом случии, сложное поле боя обязано исходить из процедурного
пресета, который использует-загружает файл фундамента, и добавляет
технические юниты, смотря на глобалки (механизмы кустов, рычагов).
Планировка гибкого построения картинки поля боя (на движке Годот)..
=1. Опора на пустую ноду (Node2D).
=2. фоновой слой земли. // можт быть моно-цветом.
Вероятно, это TileMap, который можт добавлять чилд-спрайты фона.
И можно добавить спрайт с текстурой, которая покрывает _весь_экран.
=3. оригинальный слой клеток - например, стильные рамочки (четыре).
// это старый HexMWar, из которого убрали чилд-юниты.
=4. дополнительный слой - метки клеток // вероятно, слой мигает.
Тоесть, здесь все тайлы, которые не сходны is_basic_land_type( land).
// это тож TileMap - три тайлмэпы, и три слоя угрик_сортировки.
=5. Слой YSort для технических юнитов (столбы, кусты, рычаги).
=6. Слой YSort для обычных юнитов. // чтобы мигать ими отдельно.
=7. Слой YSort для спец-эфектов (частицы, панэльки _результат_удара).
= всегда можно добавить слой (разделить частицы и панэльки).
Но всё это лиш формальность - годную картинку я не смогу сделать.
Поиска пути нет (не буду вникать).
Но сделал движуху солдатиков по две клетки (и по одной тож можно).
Летуны - ползают, как и пехота. Но летуны могут пере-прыгивать помеху.
Если сделать стену толшиной в 2 клетки, то никто не пере-прыгнет,
и лиш владелец телепорта преодолеит эту стену.
Подумал, что надо сделать капитанам имена для 18-ти стартовых пресетов.
18 + 18 для двух полов.
Если у кого-то есть безплатные варианты вместо вопросиков - поделитесь.
// --- RU/names_k.txt Лев Бонза Мелочный Доктор Жывчик Дикий Флинт Банкир Сильвер Чёрный пёс Зорин //mask smart Чапаев //soldier tactic Грязин //agres kontrol Сигнал //trainer cirkus Снеговик //avenger mystic Герстратин //archer flame Робинсон //econom smart Иванов //partisan tactic Зелёный мишка //food kontrol Заправский //botanist cirkus ?? horror mystic ?? pirate flame ?? fem smart ?? fem tactic ?? fem kontrol ?? fem cirkus ?? fem mystic ?? fem flame Тихомирова //fem mask smart ?? fem soldier tactic Лариса Волк //fem agres kontrol Дынька //fem trainer cirkus Роза Фанкина //fem avenger mystic ?? fem archer flame Марта лисичка //fem econom smart ?? fem partisan tactic ?? fem food kontrol Арбузова //fem botanist cirkus Фаустина //fem horror mystic ?? fem pirate flame // --- EN/names_k.txt Lion Bonza Melochev Doctor Livs Wild Flint Silver Black dog Zorin //mask smart Chapaev //soldier tactic Dirtson //agres kontrol Signal //trainer cirkus Snowman //avenger mystic Herstratin //archer flame Robinson //econom smart Ivanov //partisan tactic Green bear //food kontrol Supplygun //botanist cirkus ?? horror mystic ?? pirate flame ?? fem smart ?? fem tactic ?? fem kontrol ?? fem cirkus ?? fem mystic ?? fem flame Silent harmony //fem mask smart ?? fem soldier tactic Lara Wolf //fem agres kontrol Melony //fem trainer cirkus Rose Fankina //fem avenger mystic ?? fem archer flame Marta foxychka //fem econom smart ?? fem partisan tactic ?? fem food kontrol Watermelon //fem botanist cirkus Faustiny //fem horror mystic ?? fem pirate flame
Версия проекта 102. (актуальная) от 30 августа 2019
версия_102_на_яндекс_диске
версия_102_на_гитхабе
Здесь, начало информации по 102-ой версии проекта..
Скриншот 102-й версии.
Но сверху, в картинку, добавлено два сэмпла условной перспективы сказочного леса.
Тоесть, вместо двух верхних строк, можно нарисовать художэственые спрайты,
а в клетки забить логику горы, чтобы отключить эти клетки из маневрирования.
// ---
Можно играть в игродела - крутые квэсты - почитай обучалки Годота
по теме поиска пути, воспользуйся этим поиском, чтобы внедрить
кое-каких ботов, чтобы сопротивлялись сольному игроку.
https://godotengine.org/
Там, под картинкой, есть кнопка DOWNLOAD
// --- старт работы с годотом..
// {
Скачай маленький архив движка Godot под нужную опер-систему.
Установка не требуется - распакованый файл движка,
можно сразу стартануть, и увидеть пред-варительное окошко.
Жми, справа, кнопку.. Import, потом Browse,
открылся диалог выбора файла, найди распакованый архив 102-ой версии,
заходи внутрь папки bred1_v102, отмечай файл project.godot
кликай Open, и затем кнопку Import & Edit.
Так открыли основное окно редактора проекта.
Жми клавишу F5 (клава) или кликни стрелку вправо (play), наверху, справа.
Движок Годот создаёт окно игры (стартового размера), а сам продолжает
мониторить то, что происходит в окне игры, попутно принимая на себя
все текстовые пропечатки от функции print() - внизу редктора, есть
строка с доп-закладками.. Output, Debugger - иногда заглядывай туда.
// }
// --- редактирование в годоте..
// ---
Разверни окно (br1) на весь экран, и рядом с кнопкой Размер_пикселя, выстави
число для умножэния пикселя. Если твой монитор показывает 1024, в шырину,
то ничего не меняй. Если монитор показывает 2048 пикселей, в шырину,
то выставляй число 2.0, и жми кнопку Размер_пикселя. (это для гибкости).
Верхния кнопка из угловых скобок [ <> ] переключает язык локализации.
Но важно понимать, что сам-собой перевод слов не создаётся. Например,
для монстров и предметов, надо создать отдельный файл в папке локализации,
и внутри файла будет лиш одна строчка, с названием на нужном языке.
Если такой файл не создан, то название будет техническим, и взято из
таблицы заготовок (zag).
Кликни кнопку [ Начать ], увидиш диалог выбора файла (из папки res://maps)
// Если файлов не видно, пробуй кликнуть значок круговой стрелки "обновить"
slatazan_br1_gen1_v102.etp
Выбирай этот файл, и кликай Open - так загрузим схему этапа.
Нас встречает весточка о том, что сейчас очередь ходить игроку за
красный флаг, и этому красному штабу прибавили 1500 золота.
Кликай ПРОДОЛЖИТЬ, а затем кнопку в правом верхнем углу, чтобы
выбрать, для управления, одну из нормальных лодок красного штаба.
// Изначально-выбраная лодка = невидимая городская пристань = мелкий баг.
Вся верхния линейка квадратиков, с разно-цветными шитами - подразумеваем
невидимые элементы игры ( 6 штабов, и 4 пристани для городов).
6 зелёных кружков отмечают лодку, которую можно двигать, кликай на
один из зелёных кружков == двигаем по одной клеточке, потому-что нет
поиска пути, в скриптах 102-ой версии.
// В годоте, вроде-бы, есть поиск пути, но надо вникать.
Если экран потемнел, и нарисовали окно "лодка, лодка, начать бой", то
был клик по спорной клетке, которая рядом с врагом - можно сразу
кликнуть кнопку _начать_бой, а можно испытать все остальные кнопки.
Зелёные кнопки-слоты == стаки солдатиков управляемой лодки.
Красные слоты, справа == стаки солдатиков из враждебной лодки.
Чёрные слоты - трюм - сюда можно перенести солдатиков, которых
подразумеваем запасными. Кликай на зелёном слоте, затем кнопку *<>*
затем пустой слот трюма = выбраный стак спрятали в трюм.
Кнопка с тремя человеческими силуэтами, для переключения формаций
внутри левой лодки. Если две союзных лодки, в окне лодок - нажми на
любую из кнопок "лодка", сверху, и так поменяем правую на левую.
// Формация 6 подразумевает линию-шэренгу, а 3 == прячем чётных.
Две кнопки с пустыми свитками (1 и 2) могут вкл-отключать инфошки
про свойства солдатиков и капитанов (солдат == юнит == монстр).
Кнопка 4 / 2 очень хитрая, и помогает разделить стак. Надо кликнуть
пустой слот, куда мы хотим перенести часть солдатиков из готового стака.
Кликаем по 4 / 2, появился циферблат, вносим число и жмём знак "равно",
и надо кликнуть стак, который хотели разделить.
Если отметить старый занятый слот, затем нажать 4 + 2, затем тот слот,
в который мы отделили часть, чуть раньшэ, тогда складываем стаки в один.
Отметь пустой слот (можно в трюме), нажми кнопку ADD (Плюс), и увидиш
список юнитов, которых можно добавить.
Выбирай одного, из списка, выстави число большэ ноля, и жми Окей.
Можно выбрать один из 18 вариантов капитана, либо вопросик, чтобы
рулетка выбрала - будет создан особый юнит, у которого нет стака, но
есть невидимый элемент - возможно, ты заметиш его появление, на
верхней строке схемы этапа - там, где подразумеваем невидимые элементы.
// Отметь занятый слот, нажми ADD, выстави отрицательное число, Окей.
// Так мы отнимаем из стака, или стираем стак солдатиков из лодки.
Создай капитана, отметь его слот == нам стали доступны три кнопки,
слева от ADD (доспех1_инвентарь, доспех2_инвентарь, книжка с плюсом).
// Подразумеваю, что две панэльки инвентаря будут нужны потом, когда
// можно будет передавать предметы между капитанами. А сейчас блок
// на открытие двух рюкзаков - тупо создавай предмет, и стирай его
// у другого капитана, чтобы имитировать передачу предмета.
Красная книга чудес - смотри начало файла скриптов bred1_v102/g2.gd
const z_tal_smart_base = 241
Строка говорит, что число 241 обозначает талант Хитрость (базовую).
Если внести это число и нажать ADD (наверху, сундука чудес), то
будет попытка внедрения этого таланта (или повышэния степени таланта).
Подобным образом, можно добавлять заклинания. Например, число 315.
// --- поле боя - редактирование..
Жмакаем кнопку Edit.
Появилась кнопка Unit в левом нижнем углу - свойства юнитов менять.
Появилась горизонтальная палитра (внутри, имита радио-батон)..
[вода][трава][гора][лес] = кисть.
[Save][Load] = сохранить или загрузить арену (бинарный файл).
[инфо/рыть] = рыть или печатать инфу про клетку в статус бар.
[залить] = заливка всего поля стабильным индексом кисти.
[шанс из х] = что печатает кисть (стабильный индекс или оборотня).
Сначала, рекомендую залить всё поле индексом
травы или воды или леса, который похож на пустыню.
Значок звёздочка-умножэние отмечает выбраную кисть (индекс).
Клик по инфо-рыть, чтобы на кнопке печатали [2/2 инфо], и можно кликать
по клеткам, чтобы видеть примерно такое, внизу экрана
// координаты клика, номер клетки, ( orig 2, 2, ext 0)
Инфа в скобках означает стабильную логику, без оборотня, при загрузке.
Поставь число 3 справа от [шанс из х] ...
Рулетка( 1 шанс из 3), что будет подмена оригинальной на средний индекс.
// Клик по инфо-рыть, чтобы рыть, менять индекс клетки
Клик на кисть [вода*], и клик по любой клетке травы (заливали травой).
Визуалка поменялась - теперь клик по инфо-рыть, чтобы смотреть инфо.
Клик по серому _ровному хексу, и видим ( orig 2, 1, ext 3), мол оригинал
остался (2 == трава), но появился индекс подмены (1 == вода), если при
загрузке арены сработает 1 шанс из 3.
Скрипт g3.gd::war__load_arena реализует оборотней, при загрузке арены.
dont_fin_ext = 1, чтобы не финализировать клетки-оборотни, чтобы
продолжать редактирование арены. Хотя, поле очень маленькое, и можно
всегда заливать, и делать заново, без отдельного вызова загрузки,
где аргументом идёт единица в dont_fin_ext.
// Как-минимум, можно сохранять шаблоны арен, в которых нет оборотней,
// и загружать такие шаблоны вместо _заливки всего поля одним индексом.
Если автору арены нужна художэственая перспектива сверху поля, то
две верхних строки поля надо выкинуть из доступности путём забивания
туда индекса _гора. (теряем клетки с 16 по 40, но это пустяки).
// Не забудь поставить единицу рядом с [шанс из х]
Солдатики не могут перепрыгивать два ряда горы.
Абилка телепорта не реализована.
Тэстовые стены строим в одну клетку толшиной.
Вспомнил, что есть альтэр-формация парами, и она, справа, сдвинута,
и два верхних стака попадают на вторую верхнию строку (на горы).
Откроем файл-скрипт bred1_v102/g3.gd (в любом текстовом редакторе)
Копируем-дублируем строку с масивом.. (строка где-то в начале файла)
#var field_d_sta2 = [0, 39, 40, 95, 96, 151, 152] решотку в начало строки
var field_d_sta2 = [0, 67, 68, 123, 124, 179, 180]
Таким образом, можно назначить любые стартовые места для солдатиков.
Там рядом, обрати внимание на константу
const field_d_adv = -1
Она сдвигает все стартовые клетки на единицу влево (66 вместо 67 будет).
Тоесть, это сдвиг для _отряда_обороны (def).
field_a_adv для отряда, который напал (атакер).
Масив field_a_prep не работает.
// кнопка Unit юнит вкл-отключает спец-панэльку..
Когда панэль открыта, то можно кликать по солдатикам - клик избирает
этот стак, и выводит его свойства, как простой но хитрый текст.
В каждой строке..
важное число, разделитель, название свойства.
Старайся не менять ничего, кроме чисел.
Первый позитивный эфект..
471 // 11x m2_bag3 // z_ef_anti_fear
0 // 11y m2_bag3 // сколько слоёв 1-го эфекта, но это часто не важно.
0 // 12x m2_bag3 // 2-й эфект
Первый негативный эфект..
0 // 21x m2_bag3
Внедрил число или несколько чисел - жми load_to_sel.
Инфа будет залита в свойства солдатика, у которого _самый_тёмный кружок
(этот юнит и считаем _селектед_выбраным, внутри редактирования).
При выходе из редактирования, можно увидеть плюс или минус, над юнитом.
Кликни юнит - для него откроют боковую инфо-панэль - там, в самом низу
списка, можно увидеть плюс-минусовые названия эфектов _на_солдатике.
Все эфекты НЕ работают - просто, как памятка ручного тэстирования.
Поле боя - обмен ударами.
// светло-зелёный радиус - это просто отметка 4-го пояса, а не шаги.
Солдатик, чей ход - рядом с ним печатают его название, и для него
открыта инфо_пнэлька (справа или слева). Можно выбрать другой юнит,
и кликнуть красную книгу с плюсиком - вторая, слева, внизу экрана.
Так откроем _диалог_атаки.
Структура подразумевает влияние от формошлёпки на две глоб-анкеты.
(анкета удара атакера, и возможный ответный удар жэртвы).
// Эти анкеты, заполняем програмно, перед скриптовыми вызовами абилок.
Тоесть, формошлёпка и скриптовая абилка - абсолютно равны.
Можно делать скриптовые функции, а можно сохранять пресеты диалога,
чтобы загружать-применять их вручную, для гибкости.
Чтобы реализовать сложную атаку (из многих ударов), надо вызвать
диалог атаки много раз, по одному удару. Например, имитация цепной
молнии.. Выбираем первую жэртву - назначаем альтэр-урон, применить
(диалог исчезает, но свойства остались). Выбираем вторую жэртву,
и меняем _приёмный модификатор (между _исход и _вцель), применить.
Таким образом, ударить 3-4 нужных юнита, и можно передавать ход
другому солдатику.
// ---
Стандартная атака доступна в таком порядке..
Надо кликнуть по кнопке _кинжал_стрела - пятая, слева, внизу экрана.
И указать-кликнуть по цели. Если атака была возможна, то вверху экрана
проявят инфу о деталях удара (две инфы, если была ответка).
Для ближней атаки, надо двигать солдатиков по одной клетке, или
по 2 клетки, но не большэ - поиска пути нет. На воде, всех тормозим.
Иногда, можно прыгать через другой юнит, шагая на 2 клеточки.
Если кликать дальшэ, чем через клетку, то квадратиками печатают
клетки, по которым пробежалась пунктирная линия _луча_взгляда.
Сейчас, она не участвует в ударах, но игрок-тэстер можт сам
решать _видимость_досягаемость_цели, плюс гибкий диалог атаки.
Верхний правый угол экрана - там есть кнопка Лог, чтобы открыть окошко,
и увидеть все удары.
Победа ничего не меняет - поле боя закроют, но лодки сохранят
свои старые показатели (солдатиков не отнимут).
Тема в архиве.