Собственно хочу сделать чтобы за каждые 20/15/10% от максимального здоровья потерянные героем применялся в области где стоит герой исцеляющий газ. Как отловить отсутствующий порог, так чтобы не срабатывало по 100500 раз.

nazarpunk, как это математически оформить?
maxhp = 1000;
curhp = 900;

hpstep = maxhp * .05; // 50
lefthp = maxhp - curhp; // 100

index = floor(lefthp / hpstep); // 100 / 50 = 2;
index = 2 означает, что не хватает два раза по 5% хп. При каждом изменении хп сверяеш прошлый index с текущим, если отличаются, то тригеришь что нужно.
`
ОЖИДАНИЕ РЕКЛАМЫ...
30
Храни переменную, которая будет означать количество отсутствующих 5% здоровья и отслеживай её изменения.
30
Только вот проблема, как отлавливать абуз механики, когда здоровье колеблется в районе 80%.
35
nazarpunk, как это математически оформить?
30
nazarpunk, как это математически оформить?
maxhp = 1000;
curhp = 900;

hpstep = maxhp * .05; // 50
lefthp = maxhp - curhp; // 100

index = floor(lefthp / hpstep); // 100 / 50 = 2;
index = 2 означает, что не хватает два раза по 5% хп. При каждом изменении хп сверяеш прошлый index с текущим, если отличаются, то тригеришь что нужно.
Принятый ответ
35
floor - а это что?
26
Я такое делал через постоянную проверку уровня ХП, и если оно становилось ниже чем было в предыдущий раз - записываю эту разницу в переменную, ( set X = ( сколько было - сколько сейчас ) ). Если X > 0, тогда добавляем это значение к тому что уже хранится от предыдущих проверок ( set HP = HP + X ).
И после этого нужно проверить что набранное значение HP больше чем некоторая доля здоровья (т.е. число помноженное на максимальное ХП юнита). Если больше - то обнуляешь HP (либо уменьшаешь на эначение этой доли) и воздаёшь нужный эффект от срабатывания абилки.
30
floor - а это что?
Окруление вниз.

Extremator, при многократном нанесении маленького урона может работать не очень.
26
nazarpunk:
при многократном нанесении маленького урона может работать не очень.
Это решается прицепкой ивента получения урона
30
Extremator, накапливать полученный урон в переменной тоже вариант. Можно даже через аттач прогрессбар прихерачить к юниту.
26
О том и речь. Просто потеря ХП это не всегда получение урона.
35
На 100% здоровья нереально просто хилит.
30
На 100% здоровья нереально просто хилит.
Кто кого хилит?
35
nazarpunk, а нет. Я перепутал частное с делимым XD

Всё. Спасибо nazarpunk, всё работает)
Чтобы оставить комментарий, пожалуйста, войдите на сайт.