Release 1.50.1102 is a big one for Saviors (and the campaigns that use them).
This release revises how Savior status is handled on the Survivor Sheet, in the Campaign Summary view and on the Manager's back-end. The revisions are tantamount to a total tear-down/rebuild of the feature.
While I initially did not intend to revise Savior functionality in this milestone, I decided to pull in a last-minute suggestion for cleaning up the feature, and then once I started on it, I realized that I a.) wanted to run with it a bit and b.) take the opportunity to pay down some technical debt that I've been carrying for something like eight months (i.e. since Savior support initially went live in the Manager).
There are very few corrections in this release, but there is a slew of presentation and UI touch-ups in this release as well, including the final deprecation of the "Save" button at the top of the Survivor and Settlement Sheets.
(Which is kind of a milestone in and of itself: the button was originally added as a work-around and has been confusing users since it was added. It's nice to finally be able to be totally done with it.)
Finally, in terms of progress towards the Black Friday milestone, I think I'm going to end up hitting most of my goals by this weekend: as of release 1.50.1102, I've resolved 49 of the 53 issues in the milestone and I've basically got all day tomorrow to hack out the rest of it (including outstanding Safari issues, cursed item controls and adding support for the Manhunter expansion).
As usual, hit the jump for complete notes.
And thanks for using the Manager!
Corrections and Fixes
- Fixed a tablet-width presentation issue where the text under "Hunt XP" on the Survivor Sheet was too wide and broke the formatting.
- Campaign items in game_assets.py now may have the "saviors" attribute, which is used when rendering the Survivor Sheet.
- Created a set of JS functions that allow campaign-specific modal opener buttons (e.g. "Dragon Traits", "Savior") to be placed on the Survivor Sheet in a specific location and rendered in the modal section of the HTML. Should help page load/render speeds and over all organization of the Sheet
- Refactored the PotStars Dragon Traits controls to be way DRYer and require less custom code in the Survivor Sheet render (which should help with page load times every so slightly).
- Setting a PotStars Survivor's constellation now adds a special, not-normally-selectable epithet to the survivor (and removes it if unset for some reason).
- Styled Survivor Sheet modal overlays to use the KD color scheme that we've been working towards in this release. Adjusted the positioning and size of the span that closes overlay modals.
- Redid wide resolution Affinity modal so it looks more like the tablet version
- Deprecated a bunch of vestigial/custom code in assets.Survivor.normalize() related to epithets and certain A&Is.
- Savior-related A&Is no longer show up in the Abilities and Impairments dropdown (since we're moving all of that to the specialized controller in this release)
- Created assets.Survivor.is_survivor() to test for savior status.
- Survivors may no longer have A&Is or epithets from two different savior types (e.g. "Caratosis" and "Blue Life Exchange"): the Manager will enforce this against legacy survivors when their savior status is updated from the Survivor Sheet.
- Savior epithets are no longer available to non-saviors in the drop-down
- Improved assets.Survivor.rm_game_asset() logging and idiot-proofing (it will not log and fail gracefully when attempting to remove non-existent assets, e.g. on a page reload). The method now automatically decrements permanent affinities from survivors who remove A&Is with affinities.
- Removed the click() action from the stepAndSave() and increment()/decrement() JS methods, since they broke usability on mobile. I'm giving that whole situation a re-think presently.
- Settlement Sheet "Survival Limit", "Population" and "Death Count" now use stepAndSave() and no longer use autoForm.
- Restored inc/dec paddles at wide resolution to the Settlement Sheet.
- Deprecated the "Save" button from the Settlement Sheet
- Removed all #save_button references from style.css
- Deprecated old custom ability controls (which, man, you wanna talk about hack city: I can't believe that lasted as long as it did).
- DRYed up the survivor sheet render by removing vestigial, custom picker code for A&I's, Disorders and Fighting arts from the assets.Survivor.
- Redesigned and re-implemented the custom A&I controls on the Survivor Sheet; deprecated the old assets.Survivor methods for creating custom A&I descriptions; created assets.Survivor.add_custom_AI() method to do the work and log it.
- Styled the controls for all three breakpoints, including the modal.
- Cleaned up the presentation of expansion-specific attribute toggles at tablet resolution.
- Re-did the wide resolution Settlement Sheet's number toggles ("Survival Limit", "Population", "Death Count") to use up less space. Also used flex boxes FTW. -bnielsen
- Completely deprecated the vestigial "topline", "topline_fixed", "topline_name", etc. selectors from the style.css.
- Restyled the Settlement Sheet name at all three break points
- Fixed the size on the "bulk add" controls (Survivor Sheet) at tablet width.