Очень уж запала в душу простая система из Доты, где есть три вида рассеивания (сильный диспел снимет все, что можно, средний снимает обычные и слабые баффы, слабый снимет только слабые соответственно). И вот я задумался над реализацией. Первое, о чем я подумал - иметь массив с равкодами баффов, и знать с какого индекса идут средние и сильные баффы. Но вот на счет самого диспелла... Представялю это как обход циклом этого массива и выполнение UnitRemoveAbility для каждого id. На как-то это тупо. Есть ли у кого идеи на этот счет?

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