将组队变身修改为前进后退步数

This commit is contained in:
枫谷剑仙 2020-12-15 04:06:57 +08:00
parent 3601d9a953
commit 14111548a9
10 changed files with 54 additions and 88 deletions

View File

@ -253,11 +253,8 @@
.control-box .btn-swap-ABC-team::before{
content: "🔄Rotating ABC Team";
}
.control-box .btn-swap-henshin::before{
content: "🐱➡🐯Finally Henshin";
}
.control-box .btn-swap-henshin.henshin-back::before{
content: "🐱↩🐯Before Henshin";
.control-box .lbl-henshen-change::before{
content: "🕴Henshin";
}
.control-box .show-mon-id-lbl::after{
content:"🆔Show monster ID";

View File

@ -245,11 +245,8 @@
.control-box .btn-swap-ABC-team::before{
content: "🔄ローテーションABCチーム";
}
.control-box .btn-swap-henshin::before{
content: "🐱➡️🐯究極の変身";
}
.control-box .btn-swap-henshin.henshin-back::before{
content: "🐱↩️🐯変身する前に";
.control-box .lbl-henshen-change::before{
content: "🕴️変身";
}
.control-box .show-mon-id-lbl::after{
content:"🆔モンスターIDを表示";

View File

@ -242,11 +242,8 @@
.control-box .btn-swap-ABC-team::before{
content: "🔄로테이션 ABC 팀";
}
.control-box .btn-swap-henshin::before{
content: "🐱➡️🐯최종 변신";
}
.control-box .btn-swap-henshin.henshin-back::before{
content: "🐱↩️🐯변신 전";
.control-box .lbl-henshen-change::before{
content: "🕴️변신";
}
.control-box .show-mon-id-lbl::after{
content:"🆔몬스터 ID 표시";

View File

@ -248,11 +248,8 @@
.control-box .btn-swap-ABC-team::before{
content: "🔄輪換ABC隊";
}
.control-box .btn-swap-henshin::before{
content: "🐱➡️🐯最終變身";
}
.control-box .btn-swap-henshin.henshin-back::before{
content: "🐱↩️🐯變身前";
.control-box .lbl-henshen-change::before{
content: "🕴️變身";
}
.control-box .show-mon-id-lbl::after{
content:"🆔顯示怪物ID";

View File

@ -248,11 +248,8 @@
.control-box .btn-swap-ABC-team::before{
content: "🔄轮换ABC队";
}
.control-box .btn-swap-henshin::before{
content: "🐱➡️🐯最终变身";
}
.control-box .btn-swap-henshin.henshin-back::before{
content: "🐱↩️🐯变身前";
.control-box .lbl-henshen-change::before{
content: "🕴️变身";
}
.control-box .show-mon-id-lbl::after{
content:"🆔显示怪物ID";

View File

@ -41,7 +41,7 @@ var formation = new Formation(teamsCount,5);
<button class="btn-solo-link" onclick="turnPage(1,arguments[0]);"></button>
<button class="btn-triple-link" onclick="turnPage(3,arguments[0]);"></button>
<button class="btn-swap-AB-team" onclick="swapABCteam();"></button>
<button class="btn-swap-henshin" onclick="swapHenshin(this);"></button>
<span class="lbl-henshen-change"></span><button class="btn-henshin-back" onclick="henshinStep(-1);"></button><button class="btn-henshin-forward" onclick="henshinStep(+1);"></button>
<a class="help-link" target="_blank" href="https://github.com/Mapaler/PADDashFormation/blob/master/help.md"></a>
</div>
<div>

View File

@ -468,70 +468,40 @@ function swapABCteam()
refreshAll(formation);
}
}
function swapHenshin(self)
function henshinStep(step)
{
const backClassName = "henshin-back";
const back = self.classList.contains(backClassName);
let shouldChange = formation.teams.some(team=>
team[0].some(member=>{
if (step == 0) return;
function gotoHenshin(card, nstep)
{
if (nstep > 0 && card.henshinTo)
{ //是变身的则返回
return gotoHenshin(Cards[card.henshinTo], --nstep);
}
else if (nstep < 0 && card.henshinFrom)
{
return gotoHenshin(Cards[card.henshinFrom], ++nstep);
}
else
{
return card;
}
}
formation.teams.forEach(team=>{
team[0].forEach(member=>{
const mid = member.id;
const card = Cards[mid];
return card.henshinFrom || card.henshinTo;
})
);
//获得最终变身
function finalHenshin(card)
{
if (card.henshinTo)
{ //是变身的则返回
if (card.evoRootId === card.henshinTo)
{ //应对无限循环变身的问题
return card;
if (step > 0 ? card.henshinTo : (card.henshinFrom && member.level <= 99))
{ //要变身前的才进行操作
const _card = gotoHenshin(card, step);
member.id = _card.id;
member.awoken = _card.awakenings.length;
}
return finalHenshin(Cards[card.henshinTo]);
}
return card;
}
if (shouldChange)
{
if (back)
{ //回到变身前
formation.teams.forEach(team=>{
team[0].forEach(member=>{
const mid = member.id;
const card = Cards[mid];
console.log(card.henshinFrom && member.level <= 99)
if (card.henshinFrom && member.level <= 99)
{ //要变身后的才进行操作
const _card = Cards[card.evoRootId];
member.id = card.evoRootId;
member.awoken = _card.awakenings.length;
member.sawoken = null;
const allowLatent = getAllowLatent(_card.types);
member.latent = filterAllowLatent(member.latent,allowLatent);
}
});
});
self.classList.remove(backClassName);
}else
{ //跑到变身后
formation.teams.forEach(team=>{
team[0].forEach(member=>{
const mid = member.id;
const card = Cards[mid];
if (card.henshinTo)
{ //要变身前的才进行操作
const _card = finalHenshin(card);
member.id = _card.id;
member.awoken = _card.awakenings.length;
}
});
});
self.classList.add(backClassName);
}
creatNewUrl();
refreshAll(formation);
}
});
});
creatNewUrl();
refreshAll(formation);
}
//在单人和多人之间转移数据
function turnPage(toPage, e = null) {

View File

@ -40,7 +40,7 @@ var formation = new Formation(teamsCount,6);
<a class="down-capture display-none" target="_blank"></a>
<button class="btn-multi-link" onclick="turnPage(2,arguments[0]);"></button>
<button class="btn-triple-link" onclick="turnPage(3,arguments[0]);"></button>
<button class="btn-swap-henshin" onclick="swapHenshin(this);"></button>
<span class="lbl-henshen-change"></span><button class="btn-henshin-back" onclick="henshinStep(-1);"></button><button class="btn-henshin-forward" onclick="henshinStep(+1);"></button>
<a class="help-link" target="_blank" href="https://github.com/Mapaler/PADDashFormation/blob/master/help.md"></a>
</div>
<div>

View File

@ -1957,7 +1957,18 @@ ul{
.control-box .btn-show-mon-skill-cd::before{
content: "❄显示已满技能CD";
}
.control-box .lbl-henshen-change::before{
content: "🕴️变身";
}
*/
.control-box .btn-henshin-back::before{
content: "◀️";
}
.control-box .btn-henshin-forward::before{
content: "▶️";
}
#interchange-line{
pointer-events: none;
position: absolute;

View File

@ -54,7 +54,7 @@ var formation = new Formation(teamsCount,6);
<button class="btn-solo-link" onclick="turnPage(1,arguments[0]);"></button>
<button class="btn-multi-link" onclick="turnPage(2,arguments[0]);"></button>
<button class="btn-swap-ABC-team" onclick="swapABCteam();"></button>
<button class="btn-swap-henshin" onclick="swapHenshin(this);"></button>
<span class="lbl-henshen-change"></span><button class="btn-henshin-back" onclick="henshinStep(-1);"></button><button class="btn-henshin-forward" onclick="henshinStep(+1);"></button>
<a class="help-link" target="_blank" href="https://github.com/Mapaler/PADDashFormation/blob/master/help.md"></a>
</div>
<div>