Skip to Content
🎉 ¡Ashes Of War 2.11.0! Queda un solo sistema de habilidades, un personaje nuevo reparte 18 NdP en vez de 6, y los arquetipos traen ese reparto ya hecho. Ver cambios →
Formato de la ficha por enlace

Formato de la ficha por enlace

Esta página no es una regla del juego: es para quien programa una herramienta que genere personajes de Ashes of War y quiera que se impriman en la ficha oficial.

La ficha de /imprimir/ficha acepta un personaje entero en la dirección. El enlace se abre y la ficha sale rellenada, sin cuentas ni servidores de por medio: el personaje viaja adentro del enlace.

/imprimir/ficha?personaje=<base64url del JSON>

El resto de los parámetros siguen valiendo y se combinan con este: era, version=reducida, ficha=0, referencia=1, magia=1 y horror=1. Si no se pide una era, se usa la del personaje.

Se puede probar sin escribir una línea de código: acá abajo se pega el JSON de un personaje y sale su enlace, el mismo que armaría la herramienta.

Cargar un personaje desde su JSON

El enlace que sale de acá es el que hay que guardar o compartir: lleva el personaje entero adentro.

El JSON

Este es el de Bruna, la personaje de ejemplo del manual, tal cual lo lee la ficha. No está escrito acá: sale del mismo dato que imprime su ficha, así que no puede quedar viejo.

El JSON de Bruna, entero

Así lo lee la ficha. El formato, y cómo se arma el enlace que lo imprime, están en /formato-ficha.

{
	"format": 1,
	"id": "bruna",
	"name": "Bruna",
	"supplement": "medieval",
	"concept": "Veterana de la guardia de una ciudad medieval",
	"personalities": {
		"internal": "Protectora (no abandona a los suyos)",
		"external": "Parca (habla poco, observa mucho)"
	},
	"backgrounds": [
		{
			"name": "Curtido",
			"note": "Bosques que patrulla: hasta dos △ por día entre Fortitud, Investigación y Preservación"
		},
		{
			"name": "Militar",
			"note": "Especialidad: Combate Cuerpo a Cuerpo. Junto a su destacamento, una △"
		}
	],
	"skills": [
		{
			"name": "Combate Cuerpo a Cuerpo",
			"ndp": 3
		},
		{
			"name": "Interceptar",
			"ndp": 3
		},
		{
			"name": "Alerta",
			"ndp": 3
		},
		{
			"name": "Fortitud",
			"ndp": 2
		},
		{
			"name": "Percibir",
			"ndp": 2
		},
		{
			"name": "Correr",
			"ndp": 2
		},
		{
			"name": "Auxiliar",
			"ndp": 2
		},
		{
			"name": "Investigación",
			"ndp": 1
		}
	],
	"gear": [
		{
			"kind": "armor",
			"supplement": "medieval",
			"id": "armadura-acolchada"
		},
		{
			"kind": "weapon",
			"supplement": "medieval",
			"id": "espada-corta-clasica",
			"material": "Acero"
		},
		{
			"kind": "shield",
			"supplement": "medieval",
			"id": "broquel"
		},
		{
			"kind": "misc",
			"supplement": "medieval",
			"id": "mochila-pequena"
		}
	],
	"budget": 1000,
	"prana": 8,
	"pdf": 0,
	"notes": [
		"Fortitud 2: carga hasta 30 kg.",
		"Ataca con 3d6 + 3. Con el escudo bloquea con 3d6 + 3 + 1."
	]
}

Un objeto que la mesa tiene y el catálogo no se escribe como { "kind": "libre", "name": "Talismán de la Casa Vall", "weight": 0.2 }, y sale como un renglón de Objetos.

CampoQué es
formatSiempre 1. Es la versión del formato, no la del personaje. Obligatorio.
nameEl nombre que va en el encabezado de cada hoja. Obligatorio.
supplementLa ambientación: medieval, moderno, cyberpunk o ciencia-ficcion. Decide qué hojas se imprimen. Obligatorio.
idUn identificador cualquiera. No se imprime; sirve para rastrearlo del lado de quien lo generó.
conceptEl concepto del personaje, una línea.
personalitiesinternal y external, las dos personalidades.
backgroundsLista de { name, note }. En la hoja del personaje van solo los nombres; la nota entera va en la hoja de consulta.
skillsLista de { name, ndp, pdp? }. El nombre tiene que ser el de Habilidades, tal cual. Las que no se mandan se imprimen en blanco.
gearEl equipo. Ver abajo.
budgetEl presupuesto de la era, entero. Lo gastado se calcula solo, así que en la ficha sale el dinero que queda.
pranaEl Prana máximo, para la hoja de magia.
pdfLos Puntos de Fe, para la hoja de magia.
resourcesLos recursos de la ambientación, por nombre: { "Humanidad": 7 } en cyberpunk, { "Estabilidad Mental": 4 } con el módulo de Horror.
cyberwareLos implantes puestos, por id de la lista de cromo. Solo en cyberpunk.
notesNotas sueltas, una por renglón.

Todo lo que no sea format, name y supplement se puede omitir, y lo que falta se imprime en blanco. La ficha nunca escribe un número que nadie mandó.

El equipo

El equipo es una referencia al catálogo del manual, no una copia de sus números: así el daño, la RD, el peso y el precio salen siempre de la misma fuente que las tablas, y una corrección del manual llega sola a las fichas ya generadas.

Cada objeto declara un kind:

  • armor, shield, misc: { kind, supplement, id }.
  • weapon: además material, que es la variante (el material en medieval, el calibre en moderno y cyberpunk, el tipo de energía en ciencia ficción).
  • libre: { kind: "libre", name, weight? }, para el equipo propio de una mesa que el manual no tiene. Sale como un renglón de Objetos, con su nombre y su peso, y nada más: un objeto con daño o RD propios no se puede imprimir.

El id es único dentro de su suplemento, no en general, así que siempre viajan los dos juntos. Un objeto puede ser de otra ambientación que la del personaje: la armadura de cyberpunk es la moderna, y el combate desarmado es del núcleo.

Qué se rechaza y qué se avisa

No se imprime el personaje si el JSON está roto, si el format no es el que esta ficha lee, si falta el nombre o la ambientación, si la ambientación no tiene ficha, o si algún campo es de otro tipo. Tanto el bloque de acá arriba como la ficha dicen cuál es el problema, y la ficha sale en blanco.

Se imprime igual, con un aviso en pantalla (nunca en el papel) si hay un id que el catálogo no tiene, una habilidad con un nombre que no existe, un recurso de otra ambientación o más peso del que el personaje puede cargar.

Lo que no se revisa son las reglas de creación: los NdP repartidos, el tope por habilidad y el presupuesto. Un personaje que ya jugó sesiones los pasa por definición, y la ficha es para imprimirlo, no para auditarlo.

El tamaño del enlace

Un personaje cargado da unos 1500 caracteres. Si el JSON se comprime con gzip antes de pasarlo a base64url, baja a unos 750: la ficha reconoce las dos formas sola, así que comprimir es opcional y se puede agregar después.

Last updated on