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 (X) or Tumblr! |
Module:GhbRotation
From Fire Emblem Wiki, your source on Fire Emblem information. By fans, for fans.
For use on Grand Hero Battle and possibly other locations later on. This module can be used to output Grand Hero Battle data, including the first rerun date, the next rerun date, total number of reruns, and the current active Grand Hero Battle.
The only function, main
, takes three parameters, each of them corresponding to a year, a month number, and a day of a month, where the full date represents the first rerun date of a Grand Hero Battle.
{{#invoke:GhbRotation|main|2018|02|10}}
This outputs:
In rotation since February 10, 2018
Rerun in rotation 325 times to date
Next rerun: May 4, 2024
local p = {}
function p.main(frame)
args = frame.args
date_begin = os.time({year=args[1], month=args[2], day=args[3], hour=7})
next_rerun_days_away = 7 - math.floor(os.difftime( os.time(), date_begin ) / (24*60*60)) % 7
-- Subtracting seven hours to calibrate daily reset time (07:00 UTC)
next_rerun = os.date("%B %e, %Y", math.max(os.time()-7*60*60+(24*60*60*next_rerun_days_away), date_begin))
rotation_since = os.date("%B %e, %Y", date_begin)
-- Using ceiling function to account currently running GHB
total_reruns = math.max(0, math.ceil(os.difftime( os.time(), date_begin ) / (24*60*60)/7))
if ( next_rerun_days_away == 7 and os.time() >= date_begin ) then
is_active = "<b>Currently available</b><br/>"
else
is_active = ""
end
return string.format("In rotation since %s<br/>Rerun in rotation %s times to date<br/>%sNext rerun: %s",
rotation_since, total_reruns, is_active, next_rerun)
end
return p