TOPへ戻る

*このアイテムコードはFOOLさんから提供されたものです。

サイレントワルツ
名前
サイレントワルツ
ADDRESS  +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
800F0300 BB B2 DA DD C4 DC D9 C2 00 00 00 00 00 00 00 00
装備対象
Fig Pri Wiz Thf
Han Elf
Dwf Fai
0 0 0 0
0 30 36 0
ADDRESS  +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
800F0310 -- -- 40 81 00 00 00 00 00 00 00 00 00 1E 24 00
基本能力
AT :120
DF :0
SP :0
RS :0
MAT:0
MDF:0
MSP:0
MRS:0

Str:+0
Int:+0
Men:+0
Agl:+0
Con:+0
Pow:+0
Lck:+0
Crt:+0
ADDRESS  +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
800F0320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
800F0330 78 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
説明
死神の持つ大鎌。音もなく標的$絶命させる。
[注]
6Eからは効果コードの続きです。
ADDRESS  +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
800F0340 0C 8E 80 90 5F 82 CC 8E 9D 82 C2 91 E5 8A 99 81 
800F0350 42 89 B9 82 E0 82 C8 82 AD 95 57 93 49 82 F4 90
800F0360 E2 96 BD 82 B3 82 B9 82 E9 81 42 00 00 00 03 1C
800F0370 99 20 03 24 99 28 03 33 02 08 05 4C 42 10 FF 00
効果
移動しながら武器を振ったとき、使用者の右手方向へ“く”の字型に剣衝撃波が発動。
ADDRESS  +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
800F0380 90 00 91 00 01 00 71 17 0A 00 00 00 00 00 00 00
800F0390 FF 03 50 A4 00 02 9F 00 03 58 A5 00 02 90 00 03
800F03A0 50 8C 20 03 50 8C 24 03 58 8C 28 03 58 8C 2C 0B
800F03B0 30 00 09 0B 20 86 10 0B 24 86 02 0B 28 86 10 0B
800F03C0 2C 86 02 03 1C 99 20 03 24 99 28 09 BA 00 00 0B
800F03D0 30 02 01 0B 30 29 00 02 6E 00 0B 30 29 04 02 0C
800F03E0 01 03 1C 9A 24 03 1C 99 2C 03 24 9A 24 03 24 9A
800F03F0 2C 09 BA 00 00 03 1C 9A 24 03 1C 99 2C 03 24 9A
800F0400 24 03 24 9A 2C 03 33 01 01 01 CB 00 03 1C 9A 24
800F0410 03 1C 9A 2C 03 24 99 24 03 24 9A 2C 09 BA 00 00
800F0420 03 1C 9A 24 03 1C 9A 2C 03 24 99 24 03 24 9A 2C
800F0430 03 33 01 01 01 CB 00 FF 00 00 00 00 00 00 00 00
画像
エンジェルロッド
×1
×2
×4
×8
ADDRESS  +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
800F0440 
800F0450 
800F0460 
800F0470 
800F0480 
800F0490 
800F04A0 
800F04B0 
800F04C0 
800F04D0 
800F04E0 
800F04F0 
800F0500 
800F0510 
800F0520 
800F0530 
800F0540 
800F0550 
800F0560 
800F0570 
詳細
4390FF
439103 50 A4 00 02 9F 00 // D[移動量.X]!=0 なら 9F へ
439803 58 A5 00 02 90 00 // D[移動量.Z]==0なら終了
439F03 50 8C 20 // D[20]:tmp_spdX=D[移動量.X]
43A303 50 8C 24 // D[24]:tmp_spdX2=D[移動量.X]
43A703 58 8C 28 // D[28]:tmp_spdZ=D[移動量.Z]
43AB03 58 8C 2C // D[2C]:tmp_spdZ2=D[移動量.Z]
43AF0B 30 00 09 // B[30]:loop=9
43B30B 20 86 10 // tmp_spdX*=16
43B70B 24 86 02 // tmp_spdX2*=2
43BB0B 28 86 10 // tmp_spdZ*=16
43BF0B 2C 86 02 // tmp_spdZ2*=2
43C303 1C 99 20 // D[座標.X]+=tmp_spdX
43C703 24 99 28 // D[座標.Z]+=tmp_spdZ
:L_LOOPSTART
43CB09 BA 00 00 // 剣衝撃波
43CF0B 30 02 01 // loop--
43D30B 30 29 00 02 6E 00 // loop<=0なら 6E へ
43DA0B 30 29 04 02 0C 01 // loop<=4なら 01 0C へ
43E103 1C 9A 24 // D[座標.X]-=tmp_spdX2
43E503 1C 99 2C // D[座標.X]+=tmp_spdZ2
43E903 24 9A 24 // D[座標.Z]-=tmp_spdX2
43ED03 24 9A 2C // D[座標.Z]-=tmp_spdZ2
43F109 BA 00 00 // 剣衝撃波
43F503 1C 9A 24 // D[座標.X]-=tmp_spdX2
43F903 1C 99 2C // D[座標.X]+=tmp_spdZ2
43FD03 24 9A 24 // D[座標.Z]-=tmp_spdX2
440103 24 9A 2C // D[座標.Z]-=tmp_spdZ2
440503 33 01 01 // B[向き]++
440901 CB 00 // L_LOOPSTART へジャンプ
440C03 1C 9A 24 // D[座標.X]-=tmp_spdX2
441003 1C 9A 2C // D[座標.X]-=tmp_spdZ2
441403 24 99 24 // D[座標.Z]+=tmp_spdX2
441803 24 9A 2C // D[座標.Z]-=tmp_spdZ2
441C09 BA 00 00 // 剣衝撃波
442003 1C 9A 24 // D[座標.X]-=tmp_spdX2
442403 1C 9A 2C // D[座標.X]-=tmp_spdZ2
442803 24 99 24 // D[座標.Z]+=tmp_spdX2
442C03 24 9A 2C // D[座標.Z]-=tmp_spdZ2
443003 33 01 01 // B[向き]++
443401 CB 00 // L_LOOPSTART へジャンプ
4437FF // 終了コード
--- 追加分 ---
436E03 1C 99 20 // D[座標.X]+=tmp_spdX
437203 24 99 28 // D[座標.Z]+=tmp_spdZ
437603 33 02 08 // B[向き]-=8
437A05 4C 42 10 // W[現HP]-=16
437EFF // 終了コード
コードレベルでの最適化[0]:ループの内側、分岐後の共通処理を分岐前に持ってくるともう少しコンパクトになると思います。
コードレベルでの最適化[1]:ループにはC言語で言うところのwhiledo〜whileの2通りの方法があることを覚えとくと少しだけ幸せになれるかもしれません。
戻る