尝试解决没有更新怪物数据时可能出现的数据错误问题

This commit is contained in:
枫谷剑仙 2025-05-16 17:34:09 +08:00
parent e429c9a072
commit 5d41f092d7
2 changed files with 16 additions and 27 deletions

View File

@ -1837,22 +1837,24 @@ function countTeamSB(team, solo) {
return sbn;
}
//返回一个角色的根ID
function returnCardRootId(mid, henshin = true)
{
const card = Cards[mid];
if (!card) return null;
let rootid = card.evoRootId;
const m = Cards[rootid];
if (henshin && Array.isArray(m.henshinFrom) && m.henshinFrom[0] < m.id)
{ //只有变身来源小于目前id的才继续找base,为了解决黑魔导女孩的问题将来如果需要要可以改成检测是否能110级
rootid = returnCardRootId(m.henshinFrom[0]);
}
return rootid;
}
//判断两个角色是否是同一进化链
function isSameEvoTree(mon1, mon2) {
if (mon1.id <= 0 || mon2.id <= 0) return false;
//返回一个角色的根ID
function returnRootId(mid, henshin = true)
{
let rootid = Cards[mid].evoRootId;
const m = Cards[rootid];
if (henshin && Array.isArray(m.henshinFrom) && m.henshinFrom[0] < m.id)
{ //只有变身来源小于目前id的才继续找base,为了解决黑魔导女孩的问题将来如果需要要可以改成检测是否能110级
rootid = returnRootId(m.henshinFrom[0]);
}
return rootid;
}
const mon1RootId = returnRootId(mon1.id, mon1.level <= mon1.card.maxLevel);
const mon2RootId = returnRootId(mon2.id, mon2.level <= mon2.card.maxLevel);
const mon1RootId = returnCardRootId(mon1.id, mon1.level <= mon1.card.maxLevel);
const mon2RootId = returnCardRootId(mon2.id, mon2.level <= mon2.card.maxLevel);
return mon1RootId == mon2RootId;
}

View File

@ -1653,20 +1653,7 @@ class EvoTree
const _this = this;
this.parent = parent;
if (parent == null) //如果没有提供父级,则寻找进化根
{
//返回一个角色的根ID
function returnRootId(mid)
{
mid = Cards[mid].evoRootId;
const m = Cards[mid];
if (Array.isArray(m.henshinFrom) && m.henshinFrom[0] < m.id)
{ //只有变身来源小于目前id的才继续找base,为了解决黑魔导女孩的问题将来如果需要要可以改成检测是否能110级
mid = returnRootId(m.henshinFrom[0]);
}
return mid;
}
mid = returnRootId(mid);
}
mid = returnCardRootId(mid);
const card = Cards[mid];
this.id = mid;