Site News

# Module:Heroes BoonBane

For use on the stat templates of Fire Emblem Heroes playable characters.

## level1

Outputs a hero's level 1 stats, adjusted for boon and bane.

`{{#invoke:Heroes BoonBane|level1|<base stat>}}`

Enter the hero's base stat in the first parameter.

Example: Tana's base Speed at 5★ is 10, so the entry is as follows:

`{{#invoke:Heroes BoonBane|level1|10}}`

This outputs: 9/10/11

## level40

Outputs a hero's level 40 stats, adjusted for boon and bane.

`{{#invoke:Heroes BoonBane|level40|<base stat>|<growth points>|<rarity>}}`

Enter the hero's base stat in the first parameter. Enter their growth points in the second, and their rarity (as a number) in the third.

Example: Leon: True of Heart's base defense at 5★ is 8 and he has a 50% growth rate in defense, so the entry is as follows:

`{{#invoke:Heroes BoonBane|level40|8|50|5}}`

This outputs: 26/30/33

```local p = {}

--[[
Level 1 stats. Input the neutral stat, and output the neutral, boon,
and bane (which are literally just the neutral stat +1 or -1).
]]

function p.level1(frame)
boon = frame.args[1] + 1
bane = frame.args[1] - 1
return string.format("%s/%s/%s", bane, frame.args[1], boon)
end

--[[
Level 40 stats. Input as follows:
{{#invoke:Heroes BoonBane|level40|base|gp|star}}
base = Base stat
gp = Growth points in this stat
star = rarity

Growth value details from:
https://feheroes.gamepedia.com/index.php?title=Stat_growth&oldid=162275
]]

function p.level40(frame)

-- For a bane, the base gets lowered by 1 and the growth rate by 5%
final_bane = calc40(frame.args[1] - 1, tonumber(frame.args[2] - 5), frame.args[3])

final_neutral = calc40(frame.args[1], frame.args[2], frame.args[3])

-- For a boon, the base gets raised by 1 and the growth rate by 5%
final_boon = calc40(frame.args[1] + 1, tonumber(frame.args[2] + 5), frame.args[3])

return string.format("%s/%s/%s", final_bane, final_neutral, final_boon)
end

function calc40(base, growth, rarity)
return base + math.floor(.39 * math.floor(growth * (.79 + .07 * rarity)))
end

return p
```