IfTakenOut
  SetTargetToWhoeverIsHolding	
  IfNameIsKnown
    tmpargument = [PALA]
    IfTargetHasID
      IfStateIs0
        SetOwnerToTarget
        EnchantTarget
        tmpargument = 768
        CostTargetMana			//Don't refill mana
        tmpargument = 1
        SetState
      tmpargument = 0
    Else
      tmpargument = 2
  Else
    tmpargument = 2
  SendMessageNear

//Magical effect
IfHeld
  IfStateIs1
    tmpargument = 1
    tmpx = selfx
    tmpy = selfy
    tmpdistance = selfz
    SpawnExactParticle

// ZZ> This function makes an item fall to the floor when spawned
IfSpawned				//
  tmpargument = ACTIONJB		  //
  DoAction				  //
  KeepAction				  //
  MakeCrushValid

  IfNameIsKnown
    tmpargument = [PALA]
    IfTargetHasID
      IfStateIs0
        SetOwnerToTarget
        EnchantTarget
        tmpargument = 768
        CostTargetMana			//Dont refill mana
        tmpargument = 1
        SetState
      tmpargument = 0
    Else
      tmpargument = 3
  Else
    tmpargument = 3
    tmpx = rand & 31
    tmpy = rand & 31 + targetwis > 8
    IfXIsLessThanY				  //Identify with high wisdom
      tmpargument = 25
      tmpdistance = EXPSECRET
      GiveExperienceToTarget
      MakeNameKnown

IfCrushed
  tmpx = selfx
  tmpy = selfy
  tmpdistance = selfz
  tmpargument = 0
  SpawnExactParticle
  SpawnExactParticle
  SpawnExactParticle
  SpawnExactParticle
  GoPoof
  tmpargument = 1
  SendMessageNear

IfGrabbed				// Tell them what they've won...
  SetTargetToWhoeverIsHolding

  IfNameIsKnown
    tmpargument = [PALA]
    IfTargetHasID
      IfStateIs0
        SetOwnerToTarget
        EnchantTarget
        tmpargument = 768
        CostTargetMana			//Dont refill mana
        tmpargument = 1
        SetState
      tmpargument = 0
    Else
      tmpargument = 3
  Else
    tmpargument = 3
    tmpx = rand & 31
    tmpy = rand & 31 + targetwis > 8
    IfXIsLessThanY				  //Identify with high wisdom
      tmpargument = 25
      tmpdistance = EXPSECRET
      GiveExperienceToTarget
      MakeNameKnown
  SendMessageNear

IfHitGround				// Make a sound
  tmpargument = 0			  //
  PlaySound				  //

IfPutAway
  IfStateIs1
    tmpargument = 0
    SetState
    UndoEnchant

IfDropped				// Make it lie on floor
  KeepAction
  IfStateIs1
    tmpargument = 0
    SetState
    UndoEnchant

End					// All done
