November 2
Going right into it, my progress since the last update:
Overall Site
- Fixed a calculation error where set bonuses could not be counted if the second slot of the set was empty. Oops.
- Fixed an issue where scrollable tables and panels scrolled backwards on much older versions of FireFox.
- Replaced usage of a now deleted symbol font with SVG images of the + and - symbols for expanding and collapsing branched lists, such as the contents of equipment slots.
- Removed the header image containing the old site name; filled it in with a text element for now. A name has been decided but will be revealed when its online.
- Added the three new rank 5 enchant scrolls that KR Test Server recently gained.
Base Stats module
- Fixed a tooltip issue where CSS was deciding, unprompted, to word wrap the stats on the Redeemers progress options, and then undoing the word wrap. This broke the tooltip positioning.
Overview module
- Changed the font used for the stat values to match the rest of the Armory.
Battles module
- The module will now remember which group or battle you had open, and will automatically load into it whenever you visit the Armory.
- Fixed a bug where returning from a selected battle to the list of all battles in the category would cause the scroll bar to vanish.
- Fixed a bug that caused Forgotten Altar to act as if it had no QB requirements.
- Fixed a bug where if your Counterforce was exactly 0, this counted as meeting any Counterforce QB requirement.
- Refactored the way it changes group tabs to be cleaner and more efficient.
- Removed old code for marking battles as selected on the grid of battle options. This is no longer used.
Profiles module
- Fixed an oversight from the recent redesign where newly created profiles didn't show as active on the list of saved profiles.
- Creating a new profile will now update the shown name in the Overview tab.
Only a few of these are interesting enough to warrant any further comment. The two bugs are curious cases though.
First, the calculation error on set bonuses. In programming, it has just become ingrained habit over time that when looping an array or whatever case, you use a variable named x to store the max amount of times to go around the loop, and a variable named i to be the incremented value each loop. It turns out strange things happen if you typo and use 1 instead of i. Arrays count starting from 0, so that particular check only ever looked at the second slot of the set. A rather awkward accident, but now fixed.
The tooltip one is much sillier, and it isn't my fault this time. The tooltip is coded in a slightly overkill manner, to ensure it doesn't visibly do anything weird as it is updated and placed. When the tooltip is not showing something, it is both set to not display, AND to have 0 opacity. (Opacity is just a measure of how solid the element is: 1 is completely solid, 0.5 is transparent, and 0 is completely invisible.) When you hover on something, the content of the tooltip is updated to what it should show for that hover, and it is set to display on the page (but it is still invisible). This allows a separate function to measure it and align it to the element you just hovered. After it is positioned, only then is it made visible.
For reasons that completely baffle me, the default behavior of my browser was forcibly wrapping some text to a new line to shrink the width of the tooltip. My positioning code would then see that narrow width, and align it horizontally based on that. That's when my browser reveals its trollface, and undoes the word wrap. As a result, the tooltip is now appearing on top of the element you hover, obscuring it and looking broken. I have to add new CSS rules telling it to not word wrap in places where this happens, even though that isn't supposed to be happening to begin with.
The QoL/QA/bug fixing streak has continued, and will be continuing. Here is the remaining To Do list for polish/gap filling before I add the last two modules and finish the Armory:
Overall Site:
- I need to prepare a background image for the site. My goal is for it to look proper on both 1440p and 4k displays, as well as ultrawides and super ultrawides. My page's CSS is already ready for this, I just haven't found a suitable image.
- The pass for missing items is not quite complete yet.
- I need to add a tutorial or tour of some sort to explain the Armory functionality. I do not believe the Armory to be nearly complex enough to need this, but it feels like a mandatory thing since I removed the various help tooltip icons that the v2 Armory used to have.
- I have markers in various places for stubs of code that weren't added at the time, but needed to later be. At this moment there are 20 of them.
Settings prompt:
- This prompt exists and has dynamic loading, but it isn't hooked in to any Armory modules right now.
Loadouts module:
- Creating a new Loadout does not add it to the table until the page is refreshed.
This list is getting pretty small, which has me excited.