import math

def load(list):
    print "Loading AI bindings"

    # binding format:
    # ( 'name of robot from .bot file', 'name of AI from script class',
    #       {'optional constructor parameter':value, 'another':value} )

    # constructor parameters:
    # nose - "front" of bot in radians (default 0)
    # invertible - can function upside-down (default False)
    # topspeed - speed in meters/second AI will attempt not to exceed (default 4.0)
    # throttle - maximum analog value AI will attempt not to exceed (default 100)
    # turnspeed - turning in radians/second AI will attempt not to exceed (default 2.5)
    # turn - maximum analog value AI will attempt not to exceed (default 60)
    # radius - bot radius to use for checking for hazards and walls (default 1.0)
    
    list.append( ("Intoxicating", "Omni", { 'radius':1.7, 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'weapons': (13, 14) }) )
    list.append( ("Tumble", "DirectionalSpinner", { 'radius':1.3, 'range' : 999, 'topspeed' : 12.0, 'throttle': 120, 'turnspeed' : 1.75, 'weapons': (16,) }) )
    list.append( ("Hammyhead", "Omni", { 'radius':1.2, 'turnspeed' : 1.0, 'invertible': True, 'topspeed' : 12.0, 'turnspeed' : 1.5, 'throttle' : 110, 'weapons': (18, 19, 20) }) )
    list.append( ("Grundor", "DirectionalSpinner", { 'radius':1.4, 'range' : 999, 'topspeed' : 12.0, 'throttle': 120, 'turnspeed' : 1.75, 'weapons': (16, 17) }) )
    list.append( ("HyPe", "Rammer", { 'invertible': True, 'nose' : math.pi, 'turnspeed' : 1.5, 'topspeed' : 12.0 }) )
    list.append( ("Krooked", "Omni", { 'radius':1.3, 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'weapons': (11,) }) )
    list.append( ("Mr. Plow", "Plow", { 'radius':1.7, 'invertible': True, 'turnspeed' : 1.5, 'topspeed' : 12.0 }) )
    list.append( ("BRUTE", "Rammer", { 'invertible': True, 'turnspeed' : 1.5, 'topspeed' : 12.0 }) )
    list.append( ("DarkBlade 3.0", "DirectionalSpinner", { 'radius':1.3, 'range' : 999, 'topspeed' : 12.0, 'throttle': 120, 'turnspeed' : 1.75, 'weapons': (16, 17, 19, 20) }) )
    list.append( ("Reknpwn", "Spinner", { 'radius':1.2, 'range' : 999, 'topspeed' : 12.0, 'throttle': 120, 'turnspeed' : 1.75, 'weapons': (16, 17, 19) }) )
    list.append( ("Fangz", "Omni", { 'radius':1.3, 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'weapons': (11,) }) )
    list.append( ("Galaxy 360", "DirectionalSpinner", { 'turnspeed' : 1.0, 'topspeed' : 12.0, 'throttle' : 120, 'range': 999, 'weapons': (7, 8, 9, 10) }) )
    list.append( ("Mrs. Plow", "Plow", { 'radius':1.5, 'invertible': True, 'turnspeed' : 1.5, 'topspeed' : 12.0 }) )
    list.append( ("Dentistric Nightmare", "DirectionalSpinner", { 'radius':1.3, 'range' : 999, 'topspeed' : 12.0, 'throttle': 120, 'turnspeed' : 1.75, 'weapons': (16, 17, 21, 30, 36, 42) }) )
    list.append( ("Sturby", "Rammer", { 'invertible': True, 'turnspeed' : 1.5, 'topspeed' : 12.0 }) )
    list.append( ("Zenon", "DirectionalSpinner", { 'turnspeed' : 1.0, 'topspeed' : 12.0, 'nose': math.pi / 2, 'throttle' : 120, 'range': 999, 'weapons': (7, 8, 9) }) )
    
    list.append( ("T.A.N.K", "Omni", { 'radius':1.7, 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'weapons': (11, 12, 13, 14) }) )
    list.append( ("Krooked Unleashed", "Omni", { 'radius':1.6, 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'weapons': (11, 12) }) )
    list.append( ("SomeRandomPrism", "Spinner", { 'radius':1.3, 'range' : 999, 'nose': -math.pi / 2, 'topspeed' : 12.0, 'throttle': 120, 'turnspeed' : 1.75, 'weapons': (16, 17, 19) }) )
    list.append( ("SomeRandomBox", "Rammer", { 'invertible': True, 'nose': -math.pi / 2, 'turnspeed' : 1.25, 'topspeed' : 12.0 }) )
    list.append( ("Delta", "DirectionalSpinner", { 'turnspeed' : 1.0, 'topspeed' : 12.0, 'throttle' : 120, 'range': 999, 'weapons': (7, 8, 9, 10) }) )
    list.append( ("OmniBluE", "Omni", { 'radius':1.6, 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'weapons': (11, 12, 13) }) )
    list.append( ("i-Flip", "Omni", { 'radius':1.2, 'topspeed' : 11.0, 'turnspeed' : 1.2, 'throttle' : 106, 'weapons': (12, 13, 19, 21) }) )
    list.append( ("Filmore.", "FBSpinner", { 'nose': -math.pi / 2, 'topspeed' : 12.0 , 'turnspeed' : 1.25 , 'range' : 350, 'throttle' : 130, 'weapons': (11, 12) }) )
    list.append( ("Plow Jr.", "Plow", { 'radius':1.3, 'invertible': True, 'turnspeed' : 1.5, 'topspeed' : 12.0 }) )
    list.append( ("No Bot Found", "Rammer", {'radius':1.2, 'turnspeed' : 1.5, 'topspeed' : 12.0 }) )
    list.append( ("Xiophoria", "DirectionalSpinner", { 'turnspeed' : 1.0, 'nose' : -math.pi / 3, 'topspeed' : 12.0, 'throttle' : 120, 'range': 20.0, 'weapons': (7, 8) }) )
    list.append( ("Blue Locust", "Omni", { 'radius':1.5, 'topspeed' : 11.0, 'turnspeed' : 1.2, 'throttle' : 104, 'weapons': (11, 12) }) )
    list.append( ("Ramses", "Omni", { 'radius':1.2, 'topspeed' : 11.0, 'turnspeed' : 1.2, 'throttle' : 104, 'weapons': (11, 12, 13, 14) }) )
    list.append( ("i-Spin", "DirectionalSpinner", { 'radius':1.3, 'range' : 999, 'topspeed' : 12.0, 'throttle': 120, 'turnspeed' : 1.75, 'weapons': (16, 17, 21) }) )
    list.append( ("DeToUr", "Omni", { 'radius':1.5, 'topspeed' : 11.0, 'turnspeed' : 1.2, 'throttle' : 104, 'weapons': (11, 12) }) )
    list.append( ("RammingSpeed!", "Rammer", { 'invertible': True, 'turnspeed' : 1.5, 'topspeed' : 12.0 }) )
    list.append( ("Jawz", "Omni", { 'radius':1.6, 'topspeed' : 12.0, 'invertible': True, 'turnspeed' : 1.2, 'throttle' : 110, 'weapons': (11, 12) }) )
    list.append( ("Krooked 2", "Omni", { 'radius':1.4, 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'weapons': (11, 12) }) )
    list.append( ("Clawz", "Omni", { 'radius':1.4, 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'weapons': (11,) }) )
    list.append( ("Floormaster", "DirectionalSpinner", { 'radius':1.6, 'range' : 999, 'topspeed' : 12.0, 'throttle': 106, 'turnspeed' : 1.75, 'weapons': (16, 17, 19, 20) }) )
    list.append( ("l3eta", "Flipper", { 'radius':1.1, 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'weapons': (11,) }) )
    list.append( ("Cheshire Cat", "Omni", { 'radius':1.5, 'nose': math.pi , 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'weapons': (11, 12) }) )
    list.append( ("Gamma", "Rammer", { 'invertible': True, 'turnspeed' : 1.5, 'topspeed' : 12.0 }) )
    list.append( ("Oceanic Crush", "Omni", { 'radius':1.7, 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'weapons': (15, 17) }) )
    list.append( ("Blaze...", "Omni", { 'radius':1.7, 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'weapons': (11, 12) }) )
    list.append( ("i-Score", "DirectionalSpinner", { 'nose' : math.pi, 'radius':1.6, 'range' : 999, 'topspeed' : 12.0, 'throttle': 120, 'turnspeed' : 1.75, 'weapons': (16, 17, 19, 20, 25, 29) }) )
    list.append( ("TackyBot", "DirectionalSpinner", { 'radius':1.3, 'range' : 999, 'topspeed' : 12.0, 'throttle': 120, 'turnspeed' : 1.75, 'weapons': (16, 17, 21) }) )
    list.append( ("The Impossabler", "DirectionalSpinner", { 'radius':2, 'turnspeed' : 1.25, 'nose' : math.pi, 'invertible': True, 'topspeed' : 12.0, 'throttle' : 110, 'range' : 999, 'weapons': (4, 7, 8) }) )
    list.append( ("Sky Knockers", "DirectionalSpinner", { 'radius':1.4, 'range' : 999, 'topspeed' : 8.0, 'throttle': 120, 'turnspeed' : 1.75, 'weapons': (16, 17, 21) }) )
    list.append( ("OmniReD", "DirectionalSpinner", { 'radius':1.7, 'topspeed' : 12.0, 'turnspeed' : 1.4, 'throttle' : 110, 'range' : 999, 'weapons': (11, 12, 13) }) )