アットウィキロゴ

DQ4 (DS) > 確率


会心の一撃の確率

条件 確率
「まじんのかなづち」を装備している 約 1/3
アリーナである (Lv+15)/512
(その他) 1/32

ソース

+ ...
20190c8: 2051        movs  r0, #81 @ 0x51
20190ca: 0080        lsls  r0, r0, #2
20190cc: 1828        adds  r0, r5, r0
20190ce: 2113        movs  r1, #19        ; 19: まじんのかなづち
20190d0: f7f8 fafe   bl  0x20116d0
20190d4: 2800        cmp r0, #0
20190d6: d00c        beq.n 0x20190f2
 
20190d8: 2003        movs  r0, #3
20190da: f065 ece6   blx 0x207eaa8        ; r0 ← 乱数 0〜2
20190de: 2800        cmp r0, #0
20190e0: d103        bne.n 0x20190ea
 
20190e2: 4824        ldr r0, [pc, #144]  @ (0x2019174)
20190e4: 2101        movs  r1, #1
20190e6: 6281        str r1, [r0, #40] @ 0x28
20190e8: e01e        b.n 0x2019128
 
20190ea: 4822        ldr r0, [pc, #136]  @ (0x2019174)
20190ec: 2101        movs  r1, #1
20190ee: 61c1        str r1, [r0, #28]
20190f0: e01a        b.n 0x2019128
 
; まじんのかなづちを装備していない
 
20190f2: 1c28        adds  r0, r5, #0
20190f4: 304c        adds  r0, #76 @ 0x4c
20190f6: 8800        ldrh  r0, [r0, #0]
20190f8: 2804        cmp r0, #4
20190fa: d10d        bne.n 0x2019118
 
; アリーナである
 
20190fc: 1c28        adds  r0, r5, #0
20190fe: 305a        adds  r0, #90 @ 0x5a
2019100: 7804        ldrb  r4, [r0, #0]
2019102: 2002        movs  r0, #2
2019104: 0200        lsls  r0, r0, #8
2019106: f065 ecd0   blx 0x207eaa8        ; r0 ← 乱数 0〜511
201910a: 340f        adds  r4, #15
201910c: 42a0        cmp r0, r4
201910e: da0b        bge.n 0x2019128      ; (乱数値) >= (Lv + 15) の場合
 
2019110: 4818        ldr r0, [pc, #96] @ (0x2019174)
2019112: 2101        movs  r1, #1
2019114: 6281        str r1, [r0, #40] @ 0x28
2019116: e007        b.n 0x2019128
 
; アリーナではない
 
2019118: 2020        movs  r0, #32
201911a: f065 ecc6   blx 0x207eaa8
201911e: 2800        cmp r0, #0
2019120: d102        bne.n 0x2019128
 
2019122: 4814        ldr r0, [pc, #80] @ (0x2019174)
2019124: 2101        movs  r1, #1
2019126: 6281        str r1, [r0, #40] @ 0x28
...
 

行動順を決定する値

戦闘の行動順は (行動優先度) := floor((すばやさ) × (乱数 50〜100) / 10) の大きさの順で決定され、優先度が同一の場合、味方1, 味方2, ..., モンスター1, モンスター2, ... の順で優先されます。

ソース

+ ...
;---------------------------------------------------
; 乱数生成器の初期化
;---------------------------------------------------
207ea4c: e92d4010  push  {r4, lr}
207ea50: e24dd020  sub sp, sp, #32
207ea54: e28d0000  add r0, sp, #0
207ea58: e3a04000  mov r4, #0
207ea5c: ebffe542  bl  0x2077f6c
207ea60: e1a02004  mov r2, r4
207ea64: e28d1000  add r1, sp, #0
207ea68: e7910102  ldr r0, [r1, r2, lsl #2]
207ea6c: e2822001  add r2, r2, #1
207ea70: e3520008  cmp r2, #8
207ea74: e0844000  add r4, r4, r0
207ea78: bafffffa  blt 0x207ea68
 
207ea7c: e59f0018  ldr r0, [pc, #24] @ 0x207ea9c
207ea80: e59f2018  ldr r2, [pc, #24] @ 0x207eaa0
207ea84: e5804000  str r4, [r0]
207ea88: e59f1014  ldr r1, [pc, #20] @ 0x207eaa4
207ea8c: e5802004  str r2, [r0, #4]
207ea90: e5801008  str r1, [r0, #8]
207ea94: e28dd020  add sp, sp, #32
207ea98: e8bd8010  pop {r4, pc}
207ea9c: 02116c20
207eaa0: 5d588b65
207eaa4: 00269ec3
 
;---------------------------------------------------
; r0 ← 乱数 0〜(r0-1)
;---------------------------------------------------
207eaa8: e92d4008  push  {r3, lr}
207eaac: e59f1028  ldr r1, [pc, #40] @ 0x207eadc
207eab0: e1a00800  lsl r0, r0, #16
207eab4: e8915008  ldm r1, {r3, ip, lr}
207eab8: e1b02820  lsrs  r2, r0, #16
207eabc: e020e39c  mla r0, ip, r3, lr
207eac0: e5810000  str r0, [r1]
207eac4: e1a00820  lsr r0, r0, #16
207eac8: 10010290  mulne r1, r0, r2
207eacc: 11a00821  lsrne r0, r1, #16
207ead0: e1a00800  lsl r0, r0, #16
207ead4: e1a00820  lsr r0, r0, #16
207ead8: e8bd8008  pop {r3, pc}
207eadc: 02116c20
 
;---------------------------------------------------
; r0 ← r0 × (乱数 (100-r1)〜(100+r2)) / 100
;---------------------------------------------------
201d6d4: b538        push  {r3, r4, r5, lr}
201d6d6: 1c0c        adds  r4, r1, #0
201d6d8: 1c05        adds  r5, r0, #0
201d6da: 18a0        adds  r0, r4, r2
201d6dc: 1c40        adds  r0, r0, #1
201d6de: f061 e9e4   blx 0x207eaa8
201d6e2: 2164        movs  r1, #100  @ 0x64
201d6e4: 1b0a        subs  r2, r1, r4
201d6e6: 1810        adds  r0, r2, r0
201d6e8: 4368        muls  r0, r5
201d6ea: f7e8 eca0   blx 0x200602c
201d6ee: bd38        pop {r3, r4, r5, pc}
 
;---------------------------------------------------
; 行動優先度
;---------------------------------------------------
...
2122e56: 586a        ldr r2, [r5, r1]
2122e58: 200a        movs  r0, #10
2122e5a: 4350        muls  r0, r2     ; r0 ← すばやさ * 10
2122e5c: 5068        str r0, [r5, r1]
2122e5e: 5868        ldr r0, [r5, r1]
2122e60: 2132        movs  r1, #50 @ 0x32
2122e62: 2200        movs  r2, #0
2122e64: f6fa fc36   bl  0x201d6d4    ; (すばやさ * 10) * (乱数 50〜100) / 100
 
2122e68: 4906        ldr r1, [pc, #24] @ (0x2122e84)
2122e6a: 5068        str r0, [r5, r1]
...
 
2122e84: 0000051c
 
 

レベルアップ時の上昇幅

(上昇値) := max{(標準上昇値), ((標準上昇値) × (乱数 75〜124) + 50) / 100}

ソース

+ ...
2010cf4: b510        push  {r4, lr}
2010cf6: 2032        movs  r0, #50 @ 0x32
2010cf8: 1c0c        adds  r4, r1, #0       ; r4 ← 上昇値
2010cfa: f06d eed6   blx 0x207eaa8          ; r0 ← 乱数 0〜49
2010cfe: 304b        adds  r0, #75 @ 0x4b
2010d00: 0400        lsls  r0, r0, #16
2010d02: 0c00        lsrs  r0, r0, #16      ; r0 ← 乱数 75〜124
2010d04: 4360        muls  r0, r4
2010d06: 3032        adds  r0, #50 @ 0x32
2010d08: 0400        lsls  r0, r0, #16
2010d0a: 0c00        lsrs  r0, r0, #16
2010d0c: 2164        movs  r1, #100  @ 0x64
2010d0e: f7f5 e98e   blx 0x200602c
2010d12: 0400        lsls  r0, r0, #16
2010d14: 0c00        lsrs  r0, r0, #16
2010d16: 42a0        cmp r0, r4
2010d18: d200        bcs.n 0x2010d1c
2010d1a: 1c20        adds  r0, r4, #0
2010d1c: bd10        pop {r4, pc}
 

エンカウント周り

戦闘が発生するまでの処理は、DQ5 エンカウント処理 と同じです。

DQ4 と DQ5 以降とでは(少なくとも)以下の項目が異なります:
  • 地形依存の減算値・乗数
  • エンカウントテーブル依存の乗数
  • 「しのびあし」の効果:
    • DQ4 では確率 1/4 でカウンタの減算処理をスキップするようです。「においぶくろ」の効果とも重複します。(参考: DQ5 では「しのびあし」中は「においぶくろ」の効果は無視されます)
  • 「においぶくろ」の効果:
    • DQ4 ではカウンタから減算する値を 5 倍(エンカウント率 5 倍)にします。

地形依存の減算値・乗数

タイプ 地形 減算値 乗数 草原との比率
0 353 1.5 2.068
1 海上 102 1.0 0.398
2 砂漠 384 1.0 1.500
3 640 1.0 2.500
4 毒の沼地 461 1.0 1.801
5 茂み 256 1.0 1.000
6 草原 256 1.0 1.000
7 307 1.0 1.199

エンカウントテーブル依存の乗数

設定値 乗数
0 0.375
1 0.625
2 0.750
3 1.000
4 1.875
5 2.250
6 2.625
7 3.000

ソース

+ ...
200a7b8: 8ea0        ldrh  r0, [r4, #52] @ 0x34
200a7ba: 2800        cmp r0, #0
200a7bc: d00e        beq.n 0x200a7dc ; しのびあし状態ではない場合
 
200a7be: 2000        movs  r0, #0
200a7c0: 6260        str r0, [r4, #36] @ 0x24
200a7c2: 8ea0        ldrh  r0, [r4, #52] @ 0x34
200a7c4: 1e40        subs  r0, r0, #1
200a7c6: 86a0        strh  r0, [r4, #52] @ 0x34
200a7c8: 8ea0        ldrh  r0, [r4, #52] @ 0x34
200a7ca: 2800        cmp r0, #0
200a7cc: d101        bne.n 0x200a7d2
 
200a7ce: 2001        movs  r0, #1
200a7d0: 6260        str r0, [r4, #36] @ 0x24
 
200a7d2: 2004        movs  r0, #4
200a7d4: f074 e968   blx 0x207eaa8 ; r0 ← 乱数 0〜3
200a7d8: 2800        cmp r0, #0
200a7da: d01b        beq.n 0x200a814 ; 確率 1/4 で減算処理をスキップする
 
200a7dc: 8da0        ldrh  r0, [r4, #44] @ 0x2c
200a7de: 2800        cmp r0, #0
200a7e0: d015        beq.n 0x200a80e ; においぶくろ効果中ではない場合
 
200a7e2: 2000        movs  r0, #0
200a7e4: 6320        str r0, [r4, #48] @ 0x30
200a7e6: 8da0        ldrh  r0, [r4, #44] @ 0x2c
200a7e8: 1e40        subs  r0, r0, #1
200a7ea: 85a0        strh  r0, [r4, #44] @ 0x2c
200a7ec: 8da0        ldrh  r0, [r4, #44] @ 0x2c
200a7ee: 2800        cmp r0, #0
200a7f0: d101        bne.n 0x200a7f6
200a7f2: 2001        movs  r0, #1
200a7f4: 6320        str r0, [r4, #48] @ 0x30
 
; 5 回
 
200a7f6: 1c20        adds  r0, r4, #0
200a7f8: f7ff ff40   bl  0x200a67c
200a7fc: 1c20        adds  r0, r4, #0
200a7fe: f7ff ff3d   bl  0x200a67c
200a802: 1c20        adds  r0, r4, #0
200a804: f7ff ff3a   bl  0x200a67c
200a808: 1c20        adds  r0, r4, #0
200a80a: f7ff ff37   bl  0x200a67c
 
; 1 回
 
200a80e: 1c20        adds  r0, r4, #0
200a810: f7ff ff34   bl  0x200a67c
 
200a814: bd10        pop {r4, pc}
...
 

先制攻撃・不意打ち

非しのびあし状態

確率設定 先制攻撃の確率 不意打ちの確率
0 3.12 % (1/32) 3.03 % (31/1024)
1 3.12 % (1/32) 0.00 % (0)
2 25.00 % (1/4) 2.34 % (3/128)
3 25.00 % (1/4) 18.75 % (3/16)

しのびあし状態

確率設定 先制攻撃の確率 不意打ちの確率
0 2.34 % (3/128) 27.27 % (1117/4096)
1 2.34 % (3/128) 25.00 % (1/4)
2 18.75 % (3/16) 26.76 % (137/512)
3 18.75 % (3/16) 39.06 % (25/64)

ソース

+ ...
;---------------------------------------
; 先制攻撃・不意打ちの判定(しのびあし状態を考慮)
;---------------------------------------
200a824: b510        push  {r4, lr}
200a826: 1c04        adds  r4, r0, #0
200a828: 8ea0        ldrh  r0, [r4, #52] @ 0x34
200a82a: 2800        cmp r0, #0
200a82c: d006        beq.n 0x200a83c      ; しのびあし状態ではない場合
 
200a82e: 2004        movs  r0, #4
200a830: f074 e93a   blx 0x207eaa8        ; r0 ← 乱数 0〜3
200a834: 2800        cmp r0, #0
200a836: d101        bne.n 0x200a83c
200a838: 2002        movs  r0, #2         ; 2: 不意打ち
200a83a: bd10        pop {r4, pc}
 
200a83c: 2043        movs  r0, #67 @ 0x43
200a83e: 0080        lsls  r0, r0, #2
200a840: 1820        adds  r0, r4, r0
200a842: f000 ff37   bl  0x200b6b4        ; r0 ← 通常の結果
200a846: bd10        pop {r4, pc}
 
200b6b4: 6900        ldr r0, [r0, #16]
200b6b6: 4770        bx  lr
 
;-------------------------------------
; 先制攻撃・不意打ち判定
;-------------------------------------
200b5e8: 7800        ldrb  r0, [r0, #0]
200b5ea: 2806        cmp r0, #6
200b5ec: d85a        bhi.n 0x200b6a4
 
200b5ee: 1800        adds  r0, r0, r0
200b5f0: 4478        add r0, pc
200b5f2: 88c0        ldrh  r0, [r0, #6]
200b5f4: 0400        lsls  r0, r0, #16
200b5f6: 1400        asrs  r0, r0, #16
200b5f8: 4487        add pc, r0
200b5fa: 000c
200b5fc: 0032
200b5fe: 0058
200b600: 007e
200b602: 00a8
200b604: 00a8
200b606: 00a4
 
; case 0:
 
200b608: 2020        movs  r0, #32
200b60a: f073 ea4e   blx 0x207eaa8
200b60e: 2800        cmp r0, #0
200b610: d102        bne.n 0x200b618
200b612: 2001        movs  r0, #1
200b614: 6120        str r0, [r4, #16]
200b616: bd10        pop {r4, pc}
 
200b618: 2020        movs  r0, #32
200b61a: f073 ea46   blx 0x207eaa8
200b61e: 2800        cmp r0, #0
200b620: d102        bne.n 0x200b628
200b622: 2002        movs  r0, #2
200b624: 6120        str r0, [r4, #16]
200b626: bd10        pop {r4, pc}
 
200b628: 2000        movs  r0, #0
200b62a: 6120        str r0, [r4, #16]
200b62c: bd10        pop {r4, pc}
 
; case 1:
 
200b62e: 2020        movs  r0, #32
200b630: f073 ea3a   blx 0x207eaa8
200b634: 2800        cmp r0, #0
200b636: d102        bne.n 0x200b63e
200b638: 2001        movs  r0, #1
200b63a: 6120        str r0, [r4, #16]
200b63c: bd10        pop {r4, pc}
 
200b63e: 2004        movs  r0, #4
200b640: f073 ea32   blx 0x207eaa8
200b644: 2807        cmp r0, #7
200b646: d102        bne.n 0x200b64e
200b648: 2002        movs  r0, #2
200b64a: 6120        str r0, [r4, #16]
200b64c: bd10        pop {r4, pc}
 
200b64e: 2000        movs  r0, #0
200b650: 6120        str r0, [r4, #16]
200b652: bd10        pop {r4, pc}
 
; case 2:
 
200b654: 2004        movs  r0, #4
200b656: f073 ea28   blx 0x207eaa8
200b65a: 2800        cmp r0, #0
200b65c: d102        bne.n 0x200b664
200b65e: 2001        movs  r0, #1
200b660: 6120        str r0, [r4, #16]
200b662: bd10        pop {r4, pc}
 
200b664: 2020        movs  r0, #32
200b666: f073 ea20   blx 0x207eaa8
200b66a: 2800        cmp r0, #0
200b66c: d102        bne.n 0x200b674
200b66e: 2002        movs  r0, #2
200b670: 6120        str r0, [r4, #16]
200b672: bd10        pop {r4, pc}
 
200b674: 2000        movs  r0, #0
200b676: 6120        str r0, [r4, #16]
200b678: bd10        pop {r4, pc}
 
; case 3:
 
200b67a: 2004        movs  r0, #4
200b67c: f073 ea14   blx 0x207eaa8
200b680: 2800        cmp r0, #0
200b682: d102        bne.n 0x200b68a
 
200b684: 2001        movs  r0, #1
200b686: 6120        str r0, [r4, #16]
200b688: bd10        pop {r4, pc}
 
200b68a: 2004        movs  r0, #4
200b68c: f073 ea0c   blx 0x207eaa8
200b690: 2800        cmp r0, #0
200b692: d102        bne.n 0x200b69a
 
200b694: 2002        movs  r0, #2
200b696: 6120        str r0, [r4, #16]
200b698: bd10        pop {r4, pc}
 
200b69a: 2000        movs  r0, #0
200b69c: 6120        str r0, [r4, #16]
200b69e: bd10        pop {r4, pc}
 
; case 6:
 
200b6a0: 2000        movs  r0, #0
200b6a2: 6120        str r0, [r4, #16]
 
; case 4: case 5:
 
200b6a4: bd10        pop {r4, pc}
 

第三章 レイクナバの武器屋

客は確率 1/8 で武器の売却を希望します。提示される武器の確率は以下の通りです:

ID アイテム名称 確率
2 こんぼう 10/32
3 どうのつるぎ 9/32
10 せいなるナイフ 5/32
12 クロスボウ 4/32
5 くさりがま 2/32
36 はじゃのつるぎ 2/32

ソース

+ ...
;-------------------------------------------
; 客の種類を決める
;-------------------------------------------
21843ba: 2008        movs  r0, #8
21843bc: f6fa eb74   blx 0x207eaa8 ; r0 ← 乱数 0〜7
21843c0: 2800        cmp r0, #0
21843c2: d101        bne.n 0x21843c8
 
21843c4: 2000        movs  r0, #0
21843c6: e000        b.n 0x21843ca
 
21843c8: 2001        movs  r0, #1
21843ca: 61e0        str r0, [r4, #28]
 
;-------------------------------------------
; 提示されるアイテムを決める
;-------------------------------------------
218434c: b510        push  {r4, lr}
218434e: 1c04        adds  r4, r0, #0
2184350: 2020        movs  r0, #32
2184352: f6fa ebaa   blx 0x207eaa8 ; r0 ← 乱数 0〜31
2184356: 281d        cmp r0, #29
2184358: dd04        ble.n 0x2184364
 
218435a: 2024        movs  r0, #36 @ 0x24
218435c: 6220        str r0, [r4, #32]
218435e: 2005        movs  r0, #5
2184360: 6260        str r0, [r4, #36] @ 0x24
2184362: bd10        pop {r4, pc}
 
2184364: 281b        cmp r0, #27
2184366: dd04        ble.n 0x2184372
2184368: 2005        movs  r0, #5
218436a: 6220        str r0, [r4, #32]
218436c: 2004        movs  r0, #4
218436e: 6260        str r0, [r4, #36] @ 0x24
2184370: bd10        pop {r4, pc}
 
2184372: 2817        cmp r0, #23
2184374: dd04        ble.n 0x2184380
2184376: 200c        movs  r0, #12
2184378: 6220        str r0, [r4, #32]
218437a: 2003        movs  r0, #3
218437c: 6260        str r0, [r4, #36] @ 0x24
218437e: bd10        pop {r4, pc}
 
2184380: 2812        cmp r0, #18
2184382: dd04        ble.n 0x218438e
2184384: 200a        movs  r0, #10
2184386: 6220        str r0, [r4, #32]
2184388: 2002        movs  r0, #2
218438a: 6260        str r0, [r4, #36] @ 0x24
218438c: bd10        pop {r4, pc}
 
218438e: 2809        cmp r0, #9
2184390: dd04        ble.n 0x218439c
2184392: 2003        movs  r0, #3
2184394: 6220        str r0, [r4, #32]
2184396: 2001        movs  r0, #1
2184398: 6260        str r0, [r4, #36] @ 0x24
218439a: bd10        pop {r4, pc}
 
218439c: 2002        movs  r0, #2
218439e: 6220        str r0, [r4, #32]
21843a0: 2000        movs  r0, #0
21843a2: 6260        str r0, [r4, #36] @ 0x24
21843a4: bd10        pop {r4, pc}
 

第三章でのアイテムドロップ処理

モンスターが通常のアイテムドロップ処理で何も落とさなかった場合、第三章では追加のアイテムドロップ処理があります。手順は次のようになっています:

1. 0〜15 の範囲の乱数値を取得し初期番号とする。
2. 以下で示した表について、初期番号から連番で 16 回アイテム入手処理を行う(途中で番号が 16 になった場合、0 に戻る)。途中で何らかのアイテムを入手できた場合、その時点で判定は打ち切る。

: 初期番号が 9 であった場合、9, 10, ..., 15, 0, ..., 8 の順でアイテム入手判定を行います。
番号 アイテム名 入手確率
0 こんぼう 1/64
1 どうのつるぎ 1/64
2 くさりがま 1/128
3 てつのやり 1/128
4 はがねのつるぎ 約(トルネコのLv)/80
5 たびびとのふく 1/64
6 かわのよろい 1/64
7 くさりかたびら 1/128
8 てつのよろい 約(トルネコのLv)/80
9 かわのたて 1/64
10 うろこのたて 1/64
11 かわのぼうし 1/64
12 きのぼうし 1/64
13 やくそう 1/64
14 どくけしそう 1/128
15 キメラのつばさ 1/64

ソース

+ ...
;--------------------------------------
; アイテムドロップ処理
;--------------------------------------
...
212ae2c: f7f5 f802   bl  0x211fe34     ; r0 ← 通常のドロップアイテム
212ae30: 4909        ldr r1, [pc, #36] @ (0x212ae58)
212ae32: 5068        str r0, [r5, r1]
212ae34: 1c28        adds  r0, r5, #0
212ae36: 1c21        adds  r1, r4, #0
212ae38: f7ff fd6a   bl  0x212a910
212ae3c: 4907        ldr r1, [pc, #28] @ (0x212ae5c)
212ae3e: 5841        ldr r1, [r0, r1]
212ae40: 4807        ldr r0, [pc, #28] @ (0x212ae60)
212ae42: 5029        str r1, [r5, r0]
212ae44: 1f00        subs  r0, r0, #4
212ae46: 5828        ldr r0, [r5, r0]
212ae48: 2800        cmp r0, #0
212ae4a: d104        bne.n 0x212ae56 ; アイテムを落としていた場合
 
212ae4c: 1c28        adds  r0, r5, #0
212ae4e: f000 f821   bl  0x212ae94
212ae52: 4901        ldr r1, [pc, #4]  @ (0x212ae58)
212ae54: 5068        str r0, [r5, r1]
 
212ae56: bd38        pop {r3, r4, r5, pc}
 
212ae58: 00003c98
212ae5c: 000004d4
212ae60: 00003c9c
 
;--------------------------------------
; 第三章でのアイテムドロップ処理
;--------------------------------------
212ae94: b5f8        push  {r3, r4, r5, r6, r7, lr}
212ae96: 4817        ldr r0, [pc, #92] @ (0x212aef4)
212ae98: 6840        ldr r0, [r0, #4]
212ae9a: 2803        cmp r0, #3
212ae9c: d001        beq.n 0x212aea2
212ae9e: 2000        movs  r0, #0
212aea0: bdf8        pop {r3, r4, r5, r6, r7, pc}
 
212aea2: 2010        movs  r0, #16
212aea4: f753 ee00   blx 0x207eaa8
212aea8: 2400        movs  r4, #0
212aeaa: 1c07        adds  r7, r0, #0
212aeac: 9400        str r4, [sp, #0]
 
212aeae: 1938        adds  r0, r7, r4
212aeb0: 0700        lsls  r0, r0, #28
212aeb2: 0ec1        lsrs  r1, r0, #27
212aeb4: 4810        ldr r0, [pc, #64] @ (0x212aef8)
212aeb6: 1846        adds  r6, r0, r1
 
212aeb8: 7870        ldrb  r0, [r6, #1]   ; r0 ← 分母の値
212aeba: 2850        cmp r0, #80 @ 0x50
212aebc: d10d        bne.n 0x212aeda
 
212aebe: 2007        movs  r0, #7
212aec0: f6e3 fe78   bl  0x200ebb4
212aec4: 305a        adds  r0, #90 @ 0x5a
212aec6: 7805        ldrb  r5, [r0, #0]
212aec8: 7870        ldrb  r0, [r6, #1]
212aeca: f753 edee   blx 0x207eaa8        ; r0 ← 乱数 0〜79
212aece: 1e69        subs  r1, r5, #1
212aed0: 4288        cmp r0, r1
212aed2: dc09        bgt.n 0x212aee8      ; (乱数値) >= (トルネコのLv) の場合
 
212aed4: 7830        ldrb  r0, [r6, #0]
212aed6: 9000        str r0, [sp, #0]
212aed8: e009        b.n 0x212aeee
 
212aeda: f753 ede6   blx 0x207eaa8        ; r0 ← 0〜(分母-1)
212aede: 2800        cmp r0, #0
212aee0: d102        bne.n 0x212aee8
 
212aee2: 7830        ldrb  r0, [r6, #0]
212aee4: 9000        str r0, [sp, #0]
212aee6: e002        b.n 0x212aeee
 
212aee8: 1c64        adds  r4, r4, #1
212aeea: 2c10        cmp r4, #16
212aeec: dbdf        blt.n 0x212aeae
 
212aeee: 9800        ldr r0, [sp, #0]
212aef0: bdf8        pop {r3, r4, r5, r6, r7, pc}
 
212aef2: 46c0        nop     @ (mov r8, r8)
 
212aef4: 020eb9a4
212aef8: 02138938
 
2138938: 02 40 03 40 05 80 06 80 
         07 50 2c 40 2d 40 2e 80 
         2f 50 49 40 4a 40 53 40 
         55 40 6f 40 70 80 72 40
 
最終更新:2024年05月31日 18:15