Site News |
---|
Warning: This wiki contains spoilers. Read at your own risk! Social media: If you would like, please join our Discord server, and/or follow us on Twitter or Tumblr! Engage info: As the game has only recently released, we lack much key information. Please help add any info that you can. |
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