Хочу создать совместимость триггерных баффных/дебаффных способностей со стандартным Рассеиванием и Похищением заклинания (второе не обязательно).
Но, хочу все оптимизировать и найти наилучший путь.
Вот мое видение как это реализовать:
Создаём логическую переменную массив. Например buff.
Когда накладываем бафф на юнита также присваиваем переменной buff, которая относится к нашему юниту через UserData, значение true.
Затем в цикле проверяем наложен ли бафф на юнитов и значение его buff, если и то и то нет, то ничего не делаем. Если баффа нет, а buff == true, то убираем то, что давал бафф. И наоборот, если бафф есть, а buff = false, то даём то, что давал бафф.
Вопрос в том, не проблематично ли будет проверять постоянно юнитов в цикле? Скажем, примерно, 10 раз в сек.
Также реквестирую способы получше

KaneThaumaturge:
8gabriel8, да, но рассеивание бывает разное, там вроде и цепной диспелл есть и аое. А с кастом похищение магии вообще ужс будет.
С: Юнит Приводит способность в действие
У: Множественное ИЛИ (Ability being cast) равно одиночный диспел/цепной диспел/диспел в радиусе
Д: Проверить наличие баффа и при отсутствии снять способности, которые даются с баффом.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
26
Запускать проверку баффов после срабатывания Рассеивания.
28
Если есть N баффов и K юнитов, то нужен массив размер N * K, или K массивов размером N.

Можно и по-другому сделать: хранить у каждого юнита список баффов, при касте рассеивания на него, очищать список. Но этот способ не подойдёт для стандартных АоЕ диспеллов.

Вопрос в том, не проблематично ли будет проверять постоянно юнитов в цикле? Скажем, примерно, 10 раз в сек.
Нет, с чего бы. Если речь идёт про всех юнитов, то лучше группой брать всех юнитов, но в саму группу их не добавлять и все действия делать в фильтре.
20
PT153, сейчас сделаю и скажу результаты, также скину код.
8gabriel8, да, но рассеивание бывает разное, там вроде и цепной диспелл есть и аое. А с кастом похищение магии вообще ужс будет.
28
сейчас сделаю и скажу результаты, также скину код.
Не-не-не, я сейчас занят, просто зашёл проветриться, в пятницу буду свободен только.
20
Да я и не хотел тебя мучать) Залью, как правильный ответ.
26
KaneThaumaturge:
8gabriel8, да, но рассеивание бывает разное, там вроде и цепной диспелл есть и аое. А с кастом похищение магии вообще ужс будет.
С: Юнит Приводит способность в действие
У: Множественное ИЛИ (Ability being cast) равно одиночный диспел/цепной диспел/диспел в радиусе
Д: Проверить наличие баффа и при отсутствии снять способности, которые даются с баффом.
Принятый ответ
20
8gabriel8, мне придется снять способности со всех юнитов, на которых нет баффа, а это довольно громоздко. Также я добавляю хп через функцию, а не способность.
Я уже сделал, как описал выше, все работает отлично. Всем спасибо.
Промазал ответом, но ничего страшного
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.