Browse Source

增加超觉醒

tags/v8.0
枫谷剑仙 7 years ago
parent
commit
58e759e0d0
7 changed files with 184 additions and 25 deletions
  1. +1
    -0
      .gitignore
  2. +16
    -3
      index.html
  3. +6
    -1
      monsters-info/extractByNode.js
  4. +1
    -1
      monsters-info/mon.json
  5. +72
    -0
      monsters-info/test.html
  6. +68
    -13
      script.js
  7. +20
    -7
      style.css

+ 1
- 0
.gitignore View File

@@ -0,0 +1 @@
monsters-info/Download-pad.skyozora.com

+ 16
- 3
index.html View File

@@ -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/>


+ 6
- 1
monsters-info/extractByNode.js View File

@@ -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);
}
}


+ 1
- 1
monsters-info/mon.json
File diff suppressed because it is too large
View File


+ 72
- 0
monsters-info/test.html View File

@@ -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>

+ 68
- 13
script.js View File

@@ -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;


+ 20
- 7
style.css View File

@@ -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: "×";
}



Loading…
Cancel
Save