【広告】Amazonからブラックフライデーセール12月6まで開催中

ぶれぶれ五七五

ぶれぶれで一筆お頼み申します。

Explorer's Noteへ戻る

お 名 前
タ イ ト ル
メッセージ
文 字 色 | | | | | | | | |
削除キー COOKIEに保存
こちらの関連記事へ返信する場合は上のフォームに書いてください。

・[3546] ソードオブナイトメア? : あーぬ

ソードオブナイトメアの混乱の持続時間は∞ではなく約146秒固定で、
他異常武器と同じく重ね掛け可能。その場合文字表示は無しで煙エフェクトと共に持続時間が更新されます。

通常の状態異常武器は元SP(あるいはMSP)÷8に基本時間21秒の合計した時間を入力しており、ソードオブナイトメアも持続時間の入力を行っていますが何故か入力先がお隣の呪い時間の場所なので、時間指定された呪い(時間のみで無害)は元MSP÷8+21秒、特に指定されなかった混乱時間の方は一時MSP999化からの12 XX状態異常発生コード処理の結果146秒になっている模様です。(リアルタイムで状態異常時間アドレスを監視しました)

バトロイで彼我のLV1ステALL0やLV9999ステALL999など条件を色々変えると呪いは21秒〜146秒まで変動し、混乱は常に146秒固定でした。当時のプレイヤーの方々はこの秒数でビシバシ更新し続けられたのであたかも持続時間が無限のように感じたんでしょうね。

ちなみに状態異常の持続時間は相手側のRS/MRS/LCKが関与しませんでした。これらのステはあくまで発生確率への抵抗だけで時間は軽減できないんですね。
何故対象が呪い状態かどうかの判定と呪い時間だけの入力を行うのかは不明ですが、これにより必ずMSP999と同等の持続時間固定になりLV4000相当になるメリット(ブッ壊れ?)と、サタンリング装備の相手が混乱して魔法も物理も使えなくなるアンフェアを回避するメリットの2点が発生しています。

コードだけ見ると他からテンプレ引っ張って来て頑張って作りましたみたいな感じもしますし、ディアボロスレイピアといいフィロソハーズローブといい謎の凡ミスが見落とされたままなんですよね。持続時間算出用に弄ったメモリ2C値を最後に自MSPに代入して元に戻そうとする(戻ってない)所とか他の状態異常武器では見かけないので怪しげです。装備修正込みステの数値はメニュー開いた時やヒット時のダメージ処理開始タイミングでまた新たに素ステと装備ステから再計算され正常値に戻るので実害はありませんがモヤモヤコードですね。同様の理由でエンジェルイレイザーも1回オネーサン叩くと自分に補助回復魔法掛けたりして最後対象を変えたりしない限り、素振りするだけで装備修正込みアドレスのATが99ずつ加算されていきますがヒット時には戻ってますw フレーム単位でタイミングが重なっても結局再計算処理に阻まれるのでフィロソハーズローブでメテオ中に〇連打とかも意味ないです。あれもメモリ上ではどんどんMATが膨れ上がるのでテンションだけ上がりますw

2023年10月13日 (金) 18時20分
・[3548] 開発陣にとっても悪夢ですな : JAY

ちょっとしたコードミスでそんなことになるとは。
とはいえ、フィロソハーズローブやディアボロスの発動条件とかも残念きわまりないのは同意です。追加アイテムは検証も甘かったんでしょうねぇ。効果もぱっと見ではわからないものでしたし、なおのことかな。

 コード上、混乱の継続時間に指定がないって所までは把握してましたから、混乱する前と変わらない(継続時間が0)=継続時間が1から0にならない=終了判断ができない=無限だと思っていました。
と言うか、混乱したらタコ殴りにされて終わりですね。継続時間以前のお話とか。
アイテム解説の詳細の方、機会があったら修正しておきますね。
コードの謎と言えば壊れないダミードールもありました。昔いろいろ調べてコードを見つけてやろうとしたんですが、結局どこをどう見てもふつうのダミードールと違いがないように見えて、結局挫折した覚えがありますね。懐かしいなぁ。
バイナリなんて触る世界で仕事なんかしないだろう、と思っていたのですが、存外に今の仕事では使っていたりして、XORなんてなんの暗号だよ、とか思っていたわけですが、どこで何が役に立つかわからないなぁ、としみじみ感じています。

