アイテムコード解析byココロ

ショートソード [1389] 5001

特別な効果はなし

レイピア [138A] 5002

特別な効果はなし

エストック [138B] 5003

特別な効果はなし

ファインレイピア [138C] 5004

特別な効果はなし

ポイズンレイピア [138D] 5005

発動 02 打撃命中時
-
-
-
-
-
-
-
-
-
-
-
[00C1]
0B 20 4B 0A
0B 20 24 00 02 C1 00
05 34 4C 2C
0B 27 00 03
0B 26 00 E7
05 34 58 26
12 1E 02 C1 00
0A 3D 01 0F
0B 2C 4A 02
0B 2C 41 10
06 E0 58 2C
FF
アドレス[20]に0〜9の乱数を発生。
[20]の数字が0であれば次へ。違えば[00C1]へ。
自分のSp.を[2C]に代入。
[27]に03を代入。
[26]にE7を代入。 [26][27]=03E7=999
自分のSp.に[26][27]を代入。
対象に『毒:Poison』発動。Resist時は[00C1]へ。
対象にエフェクト「3D」がカラー010F(紫)で発動する。
[2C]の数字を1/4する。
[2C]の数字に16を加算する。
相手の毒によるダメージ値に[2C]を代入。
終了。
ブラックジャックをコピペして修正しました。ほぼ同じですね。
それともコードが終わると勝手に元に戻っちゃうのかな?
他の状態異常武器とは違って、Sp.を継続時間ではなくダメージに使ってますね。
こちらのSp.が高いほどに毒のダメージが増える、と。
あれ、それだと継続時間はどうやって決めてるんだろうね?

シルバーレイピア [138E] 5006

特別な効果はなし

ミスリルレイピア [138F] 5007

特別な効果はなし

フランベルグ [1390] 5008

特別な効果はなし

スパークレイピア [1391] 5009

特別な効果はなし

アースフルーレ [1392] 5010

特別な効果はなし

アイスヴェルダン [1393] 5011

特別な効果はなし

ソウルイーター [1394] 5012

MP自然回復量に+1

発動 02 打撃命中時
-
-
-
-
-
-
-
-
-
[00B8]
-
[00C3]
-
-
-
-
-
-
-
-
-
-
[00F5]
-
-
-
-
-
[010A]
-
-
-
-
[0124]
-
-
-
-
[00CA]
04 02 2D 20
08 00 4C 20
06 4E 4C 24
06 4E 4C 28
05 4E 4C 26
05 4E 4C 2A
0B 20 4A 03
0B 20 66 01 02 B8 00
0B 20 40 01
0B 20 67 08 02 C3 00
0B 20 40 08
0B 24 5A 20
0B 24 42 01
0B 26 5A 20
0B 26 42 01
06 17 2C 01 02 0A 01
03 00 03 40
03 96 40 10
05 4E 5A 20
0B 27 2C 80 02 F5 00
0B 2A 4C 20
05 4E 40 00
13 01 20 00
06 4E 59 20
06 4A 4C 22
06 4E 75 22
06 4E 58 22
FF
06 4E 5A 20
0B 25 2C 80 02 24 01
0B 28 4C 20
06 4E 40 00
06 40 2D 80 02 24 01
13 01 20 01
05 4E 59 20
05 4A 4C 22
05 4E 75 22
05 4E 58 22
FF
相手キャラの状態コード[02]が20でなければ次へ。20であれば終了。
相手のダメージをアドレス[20]に代入。
相手の現在MPをアドレス[24]に代入。
相手の現在MPをアドレス[28]に代入。
自分の現在MPをアドレス[26]に代入。
自分の現在MPをアドレス[2A]に代入。
[20]の数字を1/8にする。
[20]の数字が1以下なら次へ、大きければ[00B8]へ。
[20]に1を代入。
[20]の数字が8以上なら次へ、小さければ[00C3]へ。
[20]に8を代入。
[24]から[20]を引く。・・・[24]=[24]-[20]
[24]から1を引く。・・・[24]=[24]-1
[26]から[20]を引く。・・・[26]=[26]-[20]
[26]から1を引く。・・・[26]=[26]-1
相手の種族コードDに01(アンデッド)があれば次へ、なければ[010A]へ。
自分の状態コード[00]に“ダメージを受けている”を代入。
自分の無敵時間に16を代入。
自分の現在MPから[20]を引く。
[27]の数字に80が入っていれば次へ、入っていなければ[00F5]へ。
[2A]の数字を[20]に代入。
自分の現在MPに0を代入。
[20]の数字を無属性色で表示。
相手の現在MPに[20]を加算する。
相手の最大MPを[22]に代入。
相手の現在MPが[22]より大きければ次へ、以下なら終了。
相手の現在MPに[22]を代入。
終了。
相手の現在MPを[20]に代入。
[25]の数字に80が入っていれば次へ、入っていなければ[0124]へ
[28]の数字を[20]に代入。
相手の現在MPに0を代入。
相手の状態異常コードAが80(スタン)でなければ次へ、80なら[0124]へ。
[20]の数字を回復属性色で表示。
自分の現在MPに[20]を加算。
自分の最大MPを[22]に代入。
自分の現在MPが[22]より大きければ次へ、以下なら終了。
自分の現在MPに[22]を代入。
終了。
はい。デビルメイスをコピペ。寸分違わず同じでした。MPの自然回復量ボーナスは追加されているけど。
途中で対象がアンデッドであるかないかの条件分岐のおかげで長くなっているだけなので。
自分と相手が入れ替わって回復/ダメージになっているということ。
殴ったダメージの1/8(1〜8まで。1以下は1として、8以上は8で扱う)をやりとりします。
回復が絡むと最大値を超えないように配慮したりしてますよ。

