I just released version 1.20 that comes with a major change that goes under the hood, and a few additional options I added.
The format New Recruit uses to store and manage army lists has dramatically changed. Before, an army list file contained all the information it needed to function, like unit and options costs, names, restrictions, everything was in the army list file. When you created a new unit, the new unit data was picked from the army book file and copied into the army list file. This was a simple way to go and worked for a while but had many drawbacks. One problem was that when army book files were updated, old units created before the book update were not affected by the change so you had to edit your army list for the fix to be accounted for. This will not be a problem anymore. Now army list files contain minimal information and refer to the army book files to obtain the data for units and options. This way if the army book file is updated your list will be automatically updated too.
This change also requires a major overhaul of the way New Recruit checks for unit restrictions and costs. Before version 1.20, since all the rules that make your army list legal were contained in the army list file, a change to the rules (say a point cost increase) could not make your list invalid since your list still contained the old point value. Now say you have a valid VC army list but somehow there was a typo in the cost of Zombies and their cost is increased by 1 point. In the new system, your list will now take this change into account and become invalid. A list being invalid was, in theory, impossible before because New Recruit prevents you from making any change that would make your list invalid when editing (other than minimum/maximum cost for unit types or the absence of the General that showed a warning). It will now be possible to see other error messages if, for whatever reason your list becomes invalid.
New Recruit now double checks a list when it is loaded, and also when a unit is modified. That's an also extra safety mesure, if somehow the algorithm lets your select an option that is invalid, this double check will now make sure an error message is displayed. This overall army recheck that could not be done before by my code is very important for tournament supports because TO will be able to receive lists and New Recruit will be able to recheck all the lists using the TO's army book file as a reference. In the old system a list using outdated data could have been shown as valid if it didn't account for some cost changes or updates.
I added some customization options to the Options Menu:
You can now customize the look and feel of New Recruit a little bit. Right now only the background color, the title's background color and the border radius of inputs can be customized but I might add more stuff there later.
You can also customize the behaviour of New Recruit's restriction checking algorithm in the Unit Edition menu. Before version 1.20, options made unavailable by a restriction coming from its own unit would be hidden. For example, Lance would be hidden for characters unless you selected a Mount. Units made unavailable by a restriction coming from an other unit would be displayed in gray italic font (for example, General would be displayed in this way if you already had an other General). You can now customize this and chose to hide or select a different font color or italic style for both.
By default, New Recruit prevents you from creating an invalid list. If you select an option that would make your list invalid, New Recruit automatically makes changes so your list becomes valid again. For example, Vampires have access to different Paths depending on their Bloodline. If you change the Bloodline of a Vampire, then its Path will automatically be changed to match the new selected Bloodline. If you disable this option, no checks will be performed and New Recruit will let you select whatever you want and display errors on the main screen.
You can also prevent New Recruit from modifying other units, which can be confusing to some people. If you uncheck this, trying to select an option that is made unavailable by an other unit (by default, gray italic text) will always produce an error instead of modifying an other unit. For example you would not be able to select General if an other character is already General, you would get an error instead.
When options are automatically selected by New Recruit to make your list valid, a warning is displayed in a notification message. You can now disable this and changes will be made silently.
I also made a few other improvements, I'm not sure I remember all. When you edit a unit, you can now see the total for this unit's category. This can be helpful if you're trying to fill in your core, you won't have to go back to the main screen to know how much Core you still need.
Last, a few "bad news". I dropped support for 2.0 and 2.1 lists, I haven't updated books for these version for a very long time anyway and it would've been too much work for little gain to keep support. From now on only 2020 lists are supported (until the next T9A release). When the next major T9A release hits I wonder if I should maintain support for older versions or automatically keep all lists updated to the new version. With the new system, if lists aren't automatically transfered to the new version, it will be possible to have an upgrade button to upgrade an older list to the new version. I'm not sure yet how I will go about this.
An other issue is that older lists (pre 1.20) are not compatible with 1.20. When you load an older list, New Recruit attempts to convert it to the new format, which should work in almost all cases. Some lists (probably the oldest ones) might not be convertable, in this case a message will be shown informing you that your list cannot be converted. It should be very rare so if it happens to many of your lists please contact me on the forum and I will look into it. Some lists might be converted succesfully but with a few missing options, in this case a pop up will inform you. I tested quite a few lists and I think most, if not all, should be converted succesfully. I can always improve the conversion function if too many lists fail to convert with the current one, but I think it's good enough and most, if not all, lists should be converted succesfully.
As major parts of the restriction algorithm changed, it is possible, even likely that new bugs or errors appeared. Please hit me up on the forum thread if you have any issue. Link to the thread below.
I reworked the Stats page that was not working very well and was a little bit obscure.
It should now be a bit easier to understand, more data is displayed so hopefully this page is going to be more useful from now. I also made it mobile friendly, the bar chart that was displayed before didn't work well on small screens.
Popularity represents the % of times the item (Army or Unit) was seen in games that match the filters. For example if you select no filter you will see the popularity of each unit from all Armies in a % of all games played. If you select an army in filters then the popularity will represent the number of times the unit was seen in games where involving the selected army.
The first version of the Stats page is online. You can access it via the menu or at https://www.newrecruit.eu/stats
On this page you can generate bar charts to show stats we got from the game report feature. Since game report is relatively new, there aren't many reports in the database yet so these stats are not very meaningful yet. Hopefully as more people send reports we will get better quality stats. You can choose between a few Parameters and Filters. This is a first version of the stats reports and I will add more options later when there are more reports in the database. This first version is mostly here to give you an idea of what's possible and to give an incentive to report all your games. If you want to help test this page, please submit as many "Test reports" as possible, using a varierty of army lists.
Since a lot of changes and improvement are coming, I thought it would be important to have a News section for New Recruit so I can inform everyone when something new comes out. I will post here whenever I release a new feature or some important things were changed. You should see a "NEWS!" message in red print in the New Recruit title bar whenever a news you have not read yet is posted. You can get back to your lists by clicking the "App" link from the news section. Maybe I will event add the ability for everyone to post comments on news in the future though there are many things I want to improve first.
Other changes were added in this version (1.13). There is a "Force Update" button in the menu that will allow you to get the latest version without having to refresh the browser or use the Unistall button (that also remove your lists). I will probably make updates automatic in a future version instead of letting the browser decides when it should upgrade or not.
I also made a few changes to the Report feature, adding the ability to select who went first and who started on either side of the map to reports.