Browse Source

Merge branch 'master' into dev

# Conflicts:
#	monsters-info/extractByNode.js
#	monsters-info/mon_en.json
#	monsters-info/mon_ja.json
#	monsters-info/mon_ko.json
#	script.js
#	universal_function.js
tags/v3.0
枫谷剑仙 6 years ago
parent
commit
4cc241f1e2
18 changed files with 293 additions and 56 deletions
  1. +9
    -3
      README.md
  2. +0
    -0
      images/README.md
  3. BIN
      images/cards_en/CARDS_050.PNG
  4. BIN
      images/cards_en/CARDS_054.PNG
  5. BIN
      images/cards_en/CARDS_057.PNG
  6. BIN
      images/cards_en/CARDS_058.PNG
  7. BIN
      images/cards_ja/CARDS_057.PNG
  8. BIN
      images/cards_ja/CARDS_058.PNG
  9. BIN
      images/cards_ja/CARDS_059.PNG
  10. BIN
      images/cards_ko/CARDS_050.PNG
  11. BIN
      images/cards_ko/CARDS_054.PNG
  12. BIN
      images/cards_ko/CARDS_057.PNG
  13. BIN
      images/cards_ko/CARDS_058.PNG
  14. +45
    -5
      monsters-info/extractByNode.js
  15. +7
    -3
      monsters-info/official-API/test-mon.html
  16. +42
    -20
      multi.html
  17. +164
    -13
      script.js
  18. +26
    -12
      solo.html

+ 9
- 3
README.md View File

@@ -41,14 +41,20 @@ Copy the URL directly to share the Formation, or add a Bookmark to archives. You
* 使用后退即可撤销上一次修改
Use back to undo the last edit
![撤銷修改](document/tips-undo.png)
* 拖拽怪物头像即可快速切换位置
Drag monster avatars to quickly switch positions
![切换位置](document/tips-interchangeCard.png)
* 点击编辑界面的怪物头像可以跳转到攻略网站
Click on the monster avatar in the editing interface to jump to the Guide.
![攻略網站](document/tips-guide.png)
![攻略网站](document/tips-guide.png)
在队伍界面的怪物头像上点击鼠标中键也可以跳转到攻略网站
Or click the middle mouse button on the monster avatar of the formation interface to jump to the Guide.
![攻略网站2](document/tips-guide2.png)
* 可以在编辑界面的怪物ID输入怪物名称来搜索怪物
You can search for monsters by entering the monster name in the monster ID of the editing interface.
![搜索怪物](document/tips-search.png)
* 车队模式只显示部分杀潜觉以及共用的觉醒的统计,单人则全部显示。
2-Player Multi Games Mode only show the killer latent and several common awoken statistics, but solo mode shows all.
* 车队模式只显示部分共用的觉醒的统计,单人则全部显示。
2-Player Multi Games Mode only show several common awoken statistics, but solo mode shows all.
# 翻译我 | TRANSLATE ME
## How to **Pull requests**


images/cards_ja/README.md → images/README.md View File


BIN
images/cards_en/CARDS_050.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 510 kB Width: 1024  |  Height: 1024  |  Size: 838 kB

BIN
images/cards_en/CARDS_054.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 687 kB Width: 1024  |  Height: 1024  |  Size: 709 kB

BIN
images/cards_en/CARDS_057.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 194 kB Width: 1024  |  Height: 1024  |  Size: 834 kB

BIN
images/cards_en/CARDS_058.PNG View File

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

BIN
images/cards_ja/CARDS_057.PNG View File

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

BIN
images/cards_ja/CARDS_058.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 278 kB Width: 1024  |  Height: 1024  |  Size: 898 kB

BIN
images/cards_ja/CARDS_059.PNG View File

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

BIN
images/cards_ko/CARDS_050.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 178 kB Width: 1024  |  Height: 1024  |  Size: 508 kB

BIN
images/cards_ko/CARDS_054.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 687 kB Width: 1024  |  Height: 1024  |  Size: 709 kB

BIN
images/cards_ko/CARDS_057.PNG View File

Before After
Width: 1024  |  Height: 1024  |  Size: 194 kB Width: 1024  |  Height: 1024  |  Size: 834 kB

BIN
images/cards_ko/CARDS_058.PNG View File

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

+ 45
- 5
monsters-info/extractByNode.js View File

