Browse Source

做好了潜觉的选择

tags/v8.0
枫谷剑仙 7 years ago
parent
commit
8792c01a6a
6 changed files with 288 additions and 45 deletions
  1. BIN
      images/latent.png
  2. +25
    -13
      index.html
  3. +126
    -14
      script.js
  4. +57
    -6
      style-monsterimages.css
  5. +43
    -10
      style.css
  6. +37
    -2
      universal_function.js

BIN
images/latent.png View File

Before After
Width: 76  |  Height: 1088  |  Size: 29 kB

+ 25
- 13
index.html View File

@@ -85,7 +85,7 @@
</ul>
<ul class="formation-team">
<li class="team team-1 team-leader">
<ul class="acquisitus-awoken-ul">
<ul class="latent-ul">
<li></li>
<li></li>
<li></li>
@@ -96,7 +96,7 @@
<a class="monster" target="_blank">
<div class="property"></div>
<div class="subproperty"></div>
<div class="addition has297"><div class="hp">99</div><div class="atk">99</div><div class="def">99</div><div class="_297">297</div></div>
<div class="addition has297"><div class="hp">99</div><div class="atk">99</div><div class="rcv">99</div><div class="_297">297</div></div>
<div class="awoken-count display-none"></div>
<div class="level">99</div>
</a>
@@ -340,21 +340,33 @@
<ul>
<li class="m-add-hp-li"><input type="number" class="m-add-hp" min=0 max=99 /><button class="m-add-hp-btn-99" value="99">99</button></li>
<li class="m-add-atk-li"><input type="number" class="m-add-atk" min=0 max=99 /><button class="m-add-atk-btn-99" value="99">99</button></li>
<li class="m-add-def-li"><input type="number" class="m-add-def" min=0 max=99 /><button class="m-add-def-btn-99" value="99">99</button></li>
<li class="m-add-rcv-li"><input type="number" class="m-add-rcv" min=0 max=99 /><button class="m-add-rcv-btn-99" value="99">99</button></li>
</ul>
</div>
<div class="setting-row row-mon-a-awoken">
<div class="setting-row row-mon-latent">
<!--潜在觉醒-->
<ul class="m-a-awoken-ul">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<ul class="m-latent-ul">
<li class="latent-icon"></li>
<li class="latent-icon"></li>
<li class="latent-icon"></li>
<li class="latent-icon"></li>
<li class="latent-icon"></li>
<li class="latent-icon"></li>
</ul>
<ul class="m-a-awoken-list-ul">
<li></li>
<ul class="m-latent-allowable-ul">
<li class="latent-icon latent-icon-17" value="17"></li>
<li class="latent-icon latent-icon-18" value="18"></li>
<li class="latent-icon latent-icon-19" value="19"></li>
<li class="latent-icon latent-icon-20" value="20"></li>
<li class="latent-icon latent-icon-21" value="21"></li>
<li class="latent-icon latent-icon-22" value="22"></li>
<li class="latent-icon latent-icon-23" value="23"></li>
<li class="latent-icon latent-icon-24" value="24"></li>
<li class="latent-icon latent-icon-13" value="13"></li>
<li class="latent-icon latent-icon-14" value="14"></li>
<li class="latent-icon latent-icon-15" value="15"></li>
<li class="latent-icon latent-icon-16" value="16"></li>
<li class="latent-icon latent-icon-11" value="11"></li>
</ul>
</div>


+ 126
- 14
script.js View File

