Такой вопрос, как через триггеры, желательно на джасс, сделать коррекцию урона. Допустим юнит наносит 100 урона, но у того, кого он атакует, есть способность, которая блокирует 31,5 процентов урона. Как я понимаю, нужно отследить входящий урон, потом посчитать урон, который юниит должен получить, а остальное востановить или есть возможность проверять, ещё до получения урона юнитом? Как это сделать? Прошу ещё раз, желательно на ДЖАСС!

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

можешь посмотреть как тут перехватывается урон. хоть я и не рекомендую делать через выдачу неуязвимости, лучше повышать как нибудь максимальное хп если урон выше чем текущее возможное восполнение хп, а затем вернуть обратно как было и провести нужные манипуляции
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
26
5 лет назад
Отредактирован Hate
0
8gabriel8:
желательно на ДЖАСС!
GUI конвертировал в текст, вот тебе и jass)

Классический способ:
  • при срабатывании события на получения урона, запоминать количество хп юнита и восполнять жизнь до 100%;
  • через 0.00 секунд запоминать разницу между максимальным и текущим здоровьем, устанавливать хп в запомненное значение минус разница.
макс хп юнита 100, получает урон в 200
0
28
5 лет назад
Отредактирован PT153
0
Классический способ:
В чём проблема через 0 секунд просто восполнить здоровье в размере полученного урона, если юнит всё ещё жив?
0
26
5 лет назад
0
PT153:
Классический способ:
В чём проблема через 0 секунд просто восполнить здоровье в размере полученного урона, если юнит всё ещё жив?
Hate:
макс хп юнита 100, получает урон в 200
вы оба не учитываете это
0
28
5 лет назад
Отредактирован PT153
0
вы оба не учитываете это
А, ты про ситуацию, когда полный урон убивает, а сниженный нет? Да, не подумал.
0
17
5 лет назад
0
Просто напиши систему триггерного нанесения урона и будет тебе счастье
0
26
5 лет назад
0
Hate:
макс хп юнита 100, получает урон в 200
И что тут учитывать? Юнита убьёт просто.
4
26
5 лет назад
4
8gabriel8:
Hate:
макс хп юнита 100, получает урон в 200
И что тут учитывать? Юнита убьёт просто.
а вдруг сниженный урон будет таким, что он не должен был бы убить? что ты соберешься отхиливать, труп?
0
26
5 лет назад
0
Как это вообще касается предложенного варианта?
  • при срабатывании события на получения урона, запоминать количество хп юнита и восполнять жизнь до 100%;
  • через 0.00 секунд запоминать разницу между максимальным и текущим здоровьем, устанавливать хп в запомненное значение минус разница.
Нет отхила после получения урона, есть установка здоровья на имевшееся хп минус реальное повреждение.
0
28
5 лет назад
Отредактирован PT153
0
8gabriel8, у юнита максхп есть 100, урон 200. Наш бафф снижает урон на 90% (то есть юнит получит 20 урона). В твоём случае юниту поставиться 100 хп (максимум), 200 урона его убивает, что неверно.
0
29
5 лет назад
0
А чем вам BlzSetEventDamage() не угодила? Прекрасно работает.
0
28
5 лет назад
Отредактирован PT153
0
NazarPunk, тут речь про 1.26, если не заметил.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.