Planer: Durchschnittliche MaxHP (ohne Tanks) neben unmitigiertem Schaden anzeigen
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
5dc61754f2
commit
19922d79aa
@ -279,6 +279,11 @@
|
||||
font-size: 13px;
|
||||
color: var(--t2);
|
||||
}
|
||||
.mechanic-avg-hp {
|
||||
font-size: 12px;
|
||||
color: var(--t3);
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
.mechanic-assignments {
|
||||
display: flex;
|
||||
|
||||
@ -355,6 +355,17 @@ function renderPlanDetail(plan) {
|
||||
renderInfoPanel(plan);
|
||||
}
|
||||
|
||||
function avgNonTankMaxHp(plan) {
|
||||
const roster = plan.playerRoster ?? [];
|
||||
const jobComp = plan.jobComposition ?? [];
|
||||
const hps = jobComp
|
||||
.map((job, i) => ({ job, maxHp: roster[i]?.maxHp ?? 0 }))
|
||||
.filter(p => p.job && JOB_ROLE[p.job] !== 'tank' && p.maxHp > 0)
|
||||
.map(p => p.maxHp);
|
||||
if (!hps.length) return 0;
|
||||
return Math.round(hps.reduce((s, v) => s + v, 0) / hps.length);
|
||||
}
|
||||
|
||||
function renderMechanicListHtml(plan) {
|
||||
if (plan.mechanics.length === 0) {
|
||||
return `
|
||||
@ -369,6 +380,7 @@ function renderMechanicListHtml(plan) {
|
||||
}
|
||||
|
||||
const activeJobSet = new Set(plan.jobComposition.filter(j => j));
|
||||
const avgHp = avgNonTankMaxHp(plan);
|
||||
|
||||
return plan.mechanics.map(m => {
|
||||
const sorted = sortedAssignments(m.assignments);
|
||||
@ -408,7 +420,7 @@ function renderMechanicListHtml(plan) {
|
||||
${m.phase ? `<div class="mechanic-phase">${escHtml(m.phase)}</div>` : ''}
|
||||
<div class="mechanic-name">${escHtml(m.name)}</div>
|
||||
${m.unmitigatedDamage
|
||||
? `<div class="mechanic-dmg">${fmtNumber(m.unmitigatedDamage)} unmitigiert</div>`
|
||||
? `<div class="mechanic-dmg">${fmtNumber(m.unmitigatedDamage)} unmitigiert${avgHp ? ` <span class="mechanic-avg-hp">∅ ${fmtNumber(avgHp)} HP</span>` : ''}</div>`
|
||||
: ''
|
||||
}
|
||||
<div class="mechanic-assignments">${assignHtml}</div>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user