2013/10/05(土)ECO Sim デュアルジョブ対応完了

ECO Sim デュアルジョブ対応完了

ECO Simのデュアルジョブ対応作業が完了しましたo(*^▽^*)o~♪

で、シミュレーションできます。

前回のテスト公開版から

  • パッシブのデュアルジョブスキルのステータスへの反映(マスタリーなど)
  • セーブ機能

の機能を追加しています。



  • デュアルジョブのステータスボーナス
  • デュアルジョブのHP/MP/SP係数ボーナス

についてはある程度情報がそろってからの対応になると思います。

2013/09/29(日)ECO Simデュアルジョブ対応中

ECO Simデュアルジョブ対応中

ECO Simデュアルジョブ対応作業中ですが、まだ未完成です(;^_^A

とりあえず試してみたい人はこちらからどうぞ。
http://jasmin.sakura.ne.jp/eco/script/eco_sim_test/

  • できてる部分は、
    • デュアルジョブスキルリスト表示
    • デュアルジョブの習得スキル選択と取得数表示
  • できてないのは、
    • デュアルジョブスキルのステータスへの反映(マスタリーとか)
    • セーブ機能
  • 情報不足で現在は対応できない
    • デュアルジョブのステータスボーナス
  • ゲーム内と異なる仕様(修正予定無し、要望あれば考えます)
    • 110/50でなくてもデュアルジョブ選択可能
    • 取得スキル数上限10突破可能
    • LV不足で取得できないスキルも選択可能

2013/04/29(月)ECO Sim: Codeの仕様(仮)

ECO Sim: Codeの仕様(仮)

基本情報

Codeは元はバイナリ列のデータでBase64ライク*1な変換規則で文字列に変換したものである。バイナリ列操作や、文字列への変換操作は、util.js内のbitFieldオブジェクトを通じて行う。

以下はデバッグ用のtoBinメソッドの使用例。

javascript:(new bitField("1zP1xgX00")).toBin()
"000000000000111011010000100001000001110011100011000001"
                                                 ~~~~~~
                                                 ここが先頭の1に対応する値

javascript:(new bitField("1zP11hX0Qe00")).toBin()
"000000000000001110110100000000111011010001000001000001110011100011000001"

javascript:(new bitField("1zP1xhX0Qe0J300")).toBin()
"000000000000000011101101000000001110110100000000111011010001100001000001110011100011000001"

イリスカードのCodeについて

javascript:(new bitField("1zP1xgX00")).toBin()
                                      "0 0000 0000000111011010 0001 0000 1 000001110011 100011000001"
                                      [8][7]  [6]              [5]  [4] [3][2]          [1]

javascript:(new bitField("1zP11hX0Qe00")).toBin()
                   "000 0000 0000000111011010 0000000111011010 0010 0000 1 000001110011 100011000001"
                    [8] [7]  [6]              [6]              [5]  [4] [3][2]          [1]

javascript:(new bitField("1zP1xhX0Qe0J300")).toBin()
"00000 0000 0000000111011010 0000000111011010 0000000111011010 0011 0000 1 000001110011 100011000001"
 [8]   [7]  [6]              [6]              [6]              [5]  [4] [3][2]          [1]

イリスカードのCodeを構成するビット列を意味のある単位で分割すると上記の通りになる。各セクションの意味は以下の通り。

  • [1] イリスカードcodeマジックナンバー
  • [2] 現バージョン
  • [3] 有効フラグ
  • [4] 武器イリスカード数
  • (カードがあるならここに必要数カードindex)
  • [5] 服イリスカード数
  • [6] カードindex(必要数繰り返す)
  • [7] 胸アクセイリスカード数
  • (カードがあるならここに必要数カードindex)
  • [8] あまり(0埋め)

ECO Sim中でビット列を組み立てているコードは以下の通り。(codeは、最後に bf.toString() で得られる。)

[storage.js]
var bf = new bitField();
bf.push(target.code.masic_no,12); //イリスカードcodeマジックナンバー
bf.push(current_ver,12); //現バージョン

[iris.js]
if(!enable){
  bf.push(0,1); //無効フラグ
  return;
}else{
  bf.push(1,1); //有効フラグ
}

for(i=0;i<iris.parts_num;i++){
  bf.push(slot[i].length,4); //この部位の装備カード数(bit 3->4 on version 111)
  for(j=0;j<slot[i].length;j++){
    var idx = slot[i][j];
    bf.push(idx,16); //カードindex保存
  }
}

*1 : 変換テーブルがBase64と異なるのは、Base64のこと忘れてて適当に変換テーブルを作ったため

2012/08/25(土)ECO Sim更新(DEF仕様修正とか)

ECO Sim更新

久々に結構な大規模更新に。更新動機は、ほとんど自分で使いたいからだったり(笑)

ECO Sim

  • DEF/M.DEF計算式変更
    • ゲーム上は大きな変更。ECO Simとしては式をちょこっといじるだけ。
  • 回復率計算式変更
    • SP回復率変わってない?
  • 装備品データ更新
    • ついでに更新。
  • イリスカードデータ更新
    • ちょうど新イリスが来ていたので。
  • 無属性に対応
    • まさか属性の数が増えるとは思わなかったです。
  • 三次職の追加スキルポイントに対応
    • まだ対応していなかったのでついでに対応することに。しかし、一次職、エキスパート、テクニカルの3種類しかないことを前提にセーブデータを可変長符号で格納したりしていたので思ったより修正に手間取ることに…。そして、懲りずに4種類対応の可変長符号を組みました(別にビット単位でけちけちする必要ないんですけどね^^;)。

…なんかおまけの方に手間がかかっているような気も。

イリスカード一覧

  • 無属性に対応
    • ECO Simと共通データなので必然的にこっちも対応することに。
  • バージョン(第?段とか)表記を追加
    • 記載されてたほうが便利そうだったので。