LordAshes-CharacterSheetsPlugin icon

CharacterSheetsPlugin

Adds customizable character sheets. Supports any edition. Clicking character sheet entry causes roll. Now accessible from Info radial menu.

Last updated a month ago
Total downloads 10270
Total rating 4 
Categories Tweaks Client-side Networked Tools Integration Assets Minis
Dependency string LordAshes-CharacterSheetsPlugin-2.4.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

bbepisTaleSpire-BepInExPack-5.4.10 icon
bbepisTaleSpire-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.10
brcoding-SetInjectionFlagPlugin-2.3.1 icon
brcoding-SetInjectionFlagPlugin

Allows players to flag mods are installed

Preferred version: 2.3.1
HolloFox_TS-RadialUIPlugin-2.6.0 icon
HolloFox_TS-RadialUIPlugin

This is a developer tool based package used to manage and configure Radial UI Menus.

Preferred version: 2.6.0
LordAshes-FileAccessPlugin-1.4.1 icon
LordAshes-FileAccessPlugin

Provides standardized methods for accessing both local file and url resources. Automatically handles searching local folders for assets.

Preferred version: 1.4.1
PluginMasters-Winforms_Patch-1.0.0 icon
PluginMasters-Winforms_Patch

Patch to re-enable winforms

Preferred version: 1.0.0

README

Character Sheets Plugin

This unofficial TaleSpire plugin is for adding character sheets to TaleSpire. Character sheet layout is completely customizable and supports any edition. Clicking on entries on the character sheets initiates a correspoding roll using the Chat Roller plugin.

Preview

Note: Preview shows a D&D 5E character sheet but any plugin allows defining system/edition character sheets.

Change Log

