Как отследить способность, которой была вызвана иллюзия?
Каким образом можно отследить способность, которой была вызвана иллюзия или каким образом получить ссылку на вызванную боевую единицу в событии "Приводит способность в действие" (или подобном ему)? В таких событиях недоступна переменная "Summoned unit", а в событии "Вызывает боевую единицу" недоступна проверка на "Ability being cast".

Лучший ответ:
Значит, только обходными путями.
Я всегда детектил вход юнита на карту,
проверяя на то что этот юнит является иллюзией,
как написано было выше.
При этом чтобы отлавливать иллюзий от определённых скиллов, а не всех подряд - можно проверять их на текущий бафф (все иллюзии имеют бафф призыва, у каждого такого скилла его можно поставить свой). Эта фишка помогла мне сделать аналог героя из DotA - Phantom Lancer (старый), пассивная способность создавала при атаке свои копии, которая работала изначально только при атаках самого героя, а ульт добавлял по-уровням возможность создавать копии этими же копиями (только копиям от пассивки), потом копиям от всех его способностей (копьё и инвиз), и в конце - вообще от любых его копий (манта, ульт морфа, 1-е скиллы ШД и террора).



Просмотров: 106

» Лучшие комментарии


Clamp #1 - 2 недели назад 3
Используй сочетание юнит применяет способность, юнит входит в область [вся карта] и IsUnitIllusion.
nvc123 #2 - 2 недели назад (отредактировано ) 3
попробуй при "Приводит способность в действие" проверять что за способность и если создание иллюзии то заноси способность в очередь
а после при "Вызывает боевую единицу" извлекай способность из очереди
при условии что все способности имеют одинаковую задержку перед появлением иллюзии то эта извлечённая способность и будет способностью которая создала иллюзию
OVOgenez #3 - 2 недели назад 0
А разве не проще просто событием сделать "Вызывает боевую единицу" а в условии поверить тип призванного. Если конечно у тебя нет разных способностей призывающих один и тот же тип юнита.
nup4ik #4 - 2 недели назад 0
OVOgenez, иллюзии могут создаваться разными способностями.
OVOgenez #5 - 2 недели назад 1
nup4ik, Если скил набрасывает на кастера баф сразу же, можно в условии тогда отследить, есть ли у того кто вызвал юнита этот баф
nup4ik: вот только я не пробовал давать способности иллюзия баф, так что не знаю, но мб сработает
Можно еще оч простой вариант, но там нужно целое число юнита
1 триггер
С - Юнит использует способность
У - Способность=твоя способность
Д - Записать в целое число кастера 1
2 триггер
С - Юнит призывает юнита
У - В условии можно проверить тип вызванного=иллюзия
Д - Если целое число призывающего равно 1, то:
Установить целое значение призывающего на 0
Делать нужные действия с призванным
nup4ik #6 - 2 недели назад 0
Понятно, спасибо. Значит, только обходными путями.
Extremator #7 - 2 недели назад (отредактировано ) 3

Значит, только обходными путями.
Я всегда детектил вход юнита на карту,
проверяя на то что этот юнит является иллюзией,
как написано было выше.
При этом чтобы отлавливать иллюзий от определённых скиллов, а не всех подряд - можно проверять их на текущий бафф (все иллюзии имеют бафф призыва, у каждого такого скилла его можно поставить свой). Эта фишка помогла мне сделать аналог героя из DotA - Phantom Lancer (старый), пассивная способность создавала при атаке свои копии, которая работала изначально только при атаках самого героя, а ульт добавлял по-уровням возможность создавать копии этими же копиями (только копиям от пассивки), потом копиям от всех его способностей (копьё и инвиз), и в конце - вообще от любых его копий (манта, ульт морфа, 1-е скиллы ШД и террора).
nup4ik #8 - 2 недели назад 0
Extremator, этот вариант мне нравится намного больше. Спасибо.