# A BattleSport enemy AI file
# Designed by Kerry Moffitt  9 March, 1995
# ----------------------------------------

# All ranges are specified with no fractional value.
# As of today (3/9/95), the arena size is 3328 x 3328.
# specify filenames of individual AI's as
#   aiX
# where X is the identification tag of the enemy.

# For now (3/10/95), we have three AI's - one for each tank.
#
# They are:  ai65 (drives the Hunter), 
#            ai67 (drives the Dyales "Stalker"), and 
#            ai69 (drives the Siemens "Bruiser")

# All parameters with the 'Freq' suffix should be within the range [0, 100].
# 'Freq's are evaluated EVERY FRAME a good range obtains.

# All 'Param's and 'Delay's are in clicks (frames).


laserRangeX 40      # How tightly must we have enemy in sights ta fire lasers?
laserRangeZ 400     # How far away must enemy be before we stop firing lasers?
goalRangeX 25       # How tightly must we have the goal in sights ta set up/take a shot?
goalRangeZ 1500     # How far away must the goal be before it's out of range?
jumpRangeX 150      # How tightly must we have an enemy missile in sights ta jump?
jumpRangeZ 150      # How close should we let an enemy missile get before jumping?
retreatRangeX 100   # How tightly must we have an enemy in sights ta retreat?
retreatRangeZ 50    # How close should the enemy be before we retreat?
missileRangeX 170   # How tightly must we have an enemy in sights ta fire a missile?
missileRangeZ 2400  # How close should the enemy be before we fire a missile?
laserFreq 25        # What percent of the time should we fire lasers (given good range)?
goalSetupFreq 70    # What percent of the time should we set up for a shot (given good range)?
goalFreq 70         # What percent of the time should we take a shot (given good range)?
retreatFreq 50      # What percent of the time should we retreat (given good range)?
missileFreq 9       # What percent of the time should we fire a missile (given good range)?
sideStepFreq 50     # What percent of the time should we move left/right?     
jumpFreq 25         # What percent of the time should we jump (given good range)?
moveParam 90        # What percent of the time should we actually move intelligently?
updateParam 10      # How often should we update the direction in which we're moving?
laserParam 30       # How long should we hold down 'A' when we decide ta fire lasers?
retreatParam 10     # How long should we retreat?
shotDelay 35        # How much time ta set up a shot (stop moving & line up shot)?
fireDelay 9         # How long should we wait between missile launches?
shootV 200          # Minimum velocity on setting up shot (if below, shoot!)
unstickTaps 3       # How many double-taps when stuck?
viewDelay 3         # How many frames between view updates (0 => best-informed AI)
vendettaFreq 30     # How likely are we to refrain from going for the ball and just kill?
boredKillFreq 50    # How likely are we to go for kill when nothing better to do?
rotateParam 3       # How often should we update the direction in which we're rotating?
foreBackFreq 65     # What percent of the time should we move up/down?

# the following parameters were added by Eddie Ruvinsky, starting 7/7/95
jumpInterceptGoal 2000 #How close the enemy should be when he shoots a goal, to intercept the ball
guardParam 50 #What percent of the time should we have the strategy to stick around the goal when the player has the ball
midpointParam 50 #What percent of the time should we have the strategy to stay between the player with ball and the basket
dodgeMissileParam 15 #What percent of the time should we try to dodge missiles when using a goal defense strategy (above)
quickShotParam 5 #What percent of the time should we try to quickly charge and shoot at the goal? (CURRENTLY NOT USED)
jumpDefenseZ 300 #What far away are we to be from the opponent to jump simultaneously with the opponent?
intuitInviso 4 #intuition for Invisibility powerup (need to get it)