Добавлен PornoMishka
Очень уж запала в душу простая система из Доты, где есть три вида рассеивания (сильный диспел снимет все, что можно, средний снимает обычные и слабые баффы, слабый снимет только слабые соответственно). И вот я задумался над реализацией. Первое, о чем я подумал - иметь массив с равкодами баффов, и знать с какого индекса идут средние и сильные баффы. Но вот на счет самого диспелла... Представялю это как обход циклом этого массива и выполнение UnitRemoveAbility для каждого id. На как-то это тупо. Есть ли у кого идеи на этот счет?
Принятый ответ
Можно сделать так: каждый баф, в зависимости от него "качества", определяем заглавной буквой L (слабый), M (средний), H (сильный).
Потом в триггере проверяем разницу с слабым бафом и передём абсолютное значение.
В итоге, если полученное т.о. значение >= 0 and < 16777216 - это слабый баф; если значение >= 16777216 and < 67108864 - это средний баф
ну и т.д.
ну и т.д.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
8gabriel8, стоп, так есть какое-то разделение все же? Допустим, в моей карте будет много нестандартных баффов, в том числе и на основе Ауры замедления. Я смогу настроить приоритеты им?
ну и т.д.
Вообще предлагал такой триггер:
Событие: юнит Приводит способность в действие
Условие: ничего
Действия: сначала выбор юнитов, которые оказались в радиусе действия диспела по области
Если (Ability being cast) равно слабый диспел ИЛИ средний диспел, То много действий для всех слабых баффов Боевая единица - Remove specific buff, Иначе пусто
Если (Ability being cast) равно средний диспел, То много действий для средних баффов, Иначе пусто
Если (Ability being cast) равно сильный диспел, То удалить все баффы с юнита, Иначе пусто