Buff actions values are calculated using the following formula:
num = buffAction.baseParam + (total plusTypes buffs values) - (total minusTypes buff values)
if buffAction.limit in (normal, lower):
if num < 0:
num = 0
num = num - buffAction.baseValue;
if buffAction.limit in (normal, upper):
if maxRate < num:
num = maxRate
return num
baseParam
baseValue
limit
maxRate
is a property of the buff item. This value can be found in the DB or API. If there are multiple buffs, the last maxRate
is used. Different buffs of the same buff action usually have the same maxRate
value.cardMod
with 10 level 10 Merlin's Hero Creation applied and no buster damage down:cardMod
-> buff action commandAtk
-> plusTypes
buff type upCommandall
baseParam
: 1000baseValue
: 0limit
: normalmaxRate
: 5000num
= 1000 + 500 * 10 = 6000 (baseParam
= 1000 and there are 10 Hero Creation, each has Value
of 500)limit
is normal but num
> 0 so lower bound is not appliednum
= num
- baseValue
= 6000 - 0 = 6000limit
is normal and num
> maxRate
so upper bound is applied -> num
= 5000cardMod
value is 5000 or 500%.