По поводу движения
Нужно сделать так чтобы глайдер слетал со склона
(не с спусков-подъемов, а с вертикальных склонов)
В оригинальном Wc3 для пеших юнитов с такого склона нельзя спустится также как и подняться на него
Нужно реализовать такую вещь как спуск со склона
Я видел карты, где это реализовано
Нам также нужно это реализовать
Думаю это нужно сделать чере отдельную задачу
(Задача 7 - написать демо-код где будет реализован спуск со склонов)
Предметы/оборудование
В игре у нас всего 6 слотов для предметов
Нужно их правильно распределить
У нас есть:
Корпус
Реактор
Двигатель
Броня
Щит
Лёгкое оружие
Тяжелое оружие
Ракеты
Бомбы
Дополнительное оборудование
Но у нас всего 6 слотов
Если будем использовать дубль-героя - то 12
А вот этого уже хватает)
Копус - это сам глайдер
Значит ни в какой слот его класть не нужно
Покупаем глайдер и наш глайдер сразу заменяется на нужный нам
Если энергию использовать как ману дубль-героя, то дубль-герою нужно класть реактор
Реактор - это + к мане и + к её регену
И работает он только в дубль-герое
Изначально у дубль-героя 0 маны, а также 0 реген
Итак
Реактор будет лежать у дубль-героя
У глайдера может быть только 2 оружия
Легкое и Тяжелое
У нижних стандартов - только Легкое
Также есть глайдеры с 2мя Тяжелыми и 2мя Легкими
В Wc3 есть возможность сделать 2 типа атаки
Этим мы и воспользуемся
Оружие - это + к повреждениям и + к скорости стрельбы
Делаем 2 вида атаки
Каждое оружие дает плюсы к своему типу атаки
Но вот возникает вопрос как реализовать 2 Лёгких и 2 Тяжелых оружия
Делаем так
При покупке второго Лёгкого/Тяжелого оружия предмет автоматически меняется на такой же, но влияет уже на другой тип атаки
Оружие будет лежать в слотах глайдера (тоесть не у дубль-героя)
Но оружее отнимает энергию
Нужно прописать чтобы каждый выстрел отнимал ману у дубль-героя
Броня и Щит
Броня - плюс к ХП
Щит - плюс к мане и её регену
Также как и оружие будет лежать в слотах глайдера
Ракеты и Бомбы
Ракетами мы активно пользуемся
Поэтому однозначно - слоты глайдера
Для ракет нужно прописать особую траекторию движения
Они будут стремится попасть в цель, но у них будет занос
Это даст правдоподобное поведение ракеты
Бомбы же будут лететь по прямой и взрываться в указанной точке, если на пути не встретится препятствие
При клике на пиктограмму ракеты появится значок с указанием цели
Для бомбы появится круг-площадь - тоесть указываем место где она должна взорваться
Для ракет и бомб выделяем 2 оставшихся слота
Тоесть мы можем положить 1 тип ракет и 1 тип бомб
На этом слоты глайдера заканчиваются
У нас остаются ещё Двигатель и Доп.Оборудование
Двигатель кладем в слот дубль-героя
Он требует энергию
Тоесть нужно прописать чтобы при движении глайдера отнималась мана у дубль-героя
Также нужно прописать плюс к скорости глайдера когда двигатель лежит в слоте дубль-героя
Остальные 4 слота - для доп.оборудования, ракет и бомб
Если мы хотим поменять ракеты - мы перетаскиваем пиктограмму ракеты в глайдер и они автоматически меняются
Тоже самое с бомбами
(Задача 8 - написать демо-код, где будут 2 юнита и в каждый их слот можно будет положить только определенную вещь/группу вещей)
(Задача 9 - написать демо-код где при покупке юнита наш юнит заменяется на купленный)
(Задача 10 - написать демо-код где при покупке предмета он автоматически перейдет другому юниту)
(Задача 11 - написать демо-код где у юнита 2 типа атаки и при покупке предметов, которые влияет на один и тот же тип атаки, один из предметов менялся на другой и уже влиял на другой тип атаки)
(Задача 12 - написать демо-код где будет реализовано правильное поведение ракеты)
(Задача 13 - написать демо-код где будет реализовано правильное поведение бомбы)
(Задача 14 - написать демо-код где у одного юнита будет отниматся мана когда будет двигаться второй юнит)
(Задача 15 - написать демо-код где предметы одного юнита будут влиять на скорость движения другого юнита)
Для удобства прилагаю картинку размещения оборудования в слотах:
Добавлено спустя 20 минут 26 секунд:
Итак вся механика описана
Занесём её в раздел
"Jass и триггеры"
Итак
Вот что получилось
Jass и триггеры:
Задача 1 - написать демо-код где юнит неспеша поворачивается в ту сторону, куда он атакует, причем сделать несколько юнитов с разной маневренностью
Задача 2 - написать демо-код где реализована нужная нам атака; сделать несколько юнитов, чтобы всё наглядно посмотреть
Задача 3 - написать демо-код где реализованно инерционное движение
Задача 4 - написать демо-код где несколько типов атаки наносят один и тот же урон цели
Задача 5 - написать демо-код где при атаке юнита он вместо ХП теряет ману, но при привышении порога урон идет ХП
Задача 6 - написать демо-код где используемые заклинания одного героя вычитаются из маны другого героя
Задача 7 - написать демо-код где будет реализован спуск со склонов
Задача 8 - написать демо-код, где будут 2 юнита и в каждый их слот можно будет положить только определенную вещь/группу вещей
Задача 9 - написать демо-код где при покупке юнита наш юнит заменяется на купленный
Задача 10 - написать демо-код где при покупке предмета он автоматически перейдет другому юниту
Задача 11 - написать демо-код где у юнита 2 типа атаки и при покупке предметов, которые влияет на один и тот же тип атаки, один из предметов менялся на другой и уже влиял на другой тип атаки
Задача 12 - написать демо-код где будет реализовано правильное поведение ракеты
Задача 13 - написать демо-код где будет реализовано правильное поведение бомбы
Задача 14 - написать демо-код где у одного юнита будет отниматься мана когда будет двигаться второй юнит
Задача 15 - написать демо-код где предметы одного юнита будут влиять на скорость движения другого юнита
Каждую задачу решаем на отдельной карте
Потом совместно тестим
Если всё работает - приступаем к следующей задаче
После всё объединяем на карте с ландшафтом
Желательно использовать локальные переменные т.к. у нас будет много кусков кода
После соединении частей кода тестим всё вместе
Добавлено спустя 4 минуты 58 секунд:
Ну вот с механикой разобрались
Есть ли тут люди, которые могут это реализовать?
Добавлено спустя 1 минуту 11 секунд:
Также можно неспеша переносить модели
Ландшафт будем править кода всё остальное будет готово