;; level 2
(define ai:fca-02-endloop
  '((writes nil "Looping\n")

    (ai:force 1 (ai:soldier) 2)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1000)
	(ai:script ai:fca-02-endloop) ))

(define-ai 'fca-02 "*" "fca-02"
  '(
    ;;	Define the main AI script.
    (begin (ai:debug #t) (ai:sleep (ai:get-sleep-cycles)))
    (ai:sleep 5000)
    (ai:force 1 (ai:soldier) 1)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1200)
    (ai:force 1 (ai:soldier) 1)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 2000)
    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1500)
    (ai:force 1 (ai:soldier) 2 (ai:shooter) 0)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1000)
    (ai:force 1 (ai:soldier) 2)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1000)
    (ai:script ai:fca-02-endloop) ))


;; level 3
(define ai:fca-03-endloop
  '((writes nil "Looping\n")

    (ai:force 1 (ai:soldier) 2)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1000)
	(ai:script ai:fca-03-endloop) ))

(define-ai 'fca-03 "*" "fca-03"
  '(
    ;;	Define the main AI script.
    (begin (ai:debug #t) (ai:sleep (ai:get-sleep-cycles)))
    (ai:sleep 3000)
    (ai:force 1 (ai:soldier) 1)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1000)
    (ai:force 1 (ai:soldier) 1)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1000)
    (ai:force 1 (ai:soldier) 1 (ai:shooter) 1)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1000)
    (ai:force 1 (ai:soldier) 2 (ai:shooter) 0)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1000)
    (ai:force 1 (ai:soldier) 2)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1000)
    (ai:script ai:fca-03-endloop) ))


;; level 4
(define-ai 'fca-04-red "*" "fca-04-red"
  '(
    (begin (ai:debug #t) (ai:sleep (ai:get-sleep-cycles)))
    (ai:need (unit-type (ai:city-center)))
    (ai:set  (ai:worker) 1)
    (ai:wait (ai:city-center))
    (ai:wait (ai:worker))
    (ai:set  (ai:worker) 10)
    (ai:need (ai:barracks))
    (ai:need (ai:harbor))
    (ai:force 1 (ai:soldier) 1)
    (ai:force 0 (ai:shooter) 1)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:set (ai:tanker) 1)
    (ai:wait (ai:tanker))
    (ai:need (ai:platform))
    (ai:set (ai:tanker) 2)
    (ai:sleep 1000)
    (ai:force 0 (ai:soldier) 1 (ai:shooter) 1)
    (ai:force 1 (ai:soldier) 2)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1000)
    (ai:force 0 (ai:soldier) 3 (ai:shooter) 1)
    (ai:force 1 (ai:soldier) 0 (ai:destroyer) 1)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 500)
    (ai:force 1 (ai:soldier) 2 (ai:destroyer) 0)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1000)
    (ai:force 1 (ai:soldier) 5 (ai:shooter) 3 (ai:destroyer) 1)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:force 1 (ai:soldier) 7 (ai:shooter) 5 (ai:destroyer) 3)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
))

(define-ai 'fca-04-green-ai "*" "fca-04-green"
  '(
    (begin (ai:debug #t) (ai:sleep (ai:get-sleep-cycles)))
    (ai:need (unit-type (ai:city-center)))
    (ai:set  (ai:worker) 1)
    (ai:wait (ai:city-center))
    (ai:wait (ai:worker))
    (ai:set  (ai:worker) 10)
    (ai:set (ai:tanker) 1)
    (ai:wait (ai:tanker))
    (ai:need (ai:platform))
    (ai:set (ai:tanker) 3)
    (ai:need (ai:harbor))
    (ai:need (ai:barracks))
    (ai:force 1 (ai:destroyer) 1)
    (ai:force 0 (ai:soldier) 2)
    (ai:sleep 1400)
    (ai:set (ai:harbor) 2)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:force 0 (ai:soldier) 3 (ai:shooter) 2 (ai:destroyer) 1)
    (ai:force 1 (ai:destroyer) 1)
    (ai:wait-force 1)
    (ai:sleep 400)
    (ai:attack-with-force 1)
    (ai:sleep 800)
    (ai:force 0 (ai:soldier) 0 (ai:shooter) 0 (ai:destroyer) 1)
    (ai:force 1 (ai:destroyer) 1)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1400)
    (ai:force 0 (ai:shooter) 2 (ai:destroyer) 0)
    (ai:force 1 (ai:destroyer) 2)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1400)
    (ai:force 1 (ai:destroyer) 2)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
    (ai:sleep 1400)
    (ai:force 1 (ai:destroyer) 7)
    (ai:wait-force 1)
    (ai:attack-with-force 1)
))

