-
Notifications
You must be signed in to change notification settings - Fork 0
/
pokemon.proto
executable file
·232 lines (197 loc) · 5.77 KB
/
pokemon.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
message RequestEnvelop {
required int32 unknown1 = 1;
optional int64 rpc_id = 3;
repeated Requests requests = 4;
optional Unknown6 unknown6 = 6;
optional fixed64 latitude = 7;
optional fixed64 longitude = 8;
optional fixed64 altitude = 9;
optional AuthInfo auth = 10;
optional UnknownAuth unknown11 = 11;
optional int64 unknown12 = 12;
message Requests {
required int32 type = 1;
optional bytes message = 2;
}
message MessageSingleString {
required bytes bytes = 1;
}
message MessageSingleInt {
required int64 f1 = 1;
}
message MessageTwoInts {
required int64 f1 = 1;
required int64 f5 = 5;
}
message MessageQuad {
required bytes f1 = 1;
required bytes f2 = 2;
required fixed64 lat = 3;
required fixed64 long = 4;
}
message Wat {
repeated int64 lols = 134217728;
}
message Unknown3 {
required bytes unknown4 = 1;
optional bytes unknown2 = 2;
optional fixed64 lat = 3;
optional fixed64 long = 4;
}
message Unknown6 {
required int32 unknown1 = 1;
required Unknown2 unknown2 = 2;
message Unknown2 {
required bytes unknown1 = 1;
}
}
message AuthInfo {
required string provider = 1;
required JWT token = 2;
message JWT {
required string contents = 1;
required int32 unknown13 = 2;
}
}
}
message UnknownAuth {
optional bytes unknown71 = 1;
optional int64 unknown72 = 2;
optional bytes unknown73 = 3;
}
message ResponseEnvelop {
required int32 unknown1 = 1;
optional int64 unknown2 = 2;
optional string api_url = 3;
optional Unknown6 unknown6 = 6;
optional UnknownAuth unknown7 = 7;
repeated bytes payload = 100;
message Unknown6 {
required int32 unknown1 = 1;
required Unknown2 unknown2 = 2;
message Unknown2 {
required bytes unknown1 = 1;
}
}
message HeartbeatPayload {
repeated ClientMapCell cells = 1;
}
message ClientMapCell {
required uint64 S2CellId = 1;
required int64 AsOfTimeMs = 2;
repeated PokemonFortProto Fort = 3;
repeated ClientSpawnPointProto SpawnPoint = 4;
repeated WildPokemonProto WildPokemon = 5;
//unknown DeletedObject = 6;
optional bool IsTruncatedList = 7;
repeated PokemonSummaryFortProto FortSummary = 8;
repeated ClientSpawnPointProto DecimatedSpawnPoint = 9;
repeated MapPokemonProto MapPokemon = 10;
repeated NearbyPokemonProto NearbyPokemon = 11;
}
message WildPokemon {
required string UniqueId = 1;
required string PokemonId = 2;
// int64 three = 3;
// float four = 4;
// int32 five = 5;
// unknown six = 6;
repeated NearbyPokemonProto pokemon = 11;
}
message MapPokemonProto {
required string SpawnpointId = 1;
required uint64 EncounterId = 2;
required int32 PokedexTypeId = 3;
required int64 ExpirationTimeMs = 4;
required double Latitude = 5;
required double Longitude = 6;
}
message PokemonFortProto {
required string FortId = 1;
required int64 LastModifiedMs = 2;
required double Latitude = 3;
required double Longitude = 4;
required int32 Team = 5;
required int32 GuardPokemonId = 6;
required int32 GuardPokemonLevel = 7;
required bool Enabled = 8;
// ENUM.Holoholo.Rpc.FortType FortType = 9;
required int32 FortType = 9;
required int64 GymPoints = 10;
required bool IsInBattle = 11;
// Might represent the type of item applied to the pokestop, right now only lures can be applied
optional bytes ActivePortModifier = 12;
optional FortLureInfoProto LureInfo = 13;
required int64 CooldownCompleteMs = 14;
// ENUM.Holoholo.Rpc.Sponsor.Types.FortSponsor.Sponsor Sponsor = 15;
required int32 Sponsor = 15;
// ENUM.Holoholo.Rpc.RenderingType.Types.FortRenderingType.RenderingType RenderingType = 16;
optional int32 RenderingType = 16;
}
message FortLureInfoProto {
required string FortId = 1;
required double unknown2 = 2;
required int32 ActivePokemonId = 3;
required int64 LureExpiresTimestampMs = 4;
required string DeployerPlayerCodename = 5;
}
message PokemonSummaryFortProto {
required string FortSummaryId = 1;
required int64 LastModifiedMs = 2;
required double Latitude = 3;
required double Longitude = 4;
}
message ClientSpawnPointProto {
required double Latitude = 2;
required double Longitude = 3;
}
message WildPokemonProto {
optional uint64 EncounterId = 1;
optional int64 LastModifiedMs = 2;
optional double Latitude = 3;
optional double Longitude = 4;
optional string SpawnPointId = 5;
optional Pokemon pokemon = 7;
optional int32 TimeTillHiddenMs = 11;
message Pokemon {
optional uint64 Id = 1;
optional int32 PokemonId = 2;
}
}
message NearbyPokemonProto {
optional int32 PokedexNumber = 1;
optional float DistanceMeters = 2;
optional uint64 EncounterId = 3;
}
message ProfilePayload {
required int32 unknown1 = 1;
optional Profile profile = 2;
}
message Profile {
required int64 creation_time = 1;
optional string username = 2;
optional int32 team = 5;
optional bytes tutorial = 7;
optional AvatarDetails avatar = 8;
optional int32 poke_storage = 9;
optional int32 item_storage = 10;
optional DailyBonus daily_bonus = 11;
optional bytes unknown12 = 12;
optional bytes unknown13 = 13;
repeated Currency currency = 14;
message AvatarDetails {
optional int32 unknown2 = 2;
optional int32 unknown3 = 3;
optional int32 unknown9 = 9;
optional int32 unknown10 = 10;
}
message DailyBonus {
optional int64 NextCollectTimestampMs = 1;
optional int64 NextDefenderBonusCollectTimestampMs = 2;
}
message Currency {
required string type = 1;
optional int32 amount = 2;
}
}
}