トーク:エレキボール
エレキボール威力の部分の逆アセンブル結果
021E6FE8 F6B4EFE2 blx 209BFB0h ; r0 = r0 ÷ r1 (小数点以下切り捨て)
021E6FEC. 2804 cmp r0,4h
021E6FEE. DB01. blt 21E6FF4h
021E6FF0 2196 mov r1,96h
021E6FF2 E00B. b 21E700Ch
021E6FF4 2803 cmp r0,3h
021E6FF6 DB01. blt 21E6FFCh
021E6FF8 2178 mov r1,78h
021E6FFA. E007 b 21E700Ch
021E6FFC. 2802 cmp r0,2h
021E6FFE. DB01. blt 21E7004h
021E7000. 2150 mov r1,50h
021E7002. E003 b 21E700Ch
021E7000. 213C. mov r1,3Ch
021E7006. 2801 cmp r0,1h
021E7008. DA00 bge 21E700Ch
021E700A 2128 mov r1,28h
また、このときのレジスタには、
0番に自分のすばやさ、1番に相手のすばやさが格納されています。
これにより、自分のすばやさが相手のすばやさの
0倍~0.999…倍であれば、威力40
1倍~1.999…倍であれば、威力60
2倍~2.999…倍であれば、威力80
3倍~3.999…倍であれば、威力120
4倍以上であれば、威力150
になると予想されます
検証結果
1.特攻132・素早さ211のマルマインLv.50が特防131・素早さ108のウルガモスLv.50に攻撃する場合。
素早さの比は1.95なので、従来の式で求まる威力は、int(25×1.95)+1=49で、推定ダメージは28~34。
しかし実際に与えたダメージを10回調べたところ、それぞれ36、40、42、35、36、37、42、39、39、39で、
ダメージの範囲は35~42。この範囲に収まる威力は59~60だから60である可能性が高い。
2.特攻132・素早さ211のマルマインLv.50が特防137・素早さ63のズルズキンLv.50に攻撃する場合。
素早さの比は3.35なので、従来の式で求まる威力は、int(25×3.35)+1=84で、推定ダメージは46~55。
しかし実際に与えたダメージを6回調べたところ、73、66、76、69、73、75で、ダメージの範囲は66~76。
この範囲に収まる威力は117~120だから120である可能性が高い。
3.特攻132・素早さ211のマルマインLv.50が特防122・素早さ41のカビゴンLv.50に攻撃する場合。
素早さの比は5.15なので、従来の式で求まる威力は、int(25×5.15)+1=129で、推定ダメージは79~94。
しかし実際に与えたダメージを5回調べたところ、109、109、105、102、105で、ダメージの範囲は102~109。
この範囲に収まる威力は150~168だから150である可能性が高い。
4.特攻117・素早さ55のメリープLv.50が特防131・素早さ108のウルガモスLv.50に攻撃する場合。
素早さの比は0.51なので、従来の式で求まる威力は、int(25×0.51)+1=13で、推定ダメージは8~10。
しかし実際に与えたダメージを5回調べたところ、それぞれ21、24、22、24、24で、ダメージの範囲は21~24。
この範囲に収まる威力は36~40だから40である可能性が高い。
5.特攻117・素早さ55のメリープLv.50が特防137・素早さ63のズルズキンLv.50に攻撃する場合。
素早さの比は0.87なので、従来の式で求まる威力は、int(25×0.87)+1=22で、推定ダメージは12~15。
しかし実際に与えたダメージを5回調べたところ、それぞれ21、22、24、21、22で、ダメージの範囲は21~24。
この範囲に収まる威力は38~42だから40である可能性が高い。
6.特攻117・素早さ55のメリープLv.50が特防122・素早さ41のカビゴンLv.50に攻撃する場合。
素早さの比は1.34なので、従来の式で求まる威力は、int(25×1.34)+1=34で、推定ダメージは20~24。
しかし実際に与えたダメージを5回調べたところ、37、40、39、34、39で、ダメージの範囲は34~40。
この範囲に収まる威力は60~61だから60である可能性が高い。
よって仮説は正しい模様
誤っている点を見つけたら書き直して下さい