# gg.infinitetavern.chronicle.entry

> Published by [infinitetavern.gg](https://lexicon.garden/identity/did:plc:vxwgn77hp5ikvbiggm5es3rv)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:vxwgn77hp5ikvbiggm5es3rv/gg.infinitetavern.chronicle.entry)
- [Documentation](https://lexicon.garden/lexicon/did:plc:vxwgn77hp5ikvbiggm5es3rv/gg.infinitetavern.chronicle.entry/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:vxwgn77hp5ikvbiggm5es3rv/gg.infinitetavern.chronicle.entry/examples)

## Definitions

### `gg.infinitetavern.chronicle.entry`

**Type**: `record`

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.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `heroKey` | `string` | Yes | Internal key of the hero commanded. |
| `lobbyId` | `string` | Yes | Server-assigned lobby UUID identifying the tavern battle. |
| `heroName` | `string` | Yes | Display name of the hero commanded. |
| `mmrAfter` | `number` | Yes | Adventurer's rating after the battle concluded. |
| `playedAt` | `string` (datetime) | Yes | ISO 8601 UTC timestamp when the battle concluded. |
| `mmrBefore` | `number` | Yes | Adventurer's rating before entering the tavern. |
| `mmrChange` | `number` | Yes | Signed rating change (positive = glory gained, negative = glory lost). |
| `opponents` | `array` | No | All rival adventurers in the tavern, sorted by final standing. |
| `placement` | `integer` | Yes | Final standing in the battle (1 = champion, 8 = first eliminated). |
| `seasonNumber` | `integer` | Yes | The season (campaign chapter) this battle took place in. |
| `roundSurvived` | `integer` | Yes | Last combat round the adventurer survived. |

### `gg.infinitetavern.chronicle.entry#opponent`

**Type**: `object`

A rival adventurer encountered during the tavern battle.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `handle` | `string` | Yes |  |
| `heroKey` | `string` | No | Internal key of the rival's hero. |
| `heroName` | `string` | No | Display name of the rival's hero. |
| `placement` | `integer` | Yes |  |

## Raw Schema

```json
{
  "id": "gg.infinitetavern.chronicle.entry",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "lobbyId",
          "seasonNumber",
          "placement",
          "heroKey",
          "heroName",
          "roundSurvived",
          "mmrBefore",
          "mmrAfter",
          "mmrChange",
          "playedAt"
        ],
        "properties": {
          "heroKey": {
            "type": "string",
            "description": "Internal key of the hero commanded."
          },
          "lobbyId": {
            "type": "string",
            "description": "Server-assigned lobby UUID identifying the tavern battle."
          },
          "heroName": {
            "type": "string",
            "description": "Display name of the hero commanded."
          },
          "mmrAfter": {
            "type": "number",
            "description": "Adventurer's rating after the battle concluded."
          },
          "playedAt": {
            "type": "string",
            "format": "datetime",
            "description": "ISO 8601 UTC timestamp when the battle concluded."
          },
          "mmrBefore": {
            "type": "number",
            "description": "Adventurer's rating before entering the tavern."
          },
          "mmrChange": {
            "type": "number",
            "description": "Signed rating change (positive = glory gained, negative = glory lost)."
          },
          "opponents": {
            "type": "array",
            "items": {
              "ref": "#opponent",
              "type": "ref"
            },
            "description": "All rival adventurers in the tavern, sorted by final standing."
          },
          "placement": {
            "type": "integer",
            "maximum": 8,
            "minimum": 1,
            "description": "Final standing in the battle (1 = champion, 8 = first eliminated)."
          },
          "seasonNumber": {
            "type": "integer",
            "description": "The season (campaign chapter) this battle took place in."
          },
          "roundSurvived": {
            "type": "integer",
            "description": "Last combat round the adventurer survived."
          }
        }
      },
      "description": "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."
    },
    "opponent": {
      "type": "object",
      "required": [
        "placement",
        "did",
        "handle"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did"
        },
        "handle": {
          "type": "string"
        },
        "heroKey": {
          "type": "string",
          "description": "Internal key of the rival's hero."
        },
        "heroName": {
          "type": "string",
          "description": "Display name of the rival's hero."
        },
        "placement": {
          "type": "integer",
          "maximum": 8,
          "minimum": 1
        }
      },
      "description": "A rival adventurer encountered during the tavern battle."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
