# Home positions
(define (definerule SetHome2 direc ( (true) (do our {2} (home (pt -30 0))) ) ))
(define (definerule SetHome3 direc ( (true) (do our {3} (home (pt -30 35))) ) ))

(rule (on (SetHome2 SetHome3)))

# Before kick off positioning
(define (definerule BKO2 direc ( (playm bko) (do our {2} (pos (pt -30 0))) ) ))
(define (definerule BKO3 direc ( (playm bko) (do our {3} (pos (pt -30 35))) ) ))

(rule (on (BKO2 BKO3)))

# Shoot when near the goal
(define (definer "NearGoalReg" (arc (pt 52.5 0) 0 25 0 360)))
(define (definerule ShootNearGoal direc ( (bpos "NearGoalReg") (do our {0} (shoot)) ) ))

(rule (on (ShootNearGoal)))

# When Behind the ball, get in front of it
#(define (definer "BehindBallReg" (reg (rec (pt -1000 -1000) (pt ball)) (rec (pt -1000 1000) (pt ball)))))
(define (definer "BehindBallReg" (rec (pt -60 -60) ((pt ball)+(pt 20 100)))))
# should just move the player directly up the field
(define (definer "ForwardPosTarget2" (((pt ball)*(pt 1 0))+(pt 10 0))))
(define (definer "ForwardPosTarget3" (((pt ball)*(pt 1 0))+(pt 10 25))))

(define (definerule BehindBall2 direc ( (ppos our {2} 1 1 "BehindBallReg") (do our {2} (pos "ForwardPosTarget2")))))
(define (definerule BehindBall3 direc ( (ppos our {3} 1 1 "BehindBallReg") (do our {3} (pos "ForwardPosTarget3")))))
#(define (definerule BehindBall2 direc ( (true) (do our {2} (pos "ForwardPosTarget2")))))
#(define (definerule BehindBall3 direc ( (true) (do our {3} (pos "ForwardPosTarget3")))))

(rule (on (BehindBall2 BehindBall3)))

# Now, tell the players to only pass, not dribble
(define (definec "PassCond2" (bowner our {2})) (definec "PassCond3" (bowner our {3})))
(define (definerule Pass2 direc ( "PassCond2" (do our {2} (pass {3})) )) (definerule Pass3 direc ( "PassCond3" (do our {3} (pass {2})) )))

(rule (on (Pass2 Pass3)))