Всем привет. Дайте совет. Карта в жанре rpg. Юниты могут наносить урон огнем. У всех юнитов также есть базовая хар-ка "защита от огня", которая может равняться нулю. У героя есть способность "снижение урона на огнем на n%". Что должно учитываться раньше: базовая защита от огня или способность героя? Результат, сами понимаете, может быть разный. Не могу никак решить, какой алгоритм логичней...Заранее спасибо.

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

Да как хочешь, главное, чтобы тебе и игрокам удобно было. Можно все коэфициенты складывать (то есть броня снижает на 40%, от огня защита 10%, итого урон от огня снижается на 50%), а можно перемножением (в этом случае будет снижение будет 46%).
Результат, сами понимаете, может быть разный.
От перестановки множителей произведение не меняется. Ведь это будет так.
damage * (1 - common armor %) * (1 - fire armor %)
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
26
5 лет назад
0
Привык складывать обе защиты вместе, а не по отдельности считать.
0
16
5 лет назад
0
Я за то, чтобы сначала урон проходил сквозь стандартную защиту и как бы наносился герою, а затем герой своей пассивкой снижал бы наносимый ему урон. Так звучит логично. Т.е. двойное перемножение на коэффициент.
4
24
5 лет назад
4
Если обе защиты снижают урон в процентах и не имеют ограничений по объему поглощенного урона, то результат всегда будет одинаковый, независимо от порядка срабатывания. В таком случае логичнее всего менять базовую характеристику при получении такой способности.
4
28
5 лет назад
4
Да как хочешь, главное, чтобы тебе и игрокам удобно было. Можно все коэфициенты складывать (то есть броня снижает на 40%, от огня защита 10%, итого урон от огня снижается на 50%), а можно перемножением (в этом случае будет снижение будет 46%).
Результат, сами понимаете, может быть разный.
От перестановки множителей произведение не меняется. Ведь это будет так.
damage * (1 - common armor %) * (1 - fire armor %)
Принятый ответ
0
5
5 лет назад
0
PT153, prog, У меня защита от огня не через проценты работала...Прочитал ваши сообщения и подумал, а зачем я мудрил. Можно все через проценты делать и тогда разницы не будет. Спасибо за ответы.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.