Прочел кучу-кучу тем, по поводу отлова этакого урона( ну чет мне не понравились системки) Не суть тяжести(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 минут времени
с браслетами больше возни
13
насколько я помню надо запомнить дмг и хп юнита
Не важно какой реген у юнита?
15
NekoriDes, сомневаюсь, что за 0.0 сек что-то может отрегенить.
28
Tobi123, вроде может
но если у юнита настолько большой реген что за 0 секунд перевешивает урон то в карте чтото не так
30
ОП, спелы все триггерные?

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

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

Кстати, можно по такой же схеме через логические переменные указывать тип урона, например, чистый, физический (почему бы и не давать с абилок физический урон?) или магический, от этого вообще что угодно можно пилить, хоть кучу видов брони, хоть цветовые индикаторы разного типа урона.
Принятый ответ
32
Чистый урон у стандартных спеллов только у клиф атаки разрушителя, остальные разновидности магического урона - даже мины и суицид подрывной бригады снижается браслетами.
15
quq_CCCP, даже клиф не чистый урон. Он физический, но снижается не показателем, а типом брони.
28
Clamp, сделать орбы намного проще чем перевести все спелы на триггеры
30
nvc123, спелы исходно надлежит делать посредством Jass, если хочется чего-нибудь нормального.
28
Clamp, делать все спелы на джассе это фаллометрия
исключение лишь некоторые нестандартные системы спелов
например все спелы снаряды которые могут быть отбиты или весь урон делится на элементы (огонь, вода и т.д.)
30
nvc123, использовать в карте скилы, которым уже 15 лет - нормально, а делать кастомные - ненормально?
Очевидно, что для работы системы описанной хватит и простого вынесения урона в Jass, без полного копирования скила, но что на тему устаревших механик?
28
использовать в карте скилы, которым уже 15 лет - нормально, а делать кастомные - ненормально?
делать только кастомные игнорируя стандарт лишь потому что им уже 15 лет это не нормально
особенно весело такое смотрится когда на джасс пишут скилы являющиеся копиями стандартных
а потом понтуются что у них всё кастомное
естественно если у тебя есть куча нормальных идей для кастомных скилов то никто не запрещает юзать только их
Clamp:
хватит и простого вынесения урона в Jass
в некоторых спелах это будет тот ещё гемор
на основе орбов намного проще/быстрее
21
А этот твой "возврат" должен блокировать входящий урон? И какой урон он должен возвращать? Любой?
7
Clamp:
ОП, спелы все триггерные?

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

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

Кстати, можно по такой же схеме через логические переменные указывать тип урона, например, чистый, физический (почему бы и не давать с абилок физический урон?) или магический, от этого вообще что угодно можно пилить, хоть кучу видов брони, хоть цветовые индикаторы разного типа урона.
Нет, не все абилки тригерные, около 85%. И да вариант юзать болиан не плохая идея
Я так понял болиан тру
Нанесли урон
Болиан фолс? И это в триггере со спеллом
Идея орбов мне тоже не нравится, либо я чего-то не догнал. Но выдавать орб я не могу ибо в карте есть предметы с орбом и другие орб спеллы
quq_CCCP:
Чистый урон у стандартных спеллов только у клиф атаки разрушителя, остальные разновидности магического урона - даже мины и суицид подрывной бригады снижается браслетами.
Ну вот как раз таки я триггерными спеллами бахаю чистым(5-10% скиллов)
GF RaiseD:
А этот твой "возврат" должен блокировать входящий урон? И какой урон он должен возвращать? Любой?
Возвращать физ.дмг(дмг с руки).
21
M1n3rva, как не прискорбно, в твоём случае орб - лучшее из всего возможного. Иного способа проверить что урон именно с руки попросту нет. Любой орб делается триггерно за 10 минут.
32
И кстати да, ненужно бахать чистым уроном когда юзаешь браслеты - юнит получает урон - и урон меньше 0 то таймером в 0.00 сек. делаем задержку, а затем убавляем юниту хп на кол-во отрецательного дмг (отрец урон хилит) но только при условии что у юнита хп меньше макс. удаляем браслеты и наносим столько же ед. маг урона и добавляем браслеты снова, вуля - у нас учитываются все маг резисты и мы отсеяли магический урон.
30
Иного способа проверить что урон именно с руки попросту нет.
Боже, только описал, как это можно проверить, ОП сказал, что да, у него в карте условия соблюдены для подобной проверки, и на тебе - способа нет.

Я так понял болиан тру
Нанесли урон
Болиан фолс? И это в триггере со спеллом
Да. При этом тригер, срабатывающий на получение урона будет видеть значение тру в этом буле.
2 комментария удалено
Чтобы оставить комментарий, пожалуйста, войдите на сайт.