LordAshes-RollPostPlugin icon

RollPostPlugin

Posts rolls to a web server address in JSON format.

Last updated 2 years ago
Total downloads 836
Total rating 0 
Categories Networked Integration Assets
Dependency string LordAshes-RollPostPlugin-1.3.2
Dependants 0 other packages depend on this package

README

Roll Post Plugin

This unofficial TaleSpire mod posts rolls to a web server using JSON encoding.

This plugin, like all others, is free but if you want to donate, use: http://LordAshes.ca/TalespireDonate/Donate.php

Change Log

1.3.2: Fixed bug with player name 
1.2.1: Removed trailing comma in the d20 JSON post
1.2.0: Added selected mini and selected mini id into d20 post
1.1.0: Added option for full roll result posting
1.0.0: Initial release

Install

Use R2ModMan or similar installer to install.

Configure the URL using R2ModMan Edit Config option for the plugin.

Each player needs a copy of the plugin to use it.

Usage

There are two mode: d20Only and not d20Only.

d20Only Mode

When a roll is made, if the die is a D20, the roll will be sent as a POST to the specified URL and the contents of the roll will be provided as the contents of the POST in JSON format. For example:

{
  "player": "LordAshes",
  "name": "initiative",
  "mini": "Human Warrior",
  "id": "3b6bf1b5-453b-4c1e-9dbc-a82258f86128",
  "formula": "1D20+5",
  "die": "4",
  "total": "9"
}

Not d20Only Mode

When a roll is made, regardless if it is a D20 roll or not, the full Talespire Roll Result object is sent to the URL via POST with the JSON serialized roll result as the content. Unlike the d20Only mode, this content supports multiple dice and even multiple roll totals. The content will look similar to:

{
  "RollId":100001,
  "GroupResults":
  [
    {
	  "Name":  "Inspiration",
	  "Dice":
	  [
	    {
		  "Resource": "numbered1D20",
		  "Results": [11],
		  "Modifier": 3,
		  "DiceOperator":0
		}
      ]
	}
  ]
}

The RollId can be ignored, it is used by Talespire internally. The Name may be empty if the roll was made in Talespire without associating the roll with a name. DiceOperator 0 is plus. DiceOperator 1 is minus.

Server Side Example

The plugin does not provide the web server portion. That is scope of others. However, below is a simple PHP script that captures the posted JSON content as a string:

<?PHP
  $json = file_get_contents('php://input');
?>