home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / BaseDefender.dxr / 00009.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  3.3 KB  |  101 lines

  1. on initializeConstants
  2.   global playerSO, shipSO, maxShips, bulletSO, maxBullets, starfieldSO, maxStars, starDepth, particleSO, maxParticles, powerupSO, maxPowerups, miniMapDotsSO
  3.   playerSO = 100
  4.   shipSO = 110
  5.   bulletSO = 150
  6.   starfieldSO = 200
  7.   particleSO = 250
  8.   powerupSO = 300
  9.   miniMapDotsSO = 310
  10.   maxEnemies = 12
  11.   maxBullets = 50
  12.   maxShips = 25
  13.   maxStars = 15
  14.   maxParticles = 50
  15.   maxPowerups = 3
  16.   starDepth = 10
  17. end
  18.  
  19. on initializePowerups
  20.   global powerupData, powerupSO, maxPowerups
  21.   powerupData = []
  22.   repeat with wPowerUp = 1 to maxPowerups
  23.     wSprite = powerupSO + wPowerUp
  24.     add(powerupData, [0, 0, point(0, 0), point(0, 0), 0])
  25.     puppetSprite(wSprite, 1)
  26.     set the ink of sprite wSprite to 33
  27.     set the loc of sprite wSprite to point(-50, 250)
  28.   end repeat
  29. end
  30.  
  31. on addPowerup spawnType, spawnPoint, spawnMomentum
  32.   global powerupData, powerupSO, maxPowerups
  33.   validSlot = 0
  34.   repeat with wPowerUp = 1 to count(powerupData)
  35.     if (validSlot = 0) and (powerupData[wPowerUp][1] = 0) then
  36.       validSlot = wPowerUp
  37.     end if
  38.   end repeat
  39.   if validSlot <> 0 then
  40.     wSprite = powerupSO + validSlot
  41.     powerupData[validSlot] = [1, spawnType, spawnPoint, spawnMomentum, 1200]
  42.     if spawnType = 1 then
  43.       set the member of sprite wSprite to "Shield powerup"
  44.     else
  45.       set the member of sprite wSprite to "Weapons powerup"
  46.     end if
  47.   end if
  48. end
  49.  
  50. on movePowerups
  51.   global powerupData, powerupSO, maxPowerups, playerViewPoint, shipData, specialPlayerStats
  52.   repeat with wPowerUp = 1 to count(powerupData)
  53.     wSprite = powerupSO + wPowerUp
  54.     if powerupData[wPowerUp][1] = 1 then
  55.       if powerupData[wPowerUp][5] <= 0 then
  56.         set the loc of sprite wSprite to point(-50, 150)
  57.         powerupData[wPowerUp][1] = 0
  58.         next repeat
  59.       end if
  60.       if findDistance(powerupData[wPowerUp][3], shipData[1][4][1]) <= 250 then
  61.         playSound("powerup SFX")
  62.         case powerupData[wPowerUp][2] of
  63.           1:
  64.             if specialPlayerStats[1] < 100 then
  65.               specialPlayerStats[1] = specialPlayerStats[1] + 20
  66.             end if
  67.             shipData[1][5][1] = 0
  68.           2:
  69.             specialPlayerStats[2] = specialPlayerStats[2] + 10
  70.             if specialPlayerStats[2] > 45 then
  71.               specialPlayerStats[2] = 45
  72.             end if
  73.             member("Ammo Display 1").text = string(specialPlayerStats[2])
  74.           3:
  75.             specialPlayerStats[3] = specialPlayerStats[3] + 10
  76.             if specialPlayerStats[3] > 45 then
  77.               specialPlayerStats[3] = 30
  78.             end if
  79.             member("Ammo Display 2").text = string(specialPlayerStats[3])
  80.           4:
  81.             specialPlayerStats[4] = specialPlayerStats[4] + 30
  82.             if specialPlayerStats[4] > 95 then
  83.               specialPlayerStats[4] = 95
  84.             end if
  85.             member("Ammo Display 3").text = string(specialPlayerStats[4])
  86.         end case
  87.         set the loc of sprite wSprite to point(-50, 150)
  88.         powerupData[wPowerUp][1] = 0
  89.         next repeat
  90.       end if
  91.       if findDistance(powerupData[wPowerUp][3], shipData[1][4][1]) > 6000 then
  92.         set the loc of sprite wSprite to point(-50, 150)
  93.         powerupData[wPowerUp][1] = 0
  94.         next repeat
  95.       end if
  96.       powerupData[wPowerUp][5] = powerupData[wPowerUp][5] - 1
  97.       set the loc of sprite wSprite to (powerupData[wPowerUp][3] - playerViewPoint) / 10
  98.     end if
  99.   end repeat
  100. end
  101.