Итак, в этом курсе вы научитесь создавать настоящие способности, как делают хорошие картостроители. Перво-наперво давайте познакомимся с тем, с чем мы будем иметь дело. Спеллмейкинг - это раздел триггеров в объединении с моделлингом, позволяющий создавать нестандартные способности. Вы сможете создать фактически всё, что угодно, конечно, в разумных рамках World Editor'а. Бывает такое, что новичок задаёт на форуме вопрос: "Помогите со спеллом! Мне нужно сделать... (и.т.д.)", хотя многое можно реализовать только за счёт стандартных способностей. Вряд ли об этом многие знают, поэтому я научу вас это делать. Допустим, нам нужно сделать пассивку при условии, что у героя уже есть пассивка на основе "Смертельного удара". Если мы создадим пассивку-пустышку для нестандартной способности на основе "Смертельного удара" для этого же героя, то две эти способности могут не стаковаться (т.е. неизвестно, сработает ли стандартный критический удар с бонусом).
Как же решить такую проблему? Можно воспользоваться пассивными способностями, у которых вообще ничего не настраивается и они ничего не дают, кроме графики (идеально для нестандартных пассивок) - это "Авиабомбы", "Громовой молот", "Стальные снаряды" и т.п. Нужно просто поставить им галочку на "Относится к герою", тогда способность можно будет давать героям, а также нужно очистить им требования - как правило, подобные способности являются индикаторами улучшений. Я бы назвал эти способности "Каналами" для пассивок.
Кстати, нужно бы упомянуть о том, что такое "Канал". Это способность, которая ничего не даёт изначально, но с её помощью можно создать любой активный спелл. "Каналы" не вызывают вылета и свободно стакуются друг с другом при смене базового ID приказа. И так что такое канал
Как известно, в варкрафте новые способности можно создавать либо триггерно, либо на основе имеющихся. Второй вариант ничего интересного собой не представляет, а первый был уже описан на этом форуме не раз. Однако я хочу остановится на одном аспекте триггерных заклятий, а именно - на абилке, по которой будет кликать юзер.
В варкрафте есть замечательная абилка - канал. Сама по себе она ничего не делает и является "Бланковой".
Найти эту абилку можно здесь: Редактор обьектов - способности - нейтрально-врадждебные - герой - канал
Рассмотрим данные у этой абилки:
- Базовый ID приказа
Это одна из основных возможностей абилки - которая делает ее уникальной. Дело в том, что в ВарКрафте у каждой способности есть ID приказа. И если у героя две способности с одним ID, то при касте любой из них будет срабатывать одна из них (то есть все равно на какую абилку кликать, сработает все равно одно и то же). Например мы сделали 2 абилки на основе благословления - одна быстро перезаряжается, но мало лечит, другая наоборот. И если попытаться всучить обе абилки одному юниту то работать не будет, так как у них одинаковый ID - "Holybolt"
С абилкой "Канал" все по другому. У нее можно менять ID приказа, и если сделать две абилки на основе "Канала", с разными ID, то всучив их одному юниту работать будут обе.
ID приказа может быть любым, но не должен совпадать с имеющимися. То есть если у вас и так есть заклинание "благословление", то добавление к этому герою абилки на основе "канала" с ID приказа "Holybolt" ничего делать не будет.
На самом деле ID приказов много, поэтому даже выбрав случайный, мало шансов, что он совпадет с имеющимися у этого героя заклятиями. Просто если какая-нибудь абилка глючит, поменяйте у нее ID на другой.
- Параметры. Всего 5 штук:
1) Изображение
2) Изображение указателя цели
3) Материальное заклинание
4) Универсальное заклинание
5) Только ручное применение
Что они означают:
1) Изображение: Если галка стоит, то в игре у юнита появится изображение, по которому можно кликать. Для абилок, которые нужно активировать этот параметр - обязателен. Местоположение иконки можно настроить в параметре "Графика: Положение кнопки: Используется (Х)" и "Графика: Положение кнопки: Используется (Y)", а иконку можно настроить в "Графика - Пиктограмма: Используется". Если галка не стоит, иконки абилки у юнита не будет, но ее можно колдовать триггерно. Если изображение есть, то его можно активировать щелчком на "Горячую клавишу", настраиваемую в "Текст - горячая клавиша используется"
2) Изображение указателя цели. Если установить эту галку, то сам еще понадобится установить "Характеристики: Область воздействия" на не-нулевую величину. (например, 200). Когда вы будете прицеливаться заклинанием, на карте будет круг такого радиуса, которого вы установили в "Характеристики: Область воздействия". Круг будет выглядеть, как например при заклинании "Огненный столб": Когда целишся им, видна область воздействия. Если этой галки нет, то прицеливать заклинание нужно будет обычным варкрафтским курсором (как например когда целишся заклинанием "Волна силы")
3) Материальное заклинание: при установленной галка "Изображение указателя цел" и области воздействия, равной 0, будет исчезать указатель цели, если не установлена эта галка.
4) Универсальное заклинание: Если эта галка стоит, то заклинание будет действовать на существ, невосприимчивых к магии, если не стоит, то при касте на неуязвимого к магии юнита (например, голема) вы получите сообщение типа "Этот воин невосприимчив к магии"
5) Только ручное применение. Этот параметр определяет как будет использоватся заклинание если отдать приказ сразу группе юнитов с этой способностью. Если эта галка стоит, то способность использует только один из группы, если нет - то сразу вся группа.
Спасибо Cosmos'у за разъяснение.
Продолжим насчет данных у способности:
Данные: Тип цели. Если тип цели - "Нет" то эта абилка будет срабатывать сразу при щелчке на ней, (например "Божественный щит"), если тип цели - другой, то заклинанием нужно будет прицелится. Если тип цели - "Боевая единица", то целится можно только в любого юнита, ести тип - "Точка", то целится можно куда угодно, но целью будет считаться точка (например - "Волна силы"), а если тип - "Точка или боевая единица", то если целишся в боевую единицу то будет считатся каст на нее, если нет - считатся каст в точку. Пример - способность "Точка сбора", определяющая куда побежит юнит, родившийся в бараках. Если указать на точку то бегать будет в точку, а если на юнита - то за юнитом.
На какие цели можно колдовать, можно выбрать в "Харкатеристики - разрешенные цели"
Данные: Следовать в течении времени
Это для создания способностей типа "channelling". Когда абилка кастуется, то она будет длиться не больше чем указанное время.
Данные: Отключить прочие способности
Если стоит "Да", то пока идет время, указанное в предыдущем параметре, юнит ничего не может сделать (даже отменить заклинание). Если стоит "Нет", то во время использования способности юниту можно отдать приказ делать что-либо, но это будет считаться отменой использования этой способности. Пример - "Похищение жизни" - пока похищаешь двигаться не можешь, любое движение - разрыв заклинания.
Данные: Длительность графики
Когда колдуете заклинание, на цель будет периодически накладываться спецеффект. Установите этот параметр, чтобы указать, как часто он будет накладываться. Например если вы установите спецэффект - какой-нибудь взрыв и этот параметр на 3, то пока вы колдуете заклинание, каждые 3 секунды на цель накладывается взрыв. Цели, конечное, ничего от этого не будет, что это будет делать, нужно писать триггерами.
Теперь немного насчет эффектов.
При касте способности на мага будет 1 раз наложен эффект, обозначеный в "Графика - Маг".
На цель эффект накладывается периодически, с периодом обозначеным в "Данные: Длительность графики". Установите значение 0, чтобы эффект наложился 1 раз (при касте).
Если ваша цель - юнит, то наложеный спецэффект берется из "Графика - цель", если точка - то берется из "Графика - Эффект". Куда будет приложен эффект для мага (над головой, к руке и.т.п), настраивается в "Графика - точки приложения заклинания 1" (и "точки приложения заклинания 2"). Куда будет приложен эффект для цели выбирается в "Графика - воздействие на цель 1" (и до 6)
Теперь схема действия этой абилки (как это все работает):
- Герой щелкает на абилку.
- Если параметр "Тип Цели" не равен "Нет", то герой выбирает куда кастовать
- Если параметр "Изображение указателя цели" включен, то будет отображен круг каста, радиусом, установленном в "Характеристики - область воздействия"
- Герой бежит к цели, на расстояние, указанное в "Характеристики - радиус действия"
Вызывается триггер "Юнит начинает направлять способность
- Проходит время, указанное в "Характеристики - время подготовки заклинания"
- У героя тратится мана, указанная в "Характеристики - Затрачиваемая мана"
Вызывается триггер "Юнит начинает применять способность
- Проходит малый промежуток времени
- Начинается перезарядка, указанная в "Характеристики - перезарядка"
(Примечание: Да-да, перезарядка начинается именно здесь. То есть пока способность будет "Доколдовываться", перезарядка уже идет.
Вызывается триггер "Юнит приводит способность в действие
- На кастере отображается спецэффект, указанный в "Графика - Маг"
- Если цель - точка, то на ней каждые "Данные - длительность графики" секунд отображается спецэффект "Графика - Эффект"
- Если цель - юнит, то на ней каждые "Данные - длительность графики" секунд отображается спецэффект "Графика - Цель"
... Идет время
- ЛИБО проходит время, указанное в "Данные - Следовать в течении времени", ЛИБО игрок отменяет заклинание до того, как пройдет время
Вызывается триггер "Юнит прекращает применение способности"
ЕСЛИ игрок не отменял заклинания (то есть прошло время), то:
Вызывается триггер "Юнит завершает применение способности"
(в противном случае триггер не вызывается)
- Юнит получает возможность двигаться
- Аминь... В абилке плохо то, что я не нашел, как сделать анимацию полета чего-либо к цели (анимация дальнего боя), и не нашел эффект молнии.
Если будет интересно, могу сделать карту с иллюстрацией самых важных пунктов статьи.
Вывод - используя знания о стандартных способностях, можно не делать лишних триггеров. Это может значительно ускорить работу над картой.