About Deterministic FF12

(Translation in progress)

Description

Overview

This is a tool that runs on a browser. It helps observing the random number sequence of FF12 and finding a RNG position with a particular property. This page explains how to use it.

You need a web browser capable of interpreting JavaScript. Currently it is tested with Firefox 3.0, Opera 9.64, IE 7 and IE 8. It does not work on IE 6. Also, it runs slowly on IEs in general.

The table

When you open this tool in your browser, a table should show up in the right half of the window. This shows a part of one of FF12's random number sequences ("the A series"). Initially you see from position 0 to position 49.

Now I explain what each column means. Initially there should be 4 columns. For example, the 3rd line looks like "2 2 1403677032 3340". The first "2" (probably in italics) is just a guide and does not form a content of the table. The next "2" indicates that the line is about the RNG position 2. "1403677032" is the raw RNG value at the position 2. The last column shows a result of some particular process at the RNG position. What process it exactly is depends on the contents of the box to the left, but initially it is configured to display damages by guns in a particular condition. That is, it means that if a gun damage is to be calculated at the RNG position 2, the damage will be 3340. (Although it is not possible to acutually shoot a gun so that the damage calculation will be done at the position 2)

Positioning

You can choose a RNG position to display at the top of the window. The "Go" button moves you to the specified RNG position. Use "<<" and ">>" buttons to move to the next and previous position, respectively. Use "<<<" and ">>>" to jump over an arbitrary interval.

When moving around, it will take time proportional to the distance of the move, so trying to move too far may cause your browser to freeze. Moving 100 thousand forward/back should be fine, though it depends on your browser and machine.

Choosing columns

At the left part of the window, you can configure what to display in the last column of the table. There are several types of columns, so you can choose one using a drop-down list.

Guns/Measures

Predict damages by guns, measures or some rods. Enter the attack value in the "Attack" field. The "Ratio" field must be filled with the product of all the modifiers applied, such as elemental modifiers and options.

Axes/Hammers/Hand-bombs

Predict damages by axes, hammers or hand-bombs. Fill in "ratio" field with (power * (level + vitality) / 128) multiplied with modifiers. 斧、ハンマー、ハンディボムのダメージを予測します。「倍率」欄には基礎倍率(力 * (レベル + 活力) / 128)に補正を掛けた値を入力してください。有効数字は6桁あれば大抵問題ないはずです。

その他武器/魔法

その他の武器や、魔力依存のダメージ魔法/回復魔法のダメージ/回復量を予測します。基礎倍率の算出方法は武器の分類ごとに異なります。詳細はFF12Wikiの武器のページを参照してください。なお、魔法の基礎倍率は(魔力 * (レベル + 魔力) / 256 + 2)です。

剰余

乱数値を定数で割った余りを計算します。

ノックバック

ノックバック判定の結果を予測します。「y」は成功、「n」は失敗を意味します。

Combo

Predict the results of combo tests. When a combo happens, it displays the combo number. In the "Combo chance" field, enter the combo chance (not the combo value of the weapon) in integer. The combo chance is, when you are not equipped with Genji Gloves, the weapon Combo value multiplied with 0.7, rounded down to an integer.

トレジャー

トレジャーを開けたときに望みのアイテムが得られるかどうかを予測します。「y」なら得られ、「n」なら得られません。

ある乱数位置におけるダメージや連撃数の予測は、その位置でダメージ計算や連撃判定が始まった場合の値であり、その位置で攻撃を行った場合の値ではありません。例えば、ある条件で乱数位置1000における銃のダメージが5428と算出された場合、乱数位置1000で銃を撃っても5248ダメージが発生する訳ではありません。5428ダメージを発生させるには、乱数位置1000でダメージ計算が開始されるように、乱数位置995で銃を撃つ必要があります。

Use the "<<Find previous" and "Find next>>" buttons to search for a RNG position where the calculated value of the column is equal to a particular value. The search starts from the current position, and when a target position is found, the tool automatically goes there. During a search, the progress is displayed right above the table, and you can suspend the search there if the target is unlikely to be found.

初期状態では、自分で内容を決めることの出来る列は一つだけですが、「列を追加」ボタンをクリックすることで列を増やすことができます。不要になった列は「この列を削除」ボタンで消去できます。

メモ

表の各行の後半部分はメモ欄になっていて、自由な文字列を書き込むことができます。このメモはツールを終了させると失われますが、画面下部にある「メモをテキストとして表示」ボタンをクリックし、表示されたテキストをファイルに保存することで、メモ内容を記録しておくことができます。テキストとして保存したメモは「テキストからメモを導入」ボタンを使って読み込めます。

使用例

乱数位置の特定

このツールの使用例として、銃のダメージを使って乱数位置を特定する手順を紹介します。

まず、敵に妨害される恐れのない安全な場所に移動し、準備を整えます。銃で味方を攻撃するので、ダークショットの攻撃を防具で吸収するのが安全でしょう。この例では、スピカ(攻撃34)とダークショット(攻撃4)を装備したキャラが、黒の仮面を装備した味方を攻撃することにします。乱数を消費する恐れのあるステータス効果は解除しておきます。レビテガなどを自動で掛けなおすガンビットを使っているなら切っておきます。

準備が整ったら、とりあえず二発攻撃を行って、ダメージ(実際には回復量ですが)を控えます。この例では順に1910, 1934ダメージでした。

次に、このツールの列の設定を、実情に合わせて変更します。列の種別は「銃/計算尺」、「攻撃」の欄には38を入れます。攻撃役のキャラクターがHP満タン攻撃力UPの効果を受けているので、「倍率」欄は1.2としました。

乱数位置0に移動して、最初のダメージである1910を検索します。すると乱数位置22が見つかりました。二発目のダメージと整合しているか見るために、8個先である乱数位置30の予測ダメージを確認すると、その値は1982で、間違っています。よって、乱数位置22でダメージが一致したのは偶然だったと判断します。

次の候補を探すために「次を検索>>」をクリックすると、乱数位置286が見つかりましたが、やはり二発目と整合しません。もう一度「次を検索」すると、乱数位置608が見つかり、その8個下である乱数位置616でのダメージ予測値が1934になっていて、結果と整合します。

これでおそらく正しい位置を見つけられたと思いますが、念のためにもう一回攻撃を行ってダメージを比較します。予測が正しければ、次のダメージは、乱数位置624で計算され、1843ダメージになるはずです。実際に攻撃を行ったところ、まさに1843ダメージが発生しました。

最後に、厳密な乱数位置を考えます。乱数位置624と625はダメージ計算のために消費され、626は追加効果発生判定のために消費されたはずなので、現在の乱数位置は627です。また、この特定作業によって3*8個の乱数を消費したので、作業を行う前の乱数位置は603だったと考えられます。