gg.infinitetavern.herald.battleReport

infinitetavern.gg

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A herald's battle report — a structured summary of a tavern battle written by the town crier bot to its own PDS. The AT-URI of this record may be embedded in Bluesky feed posts to announce match results.",
      "key": "tid",
      "record": {
        "properties": {
          "gifUrl": {
            "description": "Optional URL to an animated battle summary.",
            "format": "uri",
            "type": "string"
          },
          "lobbyId": {
            "description": "Server-assigned lobby UUID identifying the tavern battle.",
            "type": "string"
          },
          "placements": {
            "description": "Final standings of all adventurers, ordered by placement.",
            "items": {
              "ref": "#placementEntry",
              "type": "ref"
            },
            "maxLength": 8,
            "type": "array"
          },
          "playedAt": {
            "description": "ISO 8601 UTC timestamp when the battle concluded.",
            "format": "datetime",
            "type": "string"
          },
          "roundCount": {
            "description": "Total combat rounds in the battle.",
            "minimum": 1,
            "type": "integer"
          },
          "seasonName": {
            "description": "Display name of the campaign season.",
            "type": "string"
          },
          "seasonNumber": {
            "description": "The campaign season this battle took place in.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "lobbyId",
          "seasonNumber",
          "roundCount",
          "playedAt",
          "placements"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "placementEntry": {
      "description": "One adventurer's final standing in the battle.",
      "properties": {
        "did": {
          "format": "did",
          "type": "string"
        },
        "handle": {
          "type": "string"
        },
        "heroKey": {
          "type": "string"
        },
        "heroName": {
          "type": "string"
        },
        "mmrChange": {
          "description": "Signed rating change for this adventurer.",
          "type": "number"
        },
        "placement": {
          "maximum": 8,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "placement",
        "did",
        "handle",
        "heroKey",
        "heroName"
      ],
      "type": "object"
    }
  },
  "id": "gg.infinitetavern.herald.battleReport",
  "lexicon": 1
}

Validate Record

Validate a record against gg.infinitetavern.herald.battleReport

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:vxwgn77hp5ikvbiggm5es3rv
CID
bafyreidw3r6um6cgfmj6wm5pfzjwzu3w7gqwattisorbaejj4sgpkf4xdm
Indexed At
2026-04-13 22:54 UTC
AT-URI
at://did:plc:vxwgn77hp5ikvbiggm5es3rv/com.atproto.lexicon.schema/gg.infinitetavern.herald.battleReport

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • gg.infinitetavern.chronicle.entry recordnot from the namespace authority

    A page in an adventurer's chronicle — one player's record of a single tavern battle. Written to the player's PDS after each match concludes.

  • gg.infinitetavern.chronicle.replay recordnot from the namespace authority

    A magical scrying record that preserves the full round-by-round replay of a tavern battle. Written to the bot account's PDS; referenced by chronicle entries and herald battle reports for playback.

  • gg.infinitetavern.adventurer.grimoire recordnot from the namespace authority

    An adventurer's grimoire — a lifetime record of battles fought, victories won, and heroes commanded. One record per adventurer, stored at rkey 'self'.

  • gg.infinitetavern.adventurer.seasonJournal recordnot from the namespace authority

    A chapter in an adventurer's season journal — tracking battles, victories, and ranking progress within a single campaign season. One record per adventurer per season, stored at rkey 'season-{N}'.

  • gg.infinitetavern.adventurer.heroMastery recordnot from the namespace authority

    An adventurer's mastery record for a specific hero — tracking how many battles they have fought together and the glory they have achieved. One record per hero, stored at rkey equal to the heroKey.

Lexicon Garden

@