Проверка Нанесённого Урона
|
|
FatalBlade | Дата: Пятница, 03 Февраля 2012, 21:44:39 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Как проверить, что нанесённый урон не является уроном нанесённым со спелла, но может являться уроном нанесённым с обычной атаки, если работает Autocast способность, как например Searing Arrows? Короче что бы проверяло что урон не нанесён активным спеллом.
|
|
|
|
Ty3uK | Дата: Пятница, 03 Февраля 2012, 21:50:55 | Сообщение # 2 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Мб отловить каст способности? Не конкретной, а любой. Ну и чекать юнита-цель на соответствие
|
|
|
|
FatalBlade | Дата: Пятница, 03 Февраля 2012, 21:58:32 | Сообщение # 3 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Тут по моему нужно конкретной, а то вдруг Autocast способности он тоже будет воспринимать как урон от способности. Просто проблема в том, что эта муть мне нужна всего лишь для одного класса, и тех спеллов которые мне мешают всего 2. Урон остальных спеллов наноситься дамми. Так вот, эти 2 спелла - стандартные. 1 на основе Ice Bolt, а второй на основе Cluster Rockets. Если урон первого ещё можно как то отловить, то урон второго уже никак. А мне не очень хочется делать "Град Стрел" триггерно
|
|
|
|
Borodach | Дата: Пятница, 03 Февраля 2012, 22:03:32 | Сообщение # 4 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| FatalBlade, 2 легко, он же станит -> оставляет бафф
Karamba
|
|
|
|
FkoFF | Дата: Пятница, 03 Февраля 2012, 22:04:11 | Сообщение # 5 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| баффы выход, да. Бери на основе cold arrows.
|
|
|
|
FatalBlade | Дата: Пятница, 03 Февраля 2012, 22:14:10 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Ок вот допустим юниту нанесён урон. А в триггере который отлавливает урон, я сразу проверяю - нет ли у юнитов баффа... А что вообще идёт раньше, наносится урон, или вешается бафф? И если сначала идёт урон, то может от урона до баффа проходит какая то мелочная доля секунды. Так если я сразу проверяю отловленный урон, может это ещё слишком рано? Может баффы ещё не были повешены?
Сообщение отредактировал FatalBlade - Пятница, 03 Февраля 2012, 22:14:41 |
|
|
|
Ajaccio | Дата: Пятница, 03 Февраля 2012, 22:30:18 | Сообщение # 7 |
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
| Событие "юнит получает урон" запускается уже после навешивания игрой баффов, расчета сопротивлений и учета всех способностей (например неуязвимости к магии). При этом сам урон наносится спустя доли секунды, после срабатывания события.
XOR EAX, EAX MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
|
|
|
|
FatalBlade | Дата: Пятница, 03 Февраля 2012, 22:36:23 | Сообщение # 8 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Quote (Ajaccio) При этом сам урон наносится спустя доли секунды, после срабатывания события. Как это может быть? Может ты имелл ввиду наоборот?
|
|
|
|
Ajaccio | Дата: Пятница, 03 Февраля 2012, 22:42:23 | Сообщение # 9 |
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
| Это специально так сделано. На момент срабатывания события урон еще не нанесен. Поэтому, если дать юниту неуязвимость в это время, то он здоровье не потеряет. Но, если дать, допустим, неуязвимость к магии, то магический урон все равно будет нанесен, так как эффекты от способностей уже рассчитаны.
XOR EAX, EAX MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
|
|
|
|