Добавлен Берги
В общем есть задача:
- Создать способность на основе "жар преисподней (постоянный)"
- Наносить им урон периодически каждые 0.1 сек по Х урона
- Через новые функции отловить именно ЭТОТ тип урона жара преисподней (А вот в этом и загвоздка, нужна помощь)
- Вылечить вражеские единицы на объём нанесённого урона и нанести урона к примеру от 100% силы
Таким образом, мы получим мы получим триггерный огненный плащ, но без всяких периодиков и групп, всё будет настроено в РО
осталось решить пункт 3 в это задаче, как отловить урон именно от жара преисподней?
осталось решить пункт 3 в это задаче, как отловить урон именно от жара преисподней?
(просто интресен этот момент в новом патче, на мемхаке я такое мог, а как тут хз)
сам ещё не пробовал, но если получится обязательно покажу как, вещь наиполейзнейшая (если конечно я всё правильно понял)
Принятый ответ
Вот типы урона "Огня преисподней":
if BlzGetEventAttackType( ) == ConvertAttackType( 0 ) and BlzGetEventDamageType( ) == ConvertDamageType( 8 ) and BlzGetEventWeaponType( ) == ConvertWeaponType( 0 ) then
if BlzGetEventAttackType( ) == ConvertAttackType( 0 ) and BlzGetEventDamageType( ) == ConvertDamageType( 8 ) and BlzGetEventWeaponType( ) == ConvertWeaponType( 0 ) then
Bergi_Bear, ну там же всё интуитивно понятно:
BlzGetEventAttackType( ) - возвращает тип атаки.
BlzSetEventAttackType( ) - меняет тип атаки.
BlzGetEventAttackType( ) - возвращает тип атаки.
BlzSetEventAttackType( ) - меняет тип атаки.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован scopterectus
У обладателя "Жара преисподней" должен быть бафф, иначе он не мог нанести урон. А также сравнить тип урона и тип оружия с баффом "Огня преисподней". Узнать типы урона и оружия можно через новые функции.
Отредактирован scopterectus
if BlzGetEventAttackType( ) == ConvertAttackType( 0 ) and BlzGetEventDamageType( ) == ConvertDamageType( 8 ) and BlzGetEventWeaponType( ) == ConvertWeaponType( 0 ) then
BlzGetEventAttackType( ) - возвращает тип атаки.
BlzSetEventAttackType( ) - меняет тип атаки.
BlzGetEventDamageType( ) == ConvertDamageType( 8 ), где 8 это уникальный тип урона от жара преисподней?
что возвращает ConvertDamageType если ему передать 0?
Отредактирован scopterectus
Отловить, что урон исходит именно от рук пока что нельзя, насколько я знаю. Но его можно наверняка угадать, используя функции, что я выше написал.
EVENT_PLAYER_UNIT_DAMAGED - это новый ивент.
Событие нашёл, оно там рядом, а где менять урон то? в условии? в действии то точно урон уже нанёсся...
ммм?
Отредактирован Феникс
Только SetEventDamage()
Я так свою систему урона и резистов сделал
Отредактирован Берги
BlzSetEventDamage(NewDamage)