Типы целей в 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 искусственных типа: Древа, Механика, Не самоубийцы и Древа, Механика, Самоубийцы (хотя возможно будут случаи когда и такое полезно). Цели должны быть чётко прописаны везде.
Также большим плюсом Самоубийц, Древ, Механики является то, что эти классификации можно добавить триггерно.

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

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

Заключение

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
10
11 лет назад
1
CaptainFox, да, такое есть, есть и у определённых абилок. Я расписал на том уровне, на котором исследовал. Сейчас я уже не припомню всех деталей. Продолжив исследование дальше, можно было бы составить более полный обзор и провести более глубокий обзор. Но у меня кончилось время и деньги и пришлось искать работу)))
0
1
8 лет назад
0
Очень полезная информация. Автор молодчина. +
единственное - разворачиваемый текст не виден.
Загруженные файлы
0
19
6 лет назад
0
У многих абилок нежити стоит галочка "организм", но почти ни у одной абилки белых людей она не стоит. Мое воображение говорит мне, что организм может подразумевать нежить, ибо странно, что нет такой классификации в типе целей. Если нет, то как можно указать нежить как цель, не прописывая всем нежитям "самоубийцу"?
0
27
6 лет назад
Отредактирован MpW
0
Darknessay, Ну вот знаю, что работает такая связка "организмы/механизмы".
вот
В РО в указанных целях можно установить либо "механизмы" (не живое существо) либо "организмы" (живое существо). Больше создано для указывания/установки целей способностей и атаки.
"Механизмы" (в РО, указанные цели). Вообщем-то влияет на цели способностей и атаки.
Конкретно влияет на ремонт. Привел этот пример с ремонтом не случайно. Здания и артиллерия чинятся с помощью спец-способности "ремонт" у рабов (при наличии ресурсов, если ресурсы на нуле, то раб будет стоять). Если у здания во время игры триггерно убрать классификацию "техника", то авторемонта не будет, раб будет стоять
У многих абилок нежити стоит галочка "организм", но почти ни у одной абилки белых людей она не стоит.
мне кажется это очевидно. Так нежить любит всякие заклятия на живых посылать: травить, высасывать жизни и души, а на технику не имеет смысла.
Если нет, то как можно указать нежить как цель, не прописывая всем нежитям "самоубийцу"?
Выше же написано. Что есть три классификации: древо, самоубийцы, механика. И с ними можно нестандартные классы замутить, по-другому никак. Только. если базу данных
3
16
6 лет назад
3
потому что надо на английском работать. это organic, то бишь не механизм, не здание, только и всего. а такие классы, как нежить и прочая, не является классом - это проверка расы. в варике дохера проверок, вживленных на уровне скиллов-основ и никак не регулируемых, картоделам отведено всего ничего
1
1
6 лет назад
1
Залей картинки непосредственно на сайт
0
1
5 лет назад
0
Перезалейте картинки, пожалуйста, ссылки более неактуальны
2
28
5 лет назад
2
такие классы, как нежить и прочая, не является классом - это проверка расы.
Разве? Ведь есть классификация "Нежить". Юниты с такой классификацией получают урон от благодати, и лечатся от койла.
2
32
5 лет назад
2
PT153, только это вшито в код абилки и на твои дейстия это дело никак не реагирует, проверка рассы и ветвление не зависит от допустимых целей, ибо реализовано на с++ в методе основы благодати \ лика смерти.
2
28
5 лет назад
2
quq_CCCP, то есть если я юниту в РО поставлю расу нежить без классификации Нежить, то я не смогу в такого юнита кидать койлы?
0
28
5 лет назад
Отредактирован PT153
0
а такие классы, как нежить и прочая, не является классом - это проверка расы.
то есть если я юниту в РО поставлю расу нежить без классификации Нежить, то я не смогу в такого юнита кидать койлы?
Не знаю, что имел в виду DracoL1ch, но в союзного юнита без классификации "Нежить" нельзя скастовать "Лик Смерти" и "Смертельный Союз". Так что раса в принципе ничего не значит, имеет смысл только классификация.
Прикрепил карту.
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.