net.anisota.beta.game.collection
Schema Diff
+2 -2
Compatibility Analysis
Backward Compatible
Backward compatible. 1 non-breaking change.
Non-Breaking Changes (1)
- ConstraintRelaxed ConstraintRelaxed { vertex_id: "net.anisota.beta.game.collection:body.quantity", sort: "minimum", old_value: "1", new_value: "0" }
Migration Guidance
Constraint Changes
- ConstraintRelaxed ConstraintRelaxed { vertex_id: "net.anisota.beta.game.collection:body.quantity", sort: "minimum", old_value: "1", new_value: "0" }
1
1
{
2
2
"id": "net.anisota.beta.game.collection",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"specimenId",
11
11
"quantity",
12
12
"acquiredAt",
13
13
"createdAt"
14
14
],
15
15
"properties": {
16
16
"genus": {
17
17
"type": "string",
18
18
"maxLength": 100,
19
19
"description": "Taxonomic genus"
20
20
},
21
21
"family": {
22
22
"type": "string",
23
23
"maxLength": 100,
24
24
"description": "Taxonomic family"
25
25
},
26
26
"rarity": {
27
27
"enum": [
28
28
"common",
29
29
"uncommon",
30
30
"rare",
31
31
"epic",
32
32
"legendary"
33
33
],
34
34
"type": "string",
35
35
"description": "Rarity level of the specimen"
36
36
},
37
37
"source": {
38
38
"enum": [
39
39
"game_card",
40
40
"field_observation",
41
41
"trade",
42
42
"quest",
43
43
"research"
44
44
],
45
45
"type": "string",
46
46
"description": "How the specimen was acquired"
47
47
},
48
48
"status": {
49
49
"enum": [
50
50
"seen",
51
51
"collected"
52
52
],
53
53
"type": "string",
54
54
"description": "Collection status of this specimen"
55
55
},
56
56
"species": {
57
57
"type": "string",
58
58
"maxLength": 100,
59
59
"description": "Taxonomic species"
60
60
},
61
61
"lastSeen": {
62
62
"type": "string",
63
63
"format": "datetime",
64
64
"description": "When the specimen was last encountered"
65
65
},
66
66
"quantity": {
67
67
"type": "integer",
68
-
"minimum": 1,
69
-
"description": "Number of specimens collected"
68
+
"minimum": 0,
69
+
"description": "Number of specimens collected (0 for seen but not caught)"
70
70
},
71
71
"createdAt": {
72
72
"type": "string",
73
73
"format": "datetime",
74
74
"description": "When the record was created"
75
75
},
76
76
"acquiredAt": {
77
77
"type": "string",
78
78
"format": "datetime",
79
79
"description": "When the specimen was first acquired"
80
80
},
81
81
"commonName": {
82
82
"type": "string",
83
83
"maxLength": 200,
84
84
"description": "Common name of the specimen"
85
85
},
86
86
"specimenId": {
87
87
"type": "string",
88
88
"maxLength": 100,
89
89
"description": "Unique identifier for the specimen"
90
90
},
91
91
"lastModified": {
92
92
"type": "string",
93
93
"format": "datetime",
94
94
"description": "When the record was last modified"
95
95
},
96
96
"logRecordUri": {
97
97
"type": "string",
98
98
"description": "URI of the game.log record that documents the acquisition of this specimen"
99
99
},
100
100
"specimenData": {
101
101
"ref": "#specimenData",
102
102
"type": "ref"
103
103
},
104
104
"sourceDetails": {
105
105
"ref": "#sourceDetails",
106
106
"type": "ref"
107
107
},
108
108
"scientificName": {
109
109
"type": "string",
110
110
"maxLength": 200,
111
111
"description": "Scientific name of the specimen"
112
112
}
113
113
}
114
114
},
115
115
"description": "Beta version: Record representing a collected specimen in a player's collection"
116
116
},
117
117
"specimenData": {
118
118
"type": "object",
119
119
"properties": {
120
120
"authorship": {
121
121
"type": "string",
122
122
"description": "Scientific authorship of the species"
123
123
},
124
124
"description": {
125
125
"type": "string",
126
126
"description": "Detailed description of the specimen"
127
127
}
128
128
},
129
129
"description": "Complete specimen information"
130
130
},
131
131
"sourceDetails": {
132
132
"type": "object",
133
133
"properties": {
134
134
"attempts": {
135
135
"type": "integer",
136
136
"description": "Number of attempts before successful capture"
137
137
},
138
138
"location": {
139
139
"type": "string",
140
140
"description": "Location where specimen was found or observed"
141
141
},
142
142
"gameCardUri": {
143
143
"type": "string",
144
144
"description": "URI of the game card that provided this specimen"
145
145
},
146
146
"catchProbability": {
147
147
"type": "string",
148
148
"description": "Probability used when catching this specimen (decimal string, e.g. '0.75')"
149
149
}
150
150
},
151
151
"description": "Additional details about how the specimen was acquired"
152
152
}
153
153
},
154
154
"$type": "com.atproto.lexicon.schema",
155
155
"lexicon": 1
156
156
}