先大概改出个样子来,还没有研究合作徽章怎么写

This commit is contained in:
枫谷剑仙 2024-03-14 17:33:34 +08:00
parent 8500889341
commit 6a2a6d9873
98 changed files with 502 additions and 135 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 696 KiB

After

Width:  |  Height:  |  Size: 705 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 744 KiB

After

Width:  |  Height:  |  Size: 765 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 472 KiB

After

Width:  |  Height:  |  Size: 724 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 KiB

After

Width:  |  Height:  |  Size: 218 KiB

View File

@ -2,25 +2,25 @@
{
"code": "ja",
"ckey": {
"card": "c5ad4741336d336b890f5cde2ea59cfb",
"skill": "6b789c5b2aad907680d4fe534928d719"
"card": "d89540279e0643396258b0274efa9a13",
"skill": "e134dcb605b422e283ea7a85592e2148"
},
"updateTime": 1709898004358
"updateTime": 1710404620614
},
{
"code": "en",
"ckey": {
"card": "cfd6808ba3ebb3b54bd5de8e114ce919",
"skill": "bdfa8c6a3169302256b854b46c950d38"
"card": "2fcfb3796fce3ab86ba7a50ae88d7810",
"skill": "8669e718efdf747870d660b0a257c72f"
},
"updateTime": 1709898004358
"updateTime": 1710404620614
},
{
"code": "ko",
"ckey": {
"card": "a20d7a6a91f6fad982b5da9a6b4354ab",
"card": "6188ae81c2fd96bad070988fca960efc",
"skill": "b61e7eaed852af745f29e9ab724b506f"
},
"updateTime": 1709898004358
"updateTime": 1710404620614
}
]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -85,12 +85,13 @@ class Card{
card.altName = data[i++].split("|").filter(Boolean); //替换名字(分类标签)
card.limitBreakIncr = data[i++]; //110级增长
card.voiceId = data[i++]; //语音觉醒的ID
card.blockSkinOrBgmId = data[i++]; //珠子皮肤ID
card.orbSkinOrBgmId = data[i++]; //抽到后珠子皮肤ID
card.specialAttribute = data[i++]; //特别属性,比如黄龙
card.searchFlags = [data[i++], data[i++]]; //队长技搜索类型,解析写在这里会导致文件太大,所以写到前端去了
card.gachaId = data[i++]; //目前猜测是桶ID
card.unk08 = data[i++]; //未知08
card.attrs.push(data[i++]); //属性3
card.badgeId = data[i++]; //抽到后获取的徽章ID
card.attrs = card.attrs.filter(Number.isInteger);
if (card.attrs.indexOf(-1)>0)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4197,12 +4197,16 @@ const specialSearchFunctions = (function() {
function:cards=>cards.filter(({attrs:[attr1, attr2]})=>attr1<6 && attr2>=0 && attr1 != attr2)
},
{name:"Will get Orbs skin",otLangName:{chs:"能获得宝珠皮肤",cht:"能獲得寶珠皮膚"},
function:cards=>cards.filter(({blockSkinOrBgmId})=>blockSkinOrBgmId>0 && blockSkinOrBgmId<1e4),
addition:({blockSkinOrBgmId})=>`ID.${blockSkinOrBgmId}`
function:cards=>cards.filter(({orbSkinOrBgmId})=>orbSkinOrBgmId>0 && orbSkinOrBgmId<1e4),
addition:({orbSkinOrBgmId})=>`ID.${orbSkinOrBgmId}`
},
{name:"Will get BGM",otLangName:{chs:"能获得背景音乐",cht:"能獲得背景音樂"},
function:cards=>cards.filter(({blockSkinOrBgmId})=>blockSkinOrBgmId>=1e4),
addition:({blockSkinOrBgmId})=>`ID.${blockSkinOrBgmId}`
function:cards=>cards.filter(({orbSkinOrBgmId})=>orbSkinOrBgmId>=1e4),
addition:({orbSkinOrBgmId})=>`ID.${orbSkinOrBgmId}`
},
{name:"Will get Team Badge",otLangName:{chs:"能获得队伍徽章",cht:"能獲得隊伍徽章"},
function:cards=>cards.filter(({badgeId})=>badgeId),
addition:({badgeId})=>`ID.${badgeId}`
},
{name:"Hava banner when use skill",otLangName:{chs:"使用技能时有横幅",cht:"使用技能時有橫幅"},
function:cards=>cards.filter(card=>card.skillBanner)

View File

@ -1549,7 +1549,17 @@ function countTeamSB(team, solo) {
//心L 59心L大SB潜觉 47
sbn += enableAwoken.filter(n=>n===59).length ? member.latent.filter(n=>n===47).length * 3 : 0;
}
if ((solo || teamsCount === 3) && badge === 7) sbn += 1;
if (solo || teamsCount === 3) {
const isJa = currentDataSource.code === "ja";
switch (badge) {
case 7: //SB
sbn += isJa ? 2 : 1;
break;
case 23: //SB++ 辅助无效
sbn += 10;
break;
}
}
return sbn;
}
@ -1601,14 +1611,18 @@ function countMoveTime(team, leader1id, leader2id, teamIdx) {
let _team = team.concat();
//1人、3人计算徽章
if (solo || teamsCount === 3) {
const isJa = currentDataSource.code === "ja";
switch (badge) {
case 2: //小手指
moveTime.duration.badge = 1;
moveTime.duration.badge = isJa ? 3 : 1;
break;
case 21: //大手指
moveTime.duration.badge = 2;
moveTime.duration.badge = isJa ? 4 : 2;
break;
case PAD_PASS_BADGE: //月卡
moveTime.duration.badge = isJa ? 4 : 3;
break;
case 22: case 23: //状态异常耐性&SB++ 辅助无效
moveTime.duration.badge = 3;
break;
}

180
script.js
View File

@ -7,7 +7,6 @@ let currentPlayerData; //当前玩家数据
let markedFilter = []; //收藏的特殊搜索
let defaultLevel = 99; //默认等级
const teamBigBoxs = []; //储存全部teamBigBox
const allMembers = []; //储存所有成员,包含辅助
@ -282,11 +281,12 @@ class Card {
altName = [];
limitBreakIncr = 0;
voiceId = 0;
blockSkinOrBgmId = 0;
orbSkinOrBgmId = 0;
specialAttribute = null;
searchFlags = [];
#leaderSkillTypes = null;
gachaId = 0;
badgeId = 0;
unk01 = null;
unk02 = null;
@ -320,92 +320,93 @@ class Card {
const e = data.entries();
function readCurve(entries) {
return {
min: entries.next().value[1],
max: entries.next().value[1],
scale: entries.next().value[1],
min: entries.next().value?.[1],
max: entries.next().value?.[1],
scale: entries.next().value?.[1],
};
}
this.id = Card.fixId(e.next().value[1]); //ID
this.name = e.next().value[1]; //名字
this.attrs.push(e.next().value[1]); //属性1
this.attrs.push(e.next().value[1]); //属性2
this.isUltEvo = e.next().value[1] !== 0; //是否究极进化
this.types.push(e.next().value[1]); //类型1
this.types.push(e.next().value[1]); //类型2
this.rarity = e.next().value[1]; //星级
this.cost = e.next().value[1]; //cost
this.unk01 = e.next().value[1]; //未知01
this.maxLevel = e.next().value[1]; //最大等级
this.feedExp = e.next().value[1]; //1级喂食经验需要除以4
this.isEmpty = e.next().value[1] === 1; //空卡片?
this.sellPrice = e.next().value[1]; //1级卖钱需要除以10
this.id = Card.fixId(e.next().value?.[1]); //ID
this.name = e.next().value?.[1]; //名字
this.attrs.push(e.next().value?.[1]); //属性1
this.attrs.push(e.next().value?.[1]); //属性2
this.isUltEvo = e.next().value?.[1] !== 0; //是否究极进化
this.types.push(e.next().value?.[1]); //类型1
this.types.push(e.next().value?.[1]); //类型2
this.rarity = e.next().value?.[1]; //星级
this.cost = e.next().value?.[1]; //cost
this.unk01 = e.next().value?.[1]; //未知01
this.maxLevel = e.next().value?.[1]; //最大等级
this.feedExp = e.next().value?.[1]; //1级喂食经验需要除以4
this.isEmpty = e.next().value?.[1] === 1; //空卡片?
this.sellPrice = e.next().value?.[1]; //1级卖钱需要除以10
this.hp = readCurve(e); //HP增长
this.atk = readCurve(e); //攻击增长
this.rcv = readCurve(e); //回复增长
this.exp = { min: 0, max: e.next().value[1], scale: e.next().value[1] }; //经验增长
this.activeSkillId = e.next().value[1]; //主动技
this.leaderSkillId = e.next().value[1]; //队长技
this.exp = { min: 0, max: e.next().value?.[1], scale: e.next().value?.[1] }; //经验增长
this.activeSkillId = e.next().value?.[1]; //主动技
this.leaderSkillId = e.next().value?.[1]; //队长技
this.enemy = { //作为怪物的数值
countdown: e.next().value[1],
countdown: e.next().value?.[1],
hp: readCurve(e),
atk: readCurve(e),
def: readCurve(e),
maxLevel: e.next().value[1],
coin: e.next().value[1],
exp: e.next().value[1],
maxLevel: e.next().value?.[1],
coin: e.next().value?.[1],
exp: e.next().value?.[1],
skills: []
};
this.evoBaseId = Card.fixId(e.next().value[1]); //进化基础ID
this.evoBaseId = Card.fixId(e.next().value?.[1]); //进化基础ID
this.evoMaterials.push(...([ //进化素材
e.next().value[1],
e.next().value[1],
e.next().value[1],
e.next().value[1],
e.next().value[1]
e.next().value?.[1],
e.next().value?.[1],
e.next().value?.[1],
e.next().value?.[1],
e.next().value?.[1]
].map(n=>Card.fixId(n,false))));
this.unevoMaterials.push(...([ //退化素材
e.next().value[1],
e.next().value[1],
e.next().value[1],
e.next().value[1],
e.next().value[1]
e.next().value?.[1],
e.next().value?.[1],
e.next().value?.[1],
e.next().value?.[1],
e.next().value?.[1]
].map(n=>Card.fixId(n,false))));
this.unk02 = e.next().value[1]; //未知02
this.unk03 = e.next().value[1]; //未知03
this.unk04 = e.next().value[1]; //未知04
this.unk05 = e.next().value[1]; //未知05
this.unk06 = e.next().value[1]; //未知06
this.unk07 = e.next().value[1]; //未知07
const numSkills = e.next().value[1]; //几种敌人技能
this.unk02 = e.next().value?.[1]; //未知02
this.unk03 = e.next().value?.[1]; //未知03
this.unk04 = e.next().value?.[1]; //未知04
this.unk05 = e.next().value?.[1]; //未知05
this.unk06 = e.next().value?.[1]; //未知06
this.unk07 = e.next().value?.[1]; //未知07
const numSkills = e.next().value?.[1]; //几种敌人技能
for (let si = 0; si < numSkills; si++) {
this.enemy.skills.push({
id: e.next().value[1],
ai: e.next().value[1],
rnd: e.next().value[1]
id: e.next().value?.[1],
ai: e.next().value?.[1],
rnd: e.next().value?.[1]
});
}
const numAwakening = e.next().value[1]; //觉醒个数
const numAwakening = e.next().value?.[1]; //觉醒个数
for (let ai = 0; ai < numAwakening; ai++) {
this.awakenings.push(e.next().value[1]);
this.awakenings.push(e.next().value?.[1]);
}
this.superAwakenings.push(...(e.next().value[1].split(',').filter(Boolean).map(strN=>parseInt(strN,10)))); //超觉醒
this.evoRootId = Card.fixId(e.next().value[1]); //进化链根ID
this.seriesId = e.next().value[1]; //系列ID
this.types.push(e.next().value[1]); //类型3
this.sellMP = e.next().value[1]; //卖多少MP
this.latentAwakeningId = e.next().value[1]; //潜在觉醒ID
this.collabId = e.next().value[1]; //合作ID
this.flags = e.next().value[1];
this.superAwakenings.push(...(e.next().value?.[1].split(',').filter(Boolean).map(strN=>parseInt(strN,10)))); //超觉醒
this.evoRootId = Card.fixId(e.next().value?.[1]); //进化链根ID
this.seriesId = e.next().value?.[1]; //系列ID
this.types.push(e.next().value?.[1]); //类型3
this.sellMP = e.next().value?.[1]; //卖多少MP
this.latentAwakeningId = e.next().value?.[1]; //潜在觉醒ID
this.collabId = e.next().value?.[1]; //合作ID
this.flags = e.next().value?.[1];
this.altName.push(...e.next().value[1].split("|").filter(Boolean)); //替换名字(分类标签)
this.limitBreakIncr = e.next().value[1]; //110级增长
this.voiceId = e.next().value[1]; //语音觉醒的ID
this.blockSkinOrBgmId = e.next().value[1]; //珠子皮肤ID
this.specialAttribute = e.next().value[1]; //特别属性,比如黄龙
this.searchFlags.push(e.next().value[1], e.next().value[1]); //队长技搜索类型,解析写在这里会导致文件太大,所以写到前端去了
this.gachaId = e.next().value[1]; //目前猜测是桶ID
this.unk08 = e.next().value[1]; //未知08
this.attrs.push(e.next().value[1]); //属性3
this.altName.push(...e.next().value?.[1].split("|").filter(Boolean)); //替换名字(分类标签)
this.limitBreakIncr = e.next().value?.[1]; //110级增长
this.voiceId = e.next().value?.[1]; //语音觉醒的ID
this.orbSkinOrBgmId = e.next().value?.[1]; //珠子皮肤ID
this.specialAttribute = e.next().value?.[1]; //特别属性,比如黄龙
this.searchFlags.push(e.next().value?.[1], e.next().value?.[1]); //队长技搜索类型,解析写在这里会导致文件太大,所以写到前端去了
this.gachaId = e.next().value?.[1]; //目前猜测是桶ID
this.unk08 = e.next().value?.[1]; //未知08
this.attrs.push(e.next().value?.[1]); //属性3
this.badgeId = e.next().value?.[1]; //抽到后获取的徽章ID
this.attrs = this.attrs.filter(n=>Number.isInteger(n) && n>=0);
this.types = this.types.filter(n=>Number.isInteger(n) && n>=0);
@ -6504,6 +6505,8 @@ function refreshTeamAwokenEfeect(awokenEffectDom, team, ti) {
leader2 = members[5];
let parseLSkill1 = skillParser(leader1?.card?.leaderSkillId),
parseLSkill2 = skillParser(leader2?.card?.leaderSkillId);
const isJa = currentDataSource.code === "ja";
//防绑
if (targetIcon = awokenEffectDom.querySelector(".awoken-icon[data-awoken-icon=\"52\"]")) {
const teamFlagsMembers = Array.from(targetIcon.parentElement.querySelectorAll(".team-flags li"));
@ -6515,7 +6518,7 @@ function refreshTeamAwokenEfeect(awokenEffectDom, team, ti) {
const memberData = members[mi];
const assistData = assists[mi];
let thisAwokenNum = 0;
if (badge === 8 && mi === 0) {
if (badge === 8 && (isJa || mi === 0) || badge === 22) {
thisAwokenNum = 2;
} else {
let effectiveAwokens = memberData.effectiveAwokens(assistData);
@ -6601,7 +6604,14 @@ function refreshTeamAwokenEfeect(awokenEffectDom, team, ti) {
const targetValue = targetIcon.parentElement.querySelector(".prob");
const thisAwokenNum = awokenCountInTeam(team, 28, solo, teamsCount);
let prob = thisAwokenNum / 5;
if (badge == 9) prob += 0.5;
switch (badge) {
case 9:
prob += isJa ? 1 : 0.5;
break;
case 22: //状态异常耐性 辅助无效
prob += 1;
break;
}
targetValue.setAttribute(dataAttrName, Math.round(Math.min(prob,1)*100));
}
//暗
@ -6611,7 +6621,14 @@ function refreshTeamAwokenEfeect(awokenEffectDom, team, ti) {
const thisAwokenNum = awokenCountInTeam(team, equivalentAwoken.small, solo, teamsCount) +
awokenCountInTeam(team, equivalentAwoken.big, solo, teamsCount) * equivalentAwoken.times;
let prob = thisAwokenNum / 5;
if (badge == 12) prob += 0.5;
switch (badge) {
case 12:
prob += isJa ? 1 : 0.5;
break;
case 22: //状态异常耐性 辅助无效
prob += 1;
break;
}
targetValue.setAttribute(dataAttrName, Math.round(Math.min(prob,1)*100));
}
//废
@ -6621,7 +6638,14 @@ function refreshTeamAwokenEfeect(awokenEffectDom, team, ti) {
const thisAwokenNum = awokenCountInTeam(team, equivalentAwoken.small, solo, teamsCount) +
awokenCountInTeam(team, equivalentAwoken.big, solo, teamsCount) * equivalentAwoken.times;
let prob = thisAwokenNum / 5;
if (badge == 13) prob += 0.5;
switch (badge) {
case 13:
prob += isJa ? 1 : 0.5;
break;
case 22: //状态异常耐性 辅助无效
prob += 1;
break;
}
targetValue.setAttribute(dataAttrName, Math.round(Math.min(prob,1)*100));
}
//毒
@ -6631,7 +6655,14 @@ function refreshTeamAwokenEfeect(awokenEffectDom, team, ti) {
const thisAwokenNum = awokenCountInTeam(team, equivalentAwoken.small, solo, teamsCount) +
awokenCountInTeam(team, equivalentAwoken.big, solo, teamsCount) * equivalentAwoken.times;
let prob = thisAwokenNum / 5;
if (badge == 14) prob += 0.5;
switch (badge) {
case 14:
prob += isJa ? 1 : 0.5;
break;
case 22: //状态异常耐性 辅助无效
prob += 1;
break;
}
targetValue.setAttribute(dataAttrName, Math.round(Math.min(prob,1)*100));
}
//云
@ -7150,11 +7181,15 @@ function refreshTeamTotalHP(totalDom, team, teamIdx) {
const teamHPNoAwokenArr = countTeamHp(team, leader1id, leader2id, solo, true);
const teamHPAwoken = awokenCountInTeam(team, 46, solo, teamsCount), teamHPAwokenScale = (1 + 0.05 * teamHPAwoken); //全队大血包个数
const isJa = currentDataSource.code === "ja";
const badgeHPScale = teamsCount == 2 ? 1 : (badge=>{ //徽章倍率
switch (badge) {
case 5: return 1.05; //小血
case 5: return isJa ? 1.10 : 1.05; //小血
case 18: return 1.15; //大血
case 20: return 1.10; //全属性
case 22: case 23: return 1.50; //状态异常耐性&SB++ 辅助无效
default: return 1;
}
})(badge);
@ -7248,6 +7283,7 @@ function refreshTeamTotalHP(totalDom, team, teamIdx) {
const leader1id_original = members[0].id;
const leader2id_original = teamsCount===2 ? (teamIdx === 1 ? teamsA_members[0].id : teamsB_members[0].id) : members[5].id;
let effect = tIf_Effect(leader1id,leader2id, leader1id_original,leader2id_original);
if (badge == 22) effect.poisonNoEffect = true;
refreshEffectDom(tEffectDom, effect);
}
}

View File

@ -427,11 +427,11 @@ const cachesMap = new Map([
],
[
"images/cards_ja/CARDS_107.PNG",
"761a7c69323eb20f1eedb64e8d56e1f8"
"73ebef1a2f5f8319dadd8672c78a0d43"
],
[
"images/cards_ja/CARDS_108.PNG",
"e1a00e4409dc4823141fdd360c0e4135"
"3d7ada5ea676d95aa0fe20708bd25ff3"
],
[
"images/cards_ja/CARDS_109.PNG",
@ -443,7 +443,7 @@ const cachesMap = new Map([
],
[
"images/cards_ja/CARDS_111.PNG",
"d4673b931f61b84dadaa6716e984e363"
"615678789745d585f0b022937907f9f0"
],
[
"sound/voice/ja/padv001.wav",
@ -5385,6 +5385,10 @@ const cachesMap = new Map([
"sound/voice/ja/padv2040.wav",
"de665a231d8ea4db7e03fb1fb2e614c1"
],
[
"sound/voice/ja/padv2041.wav",
"5af11c01f3ec0ec29e66e4edaa9800e6"
],
[
"sound/voice/ja/padv2042.wav",
"375534373b256e43e6a400271a71820f"
@ -5757,38 +5761,342 @@ const cachesMap = new Map([
"sound/voice/ja/padv2126.wav",
"d9e9f326b9707e4c28c6ba591510111f"
],
[
"sound/voice/ja/padv2127.wav",
"0c37e53b68b82b696970721a0282916e"
],
[
"sound/voice/ja/padv2128.wav",
"14fd211ceebabbadb4ee8732d06c4290"
],
[
"sound/voice/ja/padv2129.wav",
"6725d980c3c64a218be2d7bc3811086c"
],
[
"sound/voice/ja/padv213.wav",
"0915fe351b9cc596762c5434bab83f2e"
],
[
"sound/voice/ja/padv2130.wav",
"6336144f88aee6b692ff541e5d91939b"
],
[
"sound/voice/ja/padv2131.wav",
"c1fe57352f487308b388bf5e24a319ee"
],
[
"sound/voice/ja/padv2132.wav",
"24a83d8278a36e5d9445ffd5ce4415c9"
],
[
"sound/voice/ja/padv2133.wav",
"d66960aa3309b661c2f90c202929bdd1"
],
[
"sound/voice/ja/padv2134.wav",
"0b34283b1f45089277b6e341cd68b6ba"
],
[
"sound/voice/ja/padv2135.wav",
"5976346adc2193f294ce6e6d89d15476"
],
[
"sound/voice/ja/padv2136.wav",
"f89b6e1338205da0262fb6befb1e6920"
],
[
"sound/voice/ja/padv2137.wav",
"8806e492633f7c969137cfd47490ccd1"
],
[
"sound/voice/ja/padv2138.wav",
"a51bd9c1d23da91d4a62eac4b5b8bb22"
],
[
"sound/voice/ja/padv2139.wav",
"0ef9a436ba620913a6d02765c0cf5ab9"
],
[
"sound/voice/ja/padv214.wav",
"8aefa86a8eaac2b6f6443d0f1cbeb5e5"
],
[
"sound/voice/ja/padv2140.wav",
"b258ac2fb13502e263b1527e0fd38c03"
],
[
"sound/voice/ja/padv2141.wav",
"9b76e5010e153a99fb86722daf22afa4"
],
[
"sound/voice/ja/padv2142.wav",
"46835164cc61d4a15319bbda1369a423"
],
[
"sound/voice/ja/padv2143.wav",
"668a6aab5f7ec0c8ad5493f026bb19ad"
],
[
"sound/voice/ja/padv2144.wav",
"423b4f6040ff7707f5666afd08526282"
],
[
"sound/voice/ja/padv2145.wav",
"69163b53eb06dc32ecc9db5e683f3882"
],
[
"sound/voice/ja/padv2146.wav",
"288f499dd567c84a05b3f20a9fe1e2b3"
],
[
"sound/voice/ja/padv2147.wav",
"1154cf708163062278739f9d41b0d1a6"
],
[
"sound/voice/ja/padv2148.wav",
"e997a6918776760426817c729ac357b3"
],
[
"sound/voice/ja/padv2149.wav",
"0631ee1ae4ae0712befd4356b1bdb006"
],
[
"sound/voice/ja/padv215.wav",
"dcd48b9c5ff571b8bbf81c5de6cdd4dc"
],
[
"sound/voice/ja/padv2150.wav",
"6e31d698a8d16d0f1f16c966e218c24f"
],
[
"sound/voice/ja/padv2151.wav",
"b595fb95175e90c860f470699ee2e283"
],
[
"sound/voice/ja/padv2152.wav",
"ba97c6f5829c91ac1706ac561807259c"
],
[
"sound/voice/ja/padv2153.wav",
"b1680241533448a8560fa04a900334e3"
],
[
"sound/voice/ja/padv2154.wav",
"46a8e45edb0eb66589a54c6229815f99"
],
[
"sound/voice/ja/padv2155.wav",
"bddc3dac334e28f42b77d7225fb5ac5a"
],
[
"sound/voice/ja/padv2156.wav",
"19206bae7dc78499a1ba94671848880a"
],
[
"sound/voice/ja/padv2157.wav",
"8da5714a6aafe6635aba9e69619de23a"
],
[
"sound/voice/ja/padv2158.wav",
"01681f0f7e88853bb156aff4466ce8df"
],
[
"sound/voice/ja/padv2159.wav",
"8804ba1179534a5aeef6726127a53370"
],
[
"sound/voice/ja/padv216.wav",
"f5067d676df3865da3c411873ee840da"
],
[
"sound/voice/ja/padv2160.wav",
"f0ceb966242ce3c151559fd49a7eccb7"
],
[
"sound/voice/ja/padv2161.wav",
"dbbcb0a9f5d319770128e7a0913de207"
],
[
"sound/voice/ja/padv2162.wav",
"2953e4b5f09267ebf2d7f60dc0319575"
],
[
"sound/voice/ja/padv2163.wav",
"65a3f29433ef6ef8f6d6513437f60a1d"
],
[
"sound/voice/ja/padv2164.wav",
"4c8625f45db1c5d8fa0ac6a750d5b6da"
],
[
"sound/voice/ja/padv2165.wav",
"806ba692f573fc412b9855ff4616e826"
],
[
"sound/voice/ja/padv2166.wav",
"e2dee9b89fecd540263f282102172993"
],
[
"sound/voice/ja/padv2167.wav",
"18328b8c8f3af3e753086f9515fc1b79"
],
[
"sound/voice/ja/padv2168.wav",
"58276f2e794d1863e318a2848d64c327"
],
[
"sound/voice/ja/padv2169.wav",
"56ccdc7868b99a8a73778380db2e3060"
],
[
"sound/voice/ja/padv217.wav",
"681923ea79a71bbd6f2d0bc92c1470b5"
],
[
"sound/voice/ja/padv2170.wav",
"31298c1199330e10d9159e63ee67a6b0"
],
[
"sound/voice/ja/padv2171.wav",
"d8618daef280f4e7ca86e07eaf452b9b"
],
[
"sound/voice/ja/padv2172.wav",
"4a600e0257b64efcd245f2f706bca042"
],
[
"sound/voice/ja/padv2173.wav",
"0773b457e4fc5492174adcecb848354f"
],
[
"sound/voice/ja/padv2174.wav",
"a430fe9031b277823334863c3cc1ea5f"
],
[
"sound/voice/ja/padv2175.wav",
"909f73a17d9fc69a70b266f8ca5b1e4d"
],
[
"sound/voice/ja/padv2176.wav",
"d35aa91240346c5cfe3f71ca75e2ce93"
],
[
"sound/voice/ja/padv2177.wav",
"92e4fde7d78f4d4b81293fbb892ecaf2"
],
[
"sound/voice/ja/padv2178.wav",
"6aba9a6de292c4aa7d2f30a86a9ae51b"
],
[
"sound/voice/ja/padv2179.wav",
"83d4439768b45b9dccf00042b58066b8"
],
[
"sound/voice/ja/padv218.wav",
"8a9b14b73b7d035321224de9243e66ac"
],
[
"sound/voice/ja/padv2180.wav",
"15bf0a5eb3f62a7bddc97a070a5e1f24"
],
[
"sound/voice/ja/padv2181.wav",
"4886eb3e8343e58fc21891f18797a694"
],
[
"sound/voice/ja/padv2182.wav",
"a2799a903f64bf2f7b65dd54c488b34a"
],
[
"sound/voice/ja/padv2183.wav",
"17ebcbee3ee82ad7e39599fcb70ddd33"
],
[
"sound/voice/ja/padv2184.wav",
"2caf6004cfb2d80fcb553e4571706916"
],
[
"sound/voice/ja/padv2185.wav",
"d2faa8fb650d8604020ed8b99f39a2be"
],
[
"sound/voice/ja/padv2186.wav",
"f9b3364cfa1e01a89bbc2b5c6c2bb1ad"
],
[
"sound/voice/ja/padv2187.wav",
"12940fab858a2d4644c554d334ffd171"
],
[
"sound/voice/ja/padv2188.wav",
"0fc81a6019208d33b5ff55a39d350f6c"
],
[
"sound/voice/ja/padv2189.wav",
"def3e6864f135bfd12123357454f0fbd"
],
[
"sound/voice/ja/padv219.wav",
"4b8cad474e854ecb7a60de5c496fd467"
],
[
"sound/voice/ja/padv2190.wav",
"3071ee34cf5404c0265829fc4ef2fd03"
],
[
"sound/voice/ja/padv2191.wav",
"d07c2fc9a621d4345c053f3d2187a937"
],
[
"sound/voice/ja/padv2192.wav",
"7b4d49a59677f39e8b02921042be0201"
],
[
"sound/voice/ja/padv2193.wav",
"b00ae304d8e7918422a691317c43bca3"
],
[
"sound/voice/ja/padv2194.wav",
"95565c3a1ebea4bc073f83fe2ccc7c2d"
],
[
"sound/voice/ja/padv2195.wav",
"addd06b2cf53ae8f7ef43e56673e8324"
],
[
"sound/voice/ja/padv2196.wav",
"059e7fcdb382559789d8fef39f6158a8"
],
[
"sound/voice/ja/padv2197.wav",
"520eb78d9769cc7cd35b458f06b14c10"
],
[
"sound/voice/ja/padv2198.wav",
"38842144f71988f16cca6f3c02257d28"
],
[
"sound/voice/ja/padv2199.wav",
"6456b00535c6b86f88f64ac664ea4d7f"
],
[
"sound/voice/ja/padv220.wav",
"b90fc4fba50a2c4c6ee89e64183348c9"
],
[
"sound/voice/ja/padv2200.wav",
"39a17d2d50a6a1c712dc45a28069e42f"
],
[
"sound/voice/ja/padv2201.wav",
"83cd8a683662a1dbfaf8687559f9c63a"
],
[
"sound/voice/ja/padv2202.wav",
"08afcfb960218cefc3d6e578c7c6e08c"
],
[
"sound/voice/ja/padv221.wav",
"60d8288a7bc2220d9feed3a74caeead6"
@ -24031,7 +24339,7 @@ const cachesMap = new Map([
],
[
"browser-compatibility.js",
"0fccf68a8a042f8c5bd0377a1c15d2ef"
"4b1869a20212e8eaf767d0b5b3372c18"
],
[
"index.html",
@ -24039,7 +24347,7 @@ const cachesMap = new Map([
],
[
"multi.html",
"8759dfb57877383ab9e333dc84461144"
"9bb0c3187b5f131b61343a7fcb7a0571"
],
[
"script-custom_elements.js",
@ -24047,7 +24355,7 @@ const cachesMap = new Map([
],
[
"script-json_data.js",
"027f128278109743141290336f3005b7"
"9e59dee85faae6348e23744f70371e12"
],
[
"script-skill-parser.js",
@ -24055,19 +24363,19 @@ const cachesMap = new Map([
],
[
"script-universal_function.js",
"d9947df03028429507ef3576c9bc3676"
"327324a26dbbdb56e8eafe21427584eb"
],
[
"script.js",
"fe34fc620da2685a01010a3fe7be523f"
"70ca0c75227f82e98a4bc6518f79e3e6"
],
[
"solo.html",
"b33f3ef94739addfc99ccfeeedebefcd"
"10e0b6025184d59b7db8250f890be6a6"
],
[
"style-monsterimages.css",
"c2a4832ca38958cd6ee64211c05e00cd"
"6ce42f9c2d7352b8e88ed217d5e07151"
],
[
"style.css",
@ -24079,7 +24387,7 @@ const cachesMap = new Map([
],
[
"triple.html",
"6d23f002561365f9e124d91f4b4ae5fe"
"e79b1f43804eb36e625a68a132308d43"
],
[
"languages/en.css",
@ -24143,11 +24451,11 @@ const cachesMap = new Map([
],
[
"images/badge-bg.png",
"5bc57234ecedf767452d279b9210d96f"
"d7ca7e7c4b6a88dc5d61b548ce82f580"
],
[
"images/badge.png",
"4ebdde62e578e4fe0ee2955fd2275955"
"188fbfc3db6b75d076ab019674de6c59"
],
[
"images/card-frame-any.png",

View File

@ -97,8 +97,9 @@ const teamsCount = 1;
<li><input type="radio" name="team-1-badge" class="badge-radio" value="12" id="team-1-badge-12"><label class="badge" data-badge-icon="12" for="team-1-badge-12"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="13" id="team-1-badge-13"><label class="badge" data-badge-icon="13" for="team-1-badge-13"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="14" id="team-1-badge-14"><label class="badge" data-badge-icon="14" for="team-1-badge-14"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="15" id="team-1-badge-15"><label class="badge" data-badge-icon="15" for="team-1-badge-15"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="16" id="team-1-badge-16"><label class="badge" data-badge-icon="16" for="team-1-badge-16"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="22" id="team-1-badge-22"><label class="badge" data-badge-icon="22" for="team-1-badge-22"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="23" id="team-1-badge-23"><label class="badge" data-badge-icon="23" for="team-1-badge-23"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="24" id="team-1-badge-24"><label class="badge" data-badge-icon="24" for="team-1-badge-24"></label></li>
</ul>
<div class="team-total-info">
<div class="tIf-addition-info">

BIN
sound/voice/ja/padv2041.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2127.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2128.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2129.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2130.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2131.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2132.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2133.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2134.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2135.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2136.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2137.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2138.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2139.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2140.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2141.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2142.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2143.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2144.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2145.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2146.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2147.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2148.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2149.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2150.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2151.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2152.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2153.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2154.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2155.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2156.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2157.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2158.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2159.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2160.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2161.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2162.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2163.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2164.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2165.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2166.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2167.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2168.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2169.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2170.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2171.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2172.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2173.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2174.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2175.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2176.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2177.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2178.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2179.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2180.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2181.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2182.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2183.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2184.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2185.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2186.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2187.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2188.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2189.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2190.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2191.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2192.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2193.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2194.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2195.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2196.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2197.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2198.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2199.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2200.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2201.wav Normal file

Binary file not shown.

BIN
sound/voice/ja/padv2202.wav Normal file

Binary file not shown.

View File

@ -1412,12 +1412,6 @@
text-align: center;
margin-right: 5px;
}
.badge:where( /*去武器的徽章*/
[data-badge-icon='15'],
[data-badge-icon='16'],
){
background-position-x: -54px;
}
.badge::before{
content: "";
display: inline-block;
@ -1427,6 +1421,12 @@
width: 36px; height: 30px;
background-position-x: 0;
}
.badge:where( /*去武器的徽章*/
[data-badge-icon='22'],
[data-badge-icon='23'],
){
background-position-x: -54px;
}
.badge[data-badge-icon='0']::before{
background-position-y:calc(-30px * 0);
}
@ -1499,6 +1499,9 @@
.badge[data-badge-icon='23']::before{
background-position-y:calc(-30px * 23);
}
.badge[data-badge-icon='24']::before{
background-position-y:calc(-30px * 24);
}
.badge[data-badge-icon='129']::before{
background-position-x: -36px;
background-position-y: 0;
@ -1513,25 +1516,22 @@
background-position-x: calc(-36px * 3);
}
body:not([data-game-source="ja"]) .badge:where(
[data-badge-icon='7'],
[data-badge-icon='8'],
[data-badge-icon='9'],
[data-badge-icon='12'],
[data-badge-icon='13'],
[data-badge-icon='14'],
)::before {
background-position-x: calc(-36px * 1);
}
:lang(en) .badge:where(
[data-badge-icon='1'],
[data-badge-icon='3'],
[data-badge-icon='7'],
[data-badge-icon='8'],
[data-badge-icon='9'],
[data-badge-icon='12'],
[data-badge-icon='13'],
[data-badge-icon='14'],
[data-badge-icon='20'],
)::before,
:lang(ko) .badge:where(
[data-badge-icon='3'],
[data-badge-icon='7'],
[data-badge-icon='8'],
[data-badge-icon='9'],
[data-badge-icon='12'],
[data-badge-icon='13'],
[data-badge-icon='14'],
)::before {
background-position-x: calc(-36px * 1);
}

View File

@ -108,8 +108,9 @@ const teamsCount = 3;
<li><input type="radio" name="team-1-badge" class="badge-radio" value="12" id="team-1-badge-12"><label class="badge" data-badge-icon="12" for="team-1-badge-12"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="13" id="team-1-badge-13"><label class="badge" data-badge-icon="13" for="team-1-badge-13"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="14" id="team-1-badge-14"><label class="badge" data-badge-icon="14" for="team-1-badge-14"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="15" id="team-1-badge-15"><label class="badge" data-badge-icon="15" for="team-1-badge-15"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="16" id="team-1-badge-16"><label class="badge" data-badge-icon="16" for="team-1-badge-16"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="22" id="team-1-badge-22"><label class="badge" data-badge-icon="22" for="team-1-badge-22"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="23" id="team-1-badge-23"><label class="badge" data-badge-icon="23" for="team-1-badge-23"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="24" id="team-1-badge-24"><label class="badge" data-badge-icon="24" for="team-1-badge-24"></label></li>
</ul>
<div class="team-total-info">
<div class="tIf-addition-info">
@ -597,8 +598,9 @@ const teamsCount = 3;
<li><input type="radio" name="team-1-badge" class="badge-radio" value="12" id="team-1-badge-12"><label class="badge" data-badge-icon="12" for="team-1-badge-12"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="13" id="team-1-badge-13"><label class="badge" data-badge-icon="13" for="team-1-badge-13"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="14" id="team-1-badge-14"><label class="badge" data-badge-icon="14" for="team-1-badge-14"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="15" id="team-1-badge-15"><label class="badge" data-badge-icon="15" for="team-1-badge-15"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="16" id="team-1-badge-16"><label class="badge" data-badge-icon="16" for="team-1-badge-16"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="22" id="team-1-badge-22"><label class="badge" data-badge-icon="22" for="team-1-badge-22"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="23" id="team-1-badge-23"><label class="badge" data-badge-icon="23" for="team-1-badge-23"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="24" id="team-1-badge-24"><label class="badge" data-badge-icon="24" for="team-1-badge-24"></label></li>
</ul>
<div class="team-total-info">
<div class="tIf-addition-info">
@ -1086,8 +1088,9 @@ const teamsCount = 3;
<li><input type="radio" name="team-1-badge" class="badge-radio" value="12" id="team-1-badge-12"><label class="badge" data-badge-icon="12" for="team-1-badge-12"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="13" id="team-1-badge-13"><label class="badge" data-badge-icon="13" for="team-1-badge-13"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="14" id="team-1-badge-14"><label class="badge" data-badge-icon="14" for="team-1-badge-14"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="15" id="team-1-badge-15"><label class="badge" data-badge-icon="15" for="team-1-badge-15"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="16" id="team-1-badge-16"><label class="badge" data-badge-icon="16" for="team-1-badge-16"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="22" id="team-1-badge-22"><label class="badge" data-badge-icon="22" for="team-1-badge-22"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="23" id="team-1-badge-23"><label class="badge" data-badge-icon="23" for="team-1-badge-23"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="24" id="team-1-badge-24"><label class="badge" data-badge-icon="24" for="team-1-badge-24"></label></li>
</ul>
<div class="team-total-info">
<div class="tIf-addition-info">