# Home positions
(define (definer "HomePt5" (pt 10 -17)))
(define (definer "HomePt6" (pt 20 0)))
(define (definer "HomePt7" (pt 10 17)))
(define (definer "HomePt2" (pt -10 17)))
(define (definer "HomePt3" (pt -20 0)))
# Yes this is supposed to be different. It put player 4 near the middle of an
# mdp region
#(define (definer "HomePt4" (pt -15 -17)))
# SMURF: this is a (maybe) tmp hack to position the player at a
# different location: this is the top right corner of the box
#(define (definer "HomePt4" (pt -21.2 -23)))
# now just a little bit inside
(define (definer "HomePt4" (pt -19 -21)))
(define (definerule SetHome2 direc ( (true) (do our {2} (home "HomePt2") (pos "HomePt2")))))
(define (definerule SetHome3 direc ( (true) (do our {3} (home "HomePt3") (pos "HomePt3")))))
(define (definerule SetHome4 direc ( (true) (do our {4} (home "HomePt4") (pos "HomePt4")))))
(define (definerule SetHome5 direc ( (true) (do our {5} (home "HomePt5") (pos "HomePt5")))))
(define (definerule SetHome6 direc ( (true) (do our {6} (home "HomePt6") (pos "HomePt6")))))
(define (definerule SetHome7 direc ( (true) (do our {7} (home "HomePt7") (pos "HomePt7")))))

(rule (on (SetHome2 SetHome3 SetHome4 SetHome5 SetHome6 SetHome7)))

# 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)))

# Pass in a circle
#(define (definerule Pass23 direc ( (true) (do our {2} (pass {3})))))
#(define (definerule Pass34 direc ( (true) (do our {3} (pass {4})))))
#(define (definerule Pass45 direc ( (true) (do our {4} (pass {5})))))
#(define (definerule Pass56 direc ( (true) (do our {5} (pass {6})))))
#(define (definerule Pass67 direc ( (true) (do our {6} (pass {7})))))
#(define (definerule Pass72 direc ( (true) (do our {7} (pass {2})))))
#(rule (on (Pass23 Pass34 Pass45 Pass56 Pass67 Pass72)))

# The goalie doesn't like to get the ball when we back pass, so we'll hack
# in a rule telling a player to back up and get it
(define (definer "BackUpRegion" (rec (pt -52.5 -34) (pt -32 34))))
(define (definerule GetBackBall direc ( (bpos "BackUpRegion") (do our {6} (intercept) (pos (pt ball))))))
(rule (on GetBackBall))

# SMURF: tmp, everyone
#(define (definerule HoldBall direc ( (true) (do our {0} (hold)))))
#(rule (on HoldBall))