【補足】道具命名による肉入手の文字数について
Q:「ダ8_0@」で任意のレベルの肉が出せるのに「ー01」や「ぞ02」が別に書かれている(しかも何故か3文字だけ)のは何故でしょうか?
A:名付けはE0から始まる11バイトの行動
E0 XX ?? YY YY YY YY YY YY FF FF
なのですが、
(参考:http://oyasen20.tripod.com/action.html)
どうやらこの3バイト目の??は、
3文字目(すなわち3つ目のYY=6バイト目)のメモリと同一のようなのです。
(多分レジスタの設定ミス)
デバッグ開始のE1から並べると
E1:E0:命名道具番号:3文字目:1文字目:2文字目:3文字目・・・
となり、3文字目の効果が2箇所に現れてしまいます。
そしてこれはデバッグの意味合い上
E1:(05以上は道具指定):(使われない):道具カテゴリ:カテゴリ内番号:(以降はカテゴリによって異なる)
と解釈されます。
肉以外のアイテムは「道具カテゴリ」:「カテゴリ内番号」:「修正値」
の順で高々3つのパラメータで指定できるため、
これらを3-1-2文字目に対応させればうまくいきます。
ところが、肉は普通に指定する場合
「道具カテゴリ肉(9)」:「中分類カテゴリ0」:「キャラコード」:「レベル」
と4つの指定が必要になります。
結果、道具カテゴリとレベルが同じ3文字目のメモリに対応してしまうため、
通常のやり方ではまともに指定することができません。
(レベル9の肉しか作れない)
そこで、回避策として二通りの方法があります。
1:文字コード80「ダ」以降は選択キャンセルを意味するので、
1文字目にこれを指定すると「1回目の3文字目の選択」をキャンセルでき、
(3文字目):(1文字目キャンセル):2文字目:3文字目:4文字目:5文字目
の5文字で4つのパラメータを指定できる
2:肉以外のカテゴリを指定してから、
カテゴリ内順位が肉の番号E0になるような大きいコードを入力して
強引に肉を選ぶ
しかし2には制限があり、カテゴリ毎に肉の道具番号E0を取れる値は決まっています。
例えば「矢」(カテゴリ8)を指定した場合、
初期値である「木の矢」はアイテムコード10hなので、
カテゴリ内の順番としてE0を指定するためには
順番コードとしてD0を入力する必要があります。
しかし前述の通り、80h以上の文字はキャンセルを意味してしまうため、
80より大きい番号の指定はできません。
このように、ある程度アイテムコードの初期値が大きいカテゴリでしか、
アイテムコードE0は指定出来ないことになります。
カテゴリは0(草)~9(肉など)までありますが、
これが可能なカテゴリは1~4、7に限られます。
これは、3文字で表現できる肉のレベルが2~5、8に限られることを意味し、
レベル1の肉はどうしても5文字必要になってしまいます。
(逆にレベル4,5,8も3文字で行けますが、
表が煩雑になるので略してます。需要も小さいですし)
もちろん5文字使えば任意のレベルが指定できるわけですが、
TAS的な需要としては3文字も重要な場合もあり得るので併記しました。
以上が、3文字と5文字、及び任意レベルと特定レベルが混在している理由でした。
あーややこしい。