@@ -7,6 +7,7 @@ window.onload = function()
onload: function(response) {
ms = JSON.parse(response.response);
initialize();//初始化
test(); //测试代码
},
onerror: function(response) {
console.error("怪物数据获取错误",response);
@@ -26,6 +27,7 @@ function initialize()
//编辑框
var editBox = document.querySelector(".edit-box");
var settingBox = editBox.querySelector(".setting-box")
//id搜索
var monstersSearch = editBox.querySelector(".edit-box .m-id");
monstersSearch.onchange = function(){
if (/^\d+$/.test(this.value))
@@ -34,6 +36,7 @@ function initialize()
}
}
monstersSearch.oninput = monstersSearch.onchange;
//觉醒
var monEditAwokens = Array.prototype.slice.call(settingBox.querySelectorAll(".m-awoken-ul>.awoken-icon"));
monEditAwokens.forEach(function(akDom,idx,domArr){
akDom.onclick = function(){
@@ -44,12 +47,19 @@ function initialize()
for(var ai=1;ai<domArr.length;ai++)
{
if(ai<=idx)
domArr[ai].classList.remove("unselected-awoken");
{
if(domArr[ai].classList.contains("unselected-awoken"))
domArr[ai].classList.remove("unselected-awoken");
}
else
domArr[ai].classList.add("unselected-awoken");
{
if(!domArr[ai].classList.contains("unselected-awoken"))
domArr[ai].classList.add("unselected-awoken");
}
}
}
})
//等级
var monEditLv = settingBox.querySelector(".m-level");
var monEditLv99 = settingBox.querySelector(".m-level-btn-99");
var monEditLv110 = settingBox.querySelector(".m-level-btn-110");
@@ -57,20 +67,100 @@ function initialize()
monEditLv.value = this.value;
}
monEditLv110.onclick = monEditLv99.onclick;
//加蛋
var monEditAddHp = settingBox.querySelector(".m-add-hp");
var monEditAddAtk = settingBox.querySelector(".m-add-atk");
var monEditAddDef = settingBox.querySelector(".m-add-def");
var monEditAddRcv = settingBox.querySelector(".m-add-rcv");
var monEditAddHp99 = settingBox.querySelector(".m-add-hp-btn-99");
monEditAddHp99.onclick = function(){monEditAddHp.value = this.value}
var monEditAddAtk99 = settingBox.querySelector(".m-add-atk-btn-99");
monEditAddAtk99.onclick = function(){monEditAddAtk.value = this.value}
var monEditAddDef99 = settingBox.querySelector(".m-add-def-btn-99");
monEditAddDef99.onclick = function(){monEditAddDef.value = this.value}
var monEditAddRcv99 = settingBox.querySelector(".m-add-rcv-btn-99");
monEditAddRcv99.onclick = function(){monEditAddRcv.value = this.value}
var monEditAdd297 = settingBox.querySelector(".m-add-btn-297");
monEditAdd297.onclick = function(){monEditAddHp.value = monEditAddAtk.value = monEditAddDef.value = 99}
test();
monEditAdd297.onclick = function(){monEditAddHp.value = monEditAddAtk.value = monEditAddRcv.value = 99}
//潜觉
var monEditLatentUl = settingBox.querySelector(".m-latent-ul");
var latent = editBox.latent = [];
var monEditLatents = Array.prototype.slice.call(monEditLatentUl.querySelectorAll("li"));
var monEditLatentAllowableUl = settingBox.querySelector(".m-latent-allowable-ul");
var monEditLatentsAllowable = Array.prototype.slice.call(monEditLatentAllowableUl.querySelectorAll("li"));
function usedHole(latent) //计算用了多少潜觉格子
{
return latent.reduce(function(previous,current){
return previous + (current>= 12?2:1);
},0);
}
function refreshLatent() //刷新潜觉
{
if (this.value<0) return;
var usedHoleN = usedHole(latent);
for (var ai=0;ai<6;ai++)
{
if (latent[ai])
{
monEditLatents[ai].className = "latent-icon latent-icon-" + latent[ai];
monEditLatents[ai].value = ai;
}
else if(ai<(6-usedHoleN+latent.length))
{
monEditLatents[ai].className = "latent-icon";
monEditLatents[ai].value = -1;
}
else
{
monEditLatents[ai].className = "display-none";
monEditLatents[ai].value = -1;
}
}
}
editBox.refreshLatent = refreshLatent;
//已有觉醒的去除
monEditLatents.forEach(function(l){
l.onclick = function(){
var aIdx = parseInt(this.value);
latent.splice(aIdx,1);
refreshLatent();
}
})
//可选觉醒的添加
monEditLatentsAllowable.forEach(function(la){
la.onclick = function(){
if (this.classList.contains("unselected-latent")) return;
var lIdx = parseInt(this.value);
var usedHoleN = usedHole(latent);
if (lIdx >= 12 && usedHoleN<=4)
latent.push(lIdx);
else if (lIdx < 12 && usedHoleN<=5)
latent.push(lIdx);
refreshLatent();
/*
var allowHole = monEditLatents.filter(function(l){ //返回空余潜觉格子
return !l.classList.contains("display-none") && //没被隐藏的
Array.prototype.slice.call(l.classList).filter(function(c){ //存在觉醒图标className的
return /^latent\-icon\-\d+$/ig.test(c);
}).length<1;
})
var lIdx = parseInt(this.value);
if (lIdx >= 12)
{ //占两格
if (allowHole.length>=2)
{
allowHole[0].className = "latent-icon latent-icon-" + lIdx;
allowHole.value = lIdx;
allowHole[allowHole.length-1].className = "display-none";
}
}else
{ //占一格
if (allowHole.length>=1)
{
allowHole[0].className = "latent-icon latent-icon-" + lIdx;
allowHole.value = lIdx;
}
}
*/
}
})
}
function changeid(mon,monDom,awokenDom)
{
@@ -118,7 +208,7 @@ function changeid(mon,monDom,awokenDom)
{
monDom.querySelector(".addition .hp").innerHTML = mon.addition[0];
monDom.querySelector(".addition .atk").innerHTML = mon.addition[1];
monDom.querySelector(".addition .def").innerHTML = mon.addition[2];
monDom.querySelector(".addition .rcv").innerHTML = mon.addition[2];
if (mon.addition[0]+mon.addition[1]+mon.addition[2] >= 297)
{
monDom.querySelector(".addition").classList.add("has297");
@@ -154,7 +244,8 @@ function editChangeMonId(id)
id = 0;
md = ms[0]
}
var monInfoBox = document.querySelector(".edit-box .monsterinfo-box");
var editBox = document.querySelector(".edit-box");
var monInfoBox = editBox.querySelector(".monsterinfo-box");
var me = monInfoBox.querySelector(".monster");
changeid({id:id,},me); //改变图像
var mId = monInfoBox.querySelector(".monster-id");
@@ -163,7 +254,7 @@ function editChangeMonId(id)
mRare.className = "monster-rare rare-" + md.rare;
var mName = monInfoBox.querySelector(".monster-name");
mName.innerHTML = md.name;
var mType = monInfoBox.querySelector(".monster-type").children;
var mType = monInfoBox.querySelectorAll(".monster-type li");
for (var ti=0;ti<mType.length;ti++)
{
if (md.type[ti])
@@ -176,8 +267,8 @@ function editChangeMonId(id)
}
}
var monSettingBox = document.querySelector(".edit-box .setting-box");
var mAwoken = monSettingBox.querySelector(".m-awoken-ul").children;
var monSettingBox = editBox.querySelector(".setting-box");
var mAwoken = monSettingBox.querySelectorAll(".m-awoken-ul li");
mAwoken[0].innerHTML = md.awoken.length?"★":"0";
for (var ai=1;ai<mAwoken.length;ai++)
{
@@ -189,4 +280,25 @@ function editChangeMonId(id)
mAwoken[ai].className = "display-none";
}
}
var monLatentAllowUl = editBox.querySelector(".m-latent-allowable-ul");
//该宠Type允许的杀
var allowLatent = uniq(md.type.reduce(function (previous, t, index, array) {
return previous.concat(type_allowable_latent[t]);
},[]));
for(var li=17;li<=24;li++)
{
var latentDom = monLatentAllowUl.querySelector(".latent-icon-" + li);
if (allowLatent.indexOf(li)>=0)
{
if(latentDom.classList.contains("unselected-latent"))
latentDom.classList.remove("unselected-latent");
}else
{
if(!latentDom.classList.contains("unselected-latent"))
latentDom.classList.add("unselected-latent");
}
}
editBox.latent.length = 0;
editBox.refreshLatent();
}

