window.onload = function() { GroupBox("bb_luanmin","乱敏计算",15,10,170,80); GroupBox("bb_level2exp","召唤兽升级经验",15,110,170,60); GroupBox("bb_huan","召唤兽修炼(宝宝环)",15,190,170,160); GroupBox("bb_predict", "召唤兽模拟加点", 200, 10, 420, 280); GroupBox("bb_other","召唤兽相关",200,310,420,40); MenuList("bb_menulist","召唤兽",5,55); //乱敏计算 LLn_Control( [ {ids:["bb_luanmin_me"], min:5, max:9999}, {ids:["bb_luanmin_other"], min:5, max:9999} ], ["bb_luanmin_percent"], function (v ,o) { a = v[0]; b = v[1]; if (a < b) { temp = a; a = b; b = temp }; if ((a * 0.7) > b) {o[0].value = "不会乱敏"} else { x = (10 * b - 7 * a + 1) * (10 * b - 7 * a) / (18 * a * b); o[0].value = Math.round(x*100000)/1000 + "%"; } } ); //宝宝升级经验 LLn_Control( [ {ids:["bb_level2exp_from","bb_level2exp_to"], min:0, max: 160} ], ["bb_level2exp_exp"], function (v, o) { o[0].value = BBLevelUpExp[v[1]] - BBLevelUpExp[v[0]]; } ); //BB环 LLn_Control( [{ids:["bb_huan_level1","bb_huan_level2"],min:0, max:25}, {ids:["bb_huan_exp"],min:0, max:9999} ], ["bb_huan_exp2","bb_huan_request"], function (v, o) { var bbhuanexp = new Array(150, 210, 290, 390, 510, 650, 810, 990, 1190, 1410, 1650,1910, 2190, 2490, 2810, 3150, 3510, 3890, 4290, 4710, 5150, 5610, 6090, 6590, 7110); a = bbhuanexp[v[0]]; if (v[2] >= a) { o[0].value = 0; o[1].value = "输入的当前经验有误,请确认" } else { exp = 0; for (var i = v[0]; i < v[1]; i++) { exp+=bbhuanexp[i]; }; exp-=v[2]; needlevel = v[1] * 5 + 20; if (needlevel < 70) {needlevel = 70}; times = Math.ceil( exp / 760 ); o[0].value = exp; o[1].value = "人物" + needlevel +"级 需跑约" + times + "次100环"; }; } ); } function bb_p_calcAndShow() { document.getElementById('bb_p_r_gj').value = aBB.gj(); document.getElementById('bb_p_r_fy').value = aBB.fy(); document.getElementById('bb_p_r_qx').value = aBB.qx(); document.getElementById('bb_p_r_mf').value = aBB.mf(); document.getElementById('bb_p_r_sd').value = aBB.sd(); document.getElementById('bb_p_r_ll').value = aBB.ll(); document.getElementById('bb_p_p_ll').value = aBB.cur_point.power; document.getElementById('bb_p_p_nl').value = aBB.cur_point.defend; document.getElementById('bb_p_p_tz').value = aBB.cur_point.physique; document.getElementById('bb_p_p_fl').value = aBB.cur_point.magic; document.getElementById('bb_p_p_mj').value = aBB.cur_point.swift; document.getElementById('bb_p_p_qn').value = aBB.cur_point.potential; } function on_bb_p_btn_click(btn) { var level2 = document.getElementById('bb_p_level2'); if (btn.value == "确定") { try{ aBB.init( document.getElementById('bb_p_level').value, document.getElementById('bb_p_zz_gz').value, document.getElementById('bb_p_zz_fz').value, document.getElementById('bb_p_zz_tz').value, document.getElementById('bb_p_zz_faz').value, document.getElementById('bb_p_zz_sz').value, document.getElementById('bb_p_zz_dz').value, document.getElementById('bb_p_grow').value, document.getElementById('bb_p_p_ll').value, document.getElementById('bb_p_p_nl').value, document.getElementById('bb_p_p_tz').value, document.getElementById('bb_p_p_fl').value, document.getElementById('bb_p_p_mj').value, document.getElementById('bb_p_p_qn').value ); document.getElementById('bb_p_p_ll').readOnly = true; document.getElementById('bb_p_p_nl').readOnly = true; document.getElementById('bb_p_p_tz').readOnly = true; document.getElementById('bb_p_p_fl').readOnly = true; document.getElementById('bb_p_p_mj').readOnly = true; document.getElementById('bb_p_p_qn').readOnly = true; bb_p_calcAndShow(); level2.options.length = 0; for (var l=document.getElementById('bb_p_level').value, c=0; l<=160; l++,c++) level2.options[c] = new Option(l+'级', l); level2.disabled = false; document.getElementById("bb_p_bl_tz").disabled = false; document.getElementById("bb_p_bl_ll").disabled = false; document.getElementById("bb_p_bl_nl").disabled = false; document.getElementById("bb_p_bl_fl").disabled = false; document.getElementById("bb_p_bl_mj").disabled = false; document.getElementById("bb_p_bl_btn").disabled = false; btn.value = '清除'; }catch(e){ alert(e.message); } } else { document.getElementById('bb_p_level').value = ""; document.getElementById('bb_p_zz_gz').value = ""; document.getElementById('bb_p_zz_fz').value = ""; document.getElementById('bb_p_zz_tz').value = ""; document.getElementById('bb_p_zz_faz').value = ""; document.getElementById('bb_p_zz_sz').value = ""; document.getElementById('bb_p_zz_dz').value = ""; document.getElementById('bb_p_grow').value = ""; document.getElementById('bb_p_p_ll').value = ""; document.getElementById('bb_p_p_nl').value = ""; document.getElementById('bb_p_p_tz').value = ""; document.getElementById('bb_p_p_fl').value = ""; document.getElementById('bb_p_p_mj').value = ""; document.getElementById('bb_p_p_qn').value = ""; document.getElementById('bb_p_r_gj').value = ""; document.getElementById('bb_p_r_fy').value = ""; document.getElementById('bb_p_r_qx').value = ""; document.getElementById('bb_p_r_mf').value = ""; document.getElementById('bb_p_r_sd').value = ""; document.getElementById('bb_p_r_ll').value = ""; document.getElementById('bb_p_p_ll').readOnly = false; document.getElementById('bb_p_p_nl').readOnly = false; document.getElementById('bb_p_p_tz').readOnly = false; document.getElementById('bb_p_p_fl').readOnly = false; document.getElementById('bb_p_p_mj').readOnly = false; document.getElementById('bb_p_p_qn').readOnly = false; level2.options.length = 0; level2.options[0] = new Option('请先设置初始数据', l); level2.disabled = true; document.getElementById("bb_p_bl_tz").disabled = true; document.getElementById("bb_p_bl_ll").disabled = true; document.getElementById("bb_p_bl_nl").disabled = true; document.getElementById("bb_p_bl_fl").disabled = true; document.getElementById("bb_p_bl_mj").disabled = true; document.getElementById("bb_p_bl_btn").disabled = true; document.getElementById("bb_p_bl_tz").selectedIndex = 0; document.getElementById("bb_p_bl_ll").selectedIndex = 0; document.getElementById("bb_p_bl_nl").selectedIndex = 0; document.getElementById("bb_p_bl_fl").selectedIndex = 0; document.getElementById("bb_p_bl_mj").selectedIndex = 0; btn.value = '确定'; } } function bb_p_modifyPoint(val, type) { if (document.getElementById("bb_p_btn").value == "确定") return false; if (type == "ll") // 力量 { if (aBB.cur_point.potential >= val && aBB.begin_point.power + aBB.targetLevel - aBB.beginLevel - aBB.cur_point.power <= val) { aBB.cur_point.power += val; aBB.cur_point.potential -= val; bb_p_calcAndShow(); } } else if (type == "nl") // 耐力 { if (aBB.cur_point.potential >= val && aBB.begin_point.defend + aBB.targetLevel - aBB.beginLevel - aBB.cur_point.defend <= val) { aBB.cur_point.defend += val; aBB.cur_point.potential -= val; bb_p_calcAndShow(); } } else if (type == "tz") // 体质 { if (aBB.cur_point.potential >= val && aBB.begin_point.physique + aBB.targetLevel - aBB.beginLevel - aBB.cur_point.physique <= val) { aBB.cur_point.physique += val; aBB.cur_point.potential -= val; bb_p_calcAndShow(); } } else if (type == "fl") // 体质 { if (aBB.cur_point.potential >= val && aBB.begin_point.magic + aBB.targetLevel - aBB.beginLevel - aBB.cur_point.magic <= val) { aBB.cur_point.magic += val; aBB.cur_point.potential -= val; bb_p_calcAndShow(); } } else if (type == "mj") // 敏捷 { if (aBB.cur_point.potential >= val && aBB.begin_point.swift + aBB.targetLevel - aBB.beginLevel - aBB.cur_point.swift <= val) { aBB.cur_point.swift += val; aBB.cur_point.potential -= val; bb_p_calcAndShow(); } } return false; } function on_bb_p_bl_btn_click() { var ll = parseFloat(document.getElementById("bb_p_bl_ll").value); var nl = parseFloat(document.getElementById("bb_p_bl_nl").value); var fl = parseFloat(document.getElementById("bb_p_bl_fl").value); var tz = parseFloat(document.getElementById("bb_p_bl_tz").value); var mj = parseFloat(document.getElementById("bb_p_bl_mj").value); var total = ll + fl + nl + tz + mj; if (total > 5) { alert("各属性分配点数之和不得大于5"); } else { var dl = aBB.targetLevel - aBB.beginLevel; var toAlloc = Math.floor(dl * total); aBB.cur_point.power = aBB.begin_point.power + dl + Math.floor(toAlloc * ll / total); aBB.cur_point.defend = aBB.begin_point.defend + dl + Math.floor(toAlloc * nl / total); aBB.cur_point.magic = aBB.begin_point.magic + dl + Math.floor(toAlloc * fl / total); aBB.cur_point.physique = aBB.begin_point.physique + dl + Math.floor(toAlloc * tz / total); aBB.cur_point.swift = aBB.begin_point.swift + dl + Math.floor(toAlloc * mj / total); var rest = toAlloc - (Math.floor(toAlloc * ll / total) + Math.floor(toAlloc * nl / total) + Math.floor(toAlloc * fl / total) + Math.floor(toAlloc * tz / total) + Math.floor(toAlloc * mj / total)); if (rest > 0) { aBB.cur_point.physique++; rest--; } if (rest > 0) { aBB.cur_point.magic++; rest--; } if (rest > 0) { aBB.cur_point.power++; rest--; } if (rest > 0) { aBB.cur_point.defend++; rest--; } if (rest > 0) { aBB.cur_point.swift++; rest--; } aBB.cur_point.potential = aBB.begin_point.potential + dl * 5 - toAlloc; bb_p_calcAndShow(); } }