Skip to content

Unlockables

The records of the unlockables manager (0x006fe998): global.lua builds its Unlockables table of 610 records {level, group, item, type, extra, data} and loads them with UM_SetUnlockable, index = position − 1. A record is unlocked by UM_Unlock(level, group, item), which unlocks every record with those three bytes (completing a level unlocks its (level, 0, 0) records, the hub's clubhouse unlocks are (95, 1, n)), and tested by its type and data: UM_IsDataUnlocked(type, data) in scripts, 0x00424130 in the code. The type says what the data is: the next story level, a Rumble mode, arena, gang or character, an upgrade, a hint (Inventory, unlockables and statistics).

What is complete

All 610 records are listed with every field, grouped by type. Unlocked by lists only calls with constant arguments; global.lua unlocks a completed level's records with the level's number in a variable. The meanings of types 0-4, 6 (ids 3-15) and 11 are confirmed by the code that tests them; types 5, 7, 8, 9 and 10 are tested only by scripts and named from them (inferred). What extra is for is not traced: no engine code reads it.

610 entries. Data: research/references/unlockables.yaml.

story level

18 entries.

Record Type Level Group Item Extra Data Unlocked by Tested by
0 0 0 0 0 0 99 global.lua
1 0 99 0 0 0 80
2 0 80 0 0 0 87
3 0 87 0 0 0 34
4 0 34 0 0 0 2
6 0 2 0 0 0 3
8 0 3 0 0 0 5
9 0 5 0 0 0 81
11 0 81 0 0 0 86
13 0 86 0 0 0 93
14 0 93 0 0 0 31 level95_coney.lua
15 0 31 0 0 0 14
17 0 14 0 0 0 9
18 0 9 0 0 0 51
19 0 51 0 0 0 52
20 0 52 0 0 0 54
21 0 54 0 0 0 55
22 0 55 0 0 0 84 level95_coney.lua

Rumble mode

9 entries.

Record Type Level Group Item Extra Data Mode Unlocked by
161 1 0 0 0 35 12 RM_Brawl1 global.lua
162 1 0 0 0 37 14 RM_Brawl5 global.lua
163 1 87 0 0 39 1 RM_Brawl
164 1 34 0 0 41 9 RM_Surv
165 1 2 0 0 43 23 RM_Mercy
166 1 3 0 0 45 19 RM_TagBt
167 1 5 0 0 47 3 RM_Royal
168 1 31 0 0 49 24 RM_Wchair
169 1 92 0 0 51 2 RM_Koth

Rumble arena

29 entries.

Record Type Level Group Item Extra Data Unlocked by
581 2 92 0 0 1 101
582 2 0 0 0 1 102 global.lua
583 2 54 0 0 1 104
584 2 31 0 0 1 105
585 2 3 0 0 1 107
586 2 31 0 0 1 108
587 2 20 0 0 1 109
588 2 11 0 0 1 110
589 2 14 0 15 1 111
590 2 83 0 0 1 113
591 2 20 0 0 1 114
592 2 31 0 9 1 115
593 2 93 0 0 1 116
594 2 82 0 0 1 118
595 2 64 0 0 1 119
596 2 64 0 0 1 120
597 2 2 0 0 1 121
598 2 5 0 7 1 122
599 2 55 0 0 1 123
600 2 5 0 0 1 124
601 2 81 0 0 1 126
602 2 34 0 0 1 127
603 2 51 0 0 1 128
604 2 86 0 0 1 129
605 2 64 0 0 1 130
606 2 5 0 0 1 131
607 2 5 0 0 1 132
608 2 9 0 0 1 133
609 2 2 0 7 1 134

Rumble gang

46 entries.

Record Type Level Group Item Extra Data Unlocked by
170 3 0 0 0 1 5 global.lua
171 3 11 0 0 2 13
172 3 14 1 3 3 21
173 3 87 0 0 4 2
174 3 3 0 8 5 19
175 3 3 0 0 6 10
176 3 5 0 0 7 14
177 3 14 0 0 8 16
178 3 55 0 0 9 7
179 3 84 0 0 10 9
180 3 55 0 0 11 6
181 3 9 0 0 12 20
182 3 0 0 0 13 3 global.lua
183 3 3 0 8 14 17
184 3 84 0 0 15 8
185 3 14 1 1 16 15
186 3 82 0 0 17 12
187 3 20 0 0 18 11
188 3 0 0 0 19 4 global.lua
189 3 34 0 0 20 18
190 3 0 0 0 21 1 global.lua
191 3 80 0 2 22 35
192 3 84 0 2 23 37
193 3 51 0 0 24 32
194 3 51 1 1 25 43
195 3 9 0 15 26 49
196 3 52 0 8 27 39
197 3 14 0 0 28 27
198 3 83 0 0 29 40
199 3 87 1 2 30 22
200 3 51 0 7 31 47
201 3 20 0 0 32 30
202 3 20 0 0 33 44
203 3 34 0 12 34 41
204 3 86 0 1 35 23
205 3 86 0 0 36 31
206 3 11 0 0 37 25
207 3 11 0 0 38 48
208 3 31 0 0 39 26
209 3 87 1 3 40 33
210 3 34 1 2 41 34 level34.lua
211 3 9 0 0 42 45
212 3 5 0 0 43 28
213 3 11 0 11 44 24
214 3 2 0 0 45 29
215 3 82 0 0 46 46

Rumble character

365 entries.

Record Type Level Group Item Extra Data Character Model Unlocked by
216 4 0 0 0 1 2 2 warr_cl_gen global.lua
217 4 0 0 0 2 6 6 warr_sw_gen global.lua
218 4 0 0 0 3 27 27 warr_ve_gen global.lua
219 4 0 0 0 4 34 34 warr_sn_gen global.lua
220 4 0 0 0 5 16 16 warr_co_gen global.lua
221 4 0 0 0 6 22 22 warr_fo_gen global.lua
222 4 0 0 0 7 12 12 warr_aj_gen global.lua
223 4 0 0 0 8 31 31 warr_re_gen global.lua
224 4 0 0 0 9 19 19 warr_cb_gen global.lua
225 4 2 1 1 10 220 220 orph_bo_va1
226 4 2 1 2 11 223 223 orph_lt_va level2.lua
227 4 2 0 0 12 394 394 civl_tr_ma2
228 4 2 0 0 13 396 396 civl_tr_ma4
229 4 2 0 0 14 391 391 civl_tr_fa3
230 4 2 0 0 15 389 389 civl_tr_fa1
231 4 2 0 0 16 397 397 civl_tr_ma5
232 4 2 0 0 17 395 395 civl_tr_ma3
233 4 2 0 0 18 390 390 civl_tr_fa2
234 4 2 0 0 19 393 393 civl_tr_ma1
235 4 2 0 0 20 392 392 civl_tr_fa4
236 4 2 0 0 21 40 40 warr_ty_cv
237 4 3 0 8 22 172 172 elec_bo
238 4 3 0 8 23 175 175 elec_so2
239 4 3 0 8 24 177 177 elec_so4
240 4 3 0 8 25 174 174 elec_so1
241 4 3 0 8 26 176 176 elec_so3
242 4 3 0 8 27 173 173 elec_lt
243 4 3 0 0 28 141 141 hiha_so_vb2
244 4 3 0 0 29 138 138 hiha_so_va1
245 4 3 0 0 30 140 140 hiha_so_vb1
246 4 3 0 0 31 139 139 hiha_so_va2
247 4 3 0 0 32 136 136 hiha_lt
248 4 3 0 8 33 148 148 panz_bo
249 4 3 0 8 34 151 151 panz_so_va2
250 4 3 0 8 35 152 152 panz_so_vb1
251 4 3 0 8 36 153 153 panz_so_vb2
252 4 3 0 8 37 150 150 panz_so_va1
253 4 3 0 8 38 149 149 panz_lt
254 4 3 0 8 39 307 307 civl_sp_ju
255 4 5 1 1 40 119 119 hurr_va
256 4 5 0 0 41 124 124 hurr_so1a
257 4 5 0 0 42 127 127 hurr_so2b
258 4 5 0 0 43 126 126 hurr_so2a
259 4 5 0 0 44 125 125 hurr_so1b
260 4 5 1 2 45 123 123 hurr_lt level5_chapter1.lua
261 4 5 1 2 46 122 122 hurr_sa level5_chapter1.lua
262 4 5 0 0 47 386 386 civl_eh_ma4
263 4 5 0 0 48 384 384 civl_eh_ma2
264 4 5 0 0 49 385 385 civl_eh_ma3
265 4 5 0 0 50 380 380 civl_eh_fa1
266 4 5 0 0 51 381 381 civl_eh_fa2
267 4 5 0 0 52 382 382 civl_eh_fa3
268 4 5 0 0 53 387 387 civl_eh_ma5
269 4 5 0 0 54 383 383 civl_eh_ma1
270 4 8 0 0 55 91 91 fury_so1 global.lua
271 4 8 0 0 56 93 93 fury_so3 global.lua
272 4 8 0 0 57 92 92 fury_so2 global.lua
273 4 8 0 0 58 94 94 fury_so4 global.lua
274 4 8 0 0 59 226 226 orph_so_va2 global.lua
275 4 8 0 0 60 228 228 orph_so_vb2 global.lua
276 4 8 0 0 61 227 227 orph_so_vb1 global.lua
277 4 8 0 0 62 225 225 orph_so_va1 global.lua
278 4 8 0 0 63 224 224 orph_lt_vb global.lua
279 4 8 0 0 64 103 103 turn_so3 global.lua
280 4 8 0 0 65 105 105 turn_so5 global.lua
281 4 8 0 0 66 104 104 turn_so4 global.lua
282 4 8 0 0 67 101 101 turn_so1 global.lua
283 4 8 0 0 68 102 102 turn_so2 global.lua
284 4 9 0 0 69 214 214 moon_bo
285 4 9 0 0 70 219 219 moon_so2b
286 4 9 0 0 71 217 217 moon_so1b
287 4 9 0 0 72 218 218 moon_so2a
288 4 9 0 0 73 216 216 moon_so1a
289 4 9 0 0 74 215 215 moon_lt
290 4 9 0 0 75 247 247 cops_ty_vb1
291 4 9 0 0 76 248 248 cops_ty_vb2
292 4 9 0 0 77 245 245 cops_ty_va1
293 4 9 0 0 78 358 358 civl_sg1
294 4 9 0 0 79 246 246 cops_ty_va2
295 4 9 0 0 80 359 359 civl_sg2
296 4 9 1 1 81 425 425 civl_scps
297 4 9 0 15 82 432 432 civl_sp_ma1
298 4 9 0 15 83 431 431 civl_sp_ma5
299 4 9 0 15 84 434 434 civl_sp_ma2
300 4 9 0 15 85 435 435 civl_sp_ma4
301 4 9 0 15 86 433 433 civl_sp_ma3
302 4 11 1 1 87 128 128 bopp_bo
303 4 11 0 0 88 133 133 bopp_so1d
304 4 11 0 0 89 130 130 bopp_so1a
305 4 11 0 0 90 132 132 bopp_so1c
306 4 11 0 0 91 134 134 bopp_so2a
307 4 11 0 0 92 131 131 bopp_so1b
308 4 11 0 0 93 129 129 bopp_lt
309 4 11 0 0 94 313 313 bopp_fa1
310 4 11 0 0 95 314 314 bopp_fa1
311 4 11 0 0 96 337 337 civl_hl_tr
312 4 11 0 0 97 342 342 civl_hl_fc5
313 4 11 0 0 98 338 338 civl_hl_fc1
314 4 11 0 0 99 339 339 civl_hl_fc2
315 4 11 0 0 100 340 340 civl_hl_fc3
316 4 11 0 0 101 341 341 civl_hl_fc4
317 4 11 0 0 102 324 324 civl_hl_ma1
318 4 11 0 0 103 326 326 civl_hl_ma3
319 4 11 0 0 104 328 328 civl_hl_ma5
320 4 11 0 0 105 327 327 civl_hl_ma4
321 4 11 0 0 106 325 325 civl_hl_ma2
322 4 11 0 0 107 17 17 warr_co_cv
323 4 11 0 11 108 268 268 char_db1
324 4 11 0 11 109 269 269 char_db2
325 4 11 0 11 110 357 357 civl_hl_st3a
326 4 11 0 11 111 354 354 civl_hl_st1b
327 4 11 0 11 112 353 353 civl_hl_st1a
328 4 11 0 11 113 355 355 civl_hl_st2a
329 4 11 0 11 114 356 356 civl_hl_st2b
330 4 14 0 0 115 373 373 civl_bn_ma2
331 4 14 0 0 116 370 370 civl_bn_fa3
332 4 14 0 0 117 371 371 civl_bn_fa4
333 4 14 0 0 118 372 372 civl_bn_ma1
334 4 14 0 0 119 376 376 civl_bn_mb1
335 4 14 0 0 120 375 375 civl_bn_ma4
336 4 14 0 0 121 374 374 civl_bn_ma3
337 4 14 0 0 122 369 369 civl_bn_fa2
338 4 14 0 0 123 368 368 civl_bn_fa1
339 4 14 1 3 124 253 253 cops_va1
340 4 14 1 3 125 255 255 cops_va3
341 4 14 1 3 126 254 254 cops_va2
342 4 14 1 3 127 264 264 cops_vd2
343 4 14 1 3 128 256 256 cops_vb1
344 4 14 1 3 129 263 263 cops_vd1
345 4 14 1 3 130 258 258 cops_vb3
346 4 14 1 3 131 257 257 cops_vb2
347 4 14 1 2 132 154 154 jsbs_bo level14_jsb.lua
348 4 14 0 0 133 158 158 jsbs_so3
349 4 14 0 0 134 156 156 jsbs_so1
350 4 14 0 0 135 159 159 jsbs_so4
351 4 14 0 0 136 157 157 jsbs_so2
352 4 14 0 0 137 155 155 jsbs_lt
353 4 14 1 1 138 142 142 sara_bo
354 4 14 1 1 139 147 147 sara_so2b
355 4 14 1 1 140 145 145 sara_so1b
356 4 14 1 1 141 144 144 sara_so1a
357 4 14 1 1 142 146 146 sara_so2a
358 4 14 1 1 143 143 143 sara_lt
359 4 20 0 0 144 405 405 civl_ct_ma2
360 4 20 0 0 145 406 406 civl_ct_fa3
361 4 20 0 0 146 407 407 civl_ct_ma3
362 4 20 0 0 147 404 404 civl_ct_fa2
363 4 20 0 0 148 408 408 civl_ct_fa4
364 4 20 0 0 149 410 410 civl_ct_ma5
365 4 20 0 0 150 402 402 civl_ct_fa1
366 4 20 0 0 151 403 403 civl_ct_ma1
367 4 20 0 0 152 409 409 civl_ct_ma4
368 4 20 0 0 153 415 415 civl_ct_ac
369 4 20 0 0 154 115 115 civl_monk2
370 4 20 0 0 155 117 117 civl_monk_bo2
371 4 20 0 0 156 116 116 civl_monk_bo1
372 4 20 0 0 157 414 414 civl_ct_eb
373 4 20 0 0 158 114 114 civl_monk1
374 4 20 0 0 159 411 411 civl_ct_ck1
375 4 20 0 0 160 412 412 civl_ct_ck2
376 4 20 0 0 161 413 413 civl_ct_ck3
377 4 20 0 9 162 24 24 warr_fo_cv2
378 4 20 1 1 163 106 106 sava_bo
379 4 20 0 0 164 111 111 sava_so1b
380 4 20 0 0 165 112 112 sava_so2a
381 4 20 0 0 166 110 110 sava_so1a
382 4 20 0 0 167 113 113 sava_so2b
383 4 20 0 0 168 107 107 sava_lt
384 4 20 0 0 169 108 108 sava_lt1
385 4 20 0 0 170 109 109 sava_lt2
386 4 20 0 9 171 29 29 warr_ve_cv
387 4 20 1 1 172 23 23 warr_fo_cv1
388 4 31 1 1 173 259 259 cops_vc1
389 4 31 0 0 174 360 360 civl_pl_ma1
390 4 31 0 0 175 362 362 civl_pl_ma3
391 4 31 0 0 176 364 364 civl_pl_ma6
392 4 31 0 0 177 361 361 civl_pl_ma2
393 4 31 0 0 178 363 363 civl_pl_ma5
394 4 31 0 0 179 330 330 civl_hl_fb2
395 4 31 0 0 180 329 329 civl_hl_fb1
396 4 31 0 0 181 365 365 civl_pl_ma8
397 4 31 0 0 182 367 367 civl_pl_fa2
398 4 82 0 0 183 288 288 civl_gk
399 4 82 0 0 184 296 296 civl_cw_ma1
400 4 82 0 0 185 299 299 civl_cw_mb2
401 4 82 0 0 186 298 298 civl_cw_mb1
402 4 82 0 0 187 297 297 civl_cw_ma2
403 4 34 1 1 188 90 90 fury_lt
404 4 34 0 0 189 166 166 juda_bo
405 4 34 0 0 190 167 167 juda_lt
406 4 34 0 0 191 171 171 juda_so_vb2
407 4 34 0 0 192 170 170 juda_so_vb1
408 4 34 0 0 193 168 168 juda_so_va1
409 4 34 0 0 194 169 169 juda_so_va2
410 4 34 1 2 195 452 452 civl_rs_fa2 level34.lua
411 4 34 1 2 196 450 450 civl_rs_ma5 level34.lua
412 4 34 1 2 197 449 449 civl_rs_ma4 level34.lua
413 4 34 1 2 198 448 448 civl_rs_ma3 level34.lua
414 4 34 1 2 199 446 446 civl_rs_ma1 level34.lua
415 4 34 1 2 200 453 453 civl_rs_fa3 level34.lua
416 4 34 1 2 201 451 451 civl_rs_fa1 level34.lua
417 4 34 1 2 202 447 447 civl_rs_ma2 level34.lua
418 4 34 0 12 203 294 294 civl_hl_b2
419 4 34 0 12 204 295 295 civl_hl_b3
420 4 34 0 12 205 424 424 civl_pl_st3
421 4 34 0 12 206 423 423 civl_pl_st2
422 4 34 0 12 207 422 422 civl_pl_st1
423 4 34 0 12 208 293 293 civl_hl_b1
424 4 34 0 12 209 366 366 civl_pl_fa1
425 4 34 0 12 210 420 420 civl_co_ma4
426 4 34 0 12 211 321 321 civl_gc_bt
427 4 51 0 7 212 275 275 civl_bm_vb4
428 4 51 0 7 213 273 273 civl_bm_vb2
429 4 51 0 7 214 280 280 civl_bm_vb9
430 4 51 0 7 215 279 279 civl_bm_vb8
431 4 51 0 7 216 277 277 civl_bm_vb6
432 4 51 0 7 217 271 271 civl_bm_va2
433 4 51 0 0 218 428 428 civl_dr_ma4
434 4 51 0 0 219 427 427 civl_dr_ma2
435 4 51 0 0 220 426 426 civl_dr_ma1
436 4 51 0 0 221 430 430 civl_dr_ma5
437 4 51 0 0 222 429 429 civl_dr_ma3
438 4 51 1 1 223 437 437 civl_we_ma1
439 4 51 1 1 224 436 436 civl_we_ma2
440 4 51 1 1 225 439 439 civl_we_ma4
441 4 51 1 1 226 440 440 civl_we_ma5
442 4 51 1 1 227 438 438 civl_we_ma3
443 4 51 1 2 228 99 99 turn_bo level51_chapter3.lua
444 4 51 1 2 229 100 100 turn_lt level51_chapter3.lua
445 4 52 0 8 230 344 344 civl_hl_bt1
446 4 52 0 8 231 346 346 civl_hl_bt3
447 4 52 0 8 232 348 348 civl_hl_bt5
448 4 52 0 8 233 347 347 civl_hl_bt4
449 4 52 0 8 234 345 345 civl_hl_bt2
450 4 52 0 8 235 343 343 civl_bt1
451 4 52 1 1 236 221 221 orph_me
452 4 54 0 2 237 89 89 fury_bo
453 4 55 0 2 238 237 237 lizz_bo
454 4 55 0 0 239 243 243 lizz_so_vb2
455 4 55 0 0 240 240 240 lizz_so_va2
456 4 55 0 0 241 239 239 lizz_so_va1
457 4 55 0 0 242 241 241 lizz_so_va3
458 4 55 0 0 243 242 242 lizz_so_vb1
459 4 55 0 0 244 238 238 lizz_lt
460 4 55 0 0 245 235 235 punk_so2a
461 4 55 0 0 246 234 234 punk_so1b
462 4 55 0 0 247 233 233 punk_so1a
463 4 55 0 0 248 236 236 punk_so2b
464 4 55 0 0 249 231 231 punk_lt
465 4 55 0 0 250 229 229 punk_bo
466 4 64 0 0 251 73 73 riff_so_vc1
467 4 64 0 0 252 74 74 riff_so_vc2
468 4 64 0 0 253 75 75 riff_so_vc3
469 4 64 0 0 254 76 76 riff_so_vc4
470 4 64 0 0 255 66 66 riff_lt
471 4 64 0 0 256 67 67 riff_em
472 4 64 0 0 257 350 350 civl_hl_dj1
473 4 64 0 0 258 63 63 riff_cy_ghost
474 4 64 0 0 259 25 25 warr_fo_ghost
475 4 64 0 0 260 3 3 warr_cl_ghost
476 4 64 0 0 261 8 8 warr_sw_ghost
477 4 64 0 0 262 14 14 warr_aj_ghost
478 4 80 0 2 263 51 51 warr_so_va3
479 4 80 0 2 264 50 50 warr_so_va2
480 4 80 0 2 265 52 52 warr_so_vb1
481 4 80 0 2 266 49 49 warr_so_va1
482 4 80 0 2 267 53 53 warr_so_vb2
483 4 80 0 2 268 54 54 warr_so_vb3
484 4 80 0 2 269 43 43 warr_ma
485 4 80 0 2 270 41 41 warr_jn
486 4 80 0 2 271 38 38 warr_ty
487 4 80 0 2 272 45 45 warr_ly
488 4 81 0 0 273 135 135 hiha_bo
489 4 81 0 2 274 137 137 hiha_lt_ft
490 4 82 0 0 275 261 261 cops_ia1
491 4 82 0 0 276 262 262 cops_ia2
492 4 82 0 0 277 189 189 dest_cl
493 4 82 0 0 278 191 191 dest_ve
494 4 82 0 9 279 161 161 samo_lt
495 4 82 0 9 280 160 160 samo_bo
496 4 82 0 0 281 162 162 samo_so_va1
497 4 82 0 0 282 164 164 samo_so_va3
498 4 82 0 0 283 163 163 samo_so_va2
499 4 82 0 0 284 165 165 samo_so_va4
500 4 82 0 0 285 300 300 civl_co_lf1
501 4 82 0 0 286 301 301 civl_co_lf2
502 4 82 0 0 287 302 302 civl_co_lf3
503 4 83 0 0 288 317 317 civl_hl_br2
504 4 83 0 0 289 319 319 civl_hl_br4
505 4 83 0 0 290 320 320 civl_hl_br5
506 4 83 0 0 291 322 322 civl_hl_dm1
507 4 83 0 0 292 318 318 civl_hl_br3
508 4 83 0 0 293 323 323 civl_hl_dm2
509 4 83 0 0 294 316 316 civl_hl_br1
510 4 83 1 3 295 13 13 warr_aj_cv level83_c6_chase.lua
511 4 83 1 2 296 35 35 warr_sn_cv level83_c6_chase.lua
512 4 83 0 0 297 187 187 dest_le_bare
513 4 83 0 7 298 61 61 warr_dest_le
514 4 83 0 0 299 206 206 char_lcgf_vest
515 4 83 0 7 300 205 205 char_lcgf
516 4 84 0 0 301 62 62 riff_cy
517 4 84 0 0 302 64 64 riff_bo_va1
518 4 84 0 0 303 68 68 riff_so_va1
519 4 84 0 0 304 69 69 riff_so_va2
520 4 84 0 0 305 70 70 riff_so_va1
521 4 84 0 0 306 71 71 riff_so_vb1
522 4 84 0 0 307 72 72 riff_so_vb2
523 4 84 0 0 308 77 77 rogu_bo
524 4 84 0 0 309 83 83 rogu_so_vb1
525 4 84 0 0 310 82 82 rogu_so_va2
526 4 84 0 0 311 84 84 rogu_so_vb2
527 4 84 0 0 312 81 81 rogu_so_va1
528 4 84 0 0 313 80 80 rogu_lt
529 4 84 0 2 314 260 260 cops_uc1
530 4 84 0 2 315 310 310 civl_prom_fa
531 4 84 0 2 316 311 311 civl_prom_fb
532 4 84 0 2 317 222 222 orph_me_vb
533 4 84 0 2 318 308 308 civl_prom_ma
534 4 84 0 2 319 309 309 civl_prom_mb
535 4 84 0 2 320 306 306 civl_csg
536 4 86 0 1 321 290 290 civl_co_sh
537 4 86 0 1 322 292 292 civl_co_do
538 4 86 0 1 323 388 388 civl_tr_cw
539 4 86 0 1 324 289 289 civl_co_ic
540 4 86 0 1 325 441 441 civl_co_di
541 4 86 0 1 326 419 419 civl_co_ma3
542 4 86 0 0 327 416 416 civl_st
543 4 86 0 0 328 417 417 civl_co_ma1
544 4 86 0 0 329 418 418 civl_co_ma2
545 4 86 0 0 330 315 315 civl_hd
546 4 86 0 0 331 304 304 civl_sk_pe
547 4 86 0 0 332 303 303 civl_ch
548 4 86 0 0 333 305 305 civl_tw
549 4 86 0 0 334 312 312 civl_gypsy
550 4 87 1 2 335 281 281 civl_bm_vb11
551 4 87 1 2 336 276 276 civl_bm_vb5
552 4 87 1 2 337 274 274 civl_bm_vb3
553 4 87 1 2 338 278 278 civl_bm_vb7
554 4 87 1 2 339 272 272 civl_bm_vb1
555 4 87 1 2 340 270 270 civl_bm_va1
556 4 87 0 0 341 192 192 dest_so1a
557 4 87 0 0 342 194 194 dest_so1b
558 4 87 0 0 343 197 197 dest_so2a
559 4 87 0 0 344 199 199 dest_so2b
560 4 87 0 17 345 186 186 dest_lt_le
561 4 87 1 3 346 331 331 civl_hl_ho1
562 4 87 1 3 347 333 333 hook_01
563 4 87 1 3 348 334 334 hook_03
564 4 87 1 3 349 332 332 civl_hl_ho2
565 4 87 1 3 350 443 443 civl_pimp2
566 4 87 1 3 351 445 445 civl_pl_pm
567 4 87 1 3 352 442 442 civl_pimp1
568 4 87 1 4 353 179 179 dest_bo_tg
569 4 87 0 17 354 182 182 dest_lt_v1
570 4 87 0 17 355 183 183 dest_lt_v2
571 4 87 0 17 356 184 184 dest_lt_v3
572 4 92 0 6 357 20 20 warr_cb_cv
573 4 92 1 1 358 7 7 warr_sw_cv
574 4 93 0 8 359 178 178 dest_bo
575 4 93 1 2 360 185 185 dest_lt_be level93_chapter2.lua
576 4 93 0 0 361 180 180 dest_lt
577 4 93 0 0 362 196 196 dest_so1c
578 4 95 1 27 363 421 421 civl_co_ma5 global.lua
579 4 95 1 7 364 121 121 civl_abe
580 4 99 0 5 365 32 32 warr_re_cv

clubhouse display

6 entries.

Record Type Level Group Item Extra Data
155 5 34 0 0 29 1
156 5 2 0 0 30 2
157 5 5 0 0 31 3
158 5 81 0 0 32 4
159 5 31 0 0 33 5
160 5 84 0 0 34 6

upgrade or feature

28 entries.

Record Type Level Group Item Extra Data What Unlocked by Tested by
28 6 1 0 2 1 1 global.lua, level95_coney.lua level95_coney.lua, level95_invasion.lua
29 6 3 0 0 2 2 level95.lua, level95_coney.lua, level95_invasion.lua
30 6 1 0 0 3 3 The hub's quick map instead of the door walk (World flags) level95.lua
31 6 1 0 1 4 4 The tutorial is done level95.lua, level95_clubhouse.lua level95.lua, level95_clubhouse.lua
32 6 95 1 3 5 5 Brass knuckles: punches deal more damage (0x0021b518) and the model wears them global.lua
33 6 95 1 6 6 6 Steel toe caps: kicks deal more damage (0x0021b570) and the model wears them global.lua level95_coney.lua
34 6 95 1 26 7 7 One more flash carried (3 to 4) and sold by dealers global.lua
35 6 95 1 28 8 8 A flash at full health fills rage and starts it (0x00284830) global.lua
36 6 95 1 23 9 9 Paying a bum $1 also marks the dealers on the radar (0x002acb60) global.lua
37 6 95 1 25 10 10 After four $1 payments a bum takes $10 and joins the gang (0x002ac728; joining inferred) global.lua
38 6 95 1 9 11 11 A larger power meter (0x00223068) global.lua, level95_workout.lua level95_workout.lua
39 6 95 1 10 12 12 More stamina (0x00223188) global.lua, level95_workout.lua level95_workout.lua
40 6 95 1 22 13 13 Knocked-out cops drop handcuff keys (0x00233260) global.lua global.lua
41 6 95 1 27 14 14 Knocked-out humans may drop power cuffs (0x00232ed4) global.lua global.lua
42 6 95 1 21 15 15 A cuffed player can spend a key to free himself (0x00284488) global.lua
43 6 95 1 30 16 16 global.lua level86.lua
44 6 95 1 7 17 18
45 6 4 0 1 18 21 global.lua, level95.lua, level95_clubhouse.lua level95.lua, level95_clubhouse.lua
46 6 4 0 2 19 22 level95.lua, level95_clubhouse.lua level95.lua, level95_clubhouse.lua
47 6 4 0 3 20 20 level95.lua, level95_clubhouse.lua level95.lua, level95_clubhouse.lua
48 6 4 0 4 21 17 level95.lua level95.lua, level95_clubhouse.lua
49 6 4 0 5 22 19 level95.lua, level95_clubhouse.lua level95.lua, level95_clubhouse.lua
56 6 95 1 1 23 23
57 6 95 1 2 24 24
58 6 95 1 3 25 25 global.lua
59 6 95 1 4 26 26
60 6 95 1 5 27 27
61 6 95 1 6 28 28 global.lua

flashback mission

5 entries.

Record Type Level Group Item Extra Data Tested by
5 7 34 0 0 0 82 level95.lua
7 7 2 0 0 0 92 level95.lua
10 7 5 0 0 0 83 level95.lua
12 7 81 0 0 0 20 level95.lua
16 7 31 0 0 0 11 level95.lua

Coney Island shop

28 entries.

Record Type Level Group Item Extra Data Unlocked by
50 8 0 0 0 22 1 global.lua
51 8 34 0 0 22 2
52 8 2 0 0 22 3
53 8 93 0 0 22 4
54 8 31 0 0 22 5
55 8 9 0 0 22 6
62 8 81 0 0 28 7
73 8 84 0 0 28 21
74 8 34 0 0 28 22
75 8 87 0 0 28 23
76 8 31 0 0 28 25
77 8 3 0 0 28 26
78 8 81 0 0 28 27
79 8 84 0 0 28 28
80 8 81 0 0 28 29
81 8 3 0 0 28 30
116 8 95 1 81 28 81
117 8 95 1 84 28 84
118 8 95 1 87 28 87
119 8 95 1 90 28 90
120 8 95 1 82 28 82
121 8 95 1 85 28 85
122 8 95 1 88 28 88
123 8 95 1 91 28 91
124 8 95 1 83 28 83
125 8 95 1 86 28 86
126 8 95 1 89 28 89
127 8 95 1 92 28 92

Armies of the Night level

5 entries.

Record Type Level Group Item Extra Data Tested by
23 9 84 0 0 0 60 level95.lua
24 9 60 0 0 0 61
25 9 61 0 0 0 62
26 9 62 0 0 0 63
27 9 63 0 0 0 64

workout move

44 entries.

Record Type Level Group Item Extra Data Unlocked by Tested by
63 10 0 0 0 28 11 global.lua
64 10 95 1 11 28 12
65 10 95 1 12 28 13
66 10 95 1 13 28 14
67 10 95 1 14 28 15
68 10 95 1 15 28 16 level95_workout.lua
69 10 95 1 16 28 17
70 10 95 1 17 28 18
71 10 95 1 18 28 19
72 10 95 1 19 28 20
82 10 0 0 0 28 31 global.lua
83 10 95 1 31 28 32
84 10 95 1 32 28 33
85 10 95 1 33 28 34
86 10 95 1 34 28 35
87 10 95 1 35 28 36 level95_workout.lua
88 10 95 1 36 28 37
89 10 95 1 37 28 38
90 10 95 1 38 28 39
91 10 95 1 39 28 40
92 10 0 0 0 28 41 global.lua
93 10 95 1 41 28 42
94 10 95 1 42 28 43
95 10 95 1 43 28 44
96 10 95 1 44 28 45
97 10 95 1 45 28 46 level95_workout.lua
98 10 95 1 46 28 47
99 10 95 1 47 28 48
100 10 95 1 48 28 49
101 10 95 1 49 28 50
102 10 0 0 0 28 51 global.lua
103 10 95 1 51 28 52
104 10 95 1 52 28 53
105 10 95 1 53 28 54
106 10 95 1 54 28 55
107 10 95 1 55 28 56 level95_workout.lua
108 10 95 1 56 28 57
109 10 95 1 57 28 58
110 10 95 1 58 28 59
111 10 95 1 59 28 60
112 10 95 1 60 28 71 level95_workout.lua
113 10 95 1 40 28 72 level95_workout.lua
114 10 95 1 50 28 73 level95_workout.lua
115 10 95 1 20 28 74 level95_workout.lua

hint

27 entries.

Record Type Level Group Item Extra Data Unlocked by
128 11 0 0 0 28 0 global.lua
129 11 34 0 0 28 1
130 11 80 0 0 28 2
131 11 80 0 0 28 3
132 11 0 0 0 28 4 global.lua
133 11 0 0 0 28 5 global.lua
134 11 80 0 0 28 6
135 11 34 0 0 28 7
136 11 80 0 0 28 8
137 11 34 0 0 28 9
138 11 87 0 0 28 10
139 11 93 0 0 28 11
140 11 80 0 0 28 12
141 11 80 0 0 28 13
142 11 34 0 0 28 14
143 11 5 0 0 28 15
144 11 80 0 0 28 16
145 11 80 0 0 28 17
146 11 0 0 0 28 18 global.lua
147 11 99 0 0 28 19
148 11 99 0 0 28 20
149 11 87 0 0 28 21
150 11 80 0 0 28 22
151 11 3 0 0 28 23
152 11 80 0 0 28 24
153 11 87 0 0 28 25
154 11 2 0 0 28 26

Sources and evidence

Evidence levels used: confirmed-code, inferred.

  • global.lua, Unlockables

Fields

Field Type Hand-written Meaning
index int Record index: the position in Unlockables minus one (UM_IsUnlocked).
kind str What the type unlocks, in our words.
type int Byte 3: the type UM_IsDataUnlocked and the code test.
level int Byte 0: the level UM_Unlock matches (0 the game's start).
group int Byte 1: a group within the level (1 the hub's clubhouse unlocks).
item int Byte 2: the item within the group (0 the level-complete record).
extra int 16-bit +4 (UM_GetRecordData field 4).
data int 32-bit +8: the data id tested with the type (a level, mode, gang, type, hint ...).
mode str For a Rumble mode, the RM_* constant global.lua names.
character int For a Rumble character, the character type.
model str That type's model.
meaning str yes What the record unlocks, in our words.
unlocked_by list Scripts that unlock it by its level, group and item with constants.
tested_by list Scripts that test its type and data with constants.
source str yes Where the entry comes from: a script and binding, an address, a chunk.
evidence str yes How we know: confirmed-code, confirmed-runtime, inferred or speculative (evidence levels).
notes str yes Our own short notes.