2023年10月15日 (日) 21時18分
・[3550] 06 40 03 08 FF(直球) : あーぬ

持続時間1→0になる時だけ状態異常ビットOFF処理がされますので、その認識で合っていますが、実は12 XXコードはそれ単体で持続時間算出まで機能しますので、ソードオブナイトメアのように12コードを使用しながら時間指定までしてやらない場合は、12コード独自の計算式に基づいた持続時間が自動で入力されちゃうんですね。

状態異常時間は種類によって少しずつ式が違うんですが、12コード混乱の場合はMSPの1/8+基本21秒で算出されています。ソードオブナイトメアも全く同じ式をコード化して自力算出した数値を(何故か)呪い時間アドレスへ突っ込んでおり、ここを書き換えて「混乱時間アドレスに0を代入」させてあげるようにすると永続混乱になりました。混乱掛かる前の持続時間0と手動代入後の0はどうやって判別しているのかは不明ですが、同じ0でもコードによる指定操作が入ったならその値を優先してくれる仕様みたいですね。まあ混乱は10秒程度で直らない限り生殺し悪夢なので、即死の方が精神的にマシになってしまうんですかね。ナイトメアは名前や説明文も含め総合的にヤバそうなオーラを発しているせいか即死より禁止されがちだったんでしょうか。

ちなみに12コード版スタンは基本5秒+元SPの1/50で、ブラックジャックは12コード後に手動計算で基本16秒+元SPの1/32と長めの時間になるようにしていますね。敵版と同じ式のままだと短いので長くするゾーという感じですね。ハリセンソードは12コード無しの直接スタンフラグONなので特定の敵種族で無効化されず、時間も基本6秒+元SP1/8とやたら伸びしろがある感じになってました。流石最強の武器ですねw

余談ですがハリセンのコード見た時冒頭の0B 20 40 00 0B 20 24 00 02 CA 00で笑い転げました。「何に使うかワカランけどとりあえずメモリ20初期化や!今0にしたばかりのメモリ20やねんけどこれはもしもの話やで?!中身が0でなかったら、もし何かの間違いで0以外になってたら、即★終劇するで!」(ンナワケナイヤロ!)みたいなお笑いコードが展開されています。これ狙って組んだんでしょうかね?06 40 03 80の後に02 CA 00があるのもよくわからないんですが態とボケてますよねコレ。「もしもの話やで?!もしCPUがバグッてスタンフラグ立てるのに失敗しよったら即★終劇やで?!」(ナンデヤネン)みたいな。CPUが本当にボケて処理をミスった時の事までフォローする気概を持ったスゴイコードです。結局メモリ20は何にも使ってないのもツッコミ所ですね。私もビットシフトとか丸め誤差って何?というレベルでプログラミング無知なのにこういうコード見て爆笑出来る程度にはなりました。

壊れないダミードールは昔聞いたことがあった程度なんですが、何かの配布キャラが持ってたりどこかの宝箱から出て来るものなどでしたかね?興味あります。コード部分が完全に一致していても、謎の理由で個数の値が0になっているとすればそこから破壊処理でー1されて65535個にはなりますね。

追記:フィロソハーズローブのコードを眺めていますと最後のMAT&MDFの加算処理が演算子58でなくて41を使用しているのに気付きました。05 38 41 2Cでは固定値44加算しているだけになるので折角計算に使用したメモリ2Cがハシゴ落されて泣いてますね。まあ58にしても意味ないんですけどね(知りたくなかった情報w)

2023年10月16日 (月) 19時03分



Number
Pass

ThinkPadを買おう!
レンタカーの回送ドライバー
【広告】Amazonからブラックフライデーセール12月6まで開催中
無料で掲示板を作ろう   情報の外部送信について
このページを通報する 管理人へ連絡
SYSTEM BY せっかく掲示板