// Set up general stuff
IfSpawned
  tmpargument = ACTIONJB
  DoAction
  KeepAction
  MakeCrushValid
  MakeAmmoKnown

// Make it poof
IfCrushed
  tmpx = selfx
  tmpy = selfy
  tmpdistance = selfz
  tmpargument = 0
  SpawnExactParticle
  SpawnExactParticle
  SpawnExactParticle
  SpawnExactParticle
  GoPoof
  tmpargument = 1
  SendMessageNear

// Make it lie on the floor
IfDropped
  KeepAction

// Play a clink or clang
IfHitGround
  tmpargument = 0
  PlaySound

// Alert others to draw
IfTakenOut
  SetTargetToWhoeverIsHolding
  IfTargetIsAPlayer
    tmpargument = 2
    SendMessageNear

// Tell them what they've won...
IfGrabbed
  SetTargetToWhoeverIsHolding
  IfTargetIsAPlayer
    tmpargument = 0
    SendMessageNear

// Give the user a bonus
IfUsed
  tmpargument = 1
  PlaySound

  tmpargument = 40
  SetReloadTime
  MakeSimilarNamesKnown
  IfUsageIsKnown
    tmpargument = 3
    SendMessageNear
  Else
    MakeUsageKnown
    tmpargument = 4
    IfTargetIsAPlayer
      tmpargument = 5
    SendMessageNear
    tmpargument = 40
    tmpdistance = EXPDARE
    GiveExperienceToTarget

  SetTargetToWhoeverIsHolding
    // Enchant the target
    SetOwnerToTarget
    EnchantTarget

    //Give special bonus if target is magic user
    tmpx = targetmana
    tmpy = 0
    IfXIsMoreThanY
      tmpargument = 64 // Increase Max Mana by a quarter point
      GiveManaToTarget
      tmpx = targetint
      tmpy = rand & 2550 + 3530
      IfXIsMoreThanY
        tmpargument = 6
        SendMessageNear
        tmpargument = 10
        tmpdistance = EXPSECRET
        GiveExperienceToTarget


    tmpargument = ACTIONMC
    TargetDoAction
    tmpdistance = SPAWNORIGIN
    tmpargument = 1
    SpawnAttachedHolderParticle
    GoPoof

// Finish up
End