@@ -150,19 +150,59 @@ for (let li = 0;li < officialAPI.length; li++)
{
let otherLangs = officialAPI.concat(); //复制一份原始数组,储存其他语言
let lang = otherLangs.splice(li,1)[0]; //删掉并取得当前的语言
let monCard = lang.cards //储存输出内容
for (let mi=0; mi<monCard.length; mi++)
let langCard = lang.cards,langCardCount = langCard.length;
for (let mi=0; mi<langCardCount; mi++)
{
let m = monCard[mi];
let m = langCard[mi];
let name = m.name; //当前语言的名字
//名字对象
otherLangs.forEach(function(otLang){
let _m = otLang.cards[mi]; //获得这种其他语言的当前这个怪物数据
if (_m && sameCard(m,_m)) //如果有这个怪物,且与原语言怪物是同一只
let isSame = sameCard(m,_m); //与原语言怪物是否是同一只
let l1 = lang.code, l2 = otLang.code;
if (!isSame &&
(
l1 == 'ja' && (l2 == 'en' || l2 == 'ko') ||
l2 == 'ja' && (l1 == 'en' || l1 == 'ko')
) //当同id两者不同,日服和英韩服比较时的一些人工确认相同的特殊id差异卡片
)
{
let otName = _m.name; //另一个语言的名字
let langIsJa = l1 == 'ja' ? true : false; //原始语言是否是日语
let diff = 0; //日语和其它语言的id差异
switch(true)
{
case (langIsJa && mi>=671 && mi<= 680) ||
(!langIsJa && mi>=1049 && mi<= 1058):
//神罗 日服 671-680 等于英韩服 1049-1058
diff = 378;
break;
case (langIsJa && mi>=669 && mi<= 670) ||
(!langIsJa && mi>=934 && mi<= 935):
//神罗 日服 669-670 等于英韩服 934-935
diff = 265;
break;
case (langIsJa && mi>=924 && mi<= 935) ||
(!langIsJa && mi>=669 && mi<= 680):
//蝙蝠侠 日服 924-935 等于英韩服 669-680
diff = -255;
break;
case (langIsJa && mi>=1049 && mi<= 1058) ||
(!langIsJa && mi>=924 && mi<= 933):
//蝙蝠侠 日服 1049-1058 等于英韩服 924-933
diff = -125;
break;
}
if (diff != 0)
{
_m = langIsJa ? otLang.cards[mi + diff] : otLang.cards[mi - diff];
isSame = true;
}
}
if (_m && isSame) //如果有这个怪物,且与原语言怪物是同一只
{
let otName = _m.name;
if (!/^\*+/.test(name) && //名字不是星号开头
!/^\*+/.test(otName) && //另一个语言名字不是星号开头
!/^\?+/.test(name) && //名字不是问号开头


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

@@ -95,7 +95,11 @@ function parseCard(data) {
card.collabId = data[i++]; //合作ID
const flags = data[i++]; //一个旗子?
card.unk08 = flags; //未知08
card.canAssist = (flags & 1) !== 0; //是否能当二技
card.canAssist = (flags & parseInt("1",2)) !== 0; //是否能当二技
card.enabled = (flags & parseInt("10",2)) !== 0; //是否已启用
card.overlay = card.types.some(t => { //这步还是猜测,是否能合并
return t == 0 || t == 12 || t == 14; //0進化用;12能力覺醒用;14強化合成用;15販賣用
}) && (flags & parseInt("1000",2)) === 0; //進化用、能力覺醒用、強化合成用,且flag有1000时
card.altName = data[i++]; //替换名字
card.limitBreakIncr = data[i++]; //110级增长
card.unk08 = data[i++]; //未知08
@@ -137,7 +141,7 @@ function g(id)
m[58+m[57]*3], //觉醒数
m[14]+"-"+m[15]+"/"+m[17]+"-"+m[18]+"/"+m[20]+"-"+m[21], //三维
m[superAwokenIdx+9], //110级增长
m[superAwokenIdx+7]>2?"能":"不能", //二技
m[superAwokenIdx+7] & 1?"能":"不能", //二技
Math.round(m[11]/4), //1级经验,每级,直接乘
Math.round(m[13]/10), //1级卖钱
m[superAwokenIdx+4], //MP
@@ -186,6 +190,6 @@ window.onload = function()
mid = document.querySelector("#mid");
}
</script>
<input type="number" id="mid"><input type="button" value="获取怪物" onclick="g(parseInt(mid.value));">
<input type="number" id="mid"><input type="button" value="获取怪物" onclick="g(parseInt(mid.value,10));">
</body>
</html>

+ 42
- 20
multi.html View File

@@ -35,7 +35,7 @@ var formation = new Formation(2,5);
<div class="formation-A-box">
<ul class="formation-assist">
<li class="member member-1 null">
<a class="monster" target="_blank" onclick="editMon(0,1,0);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="1" data-index="0">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -45,7 +45,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-2 null">
<a class="monster" target="_blank" onclick="editMon(0,1,1);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="1" data-index="1">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -55,7 +55,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-3 null">
<a class="monster" target="_blank" onclick="editMon(0,1,2);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="1" data-index="2">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -65,7 +65,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-4 null">
<a class="monster" target="_blank" onclick="editMon(0,1,3);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="1" data-index="3">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -75,7 +75,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-5 null">
<a class="monster" target="_blank" onclick="editMon(0,1,4);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="1" data-index="4">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -94,6 +94,8 @@ var formation = new Formation(2,5);
<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>
</li>
<li class="latents latents-2">
@@ -104,6 +106,8 @@ var formation = new Formation(2,5);
<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>
</li>
<li class="latents latents-3">
@@ -114,6 +118,8 @@ var formation = new Formation(2,5);
<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>
</li>
<li class="latents latents-4">
@@ -124,6 +130,8 @@ var formation = new Formation(2,5);
<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>
</li>
<li class="latents latents-5">
@@ -134,12 +142,14 @@ var formation = new Formation(2,5);
<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>
</li>
</ul>
<ul class="formation-team">
<li class="member member-1 team-leader null">
<a class="monster" target="_blank" onclick="editMon(0,0,0);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="0" data-index="0">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -150,7 +160,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-2 null">
<a class="monster" target="_blank" onclick="editMon(0,0,1);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="0" data-index="1">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -161,7 +171,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-3 null">
<a class="monster" target="_blank" onclick="editMon(0,0,2);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="0" data-index="2">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -172,7 +182,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-4 null">
<a class="monster" target="_blank" onclick="editMon(0,0,3);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="0" data-index="3">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -183,7 +193,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-5 null">
<a class="monster" target="_blank" onclick="editMon(0,0,4);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="0" data-index="4">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -200,7 +210,7 @@ var formation = new Formation(2,5);
<div class="formation-B-box">
<ul class="formation-team">
<li class="member member-1 null">
<a class="monster" target="_blank" onclick="editMon(1,0,0);return false;">
<a class="monster" target="_blank" data-team="1" data-assist="0" data-index="0">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -211,7 +221,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-2 null">
<a class="monster" target="_blank" onclick="editMon(1,0,1);return false;">
<a class="monster" target="_blank" data-team="1" data-assist="0" data-index="1">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -222,7 +232,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-3 null">
<a class="monster" target="_blank" onclick="editMon(1,0,2);return false;">
<a class="monster" target="_blank" data-team="1" data-assist="0" data-index="2">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -233,7 +243,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-4 null">
<a class="monster" target="_blank" onclick="editMon(1,0,3);return false;">
<a class="monster" target="_blank" data-team="1" data-assist="0" data-index="3">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -244,7 +254,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-5 team-leader null">
<a class="monster" target="_blank" onclick="editMon(1,0,4);return false;">
<a class="monster" target="_blank" data-team="1" data-assist="0" data-index="4">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -264,6 +274,8 @@ var formation = new Formation(2,5);
<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>
</li>
<li class="latents latents-2">
@@ -274,6 +286,8 @@ var formation = new Formation(2,5);
<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>
</li>
<li class="latents latents-3">
@@ -284,6 +298,8 @@ var formation = new Formation(2,5);
<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>
</li>
<li class="latents latents-4">
@@ -294,6 +310,8 @@ var formation = new Formation(2,5);
<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>
</li>
<li class="latents latents-5">
@@ -304,12 +322,14 @@ var formation = new Formation(2,5);
<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>
</li>
</ul>
<ul class="formation-assist">
<li class="member member-1 null">
<a class="monster" target="_blank" onclick="editMon(1,1,0);return false;">
<a class="monster" target="_blank" data-team="1" data-assist="1" data-index="0">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -319,7 +339,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-2 null">
<a class="monster" target="_blank" onclick="editMon(1,1,1);return false;">
<a class="monster" target="_blank" data-team="1" data-assist="1" data-index="1">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -329,7 +349,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-3 null">
<a class="monster" target="_blank" onclick="editMon(1,1,2);return false;">
<a class="monster" target="_blank" data-team="1" data-assist="1" data-index="2">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -339,7 +359,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-4 null">
<a class="monster" target="_blank" onclick="editMon(1,1,3);return false;">
<a class="monster" target="_blank" data-team="1" data-assist="1" data-index="3">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -349,7 +369,7 @@ var formation = new Formation(2,5);
</a>
</li>
<li class="member member-5 null">
<a class="monster" target="_blank" onclick="editMon(1,1,4);return false;">
<a class="monster" target="_blank" data-team="1" data-assist="1" data-index="4">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -449,6 +469,8 @@ var formation = new Formation(2,5);
<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-latent-allowable-ul">
<li class="latent-icon latent-icon-1" value="1"></li><!--HP-->


+ 164
- 13
script.js View File

@@ -14,6 +14,10 @@ const dataSourceList = [ //几个不同的游戏服务区
source:"퍼즐앤드래곤"
},
];
var cardInterchange = { //记录DOM交换
from:null,
to:null
};
//队员基本的留空
var Member = function(){
this.id=0;
@@ -58,6 +62,16 @@ var MemberAssist = function(){
}
MemberAssist.prototype = Object.create(Member.prototype);
MemberAssist.prototype.constructor = MemberAssist
MemberAssist.prototype.loadFromMember = function(m){
if (m == undefined) //如果没有提供数据,直接返回默认
{
return;
}
this.id = m.id;
if (m.level != undefined) this.level = m.level;
if (m.awoken != undefined) this.awoken = m.awoken;
if (m.plus != undefined && m.plus instanceof Array && m.plus.length>=3 && (m.plus[0]+m.plus[1]+m.plus[2])>0) this.plus = m.plus;
}
//正式队伍
var MemberTeam = function(){
this.latent = [];
@@ -67,6 +81,19 @@ var MemberTeam = function(){
}
MemberTeam.prototype = Object.create(MemberAssist.prototype);
MemberTeam.prototype.constructor = MemberTeam;
MemberTeam.prototype.loadFromMember = function(m){
if (m == undefined) //如果没有提供数据,直接返回默认
{
return;
}
this.id = m.id;
if (m.level != undefined) this.level = m.level;
if (m.awoken != undefined) this.awoken = m.awoken;
if (m.plus != undefined && m.plus instanceof Array && m.plus.length>=3 && (m.plus[0]+m.plus[1]+m.plus[2])>0) this.plus = m.plus;
if (m.latent != undefined && m.latent instanceof Array && m.latent.length>=1) this.latent = m.latent;
if (m.sawoken != undefined) this.sawoken = m.sawoken;
if (m.ability != undefined && m.ability instanceof Array && m.plus.length>=3) this.ability = m.ability;
}

var Formation = function(teamCount,memberCount){
this.title = "",
@@ -115,6 +142,17 @@ Formation.prototype.loadObj= function(f){
})
});
}
//获取最大潜觉数量
function getMaxLatentCount(id)
{ //转生2和超转生3为8个格子
function is8Latent(id)
{
let m = ms[id] || ms[0],mEvoType = m.evoType;
if (mEvoType == 2 || mEvoType == 3 || mEvoType==21){return true;}
return false;
}
return is8Latent(id) ? 8 : 6;
}
//创建一个新的怪物头像
function createCardHead(id)
{
@@ -335,7 +373,44 @@ function initialize()
//队伍框
var formationBox = document.querySelector(".formation-box");
formationBox.formation = formation;

var formationA = formationBox.querySelector(".formation-box .formation-A-box");
var formationB = formationBox.querySelector(".formation-box .formation-B-box");
var fATeam = formationA.querySelectorAll(".formation-team .monster");
var fAAssist = formationA.querySelectorAll(".formation-assist .monster");
if (formationB)
{
var fBTeam = formationB.querySelectorAll(".formation-team .monster");
var fBAssist = formationB.querySelectorAll(".formation-assist .monster");
}
for (var ti=0;ti<fATeam.length;ti++)
{
fATeam[ti].onclick = clickMonHead;
fATeam[ti].ondragstart = dragStartMonHead;
fATeam[ti].ondragover = dropOverMonHead;
fATeam[ti].ondrop = dropMonHead;
fATeam[ti].draggable = true;
fAAssist[ti].onclick = clickMonHead;
fAAssist[ti].ondragstart = dragStartMonHead;
fAAssist[ti].ondrop = dropMonHead;
fAAssist[ti].ondragover = dropOverMonHead;
fAAssist[ti].draggable = true;
if (formationB)
{
fBTeam[ti].onclick = clickMonHead;
fBTeam[ti].ondragstart = dragStartMonHead;
fBTeam[ti].ondrop = dropMonHead;
fBTeam[ti].ondragover = dropOverMonHead;
fBTeam[ti].draggable = true;
fBAssist[ti].onclick = clickMonHead;
fBAssist[ti].ondragstart = dragStartMonHead;
fBAssist[ti].ondrop = dropMonHead;
fBAssist[ti].ondragover = dropOverMonHead;
fBAssist[ti].draggable = true;
}
}

//徽章
var badges = Array.prototype.slice.call(formationBox.querySelectorAll(".formation-badge .badge-bg"));
badges.forEach(function(badge,bidx){
@@ -494,18 +569,19 @@ function initialize()
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"));
editBox.refreshLatent = function(latent) //刷新潜觉
editBox.refreshLatent = function(latent,monid) //刷新潜觉
{
if (this.value<0) return;
let maxLatentCount = getMaxLatentCount(monid); //最大潜觉数量
var usedHoleN = usedHole(latent);
for (var ai=0;ai<6;ai++)
for (var ai=0;ai<monEditLatents.length;ai++)
{
if (latent[ai])
{
monEditLatents[ai].className = "latent-icon latent-icon-" + latent[ai];
monEditLatents[ai].value = ai;
}
else if(ai<(6-usedHoleN+latent.length))
else if(ai<(maxLatentCount-usedHoleN+latent.length))
{
monEditLatents[ai].className = "latent-icon";
monEditLatents[ai].value = -1;
@@ -523,7 +599,7 @@ function initialize()
var aIdx = parseInt(this.value);
editBox.latent.splice(aIdx,1);
editBox.reCalculateAbility();
editBox.refreshLatent(editBox.latent);
editBox.refreshLatent(editBox.latent,editBox.mid);
}
})
//可选觉醒的添加
@@ -532,13 +608,14 @@ function initialize()
if (this.classList.contains("unselected-latent")) return;
var lIdx = parseInt(this.value);
var usedHoleN = usedHole(editBox.latent);
if (lIdx >= 12 && usedHoleN<=4)
let maxLatentCount = getMaxLatentCount(editBox.mid); //最大潜觉数量
if (lIdx >= 12 && usedHoleN<=(maxLatentCount-2))
editBox.latent.push(lIdx);
else if (lIdx < 12 && usedHoleN<=5)
else if (lIdx < 12 && usedHoleN<=(maxLatentCount-1))
editBox.latent.push(lIdx);

editBox.reCalculateAbility();
editBox.refreshLatent(editBox.latent);
editBox.refreshLatent(editBox.latent,editBox.mid);
}
})

@@ -692,6 +769,72 @@ function initialize()
languageJS.type = "text/javascript";
languageJS.src = "languages/"+currentLanguage.i18n+".js";
}
//编辑界面点击每个怪物的头像的处理
function clickMonHead()
{
let team = parseInt(this.getAttribute("data-team"),10);
let assist = parseInt(this.getAttribute("data-assist"),10);
let index = parseInt(this.getAttribute("data-index"),10);
editMon(team,assist,index);
return false; //没有false将会打开链接
}
//编辑界面每个怪物的头像的拖动
function dragStartMonHead(e)
{
let team = parseInt(this.getAttribute("data-team"),10);
let assist = parseInt(this.getAttribute("data-assist"),10);
let index = parseInt(this.getAttribute("data-index"),10);
e.dataTransfer.setData('from',[team,assist,index].join(","));
}
//编辑界面每个怪物的头像的经过,阻止事件发生
function dropOverMonHead(e)
{
e.preventDefault();
}
//编辑界面每个怪物的头像的放下
function dropMonHead(e)
{
let dataFrom = e.dataTransfer.getData('from').split(",").map((i)=>{return parseInt(i,10);});
let team = parseInt(this.getAttribute("data-team"),10);
let assist = parseInt(this.getAttribute("data-assist"),10);
let index = parseInt(this.getAttribute("data-index"),10);
let dataTo = [team,assist,index];

if ((dataTo[0] != dataFrom[0])
|| (dataTo[1] != dataFrom[1])
|| (dataTo[2] != dataFrom[2]))
{ //必须有所不同才继续交换
interchangeCard(dataFrom,dataTo);
}
return false; //没有false将会打开链接
}
function interchangeCard(formArr,toArr)
{
function changeType(member,isAssist)
{
if (member.id == 0 || (isAssist && member.id == -1))
{
return new Member;
}else
{
let newMember = isAssist ? new MemberTeam() : new MemberAssist();
newMember.loadFromMember(member);
return newMember;
}
}
let from = formation.team[formArr[0]][formArr[1]][formArr[2]];
let to = formation.team[toArr[0]][toArr[1]][toArr[2]];
if(formArr[1] != toArr[1]) //从武器拖到非武器才改变类型
{
from = changeType(from,formArr[1]);
to = changeType(to,toArr[1]);
}
formation.team[toArr[0]][toArr[1]][toArr[2]] = from;
formation.team[formArr[0]][formArr[1]][formArr[2]] = to;

creatNewUrl(); //刷新URL
refreshAll(formation); //刷新全部
}
//改变一个怪物头像
function changeid(mon,monDom,latentDom)
{
@@ -816,20 +959,25 @@ function changeid(mon,monDom,latentDom)
}
if (latentDom && mon.latent) //如果提供了潜觉
{
var latent = mon.latent.sort(function(a,b){return b-a;});
var latent = mon.latent.sort(function(a,b){
if(b>=12 && a<12) {return 1;} //如果大于12,就排到前面
else if(b<12 && a>=12) {return -1} //如果小于12就排到后面
else {return 0} //其他情况不变
});
if (latent.length < 1)
latentDom.classList.add("display-none");
else
latentDom.classList.remove("display-none");
var latentDoms = Array.prototype.slice.call(latentDom.querySelectorAll("li"));
var usedHoleN = usedHole(latent);
for (var ai=0;ai<6;ai++)
let maxLatentCount = getMaxLatentCount(mon.id); //最大潜觉数量
for (var ai=0;ai<latentDoms.length;ai++)
{
if (latent[ai])
{
latentDoms[ai].className = "latent-icon latent-icon-" + latent[ai];
}
else if(ai<(6-usedHoleN+latent.length))
else if(ai<(maxLatentCount-usedHoleN+latent.length))
{
latentDoms[ai].className = "latent-icon";
}
@@ -845,6 +993,7 @@ function editMon(AorB,isAssist,tempIdx)
{
//数据
var mD = formation.team[AorB][isAssist][tempIdx];
let card = ms[mD.id] || ms[0];

//对应的Dom
var formationBox = AorB?document.querySelector(".formation-box .formation-B-box"):document.querySelector(".formation-box .formation-A-box");
@@ -892,7 +1041,7 @@ function editMon(AorB,isAssist,tempIdx)
if (!isAssist)
{
editBox.latent = mD.latent?mD.latent.concat():[];
editBox.refreshLatent(editBox.latent);
editBox.refreshLatent(editBox.latent,mD.id);
btnDelay.classList.add("display-none");
settingBox.querySelector(".row-mon-latent").classList.remove("display-none");
if (Cards[mD.id].sAwoken)settingBox.querySelector(".row-mon-super-awoken").classList.remove("display-none");
@@ -1047,7 +1196,7 @@ function editBoxChangeMonId(id)
}
}
editBox.latent.length = 0;
editBox.refreshLatent(editBox.latent);
editBox.refreshLatent(editBox.latent,id);
editBox.reCalculateAbility();
}
//刷新整个队伍
@@ -1146,7 +1295,9 @@ function refreshAbility(dom,team,idx){
//基底三维,如果辅助是武器,还要加上辅助的觉醒
var mainAbility = calculateAbility(mainMD.id,mainMD.level,mainMD.plus,mainMD.awoken,mainMD.latent,assistMD.id,assistMD.awoken);
//辅助增加的三维,如果辅助的主属性相等,辅助宠物只计算等级和加值,不计算觉醒
var assistAbility = (assistMD.id > 0 && Cards[mainMD.id].ppt[0]==Cards[assistMD.id].ppt[0])
let mainCard = ms[mainMD.id] || ms[0];
let assistCard = ms[assistMD.id] || ms[0];
var assistAbility = (assistMD.id > 0 && mainCard.attrs[0]==assistCard.attrs[0])
?calculateAbility(assistMD.id,assistMD.level,assistMD.plus,null,null)
:[0,0,0];
if (mainAbility && mainMD.ability)


+ 26
- 12
solo.html View File

@@ -56,7 +56,7 @@ var formation = new Formation(1,6);
</ul>
<ul class="formation-assist">
<li class="member member-1 null">
<a class="monster" target="_blank" onclick="editMon(0,1,0);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="1" data-index="0">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -66,7 +66,7 @@ var formation = new Formation(1,6);
</a>
</li>
<li class="member member-2 null">
<a class="monster" target="_blank" onclick="editMon(0,1,1);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="1" data-index="1">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -76,7 +76,7 @@ var formation = new Formation(1,6);
</a>
</li>
<li class="member member-3 null">
<a class="monster" target="_blank" onclick="editMon(0,1,2);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="1" data-index="2">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -86,7 +86,7 @@ var formation = new Formation(1,6);
</a>
</li>
<li class="member member-4 null">
<a class="monster" target="_blank" onclick="editMon(0,1,3);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="1" data-index="3">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -96,7 +96,7 @@ var formation = new Formation(1,6);
</a>
</li>
<li class="member member-5 null">
<a class="monster" target="_blank" onclick="editMon(0,1,4);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="1" data-index="4">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -106,7 +106,7 @@ var formation = new Formation(1,6);
</a>
</li>
<li class="member member-6 null">
<a class="monster" target="_blank" onclick="editMon(0,1,5);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="1" data-index="5">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -125,6 +125,8 @@ var formation = new Formation(1,6);
<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>
</li>
<li class="latents latents-2">
@@ -135,6 +137,8 @@ var formation = new Formation(1,6);
<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>
</li>
<li class="latents latents-3">
@@ -145,6 +149,8 @@ var formation = new Formation(1,6);
<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>
</li>
<li class="latents latents-4">
@@ -155,6 +161,8 @@ var formation = new Formation(1,6);
<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>
</li>
<li class="latents latents-5">
@@ -165,6 +173,8 @@ var formation = new Formation(1,6);
<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>
</li>
<li class="latents latents-6">
@@ -175,12 +185,14 @@ var formation = new Formation(1,6);
<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>
</li>
</ul>
<ul class="formation-team">
<li class="member member-1 team-leader null">
<a class="monster" target="_blank" onclick="editMon(0,0,0);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="0" data-index="0">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -191,7 +203,7 @@ var formation = new Formation(1,6);
</a>
</li>
<li class="member member-2 null">
<a class="monster" target="_blank" onclick="editMon(0,0,1);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="0" data-index="1">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -202,7 +214,7 @@ var formation = new Formation(1,6);
</a>
</li>
<li class="member member-3 null">
<a class="monster" target="_blank" onclick="editMon(0,0,2);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="0" data-index="2">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -213,7 +225,7 @@ var formation = new Formation(1,6);
</a>
</li>
<li class="member member-4 null">
<a class="monster" target="_blank" onclick="editMon(0,0,3);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="0" data-index="3">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -224,7 +236,7 @@ var formation = new Formation(1,6);
</a>
</li>
<li class="member member-5 null">
<a class="monster" target="_blank" onclick="editMon(0,0,4);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="0" data-index="4">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -235,7 +247,7 @@ var formation = new Formation(1,6);
</a>
</li>
<li class="member member-6 team-leader null">
<a class="monster" target="_blank" onclick="editMon(0,0,5);return false;">
<a class="monster" target="_blank" data-team="0" data-assist="0" data-index="5">
<div class="property"></div>
<div class="subproperty"></div>
<div class="plus"><div class="hp"></div><div class="atk"></div><div class="rcv"></div><div class="_297">297</div></div>
@@ -421,6 +433,8 @@ var formation = new Formation(1,6);
<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-latent-allowable-ul">
<li class="latent-icon latent-icon-1" value="1"></li><!--HP-->


Loading…
Cancel
Save