カオスレイピア [1395] 5013

発動 02 打撃命中時
-
-
--
-
-
-
-
-
-
-
[00C1]
0B 20 4B 0A
0B 20 24 00 02 C1 00
05 3C 4C 2C
0B 27 00 03
0B 26 00 E7
05 3C 58 26
12 08 02 C1 00
0A 3D 00 0D
0B 2C 4A 03
0B 2C 41 15
06 90 58 2C
FF
アドレス[20]に0〜9の乱数を発生。
[20]の数字が0であれば次へ。違えば[00C1]へ。
自分のMsp.を[2C]に代入。
[27]に03を代入。
[26]にE7を代入。 [26][27]=03E7=999
自分のMsp.に[26][27]を代入。
対象に『混乱:Confusion』発動。Resist時は[00C1]へ。
対象にエフェクト「3D」がカラー000D(濃紺)で発動する。
[2C]の数字を1/8する。
[2C]の数字に21を加算する。
相手の混乱の継続時間に[2C]を代入。
終了。
ポイズンレイピアをコピペして修正しました。ほぼ同じです。
発動確率は1/10。ってことで10%です。
こちらのMsp.が高いほどに混乱の継続時間が長引くと。

ヴァルキューレ [1396] 5014

MP自然回復量に+3

スローンズレイピア [1397] 5015

発動 02 打撃命中時
-
-
[009C]
06 15 2C 80 02 9C 00
05 30 41 32
FF
相手の種族コードに80(悪魔)が入っていれば次へ、いなければ[009C]へ
自分のAtに50を加算
終了
セラフィムメイスをコピーしてAt.加算の数字を修正しただけ。
悪魔に対してAt+50ってことで。

ガリアンソード [1398] 5016

発動 02 打撃命中時
-
-
-
-
-
-
-
-
-
-
-
[00C1]
0B 20 4B 0A
0B 20 24 00 02 C1 00
05 34 4C 2C
0B 27 00 03
0B 26 00 E7
05 34 58 26
12 07 02 C1 00
0A 3F 00 09
0B 2C 4A 02
0B 2C 41 24
06 8E 58 2C
FF
アドレス[20]に0〜9の乱数を発生。
[20]の数字が0であれば次へ。違えば[00C1]へ。
自分のSp.を[2C]に代入。
[27]に03を代入。
[26]にE7を代入。 [26][27]=03E7=999
自分のSp.に[26][27]を代入。
対象に『マヒ:Paralyze』発動。Resist時は[00C1]へ。
対象に電撃がバチバチと走るエフェクトが発動。カラーは群青らしい。
[2C]の数字を1/4にする。
[2C]に36を加算する。
対象のマヒの持続時間に[2C]を代入。
終了。
ポイズンレイピアをコピペして修正しました。ほぼ同じです。
発動確率は1/10。ってことで10%です。小剣には10%多いなぁ・・・
こちらのSp.が高いほどにマヒの継続時間が長引くと。

