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のこと忘れてて適当に変換テーブルを作ったため

OK キャンセル 確認 その他