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)
    
#Team 0
    list.append(("LW - Hammer Time", "Omni", {'range':99, 'topspeed': 99.0, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Hokey Pokey", "Omni", {'invertible':True, 'range':99, 'topspeed': 99.0, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Beer Goggles", "Omni", {'invertible':True, 'range':99, 'topspeed': 99.0, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Disco Light","LaserGuidedV2",{'nose':math.pi*2,'invertible':True,'range':50,'radius':1,'topspeed':100,'throttle':130,'turn':100,'turnspeed':2.5,'servospeed':100,'delta':0.2,'servorange':3.5,'servonose':-1,'weapons':(0,)}))
    list.append(("HW - House of Stars", "VertSpinner",{'invertible':True,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':60,'turnspeed':3,'TrollDanceZone':1,'weapons':(0,),'sweapons':(0,)}))
    list.append(("MW - Pizza Party!", "Rammer", {'nose':math.pi,'invertible':True, 'topspeed': 99.0, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
#Team 1
    list.append(("LW - Discord", "Omni", {'invertible':True, 'topspeed': 99.0, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Vandal", "Flipper", {'nose':math.pi*2,'radius':0.1,'topspeed':100,'throttle':100,'turn':30,'turnspeed':3,'weapons':(0,)}))
    list.append(("HW - Raythe", "Omni", {'invertible':True, 'range':99, 'topspeed': 99.0, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("LW - Entropy", "Omni", {'invertible':True, 'topspeed': 99.0, 'throttle': 50, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Serenity", "Flipper", {'nose':math.pi*2,'radius':0.1,'topspeed':100,'throttle':100,'turn':30,'turnspeed':3,'weapons':(0,)}))
    list.append(("MW - Absolver", "Flipper", {'invertible':True, 'nose':math.pi*2,'radius':0.1,'topspeed':100,'throttle':100,'turn':30,'turnspeed':3,'weapons':(0,)}))
#Team 2
    list.append(("LW - Deathstalker", "Omni", {'invertible':True, 'topspeed': 99.0, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Fat Tail", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':2, 'weapons': (0,) }))
    list.append(("HW - Emperor", "Omni", {'range':99, 'topspeed': 99.0, 'throttle': 100, 'turn':30, 'turnspeed':2, 'weapons': (0,) }))
    list.append(("AW - Whiptail", "FBSInvertDir",{'nose':0,'spinspeed':10,'direction':-1,'tickFactor':10, 'invertible':True,'range':99,'radius':0.1,'topspeed':99,'throttle':130,'turn':100,'turnspeed':99,'weapons':(0,)}))
    list.append(("MW - Rico Rodriguez", "Popup",{'nose':math.pi*2,'radius':0.1,'topspeed':100,'throttle':130,'turn':30,'turnspeed':3,'weapons':(0,)}))
    list.append(("HW - Silverfish", "Omni", {'invertible':True, 'topspeed': 99.0, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
#Team 3
    list.append(("LW - Rakto", "Omni", {'invertible':True, 'topspeed': 99.0, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Tojo", "Omni", {'invertible':True, 'range':99, 'topspeed': 99.0, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Mao", "VertSpinner", {'invertible':True, 'range':99, 'topspeed': 99.0, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Tepes", "Omni", {'invertible':True, 'range':99, 'topspeed': 99.0, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Kabila", "Omni", {'invertible':False, 'range':99, 'topspeed': 99.0, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Foday", "Omni", {'invertible':True, 'range':99, 'topspeed': 99.0, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
#Team 4
    list.append(("LW - Red Crab", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Clay Fish", "WhipperPlus",{'nose':math.pi*2,'invertible':True,'whip':"around",'radius':0.1,'throttle':130,'topspeed':99,'turn':60,'turnspeed':3,'weapons':(0,)}))
    list.append(("HW - Arthropod", "WhipperPlus",{'nose':math.pi*2,'invertible':True,'whip':"around",'radius':0.1,'throttle':130,'topspeed':99,'turn':30,'turnspeed':2,'weapons':(0,)}))
    list.append(("HW - Mantis Shrimp", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Sea Urchin", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Horseshoe Crab", "Omni", {'invertible':False, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
#Team 5
    list.append(("LW - Iron Star", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Aero Storm", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Warlock", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Cold Steel", "EternalFlame", {'invertible':True,'flame_range':99,'radius':0.1,'throttle':130,'topspeed':99,'turn':60,'turnspeed':3,'weapons':(0,)}))
    list.append(("MW - Steelmower", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Siege Engine", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
#Team 6
    list.append(("LW - Puncture Wound", "Omni", {'invertible':False, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Spine", "Omni", {'invertible':False, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Shrapnel", "Omni", {'invertible':False, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Patroller", "Omni", {'invertible':False, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':2, 'weapons': (0,) }))
    list.append(("HW - Rotor", "Omni", {'invertible':False, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Scrapyard Demon", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
#Team 7
    list.append(("LW - Bottle Nose", "Rammer", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Unfriendly Neighbour", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Woff Dog", "OmniMultiZone", {'invertible':False, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Cat of Iron", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Falling Stars", "Omni", {'invertible':False, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - IronCrasp", "Omni", {'nose':math.pi,'invertible':False, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
#Team 8
    list.append(("LW - JaDeD", "Omni", {'invertible':True,'nose':math.pi,'topspeed': 99,'radius':.5,'range':99, 'throttle': 100, 'turn':80, 'turnspeed':1.5, 'weapons': (0,) }))
    list.append(("MW - Upgrade", "VertSpinner",{'nose':math.pi,'range':99,'radius':1,'topspeed':100,'throttle':100,'turn':80,'turnspeed':1.5,'weapons':(0,),'sweapons':(0,)}))
    list.append(("HW - Adult Diversion", "VertSpinner", {'nose':math.pi,'topspeed': 99,'range':99,'throttle': 100,'radius':1,'turn':80, 'turnspeed':2, 'weapons': (0,),'sweapons':(0,) }))
    list.append(("LW - Hectic", "Omni", {'invertible':True,'nose':math.pi,'topspeed': 99,'radius':.5,'range':99, 'throttle': 100, 'turn':60, 'turnspeed':1, 'weapons': (0,) }))
    list.append(("MW - FOOTLOOSE!", "Omni", {'nose':math.pi,'topspeed': 99,'radius':.5,'range':99, 'throttle': 100, 'turn':80, 'turnspeed':2, 'weapons': (0,) }))
    list.append(("HW - Olbaid Le", "Omni", {'invertible':True,'nose':math.pi,'topspeed': 99,'radius':.5,'range':99, 'throttle': 100, 'turn':60, 'turnspeed':2, 'weapons': (0,) }))
#Team 9
    list.append(("LW - Hellmouth", "EternalFlame", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Golem", "OmniTrueRam",{'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Minotaur", "Omni", {'invertible':False, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("LW - Spooky Skeleton", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Flesh Fiend", "Rammer", {'car':True,'radius':3,'invertible':True, 'topspeed': 99.0, 'throttle': 100, 'turn':80, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Torment", "Omni", {'invertible':True, 'topspeed': 99.0,'range':50, 'throttle': 100, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
#Team 10
    list.append(("LW - Mercenary", "Omni", {'range':99, 'invertible':True, 'topspeed': 99.0, 'throttle': 50, 'turn':30, 'turnspeed':2, 'weapons': (0,) }))
    list.append(("MW - Fear", "Omni", {'range':99, 'invertible':True, 'topspeed': 99.0, 'throttle': 50, 'turn':30, 'turnspeed':2, 'weapons': (0,) }))
    list.append(("HW - Emerald Megalith","FBSPlus",{'nose':0,'spinspeed':16,'direction':-1,'invertible':True,'range':99,'radius':0.1,'topspeed':99,'throttle':130,'turn':100,'turnspeed':99,'weapons':(0,)}))
    list.append(("AW - Strightaway", "Omni", {'range':99, 'invertible':True, 'topspeed': 99.0, 'throttle': 50, 'turn':30, 'turnspeed':1.5, 'weapons': (0,) }))
    list.append(("BW - Tupacalypse Now", "Omni", {'invertible':True, 'topspeed': 99.0, 'throttle': 50, 'turn':30, 'turnspeed':2, 'weapons': (0,) }))
    list.append(("HW - Suppresor", "Omni", {'invertible':True, 'topspeed': 99.0, 'throttle': 50, 'turn':30, 'turnspeed':2, 'weapons': (0,) }))
#Team 11
    list.append(("LW - Sargent", "Omni", {'invertible':True, 'topspeed': 99.0, 'throttle': 50, 'turn':30, 'turnspeed':2, 'weapons': (0,) }))
    list.append(("MW - Factor", "FBSPlus",{'nose':0,'spinspeed':16,'direction':-1,'invertible':True,'range':99,'radius':0.1,'topspeed':99,'throttle':130,'turn':100,'turnspeed':99,'weapons':(0,)}))
    list.append(("HW - The World","Popup", {'invertible':True, 'topspeed': 99.0, 'throttle': 50, 'turn':30, 'turnspeed':2, 'weapons': (0,) }))
    list.append(("AW - Turnpike", "Omni", {'invertible':True, 'topspeed': 99.0, 'throttle': 50, 'turn':30, 'turnspeed':2, 'weapons': (0,) }))
    list.append(("BW - Deagle Nation", "Popup", {'invertible':True, 'topspeed': 99.0, 'throttle': 50, 'turn':30, 'turnspeed':2, 'weapons': (0,) }))
    list.append(("HW - Resistor", "Omni", {'range':99, 'invertible':True, 'topspeed': 99.0, 'throttle': 50, 'turn':30, 'turnspeed':2, 'weapons': (0,) }))
#Team 12
    list.append(("LW - HS","FBSInvertDir",{'nose':0,'spinspeed':0,'direction':-1,'tickFactor':10, 'invertible':True,'range':99,'radius':0.1,'topspeed':99,'throttle':130,'turn':100,'turnspeed':99,'weapons':(0,)}))
    list.append(("MW - HS","FBSInvertDir",{'nose':0,'spinspeed':0,'direction':-1,'tickFactor':10, 'invertible':True,'range':99,'radius':0.1,'topspeed':99,'throttle':130,'turn':100,'turnspeed':99,'weapons':(0,)}))
    list.append(("HW - HS","FBSAnalog",{'nose':0,'spinspeed':0,'direction':-1,'tickFactor':10, 'invertible':True,'range':99,'radius':0.1,'topspeed':99,'throttle':130,'turn':100,'turnspeed':99,'weapons':(0,)}))
    list.append(("LW - SnS","FBSInvertDir",{'nose':0,'spinspeed':14,'direction':-1,'tickFactor':10, 'invertible':True,'range':99,'radius':0.1,'topspeed':99,'throttle':130,'turn':100,'turnspeed':99,'weapons':(0,)}))  
    list.append(("MW - SnS","FBSInvertDir",{'nose':0,'spinspeed':15,'direction':-1,'tickFactor':10, 'invertible':True,'range':99,'radius':0.1,'topspeed':99,'throttle':130,'turn':100,'turnspeed':99,'weapons':(0,)}))  
    list.append(("HW - SnS","FBSInvertDir",{'nose':0,'spinspeed':16,'direction':-1,'tickFactor':10, 'invertible':True,'range':99,'radius':0.1,'topspeed':99,'throttle':130,'turn':100,'turnspeed':99,'weapons':(0,)}))  
#Team 13
    list.append(("LW - Shell","FBSInvertDir",{'nose':0,'spinspeed':0,'direction':-1,'tickFactor':10, 'invertible':True,'range':99,'radius':0.1,'topspeed':99,'throttle':130,'turn':100,'turnspeed':99,'weapons':(0,)}))
    list.append(("MW - Shell","FBSInvertDir",{'nose':0,'spinspeed':0,'direction':-1,'tickFactor':10, 'invertible':True,'range':99,'radius':0.1,'topspeed':99,'throttle':130,'turn':100,'turnspeed':99,'weapons':(0,)}))
    list.append(("HW - Shell","FBSInvertDir",{'nose':0,'spinspeed':0,'direction':-1,'tickFactor':10, 'invertible':True,'range':99,'radius':0.1,'topspeed':99,'throttle':130,'turn':100,'turnspeed':99,'weapons':(0,)}))
    list.append(("LW - Ram", "Omni", {'invertible':True, 'topspeed': 99.0, 'throttle': 50, 'turn':30, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Ram","EternalFlame",{'invertible':True,'flame_range':99,'radius':0.1,'throttle':130,'topspeed':99,'turn':50,'turnspeed':3,'weapons':(0,)}))
    list.append(("HW - Ram","EternalFlame",{'invertible':True,'flame_range':99,'radius':0.1,'throttle':130,'topspeed':99,'turn':50,'turnspeed':3,'weapons':(0,)}))
#Team 14
    list.append(("LW - Undercutter", "Omni", {'invertible':True, 'topspeed': 99.0,'range':99, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - Undercutter", "Omni", {'invertible':True, 'topspeed': 99.0,'range':99, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("HW - Undercutter", "Omni", {'invertible':True, 'topspeed': 99.0,'range':99, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("LW - FS", "Omni", {'invertible':True, 'topspeed': 99.0,'range':99, 'throttle': 100, 'turn':60, 'turnspeed':3, 'weapons': (0,) }))
    list.append(("MW - FS", "VertSpinner",{'nose':math.pi*2,'invertible':True,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':60,'turnspeed':3,'TrollDanceZone':1,'weapons':(0,),'sweapons':(0,)}))
    list.append(("HW - FS", "VertSpinner",{'nose':math.pi*2,'invertible':True,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':60,'turnspeed':3,'TrollDanceZone':1,'weapons':(0,),'sweapons':(0,)}))
#Team 15
    list.append(("LW - Poker","Omni",{'invertible':True,'radius':0.2,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2,'weapons':(0,)}))
    list.append(("MW - Poker","Omni",{'invertible':True,'radius':0.2,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2,'weapons':(0,)}))
    list.append(("HW - Poker","Omni",{'invertible':True,'radius':0.2,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2,'weapons':(0,)}))
    list.append(("LW - Hammer","Omni",{'invertible':True,'radius':0.2,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(0,)}))
    list.append(("MW - Hammer","Omni",{'invertible':True,'nose':math.pi,'radius':0.2,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(0,)}))
    list.append(("HW - Hammer","Omni",{'invertible':True,'nose':math.pi,'radius':0.2,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(0,)}))