home *** CD-ROM | disk | FTP | other *** search
/ A Field Trip to the Sky (Demo) / Mac_Sunburst_AFieldTripToTheSky-Demo.iso / DIR / GAME.DIR / 00112_Script_doMagField < prev    next >
Text File  |  1996-03-27  |  2KB  |  70 lines

  1. global gAttrList
  2. global gMagList, gMag
  3. global gPower
  4.  
  5. on mouseDown
  6.   if( doButtonPress() ) then
  7.     
  8.     if( gMag <> 0 OR gPower < 17 ) then
  9.       
  10.       -- if they've already been here or have enough, tell em what for
  11.       set theMag to getProp(gAttrList,#magfield)
  12.       
  13.       -- play the sound
  14.       doPlaySound( "MA" & string(theMag) )
  15.       
  16.     else if gPower >= 17 then
  17.       
  18.       -- else bark
  19.       doPlaySound( "Power3" )
  20.       
  21.     end if
  22.     
  23.     if( gMag = 0 AND gPower < 17) then
  24.       
  25.       -- set up the sprite to be animated, cast range from 31 to 40
  26.       set c to the number of cast "Mag hi"
  27.       set lastC to the number of cast "Mag lo"
  28.       if( theMag = 0 ) then
  29.         set endPoint to lastC - 1
  30.       else if ( theMag = 1 ) then
  31.         set endPoint to integer((lastC + c)/2)
  32.       else if( theMag = 2 ) then
  33.         set endPoint to c + 2
  34.       else 
  35.         set endPoint to c
  36.       end if
  37.       
  38.       -- do the start of the animation
  39.       set gMagList to []
  40.       repeat with i = lastC down to c
  41.         add gMagList, i
  42.       end repeat
  43.       
  44.       -- sink back down to the correct point
  45.       repeat with i = c + 1 to endPoint
  46.         add gMagList, i
  47.       end repeat
  48.       
  49.       -- and tack on the repeating animation
  50.       add gMagList, endPoint-1
  51.       add gMagList, endPoint-2
  52.       add gMagList, endPoint-1
  53.       add gMagList, endPoint
  54.       add gMagList, endPoint+1
  55.       add gMagList, endPoint
  56.       
  57.       -- set up the pointer to that list
  58.       set gMag to 1
  59.       
  60.       decreasePower(2)
  61.       updateStage
  62.       
  63.     end if
  64.     
  65.     doFlush()
  66.     
  67.   end if
  68.   
  69. end
  70.