Facebook
From Unique Elephant, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 272
  1. -- You've seen this one in the trailer (if you've seen the trailer).
  2. spawntimer = 1
  3. bigshots = {}
  4. spinners = {}
  5. spinnersroll = true
  6. dogs = {}
  7. dogsroll = true
  8. wheels = {}
  9. faster = 1.01
  10. linez = {}
  11. wheelsroll = true
  12. spinnersgo = 0
  13. spinnersout = 100
  14. mult = 0.5
  15. place = 22.666
  16. county = 0
  17. bulletfrick = 0.4
  18. mult = 2
  19. yOffset = 100
  20. xOffset = 0
  21. Encounter.SetVar("wavetimer",65)
  22. local numbullets = 20
  23.  
  24. function OnHit(bullet)
  25.     Player.Hurt(1, 0.01)
  26. end
  27.  
  28. for i=1,numbullets do
  29.                         local spinner = CreateProjectile('ink', 0 , 50)
  30.                         spinner.SetVar('timer', 0)
  31.             spinner.SetVar('offset', math.pi * 2 * i / (numbullets))
  32.             spinner.SetVar('negmult', mult)
  33.             spinner.SetVar('lerp', 0)
  34.                         spinner.SetVar('velx',-1)
  35.                         spinner.SetVar('placer',place)
  36.             table.insert(spinners, spinner)
  37.                 end
  38.  
  39. function OnHit(bullet)
  40.     Player.Hurt(1, 0.01)
  41. end            
  42.                
  43. function Update()
  44.         place = 22.666
  45.         spawntimer = spawntimer + 1
  46.         if(spawntimer % 30 == 0 and spawntimer < 200) then
  47.                 x = math.random(4)
  48.                 if x == 1 then
  49.                         xOffset = 230
  50.                         yOffset = 64
  51.                 elseif x == 2 then
  52.                         xOffset = -210
  53.                         yOffset = 64
  54.                 elseif x == 3 then
  55.                         xOffset = 230
  56.                         yOffset = -44
  57.                 else
  58.                         xOffset = -210
  59.                         yOffset = -44
  60.                 end
  61.         local numbullets = 5
  62.         for i=1,numbullets+1 do
  63.             local bigshot = CreateProjectile('money', xOffset + math.random(20), yOffset + math.random(20))
  64.                         bigshot.SetVar('speed', 4)
  65.                         bigshot.SetVar('timer', 0)
  66.                         bigshot.SetVar('xspeed', 0)
  67.                         bigshot.SetVar('yspeed', 0)
  68.                         bigshot.SetVar('angle', (i*35)-220)
  69.                         if(i>3) then
  70.                         bigshot.SetVar('anglefrick',1*mult)
  71.                         else
  72.                         bigshot.SetVar('anglefrick',-1*mult)
  73.                         end
  74.             table.insert(bigshots, bigshot)
  75.         end
  76.         elseif(spawntimer%1 == 0 and spawntimer > 200 and spawntimer < 300)then
  77.                 spinnersout = spinnersout - 0.3
  78.         elseif(spawntimer % 30 == 0 and spawntimer > 300 and spawntimer < 500) then
  79.                 x = math.random(4)
  80.                 if x == 1 then
  81.                         xOffset = 230
  82.                         yOffset = 64
  83.                 elseif x == 2 then
  84.                         xOffset = -210
  85.                         yOffset = 64
  86.                 elseif x == 3 then
  87.                         xOffset = 230
  88.                         yOffset = -44
  89.                 else
  90.                         xOffset = -210
  91.                         yOffset = -44
  92.                 end
  93.         local numbullets = 5
  94.         for i=1,numbullets+1 do
  95.             local bigshot = CreateProjectile('money', xOffset + math.random(20), yOffset + math.random(20))
  96.                         bigshot.SetVar('speed', 4)
  97.                         bigshot.SetVar('timer', 0)
  98.                         bigshot.SetVar('xspeed', 0)
  99.                         bigshot.SetVar('yspeed', 0)
  100.                         bigshot.SetVar('angle', (i*35)-220)
  101.                         if(i>3) then
  102.                         bigshot.SetVar('anglefrick',1*mult)
  103.                         else
  104.                         bigshot.SetVar('anglefrick',-1*mult)
  105.                         end
  106.             table.insert(bigshots, bigshot)
  107.         end
  108.                 elseif(spawntimer%1 == 0 and spawntimer > 500 and spawntimer < 600)then
  109.                 spinnersout = spinnersout - 0.225
  110.                 elseif(spawntimer%1 == 0 and spawntimer > 623 and spawntimer < 625)then
  111.                 bigshots = {}
  112.                 elseif(spawntimer%35 == 0 and spawntimer > 600 and spawntimer < 800)then
  113.                 x = math.random(4)
  114.                 if x == 1 then
  115.                         xOffset = 230
  116.                         yOffset = 64
  117.                 elseif x == 2 then
  118.                         xOffset = -210
  119.                         yOffset = 64
  120.                 elseif x == 3 then
  121.                         xOffset = 230
  122.                         yOffset = -44
  123.                 else
  124.                         xOffset = -210
  125.                         yOffset = -44
  126.                 end
  127.         local numbullets = 5
  128.         for i=1,numbullets+1 do
  129.             local bigshot = CreateProjectile('money', xOffset + math.random(20), yOffset + math.random(20))
  130.                         bigshot.SetVar('speed', 4)
  131.                         bigshot.SetVar('timer', 0)
  132.                         bigshot.SetVar('xspeed', 0)
  133.                         bigshot.SetVar('yspeed', 0)
  134.                         bigshot.SetVar('angle', (i*35)-220)
  135.                         if(i>3) then
  136.                         bigshot.SetVar('anglefrick',1*mult)
  137.                         else
  138.                         bigshot.SetVar('anglefrick',-1*mult)
  139.                         end
  140.             table.insert(bigshots, bigshot)
  141.         end
  142.         elseif(spawntimer % 50 == 0 and spawntimer > 800 and spawntimer < 1800) then
  143.                 faster = faster + 0.01
  144.                 corner = math.random(4)
  145.                 xHolder = 0
  146.                 yHolder = 0
  147.                 if corner == 1 then
  148.                         -- topright
  149.                         xOffset = 80
  150.                         yOffset = 104
  151.                         yPlacer = -9.4
  152.                         xPlacer = 0
  153.                 elseif corner == 2 then
  154.                         -- topleft
  155.                         xOffset = 120
  156.                         yOffset = 64
  157.                         yPlacer = 0
  158.                         xPlacer = -9.4
  159.                 elseif corner == 3 then
  160.                         -- bottomleft
  161.                         xOffset = -120
  162.                         yOffset = -64
  163.                         yPlacer = 0
  164.                         xPlacer = 9.4
  165.                 else
  166.                         --bottomright
  167.                         xOffset = -80
  168.                         yOffset = -104
  169.                         yPlacer = 9.4
  170.                         xPlacer = 0
  171.                 end
  172.                 numbullets = 8
  173.                 for i=1, numbullets do
  174.                         line = CreateProjectile('ink', xOffset + (yHolder + yPlacer), yOffset + (xHolder + xPlacer))
  175.                         xHolder = xHolder + xPlacer
  176.                         yHolder = yHolder + yPlacer
  177.                         line.SetVar('velx',xPlacer)
  178.                         line.SetVar('vely',yPlacer)
  179.                         table.insert(linez,line)
  180.                 end
  181.         elseif(spawntimer%1 == 0 and spawntimer >1900 and spawntimer < 1902)then
  182.                 faster = 444
  183.         elseif(spawntimer%1 == 0 and spawntimer > 1908 and spawntimer < 1910)then
  184.                 linez = {}
  185.         elseif(spawntimer % 50 == 0 and spawntimer > 1910 and spawntimer < 2240)then
  186.                 DogRY = 65- math.random(30)
  187.                 DogR = CreateProjectile('ink', Arena.width/2+200, DogRY) --Right
  188.                 DogLY = DogRY  
  189.                 DogL = CreateProjectile('ink', Arena.width/-2-200, DogLY) --left
  190.                 DogR.SetVar('velx',-3)
  191.                 DogL.SetVar('velx',3)
  192.                 DogR.SetVar('vely',0)
  193.                 DogL.SetVar('vely',0)
  194.                 table.insert(dogs, DogR)
  195.                 table.insert(dogs, DogL)
  196.                 local numbullets = 2
  197.                 for i=1, numbullets+1 do
  198.                         local posxR = Arena.width/2+200
  199.                         local posyR = DogRY - 40
  200.                         local posxL = Arena.width/-2-200
  201.                         local posyL = DogLY - 40
  202.                         DogRY = DogRY - 40
  203.                         DogLY = DogLY - 40
  204.                         local DogR = CreateProjectile('ink', posxR, posyR) --right
  205.                         local DogL = CreateProjectile('ink', posxL, posyL) ---left
  206.                         DogR.SetVar('velx',-3)
  207.                         DogL.SetVar('velx',3)
  208.                         DogR.SetVar('vely',0)
  209.                         DogL.SetVar('vely',0)
  210.                         table.insert(dogs, DogR)
  211.                         table.insert(dogs, DogL)
  212.                 end
  213.         elseif(spawntimer % 1 == 0 and 2280 < spawntimer and 2340 > spawntimer)then
  214.                 Arena.resize(Arena.width + 8, Arena.height + 2)
  215.         elseif(spawntimer % 1 == 0 and 2340 < spawntimer and 2342 > spawntimer)then
  216.                 Arena.resize(620,250)
  217.                 spinnersgo = 0.04
  218.         elseif(spawntimer% 170 == 0 and 2400 < spawntimer)then
  219.                 spinners = {}
  220.                 dogs = {}
  221.                 local numbullets = 12
  222.         for i=1,numbullets do
  223.             local wheelL = CreateProjectile('ink', -240 , - 64)
  224.                         local wheelR = CreateProjectile('ink', - -240 , - 64)
  225.             wheelL.SetVar('timerw', 0)
  226.             wheelL.SetVar('offsetw', math.pi * 2 * i / (numbullets/3))
  227.             wheelL.SetVar('negmult', mult)
  228.             wheelL.SetVar('lerpw', 0)
  229.                         wheelL.SetVar('velxw',1)
  230.                         wheelL.SetVar('placer',place)
  231.                         wheelR.SetVar('timerw', 0)
  232.             wheelR.SetVar('offsetw', math.pi * 2 * i / (numbullets/3))
  233.             wheelR.SetVar('negmult', mult)
  234.             wheelR.SetVar('lerpw', 0)
  235.                         wheelR.SetVar('velxw',-1)
  236.                         wheelR.SetVar('placer',place)
  237.                         county = county + 1
  238.                         if county == 4 then
  239.                                 place = place + 22.666
  240.                                 county = 0
  241.                         end
  242.             table.insert(wheels, wheelR)
  243.                         table.insert(wheels, wheelL)
  244.         end
  245.     end
  246.  
  247.     for i=1,#spinners do
  248.         local bullet = spinners[i]
  249.                 local placer = bullet.GetVar('placer')
  250.         local timer = bullet.GetVar('timer')
  251.         local offset = bullet.GetVar('offset')
  252.         local lerp = bullet.GetVar('lerp')
  253.                 local velx = bullet.GetVar('velx')
  254.         local posx = ((lerp * 3+1)*spinnersout)*math.sin(-velx * timer*8.8 + offset)
  255.         local posy = ((lerp * 3+1)*spinnersout)*math.cos(-velx * timer*8.8 + offset)
  256.         bullet.MoveTo(posx, posy)
  257.         lerp = lerp + spinnersgo
  258.         bullet.SetVar('lerp', lerp)
  259.                 bullet.SetVar('timer', timer + 1/100)
  260.     end
  261.        
  262.         for i=1,#bigshots do
  263.         -- set vurbles
  264.                 local bullet = bigshots[i]
  265.                 if bullet.isactive == true then
  266.                 local timer = bullet.GetVar('timer')
  267.         local speed = bullet.GetVar('speed')
  268.                 local angle = bullet.GetVar('angle')
  269.                 local xspeed = bullet.GetVar('xspeed')
  270.         local yspeed = bullet.GetVar('yspeed')
  271.                 local anglefrick = bullet.GetVar('anglefrick')
  272.                 local xdifference = Player.x - bullet.x
  273.                 local ydifference = Player.y - bullet.y
  274.                 local length = math.abs(math.sqrt(xdifference^2 + ydifference^2))
  275.                 -- change the trajectory for the next frame so the bullet curves
  276.                 if(timer<30)then
  277.                         xspeed = math.cos(angle*math.pi / 180)*speed
  278.                         yspeed = math.sin(angle*math.pi / 180)*speed
  279.                         bullet.SetVar('angle', angle+anglefrick)
  280.                         bullet.SetVar('speed', speed*bulletfrick)
  281.                 elseif(timer%30 == 0 and timer < 60) then
  282.                         bullet.SetVar('xspeed', (xdifference/length)*4)
  283.                         bullet.SetVar('yspeed', (ydifference/length)*4)
  284.                 end
  285.                 timer = timer + 1
  286.                 bullet.SetVar('timer', timer)
  287.                 bullet.Move(xspeed*1.5, yspeed*1.5)
  288.                 if(bullet.x > 500)then
  289.                         bullet.Remove()
  290.                 elseif(bullet.x < -500) then
  291.                         bullet.Remove()
  292.                 elseif(bullet.y > 500)then
  293.                         bullet.Remove()
  294.                 elseif(bullet.y < -500)then
  295.                         bullet.Remove()
  296.                 end
  297.                 end
  298.     end
  299.  
  300.         for i=1,#dogs do
  301.         local dog = dogs[i]
  302.         local velx = dog.GetVar('velx')
  303.         local vely = dog.GetVar('vely')
  304.         local newposx = dog.x + velx * 1.2
  305.         local newposy = dog.y + vely
  306.         if newposx == 0 then
  307.             vely = 10
  308.                         velx = 0
  309.         end
  310.         vely = vely
  311.         dog.MoveTo(newposx, newposy)
  312.         dog.SetVar('vely', vely)
  313.     end
  314.        
  315.         for i=1,#linez do
  316.                 local Line = linez[i]
  317.                 if Line.isactive == true then
  318.                 local velx = Line.GetVar('velx')
  319.                 local vely = Line.GetVar('vely')
  320.                 local newposx = Line.x + velx / 3.5 * faster
  321.                 local newposy = Line.y + vely / 3.5 * faster
  322.                 Line.MoveTo(newposx,newposy)
  323.                 if(Line.x > 500)then
  324.                         Line.Remove()
  325.                 elseif(Line.x < -500) then
  326.                         Line.Remove()
  327.                 elseif(Line.y > 500)then
  328.                         Line.Remove()
  329.                 elseif(Line.y < -500)then
  330.                         Line.Remove()
  331.                 end
  332.                 end
  333.         end
  334.  
  335.  
  336.         for i=1,#wheels do
  337.         local Wheel = wheels[i]
  338.                 if Wheel.isactive == true then
  339.                 local placer = Wheel.GetVar('placer')
  340.         local timerw = Wheel.GetVar('timerw')
  341.         local offsetw = Wheel.GetVar('offsetw')
  342.         local lerpw = Wheel.GetVar('lerpw')
  343.                 local velxw = Wheel.GetVar('velxw')
  344.         local posxw = (placer)*math.sin(-velxw * timerw*3.8 + offsetw) - 380 * velxw + (lerpw) * velxw
  345.         local posyw = (placer)*math.cos(-velxw * timerw*3.8 + offsetw) - 64 * velxw
  346.         Wheel.MoveTo(posxw, posyw)
  347.         lerpw = lerpw + 1
  348.         Wheel.SetVar('lerpw', lerpw)
  349.                 Wheel.SetVar('timerw', timerw + 1/100)
  350.                 if timerw > 7.2 then
  351.                         Wheel.Remove()
  352.                 end
  353.                 end
  354.     end
  355. end