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

Принятый ответ

Можно сделать так: каждый баф, в зависимости от него "качества", определяем заглавной буквой L (слабый), M (средний), H (сильный).
Потом в триггере проверяем разницу с слабым бафом и передём абсолютное значение.
В итоге, если полученное т.о. значение >= 0 and < 16777216 - это слабый баф; если значение >= 16777216 and < 67108864 - это средний баф
ну и т.д.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

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