ロマンシングサガ(WSC)の乱数について(2003.5.4追加) *かなり予想が入っているので正しくないかも知れません *式の表記は主にC言語に基づいています。 1、乱数の使われ方 いろんな状況に置いて乱数が使われると思われます。 以下は乱数を使っていると思われる状況です。(未)は未確認。 移動中:NPCの動き(未) 回復術の回復量(未) 戦闘中:敵グループの決定(未) 敵、[操作不能キャラ(未)]の行動決定 行動順決定 命中判定 ダメージ決定 状態変化成功判定 毒ダメージ判定 エレメンタルのHP、術 一部の技、術、特殊攻撃のエフェクト 戦闘終了時:ステータスアップ 獲得金の決定(未) 2、乱数テーブル 乱数テーブルは以下の式によって算出できます。 R[n+1] = ( R[n] + n % 16) % 256 512周期の8つのテーブルが存在します。 テーブルはロードするたびに変わります。 それ以外の要因でテーブルが変わる場合がある可能性もあります。 ここでは R[0] = x (xは0から7)のテーブル(テーブルx)のn番目の乱数のIDを x * 1000 + n と示すことにします。(例:テーブル0の199番目は 0199 ) 3、戦闘中における乱数 3.1、敵の行動決定 (まだ未確認の事項も多いですが・・・) 敵は行動の際に3-5の乱数を消費します。(ねむり、マヒ時は未調査) 目的は次のようになっていると思われます。 (術)系統の決定 武器(特殊攻撃)を使うかの判定 種類の選択? [技あり武器のみ]技の選択? [武器および水術のみ]対象決定 まず一つ目の乱数で使用する(術)系統を選んでいると思われます。 例として、サルーインとシェラハの行動です。 乱数%9 サルーイン シェラハ 0 火 水 1 水 水 2 土 風 3 風 風 4 闇 闇 5 闇 闇 6 邪 武器(ドレイン) 7 魔 武器(ドレイン) 8 魔 幻 該当する術の法力がない場合は次の系統の術になるようです。 *参考:SFC版のサルーインの行動 乱数%10 行動の系統 0 火 1 水 2 土 3 風 4 武器(サルーインソード) 5 闇 6 邪 7 武器(サルーインソード) 8 魔 9 幻 次の乱数で先に選んだ系統を使うか武器(無い場合は防御)をするか決めます。 この判定基準は戦闘回数(敵のランク?)によって変化します。 但し、法力が0の場合は判定なしで武器になります。 術を使う場合は最後に術の種類を決めると思われますが、詳しいことは未調査です。 また、水術の場合に限り何故か乱数消費が一つ多いです。 最終的に、術行動の際の行動決定消費乱数は3になります。 ただし、水のみ対象決定を行い行動決定消費乱数は4になります。 (参考:SFC版では対象決定のために対象の数だけ乱数を消費します) 武器を使う場合は武器の種類、技の種類、攻撃対象を決めます。 最終的に消費乱数は5(技あり武器)、または4(技無し武器)になります 通常攻撃(表示がない攻撃)は消費乱数は5です。 技を使う条件等は未調査です。 武器がない場合は防御になります。その際の消費乱数は未調査です。 攻撃対象がいない場合も防御になります。その際の行動決定消費乱数は4です。 法力が0なため武器になる場合は行動決定消費乱数は一つ小さくなります。 対象決定は乱数を攻撃可能対象数で割った余りで決まります。 0なら一番上の攻撃可能キャラが対象になり、1なら2番目… といった感じで決まります。 3.2、行動順決定 敵の行動が決まったら、行動順を決めます。 ここではハヤブサキャラはいないとします。(いる場合未調査) まず味方の上のキャラから順に乱数を一つ消費します。 そして すばやさ+乱数%20 が大きいキャラ(同値の場合は上のキャラ)から順版に行動することになります。 このターンでの各味方キャラの行動力は上の値に順番補正項が入って すばやさ+乱数%20-(味方内での順番-1)*5 となります。 次に敵の行動力は 単純に右上の敵(?)から順番に乱数を一つ消費して、 すばやさ+乱数%すばやさ で決まります。 最終的に行動力が大きいキャラ(同値の場合は味方キャラ)から順に 行動することになります。 キャラが行動不能、撃破済みでも行動順の計算は変わりません。 この式から、敵のすばやさが低い序盤では味方有利、 ミニオンなどすばやさが高い敵では敵有利となります。 その上、味方の行動に割り込みやすくなっています。 また、敵に確実に先手を取るには敵の2倍以上のすばやさが、 (6人全員が先手を取るには2倍+25以上) 確実に後手になるには敵より20以上小さいすばやさであることが必要です。 3.3、命中判定 命中判定は単体 命中判定は次のように行われると思われます。 まだ確認が十分ではありませんので違っているかもしれません。 乱数%100<=(攻撃者の命中率-対象者の回避率) ならば命中 但し(命中率-回避率)は0が最小(つまり 乱数%100=0 なら必中) ここで、命中率は 武器の命中率+武器レベル*2+きようさ−暗闇効果−5(左利きキャラのみ) で決まります。暗闇効果は未調査です。 一般的な武器の命中率は100のようです。 弓系の命中率は67です。 斧系(キック含む)の命中率は50+5*(腕力-(武器の攻撃力-7)*5)で最低50です(最大は未調査)。 この腕力に付加腕力を含むか、攻撃力に術付加を含むかは未調査。 (例:腕力99で飛翔のうてん撃:50+5*(99-(48-7)*5)<50 よって50) 左利き−5は未確認です。(SFCでは確認) また、回避率は すばやさ+盾効果(片手行動時のみ)+術回避効果−装備の重さ です。術回避効果はスペルエンハンスで約90という結果が得られています。 ただし、条件により変わる可能性もあります。 また回避率は0が最小です。 *しかし、経験上、序盤のアイアンソードは予想よりミスしやすいので、 他の要素が含まれているかも知れません。 →どうも盾効果をもつモンスターが居るためらしい。 3.4、状態変化成功率 耐性がある場合は判定しません。 弱点である場合は未調査です。(判定無しで必ず成功?) 状態変化術の場合 乱数%100 <= (術の成功率+使用者の知力*2)-対象の精神*2(-術回避効果?) ただし右辺は0が最小(つまり 乱数%100=0 なら必ず成功)。 術回避効果については未調査。 術の成功率(調査済みのもの) 精神波 50 ブラックスフィア 30 技、特殊攻撃は未調査。 3.5、追加効果成功率 耐性がある場合は判定しません。 未調査です。やはり乱数%100がある値より小さいと効きます。 使用者の能力は余り影響せずに、武器のレベルの影響が大きいようです。 なお、判定は(即死判定)→ダメージ→(追加効果)の順で行われます。 また、三力破等の能力値減少も追加効果として考えるのが妥当なようです。 3.6、ねむり、マヒ解消率 未調査です。ねむりは約1/2、マヒは約1/4で直ります。 3.7、毒ダメージ発生率 乱数%100>43ならダメージというデータがあります。 能力依存はないと思われます。 3.8、ダメージ計算 最も重要なダメージ計算です。 術などで耐性がある場合は当然乱数消費はありません。 また、どくきばなどの威力0の攻撃にも乱数消費します。 ダメージ計算に乱数が使われるのは ・レベル依存部分(飛び飛び、物理攻撃全般) ・能力依存部分(連続的、一般術や物理複数) の2つです。 レベル依存の部分は 乱数 % (16 - レベル) 能力依存部分は 乱数 % 能力 (能力は、一般術なら知力、物理複数なら腕力) いずれも大きいほどダメージは大きくなります。 レベルが16の場合、レベル依存の項は無くなり乱数を消費しません。 レベル17以上の場合 乱数 % {256 + (16 - レベル)} になります。(物理術のみで確認) また、複数攻撃の場合、最初にレベル依存部分を決定し、その後、 各対象に対してランダム部分を決めます。 3.9、エレメンタル エレメンタルのHPは以下の式で算出できます。 5 * ( 法力 + 乱数 % 法力 ) エレメンタルの覚えている術も乱数によって決まりますが細かい式は未調査です。 おそらく、基本は以下の式で決まっていると思われます。 術を数字にした値 = 乱数 %(魔力or知力or法力) これに対して、基本術の追加、召喚時不可術の削除などをしていると思われます。 3.10、エフェクト消費乱数 一部の術、技、特殊攻撃では上記判定の後さらに乱数を消費します。 それらはエフェクトに乱数消費していると思われます。 確認されているものに次のようなものがあります。 生気翔撃法 対象との位置関係で変化 一人旅でサルーインに 321 同じくシェラハに 256 エナジーストーム 30 ドレイン 変化?(約20-30) 狂乱撃(斬)、炸裂剣、必殺の矢 7程度 冷たい風 33 冷凍剣 124 他にもあると思われます。 当然、ミス時などエフェクトが発生しない時は消費しません。 なおSFC版では確認されておりません。 4、戦闘終了時の乱数 4.1、能力アップ 戦闘終了後能力、法力、レベルの上昇判定があります。 乱数%255があるしきい値以下ならその能力が上がります。 しきい値は最低で0なので、乱数が0か255なら必ず上昇します。 また、HP上昇判定後、アップ量の判定も行います。 武器や術は使ったものだけ判定されます。 パーティーの成長判定後にパーティー外キャラの成長判定をしていると思われます。 4.2、獲得金額 未調査です。 おそらく出現した敵一匹ごとの 基礎所持金+乱数%基礎所持金 の合計であると予想されます。 5、戦闘外での乱数 未調査です。 調査可能なのは回復術の回復量程度ですが、メニュー画面では乱数が流れている 可能性が高いです。 6、SFC版との違い まず、乱数テーブルが違います。SFC版では次の式でテーブルが決まります。 R[n+1] = ( R[n] + n % 15) % 256 他の主な違いはSFC版で 乱数 % X となっているところのほとんどがWSC版では 乱数 %( X - 1 ) となっています。(例外は対象決定など) このため、WSC版ではダメージの範囲が小さくなっています。 また、サルーインが幻術を使わなくなったのもこのためだと予想されます。 他には敵が術の対象決定をしなくなったことが挙げられます。 7、未調査事項 敵行動決定法則詳細 命中率詳細 状態変化攻撃成功率 追加効果成功率 ステータスアップ詳細 とりあえず、今のところ調査の予定はありません。