CustomAssetsLibraryPluginIntegratedExtension
By LordAshes and Hollofox, Custom Assets Library Plugin Interated Extension adds addition features such as auras, effects, filters, animations and sound.
Last updated | 11 months ago |
Total downloads | 23299 |
Total rating | 3 |
Categories | Tweaks Networked Tools Integration Assets Minis Effects Tiles Props |
Dependency string | PluginMasters-CustomAssetsLibraryPluginIntegratedExtension-2.5.0 |
Dependants | 6 other packages depend on this package |
This mod requires the following mods to function
bbepisTaleSpire-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.10LordAshes-FileAccessPlugin
Provides standardized methods for accessing both local file and url resources. Automatically handles searching local folders for assets.
Preferred version: 1.4.1HolloFox_TS-RadialUIPlugin
This is a developer tool based package used to manage and configure Radial UI Menus.
Preferred version: 2.4.0LordAshes-AssetDataPlugin
Dependency plugin for subscription/notification based data storage and message exchange.
Preferred version: 3.2.1README
Custom Assets Library Plugin Integrated Extension
The Custom Assets Library Plugin Integrated Extension adds additional functionality such as auras, effects, filters, transformations, animations and sound to custom assets. Previously this was part of CALP but it has been moved to it own plugin so that if this more complex plugin fails due to a BR update, the core CALP code can still function.
Changelog
2.5.0: Added clean function which stops all creature animations, stops all audio, and removes all auras and filters.
2.5.0: Added code to remove board filters when board is being changed (this prevents bringin over filters from previous boards).
2.4.4: Added more attempt at recovery if an exception occurs in the main loop.
2.4.3: Added attempt at recovery if an exception occurs in the main loop.
2.4.1: Added animation information to object analyze function
2.4.0: Added code to remove blend shape animations left on for assets that no longer exist.
2.3.1: Updated for compatibility with BR Slab Browser udpate.
2.3.0: Added Baby Mode for those people that just can't help pressing modifier keys while spawning content.
2.2.0: Fixed filter removal. Re-select the same filter from library to remove it.
2.2.0: Fixed multi slab library functionality.
2.1.1: Fixed compatibility with latest BR update.
2.1.0: Fixed compatibility with latest BR update.
2.0.2: Fixed typo causing an exception.
2.0.1: Exposed local request triggers to configuration file.
2.0.0: Implemented proper Aura spawning.
...
1.0.0: Initial release.
Installing With R2ModMan
This package is designed specifically for R2ModMan and Talespire. You can install them via clicking on "Install with Mod Manager" or using the r2modman directly.
Player Usage
Once enabled, this plugin provides additional functionality as outlined below.
Default Keyboard Shortcuts
CALP has a bunch of keyboard shortcuts for triggering additional functionality. The default keys can be reconfigured to other keys by editing the R2ModMan configuration for the CALP plugin. Keyboard shortcuts are divided into two sub-sections: functionality triggers and asset spawn modifeirs.
Functionality Triggers
Press these keys while a mini is selected to trigger the corresponding effect if supported.
+-----------------+------------------------------------------------------------------+
| Modifier Keys | Results |
+-----------------+------------------------------------------------------------------+
+-----------------+------------------------------------------------------------------+
| LControl + 1 | Trigger Animation "Anim01" |
+-----------------+------------------------------------------------------------------+
| LControl + 2 | Trigger Animation "Anim02" |
+-----------------+------------------------------------------------------------------+
| LControl + 3 | Trigger Animation "Anim03" |
+-----------------+------------------------------------------------------------------+
| LControl + 4 | Trigger Animation "Anim04" |
+-----------------+------------------------------------------------------------------+
| LControl + 5 | Trigger Animation "Anim05" |
+-----------------+------------------------------------------------------------------+
| LControl + 6 | Trigger Animation "Anim06" |
+-----------------+------------------------------------------------------------------+
| LControl + 7 | Trigger Animation "Anim07" |
+-----------------+------------------------------------------------------------------+
| LControl + 8 | Prompt for animation name and play it |
+-----------------+------------------------------------------------------------------+
| LControl + 9 | Start playing associated audio |
+-----------------+------------------------------------------------------------------+
| LControl + 0 | Stop all (animation, audio and blend shape sequences) |
+-----------------+------------------------------------------------------------------+
| LAlt + 1 | Toggle Blend Shape Sequence 1 |
+-----------------+------------------------------------------------------------------+
| LAlt + 2 | Toggle Blend Shape Sequence 2 |
+-----------------+------------------------------------------------------------------+
| LAlt + 3 | Toggle Blend Shape Sequence 3 |
+-----------------+------------------------------------------------------------------+
| LAlt + 4 | Toggle Blend Shape Sequence 4 |
+-----------------+------------------------------------------------------------------+
| LAlt + 5 | Toggle Blend Shape Sequence 5 |
+-----------------+------------------------------------------------------------------+
| LAlt + 6 | Toggle Blend Shape Sequence 6 |
+-----------------+------------------------------------------------------------------+
| LAlt + 7 | Toggle Blend Shape Sequence 7 |
+-----------------+------------------------------------------------------------------+
| LAlt + 0 | Alternate Stop all (animation, audio and blend shape sequences)* |
+-----------------+------------------------------------------------------------------+
+-----------------+------------------------------------------------------------------+
| LControl + S | Multi Slab Paste |
+-----------------+------------------------------------------------------------------+
+-----------------+------------------------------------------------------------------+
| RControl + A | Analyze and log selected minis' renderer information |
+-----------------+------------------------------------------------------------------+
+-----------------+------------------------------------------------------------------+
| LAlt + Home | Clean board of all animations, sound, auras and filters |
+-----------------+------------------------------------------------------------------+
- = Same functionality as Stop All just on a different keyboard shortcut
Asset Spawn Modifiers
When selecting an asset from the Talespire Library the asset will be loaded based on the kind specified in the asset bundle or as a creature if the asset does not specify the kind in its info.txt file. However, it is possible to override the kind indicated in the asset bundle with a different kind by holding down the corresponding modifier key while selecting it from the library and when placing it down (if applicable). The following tables show what modifier keys select what kind:
+-----------------+------------------------------------------------------------------+
| Modifier Keys | Resulting Kind |
+-----------------+------------------------------------------------------------------+
+-----------------+------------------------------------------------------------------+
| None | Uses kind specified in asset bundle or creature if not specified |
+-----------------+------------------------------------------------------------------+
| Left Shift | Processes spawn as if the kind was effect* |
+-----------------+------------------------------------------------------------------+
| Right Shift | Processes spawn as if the kind was transform* |
+-----------------+------------------------------------------------------------------+
| Left Control | Processes spawn as if the kind was aura |
+-----------------+------------------------------------------------------------------+
| Right Control | Processes spawn as if the kind was creature |
+-----------------+------------------------------------------------------------------+
| Left Alt | Processes spawn as if the kind was filter* |
+-----------------+------------------------------------------------------------------+
| Right Alt | Processes spawn as if the kind was audio |
+-----------------+------------------------------------------------------------------+
See Custom Assets Library Plugin (CALP) for more details on the meaning of the different kinds.
Note 1: Effect types are currently treated the same a creature types but may be different in the future. Note 2: Transforms are not yet supported and may be removed completely since core TS has a similar function. Note 3: Filters are not yet supported but will be soon. Note 4: When using modifier keys ensure that the modifier key is held down for the entire duration, after library selection click, until the desired result is visible. For example, with Auras ensure that the key is held down until the aura appears and snaps to the selected mini.
Asset Types
To avoid duplication, see the CALP documentation for the various differences between the different kind of assets.
Configuration
The R2ModMan configuration can be edited to tweak settings. The following settings can be changed:
- Diagnostic mode level. Set to Ultra when getting logs for trouble shooting.
- Default keys for most CALPIE functions.
- Show Hide Update Delay: Delay in seconds after an asset loads before Non-TS content is synced. If this value is too low, content may not hide on board load. If this value is too high there will be a long delay before content is hidden on board load.
Blend Shape Sequencer
To use blend shapes, add the blend shapes property to the info.txt file similar to the following:
{
"name": "Star Gate",
"kind": "Creature",
"groupName": "Portals",
"description": "Star Gate Atlantis",
"tags": "Star Gate, Atlantis",
"author": "Lord Ashes",
"version": "1.0",
"comment": "Blender 2.9",
"size": 1.0,
"assetBase": "Default",
"blendshapes":
[
{
"elements":
[
{ "style": 1, "blendShapeIndex": 1, "start": 0.0, "end": 100.0, "step": 100.0 },
{ "style": 1, "blendShapeIndex": 2, "start": 0.0, "end": 0.0, "step": 100.0 },
{ "style": 1, "blendShapeIndex": 3, "start": 0.0, "end": 100.0, "step": 100.0 },
{ "style": 1, "blendShapeIndex": 4, "start": 0.0, "end": 100.0, "step": 100.0 }
]
},
{
"elements":
[
{ "style": 1, "blendShapeIndex": 1, "start": 100.0, "end": 0.0, "step": -2.0 },
{ "style": 1, "blendShapeIndex": 2, "start": 0.0, "end": 0.0, "step": 100.0 },
{ "style": 1, "blendShapeIndex": 3, "start": 0.0, "end": 100.0, "step": 100.0 },
{ "style": 1, "blendShapeIndex": 4, "start": 0.0, "end": 100.0, "step": 100.0 }
]
}
]
}
Each set of elemets is a Blend Shape Sequence (triggered using LALT+#). The sequence can set one or more blend shapes. In this case, all blend shapes are being set each time to ensure that the asset is in a correct state but that is not required. Each entry in the elements section has:
style
= 1: Single (from start to end), 2: PingPong (from start to end to start), 3: Loop
blendShapeIndex
= The number of the actual blend shape (starting at 1)*
start
= The starting value of the blend shape (0 to 100)
end
= The ending value of the blend shape (0 to 100)
step
= The rate at which the value is changed**
*
= With log set to "ultra", run a blend shape sequence to see the order of the blend shapes
**
= Set step to 100 in order to set a value without transitioning from start to end
***
= To be able blend shape sequence from 0 to 100 and 100 to 0, two blend shape sequences
are needed. The Blend Shape Sequence is not a toggle.
Multi Slabs
Paste content with the following format using the Multi Slab Paste:
[
{
"position": {"x": 0, "y": 0, "z": 0},
"code": "H4s...QkIgLpAQAAA=="
}
,
{
"position": {"x": 20, "y": 20, "z": 20},
"code": "H4s...TJVTAOAAA"
}
]
Note: Code above has been abridged for documentation purpose. Note that code should not include the 3 starting and/or ending apostrophes.
To add Multi Slab content to the library, create an regular asset bundle with the "code" property with a string of the desired Multi Slab code (as per the format above).
Modifier Relief Modes
By default we are adults capable of spawning assets without pressing modifier keys (when we don't intentionally mean to), so the default mode is Normal. However, for those that just can't help themselves and bash modifier keys while spawning assets, there are two options which can be set using R2ModMan Edit Config option:
Diabled
If you don't use modifier keys at all, you can now disable them by setting the Modifier Mode to Disabled. In this case, you can pound the modifier keys all you want but CALPIE will ignore them.
Scroll Lock (aka Baby Mode)
If you use modifier keys but keep pressing them accidentally then Baby Mode is for you. In this mode, the modifier keys are only active when the Scroll Lock key is active. So keep Scroll Lock turned off to prevent accidental use of modifier keys and only toggle it on when you intentionally want to use modifier keys.
Limitations
Auras (and eventually filters) have been re-implemented using a more proper solution. However, there may be issues using auras when the base or the aura uses morphs (or CALPIE Variants). This issue is being worked on but there is not current work around except to avoid using Morphs if they cause problems with your auras.
Notes
-
Kind Effect is still a legal kind. While it does the same as Kind Creature, it is being supported for backwards compatibility and for possible differences in the future.
-
Blend Shape speed uses Update cycles as opposed to actual time and thus sequences may be faster or slower depending on CPU. Currently there is no compensation for this. In future version a configurable parameter will be added to adjust sequencing speed.