

#Asset Naviagtion & General Execution Library (ANGEL) Plugin
This is an unoffical Talespire plugin which allows use of Asset Bundle custom content assets in Talespire. Typically these assets are obtained via R2ModMan from Thunderstore but can be obtained by other means as long as the containing folder follows the R2ModMan deployment process.
This plugin replaces Custom Asset Library Plugin (CALP) and eventually will integrate the functionality of Custom Asset Library Plugin Integrated Extension (CALPIE) but CALPIE functionality has not been integrated yet.
Supported Features:
- Basic Static Asset Bundle Assets - Spawns with own base
- Aura/Effects - Spawns attached to selected mini
- Filters - Spawns attached to the camera
- Audio - Allowing playin asset audios
- Animate - Allowing playing asset rigged animations
- Morph - Allows swapping between Angel assets
- Variants - Allows swapping between Angel assets
- Size - Allows info.txt file to dictate the default base size
- Analyze - Diagnostic tool for analyzing assets
##Change Log:
1.7.0: Changed Angel content attachment point to allow compatibility with fly mode
1.7.0: Optimized Show/Hide code for greater performance
1.6.3: Added warning about perforance when running debug or trace diagnostics
1.6.2: Moved visibility logging from debug to trace (improving performance when running debug)
1.6.1: Sorted menu groups
1.6.0: Fixed stealth mode.
1.5.5: Added Variants.
1.5.5: Added Size.
1.5.5: Added Aura Modifiers.
1.5.1: Morph bug fix and re-assignment of default binding keys.
1.5.0: Basic morph functionality added.
1.4.0: Added rigged animation functionality.
1.3.0: Fix bug with filters coming back.
1.3.0: Added custom sound.
1.3.0: Added custom mini analysis function.
1.2.1: Repack with missing filter icon. No plugin change.
1.2.0: Added Filters
1.1.0: Added Aura/Effects
1.0.0: Initial Release
##Installation:
##Usage:
The plugin provides a Thunderstore asset library similatr to the core library but showing only asset bundle based assets. The library is navigated in a similar manner to the core library.
Left Hand Icons: These indicate the category (kind) of assets such as Creature, Aura, Effect, Prop, Slab.
Mid Buttons: These are groups within the category used to organize the assets. If there are more groups than can be dispalyed
the arrows to the right of the groups can be used to cycle though the groups.
Right Hand Icons: Assets that can be added to the board. Displayed in two rows. Arrows can be used to cyclce though a row at
a time when more assets, than the screen can show, are available within the selected group.
Bottom Screen: This areas show information about the asset that was last under the mouse pointer.
F10.LCTRL+1 through LCLTL+8 = Play the indicated animation in the asset's animation list.
LCTRL+9 = Prompt for a animation name (or partial name) and play the first animation, in the asset's animation list, that matches.
LCTRL+0 = Stop all animations.
Note: Animations are not persistent. If an animation is playing at the end of the session, it will not resume in the next board/session.
LALT+1 through LALT+8 = Play the indicated audio in the asset's audio list.
LALT+9 = Prompt for a audio name (or partial name) and play the first audio, in the asset's audio list, that matches.
LALT+0 = Stop all audio.
Note: Asset audios are not persistent. If an audio clip is playing at the end of the session, it will not resume in the next board/session.
When a mini is spawmed, morphs can be added to it which then allows the user to cycle through the various morphs. The current functionality provides only basic morph functionality with no UI for the morph functionality. It does not use the core TS morph menu.
RSHIFT+RCTRL while clicking the menu selection.Note: A double modifier (RSHIFT+RCTRL) was chosen to minimze the chance of accidentally holding the keys while selecting.
Use the same process, selecting an asset from the Angel menu that is already in the morph list, to remove the asset from the morph list.
Cycle between the different morphs using the Cycle Morphs key. Default: F11.
To spawn a creature asset as an aura, while an Angel asset is selected, hold down LSHIFT+LCTRL while selecting the asset (to be
turned into an aura) from the library.
Note: This is not necessary for actual aura assets. This is only necessary when the asset is a creature but the user want to use it like and aura.
F1 = Dump custom mini analysis to the log. Includes CBA data, animations, audio, and heirarchy analysis.
##Diagnostics
When Angel is running in Debug or Trace diagnostics, it can significantly affect the performance. This occurs because these levels generate a lot of good disgnostic level for troubleshooting problems but due to the numerous log write, it slows down the plugin significantly (especially Trace). To avoid this performance hit, use a diagnostic level of None, Error, Warning, or Info when using Talespire. Switch to Debug or Trace only when getting logs for troubleshooting.
There are two places where you may need to set the diagnostic level. The angel plugin has its own diagnostic level which can be set using R2ModMan Config Editor. However, the Logging Plugin, which ANGEL uses for logging, has a option to override plugin diagnostic levels and use the one specified in the Logging Plugin instead. Ensure that the "Allow Plugins Logging Level" is set to true in the Logging Plugin configuration or set the desired logging level on the Logging Plugin itself.
##Persistence
The Angel Plugin avoids using Asset Data Plugin (ADP) for storing content because ADP has one large flaw - it needs other players connected when making changes (such as turning on Light plugin or using Angel plugin). This was someone address by adding the Redistribute feature added to Asset Data Plugin but this is not ideal since it requires manual action by the DM.
Instead Angel uses a tactic similar to Stat Messaging where it stores the information on a Talespire property that Talespire replicates as part of the core functionality. In this case, Angel uses the Link as opposed to the Name property.
This works well for Asset Bundle minis and Auras/Effects since the receiving mini has a Link property. However, this concept fails when it comes to filters (such as weather) because filters are attached to a camera as opposed to a mini and cameras don't have a link property.
As a result, when dealing with filters, the Angel plugin provides solution:
StorageBase) then any filters will
be stored with that base and will be restored on next session. The GM can hide the StorageBase to prevent it from being seen by the players.StorageBase) then any filters will
be stored with that base and will be restored on next session. You can then make that StorageBase unique to be able to carry it to new boards
and thus persist filters across boards changes.Note: Audio and animations are not persistent, they will be removed on board load or next session.
##Limitations:
.Cache sub-folder, to remove the assets file and the angel.portraits.* files.Link of creatures are used to hold the asset bundle data. If using the Link feature, the plugin content needs to be
appended to the end of the link or the asset will revert to just a base on next load. Most link will not have a problem with the
addition becuase it is added as a query parameter.##Thunderstore Asset Pack
Thunderstore packs support a number of different types such as Creature, Aura, Effect, Filter, etc. Since these functions
where performed by CALPIE and currently the ANGEL Plugin only supports CALP functionality, all assets will be treated as Creature type
regardless of their kind. They will still be placed under the appropriate category icon but auras and effects will not snap to selected
minis and filters will not snap to the camera. Instead they will all be spawned with a base like a Creature mini. This will change once
CALPIE functionality is integrated into the ANGEL Plugin but not at the moment.
##Dark Angel (Disclaimer)
If this plugin is used in a manner which is identified as a way that the plugin should not be used in, including but not limited to the plugin being used if marked dead/broken/obsolete and the plugin detects this, it may heckle the users or play harmless pranks on the user. If the user follows the basic usage of this plugin including checking for obsoleteness aftter updates, they won't be heckled or pranked.