0 はじめに SaGa2 秘法伝説の各種乱数を解析した結果を紹介します。 以下の情報を参考にさせていただきました。 RPG INSTITUTE…乱数テーブル、魔法ダメージ計算 Valhalla Palace…特殊能力、秘宝効果、ダメージ計算 Technical Note(アーカイブ)…エンカウント関連 海外版の掲示板のバグ情報スレッド…成長関連 0.1 計算について 「A%B」はAをBで割った余り。 割り算の結果はそのつど小数以下切捨て。 引き算の結果が負の場合はその都度0とする。 1 乱数テーブル 乱数テーブルそのものの中身についてはRPG INSTITUTE参照。 また、使い道によって最低でも以下7つの乱数タイプが存在する。 乱数A: 移動中の回復、 戦闘中の行動順、ダメージ量、技の命中、 戦闘後の取得アイテム、取得エスパー能力 に関わる。 乱数B: 戦闘開始時の不意打ち判定 戦闘時の逃走判定、敵行動決定、技以外の命中判定、状態変化成功判定、追加効果成功判定 戦闘終了時の肉・アイテム取得判定、人間、エスパー成長判定、成長HP量 に関わる。 電源投入時の初期位置は乱数Aから1つ進んだもの。 乱数C: 戦闘開始時の敵HP に関わる。 電源投入時の初期位置は乱数Aから2つ進んだもの。 乱数D: 戦闘開始時の敵HP に関わる。 電源投入時の初期位置は乱数Aから3つ進んだもの。 乱数E: 移動時のエンカウント判定 に関わる。 電源投入時の初期位置は乱数Aから4つ進んだもの。 乱数F: 敵出現時の敵グループ に関わる。 電源投入時の初期位置は乱数Aから5つ進んだもの。 乱数G: 敵出現時の敵数 に関わる。 電源投入時の初期位置は乱数Aから6つ進んだもの。 その他、移動中のフィールドキャラの移動用の乱数が存在する。 2 移動時の乱数 2.1 回復 乱数Aを使用。 ポーション・・・・40+乱数A%21 ハイポーション・・150+乱数A%51 魔法回復系・・・・(使用者魔力+対象者魔力)*倍率+乱数A%(使用者魔力+1) (RPG INSTITUTEより) 戦闘中も同じ。 *癒しの杖はサブキャラがいない場合でもサブキャラの分の回復量も判定する。 2.2 キャラクターランダム移動 恐らく、一定時間経過後、どのキャラを動かすかを乱数で決める、そのキャラを別の乱数で動かす、 といった処理をしていると考えられる。 フロア内のキャラ1体1体に別の乱数(A-Gよりあと)が割り当てられていてその乱数に応じた動きをする(実際に確認) 左か上に動いた後は下か右へ、下か右の後は左か上へと、同じ方向に連続して移動することは無い。 2.3 エンカウント判定 乱数Eを使用。 乱数E<危険度 のとき敵出現。 ロード、移動直後も判定。 判定は敵が出現しうる場合のみ。 危険度は場所ごとに4から16までの値をとる。 3.敵出現時 [敵グループ決定(固定敵の場合はなし)]→敵数決定→敵HP決定x敵数→味方不意打ち判定→敵不意打ち判定 の順で行うと考えられる。 また、全滅後の再戦闘では敵HP決定以後が改めて判定される。 3.1 敵グループ決定 乱数Fの値によって以下のように決まる 乱数E 割合 グループ(Technical Noteでの番号) 0- 7 8/256 グループA(3) 8- 24 17/256 グループB(4) 25- 60 34/256 グループC(5) 59-126 68/256 グループD(6) 127-194 68/256 グループE(1) 195-228 34/256 グループF(7) 229-245 17/256 グループG(2) 246-255 10/256 グループH(8) 固定敵(=出現グループが決まっている)の場合は判定しない。 なお、ラストフロアの「はにわ」はグループAに属する。 3.2 敵数決定 敵出現種類数に関わらず乱数Fを3つ使って決定。 左側の敵種から 最小数+乱数G%(最大数-最小数+1) で決まる。 敵が2種類以下の場合の空きは数を0とみなして判定。 (空きの位置はグループによって異なる) 3.3 敵HP決定 出現時の敵のHPは固定ではなく、乱数、乱数Dを使用して 敵の数だけ左の敵種から手前の敵から順に以下のように決まる。 敵初期HP=敵最大HP-乱数D%((敵最大HP/8+1)%256)-256*(乱数C%(敵最大HP/2048+1)) *乱数Cと乱数Dは常に同時に使用されるので、常に乱数Dの現在位置は乱数Cのひとつ前になる。 このように出現時の敵のHPは最大値の7/8〜8/8の値を取る。 また、全滅後の再戦闘では改めて判定される。 3.4 不意打ち判定 不意打ちは 乱数B%101≦50 を満たしかつ、「ふいうち」所持、相手が「けいかい」の未所持のとき成功。 「ふいうち」能力の所持に関わらず味方、敵の順に判定する。 敵味方両方成功した場合は相殺される。 また、全滅後の再戦闘では改めて判定される。 4 ターン冒頭 [逃走判定(逃走可能で逃げた場合)]→(敵行動決定[→行動対象決定(必要な場合)])x敵数→行動順決定 4.1 逃走判定 乱数Bを使用。逃走不可能時(必ず失敗)、味方先制時(必ず成功)は判定しない。 乱数B%51<100*(5-味方数)+味方素早さ合計-敵の素早さ合計 なら逃走成功。 味方数、素早さ合計は石化、気絶キャラを含まず。 敵素早さ合計は各個ではなく各種族の合計。 逃走可能な敵グループの素早さ合計の最大値は187(コカトリス+アイスロブスター+ウォッチャー)なので 味方5人の時は素早さ合計238以上、味方4人の時は素早さ合計138以上、 味方3人の時は素早さ合計38以上で確実に逃げられることになる。 味方2人以下の時は素早さ合計に関わらず確実に逃げられる。 *「すばやさのマギ」、「もうもく」の効果を受けない 4.2 敵行動決定 乱数B%255で決まる。(*境界値は暫定) *実際に持っている能力と、取りうる行動の数が一致しない場合有り。 *アポロンは特殊で行動決定で乱数を使用しない。 取りうる行動が1つの場合:ラムフォリンクスなど 乱数B%255 0-254 256/256 行動1 取りうる行動が2つの場合:マクロファージなど 乱数B%255 0-169 171/256 行動1 170-254 85/256 行動2 取りうる行動が3つの場合:やどかりんなど 乱数B%255 0-144 146/256 行動1 145-217 73/256 行動2 218-254 36/256 行動3 取りうる行動が4つの場合:アシュラなど 乱数B%255 0-135 137/256 行動1 136-202 67/256 行動2 203-236 34/256 行動3 237-254 18/256 行動3 取りうる行動が5つの場合:アポロンのしもべなど 乱数B%255 0-131 133/256 行動1 132-197 66/256 行動2 198-230 33/256 行動3 231-246 16/256 行動4 247-254 8/256 行動5 4.3 敵対象決定 全体攻撃の場合は判定しない。 物理攻撃系(単体攻撃、グループ系物理攻撃)は 乱数B%101≦50 を満たすまで(戦闘可能な)先頭キャラから順に判定。 誰も満たさない場合はもう一度だけ先頭キャラで判定。 魔法攻撃系(+マサムネ)の対象は以下のように決まる。 対象=乱数B%5+1 対象は先頭から1,2,3,4,5。 該当キャラがいない場合は次の番号のキャラが対象になる。ただし最後尾の次は先頭。 回復行動は左からの数えて以下の対象の敵グループになると思われる(未確認)。 対象=乱数B%3+1 4.4 行動順決定 まず敵味方各キャラについて行動値(=行動順の元となる値)を決める。 味方の場合は素早さに補正がかかる。 行動値=(行動速度+乱数A%(行動速度+1))%256 味方の場合:行動速度=(素早さ*5/4)%256 敵の場合:行動速度=素早さ 行動値が多い順に行動。 値が同じ場合は大抵後者先手となるが、状況によって異なる。 気絶したキャラ、倒した敵の分の判定も行う。 *行動順は「すばやさのマギ」、「もうもく」の効果を受けない 5 攻撃 判定順 *[]は該当時のみ。 通常直接攻撃武器、技 [盾回避判定:失敗→]命中判定:成功→ダメージ量決定[:ダメージあり→巻きつき判定(ムチ系)] 複数回攻撃の場合は{命中判定:成功→ダメージ量決定}を攻撃回数分だけ行う 弱点攻撃時 クリティカル判定:失敗→ダメージ量決定 単体状態変化攻撃 [盾回避判定:失敗→]命中判定:成功→状態変化判定 *耐性がある時、及び既にその状態変化に掛かっている時は何も判定しない。 *状態変化判定に成功した場合は反撃を受けない。 飛び道具単体 命中判定:成功→ダメージ量決定 5.1 盾回避判定 対象が盾一般、ディフェンダーなどの防御武器、からにはいるなどの能力で身を守っている時に 直接攻撃、技攻撃をした場合に判定。 乱数B%101≦盾回避率 で回避成功。 5.2 命中判定 ロングソード、きば、とかすなど基礎ダメージが能力依存する単体直接攻撃武器、 および、スタンガン、どくばりなどの単体状態変化攻撃の場合、 乱数B%101≦97-((対象素早さ-素早さ)*2)%256 で命中。 複数回攻撃は攻撃回数分だけ判定。 これから、乱数Bが0,101,202の場合は必中となり、 乱数Bが98,99,100,199,200,201の場合は必ずミスすることがわかる。 技(「パンチ」〜「じこくぐるま」)の場合は 乱数A%(残り回数+1)≦97-((対象素早さ-素早さ)*2)%256 *無限化時、メカ装備時は残り回数は じごくぐるま 75 ヤマアラシ 80 その他の体術 85 とする。(ダメージ計算も同様) で命中。 乱数Aを使用していることに注意。 通常の武器に比べて命中率は高い。 最後の攻撃はどんなに素早さに差があっても1/2で命中する。 ただし、裏技で回数255の場合は 命中率は最大98/256程度になるはず。(未確認) 単体飛び道具の場合は 弓系: 乱数B%101≦(武器命中率+素早さ*2)%256 拳銃系: 使用者メカ:乱数B%101≦(武器命中率+力*2)%256 その他種族:乱数B%101≦(武器命中率+力)%256 で命中。 対象の素早さ等は影響しない。 素早さ、力を上げ過ぎるとミスするようになるので注意。 チェーンソーの場合 乱数B%101≦武器命中率+力 で命中 5.3 クリティカル判定 単体攻撃武器で相手の弱点を攻撃したとき 乱数B%101≦30 でクリティカル発生。 5.4 状態変化成功判定 「スタンガン」、「ブレイクのしょ」、「どくばり」などの状態変化攻撃での状態変化は 乱数B%101≧50+(対象魔力-魔力)*2 で成功。 これから、対象より魔力が26以上低いと必ず失敗する。 また、魔力が相手と同じでも、高くても、成功率は106/256。 5.5 減少系攻撃命中判定 「すなじごく」、「あくしゅう」などが該当 乱数B%101>(減少対象の能力値)-10 ならば成功。 能力を下げれば下げるほどより下げやすくなる 111以上の能力値は減らすことができない 5.6 ムチ巻きつき判定 ムチ系武器でダメージを与えたときは 乱数B%101≦50 を満たすと動きを止められる。 5.6 ダメージ量計算 全て乱数Aを使用。 通常直接攻撃ダメージ:省略。Valhalla Palace参照 技攻撃ダメージ:省略。Valhalla Palace参照 *基本回数-残り回数<0のときは、65536を加える。 魔法ダメージ:省略。RPG INSTITUTE参照。 HP吸収系攻撃ダメージ 魔力*6+乱数A%(魔力+1)-対象魔力 銃系ダメージ 使用者メカ時:基本AP+((乱数A%(AP幅+1))*2)%256-対象防御*5 それ以外:基本AP+(乱数A%(AP幅+1))-対象防御*5 弓系ダメージ 基本AP+((乱数A%(AP幅+1))*n)%256-対象防御*5 *銃、重火器攻撃後:n=1 メカで 〃 :n=2 めがみのしんぞう使用後:n=212 上記以外:n=0 重火機系 使用者メカ時:基準AP*5+(乱数A%(基準AP+1))/2*2-対象防御*5 それ以外:基準AP*5+(乱数A%(基準AP+1))/2-対象防御*5 その他 ビームライフル:350+乱数A%51 ミサイル:200+(乱数A%101)*2 かくばくだん:400+(乱数A%101)*2 マサムネ:512+乱数A%(力+1) ガラスのつるぎ:1024+乱数A%(力+1) *「エクスカリバー」・「グングニルのヤリ」は力70未満の場合は力70として計算。 *ダメージ計算に対象防御が含まれているものは対象が武器に強い場合はダメージ半減。 飛び道具系武器の基本APとAP幅(命中率と同じ)は以下のとおり 銃系 基本AP AP幅(=命中率) デリンジャー 100 45 ロケットパンチ 160 55 ひなわじゅう 350 100 44マグナム 450 150 弓系 ゆみ 50 50 なげせん 50 70 ミスリルのゆみ 320 100 重火機系 基準AP サブマシンガン 50 かえんほうしゃき 50 しゅりゅうだん 70 バズーカ 98 バルカンほう 132 レオパルト2 170 よいちのゆみ 200 6 状態異常 6.1 一時状態異常回復率 乱数B%101≦回復率 を満たすと回復。 回復率は 眠り 30 93/256 マヒ 20 63/256 混乱 10 33/256 毒 20 63/256 (暫定値) 毒以外は行動時に判定。 毒はターン終了時に判定。 毒のダメージは毒回復判定の直後に 最大HP/20+乱数A%(最大HP/20+1)+1 混乱時の行動は混乱回復判定の直後に 乱数B%8 を2回判定して決定。 一つめで使用するアイテム(能力)を決定。 二つ目で対象を決定。 0-4は味方、5-7は敵になる。 使えないアイテム(能力)の場合、なにもしない。 該当する対象がいない場合も、なにもしない。 *なお、混乱がすぐに直った場合は選択した行動を取る。 *ムチ系の巻きつきを受けても混乱の行動は発動する。 6 戦闘終了後 肉/アイテムx敵種類数→(エスパー能力取得→HP上昇→能力値上昇)x該当者数 の順で判定。 アイテム・肉はどちらかひとつ取った時点で判定終了。 取得ケロの計算も同時に行っているらしく、判定終了した時点で取得ケロも確定。 成長判定は成功したら以後の判定はせず次のキャラへ(いなければ終了)。 6.1 肉・アイテム判定 左に敵グループから順に判定。 乱数B%101≦20+該当グループの敵数 で判定成功。 アイテムの場合はさらに 乱数A%装備能力数 で入手アイテム決定。 該当する能力がアイテムでない場合は何も落とさない。 アイテムがいっぱいの時も何も落とさない。 6.2 エスパー能力取得 以下を満たせば判定成功。 乱数B%201 ≦ 4 +(敵Lv-HPLv)*7 HPLv = 最大HP/(50+(最大HP%256)/26) 人間も判定する(乱数を使用する)が必ず失敗する。 成功した場合は取得能力を乱数Aで判定。 詳細はRPG INSTITUTE参照。 HPLvは具体的には以下のようになる。 最大HP HPLv 0〜 50 0 51〜107 1 108〜167 2 168〜231 3 232〜233 4 234〜235 3 236〜255 4 256〜305 5 306〜307 6 308〜311 5 312〜377 6 378〜455 7 456〜511 8 512〜560 10 561〜563 11 564〜571 10 572〜659 11 660〜667 10 668〜671 11 672〜766 12 767 14 768〜1023 15〜17 1024〜1038 20 このように最大HPに対して単調増加ではない。 6.3 最大HP上昇 以下を満たせば判定成功。 人間:乱数B%201≦10+(敵Lv*15-(HPLv*15)%256) エスパー:乱数B%201≦ 5+(敵Lv*15-(HPLv*15)%256) HPLv = 最大HP/(50+(最大HP%256)/26) (*エスパー能力判定と同じ) HP上昇に成功した場合でかつ現最大HPが998以下の場合はHP上昇量を以下の様に決める。 5+最大HP/50+乱数B%11 HP上昇に成功した場合で現最大HPが999以上の場合は、HP上昇はしないが、 その場合もそのキャラの成長判定は終了し他の能力値は上がらない。 特にHPが1024以上の場合はHPLvが20になり、 (HPLv*15)%256=300%256=44となって、HPLv3と同程度の上がり易さになる。 この場合、能力値が上がりにくくなるので注意。 6.4 能力値上昇 以下の条件を満たせばで判定成功。 人間 防御以外: 乱数B%201≦10+(敵Lv*15-能力値*15/(5+能力値/20)) 防御: 乱数B%201≦0 エスパー 力: 乱数B%201≦0 素早さ: 乱数B%201≦5+(敵Lv*7-能力値*7/(5+能力値/20)) それ以外: 乱数B%201≦5+(敵Lv*15-能力値*15/(5+能力値/20)) 判定に成功した場合、能力値が98以下ならアップする。 *能力値には装備品の効果を含む。マギ、加速装置等の戦闘中の変化効果は含まない。 *能力値が上がると必ずしも成長しにくくなるわけではなく、20の倍数になったときに成長確率は上がる。 例:レベル10の敵を倒したときの成長率(/256) (人間の防御とエスパーの力は能力値に依らず2/256) 能力値 人:力早魔 エ:魔防 エ:早 0 216 211 131 1 213 208 130 2 210 205 129 3 207 202 127 4 204 199 126 5 201 196 124 6 198 193 123 7 195 190 122 8 192 187 120 9 189 184 119 10 186 181 117 11 183 178 116 12 180 175 115 13 177 172 113 14 174 169 112 15 171 166 110 16 168 163 108 17 165 160 106 18 162 157 102 19 159 154 100 20 166 161 106 21 164 159 104 22 161 156 102 23 159 154 100 24 156 151 96 25 154 149 94 26 151 146 92 27 149 144 90 28 146 141 88 29 144 139 86 30 141 136 82 31 139 134 80 32 136 131 78 33 134 129 76 34 131 126 74 35 129 124 72 36 126 121 68 37 124 119 66 38 121 116 64 39 119 114 62 40 131 126 72 41 129 124 70 42 126 121 68 43 124 119 66 44 122 117 64 45 120 115 62 46 118 113 60 47 116 111 58 48 114 108 56 49 111 102 54 50 108 98 52 51 104 94 50 52 100 90 48 53 96 86 46 54 92 82 44 55 88 78 42 56 82 72 40 57 78 68 38 58 74 64 36 59 70 60 34 60 98 88 48 61 94 84 46 62 90 80 44 63 86 76 42 64 82 72 40 65 80 70 40 66 76 66 38 67 72 62 36 68 68 58 34 69 64 54 32 70 60 50 30 71 56 46 28 72 52 42 26 73 50 40 26 74 46 36 24 75 42 32 22 76 38 28 20 77 34 24 18 78 30 20 16 79 26 16 14 80 56 46 28 81 52 42 26 82 50 40 26 83 46 36 24 84 42 32 22 85 40 30 20 86 36 26 20 87 32 22 18 88 30 20 16 89 26 16 14 90 22 12 12 91 22 12 12 92 22 12 12 93 22 12 12 94 22 12 12 95 22 12 12 96 22 12 12 97 22 12 12 98 22 12 12