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)

    # 0 - Red Zone "That's where your bot will be after ten seconds with ours!"
    list.append(("Aerodactyl","OmniMultiZone",{'nose':math.pi,'topspeed':130,'throttle':130,'turn':5,'turnspeed':50,'weapons':(1,)}))
    list.append(("Dugtrio","Spinner",{'nose':math.pi,'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(25,)}))
    list.append(("paras","Omni",{'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(25,)}))

    # 1 - PREHISTORIC "Badder and still bloodthirsty!"
    list.append(("Kabuto","Rammer",{'radius':0.3,'range':2.5,'topspeed':100,'throttle':130,'turn':60,'turnspeed':3,'weapons':(25,)}))
    list.append(("Excadrill","Pusher",{'invertible':True,'nose':math.pi,'radius':0.2,'topspeed':100,'throttle':130,'turn':60,'turnspeed':3.5}))
    list.append(("Sandslash","Omni",{'nose':math.pi*1.75,'reload':12,'radius':1,'topspeed':99,'throttle':100,'turn':100,'turnspeed':1.75,'weapons':(82,83,84,85)}))

    # 2 - The Good Ol' Boys "Don't need nuthin' but my truck, my shotgun, my new bots, and my REVENGE!"
    list.append(("Magikarp","Omni",{'radius':0.1,'range':99,'topspeed':100,'throttle':130,'turn':25,'turnspeed':3,'weapons':(7,)}))
    list.append(("Sharpedo","Omni",{'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(19,)}))
    list.append(("I WANNA BE THE VERY BEST ","Pusher",{'invertible':True,'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':3}))

    # 3 - Team Dragon "If you defeat us again, we will sneak in at night and steal your bots."
    list.append(("LIKE NO ONE EVER WAS","Omni",{'invertible':True,'nose':math.pi/2,'radius':.1,'range':99,'topspeed':100,'throttle':130,'turn':60,'turnspeed':3,'weapons':(3,4,5,6)}))
    list.append(("Tauros","Omni",{'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(6,)}))
    list.append(("Bastiodon","Pusher",{'radius':1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(11,)}))

    # 4 - BLACK STORM "The BLACK STORM was only getting started with our old bots!"
    list.append(("Diglett","Omni",{'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(25,)}))
    list.append(("Skorupi","Poker",{'delay':20,'radius':0.1,'topspeed':100,'throttle':130,'turn':50,'turnspeed':2,'weapons':(31,)}))
    list.append(("Klinx","Pinner",{'invertible':True,'radius':0.1,'range':99,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(17,)}))

    # 5 - Team SPARK "EMERGENCY is back with a vengeance, faster and more furious."
    list.append(("Garbodor","VertSpinner2",{'SRcycle':80,'range':2.5,'radius':1,'topspeed':99,'throttle':100,'turn':100,'turnspeed':1.5,'weapons':(55,57,58,63,64,65),'sweapons':(0,)}))
    list.append(("Metagross","Spinner",{'nose':-math.pi/2,'radius':0.1,'range':99,'topspeed':6,'throttle':60,'turn':60,'turnspeed':2.5,'weapons':(15,)}))
    list.append(("Cryogonal","Pusher",{'invertible':True,'nose':math.pi*2,'radius':0.2,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5}))

    # 6 - Spike Heads "I'd like you to meet my big metal friend..."
    list.append(("Raving M.A.D.","Rammer",{'nose':math.pi,'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5}))
    list.append(("iNsAnItY","Flipper",{'nose':math.pi*2,'range':99,'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(5,)}))
    list.append(("Big Metal Friend","Omni",{'invertible':True,'nose':math.pi*2,'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2,'weapons':(39,42)}))

    # 7 - North Polers "Sorry, no Santa Claus here."
    list.append(("Tip of the Iceberg","Omni",{'nose':math.pi*2,'radius':0.1,'range':99,'topspeed':100,'throttle':130,'turn':60,'turnspeed':3.5,'weapons':(14,15,16)}))
    list.append(("Iceberg","Omni",{'nose':math.pi*2,'radius':0.1,'topspeed':15,'throttle':130,'turn':60,'turnspeed':2,'weapons':(11,12,13)}))
    list.append(("Snow Job","Pusher",{'invertible':True,'radius':0.1,'topspeed':150,'throttle':130,'turn':60,'turnspeed':2}))

    # 8 - HIGH VOLTAGE "If only electric shock was a legal weapon."
    list.append(("FlipJack","Flipper",{'nose':math.pi*2,'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(6,13)}))
    list.append(("SlashBack","Flipper",{'nose':math.pi*2,'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(18,19,20,21)}))
    list.append(("WIIDE LOAD","Omni",{'invertible':True,'nose':math.pi*2,'radius':0.1,'range':500,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54)}))

    # 9 - Team HEX "We eat nuts and bolts for breakfast."
    list.append(("Grim Chopper","Omni",{'nose':math.pi*2,'radius':0.1,'range':99,'topspeed':100,'throttle':130,'turn':25,'turnspeed':3,'weapons':(16,)}))
    list.append(("Lock Nut","Spinner",{'nose':math.pi*1.5,'radius':0.3,'range':500,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(10,11,12)}))
    list.append(("Cranky Spanky","Omni",{'radius':0.1,'range':99,'topspeed':100,'throttle':130,'turn':60,'turnspeed':3,'weapons':(7,8,34,35,37,38)}))

    # 10 - Team Z "Still cooler than you."
    list.append(("Insane Berserker","Spinner",{'nose':math.pi,'range':99,'radius':0.5,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(9,10,11)}))
    list.append(("Razorback","Flipper",{'nose':math.pi*2,'radius':0.1,'topspeed':100,'throttle':130,'turn':30,'turnspeed':2,'weapons':(25,)}))
    list.append(("Eye Stabber","Poker",{'invertible':True,'nose':math.pi*2,'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(18,19,20,21)}))

    # 11 - SteelYard Dog "They don't have much of a bite, but they sure can PUSH!"
    list.append(("Mangy Mutt","Pusher",{'invertible':True,'nose':math.pi*2,'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5}))
    list.append(("Top Dog","Pusher",{'invertible':True,'nose':math.pi*2,'radius':0.2,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5}))
    list.append(("Bad Dog","Pusher",{'invertible':True,'nose':math.pi*2,'radius':0.2,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5}))

    # 12 - RIOT "Things are going to get even LOUDER!"
    list.append(("Civil Uprising","DirectionalSpinner",{'invertible':True,'nose':math.pi*2,'radius':0.2,'range':500,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(5,6,7,8)}))
    list.append(("VENGEANCE","DirectionalSpinner",{'invertible':True,'nose':math.pi*2,'range':500,'radius':0.4,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(8,9,10,11)}))
    list.append(("Velociraptor","Omni",{'nose':math.pi*2,'range':99,'radius':0.1,'topspeed':100,'throttle':130,'turn':30,'turnspeed':1.5,'weapons':(56,57,58,59,60,61)}))

    # 13 - MEGATON "KABBBBOOOOOOOOOOOMMMMM!!!!!!!!"
    list.append(("Poison Stinger","Poker",{'invertible':True,'nose':math.pi*2,'range':99,'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(10,11,12,13)}))
    list.append(("Tempest","Spinner",{'nose':math.pi*2,'radius':0.5,'range':500,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(18,19,20,21,26,27)}))
    list.append(("UnDeadbeat","Omni",{'nose':math.pi*2,'radius':0.1,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(31,)}))

    # 14 - The Scrappers "We scrap junk for a living, so your bots won't be a problem at all."
    list.append(("360 Arc Pounder","Whipper",{'invertible':True,'whip':"around",'nose':math.pi,'radius':1.5,'topspeed':12,'throttle':20,'turn':30,'turnspeed':1,'weapons':(9,11)}))
    list.append(("Ripblade II","DirectionalSpinner",{'invertible':True,'nose':math.pi*2,'radius':1,'range':500,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2,'weapons':(17,18,19,20,21,22,23,24,25,26,27,28)}))
    list.append(("Backyard Shredder","Omni",
{'nose':math.pi*2,'radius':0.1,'range':500,'topspeed':100,'throttle':130,'turn':60,'turnspeed':2.5,'weapons':(33,45,46)}))
