Огонь феникса
Авто-атакующая способность "Огонь Феникса" - одна из используемых способностей в картах для WC3.
В этой статье, я покажу Вам, как создавать эту способность в SC2.
В этой статье, я покажу Вам, как создавать эту способность в SC2.
"Огонь Феникса" - пассивная способность, которая атакует ближайшего противника.
Для неё нам нужно создать:
Для неё нам нужно создать:
- Behavior - ищет в нужном нам радиусе цель, для выстрела в неё.
- Effect - назначает тип, снаряд и модель выстрела, определяет момент выстрела и радиус действия.
Создание Effect'а
Для начала открываем Data Editor (F7)
1.1 Во-первых мы создадим Effect. Для этого находим в поле Data Type - Effects и нажимаем правой кнопкой по появившимуся полю и выбираем Add Object...(Ctrl+=)
Называем его "PhoenixFireSearchArea" и щёлкаем на кнопке "Suggest" для получения ID.
В поле Effect Type находим Search Area и выбераем её.
Далее нажимаем "OK".
Называем его "PhoenixFireSearchArea" и щёлкаем на кнопке "Suggest" для получения ID.
В поле Effect Type находим Search Area и выбераем её.
Далее нажимаем "OK".
1.2 Теперь нам нужно определить радиус действия этого еффекта.
Щелкните по полю: "(None) - Areas+"
Щелкните по полю: "(None) - Areas+"
Сейчас заполним его:
- Щелкаем по зелёной кнопке "+X" на правой стороне окошка, для создания радиуса.
- Измените значение на Maximum Count на 1 (у нас будет только одна цель). Сначала там стояло -1, это означало, что не существует максимального кол-ва целей.
- Установите значение в пункте Radius. Это будет диапозоном для нашей атаки. наиболее подходящие значения для этого пункта от 4 до 10.
- Назначьте Effect. Это тип выстрела нашей способности. Я выбрал: "Battlecruiser - ATS Laser Battery (Launch Missile)".
- Нажмите "Ok".
1.3 Наконец, мы должны выбрать типы целей, которые подходят для нашей способности.
Для этого делаем следующие действия:
Для этого делаем следующие действия:
- Нажимаем на "Data - Search Filters".
- Снимаем галочки с Ally, Neutral и Player.
- Меняем пункт Dead и Missile на Excluded.
- Меняем пункт Visible на Required.
- Нажимаем "Ok".
Типы
Allowed - тот тип, который включён в способность.
Excluded - тот тип, который не включён в способность.
Required - тот тип, который обязательно требуется для способности.
Excluded - тот тип, который не включён в способность.
Required - тот тип, который обязательно требуется для способности.
Мы закончили с работой над Effect. Теперь нам нужно создать Behavior, который будет сообщать, когда использовать созданный нами Effect.
Создание Behavior'а
1.4 Находим в поле Data Type - Behaviors и нажимаем правой кнопкой по появившимуся полю и выбираем Add Object...(Ctrl+=)
Называем его PhoenixFireBase, нажимаем Suggest. В поле Behavior Type находим Buff и выбираем его.
Нажимаем "Ok".
Называем его PhoenixFireBase, нажимаем Suggest. В поле Behavior Type находим Buff и выбираем его.
Нажимаем "Ok".
1.5 Мы можем оставить большинство полей по-умолчанию. Для получения нужного нам результата, нужно лишь изменить три строчки:
- Поставьте в пункт "Effect - Periodic" созданный нами ранее еффект (PhoenixFireSearchArea).
- В пункте "Period" поставьте любое положительное число, например 0.5. Это будет означать, что наш еффект будет срабатывать каждые 0.5 секунд или 2 раза в секунду.
- В пункте "Icon" выберите нужную Вам иконку.
Это всё, что нужно было сделать с Behavior. Осталось только добавить его на война.
Я выбрал Raven, но вы можете выбрать любого другого воина.
Я выбрал Raven, но вы можете выбрать любого другого воина.
Добавление к юниту.
1.6 Выберите в поле "Data Type - Units" и найдите в списке Raven.
Затем нажимите на графе "(None) - Behaviors". Raven уже имеет один пункт (Detector), но мы добавим ещё один.
Нажмите на зелёную кнопочку "+X", выберите наш Behavior из списка и нажмите "Ok".
Затем нажимите на графе "(None) - Behaviors". Raven уже имеет один пункт (Detector), но мы добавим ещё один.
Нажмите на зелёную кнопочку "+X", выберите наш Behavior из списка и нажмите "Ok".
Ну вот и наша способность готова! Можете проверить это в действии.
Улучшение способности
В нашей версии "Огня феникса" есть один недочет: способность реагирует на ближайшего к нам юнита, фокусируется на нём и атакует его.
Идея вот в чем: если не хочешь атаковать одного и того же юнита, надо помечать его баффом. В Data Editor есть специальный тип данных - Target Sort - которым мы воспользуемся.
Для этого нам потребуются:
- Behavior - бафф, накладываемый на атакованную цель на определённое время.
- Effect - позволяет накладывать этот бафф.
- Target Sort - определяет, имеет ли атакованная цель бафф или нет, а также определяет, как давно она получила его.
Также нам придётся изменить два пункта:
- Battlecruiser - ATS Laser Battery (Launch Missile) - мы должны добавить описанный выше эффект для накладывания баффа.
- Наш созданный в пункте 1.1 еффект PhoenixFireSearchArea - мы должны будем добавить к нему Target Sort.
2.1 Создайте Behavior таким же образом, как и в пункте 1.4, но измените имя на "PhoenixFireBuff" и подберите ID.
Найдите там поле: "Duration" и измените его на любое положительное число, но очень маленькие числа не придадут особого еффекта.
Я поставил 30.
Найдите там поле: "Duration" и измените его на любое положительное число, но очень маленькие числа не придадут особого еффекта.
Я поставил 30.
2.2 Теперь создайте Effect таким же образом, как и в пункте 1.1, но поставьте имя "PhoenixFireApplyBehavior" и не забудьте про ID. Напротив Effect Type укажите "Apply Behavior".
Нажмите "Ок".
Нажмите "Ок".
После этого найдите поле: "Data - Behavior" и поставьте там бафф, созданный нами в пункте 2.1.
2.3 Сейчас мы должны добавить в "Battlecruiser - ATS Laser Battery (Launch Missile)" созданный выше еффект, для появления на цели баффа.
Найдите в списке еффектов "Battlecruiser - ATS Laser Battery (Launch Missile)", а там поле: "(None) - Finish Effect".
Поставьте в него "PhoenixFireApplyBehavior", созданный в пункте 2.2.
Найдите в списке еффектов "Battlecruiser - ATS Laser Battery (Launch Missile)", а там поле: "(None) - Finish Effect".
Поставьте в него "PhoenixFireApplyBehavior", созданный в пункте 2.2.
2.4 Создаём Target Sort. В списке типов он находится в самом конце.
Назовите его "TSPhoenixFire" и напротив Target Sort Type укажите "Behavior Duration".
и опять не забудьте про ID
Назовите его "TSPhoenixFire" и напротив Target Sort Type укажите "Behavior Duration".
и опять не забудьте про ID
Находим поле: "Behavior" и добаляем в него "PhoenixFireBuff" (пункт 2.1).
Благодаря этому Target Sort, наша способность будет атаковать сначала только те цели, которые не имеют баффа "PhoenixFireBuff".
Благодаря этому Target Sort, наша способность будет атаковать сначала только те цели, которые не имеют баффа "PhoenixFireBuff".
2.5 Наконец возвращаемся к первому созданному нами еффекту (пункт 1.1).
Находим в нём поле: "(None) - Target Sorts+" и добавляем к нему "TSPhoenixFire" (пункт 2.4). Также измените графу "Request Count" на 1.
Находим в нём поле: "(None) - Target Sorts+" и добавляем к нему "TSPhoenixFire" (пункт 2.4). Также измените графу "Request Count" на 1.
Вот наша способность и готова! Проверьте в игре, как она действует!