ディアボロスレイピア [1399] 5017

発動 03 打撃ダメージ計算後
-
-
-
-
-
-
-
-
-
-
-
[00C0]
-
-
-
-
[00D7]
-
[00E2]
0B 2A 00 E7
0B 2B 00 03
0B 2C 00 0F
0B 2D 00 27
0B 2E 00 00
0B 2F 00 00
05 5C 8C 20
05 5C 8C 24
0B 20 B3 2C 02 C0 00
0B 20 98 2C
0B 24 98 2C
0B 20 87 28
05 30 59 20
05 36 59 20
05 30 73 2A 02 D7 00
05 30 58 2A
05 36 73 2A 02 E2 00
05 36 58 2A
FF
アドレス[2A]にE7を代入。
アドレス[2B]に03を代入。 [2A][2B]=03E7=999
アドレス[2C]に0Fを代入。
アドレス[2D]に27を代入。 [2C][2D]=270F=9999
アドレス[2E]に00を代入。
アドレス[2F]に00を代入。  [2E][2F]=0000=0
自分の殺害数を[20]に代入。([20][21][22][23]を使用)
自分の殺害数を[24]に代入。([24][25][26][27]を使用)
[20]が[2C]以上なら次へ。小さければ[00C0]へ。
[20]に[2C]を代入。
[24]に[2C]を代入。
[20]の数字を40で割る。
自分のAt.に[20]を加算
自分のRs.に[20]を加算
自分のAt.が[2A]以上なら次へ、小さければ[00E2]へ。
自分のAt.に[2A]を代入。
自分のRs.が[2A]以上なら次へ、小さければ[00E2]へ。
自分のRs.に[2A]を代入。
終了。
はい、問題のアイテムです。最初の条件自体がすでに間違ってますね。
ダメージを計算した後でAt.を上げても無意味だってーの。
コードの構成自体は初めてのタイプ。
桁数が多いのでどこを使ってるかわかりにくいですな。
途中の[2C]なんかは実際は[2C][2D][2E][2F]となるので、00 00 27 0F
15+0+1792+8192=9999ってことで。
殺害数が10000より多ければ9999という扱いですかね。
殺害数を40で割った値がAt.とRs.に加算されるので、最大249と言うことになったはずのアイテム。
ただし、その補正後の値が999を超えていれば999に戻されるというシロモノ。
どのみち意味がないコードなんだけど(笑)
結局、[24]って使ってないよね。At.用、Rs.用に別々に用意しようとしたのかな?

ソードオブナイトメア [139A] 5018

発動 02 打撃命中時
-
-
-
-
-
-
-
-
-
-
-
-
[00C5]
-
0B 20 4B 0A
0B 20 64 00 02 C9 00
05 3C 4C 2C
0B 27 00 03
0B 26 00 E7
05 3C 58 26
06 40 2D 10 02 C5 00
12 08
0A 3D 00 0D
0B 2C 4A 03
0B 2C 41 15
06 92 58 2C
05 3C 58 2C
FF
アドレス[20]に0〜9の乱数を発生。
[20]の数字が0であれば次へ。違えば[00C9]へ。
自分のMsp.を[2C]に代入。
[27]に03を代入。
[26]にE7を代入。 [26][27]=03E7=999
自分のMsp.に[26][27]を代入。
相手の状態異常コードAに「10:呪い」がなければ次へ。あれば[00C5]へ。
対象に『混乱:Confusion』発動。Resist時は終了。
対象にエフェクト「3D」がカラー000D(濃紺)で発動する。
[2C]の数字を1/8する。
[2C]の数字に21を加算する。
相手の呪いの継続時間に[2C]を代入。
自分のMsp.に[2C]を代入。
終了。
カオスレイピアをコピペして修正しました。ほぼ同じです。
発動率はやっぱり1/10で10%と。それよりも。
どうして相手が呪い状態でないときに、という条件分岐なんでしょうねぇ。
継続時間も呪いに対して代入しているし。
このあたりが治らない混乱の元なのでしょうかね。