Browse Source

加入美版新降临

tags/v8.0
枫谷剑仙 7 years ago
parent
commit
9c5e744e67
11 changed files with 87 additions and 51 deletions
  1. BIN
      images/cards/CARDS_054.PNG
  2. BIN
      images/cards/CARDS_055.PNG
  3. +3
    -3
      monsters-info/README.md
  4. +55
    -37
      monsters-info/extractByNode.js
  5. +1
    -1
      monsters-info/mon.json
  6. +1
    -1
      monsters-info/official-API/en.json
  7. +1
    -1
      monsters-info/official-API/ja-skill.json
  8. +1
    -1
      monsters-info/official-API/ja.json
  9. +1
    -1
      monsters-info/official-API/test-mon.html
  10. +2
    -6
      script.js
  11. +22
    -0
      universal_function.js

BIN
images/cards/CARDS_054.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 822 kB Width: 1024  |  Height: 1024  |  Size: 923 kB

BIN
images/cards/CARDS_055.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 22 kB

+ 3
- 3
monsters-info/README.md View File

@@ -6,9 +6,9 @@ The current acquisition time is
| 语言 | 时间 | API |
| --- | --- | --- |
| 日语(ja) | 2019-6-21 15:00 | https://api-adrv2.padsv.gungho.jp/api.php?action=download_card_data |
| 英语(en) | 2019-6-21 14:00 | https://api-na-adrv2.padsv.gungho.jp/api.php?action=download_card_data |
| 韩语(ko) | 2019-6-21 14:00 | https://api-kr-adrv2.padsv.gungho.jp/api.php?action=download_card_data |
| 日语(ja) | 2019-6-26 16:20 | https://api-adrv2.padsv.gungho.jp/api.php?action=download_card_data |
| 英语(en) | 2019-6-26 16:20 | https://api-na-adrv2.padsv.gungho.jp/api.php?action=download_card_data |
| 韩语(ko) | 2019-6-26 16:20 | https://api-kr-adrv2.padsv.gungho.jp/api.php?action=download_card_data |
经研究后得出如下结论,JSON里数字指的数组下标。
The following conclusions were drawn from the research. The number in JSON refers to the array subscript.(no translate)


+ 55
- 37
monsters-info/extractByNode.js View File

@@ -11,49 +11,67 @@ var cards = officialAPI.map(function(code){
var mainCard = cards[0]; //数据的主要card
var mArr = []; //储存输出内容
for (var mi=0;mi<mainCard.length;mi++)
{
var m = mainCard[mi];
if (m[0] != mi) //id超了,都是些怪物了
{
break;
}else
{
//名字
var nameObj = {};
officialAPI.forEach(function(code,idx){
var _m = cards[idx][mi];
if (_m && !/^\*+/.test(_m[1])) //没有数据,或者名字是星号,则为空
nameObj[code] = _m[1];
})
//类型
var type = [m[5]];
if (m[6]!=-1) //第二个type
type.push(m[6]);
if (m[m.length-9]!=-1) //第三个type要倒着来
type.push(m[m.length-9]);
var maxLength = cards.map(function(card){ //获取最大怪物id
var length = card.length;
for (var mi=0;mi<card.length;mi++)
{
if (card[mi][0] != mi) //id超了,都是些怪物了
{
length = mi;
break;
}
}
return length;
}).sort(function(a,b){return b-a;})[0];
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]].length>0?(m[awokenCIdx+1+m[awokenCIdx]].split(",").map(function(ns){return parseInt(ns);})):null; //超觉醒
for (var mi=0;mi<maxLength;mi++)
{
var m = mainCard[mi]; //预设默认的数据
var mon = {
id: m[0],
name: nameObj,
ppt: [m[2],m[3]], //属性property
type: type,
rare: m[7],
awoken: awoken,
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)
//名字对象
var nameObj = {};
officialAPI.forEach(function(code,idx){
var _m = cards[idx][mi];
if (_m[0] == mi) //如果id是一致的才添加,否则是怪物,不添加
{
mon.sAwoken = superAwoken;
if (_m && !/^\*+/.test(_m[1])) //没有数据,或者名字是星号,则为空
{
nameObj[code] = _m[1]; //储存当前语言,问号也存
if (m[0] != mi || /^\?+/.test(m[1])) //如果日服没有基础数据,或日服是问号而后面的有内容,则使用后面服的数据
{
m = _m;
}
}
}
mArr.push(mon);
})
//类型
var type = [m[5]];
if (m[6]!=-1) //第二个type
type.push(m[6]);
if (m[m.length-9]!=-1) //第三个type要倒着来
type.push(m[m.length-9]);
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]].length>0?(m[awokenCIdx+1+m[awokenCIdx]].split(",").map(function(ns){return parseInt(ns);})):null; //超觉醒
var mon = {
id: m[0],
name: nameObj,
ppt: [m[2],m[3]], //属性property
type: type,
rare: m[7],
awoken: awoken,
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);
}
var cards_c = custom.map(function(code){


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


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


+ 1
- 1
monsters-info/official-API/ja-skill.json
File diff suppressed because it is too large
View File


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


+ 1
- 1
monsters-info/official-API/test-mon.html View File

@@ -63,7 +63,7 @@ function g(id)
}
GM_xmlhttpRequest({
method: "GET",
url:"ja.json",
url:"en.json",
onload: function(response) {
card = JSON.parse(response.response).card;
/*


+ 2
- 6
script.js View File

@@ -106,11 +106,7 @@ function initialize()
ms.forEach(function(m){
var opt = monstersList.appendChild(document.createElement("option"));
opt.value = m.id;
opt.label = m.id + " - " + language.searchlist.map(function(lc){ //取出每种语言
return m.name[lc];
}).filter(function(ln){ //去掉空值
return ln?(ln.length>0):false;
}).join(" | ");
opt.label = m.id + " - " + returnMonsterNameArr(m,language.searchlist).join(" | ");
});
//控制框
var controlBox = document.querySelector(".control-box");
@@ -585,7 +581,7 @@ function editBoxChangeMonId(id)
var mRare = monInfoBox.querySelector(".monster-rare");
mRare.className = "monster-rare rare-" + md.rare;
var mName = monInfoBox.querySelector(".monster-name");
mName.innerHTML = md.name[language.searchlist[0]] || md.name["ja"];
mName.innerHTML = returnMonsterNameArr(md,language.searchlist)[0];
var mType = monInfoBox.querySelectorAll(".monster-type li");
for (var ti=0;ti<mType.length;ti++)
{


+ 22
- 0
universal_function.js View File

@@ -106,4 +106,26 @@ function awokenCountInTeam(formationTeam,ak,solo)
return fc + formationAwokenCount;
},0)
return allAwokenCount;
}
//返回可用的怪物名称
function returnMonsterNameArr(m,lsList)
{
var monNameArr = lsList.map(function(lc){ //取出每种语言
return m.name[lc];
}).filter(function(ln){ //去掉空值和问号
return (ln?(ln.length>0):false) && !/^(?:초월\s*)?\?+/.test(ln);
});
if (monNameArr.length < 1) //如果本来的列表里没有名字
{
for (var nc in m.name)
{ //循环所有名字
var theName = m.name[nc]; //当前的名字
if (!/^(?:초월\s*)?\?+/.test(theName)) //如果不是问号
{
monNameArr.push(theName);
}
}
if (monNameArr.length < 1) monNameArr.push("????"); //如果还没有,默认名是问号
}
return monNameArr;
}

Loading…
Cancel
Save