Monday, January 8, 2018

Change Log: 2.61.1185

Release 2.61.1185 pushes a major upgrade to the Survivor Sheet and also marks a major milestone for the Manager: as of this release, there are no parts of the Survivor Sheet that require a refresh/reload to update the view!

Behind the scenes, the API has been enhanced to allow for what I call "survivor post-processing", which is going to be the new standard for enforcing the game's business logic. For now, the only piece of biz logic I am enforcing are weapon specialization/mastery, but now that the hook is in place, this will be a feature that we expand as we go (e.g. into Wave Three expansions, AKD:M, etc.).

Thanks for using the Manager!

Corrections and Fixes

  1. Survivor Sheet controls for Weapon Proficiency now max out at eight (i.e. you can't set the number to 100 or something)
  2. Fixed an API bug that made a random UI element appear at the bottom of the in the Survivor Sheet "Courage" and "Understanding" controls.
  3. Fixed a JS bug in campaignSummary.js that caused public=true survivors to fail to appear manageable to all players. -Brian K
  4. Monkey-patched a production bug where administrative actions (i.e. ones without a request context) could throw tracebacks. -Ezekiel
  5. Fixed a JS issue where the logging in the initializeSurvivor() method of kdmManager.js failed to display the active survivor's OID.
  6. Addressed a tablet resolution issue on the Survivor Sheet where the "Fighting Arts" section header was weirdly separated from its controls.
  7. Addressed number box padding at wide resolution (e.g. so that numbers on the Survivor Sheet are centered).
  8. Fixed a bug that prevented non-subscribers from creating new settlements if they had created more than three, but then removed some
  9. Addressed a number of element scope issues in the HTML on the Survivor Sheet, including one where the 'right panel' contained elements it should not have and another where the A&I names contained their own descriptions (and caused weird formatting issues).
  10. Fixed an issue in the Survivor Sheet lineage box where random lines could be bolded due an un-closed HTML tag.

Application Enhancements

  1. Keyed in some Zork and Soul Calibur names (because, I mean, we're all major dorks here: no sense fighting it.)
  2. Refactored a number of Survivor Sheet controls to use what I call "classic UI", to look more like the 1.5 paper record sheets and to use the same update-and-save UX style as The Watcher:
    1. created new UI for Hunt XP
    2. created new UI for Weapon Proficiency (and type)
    3. deprecated the secondaryAttributesController from survivorSheet.js
    4. created new UI for Courage and Understanding
    5. created new UI for Survival
    6. refactored the 'Cannot spend survival' toggle JS and updated SurvivorSheet.js to support arbitrary, non-scope-specific flag toggles.
    7. redesigned (and drastically simplified) the dead/retired/favorite controls into a single bar with checkboxes/classic UI presentation
    8. refactored the whole survivor notes UI so that it works like the other classic UI elements; also simplified the JS and the Angular bits.
    9. cleaned up the Fighting Arts, Disorders and A&I sections of the Survivor Sheet so they have paper sheet-style headlines and toggle boxes for their locks (instead of the big, square ones).
  3. Updated kdmManager.js so that the root level postJSONtoAPI() method now always tries to serialize the asset on response.
  4. postJSONtoAPI() now also supports a positional argument that automatically updates the current scope's target asset 'sheet' from the response. Survivor Sheet supports this for now, but this will supersede the reinit() method in a lot of places (in the future).
  5. Normalized the border width on Survivor Sheet presentation elements that have stylistic borders, e .g. hit boxes, etc.
  6. Normalized the presentation of the Survivor Sheet "special attributes" (i.e. the campaign-specific ones) at all resolutions
  7. Finally refactored the Partnership controls on the Survivor Sheet to a.) use Angularjs and b.) the API. 
  8. Created a "once per lifetime" section on the Survivor Sheet and moved the SotF checkbox over to it (transitionally: eventually, I'm going to redo the whole section as a first class data model citizen, etc.)
  9. Survivor Sex is now a toggle (and I killed all the letter normalization code--w00t).
  10. Epithets are "tags" now (transitional to The Watcher "great deeds" and also for the ESL crowd, who rightfully is annoyed by the vocab lesson and the unusual UI/UX approach).
  11. Removed like...dozens of HR elements, empty spans and other design/style hacks from the legacy webapp html. Flexbox ftw. -bnielsen
  12. Rolled up the Survivor Sheet 'admin' controls into a new container element and hid them behind a roll-up/roll-down toggle:
    1. refactored the 'public' toggle to be a.) similer and b.) use the generic toggleStatusFlag() method in survivorSheet.js
    2. re-styled the admin elements to use Metrophobic and standard font sizes
  13. Deprecated the get_partner() and update_partner() methods from the legacy Survivor object; replaced them with API functionality (See below).
  14. The 'Savior' button on the Survivor Sheet (for campaigns with Saviors) now reflects the color of the Savior's dream/affinity.
  15. Added a tip in the (new) Survivor Admin section about how to enable the remove/delete button.
  16. Survivor Sheet Lineage now includes a line when survivors retire.
  17. Campaign Summary shows a little loading spinner while generating the survivor groups.

API Development

  1. Keyed in some online help data for the following game assets:
    1. DBK Expansion
  2. Settlement objects now include 'boxes' in their settlement.survivor_attribute_milestones assets (i.e. to indicate how many checked boxes to show in the UI).
  3. Updated to create a userManagementObject when working with a user; the methods correspond to CLI flags.
    1. Added a dump_settlements() method to the UMO that holds for the enter key before dumping concise summaries of the user's settlements
  4. Fixed a type in Survivor.set_weapon_proficiency_type() that prevented proficiency type from being unset.
  5. Bogus/redundant updates to survivor Weapon Proficiency type now fail gracefully and do not modify the survivor.
  6. Updated the Survivor class to have a custom save() method (that will be our de facto post-process).
  7. Weapon Proficiency assets now include two new attributes: 'specialist_ai' and 'mastery_ai', which are the handles of the A&I assets for their specialization and mastery, respectively.
  8. The Survivor.add_game_asset() method now supports the 'excluded' attribute of game assets and will automatically remove excluded handles on addition.
  9. Added a new Survivor class method, set_partner(),  which supports bi-directional partner set and unset actions:
    1. Added support for a new route, /survivor/set_partner/<oid>, that allows the setting/unsetting of the survivor's partner.
    2. Documented the route

No comments:

Post a Comment