// Someone cast an unlock spell
IfOrdered
  tmpx = selforder
  tmpy = 491  // The unique code for an unlock order
  IfXIsEqualToY
    // Open it up
    tmpargument = passage
    OpenPassage
      tmpargument = 1
      SendMessageNear


// ZZ> This function makes the button open the passage
tmpx = 20				// Threshold weight
tmpy = weight				// Weight of characters on top
IfXIsLessThanY				// Open it
  SetTargetToWhoeverBumped		  //
  tmpargument = passage
  IfPassageOpen
    GetContent // NOP
  Else
    GetContent				  // 0 - 25...  KEYA - KEYZ
    tmpargument = tmpargument + [KEYA]	  //
    CostTargetItemID			  // Check for Key
      tmpargument = passage		    //
      OpenPassage				    //

      tmpargument = 10
      tmpdistance = EXPSECRET
      GiveExperienceToTarget

      tmpargument = 0			      //
      SendMessageNear			      //
tmpargument = passage			//
IfPassageOpen				// Go down
  tmpargument = 0			  //
  IfStateIs				  //
    tmpargument = ACTIONMG		    //
    DoAction				    //
      tmpargument = 1			      // 1 is down
      SetState				      //
      KeepAction			      // Make it stay on last frame
      tmpargument = 0			      //
      SetBumpHeight			      //
Else					// Pop up
  tmpargument = 1			  //
  IfStateIs				  //
    tmpargument = ACTIONMJ		    //
    DoAction				    //
      tmpargument = 0			      // 0 is up
      SetState				      //
      KeepAction			      // Make it stay on last frame
      tmpargument = 30			      //
      SetBumpHeight			      //
End					// Finished with this character
