|
140 | 140 | },
|
141 | 141 | }
|
142 | 142 |
|
143 |
| -""" Still unknown |
144 |
| - bbe: 3, 5, 7, 10, 15, 20, 25, 30 |
145 |
| -""" |
146 |
| -LOBBY_PROPERTIES = { |
147 |
| - # Default seems to be the only value possible. |
148 |
| - # This arcade entry is just a hunch, need to confirm with an arcade game |
149 |
| - 0x03E8: ("???", { |
150 |
| - 'Dflt': 'Default' |
151 |
| - }), |
152 |
| - 0x03E9: ("Arcade", { |
153 |
| - 'no':'no', |
154 |
| - 'yes':'yes' |
155 |
| - }), |
156 | 143 |
|
157 |
| - 0x01F4: ("Controller", { |
158 |
| - 'Humn': 'Human', |
159 |
| - 'Comp': 'Computer', |
160 |
| - 'Open': 'Open', |
161 |
| - 'Clsd': 'Closed', |
162 |
| - }), |
163 |
| - |
164 |
| - 0x07D1: ("Game Mode", { |
165 |
| - '1v1': '1v1', |
166 |
| - '2v2': '2v2', |
167 |
| - '3v3': '3v3', |
168 |
| - '4v4': '4v4', |
169 |
| - '5v5': '5v5', |
170 |
| - '6v6': '6v6', |
171 |
| - 'FFA': 'FFA', |
172 |
| - }), |
173 |
| - |
174 |
| - 0x07D0: ("Team Count", lambda value: value), #T1,2,3,4,5,6, or Custom |
175 |
| - 0x07D2: ("Teams1v1", lambda value: int(value[1:])), |
176 |
| - 0x07D3: ("Teams2v2", lambda value: int(value[1:])), |
177 |
| - 0x07D4: ("Teams3v3", lambda value: int(value[1:])), |
178 |
| - 0x07D5: ("Teams4v4", lambda value: int(value[1:])), |
179 |
| - 0x07D6: ("TeamsFFA", lambda value: int(value[1:])), |
180 |
| - 0x07D7: ("Teams5v5", lambda value: int(value[1:])), |
181 |
| - 0x07D8: ("Teams6v6", lambda value: int(value[1:])), |
182 |
| - |
183 |
| - 0x07DB: ("2 Teams", lambda value: int(value[1:])), |
184 |
| - 0x07DC: ("3 Teams", lambda value: int(value[1:])), |
185 |
| - 0x07DD: ("4 Teams", lambda value: int(value[1:])), |
186 |
| - 0x07DE: ("5 Teams", lambda value: int(value[1:])), |
187 |
| - |
188 |
| - 0x07E1: ("FFA Teams", lambda value: int(value[1:])), |
189 |
| - 0x07E2: ("Custom Teams", lambda value: int(value[1:])), |
190 |
| - |
191 |
| - 0x0FA0: ("Game Privacy", { |
192 |
| - 'Norm': 'Normal', |
193 |
| - 'NoBO': 'No Build Order', |
194 |
| - 'NoMH': 'No Match History', |
195 |
| - }), |
196 |
| - |
197 |
| - 0x0BB8: ("Game Speed", { |
198 |
| - 'Slor': 'Slower', |
199 |
| - 'Slow': 'Slow', |
200 |
| - 'Norm': 'Normal', |
201 |
| - 'Fast': 'Fast', |
202 |
| - 'Fasr': 'Faster', |
203 |
| - }), |
204 |
| - 0x0BB9: ("Race", { |
205 |
| - 'Terr': 'Terran', |
206 |
| - 'Zerg': 'Zerg', |
207 |
| - 'Prot': 'Protoss', |
208 |
| - 'RAND': 'Random', |
209 |
| - }), |
210 |
| - 0x0BBA: ("Color", { |
211 |
| - 'tc01': "Red", |
212 |
| - 'tc02': "Blue", |
213 |
| - 'tc03': "Teal", |
214 |
| - 'tc04': "Purple", |
215 |
| - 'tc05': "Yellow", |
216 |
| - 'tc06': "Orange", |
217 |
| - 'tc07': "Green", |
218 |
| - 'tc08': "Light Pink", |
219 |
| - 'tc09': "Violet", |
220 |
| - 'tc10': "Light Grey", |
221 |
| - 'tc11': "Dark Green", |
222 |
| - 'tc12': "Brown", |
223 |
| - 'tc13': "Light Green", |
224 |
| - 'tc14': "Dark Grey", |
225 |
| - 'tc15': "Pink", |
226 |
| - 'tc16': "??", |
227 |
| - }), |
228 |
| - 0x0BBB: ("Handicap", { |
229 |
| - '50': '50', |
230 |
| - '60': '60', |
231 |
| - '70': '70', |
232 |
| - '80': '80', |
233 |
| - '90': '90', |
234 |
| - '100': '100', |
235 |
| - }), |
236 |
| - 0x0BBC: ("Difficulty", { |
237 |
| - 'VyEy': 'Very easy', |
238 |
| - 'Easy': 'Easy', |
239 |
| - 'Medi': 'Medium', |
240 |
| - 'MdHd': 'Hard', |
241 |
| - 'Hard': 'Harder', |
242 |
| - 'HdVH': 'Very Hard', |
243 |
| - 'VyHd': 'Elite', |
244 |
| - 'ChVi': 'Cheater 1 (Vision)', |
245 |
| - 'ChRe': 'Cheater 2 (Resources)', |
246 |
| - 'Insa': 'Cheater 3 (Insane)', |
247 |
| - }), |
248 |
| - |
249 |
| - |
250 |
| - 0x0BBF: ("Participant Role", { |
251 |
| - 'Part':'Participant', |
252 |
| - 'Watc':'Observer' |
253 |
| - }), |
254 |
| - |
255 |
| - 0x0BC0: ("Watcher Type", { |
256 |
| - 'Obs': 'Observer', |
257 |
| - 'Ref':'Referee' |
258 |
| - }), |
259 |
| - 0x0BC1: ("Category", { |
260 |
| - 'Priv': 'Private', |
261 |
| - 'Pub': 'Public', |
262 |
| - 'Amm': 'Ladder', |
263 |
| - '': 'Single', |
264 |
| - }), |
265 |
| - 0x0BC2: ("Locked Alliances", { |
266 |
| - 'no':'unlocked', |
267 |
| - 'yes':'locked', |
268 |
| - }) |
269 |
| -} |
| 144 | +import pkgutil, json |
| 145 | +attributes_json = pkgutil.get_data('sc2reader.data', 'attributes.json') |
| 146 | +attributes_dict = json.loads(attributes_json) |
| 147 | +LOBBY_PROPERTIES = dict() |
| 148 | +for key, value in attributes_dict.get('attributes',dict()).items(): |
| 149 | + LOBBY_PROPERTIES[int(key)] = value |
0 commit comments