//Finders keepers...
IfGrabbed
  SetTargetToWhoeverIsHolding
  SetOwnerToTarget

//Follow the owner
IfHeld
  IfTimeOut			//Give a mana buff
    SetTargetToOwner
    IfTargetHasNotFullMana
      tmpargument = 128		//0.5 mana every 2 seconds
      PumpTarget
    tmpargument = 100
    SetTime
Else
  tmpx = ownerx
  tmpy = ownery
  tmpdistance = 0 - 90
  tmpturn = ownerturnto
  Compass
  ClearWaypoints
  AddWaypoint

  //Adjust fly height to the owner
  SetTargetToOwner
  tmpargument = targetaltitude + 20
  SetFlyHeight

  //Spawn sparklies
  tmpx = selfx
  tmpy = selfy
  tmpdistance = selfz
  tmpargument = 2
  SpawnExactParticle

// ZZ> This function makes an item fall to the floor when spawned
IfSpawned				//
  tmpargument = ACTIONJB		  //
  DoAction				  //
  KeepAction				  //
  MakeCrushValid
IfCrushed
  tmpx = selfx
  tmpy = selfy
  tmpdistance = selfz
  tmpargument = 1
  SpawnExactParticle
  SpawnExactParticle
  SpawnExactParticle
  SpawnExactParticle
  GoPoof
  tmpargument = 1
  SendMessageNear
IfDropped				// Make it lie on floor
  KeepAction				  //
IfHitGround				// Make a sound
  tmpargument = 1			  //
  tmpdistance = rand & 2047 + 10000	  //
  PlaySound				  //
IfTakenOut				// Make a sound
  tmpargument = 2			  //
  tmpdistance = rand & 2047 + 10000	  //
  PlaySound				  //
  SetTargetToWhoeverIsHolding		  //
  IfTargetIsAPlayer			  //
    tmpargument = 2			  //
    SendMessageNear			  //
IfGrabbed				// Tell them what they've won...
  SetTargetToWhoeverIsHolding		  //
  IfTargetIsAPlayer			  //
    tmpargument = 0			  //
    SendMessageNear			  //
End					// All done
