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

Принятый ответ

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

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

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

Кстати, можно по такой же схеме через логические переменные указывать тип урона, например, чистый, физический (почему бы и не давать с абилок физический урон?) или магический, от этого вообще что угодно можно пилить, хоть кучу видов брони, хоть цветовые индикаторы разного типа урона.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
28
8 лет назад
0
дмг определяется до того как отнимаются хп
насколько я помню надо запомнить дмг и хп юнита
дать браслеты
запустить таймер на 0 секунд
в таймере сверить хп юнита с предыдущим значением
если оно не уменьшилось значит урон магический
но лучше всего юзать орбы
2
15
8 лет назад
2
Физ дамаг отлавливается орбом. А все орбы из оригинала можно легко сделать триггерно.
0
7
8 лет назад
0
Т.е. мне нужно выдать орб всем юнитам?( выдавать орб юниту который атакует на n сек) и при получении дмг таргетом, убирать орб у атакующего юнита? ибо мне нужен эффект от шипов только еще и для ранджи
Tobi123:
Физ дамаг отлавливается орбом. А все орбы из оригинала можно легко сделать триггерно.
По подробней с триггерными орбами, я такого нигде не видел
0
15
8 лет назад
0
M1n3rva, ну смотря какие орбы тебе нужно заменить триггерными.
0
28
8 лет назад
0
M1n3rva, тот же отлов урона
прописываем в бд абилки/предметы которые должны давать якобы орб эффект(на самом деле это пустышки так как орб уже есть)
и при наличие якобы орба у юнита нанёсшего урон делать необходимые действия
например вампиризм
при получении урона проверяем есть ли у источника урона маска вампиризма
если есть то увеличиваем текущий уровень хп источника урона на процент от полученного урона
сама маска вампиризма не содержит никаких орбов т.к. у юнита уже есть атака ядом
так же насколько я помню атака ядом стакается с некоторыми орбами так что их заменять не придётся
таким способом можно сделать любой орб как оригинальные так и свои (например стрелы лишающие противника возможности атаковать/применять заклинания)
0
7
8 лет назад
0
Опять же, мне попросту нужен return damage при этом идёт на простой абилке панцырь с шипами, вариант выдавать орб юниту, который атакует не к чему хорошему не приведёт, ибо у атакующего может быть другой орб
Мне больше нравится мой/твой первый вариант~nvc123:
дмг определяется до того как отнимаются хп
насколько я помню надо запомнить дмг и хп юнита
дать браслеты
запустить таймер на 0 секунд
в таймере сверить хп юнита с предыдущим значением
если оно не уменьшилось значит урон магический
но лучше всего юзать орбы
Если создавать БД, то проще создать БД на все скиллы с чистым дмг, чем мудохаться с орбами
0
28
8 лет назад
0
M1n3rva, написать орбы 5 минут времени
с браслетами больше возни
0
13
8 лет назад
0
насколько я помню надо запомнить дмг и хп юнита
Не важно какой реген у юнита?
0
15
8 лет назад
0
NekoriDes, сомневаюсь, что за 0.0 сек что-то может отрегенить.
0
28
8 лет назад
0
Tobi123, вроде может
но если у юнита настолько большой реген что за 0 секунд перевешивает урон то в карте чтото не так
7
30
8 лет назад
Отредактирован Clamp
7
ОП, спелы все триггерные?

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

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

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

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

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

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

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