Daggerheart Data Exchange Protocol
Overview, Goal
The Daggerheart Data Exchange Protocol aims to establish a common standard format for representing and sharing Daggerheart data across various platforms, with seamless interoperability and easy-to-track sources.How to use
- Each data type has a defined JSON schema that outlines the structure and required fields.
- Markdown styling could be used for text fields to allow for rich formatting.
- Send the data in JSON format via the contact email, and i'll publish it in the searcher (and credit you as the source).
JSON Format
JSON (JavaScript Object Notation) is the, lightweight, text-based standard for exchanging data between applications, particularly between web servers and clients. It is language-independent, readable, and structured in key-value pairs or arrays. JSON is widely used for APIs, configuration files, and data storage due to its simplicity and ease of use across different programming languages.Adversaries
The following structure could be used for an adversary entry:
{
"label": "Alligator",
"tier": 1,
"type": "Skulk",
"description": "An aquatic reptile with huge teeth.",
"motive": "Drag into water, feed, roll",
"difficulty": 13,
"threshold_major": 8,
"threshold_severe": 15,
"hp": 5,
"stress": 2,
"attack_bonus": 2,
"attack_label": "Bite",
"attack_range": "melee",
"attack_damage": "1d8 +3 phy",
"attack_damage_type": "phy",
"experiences": [
"Hide in water+2"
],
"features": [
"Bite and Drag — Passive: Whenever the alligator hits with a bite attack, the target becomes restrained until the make a strength roll or the alligator takes major damage. The alligator can then move itself and the target into a body of water within close range.",
"Death Roll — Action: Spend a Fear and target a creature the alligator currently has restrained. The target takes 2d12 damage and has disadvantage on its next roll to escape restraint."
],
"meta": {
"source": {
"origin": {
"title": "Adversaries Almanac: Common Foes [link](https://www.drivethrurpg.com/en/product/533055/adversaries-almanac)",
}
}
}
}
Adversary Field Reference
Field
Type
Description / Allowed values
label
string
Display name of the adversary.
tier
integer
Tier or level of the adversary.
type
string
Role or category, for example: Skulk.
description
string
Short descriptive text about the adversary.
motive
string
Short text describing the adversary’s intent or behavior.
difficulty
integer
Difficulty target associated with the adversary.
threshold_major
integer
Damage threshold for a major hit.
threshold_severe
integer
Damage threshold for a severe hit.
hp
integer
Hit points.
stress
integer
Stress value.
attack_bonus
integer
Bonus applied to attacks.
attack_label
string
Name of the attack, for example: Bite.
attack_range
enum string
Allowed values: melee, close, far, very far.
attack_damage
string
Damage expression, for example: 1d8 +3 phy.
attack_damage_type
enum string
Allowed values: phy or mag.
experiences
array of strings
List of experience entries, each as text.
features
array of strings
List of features, traits, actions, passives, or special rules as text.
meta.source.origin.title
string
Source title. Can include markdown-style text if you want to preserve a link reference.
All text fields should be plain strings. Numeric fields should be integers. Enumerated fields should use one of the allowed values listed above.