<script>
this.tables = [
-"<th>日付</th><th>海域</th><th>マップ</th><th>マス</th><th>ボス</th><th>ランク</th><th>ドロップ艦種</th><th>ドロップ艦娘", // ドロップ
-"<th>日付</th><th style=\"min-width: 3.2em;\">海域</th><th>マップ</th><th>マス</th><th>ボス</th><th>ランク</th><th>艦隊行動</th><th>味方陣形</th><th>敵陣形</th><th style=\"min-width: 3.2em;\">敵艦隊</th><th>味方艦1</th><th>味方艦1HP</th><th>味方艦2</th><th>味方艦2HP</th><th>味方艦3</th><th>味方艦3HP</th><th>味方艦4</th><th>味方艦4HP</th><th>味方艦5</th><th>味方艦5HP</th><th>味方艦6</th><th>味方艦6HP</th><th>大破艦</ht><th style=\"min-width: 2.2em;\">敵艦1</th><th>敵艦1HP</th><th style=\"min-width: 2.2em;\">敵艦2</th><th>敵艦2HP</th><th style=\"min-width: 2.2em;\">敵艦3</th><th>敵艦3HP</th><th style=\"min-width: 2.2em;\">敵艦4</th><th>敵艦4HP</th><th style=\"min-width: 2.2em;\">敵艦5</th><th>敵艦5HP</th><th style=\"min-width: 2.2em;\">敵艦6</th><th>敵艦6HP</th><th>味方制空値</th><th>敵制空値</th><th>制空状態</th>", // 海戦
+"<th>日付</th><th>海域</th><th>マップ</th><th>経路</th><th>ボス</th><th>ランク</th><th>ドロップ艦種</th><th>ドロップ艦娘", // ドロップ
+"<th>日付</th><th style=\"min-width: 3.2em;\">海域</th><th>マップ</th><th>経路</th><th>ボス</th><th>ランク</th><th>艦隊行動</th><th>味方陣形</th><th>敵陣形</th><th style=\"min-width: 3.2em;\">敵艦隊</th><th>味方艦1</th><th>味方艦1HP</th><th>味方艦2</th><th>味方艦2HP</th><th>味方艦3</th><th>味方艦3HP</th><th>味方艦4</th><th>味方艦4HP</th><th>味方艦5</th><th>味方艦5HP</th><th>味方艦6</th><th>味方艦6HP</th><th>大破艦</th><th>中破艦</th><th style=\"min-width: 2.2em;\">敵艦1</th><th>敵艦1HP</th><th style=\"min-width: 2.2em;\">敵艦2</th><th>敵艦2HP</th><th style=\"min-width: 2.2em;\">敵艦3</th><th>敵艦3HP</th><th style=\"min-width: 2.2em;\">敵艦4</th><th>敵艦4HP</th><th style=\"min-width: 2.2em;\">敵艦5</th><th>敵艦5HP</th><th style=\"min-width: 2.2em;\">敵艦6</th><th>敵艦6HP</th><th>味方制空値</th><th>敵制空値</th><th>制空状態</th>", // 海戦
"<th>日付</th><th>結果</th><th>遠征</th><th>燃料</th><th>弾薬</th><th>鋼材</th><th>ボーキ</th><th>開発資材</th><th>高速修復材</th><th>高速建造材</th><th>改修資材</th>", // 遠征
"<th>日付</th><th>開発装備</th><th>種別</th><th>燃料</th><th>弾薬</th><th>鋼材</th><th>ボーキ</th><th>秘書艦</th><th>司令部Lv</th>", // 開発
"<th>日付</th><th>種類</th><th>名前</th><th>艦種</th><th>燃料</th><th>弾薬</th><th>鋼材</th><th>ボーキ</th><th>開発資材</th><th>空きドック</th><th>秘書艦</th><th>司令部Lv</th>", // 建造
};
this.dropColumns = function() {
- return [{data: 0}, {data: 1}, {data: 39}, {data: 2}, {data: 3}, {data: 4}, {data: 9}, {data: 10}];
+ return [{data: 0}, {data: 1}, {data: 40}, {data: 2}, {data: 3}, {data: 4}, {data: 9}, {data: 10}];
};
this.sortieColumns = function() {
var entries = [];
for (var i = 0; i < 38; i++) {
if (i === 2)
- entries.push({data: 39});
+ entries.push({data: 40});
if (i === 9 || i === 10)
continue;
- if (i === 23)
+ if (i === 23) {
entries.push({data: 38});
+ entries.push({data: 39});
+ }
entries.push({data: i});
}
return entries;
</select>
<table id="achivement_table" class="display compact cell-border">
<thead>
-<tr><th>日付</th><th>戦果</th><th>EO</th><th>月毎</th></tr>
+<tr><th>日付</th><th>戦果</th><th>月毎</th><th>EO</th><th>月毎(EO込)</th></tr>
</thead>
</table>
<div id="achivementChart" style="margin: 1em;"></div>
var lastDate = moment(0);
var lastExp = -1;
var nextDate = moment(0);
+ var lastEmit = moment(0);
for (var i = 0; i < data.length; i++) {
var row = data[i];
var date = this.parseDate(row[0]);
}
if (nextDate.valueOf() !== 0) {
var d = isNewDate ? nextDate.subtract(1, 'days') : endOfMonth;
+ lastEmit = isNewDate ? d : moment(0);
var m = d.format("YYYY-MM");
if (!this.result[m])
this.result[m] = [];
+ var perMonth = (lastExp - monthExp) / expPerAch + carryOverAch;
this.result[m].push([
d.format("YYYY-MM-DD"),
- ((lastExp - prevExp) / expPerAch).toFixed(1), dayEo,
- ((lastExp - monthExp) / expPerAch + monthEo + carryOverAch + carryOverEo).toFixed(1)
+ ((lastExp - prevExp) / expPerAch).toFixed(1),
+ perMonth.toFixed(1), dayEo,
+ (perMonth + monthEo + carryOverEo).toFixed(1)
]);
}
prevExp = lastExp === -1 ? exp : lastExp;
if (!this.result[m])
this.result[m] = [];
this.result[m].push([endOfMonth.format("YYYY-MM 引継"),
- carryOverAch.toFixed(1), carryOverEo.toFixed(1), (carryOverAch + carryOverEo).toFixed(1)]);
+ carryOverAch.toFixed(1), carryOverAch.toFixed(1), carryOverEo.toFixed(1), (carryOverAch + carryOverEo).toFixed(1)]);
}
dayEo = 0;
nextDate = date.clone().hour(2).startOf('hour');
lastDate = date;
lastExp = exp;
}
+ if (lastEmit.valueOf() !== 0) {
+ var eom = endOfMonth.format("YYYY-MM");
+ var ave = (perMonth - carryOverAch) / lastEmit.date();
+ var estimate = perMonth + ave * (endOfMonth.date() - lastEmit.date());
+ this.result[eom].push([endOfMonth.format("YYYY-MM-DD 予測"), ave.toFixed(1) + " 平均", estimate.toFixed(1) + " 予測", monthEo + " 合計", (estimate + monthEo).toFixed(1) + " 予測"]);
+ }
};
this.calcChartData = function() {
data.push(["日付", "戦果", "EO", "月毎"]);
for (var i = 0; i < result.length; i++) {
var row = result[i];
+ if (row[0].match(/予測/))
+ continue;
if (row[0].match(/引継/)) {
- eo = row[2] - 0;
- data.push([0, row[1], row[2], row[3]]);
+ eo = row[3] - 0;
+ data.push([0, row[1], row[3], row[4]]);
continue;
}
d = moment(row[0], "YYYY-MM-DD").date();
- eo += row[2];
- var ach = (row[3] - eo).toFixed(1);
- data.push([d, ach, eo, row[3]]);
+ eo += row[3];
+ data.push([d, row[2], eo, row[4]]);
}
var endOfMonth = moment(month, "YYYY-MM").endOf("month").date();
while (d < endOfMonth) {