| @@ -269,20 +269,10 @@ | |||
| content:"Change \"Swap\" to \"Copy\" when dragging"; | |||
| } | |||
| .team-total-info .tIf-total-hp::before{ | |||
| content: "Team HP (No Awoken): "; | |||
| } | |||
| .team-total-info .tIf-total-move::before{ | |||
| content: "Team Move Time: "; | |||
| } | |||
| .team-total-info .tIf-total-move::after{ | |||
| content: "s"; | |||
| } | |||
| .team-total-info .tIf-total-move.fixed-move-time::after{ | |||
| content: "s (Fiexd)"; | |||
| } | |||
| .formation-total-info .tIf-total-hp::before{ | |||
| content: "Total HP (No Awoken): "; | |||
| .tIf-total-move .general::after, | |||
| .tIf-total-move .awoken-bind::after | |||
| { | |||
| content: " sec"; | |||
| } | |||
| .setting-box .row-mon-id .open-search::before{ | |||
| @@ -19,4 +19,13 @@ | |||
| .badge[data-badge-icon='2']::before | |||
| { | |||
| background-position-x: -36px; | |||
| } | |||
| .tIf-total-hp .awoken-bind::before, | |||
| .tIf-total-move .awoken-bind::before | |||
| { | |||
| background-position-x: -16px; | |||
| } | |||
| .tIf-total-hp .reduce::before{ | |||
| background-position-x: -16px; | |||
| } | |||
| @@ -261,21 +261,11 @@ | |||
| content:"ドラッグ時に「スワップ」を「コピー」に変更"; | |||
| } | |||
| .team-total-info .tIf-total-hp::before{ | |||
| content: "チームHP (覚醒無効):"; | |||
| } | |||
| .team-total-info .tIf-total-move::before{ | |||
| content: "チーム操作時間:"; | |||
| } | |||
| .team-total-info .tIf-total-move::after{ | |||
| .tIf-total-move .general::after, | |||
| .tIf-total-move .awoken-bind::after | |||
| { | |||
| content: " 秒"; | |||
| } | |||
| .team-total-info .tIf-total-move.fixed-move-time::after{ | |||
| content: " 秒 (固定)"; | |||
| } | |||
| .formation-total-info .tIf-total-hp::before{ | |||
| content: "総HP (覚醒無効):"; | |||
| } | |||
| .setting-box .row-mon-id .open-search::before{ | |||
| content: "簡単な検索"; | |||
| @@ -258,20 +258,10 @@ | |||
| content:"드래그할 때 \"바꾸기\"를 \"복사\"로 변경"; | |||
| } | |||
| .team-total-info .tIf-total-hp::before{ | |||
| content: "팀 HP (각성은 없습니다):"; | |||
| } | |||
| .team-total-info .tIf-total-move::before{ | |||
| content: "팀 운영 시간입니다:"; | |||
| } | |||
| .team-total-info .tIf-total-move::after{ | |||
| content: "초"; | |||
| } | |||
| .team-total-info .tIf-total-move.fixed-move-time::after{ | |||
| content: "초 (고정합니다)"; | |||
| } | |||
| .formation-total-info .tIf-total-hp::before{ | |||
| content: "총 HP (각성은 없습니다):"; | |||
| .tIf-total-move .general::after, | |||
| .tIf-total-move .awoken-bind::after | |||
| { | |||
| content: " 초"; | |||
| } | |||
| .setting-box .row-mon-id .open-search::before{ | |||
| @@ -2011,6 +2011,10 @@ function parseSkillDescription(skill) | |||
| const skill = Skills[card.leaderSkillId]; | |||
| return getReduceScale(skill, undefined, true) > 0; | |||
| })}, | |||
| {name:"队长盾减伤-排除几率盾",function:cards=>cards.filter(card=>{ | |||
| const skill = Skills[card.leaderSkillId]; | |||
| return getReduceScale(skill, undefined, undefined, true) > 0; | |||
| })}, | |||
| {name:"满血99重力不下半血-队长盾减伤[29%, 100%)",function:cards=>cards.filter(card=>{ | |||
| const skill = Skills[card.leaderSkillId]; | |||
| const reduceScale = getReduceScale(skill); | |||
| @@ -264,21 +264,11 @@ | |||
| content:"拖拽時使用“複製”而不是“替換”"; | |||
| } | |||
| .team-total-info .tIf-total-hp::before{ | |||
| content: "隊伍HP (無覺醒):"; | |||
| } | |||
| .team-total-info .tIf-total-move::before{ | |||
| content: "隊伍操作時間:"; | |||
| } | |||
| .team-total-info .tIf-total-move::after{ | |||
| .tIf-total-move .general::after, | |||
| .tIf-total-move .awoken-bind::after | |||
| { | |||
| content: " 秒"; | |||
| } | |||
| .team-total-info .tIf-total-move.fixed-move-time::after{ | |||
| content: " 秒(固定)"; | |||
| } | |||
| .formation-total-info .tIf-total-hp::before{ | |||
| content: "總HP (無覺醒):"; | |||
| } | |||
| .setting-box .row-mon-id .open-search::before{ | |||
| content: "簡易搜索"; | |||
| @@ -264,21 +264,11 @@ | |||
| content:"拖拽时使用“复制”而不是“替换”"; | |||
| } | |||
| .team-total-info .tIf-total-hp::before{ | |||
| content: "队伍HP (无觉醒):"; | |||
| } | |||
| .team-total-info .tIf-total-move::before{ | |||
| content: "队伍操作时间:"; | |||
| } | |||
| .team-total-info .tIf-total-move::after{ | |||
| .tIf-total-move .general::after, | |||
| .tIf-total-move .awoken-bind::after | |||
| { | |||
| content: " 秒"; | |||
| } | |||
| .team-total-info .tIf-total-move.fixed-move-time::after{ | |||
| content: " 秒 (固定)"; | |||
| } | |||
| .formation-total-info .tIf-total-hp::before{ | |||
| content: "总HP (无觉醒):"; | |||
| } | |||
| .setting-box .row-mon-id .open-search::before{ | |||
| content: "简易搜索"; | |||
| @@ -1 +1 @@ | |||
| [{"code":"ja","ckey":{"card":"e7da40a58dda7b97054ac2333602e2c6","skill":"d829065777d5b3d0519cca1a9a43ae2a"},"updateTime":1608475052805},{"code":"en","ckey":{"card":"a1dd13cd3c7243536e66dee37375522b","skill":"1cfc69c93eed2ce73d642f98e288c384"},"updateTime":1608289647603},{"code":"ko","ckey":{"card":"ab7ec2c7964c791db5bd41662511433a","skill":"ef7de03968a8673c034df0d05e5d94df"},"updateTime":1608475052805}] | |||
| [{"code":"ja","ckey":{"card":"8cc80162edf086b387d97a9d6f694b6e","skill":"d829065777d5b3d0519cca1a9a43ae2a"},"updateTime":1608710446774},{"code":"en","ckey":{"card":"26df0faf12dd89144ce0e5aa540065c9","skill":"1cfc69c93eed2ce73d642f98e288c384"},"updateTime":1608710446774},{"code":"ko","ckey":{"card":"7664377aa213ed2364b35210fd0dafb8","skill":"c3dbb11d1c4676c39d3bce48d113a6e7"},"updateTime":1608710446774}] | |||
| @@ -25,6 +25,26 @@ const teamsCount = 2; | |||
| <script type="text/javascript"> | |||
| var formation = new Formation(teamsCount,5); | |||
| </script> | |||
| <style type="text/css"> | |||
| .show-team-name-left .team-box-name::before{ | |||
| display: inline-block; | |||
| } | |||
| .show-team-name-right .team-box-name::after{ | |||
| display: inline-block; | |||
| } | |||
| .show-team-name-right .team-total-info .team-awoken, | |||
| .show-team-name-right .team-total-info>div, | |||
| .show-team-name-left .team-total-info .team-awoken, | |||
| .show-team-name-left .team-total-info>div | |||
| { | |||
| display: inline-block; | |||
| } | |||
| .show-team-name-right .team-total-info .team-awoken::before, | |||
| .show-team-name-left .team-total-info .team-awoken::before | |||
| { | |||
| display: none; | |||
| } | |||
| </style> | |||
| </head> | |||
| <body> | |||
| @@ -53,11 +73,20 @@ var formation = new Formation(teamsCount,5); | |||
| </div> | |||
| <div class="formation-box"> | |||
| <div class="title-box edit"><input type="text" class="title" placeholder="输入队伍标题" /><h1 class="title-display"></h1></div> | |||
| <div class="formation-total-info"><div class="tIf-total-hp"></div></div> | |||
| <div class="formation-total-info"> | |||
| <div class="tIf-total-hp"> | |||
| <span class="general"></span> | |||
| <span class="awoken-bind"></span> | |||
| <span class="reduce"></span> | |||
| </div> | |||
| </div> | |||
| <ul class="teams"> | |||
| <li class="team-bigbox team-1 show-team-name-right"> | |||
| <div class="team-total-info"> | |||
| <div class="tIf-total-move"></div> | |||
| <div class="tIf-total-move"> | |||
| <span class="general"></span> | |||
| <span class="awoken-bind"></span> | |||
| </div> | |||
| <div class="team-awoken"> | |||
| <!--怪物觉醒--> | |||
| <ul class="awoken-ul"> | |||
| @@ -439,7 +468,10 @@ var formation = new Formation(teamsCount,5); | |||
| </div> | |||
| </div> | |||
| <div class="team-total-info"> | |||
| <div class="tIf-total-move"></div> | |||
| <div class="tIf-total-move"> | |||
| <span class="general"></span> | |||
| <span class="awoken-bind"></span> | |||
| </div> | |||
| <div class="team-awoken"> | |||
| <!--怪物觉醒--> | |||
| <ul class="awoken-ul"> | |||
| @@ -692,23 +692,46 @@ function countMoveTime(team, leader1id, leader2id, teamIdx) | |||
| const time1 = leaderSkillMoveTime(ls1); | |||
| const time2 = leaderSkillMoveTime(ls2); | |||
| let moveTime = {fixed:false,duration:5}; //基础5秒 | |||
| let moveTime = { | |||
| fixed:false, | |||
| duration:{ | |||
| default:5, | |||
| leader:0, | |||
| badge:0, | |||
| awoken:0, | |||
| } | |||
| }; //基础5秒 | |||
| //固定操作时间的直接返回 | |||
| if (time1.fixed || time2.fixed) | |||
| { | |||
| moveTime.fixed = true; | |||
| moveTime.duration = time1.fixed ? | |||
| (time2.fixed && time2.duration < time1.duration ? time2.duration : time1.duration) : | |||
| moveTime.duration.leader = time1.fixed ? | |||
| (time2.fixed ? Math.min(time1.duration, time2.duration) : time1.duration) : | |||
| time2.duration; | |||
| } else | |||
| { | |||
| moveTime.duration += time1.duration + time2.duration | |||
| //2人协力时的特殊处理 | |||
| if (teamsCount === 2) | |||
| moveTime.duration.leader = time1.duration + time2.duration; | |||
| //1人、3人计算徽章 | |||
| if (solo || teamsCount === 3) | |||
| { | |||
| //徽章部分 | |||
| if (team[2] == 1) //小手指 | |||
| { | |||
| moveTime.duration.badge = 1; | |||
| } else if (team[2] == 13) //大手指 | |||
| { | |||
| moveTime.duration.badge = 2; | |||
| } else if (team[2] == 18) //月卡 | |||
| { | |||
| moveTime.duration.badge = 3; | |||
| } | |||
| } | |||
| else if (teamsCount === 2) //2人协力时的特殊处理 | |||
| { | |||
| const teams = formation.teams; | |||
| const team2 = teamIdx === 1 ? teams[0] : teams[1]; //获取队伍2 | |||
| //复制队伍1 | |||
| //复制队伍1,这里参数里的 team 换成了一个新的数组 | |||
| team = [ | |||
| team[0].concat(), | |||
| team[1].concat() | |||
| @@ -718,19 +741,12 @@ function countMoveTime(team, leader1id, leader2id, teamIdx) | |||
| team[1].push(team2[1][0]); | |||
| } | |||
| //徽章部分 | |||
| if (team[2] == 1 && (solo || teamsCount === 3)) { | |||
| moveTime.duration += 1; | |||
| } else if (team[2] == 13 && (solo || teamsCount === 3)) { | |||
| moveTime.duration += 2; | |||
| } | |||
| //觉醒 | |||
| const awokenMoveTime = [ | |||
| {index:19,value:0.5}, //小手指 | |||
| {index:53,value:1}, //大手指 | |||
| ]; | |||
| moveTime.duration += awokenMoveTime.reduce((duration,aw)=> | |||
| moveTime.duration.awoken += awokenMoveTime.reduce((duration,aw)=> | |||
| duration + awokenCountInTeam(team, aw.index, solo, teamsCount) * aw.value | |||
| ,0); | |||
| //潜觉 | |||
| @@ -739,7 +755,7 @@ function countMoveTime(team, leader1id, leader2id, teamIdx) | |||
| {index:31,value:0.12}, //大手指潜觉 | |||
| ]; | |||
| moveTime.duration += latentMoveTime.reduce((duration,la)=> | |||
| moveTime.duration.awoken += latentMoveTime.reduce((duration,la)=> | |||
| duration + team[0].reduce((count,menber)=> | |||
| count + (menber.latent ? menber.latent.filter(l=>l==la.index).length : 0) | |||
| ,0) * la.value | |||
| @@ -780,7 +796,7 @@ function countMoveTime(team, leader1id, leader2id, teamIdx) | |||
| return moveTime; | |||
| } | |||
| //获取盾减伤比例 | |||
| function getReduceScale(ls, allAttr = false, noHPneed = false) | |||
| function getReduceScale(ls, allAttr = false, noHPneed = false, noProbability = false) | |||
| { | |||
| const sk = ls.params; | |||
| let scale = 0; | |||
| @@ -795,9 +811,9 @@ function getReduceScale(ls, allAttr = false, noHPneed = false) | |||
| case 36: //2个属性盾 | |||
| scale = allAttr ? 0 : sk[2]/100; | |||
| break; | |||
| case 38: //血线下 + 几率 | |||
| case 43: //血线上 + 几率 | |||
| scale = (noHPneed || allAttr) ? 0 : sk[2]/100; | |||
| case 38: //血线下 + 可能几率 | |||
| case 43: //血线上 + 可能几率 | |||
| scale = (noHPneed || noProbability && sk[1] !== 100) ? 0 : sk[2]/100; | |||
| break; | |||
| case 129: //无条件盾,属性个数不固定 | |||
| case 163: //无条件盾,属性个数不固定 | |||
| @@ -1974,18 +1974,26 @@ function initialize() { | |||
| const teamAbilityDom = teamBigBox.querySelector(".team-ability"); | |||
| refreshAbility(teamAbilityDom, teamData, editBox.memberIdx[2]); //本人能力值 | |||
| const teamTotalInfoDom = teamBigBox.querySelector(".team-total-info"); //队伍能力值合计 | |||
| if (teamTotalInfoDom) refreshTeamTotalHP(teamTotalInfoDom, teamData, editBox.memberIdx[0]); | |||
| const formationTotalInfoDom = formationBox.querySelector(".formation-total-info"); //所有队伍能力值合计 | |||
| if (formationTotalInfoDom) refreshFormationTotalHP(formationTotalInfoDom, formation.teams); | |||
| const teamAwokenDom = teamBigBox.querySelector(".team-awoken"); //队伍觉醒合计 | |||
| if (teamAwokenDom) refreshTeamAwokenCount(teamAwokenDom, teamData); | |||
| const formationAwokenDom = formationBox.querySelector(".formation-awoken"); //所有队伍觉醒合计 | |||
| if (formationAwokenDom) refreshFormationAwokenCount(formationAwokenDom, formation.teams); | |||
| //如果是2人协力,且修改的是队长的情况,为了刷新另一个队伍时间计算,直接刷新整个队形 | |||
| if (teamsCount === 2 && editBox.memberIdx[2] === 0) | |||
| { | |||
| refreshAll(formation); | |||
| }else | |||
| { | |||
| const teamTotalInfoDom = teamBigBox.querySelector(".team-total-info"); //队伍能力值合计 | |||
| if (teamTotalInfoDom) refreshTeamTotalHP(teamTotalInfoDom, teamData, editBox.memberIdx[0]); | |||
| const formationTotalInfoDom = formationBox.querySelector(".formation-total-info"); //所有队伍能力值合计 | |||
| if (formationTotalInfoDom) refreshFormationTotalHP(formationTotalInfoDom, formation.teams); | |||
| const teamAwokenDom = teamBigBox.querySelector(".team-awoken"); //队伍觉醒合计 | |||
| if (teamAwokenDom) refreshTeamAwokenCount(teamAwokenDom, teamData); | |||
| const formationAwokenDom = formationBox.querySelector(".formation-awoken"); //所有队伍觉醒合计 | |||
| if (formationAwokenDom) refreshFormationAwokenCount(formationAwokenDom, formation.teams); | |||
| //刷新改队员的CD | |||
| refreshMemberSkillCD(teamBox, teamData, editBox.memberIdx[2]); | |||
| } | |||
| //刷新改队员的CD | |||
| refreshMemberSkillCD(teamBox, teamData, editBox.memberIdx[2]); | |||
| creatNewUrl(); | |||
| editBox.hide(); | |||
| }; | |||
| @@ -2910,6 +2918,15 @@ function refreshAbility(abilityDom, team, idx) { | |||
| } | |||
| }); | |||
| } | |||
| function setTextContentAndAttribute(dom,str) | |||
| { | |||
| if (!dom) return; | |||
| const attrName = "data-value"; | |||
| dom.textContent = str; | |||
| dom.setAttribute(attrName, str); | |||
| } | |||
| //刷新队伍能力值合计 | |||
| function refreshTeamTotalHP(totalDom, team, teamIdx) { | |||
| //计算总的生命值 | |||
| @@ -2924,8 +2941,8 @@ function refreshTeamTotalHP(totalDom, team, teamIdx) { | |||
| const leader2id = teamsCount===2 ? (teamIdx === 1 ? teams[0][0][0].id : teams[1][0][0].id) : team[0][5].id; | |||
| if (tHpDom) { | |||
| const reduceScale1 = getReduceScale(Skills[Cards[leader1id].leaderSkillId],true); | |||
| const reduceScale2 = getReduceScale(Skills[Cards[leader2id].leaderSkillId],true); | |||
| const reduceScale1 = getReduceScale(Skills[Cards[leader1id].leaderSkillId],true,true,true); | |||
| const reduceScale2 = getReduceScale(Skills[Cards[leader2id].leaderSkillId],true,true,true); | |||
| const totalReduce = 1 - (1 - reduceScale1) * (1 - reduceScale2); | |||
| const teamHPArr = countTeamHp(team[0], leader1id, leader2id, solo); | |||
| @@ -2948,19 +2965,36 @@ function refreshTeamTotalHP(totalDom, team, teamIdx) { | |||
| tHP = Math.round(Math.round(tHP * (1 + 0.05 * teamHPAwoken)) * badgeHPScale); | |||
| tHPNoAwoken = Math.round(Math.round(tHPNoAwoken) * badgeHPScale); | |||
| const tReduceHP = tHP / (1 - reduceScale1) / (1 - reduceScale2); //队伍正常满血加上盾能承受的最大伤害 | |||
| const tReduceHP = Math.round(tHP / (1 - reduceScale1) / (1 - reduceScale2)); //队伍正常满血加上盾能承受的最大伤害 | |||
| const tReduceHPNoAwoken = Math.round(tHPNoAwoken / (1 - reduceScale1) / (1 - reduceScale2)); //队伍封觉醒满血加上盾能承受的最大伤害 | |||
| const tHpDom_general = tHpDom.querySelector(".general"); | |||
| const tHpDom_noAwoken = tHpDom.querySelector(".awoken-bind"); | |||
| const tHpDom_reduce = tHpDom.querySelector(".reduce"); | |||
| tHpDom.textContent = tHP + | |||
| ` (${tHPNoAwoken}) >> Max ${Math.round(tReduceHP)}(-${(totalReduce * 100).toFixed(2)}%)`; | |||
| setTextContentAndAttribute(tHpDom_general, tHP); | |||
| setTextContentAndAttribute(tHpDom_noAwoken, tHPNoAwoken); | |||
| setTextContentAndAttribute(tHpDom_reduce, (totalReduce * 100).toFixed(2)); | |||
| tHpDom_reduce.setAttribute("data-max-equal-general", tReduceHP); | |||
| tHpDom_reduce.setAttribute("data-max-equal-awoken-bind", tReduceHPNoAwoken); | |||
| } | |||
| if (tMoveDom) { | |||
| const moveTime = countMoveTime(team, leader1id, leader2id, teamIdx); | |||
| tMoveDom.textContent = moveTime.duration; | |||
| if (moveTime.fixed) | |||
| const tMoveDom_general = tMoveDom.querySelector(".general"); | |||
| const tMoveDom_noAwoken = tMoveDom.querySelector(".awoken-bind"); | |||
| if (moveTime.fixed) //固定时间的 | |||
| { | |||
| tMoveDom.classList.add("fixed-move-time"); | |||
| else | |||
| setTextContentAndAttribute(tMoveDom_general, moveTime.duration.leader); | |||
| setTextContentAndAttribute(tMoveDom_noAwoken, moveTime.duration.leader); | |||
| } else | |||
| { | |||
| tMoveDom.classList.remove("fixed-move-time"); | |||
| setTextContentAndAttribute(tMoveDom_general, Math.round((moveTime.duration.default + moveTime.duration.leader + moveTime.duration.badge + moveTime.duration.awoken) * 100) / 100); | |||
| setTextContentAndAttribute(tMoveDom_noAwoken, Math.round((moveTime.duration.default + moveTime.duration.leader + moveTime.duration.badge) * 100) / 100); | |||
| } | |||
| } | |||
| } | |||
| //刷新所有队伍能力值合计 | |||
| @@ -2975,8 +3009,8 @@ function refreshFormationTotalHP(totalDom, teams) { | |||
| const leader1id = teams[0][0][0].id; | |||
| const leader2id = teams[1][0][0].id; | |||
| const reduceScale1 = getReduceScale(Skills[Cards[leader1id].leaderSkillId],true); | |||
| const reduceScale2 = getReduceScale(Skills[Cards[leader2id].leaderSkillId],true); | |||
| const reduceScale1 = getReduceScale(Skills[Cards[leader1id].leaderSkillId],true,true,true); | |||
| const reduceScale2 = getReduceScale(Skills[Cards[leader2id].leaderSkillId],true,true,true); | |||
| const totalReduce = 1 - (1 - reduceScale1) * (1 - reduceScale2); | |||
| const tHPArr = teams.map(function(team) { | |||
| @@ -2997,10 +3031,18 @@ function refreshFormationTotalHP(totalDom, teams) { | |||
| const tHP = tHPArr.reduce((pv, v) => pv + v); | |||
| const tHPNoAwoken = tHPNoAwokenArr.reduce((pv, v) => pv + v); | |||
| const tReduceHP = tHP / (1 - reduceScale1) / (1 - reduceScale2); //队伍正常满血加上盾能承受的最大伤害 | |||
| const tReduceHP = Math.round(tHP / (1 - reduceScale1) / (1 - reduceScale2)); //队伍正常满血加上盾能承受的最大伤害 | |||
| const tReduceHPNoAwoken = Math.round(tHPNoAwoken / (1 - reduceScale1) / (1 - reduceScale2)); //队伍封觉醒满血加上盾能承受的最大伤害 | |||
| const tHpDom_general = tHpDom.querySelector(".general"); | |||
| const tHpDom_noAwoken = tHpDom.querySelector(".awoken-bind"); | |||
| const tHpDom_reduce = tHpDom.querySelector(".reduce"); | |||
| tHpDom.textContent = tHP.toString() + | |||
| ` (${tHPNoAwoken}) >> Max ${Math.round(tReduceHP)}(-${(totalReduce * 100).toFixed(2)}%)`; | |||
| setTextContentAndAttribute(tHpDom_general, tHP); | |||
| setTextContentAndAttribute(tHpDom_noAwoken, tHPNoAwoken); | |||
| setTextContentAndAttribute(tHpDom_reduce, (totalReduce * 100).toFixed(2)); | |||
| tHpDom_reduce.setAttribute("data-max-equal-general", tReduceHP); | |||
| tHpDom_reduce.setAttribute("data-max-equal-awoken-bind", tReduceHPNoAwoken); | |||
| } | |||
| } | |||
| //刷新单人技能CD | |||
| @@ -74,7 +74,17 @@ var formation = new Formation(teamsCount,6); | |||
| <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="17" id="team-1-badge-17"><label class="badge" data-badge-icon="17" for="team-1-badge-17"></label></li> | |||
| <li><input type="radio" name="team-1-badge" class="badge-radio" value="18" id="team-1-badge-18"><label class="badge" data-badge-icon="18" for="team-1-badge-18"></label></li> | |||
| <div class="team-total-info"><div class="tIf-total-hp"></div><div class="tIf-total-move"></div></div> | |||
| <div class="team-total-info"> | |||
| <div class="tIf-total-hp"> | |||
| <span class="general"></span> | |||
| <span class="awoken-bind"></span> | |||
| <span class="reduce"></span> | |||
| </div> | |||
| <div class="tIf-total-move"> | |||
| <span class="general"></span> | |||
| <span class="awoken-bind"></span> | |||
| </div> | |||
| </div> | |||
| </ul> | |||
| <div class="team-box-name"> | |||
| <div class="team-box"> | |||
| @@ -486,24 +486,6 @@ ul{ | |||
| width: var(--head-block-width); | |||
| height: var(--head-block-height); | |||
| } | |||
| .show-team-name-left .team-box-name::before{ | |||
| display: inline-block; | |||
| } | |||
| .show-team-name-right .team-box-name::after{ | |||
| display: inline-block; | |||
| } | |||
| .show-team-name-right .team-total-info .team-awoken, | |||
| .show-team-name-right .team-total-info>div, | |||
| .show-team-name-left .team-total-info .team-awoken, | |||
| .show-team-name-left .team-total-info>div | |||
| { | |||
| display: inline-block; | |||
| } | |||
| .show-team-name-right .team-total-info .team-awoken::before, | |||
| .show-team-name-left .team-total-info .team-awoken::before | |||
| { | |||
| display: none; | |||
| } | |||
| .reverse-member-assist .team-box-name::after, | |||
| @@ -576,11 +558,67 @@ ul{ | |||
| { | |||
| display: inline-block; | |||
| } | |||
| /* | |||
| .team-info .tIf-total-hp,.team-info .tIf-total-rcv{ | |||
| display:inline-block; | |||
| /*各种信息统计的图标*/ | |||
| .tIf-total-hp::before, | |||
| .tIf-total-move::before, | |||
| .tIf-total-hp .awoken-bind::before, | |||
| .tIf-total-move .awoken-bind::before, | |||
| .tIf-total-move.fixed-move-time::after, | |||
| .tIf-total-hp .reduce::before | |||
| { | |||
| content: " "; | |||
| background-size: cover; | |||
| display: inline-block; | |||
| width: 16px; | |||
| height: 16px; | |||
| } | |||
| */ | |||
| .tIf-total-hp .awoken-bind::before, | |||
| .tIf-total-move .awoken-bind::before | |||
| { | |||
| background-image: url(images/icon-awoken-bind.png); | |||
| } | |||
| .tIf-total-hp::before{ | |||
| background-image: url(images/icon-HP.png); | |||
| } | |||
| .tIf-total-hp .reduce::before{ | |||
| background-image: url(images/icon-reduce.png); | |||
| } | |||
| .tIf-total-hp .reduce::after{ | |||
| content: "%"; | |||
| } | |||
| .tIf-total-hp .reduce:not([data-value="0.00"])::after{ | |||
| content: "%⇔" attr(data-max-equal-general) "/" attr(data-max-equal-awoken-bind); | |||
| } | |||
| .tIf-total-move::before{ | |||
| background-image: url(images/icon-orb-move-time.png); | |||
| } | |||
| /*固定手指的情况*/ | |||
| .tIf-total-move.fixed-move-time .awoken-bind | |||
| { | |||
| display: none; | |||
| } | |||
| .tIf-total-move.fixed-move-time{ | |||
| position: relative; | |||
| } | |||
| @keyframes hidden-visible-animate{ | |||
| from { | |||
| opacity: 1; | |||
| } | |||
| to { | |||
| opacity: 0.3; | |||
| } | |||
| } | |||
| .tIf-total-move.fixed-move-time::after{ | |||
| background-image: url(images/icon-bind.png); | |||
| position: absolute; | |||
| left:0; | |||
| top:2px; | |||
| animation: hidden-visible-animate 0.5s infinite linear alternate; | |||
| } | |||
| /*队伍的潜觉*/ | |||
| .team-latents .latents{ | |||
| width: var(--head-block-width); | |||
| @@ -720,12 +758,6 @@ ul{ | |||
| display: none; | |||
| content: ""; | |||
| } | |||
| .show-team-name-left .team-ability::before{ | |||
| display: inline-block; | |||
| } | |||
| .show-team-name-right .team-ability::after{ | |||
| display: inline-block; | |||
| } | |||
| .abilitys .hp::before, | |||
| .abilitys .atk::before, | |||
| .abilitys .rcv::before | |||
| @@ -89,7 +89,17 @@ var formation = new Formation(teamsCount,6); | |||
| <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="17" id="team-1-badge-17"><label class="badge" data-badge-icon="17" for="team-1-badge-17"></label></li> | |||
| <li><input type="radio" name="team-1-badge" class="badge-radio" value="18" id="team-1-badge-18"><label class="badge" data-badge-icon="18" for="team-1-badge-18"></label></li> | |||
| <div class="team-total-info"><div class="tIf-total-hp"></div><div class="tIf-total-move"></div></div> | |||
| <div class="team-total-info"> | |||
| <div class="tIf-total-hp"> | |||
| <span class="general"></span> | |||
| <span class="awoken-bind"></span> | |||
| <span class="reduce"></span> | |||
| </div> | |||
| <div class="tIf-total-move"> | |||
| <span class="general"></span> | |||
| <span class="awoken-bind"></span> | |||
| </div> | |||
| </div> | |||
| </ul> | |||
| <div class="team-box-name"> | |||
| <div class="team-box"> | |||
| @@ -434,8 +444,18 @@ var formation = new Formation(teamsCount,6); | |||
| <li><input type="radio" name="team-2-badge" class="badge-radio" value="15" id="team-2-badge-15"><label class="badge" data-badge-icon="15" for="team-2-badge-15"></label></li> | |||
| <li><input type="radio" name="team-2-badge" class="badge-radio" value="16" id="team-2-badge-16"><label class="badge" data-badge-icon="16" for="team-2-badge-16"></label></li> | |||
| <li><input type="radio" name="team-2-badge" class="badge-radio" value="17" id="team-2-badge-17"><label class="badge" data-badge-icon="17" for="team-2-badge-17"></label></li> | |||
| <li><input type="radio" name="team-1-badge" class="badge-radio" value="18" id="team-1-badge-18"><label class="badge" data-badge-icon="18" for="team-1-badge-18"></label></li> | |||
| <div class="team-total-info"><div class="tIf-total-hp"></div><div class="tIf-total-move"></div></div> | |||
| <li><input type="radio" name="team-2-badge" class="badge-radio" value="18" id="team-2-badge-18"><label class="badge" data-badge-icon="18" for="team-2-badge-18"></label></li> | |||
| <div class="team-total-info"> | |||
| <div class="tIf-total-hp"> | |||
| <span class="general"></span> | |||
| <span class="awoken-bind"></span> | |||
| <span class="reduce"></span> | |||
| </div> | |||
| <div class="tIf-total-move"> | |||
| <span class="general"></span> | |||
| <span class="awoken-bind"></span> | |||
| </div> | |||
| </div> | |||
| </ul> | |||
| <div class="team-box-name"> | |||
| <div class="team-box"> | |||
| @@ -780,8 +800,18 @@ var formation = new Formation(teamsCount,6); | |||
| <li><input type="radio" name="team-3-badge" class="badge-radio" value="15" id="team-3-badge-15"><label class="badge" data-badge-icon="15" for="team-3-badge-15"></label></li> | |||
| <li><input type="radio" name="team-3-badge" class="badge-radio" value="16" id="team-3-badge-16"><label class="badge" data-badge-icon="16" for="team-3-badge-16"></label></li> | |||
| <li><input type="radio" name="team-3-badge" class="badge-radio" value="17" id="team-3-badge-17"><label class="badge" data-badge-icon="17" for="team-3-badge-17"></label></li> | |||
| <li><input type="radio" name="team-1-badge" class="badge-radio" value="18" id="team-1-badge-18"><label class="badge" data-badge-icon="18" for="team-1-badge-18"></label></li> | |||
| <div class="team-total-info"><div class="tIf-total-hp"></div><div class="tIf-total-move"></div></div> | |||
| <li><input type="radio" name="team-3-badge" class="badge-radio" value="18" id="team-3-badge-18"><label class="badge" data-badge-icon="18" for="team-3-badge-18"></label></li> | |||
| <div class="team-total-info"> | |||
| <div class="tIf-total-hp"> | |||
| <span class="general"></span> | |||
| <span class="awoken-bind"></span> | |||
| <span class="reduce"></span> | |||
| </div> | |||
| <div class="tIf-total-move"> | |||
| <span class="general"></span> | |||
| <span class="awoken-bind"></span> | |||
| </div> | |||
| </div> | |||
| </ul> | |||
| <div class="team-box-name"> | |||
| <div class="team-box"> | |||