<?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  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
    </weights>
    <weights num-karts="5">
      <!--            bubble   cake  bowl zipper  plunger  switch swattr rubber para  anvil -->
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
    </weights>
    <weights num-karts="9">
      <!--            bubble   cake  bowl zipper  plunger  switch swattr rubber para  anvil -->
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
    </weights>
    <weights num-karts="14">
      <!--            bubble   cake  bowl zipper  plunger  switch swattr rubber para  anvil -->
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
    </weights>
    <weights num-karts="20">
      <!--            bubble   cake  bowl zipper  plunger  switch swattr rubber para  anvil -->
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
    </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  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
    </weights>
  </ftl-weight-list>
  
  <battle-weight-list>
    <weights num-karts="1">
      <!--              bubble  cake  bowl  zipper  plunger  switch swattr rubber para  anvil -->
      <weight single  =" 50     50    50    50       50      50      50    50    50    50"
              multi   =" 50     50    50    50       50      50      50    50    50    50" />
    </weights>
  </battle-weight-list>

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

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

    
</powerup>

