Алгоритмы, Наработки и Способности
Способ реализации:
GUI
Тип:
Способность
Версия Warcraft:
1.26+JNGP
Однажды долго размусоливали способность типа "Увеличение скорости атаки при каждой атаке на цель". Пришлось делать болванку. А коль уж сделал, вот подробности.
А что нового?
  • ускорение прироста скорости
  • при промахе/блоке не суммируется заряд
  • видео

Потребуется:
  1. JNGP (для открытия болванки)
  2. Способность (пустышка) - 1 шт.
  3. Способности для dummy - столько сколько уровней
  4. Переменные с массивом - 4 шт.
  5. 4.1. Для боевой единицы - 1 шт.
  6. 4.2. Для способности - 1 шт.
  7. 4.3. Для точки - 1 шт.
  8. 4.4. Для числа - 1 шт.
  9. Триггеры - 4 шт.
  10. Dummy - 1 ед.
Видео

Скрин пустышки (п. 2):

Тыкать тут

Способности для dummy (п. 3):

К примеру "Кровожадность - Орда (боевая единица)", с нужными процентами. Выставляем уровни столько сколько зарядов. Делаем копии способности согласно уровням пустышки с приростов на каждый заряд и уровень.
Скрин:

Триггеры (п. 5):

Первый триггер
Через событие "Боевая единица - Атакован" и условие что атакующий имеет способность пустышку фиксируем в развилке с условиями, что уровень равняется массиву и то что фиксация уже была, через переменную для способности, те способности, которые приравниваются к каждому уровню (1 уровень +5%, 2 уровень +10% на заряд пример ). Ниже через условие, если атакованный не равняется зафиксированный боевой единицей обнуляем старые зафиксированные значения и после фиксируем атакованного и атакующего, после выдаем отлов урона (новое событие "в нужном триггере" атакованный получает урон), даем номер атакованному (функция: "Set the custom value"), который равняется 1 (анти-промах) и сразу на зафиксированной точке "рожаем" dummy и фиксируем его. Удаляем зафиксированную точку. Если условие - атакованный равняется зафиксированный боевой единицей, то прибавляем номер (номер заряда + 1). Ниже запускаем и обнуляем таймер через условие, что боевая единица имеет тип.
Скрин:

Второй триггер
Это обычный таймер, где каждую доли секунду прибавляется переменной реала + 0,01. Триггер изначально отключён.
Скрин:

Третий триггер
В условии ставим блок на нужного источника урона (damage source) и через проверку боевой единицы, которая получает урон, выключаем таймер (второй триггер). В первой развилке через условие проверяем что номер атакованного превышает только на 1 ед. заряд (в иначе выравниваем номер к номеру заряда), во второй развилке проверяем что урон больше 0 (анти-болк) дальнейшие развилки необязательны, кроме проверки заряда, который увеличивается до 3. После прибовляем заряд на 1 ед., удаляем статус (баф) ускорения герою, удаляем через цикл (от 1 до максимального уровня способности) зафиксированные способности у dummy и переносим dummy ближе к герою, даем ему зафиксированную способность, после уровень, выдаем приказ на damage source (заранее зафиксированный - атакующий). Но если цель, снимаем статус ускорения (баф) и переписываем боевые единицы, согласно массиву и скидываем число на первый заряд не обязательно, комментарии на видео .
Скрин:

Четвертый триггер
Когда умирает боевая единица (атакованный), скидываем статус, удаляем dummy из игры скидываем число на первый заряд.
Скрин:

Пара слов
В видео я предложил пример как можно избежать прирост от магического урона.
Если не нужен статус (баф) или переживаете за иммунитет от магии, то можно заменить способность "Кровожадность" на способность предмета "Перчатки скорости".

Видео:


Будут вопросы пишите. Всех благ =)

0
28
7 лет назад
0
скрины под каты запихни
0
48
7 лет назад
0
nvc123:
скрины под каты запихни
исправил
2
48
7 лет назад
Отредактирован N7 Molot
2
Обновление
Чтобы оставить комментарий, пожалуйста, войдите на сайт.