021866A6 7804 ldrb r4,[r0]
021866A8 2D04 cmp r5,4h
021866AA D834 bhi Lxx_2186716h
021866AC 1968 adds r0,r5,r5
021866AE 4478 add r0,r15
021866B0 88C0 ldrh r0,[r0,6h]
021866B2 0400 lsls r0,r0,10h
021866B4 1400 asrs r0,r0,10h
021866B6 4487 add r15,r0
021866B8 0008 movs r0,r1
021866BA 005C lsls r4,r3,1h
021866BC 0022 movs r2,r4
021866BE 0028 movs r0,r5
021866C0 0044 lsls r4,r0,1h
; 0x00: スライム
021866C2 2007 movs r0,7h
021866C4 1FA1 subs r1,r4,6 ; r1 ← Lv - 6
021866C6 222D movs r2,2Dh
021866C8 F682FD68 bl Lxx_200919Ch
021866CC 1C07 adds r7,r0,0 ; r7 ← max{7, min{45, Lv - 6} }
021866CE 2007 movs r0,7h
021866D0 1EE1 subs r1,r4,3
021866D2 222D movs r2,2Dh
021866D4 F682FD62 bl Lxx_200919Ch ;
021866D8 1C06 adds r6,r0,0 ; r6 ← max{7, min{45, Lv - 3} }
021866DA E01C b Lxx_2186716h
; 0x02: 草原
021866DC 2701 movs r7,1h ; r7 ← 1
021866DE 2604 movs r6,4h ; r6 ← 4
021866E0 E019 b Lxx_2186716h
; 0x03: 森
021866E2 1C21 adds r1,r4,0
021866E4 2004 movs r0,4h
021866E6 3908 subs r1,8h ; r1 ← Lv - 8
021866E8 220F movs r2,0Fh
021866EA F682FD57 bl Lxx_200919Ch
021866EE 1C07 adds r7,r0,0 ; r7 ← max{4, min{15, Lv - 8} }
021866F0 2004 movs r0,4h
021866F2 1F61 subs r1,r4,5 ; r1 ← Lv - 5
021866F4 220F movs r2,0Fh
021866F6 F682FD51 bl Lxx_200919Ch
021866FA 1C06 adds r6,r0,0 ; r6 ← max{4, min{15, Lv - 5} }
021866FC E00B b Lxx_2186716h
; 0x04: 山
021866FE 2005 movs r0,5h
02186700 1F61 subs r1,r4,5 ; r1 ← Lv - 5
02186702 2219 movs r2,19h
02186704 F682FD4A bl Lxx_200919Ch
02186708 1C07 adds r7,r0,0 ; r7 ← max{5, min{25, Lv - 5} }
0218670A 2005 movs r0,5h
0218670C 1EE1 subs r1,r4,3 ; r1 ← Lv - 3
0218670E 2219 movs r2,19h
02186710 F682FD44 bl Lxx_200919Ch
02186714 1C06 adds r6,r0,0 ; r6 ← max{5, min{25, Lv - 3} }
; 0x01: メタル
02186716 2D01 cmp r5,1h
02186718 D101 bne Lxx_218671Eh
0218671A 2481 movs r4,81h
0218671C E007 b Lxx_218672Eh
0218671E F69DF849 bl Lxx_20237B4h
02186722 3078 adds r0,78h
02186724 1C39 adds r1,r7,0
02186726 1C32 adds r2,r6,0
02186728 F6AEFC48 bl Lxx_2034FBCh ; r4 ← エンカウントテーブル No.
0218672C 1C04 adds r4,r0,0
...
;------------------------------------------
; エンカウントテーブルの選択
;------------------------------------------
...
02034FF0 9802 ldr r0,[sp,8h]
02034FF2 2500 movs r5,0h
02034FF4 2800 cmp r0,0h
02034FF6 D929 bls Lxx_203504Ch
02034FF8 481D ldr r0,=Lxx_20D2A9Ch
02034FFA 4A1E ldr r2,=Lxx_20D2A98h
02034FFC 6800 ldr r0,[r0]
02034FFE 4B1E ldr r3,=Lxx_2094EA8h
02035000 9000 str r0,[sp]
02035002 481A ldr r0,=Lxx_20D2AA0h
02035004 6812 ldr r2,[r2]
02035006 681B ldr r3,[r3]
02035008 1C29 adds r1,r5,0
0203500A F038EAA2 blx Lxx_206D550h
0203500E 210E movs r1,0Eh
02035010 5641 ldsb r1,[r0,r1]
02035012 2008 movs r0,8h
02035014 4008 ands r0,r1
02035016 0540 lsls r0,r0,15h
02035018 1600 asrs r0,r0,18h
0203501A 2801 cmp r0,1h
0203501C D012 beq Lxx_2035044h ; イベント戦闘類は除外する
0203501E 4814 ldr r0,=Lxx_20D2A9Ch
02035020 4A14 ldr r2,=Lxx_20D2A98h
02035022 6800 ldr r0,[r0]
02035024 4B14 ldr r3,=Lxx_2094EA8h
02035026 9000 str r0,[sp]
02035028 4810 ldr r0,=Lxx_20D2AA0h
0203502A 6812 ldr r2,[r2]
0203502C 681B ldr r3,[r3]
0203502E 1C29 adds r1,r5,0
02035030 F038EA8E blx Lxx_206D550h
02035034 7B41 ldrb r1,[r0,0Dh] ; r1 ← エリア Lv
02035036 42B9 cmp r1,r7
02035038 DB04 blt Lxx_2035044h ; r1 < (最低エリア Lv) の場合 除外する
0203503A 9801 ldr r0,[sp,4h]
0203503C 4281 cmp r1,r0
0203503E DC01 bgt Lxx_2035044h ; r1 > (最高エリア Lv) の場合 除外する
02035040 C620 stmia [r6]!,r5
02035042 1C64 adds r4,r4,1
02035044 9802 ldr r0,[sp,8h]
02035046 1C6D adds r5,r5,1
02035048 4285 cmp r5,r0
0203504A D3D5 bcc Lxx_2034FF8h
0203504C 9801 ldr r0,[sp,4h]
0203504E 1E7F subs r7,r7,1
02035050 1E40 subs r0,r0,1
02035052 9001 str r0,[sp,4h] ;
02035054 2C00 cmp r4,0h
02035056 D0CB beq Lxx_2034FF0h ; 候補数が 0 の場合、最低・最高エリア Lv を 1 ずつ下げて再検索する
02035058 1C20 adds r0,r4,0 ; r0 ← 候補数
0203505A F019EBF2 blx Lxx_204E840h ; 乱数
...