Browse Source

增加怪物进化链的显示

tags/v8.0
枫谷剑仙 6 years ago
parent
commit
f4912d90e4
8 changed files with 72 additions and 7 deletions
  1. +1
    -0
      index.html
  2. +12
    -2
      monsters-info/extractByNode.js
  3. +1
    -1
      monsters-info/mon_en.json
  4. +1
    -1
      monsters-info/mon_ja.json
  5. +1
    -1
      monsters-info/mon_ko.json
  6. +46
    -2
      script.js
  7. +1
    -0
      solo.html
  8. +9
    -0
      style.css

+ 1
- 0
index.html View File

@@ -387,6 +387,7 @@ var formation = new Formation(2,5);
<div class="search-box">
<input type="search" class="m-id" list="monsters-list"/>
<datalist id="monsters-list"></datalist>
<ul class="evo-card-list"></ul>
</div>
<div class="setting-box">
<div class="setting-row row-mon-awoken">


+ 12
- 2
monsters-info/extractByNode.js View File

@@ -182,7 +182,7 @@ officialAPI.forEach(function(lang){
let outCards = lang.cards.map(function(m){
let sm = {
id : m.id,
name : {lcode : m.name},
name : {},
ppt : m.attrs,
type : m.types,
rare : m.rarity,
@@ -194,8 +194,9 @@ officialAPI.forEach(function(lang){
m.atk,
m.rcv
],
a110 : m.limitBreakIncr,
evoRootId : m.evoRootId,
}
sm.name[lang.code] = m.name;
sm.name = Object.assign(sm.name, m.otlName);
if (m.superAwakenings.length>0)
sm.sAwoken = m.superAwakenings;
@@ -203,6 +204,15 @@ officialAPI.forEach(function(lang){
sm.a110 = m.limitBreakIncr;
return sm;
})
//获取所有有链接的符卡
let linkCards = lang.cards.filter(m=>{return /link:(\d+)/.exec(m.specialAttribute);});
//每个有链接的符卡,把它们被链接的符卡的进化根修改到链接前的
linkCards.forEach(m=>{
let regRes = /link:(\d+)/.exec(m.specialAttribute);
let _m = outCards[parseInt(regRes[1])];
_m.evoRootId = m.evoRootId;
})
let str = JSON.stringify(outCards);
fs.writeFile('./mon_'+lang.code+'.json',str,function(err){
if(err){


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


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


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


+ 46
- 2
script.js View File

@@ -118,6 +118,21 @@ Formation.prototype.loadObj= function(f){
})
});
}
//创建一个新的怪物头像
function createCardHead(id)
{
var cli = document.createElement("li");
var cdom = cli.mon = cli.appendChild(document.createElement("a"));
cdom.class = "monster";
var property = cdom.appendChild(document.createElement("div"));
property.className = "property";
var subproperty = cdom.appendChild(document.createElement("div"));
subproperty.className = "subproperty";
var cid = cdom.appendChild(document.createElement("div"));
cid.className = "id";
changeid({id:id},cdom);
return cli;
}
window.onload = function()
{
var controlBox = document.body.querySelector(".control-box");
@@ -646,6 +661,7 @@ function initialize()
function changeid(mon,monDom,latentDom)
{
var md = ms[mon.id]; //怪物固定数据
monDom.setAttribute("data-cardid",mon.id); //设定新的id
if (mon.id<0) //如果是延迟
{
monDom.parentNode.classList.add("delay");
@@ -674,10 +690,10 @@ function changeid(mon,monDom,latentDom)
monDom.title = "No." + mon.id + " " + md.name[language.searchlist[0]] || md.name["ja"];
monDom.href = mon.id.toString().replace(/^(\d+)$/ig,language.guideURL);
}
var level = mon.level || 1;
var levelDom = monDom.querySelector(".level");
if (levelDom) //如果提供了等级
{
var level = mon.level || 1;
levelDom.innerHTML = level;
if (level == md.maxLv)
{ //如果等级刚好等于最大等级,则修改为“最大”的字
@@ -697,7 +713,7 @@ function changeid(mon,monDom,latentDom)
if (mon.awoken>-1) //如果提供了觉醒
{
var awokenIcon = monDom.querySelector(".awoken-count");
if (mon.awoken == 0 || md.awoken.length < 1) //没觉醒
if (mon.awoken == 0 || md.awoken.length < 1 || !awokenIcon) //没觉醒
{
awokenIcon.classList.add("display-none");
awokenIcon.innerHTML = "";
@@ -864,6 +880,8 @@ function editBoxChangeMonId(id)
md = ms[0]
}
var editBox = document.querySelector(".edit-box");
//id搜索
var monstersID = editBox.querySelector(".edit-box .m-id");
var monInfoBox = editBox.querySelector(".monsterinfo-box");
var me = monInfoBox.querySelector(".monster");
changeid({id:id,},me); //改变图像
@@ -873,6 +891,32 @@ function editBoxChangeMonId(id)
mRare.className = "monster-rare rare-" + md.rare;
var mName = monInfoBox.querySelector(".monster-name");
mName.innerHTML = returnMonsterNameArr(md,language.searchlist)[0];

var evoCardUl = document.querySelector(".edit-box .search-box .evo-card-list");
//var evoRootId = parseInt(evoCardUl.getAttribute("data-evoRootId")); //读取旧的id
//evoCardUl.setAttribute("data-evoRootId",md.evoRootId); //设定新的id
var evoLinkCardsId = ms.filter(function(m){
return m.evoRootId == md.evoRootId && m.id != md.id;
}).map(function(m){return m.id;});
for (var ci=evoCardUl.childNodes.length-1;ci>=0;ci--)
{ //删除所有旧内容
var childN = evoCardUl.childNodes[ci];
//if (evoLinkCardsId.indexOf(parseInt(childN.getAttribute("data-cardid")))<0)
//{
childN.remove();
childN = null;
//}
}
evoLinkCardsId.forEach(function(mid){
var cli = createCardHead(mid);
cli.mon.onclick = function(){
monstersID.value = this.getAttribute("data-cardid");
monstersID.onchange();
return false;
}
evoCardUl.appendChild(cli);
});

var mType = monInfoBox.querySelectorAll(".monster-type li");
for (var ti=0;ti<mType.length;ti++)
{


+ 1
- 0
solo.html View File

@@ -360,6 +360,7 @@ var formation = new Formation(1,6);
<div class="search-box">
<input type="search" class="m-id" list="monsters-list"/>
<datalist id="monsters-list"></datalist>
<ul class="evo-card-list"></ul>
</div>
<div class="setting-box">
<div class="setting-row row-mon-awoken">


+ 9
- 0
style.css View File

@@ -421,6 +421,15 @@ ul{
.edit-box .search-box,.edit-box .setting-box{
padding: 0 10px;
}
.edit-box .search-box .evo-card-list li{
display: inline-block;
}
.edit-box .search-box .evo-card-list .monster{
float: none;
}
.edit-box .search-box .evo-card-list .monster .id{
bottom: 5px;
}
.edit-box .setting-row{
width: 100%;
}


Loading…
Cancel
Save