Типы целей в Warcraft 3

Добавлен , опубликован
Раздел:
Основы
Не видел на форуме анализа целей Warcraft-а. Для меня всегда логика этой большой таблички в РО
(WRONG IMAGE URL - imageshack)
была неинтуитивной.
Я решил разобраться и выкладываю результат, возможно кто-то найдёт что-то новое для себя.
За разрешённые цели/типы целей отвечают такие поля в РО, как:
Характеристики - Разрешённые цели (способности) - разреш. цели данного спела
Бой - относится к типу целей (войска) - тип цели, к которому отнсоится данный юнит
Характеристики - Классификация войск (войска) - тип цели, к которому относится данный юнит (доп.)
Бой - тип цели (разрушаемые объекты) - тип цели, к которому относится данный разрушаемый объект
Бой - АтакаN - допустимые цели (войска) - разреш. цели АтакиN юнита
Бой - АтакаN - радиус поражения (цели) (войска) - разреш. цели сплэша юнита
И такие функции в common.j, как IsUnitType; UnitAddType; UnitRemoveType
В первую очередь все цели делятся на 3 группы: Предметы, *Разрушаемые объекты*, Юниты.
Все юниты делятся на 3 группы: Духи/Не духи; Воздушные/Наземные; Здания/Не здания. Они сочетаются по принципу "или". Т.е. если установить разрешённые цели (для заклинания или для атаки юнита, далее - Р.Ц.) Духи, Здания, Наземные, то это покроет все основные б.ед.

Типы целей боевых единиц

Если установить юниту "Бой - относится к типу целей" ("Бой - относится к типу целей" или "Бой - тип цели (разрушаемые объекты)" далее - Т.Ц.) Духи, Здания, Наземные, это НЕ будет означать, что он является наземным-духовным-зданием, т.е. это НЕ отдельный Т.Ц. Это будет означать, что он относится и к Духам и к Зданиям и к Наземным.
Из чего следует, что Р.Ц. только Воздушные Здания - не существует и указать её нельзя!
Воздушные Здания - это все Воздушные + все Здания. Также не существует Воздушных Духов, Духов Зданий и т.п.
Ещё раз Т.Ц. - это каким типом цели явл. сам юнит/разрушаемый объект; Р.Ц. - это разрешённые цели атаки/заклинания
Также нужно сказать, что если у юнита в Т.Ц. не стоит ни Дух, ни Наземные, ни Здание - это означает, что он НЕ является целью типа "юнит". Ни один спелл, ни один юнит не смогут его атаковать его или кинуть на него спелл.
Установка галки Герой, по моим изысканиям, ни к чему не приводит. Героем являются те, что созданы в РО из основы любого героя. Эту классификацию нельзя ни убрать, ни добавить с помощью UnitAdd/RemoveType.
Также установка Т.Ц. у юнитов: Живые, Мёртвые, Сам воин, Не сам воин, Уязвимые, Неуязвимые, Союзники, Нейтральные, Друзья, Враги, Войска Игрока не даёт ничего (НЕ путать с Р.Ц.)
Друзья, Враги, Нейтральный, Союзник, Войска Игрока определяются только во время игры динамически, если юнит вражеский, значит и Т.Ц. у него Враги. В Союзников входят только союзники игрока, войска игрока не входят в союзников. На сколько я понял, Друзья = Союзники + Войска Игрока.
Для того, чтобы являться Зданием нужно: а) установленные в РО галки: "Является зданием" и Т.Ц. "Здание". Триггерный вызов call UnitAddType(u, UNIT_TYPE_STRUCTURE) НЕ даёт никакого эффекта.
Для того, чтобы являться Духом: установленный Т.Ц. Духи. Установка "Характеристики - Классификация войск" : "Страж" - не даёт ничего.
Галки в Р.Ц. Неуязвимый и Уязвимый относятся и к Предметам, и к Разрушаемым объектам, и к Юнитам.
Установка Т.Ц. "Нет" сделает невозможным указание данного юнита как цели любого заклинания или любой атаки. Насколько я понял, "Нет" равносильно тому, чтобы просто убрать все галки в Т.Ц.

Самоубийцы, Древа, Механика

Для того, чтобы являться Самоубийцей: установленный в Классификации: Самоубийца. Установка в Т.Ц. Самоубийца не даёт ничего.
С Древом и Механикой тоже самое как и с Самоубийцей.
Эти три Р.Ц. являются единственными действующими "по принципу И". Т.е. они сужают область допустимых целей. Если установить галки Древо, Самоубийца, это будет значить, что заклинание или атака действует только на тех, кто является и Древом и Самоубийцей. Это Можно отлично использовать и об этом позже.

Р.Ц. заклинаний по умолчанию и их изменение.

У большинства (у всех не проверял) заклинаний насылаемых на юнита, если не устанавливать никаких флажков, это будет равносильно
следующему:
(WRONG IMAGE URL - imageshack)
Изменение Р.Ц. происходит по группам. К примеру, если установить только галку Древа и никаких других, то это будет равносильно
следующему:
(WRONG IMAGE URL - imageshack)
Устанавливая 1 флажок в группе как бы убираются все остальные.
Группы:
  1. Духи
  2. Герои / Не Герои
  3. Сам воин / Не сам воин
  4. Наземные / Воздушные
  5. Живые / Мёртвые
  6. Неуязвимые / Уязвимые
  7. Здания
  8. Друзья / Враги / Союзники / Войска игрока / Нейтральные
  9. Самоубийцы / Не самоубийцы
  10. Древа / Не Древа
  11. Механизмы / Организмы

Т.Ц. разрушаемых объектов

