Fire Emblem Heroes Wiki:To-do list

From Fire Emblem Heroes Wiki
Jump to: navigation, search
Wip Laslow.png

Welcome to the wiki's to-do list. Here you can find all the tasks wiki editors plan to do. Feel free to add your own tasks to the list or complete a task. Once you complete a task, remove it from the list.

You may also hold informal discussions about tasks here if you want, remember to leave a signature with ~~~~ if you do so. Example:

==Current list==
*Do this
::Can this really be done? I tried it and I couldn't figure out anything. Username (talk) 12:12, 12 December 2012 (UTC)
::This is because the other tasks need to be done first, since this task relies on the other templates made by the other tasks. ~~~~
*Do another thing

Speed, convenience, and ease of use are prioritized for the to-do list. You do not have to worry about presentability when adding a task, especially due to the transient nature of the to-do list.

Tasks that might be impossible or no longer possible go on /Impossible tasks.

Current list[edit source]

Please make sure all tasks placed here are removable, that is, they are one-time only (or a limited amount). Recurring tasks can go in the Recurring maintenance tasks section.

Do not add tasks that solely require sysop rights, contact an administrator for that. Note that tasks that do not only consist of parts that require sysop rights can be added, such as adding/fixing things related to code. For example, anyone can create template and design its cargo system, sysop rights are only needed at the final step of creating the table.

Uncategorized[edit source]

Place tasks here if you're not sure what category they go in or don't want to bother categorizing it.

  • Find a way to transcribe the notification delivered via the Belgian noticeboard of the news of the game's impending discontinuation in Belgium.
