| @@ -0,0 +1 @@ | |||
| monsters-info/Download-pad.skyozora.com | |||
| @@ -319,7 +319,7 @@ | |||
| </div> | |||
| <div class="awoken-total-box"> | |||
| <!--怪物觉醒--> | |||
| <ul class="m-awoken-ul"> | |||
| <ul class="awoken-ul"> | |||
| <li class="awoken-count a-c-21 display-none"><span class="awoken-icon awoken-21"></span><span class="count"></span></li><!--SB--> | |||
| <li class="awoken-count a-c-28 display-none"><span class="awoken-icon awoken-28"></span><span class="count"></span></li><!--SX--> | |||
| <li class="awoken-count a-c-11 display-none"><span class="awoken-icon awoken-11"></span><span class="count"></span></li><!--防暗--> | |||
| @@ -354,8 +354,8 @@ | |||
| </div> | |||
| <div class="setting-box"> | |||
| <div class="setting-row row-mon-awoken"> | |||
| <!--怪物觉醒--> | |||
| <ul class="m-awoken-ul"> | |||
| <!--怪物超觉醒--> | |||
| <ul class="awoken-ul"> | |||
| <li class="awoken-icon awoken-count"></li> | |||
| <li class="awoken-icon"></li> | |||
| <li class="awoken-icon"></li> | |||
| @@ -368,6 +368,19 @@ | |||
| <li class="awoken-icon"></li> | |||
| </ul> | |||
| </div> | |||
| <div class="setting-row row-mon-super-awoken"> | |||
| <ul class="awoken-ul"> | |||
| <li class="awoken-icon"></li> | |||
| <li class="awoken-icon"></li> | |||
| <li class="awoken-icon"></li> | |||
| <li class="awoken-icon"></li> | |||
| <li class="awoken-icon"></li> | |||
| <li class="awoken-icon"></li> | |||
| <li class="awoken-icon"></li> | |||
| <li class="awoken-icon"></li> | |||
| <li class="awoken-icon"></li> | |||
| </ul> | |||
| </div> | |||
| <div class="setting-row row-mon-level"> | |||
| <!--怪物等级--> | |||
| <input type="number" class="m-level" min=1 max=110/> | |||
| @@ -45,6 +45,7 @@ for (var mi=0;mi<msja.length;mi++) | |||
| var awokenCIdx = 58+m[57]*3; //awoken Count Index | |||
| var awoken = m.slice(awokenCIdx+1,awokenCIdx+1+m[awokenCIdx]); | |||
| var superAwoken = m[awokenCIdx+1+m[awokenCIdx]].split(",").map(function(ns){return parseInt(ns);}); //超觉醒 | |||
| var mon = { | |||
| id: m[0], | |||
| @@ -53,9 +54,13 @@ for (var mi=0;mi<msja.length;mi++) | |||
| type: type, | |||
| rare: m[7], | |||
| awoken: awoken, | |||
| maxLevel: m[m.length-3]>0?110:m[10], | |||
| maxLv: m[m.length-3]>0?110:m[10], | |||
| assist: (m[m.length-5]>2 && [303,305,307,600,602].indexOf(m[0])<0)?1:0, //但是5种小企鹅是特殊情况 | |||
| } | |||
| if (mon.maxLv>99 && superAwoken) | |||
| { | |||
| mon.sAwoken = superAwoken; | |||
| } | |||
| mArr.push(mon); | |||
| } | |||
| } | |||
| @@ -0,0 +1,72 @@ | |||
| <!doctype html> | |||
| <html> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <title>代码测试</title> | |||
| <script type="text/javascript"> | |||
| var card; | |||
| var mid; | |||
| var GM_xmlhttpRequest = function(GM_param) { | |||
| var xhr = new XMLHttpRequest(); //创建XMLHttpRequest对象 | |||
| xhr.open(GM_param.method, GM_param.url, true); | |||
| if (GM_param.responseType) xhr.responseType = GM_param.responseType; | |||
| if (GM_param.overrideMimeType) xhr.overrideMimeType(GM_param.overrideMimeType); | |||
| xhr.onreadystatechange = function() //设置回调函数 | |||
| { | |||
| if (xhr.readyState === xhr.DONE) { | |||
| if (xhr.status === 200 && GM_param.onload) | |||
| GM_param.onload(xhr); | |||
| if (xhr.status !== 200 && GM_param.onerror) | |||
| GM_param.onerror(xhr); | |||
| } | |||
| } | |||
| for (var header in GM_param.headers) { | |||
| xhr.setRequestHeader(header, GM_param.headers[header]); | |||
| } | |||
| xhr.send(GM_param.data ? GM_param.data : null); | |||
| } | |||
| function g(id) | |||
| { | |||
| var m = card[id]; | |||
| var pn = ["火","水","木","光","暗"]; | |||
| var p = [pn[m[2]]||"无", pn[m[3]]||"无"]; | |||
| var tn = ["0进化","1平衡","2体力","3回复","4龙","5神","6攻击","7恶魔","8机械","9","10","11","12觉醒","13","14强化","15卖钱"]; | |||
| var type = []; | |||
| type.push(tn[m[5]]); | |||
| if (m[6]!=-1) //第二个type | |||
| type.push(tn[m[6]]); | |||
| if (m[m.length-9]!=-1) //第三个type要倒着来 | |||
| type.push(tn[m[m.length-9]]); | |||
| console.log("%oNo.%d %s [%s/%s],%s退化,类型:%s,%d星,COST:%d,%s个觉醒,110级增长%d%%,卖%d MP,%s当二技",m,m[0],m[1],p[0],p[1],m[4]?"可":"不可",type.join("|"),m[7],m[8], | |||
| m[58+m[57]*3],m[m.length-3],m[m.length-8],m[m.length-5]>2?"能":"不能" | |||
| ); | |||
| } | |||
| GM_xmlhttpRequest({ | |||
| method: "GET", | |||
| url:"ja.json", | |||
| onload: function(response) { | |||
| card = JSON.parse(response.response).card; | |||
| /* | |||
| var ts = card.filter(function(m){ | |||
| return [9,10,11,13].indexOf(m[5])>=0; | |||
| }) | |||
| console.log(ts); | |||
| */ | |||
| }, | |||
| onerror: function(response) { | |||
| console.error("怪物数据获取错误",response); | |||
| } | |||
| }); | |||
| </script> | |||
| </head> | |||
| <body> | |||
| <script type="text/javascript"> | |||
| window.onload = function() | |||
| { | |||
| mid = document.querySelector("#mid"); | |||
| } | |||
| </script> | |||
| <input type="number" id="mid"><input type="button" value="测试" onclick="g(parseInt(mid.value));"> | |||
| </body> | |||
| </html> | |||
| @@ -1,7 +1,7 @@ | |||
| var ms = null; | |||
| var language = null; | |||
| var memberTeamObj = function(){ | |||
| return {id:0,level:0,awoken:0,plus:[0,0,0],latent:[]}; | |||
| return {id:0,level:0,awoken:0,plus:[0,0,0],latent:[]}; //sawoken作为可选项目,默认不在内 | |||
| } | |||
| var memberAssistObj = function(){ | |||
| return {id:0,level:0,awoken:0,plus:[0,0,0]}; | |||
| @@ -185,7 +185,7 @@ function initialize() | |||
| } | |||
| monstersSearch.oninput = monstersSearch.onchange; | |||
| //觉醒 | |||
| var monEditAwokens = Array.prototype.slice.call(settingBox.querySelectorAll(".m-awoken-ul>.awoken-icon")); | |||
| var monEditAwokens = Array.prototype.slice.call(settingBox.querySelectorAll(".row-mon-awoken .awoken-ul .awoken-icon")); | |||
| monEditAwokens.forEach(function(akDom,idx,domArr){ | |||
| akDom.onclick = function(){ | |||
| if (idx>0 && idx>=domArr.filter(function(d){return !d.classList.contains("display-none")}).length-1) | |||
| @@ -196,17 +196,33 @@ function initialize() | |||
| { | |||
| if(ai<=idx) | |||
| { | |||
| if(domArr[ai].classList.contains("unselected-awoken")) | |||
| domArr[ai].classList.remove("unselected-awoken"); | |||
| domArr[ai].classList.remove("unselected-awoken"); | |||
| } | |||
| else | |||
| { | |||
| if(!domArr[ai].classList.contains("unselected-awoken")) | |||
| domArr[ai].classList.add("unselected-awoken"); | |||
| domArr[ai].classList.add("unselected-awoken"); | |||
| } | |||
| } | |||
| } | |||
| }) | |||
| //超觉醒 | |||
| var monEditSAwokens = Array.prototype.slice.call(settingBox.querySelectorAll(".row-mon-super-awoken .awoken-ul .awoken-icon")); | |||
| monEditSAwokens.forEach(function(akDom,idx,domArr){ | |||
| akDom.onclick = function(){ | |||
| for(var ai=0;ai<domArr.length;ai++) | |||
| { | |||
| if(ai==idx) | |||
| { | |||
| domArr[ai].classList.toggle("unselected-awoken"); | |||
| } | |||
| else | |||
| { | |||
| domArr[ai].classList.add("unselected-awoken"); | |||
| } | |||
| } | |||
| } | |||
| }) | |||
| //等级 | |||
| var monEditLv = settingBox.querySelector(".m-level"); | |||
| var monEditLvMax = settingBox.querySelector(".m-level-btn-max"); | |||
| @@ -298,6 +314,23 @@ function initialize() | |||
| mD.awoken = monEditAwokens.filter(function(akDom){ | |||
| return !akDom.classList.contains("unselected-awoken") && !akDom.classList.contains("display-none") | |||
| }).length - 1; | |||
| if (ms[mD.id].sAwoken) //如果支持超觉醒 | |||
| { | |||
| mD.sawoken = -1; | |||
| for (var sai = 0;sai<monEditSAwokens.length;sai++) | |||
| { | |||
| if ( | |||
| !monEditSAwokens[sai].classList.contains("unselected-awoken") && | |||
| !monEditSAwokens[sai].classList.contains("display-none") | |||
| ) | |||
| { | |||
| mD.sawoken = sai; | |||
| break; | |||
| } | |||
| } | |||
| } | |||
| if (ms[mD.id].type.some(function(t){return t == 0 || t == 12 || t == 14 || t == 15;}) && [303,305,307,600,602].indexOf(mD.id)<0) | |||
| { //当4种特殊type的时候是无法297和打觉醒的,但是5种小企鹅可以 | |||
| mD.plus = [0,0,0]; | |||
| @@ -381,14 +414,14 @@ function changeid(mon,monDom,latentDom) | |||
| { | |||
| var levelDom = monDom.querySelector(".level"); | |||
| levelDom.innerHTML = mon.level; | |||
| if (mon.level == 99 || (mon.level >= md.maxLevel && md.maxLevel <=99)) | |||
| if (mon.level == 99 || (mon.level >= md.maxLv && md.maxLv <=99)) | |||
| { | |||
| levelDom.classList.add("max"); | |||
| }else | |||
| { | |||
| levelDom.classList.remove("max"); | |||
| } | |||
| if (md.maxLevel>99 && mon.level>=99) | |||
| if (md.maxLv>99 && mon.level>=99) | |||
| levelDom.classList.add("_110"); | |||
| else | |||
| levelDom.classList.remove("_110"); | |||
| @@ -494,8 +527,12 @@ function editMon(AorB,isAssist,tempIdx) | |||
| monstersSearch.value = mD.id>0?mD.id:0; | |||
| monstersSearch.onchange(); | |||
| var settingBox = editBox.querySelector(".setting-box"); | |||
| var monEditAwokens = settingBox.querySelectorAll(".m-awoken-ul .awoken-icon"); | |||
| //觉醒 | |||
| var monEditAwokens = settingBox.querySelectorAll(".row-mon-awoken .awoken-ul .awoken-icon"); | |||
| if (mD.awoken>0) monEditAwokens[mD.awoken].onclick(); | |||
| //超觉醒 | |||
| var monEditSAwokens = settingBox.querySelectorAll(".row-mon-super-awoken .awoken-ul .awoken-icon"); | |||
| if (mD.sawoken>=0) monEditSAwokens[mD.sawoken].onclick(); | |||
| var monEditLv = settingBox.querySelector(".m-level"); | |||
| monEditLv.value = mD.level || 1; | |||
| var monEditAddHp = settingBox.querySelector(".m-plus-hp"); | |||
| @@ -554,7 +591,7 @@ function editBoxChangeMonId(id) | |||
| } | |||
| var settingBox = editBox.querySelector(".setting-box"); | |||
| var mAwoken = settingBox.querySelectorAll(".m-awoken-ul li"); | |||
| var mAwoken = settingBox.querySelectorAll(".row-mon-awoken .awoken-ul li"); | |||
| mAwoken[0].innerHTML = md.awoken.length?"★":"0"; | |||
| for (var ai=1;ai<mAwoken.length;ai++) | |||
| { | |||
| @@ -567,10 +604,28 @@ function editBoxChangeMonId(id) | |||
| } | |||
| } | |||
| //超觉醒 | |||
| var mSAwokenRow = settingBox.querySelector(".row-mon-super-awoken"); | |||
| var mSAwoken = mSAwokenRow.querySelectorAll(".awoken-ul li"); | |||
| if (md.sAwoken) | |||
| { | |||
| mSAwokenRow.classList.remove("display-none"); | |||
| for (var ai=0;ai<mSAwoken.length;ai++) | |||
| { | |||
| if (ai < md.sAwoken.length) | |||
| mSAwoken[ai].className = "awoken-icon unselected-awoken awoken-" + md.sAwoken[ai]; | |||
| else | |||
| mSAwoken[ai].className = "display-none"; | |||
| } | |||
| }else | |||
| { | |||
| mSAwokenRow.classList.add("display-none"); | |||
| } | |||
| var monEditLvMax = settingBox.querySelector(".m-level-btn-max"); | |||
| monEditLvMax.innerHTML = monEditLvMax.value = md.maxLevel; | |||
| monEditLvMax.innerHTML = monEditLvMax.value = md.maxLv; | |||
| var monEditLv = settingBox.querySelector(".m-level"); | |||
| monEditLv.value = md.maxLevel>99?99:md.maxLevel; | |||
| monEditLv.value = md.maxLv>99?99:md.maxLv; | |||
| var rowPlus = settingBox.querySelector(".row-mon-plus"); | |||
| var rowLatent = settingBox.querySelector(".row-mon-latent"); | |||
| @@ -646,7 +701,7 @@ function refreshAll(fmt){ | |||
| } | |||
| //刷新觉醒总计 | |||
| function refreshAwokenCount(team){ | |||
| var awokenUL = document.querySelector(".awoken-total-box .m-awoken-ul"); | |||
| var awokenUL = document.querySelector(".awoken-total-box .awoken-ul"); | |||
| function setCount(idx,number){ | |||
| var ali = awokenUL.querySelector(".a-c-" + idx); | |||
| ali.querySelector(".count").innerHTML = number; | |||
| @@ -432,16 +432,23 @@ ul{ | |||
| .edit-box .setting-box .row-mon-awoken::before{ | |||
| content: "▼怪物觉醒"; | |||
| }*/ | |||
| .row-mon-awoken .m-awoken-ul{ | |||
| .row-mon-awoken .awoken-ul, .row-mon-super-awoken .awoken-ul{ | |||
| font-size: 0; | |||
| height: 32px; | |||
| } | |||
| .m-awoken-ul .awoken-icon{ | |||
| .awoken-ul li{ | |||
| margin-left: 5px; | |||
| } | |||
| .awoken-ul li:first-of-type{ | |||
| margin-left: 0; | |||
| } | |||
| .awoken-ul .awoken-icon{ | |||
| cursor: pointer; | |||
| } | |||
| .m-awoken-ul .awoken-icon.unselected-awoken{ | |||
| .awoken-ul .awoken-icon.unselected-awoken{ | |||
| opacity: 0.3; | |||
| } | |||
| .awoken-icon.awoken-count{ | |||
| .row-mon-awoken .awoken-icon.awoken-count{ | |||
| color: yellow; | |||
| font-size: 22px; | |||
| line-height: 28px; | |||
| @@ -449,6 +456,12 @@ ul{ | |||
| text-shadow: black 0 0 4px; | |||
| text-align: center; | |||
| } | |||
| .row-mon-awoken .m-super-awoken-ul{ | |||
| margin-top: 5px; | |||
| } | |||
| .edit-box .setting-box .row-mon-super-awoken::before{ | |||
| content: "▼超觉醒"; | |||
| } | |||
| .edit-box .setting-box .row-mon-plus::before{ | |||
| /*content: "▼怪物加值";*/ | |||
| display: block; | |||
| @@ -570,18 +583,18 @@ ul{ | |||
| .detail-box{ | |||
| margin-top:5px; | |||
| } | |||
| .awoken-total-box .m-awoken-ul .awoken-count{ | |||
| .awoken-total-box .awoken-ul .awoken-count{ | |||
| font-size: 20px; | |||
| line-height: 32px; | |||
| font-family: 'FOT-KurokaneStd-EB'; | |||
| float: left; | |||
| margin-right: 5px; | |||
| } | |||
| .awoken-total-box .m-awoken-ul .count{ | |||
| .awoken-total-box .awoken-ul .count{ | |||
| height: 32px; | |||
| vertical-align: middle; | |||
| } | |||
| .awoken-total-box .m-awoken-ul .count::before{ | |||
| .awoken-total-box .awoken-ul .count::before{ | |||
| content: "×"; | |||
| } | |||