К Т.Ц. разрушаемых объектов относятся: Мосты, Декорации, Прочее, Деревья, Стены. Они НЕ сочетаются! Т.е. декорация с Т.Ц.: Мосты, Стены - не будет ни мостом, ни стеной, ни мостостеной. В свою очередь Р.Ц. атак, заклинаний, направленных на разрушаемые объекты, сочетаются по принципу или. Р.Ц. атаки Деревья, Мосты - значит, что юнит может атаковать мосты и деревья. По умолчанию атаковать Т.Ц. "Декорации" не может никто, поэтому им никто урон и не наносит. Разрушаемые объекты с Т.Ц. "Декорации" - это Вулкан, всякие троны и т.п. Если поставить эту галку в Р.Ц. у юнита, Вулкан можно будет снести.
Если у разрушаемого объекта не устанавливать в Т.Ц. ничего, то он не будет являться "разрушаемым объектом" как целью, также как и юнит, т.е. его нельзя ни атаковать, ни кинуть на него спелл.
При определённых условиях разрушаемые объекты даже с установленным Т.Ц. не могут стать целью заклинаний. Обычно это лечится установкой галки "Графика - Можно выбрать в игре".

Собственная система целей

Важно отметить: при попытке установить разрушаемым объектам Т.Ц. юнита, например "самоубийца", никакого эффекта не будет. Также как и юнитам Т.Ц. разрушаемого объекта н.р. "прочее". То же самое с Т.Ц. "предмет". Видимо в Варе внутри стоит проверка на то, является ли данная цель разрушаемым объектом, боевой единицей или предметом на самом деле.
Тем не менее, часто требуется запретить или разрешить применение заклинания только на определённых юнитов. Обычно для этого используется самая "бесполезная" классификация: Самоубийцы (в Доте - Древа).
Тем не менее, для большой карты или проекта, одной группы войск может быть не достаточно. Как быть?
Классификация Древа, на сколько я понял, отличается только тем, что строитель здания с такой классификацией исчезает. Это легко сделать триггерно, освободив все Древа от такой классификации. Т.о. Древа становится доступна, как доп. классификация для войск. Выходит 2 типа искусственных целей.
Но и этого может быть не достаточно. В этом случае можно создать 3юю, а именно чётко указывая у каждой атаки/заклинания цели для Древ - Древа, Не Самоубийцы, для Самоубийц - Самоубийцы, Не Древа. И 3ий тип целей будет: Древа, Самоубийцы. (Как вы помните они сочетаются по принципу "и")
Но и этого может быть не достаточно. Можно задействовать 3ий, сочетающийся по принципу "и", тип целей: Механика. Но тут придётся потрудится и у всех дефолтовых способностей, юнитов и т.п. убрать чистые Р.Ц. Механика и заменить их на Механика, Не Древа, Не Самоубийцы. Т.о. становятся доступны следующие искусственные типы целей/разрешённые цели:
Самоубийца?Древо?Механика?
+ + +
+ + -
+ - +
+ - -
- + +
- + -
- - +
- - -
Т.о. число доступных типов выходит: 2 в степени 3 = 8; один из которых: Не Древа, Не Самоубийцы, Организмы - тип по умолчанию боевых единиц.
При этом оговорка, ещё раз, все цели должны быть прописаны чётко, если где-то встретится НЕ чёткий тип: Древа, Механика, то под него подпадут 2 искусственных типа: Древа, Механика, Не самоубийцы и Древа, Механика, Самоубийцы (хотя возможно будут случаи когда и такое полезно). Цели должны быть чётко прописаны везде.
Также большим плюсом Самоубийц, Древ, Механики является то, что эти классификации можно добавить триггерно.

Звуки и сообщения об ошибках при неверном выборе цели

При неверном выборе цели может быть проигран звук и выдано сообщение об ошибке с подсказкой: какова верная цель. На это я сильное внимание не обращал, могу только сказать точно, что для юнитов, не являющихся целью типа "юнит", т.е. у тех, у которых отсутствуют данные в поле Т.Ц. (см. пункт "Типы целей боевых единиц" данной статьи) НЕ будет выдано никакого сообщения об ошибке и НЕ будет проигран никакой звук, как будто бы вы вообще не нажали мышью.
В общем и целом сообщения об ошибочном выборе цели неадекватны. Особенно при сочетании таких Р.Ц. как Древо, Самоубийца, Механика. Тем не менее это можно условно вылечить в Игровом интерфейсе, указав наиболее абстрактные сообщения для некоторых сообщений.

Заключение

Спасибо, если прочли столько много букоф. Буду благодарен за любые уточнения, исправления.
Тестировано на способности "Молот бурь" и некоторых других.
На что влияет галка Рельеф - я так и не понял.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
4
33
11 лет назад
4
у одного космети, у другого — дестурбы, издеваются над русским языком как могут =(
2
10
11 лет назад
Отредактирован Romeno
2
Кет, Я думал деструб - это устоявшийся термин. Разрушаемые объекты - слишком длинно. Если есть какой-то более подходящий вариант, я бы исправил.
1
29
11 лет назад
1
Исправь. Так будет более доступно.
0
10
11 лет назад
0
Msey, На что?
4
17
11 лет назад
4
Дудадс)))
0
30
11 лет назад
0
Разрушаемые объекты - слишком длинно
ну так напиши один раз "разрушаемые декорации", сделай пометку и дальше используй сокращение - Р.Д.
2
5
11 лет назад
2
Ох, дочего же муторная статья поулилосась. Лично я так и не разобрался, что как сочетается и где работает
1
14
11 лет назад
1
Darklight, возможно, проблема в её излишней доступности :)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.