次回作用に書き直しているウディタの新しい基本システムの進歩
敵アイテムドロップにアイテムテーブルを使用
テーブルを使用して任意の種類のアイテムを指定した確率でドロップ判定するように変更した。テーブルを引いてアイテムを取得する処理は再利用可能。
レベル変更処理に経験値関数を使用
レベル
、最大レベル
、主人公ID
を引数に取る純粋関数を使用するようにしたのでレベルの上げ下げを繰り返しても経験値に誤差が出ないようになった。
ランダムエンカウントの判定と戦闘処理を分離
ランダムエンカウントの判定はエンカウントした際の歩数を返すようになったのでそれを使用して任意の処理を行うように変更した。
判定式はだいたい以下の通り。
function encount(max, denom){
return (1 + (max/denom)) / 2
}
なので例えば
max = 5000
denom = 50
max / encount(max, denom)
なら約99歩でエンカウントする。
理論値は事前に計算で求まるのでたとえば技術的にはエネミー・アピアランスインジケーターも実現できる。