【ARM】DQ9で学ぶARMアセンブル【逆汗】

このエントリーをはてなブックマークに追加
124名無しさん@お腹いっぱい。
>>121
戦闘中の乱数は解析中ですけど、解析途中のメモを投下しときます

・複数の乱数生成器を使用している?
02003c30のルーチンはダメージ計算に使われてるが、行動順、命中判定、敵の行動決定には使われていない
スーパールーレットの判定は02003c30が使われている

・02003c30の乱数シードの設定は行われない
戦闘開始などでは乱数シードは変わらない
ボス前で中断再開すると、戦闘終了まで、乱数シードの設定は行われない

・02003c30が時間経過でたまに使われる
数分毎に1〜8個ぐらい乱数消費
素材の復活判定?
戦闘中でもこの判定が入る

スーパールーレットの結果を再現しようとすると、中断再開後、02003c30の乱数消費を固定するしかない
時間経過の乱数消費は、中断再開後すぐの時もあるし、数分ないときもある
命中判定もまだわかってないんで、自分にはまだむりです
行動順、命中判定などに使われている乱数?は戦闘開始時のタイミングに影響を受けるみたいだけど、
スーパールーレットの結果判定の乱数はタイミングに影響を受けないんで、13秒はオカルトみたいですね

ちなみに乱数生成器をもうひとつ見つけたが、使われてる形跡がなかった
0202d238: カウンタ(027ffc3c)を絡ませた乱数ルーチン
0202d458: 乱数ルーチン
02101300: 乱数シード