加入英雄学院徽章的血量计算

This commit is contained in:
枫谷剑仙 2024-03-14 19:35:37 +08:00
parent 6a2a6d9873
commit 604cd0d34a
5 changed files with 20 additions and 16 deletions

View File

@ -135,7 +135,7 @@ window.onload = function()
const btn = document.querySelector("#get");
get.onclick = function(){
let mid = parseInt(iptID.value,10);
if (mid>=9900)mid+=100
if (mid>=9900 && mid < 1e5)mid+=100
g(mid);
}
}

View File

@ -7184,18 +7184,22 @@ function refreshTeamTotalHP(totalDom, team, teamIdx) {
const isJa = currentDataSource.code === "ja";
const badgeHPScale = teamsCount == 2 ? 1 : (badge=>{ //徽章倍率
function getBadgeHPScale(badge, member) {
if (teamsCount == 2) return 1;
switch (badge) {
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++ 辅助无效
case 24: return member.card.collabId === 92 ? 1.15 : 1; //英雄学院徽章
default: return 1;
}
})(badge);
}
//由于JS的小数和强类型语言不完全一致+1e-12后再做四舍五入会更准确符合游戏内数字
let tHP = teamHPArr.reduce((pv, v) => pv + Math.round(v * teamHPAwokenScale * badgeHPScale + 1e-12), 0); //队伍计算的总HP
let tHPNoAwoken = teamHPNoAwokenArr.reduce((pv, v) => pv + Math.round(v * badgeHPScale + 1e-12), 0); //队伍计算的总HP无觉醒
let tHP = teamHPArr.reduce((pv, v, idx) => pv + Math.round(v * teamHPAwokenScale * getBadgeHPScale(badge, members[idx]) + 1e-12), 0); //队伍计算的总HP
let tHPNoAwoken = teamHPNoAwokenArr.reduce((pv, v, idx) => pv + Math.round(v * getBadgeHPScale(badge, members[idx]) + 1e-12), 0); //队伍计算的总HP无觉醒
//记录到bar中方便打开详情时调用
hpBar.reduceAttrRangesWithShieldAwoken = reduceAttrRangesWithShieldAwoken; //有盾觉醒的

View File

@ -24367,11 +24367,11 @@ const cachesMap = new Map([
],
[
"script.js",
"70ca0c75227f82e98a4bc6518f79e3e6"
"7332b75b6c628ee7f68acd12e287aff9"
],
[
"solo.html",
"10e0b6025184d59b7db8250f890be6a6"
"a431904642ad898389c0f6e7acab8cc3"
],
[
"style-monsterimages.css",
@ -24387,7 +24387,7 @@ const cachesMap = new Map([
],
[
"triple.html",
"e79b1f43804eb36e625a68a132308d43"
"ffc4781b117543813ce622de2032b82a"
],
[
"languages/en.css",

View File

@ -79,6 +79,8 @@ const teamsCount = 1;
<ul class="team-badge">
<li><input type="radio" name="team-1-badge" class="badge-radio" value="1" id="team-1-badge-1" checked><label class="badge" data-badge-icon="1" for="team-1-badge-1"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="129" id="team-1-badge-129"><label class="badge" data-badge-icon="129" for="team-1-badge-129"></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="2" id="team-1-badge-2"><label class="badge" data-badge-icon="2" for="team-1-badge-2"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="3" id="team-1-badge-3"><label class="badge" data-badge-icon="3" for="team-1-badge-3"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="4" id="team-1-badge-4"><label class="badge" data-badge-icon="4" for="team-1-badge-4"></label></li>
@ -97,8 +99,6 @@ 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="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">

View File

@ -90,6 +90,8 @@ const teamsCount = 3;
<ul class="team-badge">
<li><input type="radio" name="team-1-badge" class="badge-radio" value="1" id="team-1-badge-1" checked><label class="badge" data-badge-icon="1" for="team-1-badge-1"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="129" id="team-1-badge-129"><label class="badge" data-badge-icon="129" for="team-1-badge-129"></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="2" id="team-1-badge-2"><label class="badge" data-badge-icon="2" for="team-1-badge-2"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="3" id="team-1-badge-3"><label class="badge" data-badge-icon="3" for="team-1-badge-3"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="4" id="team-1-badge-4"><label class="badge" data-badge-icon="4" for="team-1-badge-4"></label></li>
@ -108,8 +110,6 @@ 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="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">
@ -580,6 +580,8 @@ const teamsCount = 3;
<ul class="team-badge">
<li><input type="radio" name="team-1-badge" class="badge-radio" value="1" id="team-1-badge-1" checked><label class="badge" data-badge-icon="1" for="team-1-badge-1"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="129" id="team-1-badge-129"><label class="badge" data-badge-icon="129" for="team-1-badge-129"></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="2" id="team-1-badge-2"><label class="badge" data-badge-icon="2" for="team-1-badge-2"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="3" id="team-1-badge-3"><label class="badge" data-badge-icon="3" for="team-1-badge-3"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="4" id="team-1-badge-4"><label class="badge" data-badge-icon="4" for="team-1-badge-4"></label></li>
@ -598,8 +600,6 @@ 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="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">
@ -1070,6 +1070,8 @@ const teamsCount = 3;
<ul class="team-badge">
<li><input type="radio" name="team-1-badge" class="badge-radio" value="1" id="team-1-badge-1" checked><label class="badge" data-badge-icon="1" for="team-1-badge-1"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="129" id="team-1-badge-129"><label class="badge" data-badge-icon="129" for="team-1-badge-129"></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="2" id="team-1-badge-2"><label class="badge" data-badge-icon="2" for="team-1-badge-2"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="3" id="team-1-badge-3"><label class="badge" data-badge-icon="3" for="team-1-badge-3"></label></li>
<li><input type="radio" name="team-1-badge" class="badge-radio" value="4" id="team-1-badge-4"><label class="badge" data-badge-icon="4" for="team-1-badge-4"></label></li>
@ -1088,8 +1090,6 @@ 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="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">