<?xml version="1.0"?>
<powerup>
  <item name="zipper"         icon="zipper_collect.png" />
  <item name="bowling"        icon="bowling-icon.png"
        model="bowling.spm"   speed="4.0"
        min-height="0.2"      max-height="1.0"
        force-updown="1"      force-to-target="40"
        max-distance="25"                               />
  <item name="bubblegum"      icon="bubblegum-icon.png" />
  <item name="cake"           icon="cake-icon.png"
        model="cake.spm"      speed="50"
        min-height="0.2"      max-height="1.0"
        force-updown="25"     max-distance="90"         />
  <item name="anchor"         icon="anchor-icon.png"
        model="anchor.spm"                              />
  <item name="switch"         icon="swap-icon.png"      />
  <item name="swatter"        icon="swatter-icon.png"   />
  <!--  interval: How long a single bounce takes.
        min-speed-offset: The speed of the ball is calculated
                    by adding the speed-offset to the difficulty's
                    max-speed. min-speed-offset is used when the
                    ball is closer than min-offset-distance
                    to the target.
        max-speed-offset: The additional speed of the ball when
                    farther than max-offset-distance.
        speed : defines the initial speed. Mainly kept for
                    compatibility with flyable class
        min-offset-distance: The distance under which the ball is
                    at minimal speed.
        max-offset-distance: The distance over which the ball is
                    at maximal speed. If it is not equal to
                    min-offset-distance, the ball speeds between
                    both is a weighted average of the min and
                    max speed.
        max-height: The maximum height of a bounce.
        min-height: Unused mostly, but defines implicitly
                    the starting height (as average of
                    max and min height).
        fast-ping-distance: When the ball is closer than 
                    this to the target, it will bounce
                    low and at a high rate.
        target-distance: When the ball is closer than 
                    this to the target, it will aim
                    directly at the target.
        target-max-angle: Once the ball is aiming for its
                    target, it can at most change the angle
                    this much per second(!).
        min-interpolation-distance: how far the control
                    points (which are center of squads)
                    must be from each other. A large value
                    allows smoother turning (no abrupt
                    change of direction), but a large
                    value can result in the ball being
                    off track (e.g. a value of 30 results
                    on the ramp in sand track that the 
                    ball goes to the left of the tunnel,
                    bouncing on the pyramid). Quite
                    catastrophal on the startrack and
                    skyline).
        squash-slowdown: How much karts that are 
                    squashed are slowed down.
        squash-duration: How long karts stay squashed.
        delete-timer: How long before the ball is removed
                    if no suitable target is found.
        early-target-factor: the rubber ball can use the
                    relative position of the kart to the
                    center of the track for improved targeting
                    (i.e. the ball will align its relative
                    position to the center of the track early).
                    This allows a lower target-distance to be
                    used since the ball is better aligned,
                    hopefully reducing the frequency of 
                    tunneling.
   -->
  <item name="rubber-ball"    icon="rubber_ball-icon.png"
        model="rubber_ball.spm"
        speed="40.0"
        min-speed-offset="9.0"
        max-speed-offset="29.0"
        min-offset-distance="50.0"
        max-offset-distance="250.0"
        interval="1"
        max-height="4.0"      min-height="0"
        fast-ping-distance="50" 
        early-target-factor="1"
        target-distance="15"  target-max-angle = "90"
        min-interpolation-distance="5"
        squash-slowdown="0.5" squash-duration="2"
        delete-time="5.0"     max-height-difference="10" />
  <item name="parachute"      icon="parachute-icon.png"
        model="parachute.spm"                           />
  <item name="plunger"        icon="plunger-icon.png"
        model="plunger.spm"   speed="35"
        min-height="0.2"      max-height="1.0"
        force-updown="35"     force-to-target="15"
        max-distance="25"                               />

  <!-- This defines the probabilities to get each type of item depending on
       the position of the kart and number of karts in the race.
       For each race mode (race, time-trial, soccer etc) there is one
       weight-list entry (e.g. race-weight-list etc). Each of those lists
       contains a list (1 or more entries) of weights for a certain number
       of karts in the race. This offers two advantages:
       1) the frequency of global items (like switch) can be reduced for
          higher number of karts (so that game play does not get dominated
          by frequent global items)
       2) to take into account the balance changes when the number of karts
          is different. Typically, the higher the number of karts, the
          stronger the difference in "powerup quality" between the first and
          the last.
       Each of those weight tags is stored into a WeightsData object.
       At race time, a new WeightsData object is created from the list for
       the current race type depending on number of karts in the race.
       If there is a WeightsData object for the same kart number, it is
       copied, otherwise an interpolated WeightsData object is created
       from the two WeightsData objects that are closest to the current
       number of karts. If there is only one WeightsData for the race
       mode, it is used for any number of karts.
       Each Weights entry itself can contain one or more weight tags:
       The first entry is for the kart with rank 1, the last weight entry
       for the last kart. The remaining entries are evenly distributed
       between the first and last kart (exception is follow-the-leader,
       where the first entry is for the leader, the second entry for 
       the first non-leader kart, and the last entry for the last
       kart. So the 3rd till second-last entries are distributed
       evenly instead of the 2nd till second-last).
       For example, with 5 karts and 5 entries those points will
       match positions 2, 3, 4. With 10 karts (and 5 entries), they
       will correspond to 3,25 ; 5,5 ; 7,75. It is not an issue if
       the kart number is not an integer value, since the actual
       weights will be interpolated.
       
       The order of items must correspond to powerup_manager.hpp.
       Each weight entry contains two list of integer values that
       represent the probability that a particular item is picked
       (the integer weight is divided by the sum of all weights to
       get the actual probability). The first line (single=...)
       corresponds to the weights of getting one specific item,
       the second line (multi) to the weight at which it will yeld
       a triple item rather than a single one. The probability to get
       an item is its weight divided by the sum of weights of all items
       (single AND multi). It is recommended to keep that sum equal
       to 1000 to easily keep track of probabilities.
       'Global' items which affect all karts (switch, parachute) should
       be quite rare, since otherwise the item might be used
       too often (compared with many items which will only
       affect a karts or two) - especially with increasing number of
       karts in a race.
       The distribution should give more similar items to different ranks
       when there are few karts, but have more important differences when
       there are more karts.                               -->

  <race-weight-list>
    <weights num-karts="1">
      <!-- The entry for '1' kart lists more than a single weight
           because the others are used for interpolation when
           there are two karts or more. -->
      <!--            bubble   cake  bowl zipper  plunger  switch swattr rubber para  anvil -->
      <weight single  ="140      0   300   100      225      75     160     0     0     0"
              multi   ="  0      0     0     0        0       0       0     0     0     0" />
      <weight single  ="150      0   295   130      200      70     135     0     0     0"
              multi   ="  0      0    20     0        0       0       0     0     0     0" />
      <weight single  ="150      0   310   135      180      65     135     0     0     0"
              multi   ="  0      0    25     0        0       0       0     0     0     0" />
      <weight single  ="155      0   280   180      170      60     125     0     0     0"
              multi   ="  0      0    30     0        0       0       0     0     0     0" />
      <weight single  ="170      0   180   275      150      50      85     0     0     0"
              multi   ="  0      0    90     0        0       0       0     0     0     0" />
    </weights>
    <weights num-karts="5">
      <!--            bubble   cake  bowl zipper  plunger  switch swattr rubber para  anvil -->
      <weight single  ="130     80   260    75      230      60     165     0     0     0"
              multi   ="  0      0     0     0        0       0       0     0     0     0" />
      <weight single  ="150    135   240   125      145      45     135     0     0     0"
              multi   ="  0      0    25     0        0       0       0     0     0     0" />
      <weight single  ="150    135   225   144      135      36     135    15     0     0"
              multi   ="  0      0    25     0        0       0       0     0     0     0" />
      <weight single  ="160    120   140   205      110      30     100    70    30     0"
              multi   ="  0      0    35     0        0       0       0     0     0     0" />
      <weight single  ="145    105    45   240        0      24       0    40    80     0"
              multi   =" 40      0    80   175       26       0       0     0     0     0" />
    </weights>
    <weights num-karts="9">
      <!--            bubble   cake  bowl zipper  plunger  switch swattr rubber para  anvil -->
      <weight single  ="120     60   290    50      270      40     170     0     0     0"
              multi   ="  0      0     0     0        0       0       0     0     0     0" />
      <weight single  ="145    150   230   120      160      30     135     0     0     0"
              multi   ="  0      0    30     0        0       0       0     0     0     0" />
      <weight single  ="150    130   205   152      130      24     130    44     0     0"
              multi   ="  0      0    35     0        0       0       0     0     0     0" />
      <weight single  ="165    115   130   245       70      18      84    50    30     0"
              multi   ="  0      0    60     0       33       0       0     0     0     0" />
      <weight single  ="100     80    35   200        0      12       0    16    67     0"
              multi   =" 90      0    90   290       20       0       0     0     0     0" />
    </weights>
    <weights num-karts="14">
      <!--            bubble   cake  bowl zipper  plunger  switch swattr rubber para  anvil -->
      <weight single  ="110     40   320    25      300      30     175     0     0     0"
              multi   ="  0      0     0     0        0       0       0     0     0     0" />
      <weight single  ="140    155   240   110      170      20     135     0     0     0"
              multi   ="  0      0    30     0        0       0       0     0     0     0" />
      <weight single  ="150    125   210   159      145      15     120    36     0     0"
              multi   ="  0      0    40     0        0       0       0     0     0     0" />
      <weight single  ="135    105   115   234       60      12      70    35    24     0"
              multi   =" 40      0    80    40       50       0       0     0     0     0" />
      <weight single  =" 90     70    15   175        0       0       0     0    50     0"
              multi   ="120      0   125   325       30       0       0     0     0     0" />
    </weights>
    <weights num-karts="20">
      <!--            bubble   cake  bowl zipper  plunger  switch swattr rubber para  anvil -->
      <weight single  ="100      0   370     0      330      20     180     0     0     0"
              multi   ="  0      0     0     0        0       0       0     0     0     0" />
      <weight single  ="135    160   240   100      185      15     135     0     0     0"
              multi   ="  0      0    30     0        0       0       0     0     0     0" />
      <weight single  ="150    120   200   165      148      10     105    27     0     0"
              multi   ="  0      0    50     0       25       0       0     0     0     0" />
      <weight single  ="125     90   100   262       50       8      50    20    15     0"
              multi   =" 50      0   100    50       80       0       0     0     0     0" />
      <weight single  =" 75     60     0   125        0       0       0     0    35     0"
              multi   ="150      0   155   400        0       0       0     0     0     0" />
    </weights>
  </race-weight-list>

  <ftl-weight-list>
    <weights num-karts="1">
      <!--              bubble  cake  bowl  zipper  plunger  switch swattr rubber para  anvil -->
      <!-- This is the entry for the leader: -->
      <weight single  ="35       0    25    35      25       15      25     0     0     0"
              multi   ="20       0     0    20       0        0       0     0     0     0" />
      <!-- This is the entry for the first non-leader karts: -->
      <weight single  ="25       0    60    25      58        2      30     0     0     0"
              multi   =" 0       0     0     0       0        0       0     0     0     0" />
      <weight single  ="35       0    55    35      25        3      25     0     0     0"
              multi   =" 0       0    10     0      12        0       0     0     0     0" />
      <weight single  ="25       0    40    45      15        5      15    10     5     0"
              multi   ="10       0    15    15       0        0       0     0     0     0" />
      <!-- This is the entry for the last kart: -->
      <weight single  ="20       0    15    25       0        0       0     0    15     0"
              multi   ="20       0    25    80       0        0       0     0     0     0" />
    </weights>
  </ftl-weight-list>
  
  <battle-weight-list>
    <weights num-karts="1">
      <!--              bubble  cake  bowl  zipper  plunger  switch swattr rubber para  anvil -->
      <weight single  ="10      30    60     0       0       10      30     0     0     0"
              multi   =" 0       0     5     0       0        0       0     0     0     0"    />
    </weights>
  </battle-weight-list>

  <soccer-weight-list>
    <weights num-karts="1">
      <!--               bubble  cake  bowl  zipper  plunger switch swattr rubber para  anvil -->
      <weight single  =" 0      30    60     0       0       10      30     0     0     0"
              multi   =" 0       0     5     0       0        0       0     0     0     0"    />
    </weights>
  </soccer-weight-list>

  <tutorial-weight-list>
    <weights num-karts="1">
      <!--               bubble  cake  bowl  zipper  plunger switch swattr rubber para  anvil -->
      <weight single  =" 0       0     0     0       0        0       0     0     0     0"
              multi   =" 0       0   100     0       0        0       0     0     0     0" />
    </weights>
  </tutorial-weight-list>

    
</powerup>

