{"$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://island-1.tailbe3340.ts.net/schema/a2log-v1.json", "title": "a2log: AION 2 combat log", "type": "object", "required": ["format", "version", "players", "segments"], "properties": {"format": {"const": "a2log"}, "version": {"const": 1}, "meta": {"type": "object", "additionalProperties": true, "properties": {"source": {"type": "string", "description": "uploading tool and version"}, "title": {"type": "string"}, "region": {"type": "string"}, "server": {"type": "string"}, "recorded_at": {"type": "string", "format": "date-time"}, "zone": {"type": "string"}, "difficulty": {"type": "string"}, "visibility": {"enum": ["public", "unlisted", "private"]}, "contribute": {"enum": ["yes", "no"], "description": "use this fight in the anonymous class statistics (default yes; private logs never are)"}}}, "players": {"type": "array", "minItems": 1, "maxItems": 64, "items": {"type": "object", "required": ["id", "name"], "additionalProperties": true, "properties": {"id": {"type": "string"}, "name": {"type": "string"}, "class": {"type": "string"}, "server": {"type": "string"}, "combat_power": {"type": "number"}, "gear_score": {"type": "number"}, "specs": {"type": "object", "description": "skill name -> chosen specialization slots (1-5)", "additionalProperties": {"type": "array", "items": {"type": "integer"}}}, "stats": {"type": "object", "description": "optional: the character's stats during the fight, as the game shows them (percent values as numbers, 12.5 = 12.5%); lets the server calibrate crit and the other rates", "properties": {"critical_hit": {"type": "number"}, "attack": {"type": "number"}, "double_pct": {"type": "number"}, "perfect_pct": {"type": "number"}, "multihit_pct": {"type": "number"}, "combat_speed_pct": {"type": "number"}, "cooldown_pct": {"type": "number"}, "accuracy": {"type": "number"}}}}}}, "segments": {"type": "array", "minItems": 1, "maxItems": 200, "items": {"type": "object", "required": ["duration", "hits"], "additionalProperties": true, "properties": {"id": {"type": "string"}, "label": {"type": "string"}, "boss": {"type": "string"}, "start": {"type": "string", "format": "date-time"}, "duration": {"type": "number", "exclusiveMinimum": 0}, "killed": {"type": "boolean"}, "hits": {"type": "array", "items": {"type": "object", "required": ["t", "player", "damage"], "additionalProperties": true, "properties": {"t": {"type": "number", "minimum": 0, "description": "seconds from the segment start"}, "player": {"type": "string", "description": "a players[].id"}, "skill": {"type": "string"}, "skill_id": {"type": "integer"}, "damage": {"type": "number", "minimum": 0}, "crit": {"type": "boolean"}, "double": {"type": "boolean"}, "perfect": {"type": "boolean"}, "multi": {"type": "integer", "minimum": 0, "description": "extra hits of a multi-hit"}, "dot": {"type": "boolean"}, "back": {"type": "boolean"}, "front": {"type": "boolean"}, "step": {"type": "string", "description": "chain follow-up name (e.g. Cold Wave of Ice Chain)"}}}}, "buffs": {"type": "array", "items": {"type": "object", "required": ["player", "start", "end"], "properties": {"player": {"type": "string"}, "name": {"type": "string"}, "skill_id": {"type": "integer"}, "start": {"type": "number"}, "end": {"type": "number"}}}}, "hp": {"type": "array", "description": "boss HP samples [t, hp]", "items": {"type": "array", "prefixItems": [{"type": "number"}, {"type": "number"}]}}}}}}}