The balloon Goo Ball contains helium and can be attached to a structure to pull it upwards. It is especially helpful to counteract the effects of gravity.

Developers

The grumpy="true" parameter prevents balloons being chained together.

The antigrav parameter of 4.5 causes the balloon to work against force fields where antigrav="true".

<ball name="balloon"
      shape="circle,45"
      mass="20"
      towermass="5"
      strands="1"
      walkspeed="0.05"
      climbspeed="2.0"
      speedvariance="0.2" 
      antigrav="4.5" 
      dampening="0.1"
      grumpy="true"
      collideattached="true"
      statescales="attached,1.75, detaching,1.3, tank,1.0"
      suckable="false"
      jump="0.0,0.4"
      maxattachspeed="1000"
 
	  jumponwakeup="true"
	  staticwhensleeping="true"
      >
 
  <marker drag="IMAGE_BALL_BALLOON_DRAGMARKER_P1" 
          detach="IMAGE_BALL_BALLOON_DETACHMARKER_P1" 
          rotspeed="2"/>
 
  <shadow image="IMAGE_BALL_GENERIC_SHADOW1"/>
 
  <particles id="sleepyZzz" states="sleeping" overball="true" />
 
  <strand type="rope" 
          image="IMAGE_BALL_BALLOON_STRING3" 
          inactiveimage="IMAGE_BALL_BALLOON_INACTIVE" 
          springconstmin="2" springconstmax="2" 
          dampfac="0.002" 
          maxlen2="180" maxlen1="300" 
          maxforce="200" 
          minlen="150"
          walkable="false"
          thickness="10"/>
 
  <detachstrand image="IMAGE_BALL_BALLOON_SPLAT1" maxlen="60" />
 
  <splat image="IMAGE_BALL_BALLOON_SPLAT1,IMAGE_BALL_BALLOON_SPLAT2"/>
 
  <part name="body"
        layer="0"
        rotate="true"
        x="0" y="0"
        image="IMAGE_BALL_BALLOON_BODY2"
        stretch="32,2,0.5"
        scale="0.4"
        />
  <part name="shine"
        layer="1"
        rotate="true"
        x="0" y="0"
        image="IMAGE_BALL_BALLOON_SHINE"
        stretch="32,2,0.5"
        scale="0.4"
        />
 
  <!-- attached animations -->
  <sinvariance freq="0.3" amp="0.02" shift="0.8">
    <sinanim part="body,shine"             state="attached" type="scale"     axis="x" freq="1.2" amp="0.1" shift="0"   />
    <sinanim part="body,shine"             state="attached" type="scale"     axis="y" freq=".8" amp="0.1" shift="0.5" />
    <sinanim part="body,shine"             state="attached" type="translate" axis="y" freq="1.4" amp="2"   shift="0"   />
  </sinvariance>
 
  <!-- walking animations -->
  <sinvariance freq="1.2" amp="0.1" shift="0.0">
    <sinanim part="body,shine"             state="walking" type="scale"     axis="x" freq="2.0" amp="0.1" shift="0"   />
    <sinanim part="body,shine"             state="walking" type="scale"     axis="y" freq="2.0" amp="0.1" shift="0.5" />
    <sinanim part="body,shine"             state="walking" type="translate" axis="y" freq="2.0" amp="2"   shift="0"   />
  </sinvariance>
 
  <!-- falling animations -->
  <sinvariance freq="1" amp="0.02" shift="0.5">
    <sinanim part="body,shine"     state="falling" type="scale"     axis="x" freq="1.0" amp="0.07" shift="0.5" />
    <sinanim part="body,shine"     state="falling" type="scale"     axis="y" freq="1.0" amp="0.07" shift="0.5" />
  </sinvariance>
 
  <!-- dragging animations -->
  <sinvariance freq="0.3" amp="0.03" shift="0">
    <sinanim part="body,shine" state="dragging" type="scale" axis="x" freq="1.0" amp="0.05" shift="0" />
    <sinanim part="body,shine" state="dragging" type="scale" axis="y" freq="1.0" amp="0.05" shift="0" />
  </sinvariance>
 
 
  <!-- Sound FX -->
  <sound event="marker"       id="SOUND_BALL_GENERIC_ROLLOVER1,SOUND_BALL_GENERIC_ROLLOVER2,SOUND_BALL_GENERIC_ROLLOVER3,SOUND_BALL_GENERIC_ROLLOVER4,SOUND_BALL_GENERIC_ROLLOVER5,SOUND_BALL_GENERIC_ROLLOVER6,SOUND_BALL_GENERIC_ROLLOVER7,SOUND_BALL_GENERIC_ROLLOVER8"/>
  <sound event="pickup"       id="SOUND_BALL_BALLOON_RUBBERPULL1,SOUND_BALL_BALLOON_RUBBERPULL2,SOUND_BALL_BALLOON_RUBBERPULL3,SOUND_BALL_BALLOON_RUBBERPULL4,SOUND_BALL_BALLOON_RUBBERPULL5"/>
 
  <sound event="drop"         id="SOUND_BALL_BALLOON_RUBBERPULL1,SOUND_BALL_BALLOON_RUBBERPULL2,SOUND_BALL_BALLOON_RUBBERPULL3,SOUND_BALL_BALLOON_RUBBERPULL4,SOUND_BALL_BALLOON_RUBBERPULL5"/>
  <sound event="throw"        id="SOUND_BALL_BALLOON_RUBBERPULL1,SOUND_BALL_BALLOON_RUBBERPULL2,SOUND_BALL_BALLOON_RUBBERPULL3,SOUND_BALL_BALLOON_RUBBERPULL4,SOUND_BALL_BALLOON_RUBBERPULL5"/>
 
  <sound event="bounce"       id="SOUND_BALL_GENERIC_BOUNCE1,SOUND_BALL_GENERIC_BOUNCE2,SOUND_BALL_GENERIC_BOUNCE3,SOUND_BALL_GENERIC_BOUNCE4"/>
  <sound event="land"         id="SOUND_BALL_GENERIC_STICK1,SOUND_BALL_GENERIC_STICK2,SOUND_BALL_GENERIC_STICK3,SOUND_BALL_GENERIC_STICK4,SOUND_BALL_GENERIC_STICK5,SOUND_BALL_GENERIC_STICK6"/>
 
  <sound event="attach"       id="SOUND_BALL_BALLOON_INFLATE1,SOUND_BALL_BALLOON_INFLATE2"/>
  <sound event="attachcloser" id="SOUND_BALL_BALLOON_INFLATE1,SOUND_BALL_BALLOON_INFLATE2"/>
  <sound event="detaching"    id="SOUND_BALL_BALLOON_RUBBERPULL1,SOUND_BALL_BALLOON_RUBBERPULL2,SOUND_BALL_BALLOON_RUBBERPULL3,SOUND_BALL_BALLOON_RUBBERPULL4,SOUND_BALL_BALLOON_RUBBERPULL5"/>
  <sound event="detached"     id="SOUND_BALL_BALLOON_DEFLATE1,SOUND_BALL_BALLOON_DEFLATE2"/>
 
  <sound event="snap"         id="SOUND_BALL_GENERIC_SNAP1"/>
 
  <sound event="death"        id="SOUND_BALL_BALLOON_POP1,SOUND_BALL_BALLOON_POP2"/>
  <sound event="deathfall"    id="SOUND_BALL_BALLOON_POP1,SOUND_BALL_BALLOON_POP2"/>
 
  <sound event="suction"      id="SOUND_BALL_GENERIC_DETACHED1"/>
  <sound event="exit"         id=""/>
 
 
</ball>