I'm not really sure if it's okay to create a page for it, but you can see it right here: User:RainThunder0/Important notice (Belgium). -RainThunder0 (talk) 07:24, 23 May 2019 (UTC)
  • Optimize the module until it takes Lua well below 7 seconds to execute the code on that page;
  • Replace the simulations with purely theoretical values;
  • Remove the simulations altogether;
  • Remove all simulations except the most recent one (after the module is fixed for 4★ focuses, see above);
  • Move the simulations to subpages (this doesn't solve the issue if the simulations alone still take more than 7 seconds to run);
  • Rewrite the simulator as a widget.
That page currently has all simulations removed. This has to be decided ASAP since other pages will soon contain 4 summoning events as well (the Weekly Revivals and the Year 1 Special Heroes). --HertzDevil (talk) 14:49, 5 April 2020 (UTC)
I have tried to optimize it as much as I can with my amateur programmer skills, but it doesn't appear to be possible to get any more performance out of it (but I could be wrong), so that solution is out. Replacing the simulations with purely theoretical values sounds like the best option, but I do not know how to calculate the rates. So besides these, the best option is probably to rewrite it as a widget and have the clients handle running the simulation. For now, simulations have been temporarily disabled. Endilyn (talk) 23:00, 8 April 2020 (UTC)

Missing information[edit source]

Missing properties about the game data.

You don't need the rewarded unit from a Three Heroes quest to finish the other quests, though. There is no need to maintain the quest order on a table that lists all reward sources; besides, these quests won't be able to maintain the sort order anyway if any unit is already previously handed out. We could do that when we have the quest tables ready and display separate tables for each kind of reward source.
If we carefully lay out the data definitions, then _ID may be used as a tie-breaker, since it maintains the relative order between #cargo_store invocations. Template:Heroic Grails Hero List does this, but this is not as easy if the definitions are not all from the same page. --HertzDevil (talk) 10:07, 27 September 2019 (UTC)
  • Document Aether Raids changes in 3.6.0 - 3.9.0 (defense rewards, double cost)
  • Find out and document how bane neutralization from the first merge affects levels 1-39 and document in Stat growth
    • It seems stats with a flaw are then consider as normal. When the flaw stat is greater or equal to the neutral stat, it still gain +1, and follow the flaw line of stat until the normal line of stat become greater or equal. Some example: a Florina 4★, level 25 with a flaw on Res (20 Res) have after the merge 26 Res. A Seliph 4★ level 21 with flaw on Res (10 Res) have 11 Res after the merge. Then it gains +1 on level 23, 25 and 28, where the normal Res is greater than the flaw. The next stat increased is at level 29.
      • Dragonflower seems to follow a similar rule. As an example, an Edelgard with flaw on Atk which receive two dragonflowers have +1 on HP and Def. After the merge, the Def still have the bonus with dragonflower. Pival13 (talk) 19:32, 12 October 2019 (UTC)
    • Fix a bug on Stats calculator where Flaw stats increase by 3 or 4 on Lv 1 after the first merge, rather than by 1.
  • Reupload:
  • Aether Resort
    • document R&R Affinity costs of Structure slots #19-24
    • recover the dates that new Hero slots, Structure slots, and Amenities were added
  • The version 2.10.0 update on added Abyssal modes to the GHB Rotation 1 maps, but since these maps change each day, not every map's new Abyssal mode was actually playable on the day of the update. Therefore, we need to calculate the earliest date after the update that each map was available to play. Then, change the phrase "(Abyssal difficulty was added on 2018-10-09T03:00:00Z)" on each map's article to reflect that calculated start date.
  • Dining Hall research to be done:
    • What happens when a dish fails?
    • Do secret ingredients have any effect on star rating? For example, do they allow dishes to reach 5★ that cannot otherwise reach that rating? Does using a secret ingredient make it impossible to have a star rating below 2★, or even 3★?
    • What is the difference in effect between Choice Meat vs regular Meat, and Choice Eggs vs regular Eggs? Do they only take effect when used as secret ingredients, or do they also affect the dish when used as normal ingredients? Do they have any effect on star rating?
    • If a dish is made Home-Style, does that affect star rating?
    • If a 2-ingredient dish is made as a result of an invalid 3-ingredient dish, does that affect star rating? Does this also apply to 2-ingredient dishes made from invalid 4-ingredient dishes, and 3-ingredient dishes made from invalid 4-ingredient dishes?

Wiki maintenance[edit source]

Reorganization of wiki texts and resources.

  • Update Project:Beginner's guide with information on versions 4.0.0—4.8.0.
  • update old availability dates (for quests, maps, etc) with links to the corresponding notifications, if applicable.
All summoning focus, Tempest Trials, Forging Bonds, GHB, BHB, Rival Domains, Relay Defense, Blessed Gardens and Tactics Drills until the 14 February 2019 are updated, except Tibarn's Agility and RD 16 as I can't find the notification. Pival13 (talk) 09:27, 15 February 2019 (UTC)
  • Add mandatory and unique to descriptions for all WikiName fields.
  • Replace dates with UTC datetimes whenever possible, to avoid confusion.
    • Some places, such as Squad Assault and Use Heroic Grails availability, require datetimes for app or data updates, but exact times for these updates are unknown because some devices in some parts of the world may receive updates earlier than the others. Decide on a convention to use when determining past update datetimes (e.g. assume all data updates associated with summoning events happen 2.5 hours before the summoning event). --HertzDevil (talk) 10:26, 4 September 2019 (UTC)
      • I think the first recorded time is sufficient. However I don't think all times should be assumed to be a single offset from before the summoning event, but that could be used if there is no information since accuracy down to the hour is not too important for these. Endilyn (talk) 05:09, 5 September 2019 (UTC)
        • App updates could use the upload times of their associated notifications which should be good enough. --HertzDevil (talk) 09:07, 5 September 2019 (UTC)
  • Add {{StoryImage}} to pages with story dialogue that are missing story background images.
  • Add official names for some Arena maps from https://guide.fire-emblem-heroes.com/en-US/sa033/ to Arena and List of Arena maps
    • 9 out of 10 arena maps added in Version 2.1.0 have trenches, I don't think calling one of them "the" trench map would be helpful at all. Adding those names to a trivia section should be enough. --HertzDevil (talk) 21:50, 24 August 2019 (UTC)
  • Replace screenshot files on the wiki with up-to-date screenshots or files with dimensions 1080 × 1920, where applicable.
  • Decide on how to display Røkkr Sieges availability: Røkkr Sieges 1 has none, Røkkr Sieges 2 uses the round table for Voting Gauntlet, Røkkr Sieges 3 uses an availability section similar to maps.
  • Update old Quests and Missions archive pages with {{#invoke:Quest|defineQuest}}.
    • Correct quests with missing or potentially incorrect informations or rewards using these JSON dumps (since 2017-02-02 until 2020-06-30, using HertzDevil's format).

Code maintenance[edit source]

Modifications to templates, modules, widgets, and Cargo tables.

  • Modify Template:Structure Infobox so that it stores one row per level for each structure, rather than one row for all levels
  • In the Stages section of Tap Battle pages, figure out a layout that would display an embedded player for boss themes like what's currently available for stage BGM's.
  • Add better support to Module:SummoningEvent for Summoning Focuses with limited pulls, since statistics for multiple pulls should not be shown there:
  • Describe the April 2019 summoning pool changes on Summonable Heroes, which uses Module:HeroListBySummonRarity and Module:SummonableHeroList.
  • Define the random unit pool via Template:Hero Infobox rather than Randomized units. Assume the timestamps for all Heroes before the Fire and Ice update are correct and never modified in history.
    • Update the enemy slots in the Randomized Units sections on each Tempest Trials page to match the slot indices from Module:UnitData. (Just remove the "(slot x)" part entirely and adjust the "Enemy x" number.) --HertzDevil (talk) 19:51, 10 August 2019 (UTC)
      • Done. I was just wandering what is the difference between {{RandomTTUnits}} and {{Tempest Trials Units}} as they are both used. Pival13 (talk) 19:04, 21 August 2019 (UTC)
        • The former uses the random unit pool directly, the latter queries the unit table and assumes that units are added to the random pool as they are released (which is wrong). The reason we haven't fully switched to Template:RandomTTUnits is because we do not have the random pool information before the end of Book II yet. --HertzDevil (talk) 06:03, 22 August 2019 (UTC)
          • We now have everything in RandomUnitPool, so {{Tempest Trials Units}} can be replaced with {{RandomTTUnits}} if the two output the same units. --HertzDevil (talk) 15:53, 29 September 2019 (UTC)
          • The later template does not assume that, the input date is supposed to match their release date only for differentiating earlier and later groups of Heroes for the purpose of selecting them, so the date would often not match the Tempest Trials dates. Since the order of Heroes released and the order of them being added to the random pool were the same, the template worked, even if the actual times had a gap. I agree that it was not a good system though.

            The assumption that "timestamps for all Heroes before the Fire and Ice update are correct and never modified in history" is also incorrect. It also seems that brave heroes (and possibly staff users) may have had their random status modified at one point. User:Valexiv appears to have left relevant notes whenever the random pool changed on the appropriate pages (e.g. Tempest Trials or Rival Domains pages), but these notes are scattered and not consolidated so they will be difficult to sift through, it is unknown whether they are complete, and they may have been deleted in batch page editing.

            Endilyn (talk) 19:23, 29 September 2019 (UTC)
The last point is right; I checked RainThunder's files and found that these Heroes used to be in the random pool:
  • CYL1 Heroes were available during - (the 2017_09_15 update to be exact).
  • Olivia, Azura, and Ninian were available since launch and removed at either 2017_08_29 or 2017_09_06 (which cannot be determined from those files alone as one revision was missing).
All other changes to the random pool were correct. --HertzDevil (talk) 10:05, 21 May 2020 (UTC)
  • Edit {{Hero Infobox}} to store and display multiple origins. (Naga: Dragon Divinity Appears in Fire Emblem: Mystery of the Emblem and Fire Emblem: Awakening)
    These are not origins like the in-game Origin/Character value used in Lost Lore or Catalog of Heroes, that is simply flavor text from the description, although they are often made to match and get confused between a lot. That's why the Hero Infobox says "Appears in" instead of "Origin". I actually think the Hero descriptions on the wiki should not be trimmed and should include everything, including the "appears in" section. As it is right now, the cargo and template fields are named 'Origin', yet correspond to Appearances, and the true Origin value when needed is derived from Appearances with GameSortValues. Two possible suggestions:
    Change Units.Origin to actually define "Origin", then create Units.Appearances as a List (,) of String and use that on pages that want the appearances like Series Distribution, List of Heroes, and the game pages accordingly.
    or
    Rename Units.Origin to Units.Appearances and do the appropriate replacements
    or
    Do nothing as we have been doing, and leave the field as it is since the internal name is not displayed anywhere, just remember that the field actually stands for appearances, not origin. Endilyn (talk) 21:03, 6 September 2019 (UTC)
Entry sort lists Naga under both series, and similarly for Leif; they are the only Heroes whose origins != (1 << series). The origins field is being used in the in-game filter and Limited Hero Battles, so sooner or later the information needs to be somewhere in the database. --HertzDevil (talk) 10:05, 21 May 2020 (UTC)
I propose the following changes. In the following, series means "the game portion of the origin value".
Current structure of relevant fields
FieldMeaningNotes
Units.OriginThe game listed in the description text, e.g. "Appears in Fire Emblem Awakening". If there is no game, use "Fire Emblem Heroes".
Recent changes/additions to the meaning:
  • Origin no longer corresponds to the appearance text. The description should now be completely ignored.
  • The string must correspond with a value in GameSortValue.value1. In other words, the string now represents the series.
Units.EntriesAll games represented when using the "Entries" filter, minus the games that are already present in Units.Origin.
Units.PersonExists solely for joining with CharacterSortValues.name. Defaults to Units.Name.In other words, it exists solely to resolve composite key issues that would arise from using Units.Name corresponding to CharacterSortValues._pageName + CharacterSortValues.title.
CharacterSortValues.nameDefined by wiki to be name of a character, which is defined by wiki. The only strict requirement is that it must be able to uniquely identify a given origin value alongside CharacterSortValues.title. Defaults to the page name it is defined on.In other words, it exists solely to resolve composite key issues that would arise from using Units.Name corresponding to CharacterSortValues._pageName + CharacterSortValues.title.
Never displayed anywhere except for Template:Characters Navbox where it makes no significant difference compared to just displaying the page name, and actually conflicts with Lucina, displaying "Marth" instead.
CharacterSortValues.titleExists solely for joining with GameSortValue._pageName for the purposes of differentiating duplicate CharacterSortValues.name values.
CharacterSortValues.value2The second portion of the origin value, i.e. the portion that follows series.
GameSortValue.value1series value of Heroes that come from the corresponding game.
Traversal paths to get info
InfoPath
The name of the game used in the Origin sort menu for a given HeroUnits.Origin
The appearances of a given HeroConcat Units.Origin with Units.Entries
The entries of a given HeroConcat Units.Origin with Units.Entries (identical since Intelligent Systems will always make the entries based on description text)
The full Origin value of a given HeroJoin Units.Person with CharacterSortValues.name, select results where Units.Origin = CharacterSortValues.title
List of units that appeared in a game given a gameUnits where Units.Origin or Units.Entries contains that game
List of units for a wiki character pageA page may define multiple CharacterSortValues.names, and every CharacterSortValues.name has an associated wiki character page where it is defined. Join CharacterSortValues.name=Units.Person, select results where CharacterSortValues._pageName = the page name of the page AND Units.Origin = CharacterSortValues.title.
New structure
FieldMeaningNotes
Units.csv1series
Units.csv2The second portion of the origin value, i.e. the portion that follows series.This eliminates the need for a wiki-defined Person parameter. May be autogenerated in the same manner as Units.Person currently is (see notes later under both tables).
Units.AppearanceDerived from processing the description. Semantically means the games a Hero appears in, use for pages like game pages or List of Heroes by appearance.The "Appears in" text will need to be re-added to the Hero descriptions for this. This will also have the benefit of making the descriptions 1 to 1 with the game.
Units.EntriesAn automatic exact copy of Units.Appearance. Intelligent Systems will make them correspond to each other. Manual entry is allowed in the case that this is ever not the case or processing fails due to a typo (such as the "Appear in" typo previously at Marth: Royal Altean Duo's description). Semantically means the game data for entries used in the filter menu, for use in pages like limited hero battles.
GameSortValue.value1No changes.
New traversal paths to get info
InfoPath
The name of the game used in the Origin sort menu for a given HeroJoin Units.csv1 with GameSortValue.value1
The appearances of a given HeroUnits.Appearance
The entries of a given HeroUnits.Entries
The full Origin value of a given HeroConcat Units.csv1 with Units.csv2
List of units that appeared in a game given a gameUnits where Units.Appearances contains that game
List of units for a wiki character pageQuery for units with a given Origin value. Instead of defining which Origin values correspond to the wiki character page as before, simply query for those directly.
With this new structure, the separation of pure game data and wiki-specific data should be clearer. The only benefit to the old system I can think of is that it saves entering origin values for every new Hero, but this is faulty as well, since technically every new Hero would then need a Units.Person entered in order to link them to their origin values. The benefit is that Units.Person defaults to Units.Name, but a similar benefit can be had with csv2 defaulting to a csv2 from another Hero with the same Units.Name and Units.Series only if one distinct value is returned. This makes an assumption, but it is the same assumption the current system makes. Additionally, in both defaulting systems, a csv2 must be entered at least once somewhere on the wiki. Endilyn (talk) 08:21, 25 May 2020 (UTC)
About the current fields: Units.Entries is already produced by the concatenation of {{{Origin|}}} and {{{ExtraOrigins|}}} before storage. So if I understand this correctly, the new field mappings from the Person JSONs are:
  • Units.csv1, GameSortValue.value1$[*].series
  • Units.csv2$[*].sort_value
  • Units.Appearance ← (grep from MPID_H_*)
  • Units.Entries ← (extract bitmaskss from $[*].origins)
Anything that migrates the wiki database towards the underlying data model should be okay. --HertzDevil (talk) 21:14, 25 May 2020 (UTC)
  • It might be possible to sort items inside Template:RewardText according to their internal values. --HertzDevil (talk) 11:46, 23 August 2019 (UTC)
  • Rename Maps to something like Scenarios, and then create a new table in place of Maps to store per-tab information.
Map availability should also be defined per difficulty, to properly handle cases like Narcian: Wyvern General (map) (Infernal and Abyssal had separate start times, so the map cannot be assumed to give the rewards at these difficulties since the beginning).

Larger projects[edit source]

These tasks are more involved. Actions should be carefully reviewed before performing them, as there may be additional requirements/consequences that are not obvious at first glance.

Skill note templates overhaul[edit source]

I am going to overhaul the skill note system to be more well-defined and flexible, and I've noticed errors in some of the templates and their placements that seem to stem from misunderstanding of game mechanics (such as placing the bonuses template on combat boost skills), so I will fix those as I go along as well.

Some examples:

*'''During combat''': One or more effects apply only during combat.
**Support actions, such as healing or using {{St|Dance}}, are not considered as combat.
**Effects that apply during combat, such as increased stats, are not considered for skills that apply outside combat (e.g. {{St|Atk Ploy 3}}.

Here are the current specifications for the new system. The completed specification will later be available at Project:Note templates.

  • Every top level entry has a simple bolded header denoting a name for the effect/timing/condition/etc.. Other than the boldness, no special formatting or icons are allowed in the header.
    • Names of effects or conditions are not allowed to be another skill's name, since skills consist of both effects and conditions.
  • Usage of 'this skill/weapon/passive' is disallowed, as effects may come from more than just skills, e.g. GC Area Effects or Aether Structures, and these templates may be used on those pages.
  • Usage of {{PAGENAME}} is disallowed, as a skill's name may differ from the page name. There is also the possibility the templates may be used on pages that cover a broader subject than just the skill at the point in the page the template is describing.
  • When using SkillText, the level must always be specified. This is because relying on the max rank can be a problem if the max rank drastically changes the skill. Take the hypothetical scenario where you say {{Pt|Steady Stance}} and {{Pt|Steady Breath}} stack before Steady Stance 4 was released to illustrate the extra def stats stack, but then Steady Stance 4 is released and now the text is misleading.
  • Use of {{Sgp}} is limited to only where grouping of skills is important and neccessary. Otherwise, use SkillText.
  • Notes are allowed to refer to other notes. Example:
    [...]
    ==Notes==
    *'''Spreading joy''': Grants '''death effect''' to adjacent allies '''at start of turn'''.
    *'''Death effect''': Unit dies.
    *'''At start of turn''': [...]
  • Section templates meant for sections are disallowed in note templates.

More complex skills that cannot use these templates or combinations of these templates for whatever reason, will have text typed out on their page for the non-template parts. There is no need to force usage or modifications of templates at the expense of coherency. This is not expected to occur however, since each note is broken down to the small flexible parts.

I don't know when I'll do this. If you would like any changes before I do so, post any suggestions here in the meantime, if any. Endilyn (talk)

If usage of 'this skill/weapon/passive' and {{PAGENAME}} are disallowed, then what should be used in their place? Markfeh (talk) 23:59, 14 October 2019 (UTC)

Pagination[edit source]

A few pages on this wiki have grown excessively long. These pages are difficult to navigate, take a long time to regenerate, and are restricted in their complexity due to include size limits. This can be alleviated by splitting the contents across multiple pages. --HertzDevil (talk) 14:25, 24 August 2019 (UTC)

Aether Raids[edit source]

Quests and Missions archive[edit source]

Other pages[edit source]

Internationalization[edit source]

Do an automatic import of quotes in other languages, one language per tab. --Ale1991 (talk) 13:31, 21 August 2018 (UTC)

For non-English and non-Japanese languages, I propose that their subpages would be named after their language code in the game. /EUIT for example. Endilyn (talk) 23:03, 24 November 2018 (UTC)

Character / game pages[edit source]

Interactive event calendar[edit source]

  • Proof of concept: Event calendar. It doesn't work as of July 3, 2019 because of Cargo bug with compound query. Single query calendar like Summoning Focus calendar still works.
    • As compound query doesn't work, it is possible to do create a calendar using a simple query. However, this query would called _pageData as base on which it is possible to join others table, which make it very huge and take a lot of time and ressources to generate. Moreover, some adjustement are needed to get the StartTime of each event as well as color or name wanted. An exemple with specials and events maps is here. There is still a problem, it seems previous revival of a maps doesn't appeared. Pival13 (talk) 19:24, 12 September 2019 (UTC)
That's a brilliant idea. I think it's good enough and you should put it in Event calendar while we are waiting for the next Cargo version. You should also create Special Maps calendar (and add it to Special charts, too). And what exactly is missing in your calendar? I don't see any problem with it, as the old LHBs still appeared correctly. RainThunder0 (talk) 11:59, 16 September 2019 (UTC)
I've completed it with focuses, story, paralogue, TD, HO, CC, BG and SA. Ideas about colors are welcome. About the problem, it is due to the limit. When I don't specify it, I have everything until August 7, 2019, and with a limit of 1000, until November 2018. There is also a problem with views. It only loads informations from the current, previous and next time interval. By exemple, as of September 16, 2019, I can't see A Splendid Soiree and Peforming Arts on week view if I don't switch to month view (which is truly ununderstandable). Pival13 (talk) 20:04, 16 September 2019 (UTC)
New Cargo version is up. I commented out the summoning events because there are too many of them. --HertzDevil (talk) 01:26, 25 September 2019 (UTC)
  • Currently, only SummoningFocuses, VotingGauntlets, and ForgingBonds have date columns. Other events, like Tempest Trials, etc. do not have a Cargo table, or their table doesn't have any Date or Datetime type column. The PoC above temporarily use the News table for Tempest Trials and Grand Conquests.
    • Created GrandConquests. Start and end times are determined by the first and last rounds respectively. --HertzDevil (talk) 07:23, 27 August 2019 (UTC)
  • All special maps (GHBs, BHBs, LHBs, MHBs) also need a Cargo table that stores their availability dates.
{{#cargo_declare:
_table = MapDates
|StartDate=Datetime
|EndDate=Datetime
}}

The template should be used in Map availability section in those map pages. This Cargo table, if created, also helps automating {{Current Events}}, Special Maps, Grand Hero Battle maps etc.

  • Background color for each event types is not good at the moment, and needs some improvement. --RainThunder0 (talk) 09:49, 13 February 2019 (UTC)
Template and Cargo table created at Template:MapDates. Still needs work on its appearance and implementation. Endilyn (talk) 20:45, 2 July 2019 (UTC)
I did notice it for a while ago, but I actually forgot about it xD. I don't think there's a better way of retrieving date pairs from list other than this ugly query:
{{#cargo_query:
tables=MapDates__StartDate=SD,MapDates=MD,MapDates__EndDate=ED
|join on=MD._ID=SD._rowID,MD._ID=ED._rowID
|fields=MD._pageName=Page,SD._value=start,ED._value=end
|where=SD._position=ED._position
|group by=SD._value
|format=calendar
}}
For example, for Tap Battle (not in calendar format): [removed]
I think it would be cleaner to use multiple entry per page. The template could be used in "Map availability" section, or integrate into {{Battle Infobox}} (which means we should get rid of Map availability section). Also StartDate and EndDate should be renamed to StartTime and EndTime, respectively.RainThunder0 (talk) 23:07, 2 July 2019 (UTC)
Internally those are duplicate Tap Battles with mostly identical data, not the same Tap Battle with multiple sets of dates (the first rerun is defined in files/assets/Common/TapAction/TapBattleData/TDID_0001_01.bin, and the original in files/assets/Common/TapAction/TapBattleData/TDID_0001.bin), so there should be one row for each run regardless of how the reruns are displayed. (This is in contrast for example to LHBs which do modify the dates of existing special map records in files/assets/Common/SRPG/StageEvent/*.bin.) --HertzDevil (talk) 17:06, 24 July 2019 (UTC)
Done. Might need a separate WikiName to distinguish reruns in the future though; I suggest [EVENT TYPE] [event name] [Y-m], e.g. TAP BATTLE Labyrinth of Mists 2018-02, TAP BATTLE Labyrinth of Mists 2019-03, and TAP BATTLE Brave Heroes 2019-08.
I also replaced MapDates's definition for a similar reason, but that one doesn't need WikiNames for the moment. --HertzDevil (talk) 14:02, 23 August 2019 (UTC)
All maps now have date information. See {{#invoke:User:HertzDevil|currentMaps}} for an example of retrieving currently active non-permanent maps:Script error: The function "currentMaps" does not exist. --HertzDevil (talk) 11:30, 21 September 2019 (UTC)
Template: Current Events can now work with the below query for all kind of Hero Battle:
{{#cargo_query:tables=Maps,MapDates
|join on=Maps._pageName=MapDates._pageName
|fields=MapGroup,Maps._pageName,StartTime,EndTime
|where=(NOW() BETWEEN StartTime And EndTime) AND EndTime != '{{MaxTime}}' AND MapGroup != 'Tempest Trials'
|group by=Maps._pageName
|order by=StartTime DESC,Map DESC
|format=template|template=Current Events/format
|default=
}}
We must take care of Tempest Trials maps which are also presents on Maps and MapDates tables. There is currently only two banner images with a bad name: File:Banner Grand Hero Robin F.png and File:Banner Grand Hero Kana M.png as their gender is present on it. Pival13 (talk) 10:14, 8 September 2019 (UTC)
This query also work for Rival Domains and Relay Defense maps, but I would recommend to keep {{Weekly Rival Domains}}. For other events map (Daily (Aug 2019) (Event) or Nifl and Múspell (Event)), a banner image is needed as well as a MapGroup. Currently, I've supposed the banner image can be give as 5th arg on Template:Current Events/format and use File:Banner Event.png by default. Pival13 (talk) 11:52, 8 September 2019 (UTC)
For Rival Domains and Relay Defense, I think we should make a new query at the end of the table to keep the in-game display, otherwise they will appear above the events which have begun the previous week. Pival13 (talk) 14:14, 8 September 2019 (UTC)
There is no need to create more redirect for hero battles banner as {{Banner HB}} now use the .webp file directly. Pival13 (talk) 06:52, 21 September 2019 (UTC)
Template:Current Events has been ported to Lua, any map that uses Template:MapDates should automatically appear there. As an additional benefit, events are now properly sorted by time remaining across event types. --HertzDevil (talk) 04:39, 22 September 2019 (UTC)

Quests cargo table[edit source]

Create a template that will store a cargo table for quests, this will allow accessory pages, tap battle pages, etc. to query for related availability or rewards.

{{#cargo_declare:
_table = Quests
|WikiName=String (size=200;mandatory;unique)
|GroupName=String
|Description=Wikitext
|Difficulty=String
|StartTime=Start Datetime
|EndTime=End Datetime
}}
What should be the WikiName? We don't have past data files, so internal IDs wouldn't work. I am thinking of something like [group name] [YYYYMMDD] [quest index]; the day is required to distinguish daily / weekly quests in the same month. The corresponding reward table will also contain this WikiName column, and joins to the quest table will use that instead of the page name, so every quest receives a unique index from its associated group. --HertzDevil (talk) 16:49, 28 September 2019 (UTC)
I created a module that can store and query quests (it currently use its own data for the query). The needed cargo table is quite similar to the one above, with extra fields Stage and Unit. Considering the WikiName I've followed HertzDevil idea. I also created a JSON converter for quests.
I think quests should be define on monthly quests page (such as Quests and Missions archive/February 2017), then queried on other pages (Quests and Missions#Current Quests, accessory pages, tap battle pages...). An exemple of a monthly quests page can be found here Pival13 (talk) 10:34, 1 January 2020 (UTC)
I move the module and use it for december 2019 and january 2020 quests, as well as querying on Quests and Missions#Current Quests. I think we should use a Sort to order and differentiate quests. This may not necessarily be the same than in-game. Pival13 (talk) 21:28, 6 January 2020 (UTC)

Reward definitions[edit source]

Reward source Event table Reward table Availability table Rerun support
Maps Maps MapRewards MapDates ?
Coliseum ColiseumSeasons ColiseumRewards Event / Reward
Tempest Trials TempestTrials TempestTrialsRewards Event ?
(Voting Gauntlet) VotingGauntlets No Reward ?
Tap Battle TapBattles No Event No
Grand Conquests GrandConquests GrandConquestsRewards Event / Reward
Forging Bonds ForgingBonds ForgingBondsRewards Event Yes
Aether Raids No No Event
Røkkr Sieges RokkrSieges RokkrSiegesRewards Reward
Lost Lore LostLore LostLoreRewards Reward Yes
Hall of Forms HallOfForms HallOfFormsRewards Event / Reward
Mjölnir's Strike MjolnirsStrike MjolnirsStrikeRewards Reward
Heroes' Path None HeroesPathRewards Reward
Quests Quests QuestRewards Reward
Daily Log-In Bonus LogInBonus LogInBonusRewards Reward
One-Time Log-In Bonus LogInBonus LogInBonusRewards Event
  • For rewards available in a single game mode, create new tables as necessary, based on MapRewards and TempestTrialsRewards. See Template:RewardDefinition for details.
    • When storing mutually exclusive rewards, if one of the rewards is strictly better than all other rewards (normally the top-score or top-rank reward), then it is safe to store only that reward into the database.
  • For rewards of a single kind available in all game modes, the closest analogue at the moment is Distributions; think about how it can be generalized to all events, e.g. by inventing a WikiName that is unique across every possible source of rewards.

--HertzDevil (talk) 09:55, 22 August 2019 (UTC)

Proof of concept: Sacred Coin distribution 2018 now uses {{#invoke:ItemDistribution|itemTableRow}} to generate the rows for Tempest Trials. --HertzDevil (talk) 10:57, 23 August 2019 (UTC)
Reruns are now supported, this requires corresponding WikiName fields on both event and reward tables. Put useWikiName = true in Module:ItemDistribution/data to enable it. --HertzDevil (talk) 20:46, 23 May 2020 (UTC)

Arena score research[edit source]

Fire Emblem Heroes Wiki:To-do list/Arena score research (Needs some adjustments before opening to public)

Recurring maintenance tasks[edit source]

Some of the lists here use cargo queries to automatically display the status of certain tasks. The cargo queries update slowly, so they may not reflect the most recent status. List of reoccurring maintenance tasks:

Monthly additions[edit source]

Item distribution[edit source]

Twitter-related[edit source]

Missing Heroic Ordeals[edit source]

No results

Quote pages with missing audio files[edit source]

Pages with incomplete skill data[edit source]

No results

Pages with missing string identifiers[edit source]

Kind Page
Skill Phantom Res

List of pages with incomplete enemy data[edit source]

Page Map Unit Pos Rarity Slot Level HP Atk Spd Def Res Weapon Assist Special PassiveA PassiveB PassiveC Seal
Part 1: Launch Celebration V0001 Gordin Altean Archer b7 5 19 8 6 9 3 Iron Bow
Part 2: Launch Celebration V0002 Sharena Princess of Askr b7 5 19 9 9 7 4 Iron Lance
Part 3: Launch Celebration V0003 Barst The Hatchet a8 5 20 10 9 6 3 Iron Axe
Part 4: Launch Celebration V0004 Leo Sorcerous Prince a8 5 17 8 4 6 9 Flux
Part 5: Launch Celebration V0005 Felicia Maid Mayhem b5 5 15 5 12 2 10 Iron Dagger
Part 1: Starter Support V0011 Corrin Fateful Prince c5 5 21 9 9 7 6 Iron Sword
Part 2: Starter Support V0012 Eldigan Lionheart d5 5 20 9 6 9 6 Iron Sword
Part 1: Defensive Battle V0021 Lance Fighter ENEMY a3 10 24 11 11 12 8 Iron Lance Armored Blow 1
Part 2: Defensive Battle V0022 Lance Cavalier ENEMY e2 15 25 15 10 11 14 Steel Lance
Part 3: Defensive Battle V0023 Niles Cruel to Be Kind a8 25 28 16 21 10 21 Steel Bow Windsweep 1

More...

Map pages with missing BGM data[edit source]

_pageName Map MapName BGM BGM2
Truth of Her Name S3101 Chapter 10-1: Truth of Her Name
Maiden and Devotee S3102 Chapter 10-2: Maiden and Devotee
Inside Embla S3103 Chapter 10-3: Inside Embla
The Reaper Cometh S3104 Chapter 10-4: The Reaper Cometh
Temple of Blood S3105 Chapter 10-5: Temple of Blood
Seeking a Path S3111 Chapter 11: Part 1: Seeking a Path
The Masked Wanderer S3112 Chapter 11: Part 2: The Masked Wanderer
Polarized Judgments S3113 Chapter 11: Part 3: Polarized Judgments
An Addled Dragon S3114 Chapter 11: Part 4: An Addled Dragon
Bitter Realizations S3115 Chapter 11: Part 5: Bitter Realizations
Sharena's Counterpart S3121 Chapter 12-1: Sharena's Counterpart
Large Armor, Larger Heart S3122 Chapter 12-2: Large Armor, Larger Heart
One's Own Shadow S3123 Chapter 12-3: One's Own Shadow
Middle Sister S3124 Chapter 12-4: Middle Sister
If Not I, Then You... S3125 Chapter 12-5: If Not I, Then You...
Obey Me S3131 Chapter 13-1: Obey Me
On That Hill, Together S3132 Chapter 13-2: On That Hill, Together
Mere Playthings S3133 Chapter 13-3: Mere Playthings
Don't Struggle S3134 Chapter 13-4: Don't Struggle
Ruler of the Dead S3135 Chapter 13-5: Ruler of the Dead

More...

Map pages with missing notification[edit source]

List of pages with incomplete languages[edit source]

_pageName English Japanese German SpanishEU SpanishLA Italian French ChineseTW Portuguese
2nd Anniversary Heroes 2nd Anniversary Heroes Héros du 2e anniversaire
3rd Anniversary Hero Fest, Part 1 3rd Anniversary Hero Fest, Part 1
3rd Anniversary Hero Fest, Part 2 3rd Anniversary Hero Fest, Part 2
3rd Anniversary Hero Fest, Part 3 3rd Anniversary Hero Fest, Part 3
4 Star & 5 Star Heroes (Apr 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Jan 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Mar 2018) (Focus) Focus: 4★ & 5★Heroes
A Monstrous Harvest (Focus) A Monstrous Harvest Monsterernte
A Season for Picnics (Focus) A Season for Picnics
A Splendid Soiree (Focus) Splendid Soiree

More...

_pageName English Japanese German SpanishEU SpanishLA Italian French ChineseTW Portuguese
2nd Anniversary Heroes 2nd Anniversary Heroes Héros du 2e anniversaire
3rd Anniversary Hero Fest, Part 1 3rd Anniversary Hero Fest, Part 1
3rd Anniversary Hero Fest, Part 2 3rd Anniversary Hero Fest, Part 2
3rd Anniversary Hero Fest, Part 3 3rd Anniversary Hero Fest, Part 3
4 Star & 5 Star Heroes (Apr 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Jan 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Mar 2018) (Focus) Focus: 4★ & 5★Heroes
A Season for Picnics (Focus) A Season for Picnics
A Sketchy Summer (Focus) A Sketchy Summer 夏、再び Eroi speciali: Schizzi d'estate
A Splendid Soiree (Focus) Splendid Soiree

More...

_pageName English Japanese German SpanishEU SpanishLA Italian French ChineseTW Portuguese
2nd Anniversary Heroes 2nd Anniversary Heroes Héros du 2e anniversaire
3rd Anniversary Hero Fest, Part 1 3rd Anniversary Hero Fest, Part 1
3rd Anniversary Hero Fest, Part 2 3rd Anniversary Hero Fest, Part 2
3rd Anniversary Hero Fest, Part 3 3rd Anniversary Hero Fest, Part 3
4 Star & 5 Star Heroes (Apr 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Jan 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Mar 2018) (Focus) Focus: 4★ & 5★Heroes
A Monstrous Harvest (Focus) A Monstrous Harvest Monsterernte
A Season for Picnics (Focus) A Season for Picnics
A Sketchy Summer (Focus) A Sketchy Summer 夏、再び Eroi speciali: Schizzi d'estate

More...

_pageName English Japanese German SpanishEU SpanishLA Italian French ChineseTW Portuguese
2nd Anniversary Heroes 2nd Anniversary Heroes Héros du 2e anniversaire
3rd Anniversary Hero Fest, Part 1 3rd Anniversary Hero Fest, Part 1
3rd Anniversary Hero Fest, Part 2 3rd Anniversary Hero Fest, Part 2
3rd Anniversary Hero Fest, Part 3 3rd Anniversary Hero Fest, Part 3
4 Star & 5 Star Heroes (Apr 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Jan 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Mar 2018) (Focus) Focus: 4★ & 5★Heroes
A Monstrous Harvest (Focus) A Monstrous Harvest Monsterernte
A Season for Picnics (Focus) A Season for Picnics
A Sketchy Summer (Focus) A Sketchy Summer 夏、再び Eroi speciali: Schizzi d'estate

More...

_pageName English Japanese German SpanishEU SpanishLA Italian French ChineseTW Portuguese
2nd Anniversary Heroes 2nd Anniversary Heroes Héros du 2e anniversaire
3rd Anniversary Hero Fest, Part 1 3rd Anniversary Hero Fest, Part 1
3rd Anniversary Hero Fest, Part 2 3rd Anniversary Hero Fest, Part 2
3rd Anniversary Hero Fest, Part 3 3rd Anniversary Hero Fest, Part 3
4 Star & 5 Star Heroes (Apr 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Jan 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Mar 2018) (Focus) Focus: 4★ & 5★Heroes
A Monstrous Harvest (Focus) A Monstrous Harvest Monsterernte
A Season for Picnics (Focus) A Season for Picnics
A Splendid Soiree (Focus) Splendid Soiree

More...

_pageName English Japanese German SpanishEU SpanishLA Italian French ChineseTW Portuguese
3rd Anniversary Hero Fest, Part 1 3rd Anniversary Hero Fest, Part 1
3rd Anniversary Hero Fest, Part 2 3rd Anniversary Hero Fest, Part 2
3rd Anniversary Hero Fest, Part 3 3rd Anniversary Hero Fest, Part 3
4 Star & 5 Star Heroes (Apr 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Jan 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Mar 2018) (Focus) Focus: 4★ & 5★Heroes
A Monstrous Harvest (Focus) A Monstrous Harvest Monsterernte
A Season for Picnics (Focus) A Season for Picnics
A Sketchy Summer (Focus) A Sketchy Summer 夏、再び Eroi speciali: Schizzi d'estate
A Splendid Soiree (Focus) Splendid Soiree

More...

_pageName English Japanese German SpanishEU SpanishLA Italian French ChineseTW Portuguese
2nd Anniversary Heroes 2nd Anniversary Heroes Héros du 2e anniversaire
3rd Anniversary Hero Fest, Part 1 3rd Anniversary Hero Fest, Part 1
3rd Anniversary Hero Fest, Part 2 3rd Anniversary Hero Fest, Part 2
3rd Anniversary Hero Fest, Part 3 3rd Anniversary Hero Fest, Part 3
4 Star & 5 Star Heroes (Apr 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Jan 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Mar 2018) (Focus) Focus: 4★ & 5★Heroes
A Monstrous Harvest (Focus) A Monstrous Harvest Monsterernte
A Season for Picnics (Focus) A Season for Picnics
A Sketchy Summer (Focus) A Sketchy Summer 夏、再び Eroi speciali: Schizzi d'estate

More...

_pageName English Japanese German SpanishEU SpanishLA Italian French ChineseTW Portuguese
2nd Anniversary Heroes 2nd Anniversary Heroes Héros du 2e anniversaire
3rd Anniversary Hero Fest, Part 1 3rd Anniversary Hero Fest, Part 1
3rd Anniversary Hero Fest, Part 2 3rd Anniversary Hero Fest, Part 2
3rd Anniversary Hero Fest, Part 3 3rd Anniversary Hero Fest, Part 3
4 Star & 5 Star Heroes (Apr 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Jan 2018) (Focus) Focus: 4★ & 5★Heroes
4 Star & 5 Star Heroes (Mar 2018) (Focus) Focus: 4★ & 5★Heroes
A Monstrous Harvest (Focus) A Monstrous Harvest Monsterernte
A Season for Picnics (Focus) A Season for Picnics
A Sketchy Summer (Focus) A Sketchy Summer 夏、再び Eroi speciali: Schizzi d'estate

More...

Missing story text[edit source]

Note: This list is not conclusive, it only lists pages where the story template was added with empty fields. There may be story text missing when the template is not used at all.

English Japanese
Forging Bonds Other Forging Bonds Other
All good! All good!

Missing story navigation[edit source]

Uses of Template:Story Navbar with either the previous or next map missing are listed here. There should be exactly one item on this list corresponding to the most recent story.
https://feheroes.gamepedia.com/Fire_Emblem_Heroes_Wiki:To-do_list
feheroes.gamepedia.com
crawl=CC-MAIN-2020-34
235344
application/http; msgtype=response
sha1:OXQDZFUSKTIN7NHDX2IU43AZZWY2W2VX
<urn:uuid:d5c4c43e-680f-46c0-a739-d8383610aeb6>
2020-08-15T08:45:00Z
151.101.128.194
text/html
sha1:EVKDHBQVLZZ6M4HKUVWDR2KUJMME6YLY
<urn:uuid:b0b7d6c8-d2d8-4d04-b287-5d73669ba65e>
https://feheroes.gamepedia.com/Fire_Emblem_Heroes_Wiki:To-do_list
response
<urn:uuid:9a38cc17-dc00-4606-b1d1-1e6dfac7567e>
isPartOf: CC-MAIN-2020-34
publisher: Common Crawl
description: Wide crawl of the web for August 2020
operator: Common Crawl Admin (info@commoncrawl.org)
hostname: ip-10-67-67-167.ec2.internal
software: Apache Nutch 1.17 (modified, https://github.com/commoncrawl/nutch/)
robots: checked via crawler-commons 1.2-SNAPSHOT (https://github.com/crawler-commons/crawler-commons)
format: WARC File Format 1.1
conformsTo: http://iipc.github.io/warc-specifications/specifications/warc-format/warc-1.1/