1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* 充能型技能空窗期計算機 */
/* 備註:計算用的cd請輸入減冷完畢的結果。 */
/* 感謝ProKnight協助抓蟲蟲。*/

// Beginning values:
const skill_name = "幻靈武具",  // 技能名稱
      skill_cont = 94,         // 技能持續時間
      skill_cd = 105.8,        // 技能冷卻時間
      skill_bg_chg = 2;        // 技能累積最多充能次數
let a = 0;                     // 計算用變數
// x: cd times (maximum)
// y: continued times (maximum)

// Condition:
// skill_cont * (x + skill_bg_chg) <= skill_cd * x 

// Result:
// (y - x == 2) -> (skill_charge: 0)

function reachingCD(x){
  if (skill_cont * skill_bg_chg <= skill_cd)
    return "充能用完即進入空窗期," + skill_name + "最多只能連續使用" + skill_bg_chg.toString() + "次。";
  if (skill_cont * (x + skill_bg_chg) <= skill_cd * x)
    return "您可以讓" + skill_name + ",在不進入空窗期的情況下,持續" + (skill_cont * (x + 2)).toString() + "秒、連續使用" + (x + 2).toString() + "次而不中斷。";
  else
    return reachingCD(x + 1);
}

console.log(reachingCD(a));