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

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