Решил сделать эффект бессмертия с помощью EventDamage.
Сделал так:
  • Зарегистрировал событие нужного Юнита получает урон.
  • UnitDamageTarget(u,u,-dmg,true,true,ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL,null)
Все работает, но иногда урон "чувствуется", а если будет нанесен сверх урон, то бессмертный юнит и вовсе погибнет.
В кратце, как реализовать refraction (первая способность) у Ланаи из доты?

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

Спасибо всем ребята! Лучший вопрос не буду выбирай, потому что бы все лучшие! Люблю вас зайки!
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Этот комментарий удален
0
22
8 лет назад
0
Borodach:
1)Делай через SetWidgetLife(юнит, здоровье )
2)Нужно добавлять способность повышающую максимальное здоровье и таймером через 0.00 сек удалять (ну или 0.01 если не будет успевать добавлять здоровье).
Пробовал использовать способность которая увеличивает максимальное здоровье. Что то не пошло. Можно чуток поподробнее?
0
7
8 лет назад
0
есть готовая система(vjass) блокирования урона. Можно посмотреть, как сделано там.
0
28
8 лет назад
0
Bornikkeny, нанесение урона происходит не сразу поэтому нужно юзать таймер на 0 секунд
выглядит както так
юнит получил урон
запомнили урон/дали способность/сделали неуязвимым
запустили таймер на 0 секунд (не вейт а именно таймер)
восстановили хп/забрали способность/сделали уязвимым
если нужно полностью блокировать урон то лично я советую юзать неуязвимость
а вообще подобных систем целая куча на этом сайте (я когда только зарегался и пытался разобраться в том как это работает нашёл кучу подобных систем)
и ещё больше на хайве
0
26
8 лет назад
Отредактирован Extremator
0
в неуязвимости есть непредвиденный "баг"
например лайф_дрэйн прервётся
а юниты которые пытались атаковать цель - потеряют приказ (на него)
лучше юзать повышение хп
вариант стабильный, у меня юнит с 5/5 хп принимал 10000 урона (сила тьмы, перезарядка атаки 0.05), и не умирал
старая пассивка воида, без бага на привышение хп работает по сути так же (если шанс выпадает)
Загруженные файлы
0
20
8 лет назад
0
лучше юзать повышение хп
вариант стабильный, у меня юнит с 5/5 хп принимал 10000 урона (сила тьмы, перезарядка атаки 0.05), и не умирал
Разве при повышении хп юнит не сохраняет текущий его процент? В плане 60% хп с максимумом 100 = 60 хп. Добавив 10к хп будет 6060хп, не?
0
26
8 лет назад
0
Diaboliko:
Разве при повышении хп юнит не сохраняет текущий его процент? В плане 60% хп с максимумом 100 = 60 хп. Добавив 10к хп будет 6060хп, не?
Будет, для этого и надо его переписывать.
0
29
8 лет назад
Отредактирован Волчачка
0
Можно сделать с нужных атак обнуление урона в константах где сопротивление брони от урона; И что самое интересное урон не пройдёт, но будет единица урона. Однако можно орудовать одной лог. глоб переменной) Оставляем лишь 1 чистый урон, который даёт юнитам леща по полной. Правда там мороки много, придётся для каждой брони делать своё сопротивление к урону, а так же без формул не обойтись. Одной особой переменной или ещё чем-то будешь с помощью условия просто сводить наносимый урон к 0.
Правда это геморрой.
Это как раз подходит под то, что ты сказал.
0
22
8 лет назад
0
Спасибо всем ребята! Лучший вопрос не буду выбирай, потому что бы все лучшие! Люблю вас зайки!
Принятый ответ
0
13
8 лет назад
0
Лучший все же выбери, чтобы закрыть топик. незачем грузить этим других, когда можешь сделать сам.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.