

This unofficial TaleSpire pluigin provides a Common Customs Menu (CCM) version of ANGEL plugin for getting custom mini content into Talespire incluing creatures, auras, effects, and filters. Integrates with CCM to provide a common look and feel as other custom content plugins. Designed to be highly resilient to prevent breaking after BR updates.
1.0.4: Added Blendshape Sequencer
1.0.4: Added Variants
1.0.4: Bug fix for triggering animations
1.0.3: Added morphs functionality (add and cycle)
1.0.3: Bug fix to prevent portraits generating errors
1.0.2: Updated to use CCM version 1.0.2 to use CCM provided SafeCalls code
1.0.1: Updated to use CCM version 1.0.1 and add registration notification to the main screen
1.0.0: Initial release
Use R2ModMan or similar installer to install this asset pack.
This plugins makes use of Asset Data Plugin and Hide Base Plugin if they are available.
However, they are not an actual dependency (and thus not downloaded automatically) so that the plugin can still work (mostly) without them.
As such, for ideal functionality, please download Hide Base Plugin and Asset Data Plugin (along with a message distributor like Chat Service Plugin).
All keyboard bindings can be reconfigures in the plugin's configuration.
Open the Common Customs Menu to select assets.
Use keyboard shortcuts to activate actions. Actions are lised with default shortcut.
{LALT+1} = Animation 01
{LALT+2} = Animation 02
{LALT+3} = Animation 03
{LALT+4} = Animation 04
{LALT+5} = Animation 05
{LALT+6} = Animation 06
{LALT+7} = Animation 07
{LALT+8} = Prompt for Animation name
{LALT+9} = Stop Animation
{LALT+0} = Stop Animation (Used for Full Stop)
{LCTRL+1} = Audio 01
{LCTRL+2} = Audio 02
{LCTRL+3} = Audio 03
{LCTRL+4} = Audio 04
{LCTRL+5} = Audio 05
{LCTRL+6} = Audio 06
{LCTRL+7} = Audio 07
{LCTRL+8} = Prompt for Audio name
{LCTRL+9} = Stop Audio
{LCTRL+0} = Stop Audio (Used for Full Stop)
{LSHIFT+1} = Sequence 01
{LSHIFT+2} = Sequence 02
{LSHIFT+3} = Sequence 03
{LSHIFT+4} = Sequence 04
{LSHIFT+5} = Sequence 05
{LSHIFT+6} = Sequence 06
{LSHIFT+7} = Sequence 07
{LSHIFT+8} = Prompt for Sequence name
{LSHIFT+9} = Stop Sequence
{LSHIFT+0} = Stop Sequence (Used for Full Stop)
{RCTRL+1} = Analyze selected asset (result sent to logs)
{RCTRL+2} = Rename asset (allows players to rename assets)
{RCTRL+3} = Edit link (ANGEL information)
There are four base types in ANGEL:
+-------------+---------------------+-------------------+---------------------+
| Type (Kind) | Base | Base Visibility | Removal |
+-------------+---------------------+-------------------+---------------------+
| Aura | Selected Mini Base | Visible | Reselect Same Aura |
| Creature | New Base | Visible | Delete Base |
| Effect | Base | Invisible | Delete Base |
| Filter | Base | Invisible | Delete Base |
+-------------+---------------------+-------------------+---------------------+
The Common Customs Menu may have other categories beyond these four but all ANGEL assets resolve down to one of these four kinds. For example, the Prop category may resolve down to Effect kind but a Prop category.
When a asset is spawned, if the {SCROL LOCK} key is on, modifier mode is active.
In this mode, pressing certain modifier keys (ALT, CTRL or SHIFT) casues the asset to be
spawned as a different type (kind) than the content indicates.
This can be used in some niche situations such as when adding a familiar creature to active mini using Aura so that the familiar creature gets attached to the mini.
+--------------+---------------------+
| Modifier Key | Forced Type (Kind) |
+--------------+---------------------+
| {LALT} | Aura |
| {LCTRL} | Creature |
| {RALT} | Effect |
| {LSHIFT} | Filter |
| {RCTRL} | Prop (Effect) |
+--------------+---------------------+
The main feature of CCM plugins is that they are designed to be resilient to breaking due to BR or other changes. For this reason, the CCM version of ANGEL plugin tries to minimize the number of dependencies on which it relies since each of those could be a future failure point.
However, on the other hand, you don't want to re-invent the wheel for functions that already exist becuaue then you have multiple places where code does need to be updated if that functionality even need to be changed.
To address this, ANGEL uses soft dependencies. These soft dependencies use reflection to try to access the dependency plugin without actually making it a required dependency. For example, when ANGEL plugin needs to hide the base of a mini, it uses the Hide Base plugin. However, instead of the plugin needing Hide Base Plugin (and thus crashing if Hide Base Plugin is not available or changed) it essentially says "here is some information for the Hide Base Plugin if it exists and knows how to handle the informaion". That way if the use does not have Hide Base Plugin or the Hide Base Plugin has changed for some reason, the ANGEL plugin can still work. It may not be able to hide the base, but it won't completely fail.