From 2a3dc417246b5a57ab35edc1f32e5ed329d9479e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 24 Jan 2026 16:47:02 +0000 Subject: [PATCH 1/2] Initial plan From 320fa6ce0de14b5d6150187bb2020aed4680d295 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 24 Jan 2026 16:49:04 +0000 Subject: [PATCH 2/2] Fix: handle cases with more than 3 friendly robots in goalkeep Co-authored-by: NingchuanIC <212761386+NingchuanIC@users.noreply.github.com> --- utama_core/skills/src/goalkeep.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utama_core/skills/src/goalkeep.py b/utama_core/skills/src/goalkeep.py index 36d6a606..65f692d2 100644 --- a/utama_core/skills/src/goalkeep.py +++ b/utama_core/skills/src/goalkeep.py @@ -47,7 +47,7 @@ def intersection_with_vertical_line(a, b, x_line=4.5): except (IndexError, KeyError): # If robot with ID 1 is not available, keep default stop_y pass - if len(game.friendly_robots) == 3: + elif len(game.friendly_robots) >= 3: try: _, yy1 = intersection_with_vertical_line( (game.ball.p.x, game.ball.p.y), (game.friendly_robots[1].p.x, game.friendly_robots[1].p.y + 0.1)