home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / RepairScare.dxr / 00004_Main.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  14.1 KB  |  460 lines

  1. property pTempX, pTempY, pFrameCount, pEmptyAlpha, pViewPortal, pViewRect, pMouseOffset, pSpace, pSpaceStart, pForPower, pTheDamagedSprite, pLaserDoors, pPhase1, pDying, pPhase2, pFixing, eCounter, fcounter, gCounter
  2. global gLevelSeconds, gTotalSeconds, gCurrentLevel, gLevelScore, gTotalScore, gStartTime, gWon, gMapChannel, gNumLives, gBombList, pEneBombList, pEneObject, pEneObject2, pEneObject3, pEneObject4, pEneObject5, pAntObject
  3.  
  4. on new me
  5.   pEneObject = 0
  6.   pEneObject2 = 0
  7.   pEneObject3 = 0
  8.   pEneObject4 = 0
  9.   pEneObject5 = 0
  10.   sprite(35).puppet = 0
  11.   sprite(36).puppet = 0
  12.   sprite(37).puppet = 0
  13.   sprite(38).puppet = 0
  14.   sprite(39).puppet = 0
  15.   displayScore()
  16.   pFixing = 0
  17.   eCounter = 0
  18.   fcounter = 0
  19.   pPhase1 = 1
  20.   pLaserDoors = 0
  21.   pDying = 0
  22.   pPhase2 = 1
  23.   pForPower = 48
  24.   sprite(7).visible = 0
  25.   sprite(10).visible = 0
  26.   sprite(11).visible = 0
  27.   sprite(12).visible = 0
  28.   sprite(13).visible = 0
  29.   sprite(14).visible = 0
  30.   sprite(16).visible = 0
  31.   pSpace = 0
  32.   pEnter = 0
  33.   gBombList = [0, 0]
  34.   pAntObject = new(script("AntScript"), 1, 4, 5, 200, 90, 8)
  35.   sprite(8).locZ = 250
  36.   sprite(278).locZ = 251
  37.   gCurrentLevel = gCurrentLevel + 1
  38.   loadLevelData(gCurrentLevel)
  39.   displayLevel()
  40.   pTheDamagedSprite = random(17) + 99
  41.   sprite(11).loc = sprite(8).loc
  42. end
  43.  
  44. on exitFrame me
  45.   if (sprite(8).blend < 100) and (pDying = 0) then
  46.     sprite(8).blend = sprite(8).blend + 1
  47.     if sprite(8).blend > 100 then
  48.       sprite(8).blend = 100
  49.     end if
  50.   end if
  51.   if (random(250) = 1) and ((gCurrentLevel = 2) or (gCurrentLevel = 3)) then
  52.     pLaserDoors = 1
  53.   end if
  54.   if (pFixing = 1) and (pDying = 0) then
  55.     doFixingAnimation()
  56.   end if
  57.   if sprite(8).blend >= 90 then
  58.     if not (pEneObject = 0) then
  59.       if (sprite(11).intersects(pEneObject.getEnemyChannel()) = 1) or (sprite(11).intersects(pEneObject2.getEnemyChannel()) = 1) then
  60.         if pDying = 0 then
  61.           sprite(8).member = "alienhit"
  62.           puppetSound(1, "player hit")
  63.           sprite(8).locZ = 8
  64.           pDying = 1
  65.           pPhase = 1
  66.         end if
  67.       end if
  68.     end if
  69.     if not (pEneObject3 = 0) then
  70.       if sprite(11).intersects(pEneObject3.getEnemyChannel()) then
  71.         if pDying = 0 then
  72.           sprite(8).member = "alienhit"
  73.           puppetSound(1, "player hit")
  74.           sprite(8).locZ = 8
  75.           pDying = 1
  76.           pPhase = 1
  77.         end if
  78.       end if
  79.     end if
  80.     if not (pEneObject4 = 0) then
  81.       if sprite(11).intersects(pEneObject4.getEnemyChannel()) then
  82.         if pDying = 0 then
  83.           sprite(8).member = "alienhit"
  84.           puppetSound(1, "player hit")
  85.           sprite(8).locZ = 8
  86.           pDying = 1
  87.           pPhase = 1
  88.         end if
  89.       end if
  90.     end if
  91.     if not (pEneObject5 = 0) then
  92.       if sprite(11).intersects(pEneObject5.getEnemyChannel()) then
  93.         if pDying = 0 then
  94.           sprite(8).member = "alienhit"
  95.           puppetSound(1, "player hit")
  96.           sprite(8).locZ = 8
  97.           pDying = 1
  98.           pPhase = 1
  99.         end if
  100.       end if
  101.     end if
  102.     if sprite(11).intersects(17) then
  103.       if pDying = 0 then
  104.         sprite(8).member = "alienhit2"
  105.         puppetSound(1, "player hit")
  106.         pDying = 1
  107.         pPhase = 2
  108.       end if
  109.     end if
  110.   end if
  111.   if pDying = 1 then
  112.     doDyingAnimation()
  113.   end if
  114.   if pLaserDoors = 1 then
  115.     if not ((pDying = 1) and (pPhase2 = 4)) then
  116.       doDoorAnimation()
  117.     end if
  118.   end if
  119.   if not ((pDying = 1) and (pPhase2 = 4)) then
  120.     doDamagedSpriteEffect(pTheDamagedSprite)
  121.   end if
  122.   if (pDying = 0) and (pFixing = 0) then
  123.     checkInput()
  124.   end if
  125.   if not ((pDying = 1) and (pPhase2 = 4)) then
  126.     if not (pEneObject = 0) then
  127.       pEneObject.moveEnemy()
  128.     end if
  129.     if not (pEneObject2 = 0) then
  130.       pEneObject2.moveEnemy()
  131.     end if
  132.     if not (pEneObject3 = 0) then
  133.       pEneObject3.moveEnemy()
  134.     end if
  135.     if not (pEneObject4 = 0) then
  136.       pEneObject4.moveEnemy()
  137.     end if
  138.     if not (pEneObject5 = 0) then
  139.       pEneObject5.moveEnemy()
  140.     end if
  141.   end if
  142.   go(the frame)
  143. end
  144.  
  145. on checkInput
  146.   antDirection = pAntObject.getAntDirection()
  147.   if keyPressed(126) and keyPressed(123) then
  148.     if antDirection = 5 then
  149.       pAntObject.moveAnt()
  150.     else
  151.       pAntObject.setAntDirection(5)
  152.     end if
  153.   else
  154.     if keyPressed(126) and keyPressed(124) then
  155.       if antDirection = 6 then
  156.         pAntObject.moveAnt()
  157.       else
  158.         pAntObject.setAntDirection(6)
  159.       end if
  160.     else
  161.       if keyPressed(125) and keyPressed(123) then
  162.         if antDirection = 7 then
  163.           pAntObject.moveAnt()
  164.         else
  165.           pAntObject.setAntDirection(7)
  166.         end if
  167.       else
  168.         if keyPressed(125) and keyPressed(124) then
  169.           if antDirection = 8 then
  170.             pAntObject.moveAnt()
  171.           else
  172.             pAntObject.setAntDirection(8)
  173.           end if
  174.         else
  175.           if keyPressed(123) then
  176.             if antDirection = 4 then
  177.               pAntObject.moveAnt()
  178.             else
  179.               pAntObject.setAntDirection(4)
  180.             end if
  181.           else
  182.             if keyPressed(124) then
  183.               if antDirection = 2 then
  184.                 pAntObject.moveAnt()
  185.               else
  186.                 pAntObject.setAntDirection(2)
  187.               end if
  188.             else
  189.               if keyPressed(126) then
  190.                 if antDirection = 1 then
  191.                   pAntObject.moveAnt()
  192.                 else
  193.                   pAntObject.setAntDirection(1)
  194.                 end if
  195.               else
  196.                 if keyPressed(125) then
  197.                   if antDirection = 3 then
  198.                     pAntObject.moveAnt()
  199.                   else
  200.                     pAntObject.setAntDirection(3)
  201.                   end if
  202.                 end if
  203.               end if
  204.             end if
  205.           end if
  206.         end if
  207.       end if
  208.     end if
  209.   end if
  210.   if keyPressed(SPACE) then
  211.     if (pAntObject.getAntPositionX() < (sprite(98).locH + 20)) and (pAntObject.getAntPositionX() > (sprite(98).locH - 20)) and (pAntObject.getAntPositionY() < (sprite(98).locV + 20)) and (pAntObject.getAntPositionY() > (sprite(98).locV - 20)) then
  212.       puppetSound(1, "electric_fixing")
  213.       pFixing = 1
  214.       sprite(8).member = "fixing_up_1"
  215.       if (pTheDamagedSprite = 100) or (pTheDamagedSprite = 102) then
  216.         sprite(8).member = "fixing_right_1"
  217.       end if
  218.       if (pTheDamagedSprite = 101) or (pTheDamagedSprite = 107) then
  219.         sprite(8).member = "fixing_left_1"
  220.       end if
  221.     end if
  222.   end if
  223. end
  224.  
  225. on loadLevelData levelNum
  226.   repeat with counter = 100 to 136
  227.     sprite(counter).visible = 0
  228.   end repeat
  229.   repeat with counter = 100 to 270
  230.     sprite(counter).puppet = 0
  231.   end repeat
  232.   case levelNum of
  233.     1:
  234.       pEneObject = new(script("EnemyScript"), 4, 3, 3, 590, 70, "truck", 35)
  235.       pEneObject.setIntelligence(0)
  236.       pEneObject2 = new(script("EnemyScript"), 2, 3, 3, -20, 200, "truck2", 36)
  237.       pEneObject2.setIntelligence(0)
  238.       pEneObject3 = new(script("EnemyScript"), 3, 2, 2, 100, 220, "truck3", 37)
  239.       pEneObject3.setIntelligence(0)
  240.       pEneObject3.setPatrolePoints(80, 290, 250, 340)
  241.       sprite(5).visible = 1
  242.       sprite(7).member = "Alpha1"
  243.     2:
  244.       pEneObject = new(script("EnemyScript"), 4, 3, 3, 590, 70, "truck", 35)
  245.       pEneObject.setIntelligence(0)
  246.       pEneObject2 = new(script("EnemyScript"), 2, 3, 3, -20, 200, "truck2", 36)
  247.       pEneObject2.setIntelligence(0)
  248.       pEneObject4 = new(script("EnemyScript"), 2, 5, 5, 590, 95, "truck4", 38)
  249.       pEneObject4.setIntelligence(0)
  250.       pEneObject3 = new(script("EnemyScript"), 3, 2, 2, 100, 220, "truck3", 37)
  251.       pEneObject3.setIntelligence(0)
  252.       pEneObject3.setPatrolePoints(80, 290, 250, 340)
  253.       sprite(5).visible = 1
  254.       sprite(7).member = "Alpha1"
  255.     3:
  256.       pEneObject = new(script("EnemyScript"), 4, 3, 3, 590, 70, "truck", 35)
  257.       pEneObject.setIntelligence(0)
  258.       pEneObject2 = new(script("EnemyScript"), 2, 3, 3, -20, 200, "truck2", 36)
  259.       pEneObject2.setIntelligence(0)
  260.       pEneObject4 = new(script("EnemyScript"), 2, 5, 5, 590, 95, "truck4", 38)
  261.       pEneObject4.setIntelligence(0)
  262.       pEneObject3 = new(script("EnemyScript"), 3, 3, 3, 100, 220, "truck3", 37)
  263.       pEneObject3.setIntelligence(0)
  264.       pEneObject3.setPatrolePoints(80, 290, 250, 340)
  265.       pEneObject5 = new(script("EnemyScript"), 3, 2, 2, 275, 290, "truck5", 39)
  266.       pEneObject5.setIntelligence(0)
  267.       pEneObject5.setPatrolePoints(275, 340, 500, 340)
  268.       sprite(5).visible = 1
  269.       sprite(7).member = "Alpha1"
  270.     4:
  271.       pEneObject = new(script("EnemyScript"), 4, 3, 3, 460, 70, "truck", 35)
  272.       pEneObject.setIntelligence(0)
  273.       pEneObject2 = new(script("EnemyScript"), 2, 3, 3, 300, 200, "truck2", 36)
  274.       pEneObject2.setIntelligence(0)
  275.       pEneObject4 = new(script("EnemyScript"), 2, 3, 3, 460, 95, "truck4", 38)
  276.       pEneObject4.setIntelligence(0)
  277.       pEneObject3 = new(script("EnemyScript"), 3, 3, 3, 100, 220, "truck3", 37)
  278.       pEneObject3.setIntelligence(0)
  279.       pEneObject3.setPatrolePoints(80, 290, 250, 340)
  280.       pEneObject5 = new(script("EnemyScript"), 3, 3, 3, 275, 290, "truck5", 39)
  281.       pEneObject5.setIntelligence(0)
  282.       pEneObject5.setPatrolePoints(275, 340, 500, 340)
  283.       sprite(5).visible = 1
  284.       sprite(7).member = "Alpha1"
  285.   end case
  286. end
  287.  
  288. on doDamagedSpriteEffect spriteNumber
  289.   if sprite(98).puppet = 0 then
  290.     sprite(98).puppet = 1
  291.     sprite(98).member = "spark_1"
  292.     sprite(98).backColor = 6
  293.     sprite(98).ink = 36
  294.     sprite(98).loc = sprite(spriteNumber).loc
  295.     sprite(98).locZ = 6
  296.   end if
  297.   stringLength = length(string(member(sprite(98).member).name))
  298.   currFrame = chars(string(member(sprite(98).member).name), stringLength, stringLength)
  299.   currFrame = integer(currFrame) + 1
  300.   if currFrame > 9 then
  301.     currFrame = 1
  302.   end if
  303.   sprite(98).member = chars(string(member(sprite(98).member).name), 1, stringLength - 1) & string(currFrame)
  304. end
  305.  
  306. on doDoorAnimation
  307.   if pPhase1 = 1 then
  308.     if (sprite(2).locH - sprite(3).locH) > 100 then
  309.       if ((pEneObject.getEnemyPositionX() > (290 + 130)) or (pEneObject.getEnemyPositionX() < (290 - 20))) and ((pEneObject2.getEnemyPositionX() > (290 + 20)) or (pEneObject2.getEnemyPositionX() < (290 - 120))) then
  310.         pPhase1 = 2
  311.         sprite(17).loc = point(289, 41)
  312.         sprite(17).height = 1
  313.       end if
  314.     else
  315.       sprite(3).locH = sprite(3).locH - 1
  316.       sprite(2).locH = sprite(2).locH + 1
  317.     end if
  318.   else
  319.     if pPhase1 = 2 then
  320.       puppetSound(3, "particleblaster")
  321.       sprite(17).height = sprite(17).height + 50
  322.       if sprite(17).height >= 334 then
  323.         sprite(17).height = 334
  324.         pPhase1 = 3
  325.       end if
  326.     else
  327.       if pPhase1 = 3 then
  328.         if not (((pEneObject.getEnemyPositionX() > (290 + 150)) or (pEneObject.getEnemyPositionX() < (290 - 20))) and ((pEneObject2.getEnemyPositionX() > (290 + 20)) or (pEneObject2.getEnemyPositionX() < (290 - 120)))) then
  329.           pPhase1 = 4
  330.         end if
  331.         if sprite(17).blend = 100 then
  332.           sprite(17).blend = 50
  333.         else
  334.           sprite(17).blend = 100
  335.         end if
  336.         eCounter = eCounter + 1
  337.         if eCounter > 500 then
  338.           eCounter = 0
  339.           pPhase1 = 4
  340.         end if
  341.       else
  342.         if pPhase1 = 4 then
  343.           if sprite(17).blend = 100 then
  344.             sprite(17).blend = 50
  345.           else
  346.             sprite(17).blend = 100
  347.           end if
  348.           sprite(17).height = sprite(17).height - 20
  349.           if sprite(17).height <= 0 then
  350.             sprite(17).height = 1
  351.             pPhase1 = 5
  352.           end if
  353.         else
  354.           if pPhase1 = 5 then
  355.             sprite(3).locH = sprite(3).locH + 1
  356.             sprite(2).locH = sprite(2).locH - 1
  357.             if (sprite(2).locH - sprite(3).locH) < 30 then
  358.               pPhase1 = 1
  359.               pLaserDoors = 0
  360.             end if
  361.           end if
  362.         end if
  363.       end if
  364.     end if
  365.   end if
  366. end
  367.  
  368. on doDyingAnimation
  369.   if pPhase2 = 1 then
  370.     fcounter = fcounter + 1
  371.     if fcounter > 35 then
  372.       fcounter = 0
  373.       pPhase2 = 3
  374.     end if
  375.   else
  376.     if pPhase2 = 2 then
  377.       fcounter = fcounter + 1
  378.       if fcounter > 35 then
  379.         fcounter = 0
  380.         pPhase2 = 3
  381.       end if
  382.     else
  383.       if pPhase2 = 3 then
  384.         sprite(8).blend = sprite(8).blend - 5
  385.         if sprite(8).blend < 10 then
  386.           sprite(8).blend = 1
  387.           gNumLives = gNumLives - 1
  388.           displayTries()
  389.           pPhase2 = 4
  390.           if gNumLives < 0 then
  391.             gNumLives = 0
  392.             displayTries()
  393.             member("WinOrLoose1").text = "Better Luck" & RETURN & " Next Time"
  394.             member("WinOrLoose2").text = "Better Luck" & RETURN & " Next Time"
  395.             puppetSound(4, "lose")
  396.             go(24)
  397.             exit
  398.           else
  399.             sprite(283).puppet = 1
  400.             sprite(283).member = "Hitspace"
  401.             sprite(283).loc = point(287, 216)
  402.             sprite(283).ink = 36
  403.           end if
  404.         end if
  405.       else
  406.         if pPhase2 = 4 then
  407.           sprite(8).blend = 0
  408.           if keyPressed(SPACE) then
  409.             pPhase2 = 1
  410.             pDying = 0
  411.             pAntObject = new(script("AntScript"), 1, 4, 5, 200, 90, 8)
  412.             sprite(11).loc = sprite(8).loc
  413.             sprite(8).blend = 50
  414.             sprite(283).puppet = 0
  415.             sprite(8).locZ = 250
  416.             pFixing = 0
  417.             gCounter = 0
  418.           end if
  419.         end if
  420.       end if
  421.     end if
  422.   end if
  423. end
  424.  
  425. on doFixingAnimation
  426.   gCounter = gCounter + 1
  427.   if gCounter > 50 then
  428.     puppetSound(1, "fixed")
  429.     pFixing = 0
  430.     gCounter = 0
  431.     gTotalScore = gTotalScore + 100
  432.     displayScore()
  433.     if (gTotalScore mod 1000) = 0 then
  434.       if gCurrentLevel = 3 then
  435.         puppetSound(4, "win10")
  436.         go(24)
  437.       else
  438.         member("WinOrLoose1").text = "  You Win"
  439.         member("WinOrLoose2").text = "  You Win"
  440.         go(44)
  441.         puppetSound(4, "levelcomplete10")
  442.       end if
  443.       exit
  444.     end if
  445.     justANum = random(17) + 99
  446.     repeat while justANum = pTheDamagedSprite
  447.       justANum = random(17) + 99
  448.     end repeat
  449.     pTheDamagedSprite = justANum
  450.     sprite(98).loc = sprite(pTheDamagedSprite).loc
  451.   end if
  452.   stringLength = length(string(member(sprite(8).member).name))
  453.   currFrame = chars(string(member(sprite(8).member).name), stringLength, stringLength)
  454.   currFrame = integer(currFrame) + 1
  455.   if currFrame > 4 then
  456.     currFrame = 1
  457.   end if
  458.   sprite(8).member = chars(string(member(sprite(8).member).name), 1, stringLength - 1) & string(currFrame)
  459. end
  460.