diff --git a/arena.go b/arena.go index 1474806..01fec2c 100644 --- a/arena.go +++ b/arena.go @@ -377,6 +377,10 @@ func (arena *Arena) ResetMatch() error { arena.AllianceStations["B1"].Bypass = false arena.AllianceStations["B2"].Bypass = false arena.AllianceStations["B3"].Bypass = false + arena.lights.ClearGoal("red") + arena.lights.ClearGoal("blue") + arena.lights.ClearPedestal("red") + arena.lights.ClearPedestal("blue") return nil } @@ -535,7 +539,11 @@ func (arena *Arena) handleLighting(alliance string, score *RealtimeScore) { } arena.lights.SetAssistGoal(alliance, score.CurrentCycle.Assists) case POST_MATCH: - arena.lights.ClearGoal(alliance) - arena.lights.ClearPedestal(alliance) + if mainArena.redRealtimeScore.FoulsCommitted && mainArena.blueRealtimeScore.FoulsCommitted { + arena.lights.SetFieldReset() + } else { + arena.lights.ClearGoal(alliance) + arena.lights.ClearPedestal(alliance) + } } } diff --git a/lights.go b/lights.go index 41a7e69..abb25a5 100644 --- a/lights.go +++ b/lights.go @@ -185,6 +185,12 @@ func (lights *Lights) ClearPedestal(alliance string) { lights.sendLights() } +func (lights *Lights) SetFieldReset() { + lights.packets["red"].setAllColor("green") + lights.packets["blue"].setAllColor("green") + lights.sendLights() +} + func (lights *Lights) SetMode(mode string) { lights.currentMode = mode lights.animationCount = 0