- -- You've seen this one in the trailer (if you've seen the trailer).
- spawntimer = 1
- bigshots = {}
- spinners = {}
- spinnersroll = true
- dogs = {}
- dogsroll = true
- wheels = {}
- faster = 1.01
- linez = {}
- wheelsroll = true
- spinnersgo = 0
- spinnersout = 100
- mult = 0.5
- place = 22.666
- county = 0
- bulletfrick = 0.4
- mult = 2
- yOffset = 100
- xOffset = 0
- Encounter.SetVar("wavetimer",65)
- local numbullets = 20
- function OnHit(bullet)
- Player.Hurt(1, 0.01)
- end
- for i=1,numbullets do
- local spinner = CreateProjectile('ink', 0 , 50)
- spinner.SetVar('timer', 0)
- spinner.SetVar('offset', math.pi * 2 * i / (numbullets))
- spinner.SetVar('negmult', mult)
- spinner.SetVar('lerp', 0)
- spinner.SetVar('velx',-1)
- spinner.SetVar('placer',place)
- table.insert(spinners, spinner)
- end
- function OnHit(bullet)
- Player.Hurt(1, 0.01)
- end
- function Update()
- place = 22.666
- spawntimer = spawntimer + 1
- if(spawntimer % 30 == 0 and spawntimer < 200) then
- x = math.random(4)
- if x == 1 then
- xOffset = 230
- yOffset = 64
- elseif x == 2 then
- xOffset = -210
- yOffset = 64
- elseif x == 3 then
- xOffset = 230
- yOffset = -44
- else
- xOffset = -210
- yOffset = -44
- end
- local numbullets = 5
- for i=1,numbullets+1 do
- local bigshot = CreateProjectile('money', xOffset + math.random(20), yOffset + math.random(20))
- bigshot.SetVar('speed', 4)
- bigshot.SetVar('timer', 0)
- bigshot.SetVar('xspeed', 0)
- bigshot.SetVar('yspeed', 0)
- bigshot.SetVar('angle', (i*35)-220)
- if(i>3) then
- bigshot.SetVar('anglefrick',1*mult)
- else
- bigshot.SetVar('anglefrick',-1*mult)
- end
- table.insert(bigshots, bigshot)
- end
- elseif(spawntimer%1 == 0 and spawntimer > 200 and spawntimer < 300)then
- spinnersout = spinnersout - 0.3
- elseif(spawntimer % 30 == 0 and spawntimer > 300 and spawntimer < 500) then
- x = math.random(4)
- if x == 1 then
- xOffset = 230
- yOffset = 64
- elseif x == 2 then
- xOffset = -210
- yOffset = 64
- elseif x == 3 then
- xOffset = 230
- yOffset = -44
- else
- xOffset = -210
- yOffset = -44
- end
- local numbullets = 5
- for i=1,numbullets+1 do
- local bigshot = CreateProjectile('money', xOffset + math.random(20), yOffset + math.random(20))
- bigshot.SetVar('speed', 4)
- bigshot.SetVar('timer', 0)
- bigshot.SetVar('xspeed', 0)
- bigshot.SetVar('yspeed', 0)
- bigshot.SetVar('angle', (i*35)-220)
- if(i>3) then
- bigshot.SetVar('anglefrick',1*mult)
- else
- bigshot.SetVar('anglefrick',-1*mult)
- end
- table.insert(bigshots, bigshot)
- end
- elseif(spawntimer%1 == 0 and spawntimer > 500 and spawntimer < 600)then
- spinnersout = spinnersout - 0.225
- elseif(spawntimer%1 == 0 and spawntimer > 623 and spawntimer < 625)then
- bigshots = {}
- elseif(spawntimer%35 == 0 and spawntimer > 600 and spawntimer < 800)then
- x = math.random(4)
- if x == 1 then
- xOffset = 230
- yOffset = 64
- elseif x == 2 then
- xOffset = -210
- yOffset = 64
- elseif x == 3 then
- xOffset = 230
- yOffset = -44
- else
- xOffset = -210
- yOffset = -44
- end
- local numbullets = 5
- for i=1,numbullets+1 do
- local bigshot = CreateProjectile('money', xOffset + math.random(20), yOffset + math.random(20))
- bigshot.SetVar('speed', 4)
- bigshot.SetVar('timer', 0)
- bigshot.SetVar('xspeed', 0)
- bigshot.SetVar('yspeed', 0)
- bigshot.SetVar('angle', (i*35)-220)
- if(i>3) then
- bigshot.SetVar('anglefrick',1*mult)
- else
- bigshot.SetVar('anglefrick',-1*mult)
- end
- table.insert(bigshots, bigshot)
- end
- elseif(spawntimer % 50 == 0 and spawntimer > 800 and spawntimer < 1800) then
- faster = faster + 0.01
- corner = math.random(4)
- xHolder = 0
- yHolder = 0
- if corner == 1 then
- -- topright
- xOffset = 80
- yOffset = 104
- yPlacer = -9.4
- xPlacer = 0
- elseif corner == 2 then
- -- topleft
- xOffset = 120
- yOffset = 64
- yPlacer = 0
- xPlacer = -9.4
- elseif corner == 3 then
- -- bottomleft
- xOffset = -120
- yOffset = -64
- yPlacer = 0
- xPlacer = 9.4
- else
- --bottomright
- xOffset = -80
- yOffset = -104
- yPlacer = 9.4
- xPlacer = 0
- end
- numbullets = 8
- for i=1, numbullets do
- line = CreateProjectile('ink', xOffset + (yHolder + yPlacer), yOffset + (xHolder + xPlacer))
- xHolder = xHolder + xPlacer
- yHolder = yHolder + yPlacer
- line.SetVar('velx',xPlacer)
- line.SetVar('vely',yPlacer)
- table.insert(linez,line)
- end
- elseif(spawntimer%1 == 0 and spawntimer >1900 and spawntimer < 1902)then
- faster = 444
- elseif(spawntimer%1 == 0 and spawntimer > 1908 and spawntimer < 1910)then
- linez = {}
- elseif(spawntimer % 50 == 0 and spawntimer > 1910 and spawntimer < 2240)then
- DogRY = 65- math.random(30)
- DogR = CreateProjectile('ink', Arena.width/2+200, DogRY) --Right
- DogLY = DogRY
- DogL = CreateProjectile('ink', Arena.width/-2-200, DogLY) --left
- DogR.SetVar('velx',-3)
- DogL.SetVar('velx',3)
- DogR.SetVar('vely',0)
- DogL.SetVar('vely',0)
- table.insert(dogs, DogR)
- table.insert(dogs, DogL)
- local numbullets = 2
- for i=1, numbullets+1 do
- local posxR = Arena.width/2+200
- local posyR = DogRY - 40
- local posxL = Arena.width/-2-200
- local posyL = DogLY - 40
- DogRY = DogRY - 40
- DogLY = DogLY - 40
- local DogR = CreateProjectile('ink', posxR, posyR) --right
- local DogL = CreateProjectile('ink', posxL, posyL) ---left
- DogR.SetVar('velx',-3)
- DogL.SetVar('velx',3)
- DogR.SetVar('vely',0)
- DogL.SetVar('vely',0)
- table.insert(dogs, DogR)
- table.insert(dogs, DogL)
- end
- elseif(spawntimer % 1 == 0 and 2280 < spawntimer and 2340 > spawntimer)then
- Arena.resize(Arena.width + 8, Arena.height + 2)
- elseif(spawntimer % 1 == 0 and 2340 < spawntimer and 2342 > spawntimer)then
- Arena.resize(620,250)
- spinnersgo = 0.04
- elseif(spawntimer% 170 == 0 and 2400 < spawntimer)then
- spinners = {}
- dogs = {}
- local numbullets = 12
- for i=1,numbullets do
- local wheelL = CreateProjectile('ink', -240 , - 64)
- local wheelR = CreateProjectile('ink', - -240 , - 64)
- wheelL.SetVar('timerw', 0)
- wheelL.SetVar('offsetw', math.pi * 2 * i / (numbullets/3))
- wheelL.SetVar('negmult', mult)
- wheelL.SetVar('lerpw', 0)
- wheelL.SetVar('velxw',1)
- wheelL.SetVar('placer',place)
- wheelR.SetVar('timerw', 0)
- wheelR.SetVar('offsetw', math.pi * 2 * i / (numbullets/3))
- wheelR.SetVar('negmult', mult)
- wheelR.SetVar('lerpw', 0)
- wheelR.SetVar('velxw',-1)
- wheelR.SetVar('placer',place)
- county = county + 1
- if county == 4 then
- place = place + 22.666
- county = 0
- end
- table.insert(wheels, wheelR)
- table.insert(wheels, wheelL)
- end
- end
- for i=1,#spinners do
- local bullet = spinners[i]
- local placer = bullet.GetVar('placer')
- local timer = bullet.GetVar('timer')
- local offset = bullet.GetVar('offset')
- local lerp = bullet.GetVar('lerp')
- local velx = bullet.GetVar('velx')
- local posx = ((lerp * 3+1)*spinnersout)*math.sin(-velx * timer*8.8 + offset)
- local posy = ((lerp * 3+1)*spinnersout)*math.cos(-velx * timer*8.8 + offset)
- bullet.MoveTo(posx, posy)
- lerp = lerp + spinnersgo
- bullet.SetVar('lerp', lerp)
- bullet.SetVar('timer', timer + 1/100)
- end
- for i=1,#bigshots do
- -- set vurbles
- local bullet = bigshots[i]
- if bullet.isactive == true then
- local timer = bullet.GetVar('timer')
- local speed = bullet.GetVar('speed')
- local angle = bullet.GetVar('angle')
- local xspeed = bullet.GetVar('xspeed')
- local yspeed = bullet.GetVar('yspeed')
- local anglefrick = bullet.GetVar('anglefrick')
- local xdifference = Player.x - bullet.x
- local ydifference = Player.y - bullet.y
- local length = math.abs(math.sqrt(xdifference^2 + ydifference^2))
- -- change the trajectory for the next frame so the bullet curves
- if(timer<30)then
- xspeed = math.cos(angle*math.pi / 180)*speed
- yspeed = math.sin(angle*math.pi / 180)*speed
- bullet.SetVar('angle', angle+anglefrick)
- bullet.SetVar('speed', speed*bulletfrick)
- elseif(timer%30 == 0 and timer < 60) then
- bullet.SetVar('xspeed', (xdifference/length)*4)
- bullet.SetVar('yspeed', (ydifference/length)*4)
- end
- timer = timer + 1
- bullet.SetVar('timer', timer)
- bullet.Move(xspeed*1.5, yspeed*1.5)
- if(bullet.x > 500)then
- bullet.Remove()
- elseif(bullet.x < -500) then
- bullet.Remove()
- elseif(bullet.y > 500)then
- bullet.Remove()
- elseif(bullet.y < -500)then
- bullet.Remove()
- end
- end
- end
- for i=1,#dogs do
- local dog = dogs[i]
- local velx = dog.GetVar('velx')
- local vely = dog.GetVar('vely')
- local newposx = dog.x + velx * 1.2
- local newposy = dog.y + vely
- if newposx == 0 then
- vely = 10
- velx = 0
- end
- vely = vely
- dog.MoveTo(newposx, newposy)
- dog.SetVar('vely', vely)
- end
- for i=1,#linez do
- local Line = linez[i]
- if Line.isactive == true then
- local velx = Line.GetVar('velx')
- local vely = Line.GetVar('vely')
- local newposx = Line.x + velx / 3.5 * faster
- local newposy = Line.y + vely / 3.5 * faster
- Line.MoveTo(newposx,newposy)
- if(Line.x > 500)then
- Line.Remove()
- elseif(Line.x < -500) then
- Line.Remove()
- elseif(Line.y > 500)then
- Line.Remove()
- elseif(Line.y < -500)then
- Line.Remove()
- end
- end
- end
- for i=1,#wheels do
- local Wheel = wheels[i]
- if Wheel.isactive == true then
- local placer = Wheel.GetVar('placer')
- local timerw = Wheel.GetVar('timerw')
- local offsetw = Wheel.GetVar('offsetw')
- local lerpw = Wheel.GetVar('lerpw')
- local velxw = Wheel.GetVar('velxw')
- local posxw = (placer)*math.sin(-velxw * timerw*3.8 + offsetw) - 380 * velxw + (lerpw) * velxw
- local posyw = (placer)*math.cos(-velxw * timerw*3.8 + offsetw) - 64 * velxw
- Wheel.MoveTo(posxw, posyw)
- lerpw = lerpw + 1
- Wheel.SetVar('lerpw', lerpw)
- Wheel.SetVar('timerw', timerw + 1/100)
- if timerw > 7.2 then
- Wheel.Remove()
- end
- end
- end
- end