A card in a game's world: an item (a program, a weapon), an encounter (a piece of ICE, a monster, a trap), a character or a place. One record per card, not a player's copy of one: a player owns an item as an equipment.rpg.item whose `give` is this record's URI and whose stats carry a strongRef to it. It lives in the repo of the player whose play made it, signed by the game service so its stats can be trusted. rkey MUST be '<game>:<id>' (a TID); readers reject records whose rkey doesn't start with their own `game`.
any
Any valid record key
Properties
category
string
Required
What sort of card, in terms any app understands: something a player can own (item), something a player faces (encounter), someone (character), somewhere (place).
maxLength: 32 bytesitem, encounter, character, placecreatedAt
string
datetime
Required
An RFC 3339 formatted timestamp.
description
string
Optional
No description available.
maxLength: 3000 bytesmaxGraphemes: 300 graphemesgame
ref
games.cavu.defs#slug
Required
No description available.
image
blob
Optional
No description available.
maxSize: 1.0 MBimageAlt
string
Optional
Alt text for the image.
maxLength: 3000 bytesmaxGraphemes: 300 graphemeskind
string
Required
What sort of card in the game's own terms (e.g. 'ice', 'program', 'hardware'). Copied to equipment.rpg.item's `kind` for items.
maxLength: 20 bytesname
string
Required
No description available.
maxLength: 640 bytesmaxGraphemes: 64 graphemesorigin
ref
#origin
Optional
No description available.
signatures
array
of
union
Optional
No description available.
stats
unknown
Optional
Game-specific, typed by the game: an object with $type in the game's own lexicon (e.g. games.cavu.aiSlop#ice).
View raw schema
{
"description": "A card in a game's world: an item (a program, a weapon), an encounter (a piece of ICE, a monster, a trap), a character or a place. One record per card, not a player's copy of one: a player owns an item as an equipment.rpg.item whose `give` is this record's URI and whose stats carry a strongRef to it. It lives in the repo of the player whose play made it, signed by the game service so its stats can be trusted. rkey MUST be '<game>:<id>' (a TID); readers reject records whose rkey doesn't start with their own `game`.",
"key": "any",
"record": {
"properties": {
"category": {
"description": "What sort of card, in terms any app understands: something a player can own (item), something a player faces (encounter), someone (character), somewhere (place).",
"knownValues": [
"item",
"encounter",
"character",
"place"
],
"maxLength": 32,
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"description": {
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
},
"game": {
"ref": "games.cavu.defs#slug",
"type": "ref"
},
"image": {
"accept": [
"image/png",
"image/jpeg",
"image/webp"
],
"maxSize": 1000000,
"type": "blob"
},
"imageAlt": {
"description": "Alt text for the image.",
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
},
"kind": {
"description": "What sort of card in the game's own terms (e.g. 'ice', 'program', 'hardware'). Copied to equipment.rpg.item's `kind` for items.",
"maxLength": 20,
"type": "string"
},
"name": {
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"origin": {
"ref": "#origin",
"type": "ref"
},
"signatures": {
"items": {
"refs": [
"games.cavu.defs#signature",
"com.atproto.repo.strongRef"
],
"type": "union"
},
"type": "array"
},
"stats": {
"description": "Game-specific, typed by the game: an object with $type in the game's own lexicon (e.g. games.cavu.aiSlop#ice).",
"type": "unknown"
}
},
"required": [
"game",
"category",
"kind",
"name",
"createdAt"
],
"type": "object"
},
"type": "record"
}