поправлен баланс с удалениями у двух команд

This commit is contained in:
2026-08-20 13:56:44 +03:00
parent d90c4500ad
commit 559888cc0c
2 changed files with 37 additions and 1 deletions

View File

@@ -11132,8 +11132,20 @@ function renderHockeyPenaltyDashboard(node, component, runtime) {
{ render }
);
hockeyBackupPlayerSelectionValues(gameId, payload?.values || {});
if (!previousControl || hockeyStrengthMappingSignature(previousControl) !== hockeyStrengthMappingSignature(payload)) {
const strengthChanged = !previousControl
|| hockeyStrengthMappingSignature(previousControl) !== hockeyStrengthMappingSignature(payload);
if (strengthChanged) {
hockeyRefreshVmixMappingForStrength(gameId, previousControl, payload).catch(() => {});
// BUILD87: penalty routing depends on the recalculated numerical strength.
// The local penalty editor can rebalance a few milliseconds before the
// timer save response arrives, while state.data still contains the old
// 4x4/5x5 strength. Re-run the routing as soon as the authoritative
// control payload is stored so 2 penalties vs 1 immediately becomes
// 3x4/4x3 and the plate moves to the team with the advantage.
if (state.activeHockeyVmixTimerSteps.size) {
rebalanceVmixPenaltyTargets({ force: true, hideUnused: true })
.catch((error) => console.error("Penalty strength rebalance error", error));
}
}
if (previousControl && hockeyTeamStateFlagSignature(previousControl) !== hockeyTeamStateFlagSignature(payload) && hockeyTeamStateScoreboardIsLive()) {
hockeySyncTeamStateOverlays({ force: true }).catch((error) => console.error("vMix team-state overlay sync error", error));