Standardized resources
- Standardizes Resource definitions.
This revises the way Actor resources are handled to allow them to be defined in one place (at tome.load), simplifying their definition, eliminating the need for most hooks to handle them, and making them easier for the AI to manage properly. The corresponding MR for Orcs is at: http://git.net-core.org/tome/tome-orcs/merge_requests/6
Engine: ActorResource:defineResource can now take a parameters field that merges additional information into the definition. An extra check is added to prevent redefining an existing resource. Defining a new resource now defines the string fields getFunction, getMinFunction, getMaxFunction, incFunction, incMinFunction, incMaxFunction to allow indirect reference to the correct resource functions from the definition. Added support for an invert_values flag (resource increases when used), and sustain_prop and drain_prop fields for sustained talents. This allows the module code to loop through all the defined fields/functions when checking for the corresponding properties in actor and talent tables.
ToME: Hard coded resource references have been replaced with a loop checking all defined sustains for: Actor:act (canceling sustains) Actor:resetToFull (will replenish all defined resources by default) Actor:checkPool, Actor:learnPool, Actor:learnTalent, Actor:unlearnTalent, Actor:preUseTalent, Actor:postUseTalent, Actor:getTalentFullDescription This eliminates the need to use the hooks/callbacks in these functions for (almost) all defined resources. Added comments in tome:load to explain for addon developers how to create resource definitions to take advantage of these changes.
Resource definitions can set .hidden_resource = true to prevent display in various player interfaces. Resource definitions have a .color ("#COLOR#") field set to display resources with a consistent color in various places.
Updated the Classic and Minimalist uisets and the CharacterSheet to look through the list of all defined resources for resource values to display. Classic uiset: Fixed some formatting problems that were causing some resource values not to display properly. Added some variables to make resizing the player panel easier in the future. Added the log_lines parameter to the Game Options menu.
Minimalist uiset: Reformatted resource graphics/text to be more clear and to avoid unreadable text. The ui will go through a series of default checks to search for appropriate graphics for each resource.
The general tab of the CharacterSheet has been adjusted to provide room for more resources and will now display their regeneration values.
Added/updated tooltips for several ui elements.