+ 57
- 6
style-monsterimages.css View File

@@ -157,8 +157,8 @@
.pet-cards-index-y-7{background-position-y:-714px;}
.pet-cards-index-y-8{background-position-y:-816px;}
.pet-cards-index-y-9{background-position-y:-918px;}
/*觉醒和类型*/
.awoken-icon,.type-icon{
/*觉醒、类型、潜觉*/
.awoken-icon,.type-icon,.latent-icon{
display:inline-block;
width:32px;height:32px;
vertical-align: middle;
@@ -449,9 +449,60 @@
.type-name-15::after{/*龙*/
content: "贩卖用";
}
.type-icon-9{/*特殊*/
background-position: 0px -384px;
/*潜在觉醒*/
.latent-icon{
background-image: url(images/latent.png);
}
.latent-icon-11{ /*防坐*/
background-position: 0px -352px;
}
.latent-icon-13{ /*进化杀*/
background-position: 0px -416px;
}
.latent-icon-14{ /*觉醒杀*/
background-position: 0px -448px;
}
.latent-icon-15{ /*强化杀*/
background-position: 0px -480px;
}
.latent-icon-16{ /*卖钱杀*/
background-position: 0px -512px;
}
.latent-icon-17{ /*神杀*/
background-position: 0px -544px;
}
.latent-icon-18{ /*龙杀*/
background-position: 0px -576px;
}
.latent-icon-19{ /*恶魔杀*/
background-position: 0px -608px;
}
.latent-icon-20{ /*机械杀*/
background-position: 0px -640px;
}
.latent-icon-21{ /*平衡杀*/
background-position: 0px -672px;
}
.latent-icon-22{ /*攻击杀*/
background-position: 0px -704px;
}
.latent-icon-23{ /*体力杀*/
background-position: 0px -736px;
}
.latent-icon-24{ /*回复杀*/
background-position: 0px -768px;
}
.type-name-9::after{
content: "特殊";
.latent-icon-13,
.latent-icon-14,
.latent-icon-15,
.latent-icon-16,
.latent-icon-17,
.latent-icon-18,
.latent-icon-19,
.latent-icon-20,
.latent-icon-21,
.latent-icon-22,
.latent-icon-23,
.latent-icon-24{
width: 76px;
}

+ 43
- 10
style.css View File

@@ -57,7 +57,7 @@ ul{
}
.monster .addition .hp::before,
.monster .addition .atk::before,
.monster .addition .def::before,
.monster .addition .rcv::before,
.monster .addition ._297::before{
content: "+";
}
@@ -66,7 +66,7 @@ ul{
}
.monster .addition.has297 .hp,
.monster .addition.has297 .atk,
.monster .addition.has297 .def{ /*当是297时隐藏3维*/
.monster .addition.has297 .rcv{ /*当是297时隐藏3维*/
display:none;
}
.monster .addition.has297 ._297{ /*当是297时显示297*/
@@ -335,27 +335,27 @@ ul{
content: "怪物加值";
display: block;
}
.setting-box .m-add-hp,.setting-box .m-add-atk,.setting-box .m-add-def{
.setting-box .m-add-hp,.setting-box .m-add-atk,.setting-box .m-add-rcv{
font-size: 25px;
height: 40px;
width: calc(100% - 212px);
box-sizing: border-box;
}
.m-add-hp-li::before,.m-add-atk-li::before,.m-add-def-li::before{
.m-add-hp-li::before,.m-add-atk-li::before,.m-add-rcv-li::before{
font-size: 25px;
width: 55px;
display: inline-block;
}
.m-add-hp-li::before{content: "HP";}
.m-add-atk-li::before{content: "攻击";}
.m-add-def-li::before{content: "回复";}
.m-add-hp-btn-99,.m-add-atk-btn-99,.m-add-def-btn-99{
.m-add-rcv-li::before{content: "回复";}
.m-add-hp-btn-99,.m-add-atk-btn-99,.m-add-rcv-btn-99{
height: 40px;
width: 70px;
box-sizing: border-box;
font-size: 25px;
}
.m-add-hp-btn-99::before,.m-add-atk-btn-99::before,.m-add-def-btn-99::before,.m-add-btn-297::before{
.m-add-hp-btn-99::before,.m-add-atk-btn-99::before,.m-add-rcv-btn-99::before,.m-add-btn-297::before{
content: "+";
}
.m-add-btn-297{
@@ -365,11 +365,44 @@ ul{
box-sizing: border-box;
font-size: 25px;
}
.edit-box .setting-box .row-mon-a-awoken::before{
.edit-box .setting-box .row-mon-latent::before{
content: "潜在觉醒";
}
.m-latent-ul{
text-align: center;
font-size: 0;
}
.m-latent-ul .latent-icon{
margin-left: 12px;
}
.m-latent-ul .latent-icon:first-of-type{
margin-left: 0;
}
.m-latent-allowable-ul{
margin-top: 5px;
}
.m-latent-allowable-ul .latent-icon{
cursor: pointer;
}
.m-latent-allowable-ul .latent-icon.unselected-latent{
cursor: default;
opacity: 0.3;
}
.latent-icon-11,
.latent-icon-13,
.latent-icon-14,
.latent-icon-15,
.latent-icon-16,
.latent-icon-17,
.latent-icon-18,
.latent-icon-19,
.latent-icon-20,
.latent-icon-21,
.latent-icon-22,
.latent-icon-23,
.latent-icon-24{
cursor: pointer;
}
.edit-box .button-box .button-done::after{
content: "确认修改";


+ 37
- 2
universal_function.js View File

@@ -1,4 +1,20 @@
//仿GM_xmlhttpRequest函数v1.3

//类型允许的潜觉杀,前面的数字是官方数据的类型编号,后面的杀是自己做的图片中的潜觉序号
var type_allowable_latent = {
"0":[], //0进化
"12":[], //12觉醒
"14":[], //14强化
"15":[], //15卖钱
"1":[17,18,19,20,21,22,23,24], //1平衡
"2":[20,24],//2体力
"3":[18,22],//3回复
"4":[20,24],//4龙
"5":[19],//5神
"6":[19,23],//6攻击
"7":[17],//7恶魔
"8":[17,20,21,24],//8机械
}
//仿GM_xmlhttpRequest函数v1.3
if (typeof(GM_xmlhttpRequest) == "undefined") {
var GM_xmlhttpRequest = function(GM_param) {
@@ -24,6 +40,25 @@ if (typeof(GM_xmlhttpRequest) == "undefined") {
}
}
//数字补0
function PrefixInteger(num, length) {
function PrefixInteger(num, length)
{
return (Array(length).join('0') + num).slice(-length);
}
//数组去重
/* https://www.cnblogs.com/baiyangyuanzi/p/6726258.html
* 实现思路:获取没重复的最右一值放入新数组。
* (检测到有重复值时终止当前循环同时进入顶层循环的下一轮判断)*/
function uniq(array){
var temp = [];
var l = array.length;
for(var i = 0; i < l; i++) {
for(var j = i + 1; j < l; j++){
if (array[i] === array[j]){
i++;
j = i;
}
}
temp.push(array[i]);
}
return temp;
}

Loading…
Cancel
Save