Прочел кучу-кучу тем, по поводу отлова этакого урона( ну чет мне не понравились системки) Не суть тяжести(c/v jass). Я попросту не придумал, как все-таки реализовать на их основе спелл. Самый обычный спелл возврата урона ( и милии и РЕНДЖ юнитам.
Я понимаю всю суть, что нужно отловить только физ урон.
Мб кто-то реализовывал такое
P.S. Орбы не катят
P.P.S Я так понимаю ивент Юнит получил дмг срабатывает раньше, чем дмг нанесен по факту. Т.Е. Есть Вариант Давать герою 101% резиста к магии(браслетами). Чекать сколько дмг нанеслось, если дмг<0 то это маг спелл и мы просто приказом бабахаем чистым(конечно же учесть всякие астралы, худы и т.п и т.д.) . Если дмг>0 то это физ урон и его вернуть, но тут у меня в голове возникла проблема, а чистый дмг от спеллов, его резист не режет( че делать?
Наболело уже.

ОП, спелы все триггерные?

Если да, то заводишь глобальную переменную bool IsSpell = false, перед нанесением урона в коде даёшь ей true, после - обратно false. В триггере, который срабатывает на получение урона, первым действием ставишь локалку булёвую, которая ==IsSpell. Вуаля, ты отслеживаешь весь урон с абилок, а что не урон с абилок, то есть урон с руки.

Сам так всегда делал, никогда не понимал пляски с бубнами и прочими орбами. Оно, конечно, проще идеологически, но по факту намного геморройнее: добавлять орб, проверять орб, удалять орб, подменять реальный орб триггерно...

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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
дмг определяется до того как отнимаются хп
насколько я помню надо запомнить дмг и хп юнита
дать браслеты
запустить таймер на 0 секунд
в таймере сверить хп юнита с предыдущим значением
если оно не уменьшилось значит урон магический
но лучше всего юзать орбы
15
Физ дамаг отлавливается орбом. А все орбы из оригинала можно легко сделать триггерно.
7
Т.е. мне нужно выдать орб всем юнитам?( выдавать орб юниту который атакует на n сек) и при получении дмг таргетом, убирать орб у атакующего юнита? ибо мне нужен эффект от шипов только еще и для ранджи
Tobi123:
Физ дамаг отлавливается орбом. А все орбы из оригинала можно легко сделать триггерно.
По подробней с триггерными орбами, я такого нигде не видел
15
M1n3rva, ну смотря какие орбы тебе нужно заменить триггерными.
28
M1n3rva, тот же отлов урона
прописываем в бд абилки/предметы которые должны давать якобы орб эффект(на самом деле это пустышки так как орб уже есть)
и при наличие якобы орба у юнита нанёсшего урон делать необходимые действия
например вампиризм
при получении урона проверяем есть ли у источника урона маска вампиризма
если есть то увеличиваем текущий уровень хп источника урона на процент от полученного урона
сама маска вампиризма не содержит никаких орбов т.к. у юнита уже есть атака ядом
так же насколько я помню атака ядом стакается с некоторыми орбами так что их заменять не придётся
таким способом можно сделать любой орб как оригинальные так и свои (например стрелы лишающие противника возможности атаковать/применять заклинания)
7
Опять же, мне попросту нужен return damage при этом идёт на простой абилке панцырь с шипами, вариант выдавать орб юниту, который атакует не к чему хорошему не приведёт, ибо у атакующего может быть другой орб
Мне больше нравится мой/твой первый вариант~nvc123:
дмг определяется до того как отнимаются хп
насколько я помню надо запомнить дмг и хп юнита
дать браслеты
запустить таймер на 0 секунд
в таймере сверить хп юнита с предыдущим значением
если оно не уменьшилось значит урон магический
но лучше всего юзать орбы
Если создавать БД, то проще создать БД на все скиллы с чистым дмг, чем мудохаться с орбами
28
M1n3rva, написать орбы 5 минут времени
с браслетами больше возни
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.