Я хочу сделать героя, у которого будет рандомная атака ( он может вылечить цель или нанести больше урона )
Чтобы герой не наносил урон своей атакой, я лечу цель -1 * Damage и потом наношу рандомный урон, но юнит не лечится и получает рандомный урон и урон самого героя. Что делать?

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

Простой триггер, ты же сам же рандом Damage задаешь, и при этом удивляешься, что дамажит.
Первый момент, обрати на рандом:
Рандом между (-1.50 × DamageFull) and (1.50 × DamageFull)
Рандом гуляет между отриц и пол числом. Тут может попасть и не отриц значения.
Второй момент: Надо понять работает ли отриц значения как хилл, если нет, то надо как-то по-другому. Попробуй разные настройки дамага, типы итд.
ps не могу понять зачем дважды дамажишь, ну ладно.
Я помню, хилл в одной тд карте делали. Там давали пассив абилку (благословление элуны), которая снижает урон в процентах. Ей вот обратные проценты задаешь, и вместо урона, она хилит.
Проще, написать свою систему хила?

26
Тут важнее понять откуда берётся DamageFull
А еще ты обращаешься к переменоой, а значение ей задаёшь сразу после этого, т.е. при каждом новом ударе у тебя идёт "отхил" (через отрицательный урон) от того значения, которое было записано в момент предыдущей атаки...
Не понятно зачем тебе локейшн (точка).
На замахе далеко не уедешь. Надо отлавливать факт получения целью урона от авто-атаки героя, и работать уже с этим значением.
Принятый ответ
6
Хил делается через SetUnitState , а не через UnitDamageTarget
call SetUnitState( u , UNIT_STATE_LIFE, GetUnitState( u, UNIT_STATE_LIFE ) + heal)
26
Хил делается через SetUnitState , а не через UnitDamageTarget
call SetUnitState( u , UNIT_STATE_LIFE, GetUnitState( u, UNIT_STATE_LIFE ) + heal)
Ну ты же видишь что он хочет сделать именно такой хил, который будет так же резиститься бронёй как и урон.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.