2.4.0: Fixed issue with Radial UI trigger
2.4.0: Removed Radial UI trigger cooldown
2.3.2: Updated for compatibility with Taleweaver BR update
2.3.1: Updated for compatibility with BR update
2.3.0: Buf fix for being able to have multiple sheets open at once
2.2.2: Updated dependencies in manifest file. No plugin change.
2.2.1: Made auto closing previous sheet on opening a new sheet a configurable option
2.2.0: Closes previous character sheet when a new one is opened
2.2.0: Uses region independent configuration
2.1.1: Added configurable for to be used for content as a fallback.
2.1.0: Re-added support to change the edition at runtime (RCTRL+I)
2.1.0: Added support for multiple modifiers.
2.1.0: Added extra loging during load to identify any problems with loading the character sheet.
2.0.0: Fix after BR HF Integration update.
1.4.0: Added passthru roll option allowing use of Character Sheets with plugins like Lookup Plugin.
1.3.1: Fixed issue with negative modifiers.
1.3.1: Added format checks and display messahes if roll format is not compatible with selected roll method.
1.3.0: Added option for ChatRoll based rolls (like before) or Talespire Dice rolls.
1.3.0: ChatRoll Plugin is no longer a forced dependency since you may use Talespire Dice instead.
1.2.0: Improved stats lookup so that partial names will not get replaced (e.g. WIS won't replace WIS_Save)
1.2.0: Migrated plugin from ChatRoller to ChatRoll.
1.1.1: Added Radial UI dependency.
1.1.0: Access is now available from the mini's radial menu using the Info icon and then Character Sheets icon.
1.0.1: Posted plugin on the TaleSpire main page
1.0.0: Initial release

Install

Download and install using R2ModMan. Also download ChatRoll Plugin if you want to use Chat Rolls.

Sample character background, layout and character sheet is found in CustomData folder of the plugin.

Usage

CharacterSheets allow different layouts to support more than one RPG edition at once. To select the desired edition press the Character Sheet Style hotkey (default CTRL+I). Type the edition into the input box. This entry is used as the prefix to the Character Sheet background file, the Character Sheet layout file and the Character Sheet data files. Normally this feature is used to switch between different RPG edition like DnD5e, DnD3.5e, PathFinder, etc. However, this technique can also be ued to switch between different Character Sheet layouts which as DnD5ECompact, DnD5EFull, etc.

To open a character sheet, press the Open Character Sheet kotkey (default CTRL+O) or use the Radial UI menu to select Info and then Character Sheet. When triggered by keyboard, this opens the Character Sheet for the currently selected mini (if one is selected). If triggered by Radial UI menu, this opens the Character Sheet for the Radial selected mini (which may or may not be the selected mini). The plugin uses the Creature Name for finding the corresponding character sheet, so ensure that the Name is set correctly on the mini.

Once the character sheet opens, any of the entries can be "rolled" by clicking on them. Static entries likes Name, Class, Race, Level, and Stats will just display the value to the chat (if open) and display the value in the mini's speech bubble. For actual roll entries like stat modifiers, stat saves, skills, attacks and so on, the corresponding roll is made and the results are displayed in the mini's speech bubble.

If trying the sample character sheet (after correctly installing the TaleSpire_CustomData folder as per the installation finstructions), use CTRL+I to set the stype to Dnd5e, ensure that the mini's name is Jon, and then use CTRL+O to open the sample character sheet.

Customizing

There are three files associated with a character sheet. One is character specific and contains all the character data while the other two are edition specific.

Character Sheets

Character sheets are text files with one key/value pair per line separated by a equal sign (=). They are located in the TaleSpire_CustomData/Misc folder. The name of the file is edition.name.chs. For example: Dnd5E.Jon.chs The contents of file is just a set of replacement that will be applied. For example, the entry "stealth=1D20+5" would mean that when the user rolls stealth (by entering "/r stealth" into the chat) it will be replaced with "1D20+5" instead and then the dice will be rolled. Replacements are made in the order they are listed.

If a roll consists of multiple modifiers, such as axe attack=1D20+{PB_MOD}+{STR_MOD}, to modifiers need to be enclosed in round brackets, such as axe attack=1D20+({PB_MOD}+{STR_MOD}). This will cause the modifeirs to get evaluated first to create one modifier total and then sent to the talespire protocol which only supports one modifier.

Character Sheets Pass-Thru Option

If the roll expression starts with a slash, it will not be evaluated and instead it will be send to the Chat allowing other plugins, such as Lookup plugin, to handle the roll expression instead. For example:

{USERSLOT03_NAME}=Sleep
{USERSLOT03}=Lookup
{USERSLOT03_ROLL}=/lu Sleep

The following would cause the Sleep link to send "/lu Sleep" to the Chat which, if the Lookup Plugin was present, would trigger the Lookup plugin to look up the sleep spell. Note that at this point it is not possible to do both: a roll and pass-thru.

Character Sheet Layouts

Layout files indicated the layout and content displayed on the character sheet. Layout files are edition specific with one layout file per edition. The name of the file is edition.CharacterSheetLayout.json. For example: Dnd5e.CharacterSheetLayout.json. The file is located in the TaleSpire_CustomData/Misc folder. The contents of the file are an array of visual elements. Each element can have the following properties:

name: The name of the visual element. Determines what keyword to look up in the character sheet to use as the display value.
text: Text to be displayed before the character sheet lookup value (e.g. skill name before the skill modifier). Default blank.
roll: The entry types into the chat for rolling.
position: x,y coordinates of the element on the character sheet.
size: Font size to be used when displaying the text and value.
width: Number of characters that the text and value is set to. Text is left aligned, value is right aligned.

{USERSLOTn}, {USERSLOTn_NAME} and {USERSLOTn_ROLL} are special entries which allow the common character sheet layout to be used be individual characters. A fighter may use the slots for various weapon attack rolls and damage rolls while a magic user may use these slots for magic rolls. If a {USERSLOTn} is not defined, it is not displayed.

Use the sample Dnd5e.CharacterSheetLayout.json as template to customize the character sheet contents and layout.

Character Sheet Backgrounds

Each edition is expected to have a corresponding PNG file which is used as the background of the character sheet. Currently these files are edition (but not characters) specific. The file name is edition.CharacterSheet.PNG. The file should be in the TaleSpire_CustomData/Images folder (not the TaleSpire_CustomData/Misc folder).

Single Vs Multiple Sheets

The plugin has an option to automatically close previous sheets when a new sheet is opened. This prevents a user from opening a sheet, rolling, having the sheet go into the background, opening the same sheet again, rolling, and having it go into the background and thus ending up with multiple copies of the same sheet. However, for the GM it may be desirable to keep multiple sheet open for different enemies. As such a setting in the plugin configurations can turn this "Keep One" feature on or off. The recommended setting is "true" for players (unless they have more than one sheet that they use) and "false" for GM.

Updating

The character sheet data is re-read every time the character sheet is opened. As such, properties such as "rage" or other class features can be turned on and off by editing the character sheet data (outside of Talespire) and then closing the character sheet if open and then re-opening it. The character sheet should then have the updated data.