重新调整队伍血量算法,应该是队长倍率和队伍觉醒、徽章倍率,都要放在一起做四舍五入后才相加,而不是相加后再四舍五入

This commit is contained in:
枫谷剑仙 2024-02-29 01:58:32 +08:00
parent 606a5d3876
commit 4ae7be357a
3 changed files with 9 additions and 9 deletions

View File

@ -1233,7 +1233,7 @@ function countTeamHp(team, leader1id, leader2id, solo, noAwoken = false) {
//演示用代码
//console.log("%s 第1次倍率血量%s第2次倍率血量%s",Cards[m.id].otLangName["chs"],hp1,hp2);
mHpArr.push(Math.round(mulHP));
mHpArr.push(mulHP);
}
//console.log('单个队伍血量:',mHpArr,mHpArr.reduce((p,c)=>p+c));

View File

@ -6689,9 +6689,9 @@ function refreshTeamTotalHP(totalDom, team, teamIdx) {
case 20: return 1.10; //全属性
}
})(badge);
let tHP = Math.round(teamHPArr.reduce((pv, v) => pv + v * teamHPAwokenScale * badgeHPScale, 0)); //队伍计算的总HP
let tHPNoAwoken = Math.round(teamHPNoAwokenArr.reduce((pv, v) => pv + v * badgeHPScale, 0)); //队伍计算的总HP无觉醒
//由于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无觉醒
//记录到bar中方便打开详情时调用
hpBar.reduceAttrRangesWithShieldAwoken = reduceAttrRangesWithShieldAwoken; //有盾觉醒的
@ -6844,15 +6844,15 @@ function refreshFormationTotalHP(totalDom, teams) {
const totalReduce = leastScale.scale;
const tHPArr = teams.map(function(team) {
const tHPArr = teams.map(team=>{
const teamHPArr = countTeamHp(team, leader1id, leader2id, solo);
const teamHPAwoken = awokenCountInTeam(team, 46, solo, teamsCount), teamHPAwokenScale = (1 + 0.05 * teamHPAwoken); //全队大血包个数
const teamTHP = Math.round(teamHPArr.reduce((pv, v) => pv + v * teamHPAwokenScale)); //队伍计算的总HP
const teamTHP = teamHPArr.reduce((pv, v) => pv + Math.round(v * teamHPAwokenScale + 1e-12)); //队伍计算的总HP
return teamTHP;
});
const tHPNoAwokenArr = teams.map(function(team) {
const tHPNoAwokenArr = teams.map(team=>{
const teamHPArr = countTeamHp(team, leader1id, leader2id, solo, true);
const teamTHP = teamHPArr.reduce((pv, v) => pv + v); //队伍计算的总HP

View File

@ -23199,11 +23199,11 @@ const cachesMap = new Map([
],
[
"script-universal_function.js",
"53b5e9b772192173f139fd58be42eaa8"
"a6bab2bfddb9c42a06ef821959773b71"
],
[
"script.js",
"97bc738e6401a40c01f3f5497858d384"
"e48bb870d44c7ced25302d1cb8154d41"
],
[
"solo.html",