83 lines
2.2 KiB
JSON
83 lines
2.2 KiB
JSON
{
|
|
"$schema": "../../../schema/entity-definition.json",
|
|
"id": "weapon",
|
|
"name": "Weapon",
|
|
"description": "5e Weapon entity definition inheriting from base item, specifying damage dice, damage type, and weapon properties.",
|
|
"ruleset_id": "open5e",
|
|
"version": "1.0.0",
|
|
"schema": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "item.json#/schema"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": ["damage_dice", "damage_type"],
|
|
"properties": {
|
|
"weapon_category": {
|
|
"type": "string",
|
|
"enum": ["simple", "martial"]
|
|
},
|
|
"weapon_range": {
|
|
"type": "string",
|
|
"enum": ["melee", "ranged"],
|
|
"default": "melee"
|
|
},
|
|
"damage_dice": {
|
|
"type": "string",
|
|
"description": "Damage formula e.g. 1d6, 1d8, 2d6."
|
|
},
|
|
"damage_type": {
|
|
"type": "string",
|
|
"enum": ["bludgeoning", "piercing", "slashing"]
|
|
},
|
|
"properties": {
|
|
"type": "array",
|
|
"description": "Standard 5e weapon properties.",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ammunition",
|
|
"finesse",
|
|
"heavy",
|
|
"light",
|
|
"loading",
|
|
"range",
|
|
"reach",
|
|
"special",
|
|
"thrown",
|
|
"two-handed",
|
|
"versatile"
|
|
]
|
|
}
|
|
},
|
|
"range_normal": {
|
|
"type": ["integer", "null"],
|
|
"description": "Standard effective range in feet."
|
|
},
|
|
"range_long": {
|
|
"type": ["integer", "null"],
|
|
"description": "Long range with disadvantage in feet."
|
|
},
|
|
"versatile_dice": {
|
|
"type": ["string", "null"],
|
|
"description": "Two-handed damage dice when used versatile (e.g. 1d10 for a longsword)."
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"default_values": {
|
|
"cost": {
|
|
"quantity": 10,
|
|
"unit": "gp"
|
|
},
|
|
"weight": 2.0,
|
|
"weapon_category": "simple",
|
|
"weapon_range": "melee",
|
|
"damage_dice": "1d6",
|
|
"damage_type": "slashing",
|
|
"properties": []
|
|
}
|
|
}
|