LordAshes-MonsterStatsPlugin icon

MonsterStatsPlugin

Plugins to automatically try to add stats to a newly spawned mini based on the mini name and stats available on Roll20.

Last updated 2 weeks ago
Total downloads 1700
Total rating 0 
Categories Tweaks Networked Tools Integration Assets Minis
Dependency string LordAshes-MonsterStatsPlugin-1.2.0
Dependants 3 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.0 icon
brcoding-SetInjectionFlagPlugin

Allows players to flag mods are installed

Preferred version: 2.3.0
LordAshes-FileAccessPlugin-1.3.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.3.1

README

Monster Stats Plugin

This unofficial TaleSpire mod attempts to set the stats for newly spawned minis based on the default mini name and stats available on Roll20.

Change Log

1.2.0: Updated for compatibility with Taleweaver update
1.1.1: Fixed packing error. No changes to plugin.
1.1.0: Stat Lookup only done when holding Left+ALT when dropping a mini to the board.
1.1.0: Fixed placement of the CustomData folder to avoid dictionary and banner exceptions.
1.0.0: Initial release.

Install

Use R2ModMan or similar installer to install.

Usage

When placing a mini on the board, hold the LEFT ALT key when clicking the mouse button for the mini drop. This will tell the plugin that you want to look up the monster stats for that particular mini. When dropping converter props, do not hold LEFT ALT while dropping, to avoid the monster stats lookup.

Set the desired game system before play using the text box in the top right corner of the screen. The plugin initially comes with a 5E provider using stats from Roll20. This should allows getting stats for all SRD creatures and getting stats for any creatures in any digital source books that have been purchaed on Roll20 is the user has logged in to the account.

This plugin does, initially, have a map between the non-game-specific names used in Talespire and the 5E creature set which means that adding a creature to the board can result in one of the following possibilities:

  1. The creature's name is found online and is the only match. In this case the creatures stats will be applied with no additional interaction.

  2. The creature's name results in multiple possibilities online. In such a case, the list of possibilities will be displayed for the user to choose which stats to apply.

  3. The creature's name does not match any results online. In such a case, a message indicating that the corresponding creature could not be found is displayed.

There is also the possibility that only option or the selected option from the creature list, results in a creature that is only available in a source book that the user had not purchased. In such a case, an appropriate message will be displayed.

Assuming a match is found, the corresponding stats will be copied to the mini if they match the campaign stats. Currently the plugin collects HP, AC, Speed, STR, DEX, CON, INT, WIS, CHA. Where the ability code stats will show both the modifier and the stat value.

Dictionary: Refining The Creature Mapping

In some cases the generic Talespire name for creatures will not be found online but stats for the creature actually exist online. In such a case, the dictionary feature can be used to re-map the creature name to different key words. Currently this is a manual process but can be done at runtime. In the folder:

LordAshes-MonsterStatsPlugin\\CustomData\\{Edition}\\

Where {Edition} is the game system being used such as 5E, the is a file called Dictionary.json. This file can be edited to add additional mappings. It is a simple dictionary where the key is the exact Talepsire creature name and the value is the keyword or keywords that the plugin should use to look up the creature. For example, the default entry of:

{
  "Orc Warrior": "Orc"
} 

Tell the plugin to search for only the word "Orc" when the "Orc Warrior" mini is dropped. This avoids creatures which have Warrior in the name but may not be orcs.

Custom Content

In addition, the user can add custom creatures and/or override the stats of existing creatures. To do this create a text file, with the extension "kvp" (key value pair), and a file name that matches the Talespire creature name or the dictionary value if the Talespire name was changed via the dictionary (see above).

Within the file, enter the stats of the creature, one per line using the format Stat=Value. Currently the following stats are supported:

HP, AC, Speed, STR, STRMod, DEX, DEXMod, CON, CONMod, INT, INTMod, WIS, WISMod, CHA, CHAMod.

For example:

HP=15
AC=13
Speed=30
STR=12
STRMod=1
DEX=14
DEXMod=2
CON=16
CONMod=3
INT=10
INTMod=0
WIS=8
WISMod=-1
CHA=18
CHAMod=4

Limitations

Currently when minis are copied the plugin is triggered. This makes adding a lot of the same mini a huge pain. Future version will, hopefully, eliminate this problem but for now a possible work around is to add one of each type of monster to the board, turn off the plugin, and perform the copy of minis.