aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets.lua2
-rw-r--r--desktop.lua10
-rw-r--r--dialogue.lua14
-rw-r--r--main.lua9
-rw-r--r--panel.lua4
-rw-r--r--system.lua2
-rw-r--r--var.lua10
-rw-r--r--virus1.lua7
-rw-r--r--virus2.lua276
9 files changed, 280 insertions, 54 deletions
diff --git a/assets.lua b/assets.lua
index 4827a93..c249950 100644
--- a/assets.lua
+++ b/assets.lua
@@ -182,7 +182,7 @@ function loadAssets(id)
tent1 = love.graphics.newImage("assets/tentacle1.png"),
tent2 = love.graphics.newImage("assets/tentacle2.png"),
lidup = love.graphics.newImage("assets/v1_upper_eyelid.png"),
- lidlow = love.graphics.newImage("assets/v1_lower_eyelid.png")
+ lidlow = love.graphics.newImage("assets/v1_lower_eyelid.png"),
voice = love.audio.newSource("assets/virus1_voice.ogg")
}
end
diff --git a/desktop.lua b/desktop.lua
index e40fb2e..63ea467 100644
--- a/desktop.lua
+++ b/desktop.lua
@@ -45,6 +45,16 @@ function drawDesktop()
love.graphics.draw(v1.fadeImg,v1.t.x,0,0,2*sys.sw,sys.h)
love.graphics.draw(v1.fadeImg,sys.w-v1.t.x,sys.h,math.rad(180),2*sys.sw,sys.h)
end
+ if scene == 3 and v2.c.chat.msgs >= 26 then
+ if v2.fadeThing <= -30 then
+ v2.fadeThing = v2.fadeThing + delta*100
+ else
+ v2.fadeThing = -30
+ end
+ love.graphics.setColor(0,0,0,235)
+ love.graphics.draw(v1.fadeImg,v2.fadeThing,0,0,2*sys.sw,sys.h)
+ love.graphics.draw(v1.fadeImg,sys.w-v2.fadeThing,sys.h,math.rad(180),2*sys.sw,sys.h)
+ end
for i=1,6 do
drawIcon(i)
checkIcon(i)
diff --git a/dialogue.lua b/dialogue.lua
index 7650319..da9159b 100644
--- a/dialogue.lua
+++ b/dialogue.lua
@@ -149,9 +149,17 @@ function loadDia()
v2.msgs[20] = "Ah, There it is! Fun! You better not disapoint me, I want some action!"
v2.msgs[22] = "Remember, The more popups are open, the faster I make money!"
v2.msgs[23] = "Now, let's begin."
- v2.msgs[25] = "No! You won't beat me! I will beat you! Behold my ultimate power!!!"
- v2.msgs[27] = "Well, I'm done. If you survived that, then theres nothing else I can do..."
- v2.msgs[28] = "I know this is the end for me, right? You're going to kill me now."
+ v2.msgs[25] = "No! You can't beat me! This is ridicilous!"
+ v2.msgs[26] = "Screw the popups, no amount of money is worth dying for! I'll just attack you directly!"
+ v2.msgs[27] = "Sucks for you! You have to care about your own health now!"
+ v2.msgs[28] = "I'm not the one whose going to die today, that's for sure!"
+ v2.msgs[29] = "I refuse to die like that green tentacled idiot! Time for you to face my full power!"
+ v2.msgs[31] = "WOAH WOAH WOAH! WAIT! WAIT!!!"
+ v2.msgs[32] = "We don't have to end it like this! Could we... work something out?"
+ v2.msgs[33] = "I could give you money! Tons of money! Please, just let me live..."
+ v2.msgs[34] = "PSYCH! GOT YA! YOU FELL RIGHT INTO MY TRAP! YOU ARE GOING DOWN RIGHT HERE RIGHT NOW!"
+ v2.msgs[35] = "IT'S ABOUT TIME FOR YOU TO FUCKING DIE! BECAUSE I WON'T! I REFUSE! I'LL SEE YOU IN HELL!"
+ v2.msgs[36] = "AAAAAAAHAHAHAHAAHAHAHAHAHAHAHAAHAHAHAAHAHAHAAHAHAHAHAHAAHAHAHAHAHAHAHAHAHAHAHA!!!"
end
function chatReply(m)
if string.find(m, "virus") ~= nil and msg.c > 6 then
diff --git a/main.lua b/main.lua
index 8ab39d5..6a9b923 100644
--- a/main.lua
+++ b/main.lua
@@ -88,8 +88,13 @@ function love.keyreleased(key)
end
end
if key == "f10" then
- v1.c.health = v1.c.health - 5
- v1.spm = v1.spm + 0.5*(sys.h/1080)
+ if scene == 2 then
+ v1.c.health = v1.c.health - 5
+ v1.spm = v1.spm + 0.5*(sys.h/1080)
+ elseif scene == 3 then
+ v2.c.health = v2.c.health - 5
+ v2.spm = v2.spm + 0.20*(sys.h/1080)
+ end
end
if key == "escape" then
pause.esc = false
diff --git a/panel.lua b/panel.lua
index 04394e3..277153c 100644
--- a/panel.lua
+++ b/panel.lua
@@ -71,7 +71,7 @@ function drawStart()
start.o = true
end
end
- if v1.c.chat.msgs > 35 and v1.yes == true then
+ if v1.c.chat.msgs > 35 and v1.yes == true and scene == 2 then
drawDownBox(sys.w/2+166-250, panel.s.y, 101*2, panel.s.height,2)
love.graphics.setColor(100,0,0)
love.graphics.rectangle("fill",sys.w/2+166+1-250, panel.s.y+1, 200, panel.s.height-2)
@@ -85,7 +85,7 @@ function drawStart()
love.graphics.print("TIMER: " .. v1.fightMinute .. ":" .. math.floor(-(v1.fightTimer-60)), sys.w/2+130, panel.s.y+6)
end
end
- if v2.c.chat.msgs >= 24 and v2.start == true then
+ if v2.c.chat.msgs >= 24 and v2.start == true and scene == 3 then
drawDownBox(sys.w/2+166-250, panel.s.y, 101*2, panel.s.height,2)
love.graphics.setColor(100,0,0)
love.graphics.rectangle("fill",sys.w/2+166+1-250, panel.s.y+1, 200, panel.s.height-2)
diff --git a/system.lua b/system.lua
index d4386f9..dd0423d 100644
--- a/system.lua
+++ b/system.lua
@@ -11,7 +11,7 @@ function updateSystem(dt)
chat.status = 1
msgssent = msgssent + 1
end
- if v1.complete == true and v2.start == false then
+ if v1.complete == true and v2.start == false and v2.complete == false then
v2.startTime = v2.startTime + dt
if v2.startTime >= 20 then
v2.start = true
diff --git a/var.lua b/var.lua
index cb634fb..9367bc8 100644
--- a/var.lua
+++ b/var.lua
@@ -95,6 +95,7 @@ function loadVar()
av.shake = 0
av.shakex = 0
av.shakey = 0
+ av.health = 40
chat.status = 0
chat.profilename = "Best Friend"
chat.msg = ""
@@ -244,7 +245,16 @@ function loadVar()
v2.nextAttack = 20
v2.popupTimer = 60
v2.shotgunTimer = 10
+ v2.musicfade = 1
+ v2.rowTimer = 0.5
+ v2.rowGun = 0
+ v2.rowDown = 0
+ v2.rowLeft = false
v2.prevChar = 0
+ v2.fadeThing = -1000*sys.sw
+ v2.v1gun = 203
+ v2.v1gunTimer = 1
+ v2.v1gunFire = false
expl.deb[1].x = 0
expl.deb[1].y = 0
expl.deb[1].ym = 5
diff --git a/virus1.lua b/virus1.lua
index 7dd3d30..638f449 100644
--- a/virus1.lua
+++ b/virus1.lua
@@ -579,6 +579,8 @@ function drawBullets()
love.graphics.draw(v1.bullet, v1.bullets[i].x, v1.bullets[i].y, v1.bullets[i].a, 1.5, 1.5, 23/2, 7)
elseif v1.bullets[i].id == 5 then
love.graphics.draw(v1.bulletYellow, v1.bullets[i].x, v1.bullets[i].y, v1.bullets[i].a, 1.5, 1.5, 23/2, 7)
+ elseif v1.bullets[i].id == 6 then
+ love.graphics.draw(antivirus.bullet, v1.bullets[i].x, v1.bullets[i].y, v1.bullets[i].a, 1.5, 1.5, 23/2, 7)
end
if v1.bullets[i].x < 0 or v1.bullets[i].x > sys.w or v1.bullets[i].y < 0 or v1.bullets[i].y > sys.h then
v1.bullets[i].rm = true
@@ -602,6 +604,9 @@ function drawBullets()
win[4].hover = false
win[4].crazy = true
av.shake = 4
+ elseif v1.bullets[i].id == 6 then
+ av.health = av.health - 5
+ av.shake = 6
end
if antivirus.hit:isPlaying() == true then
antivirus.hit:rewind()
@@ -615,6 +620,7 @@ function drawBullets()
end
end
for i=1,#av.bullets do
+ if av.bullets[i] ~= nil then
av.bullets[i].spx = av.bullets[i].s * math.cos(av.bullets[i].a)
av.bullets[i].spy = av.bullets[i].s * math.sin(av.bullets[i].a)
av.bullets[i].x = av.bullets[i].x + av.bullets[i].spx
@@ -682,6 +688,7 @@ function drawBullets()
end
end
end
+end
function chargeStencil()
love.graphics.rectangle("fill", win[4].x+138/2+79, win[4].y+40+40, 40, -av.charge)
end
diff --git a/virus2.lua b/virus2.lua
index 5bdd6aa..dd42d54 100644
--- a/virus2.lua
+++ b/virus2.lua
@@ -6,18 +6,31 @@ function drawVirusFight2()
drawAntivirusFight()
drawPopups()
love.graphics.print(#v2.sg)
- if v2.fightStart == true then
+ if v2.fightStart == true and v2.c.chat.msgs == 24 or v2.c.chat.msgs == 30 then
v2.fightTimer = v2.fightTimer + delta
- v2.c.money = v2.c.money + delta*(#v2.pop.p+1)
+ if v2.c.chat.msgs == 24 then
+ v2.c.money = v2.c.money + delta*(#v2.pop.p+1)
+ elseif v2.c.chat.msgs == 30 then
+ v2.rowTimer = v2.rowTimer - delta
+ end
v2.attackNextTimer = v2.attackNextTimer + delta
v2.attackTimer = v2.attackTimer - delta
if v2.c.health <= 40 and v2.currentAttack ~= "shotgunRow" and v2.currentAttack ~= "shotgun" then
v2.shotgunTimer = v2.shotgunTimer - delta
end
+ elseif v2.fightStart == true and v2.c.chat.msgs >= 33 then
+ v2.rowTimer = v2.rowTimer - delta
+ if v2.c.chat.msgs == 36 then
+ v2.v1gunTimer = v2.v1gunTimer - delta
+ end
end
if v2.c.health <= 40 and v2.shotgunTimer <= 0 then
v2FireShotgun()
- v2.shotgunTimer = math.random(15,25)/di
+ if v2.c.chat.msgs == 24 then
+ v2.shotgunTimer = math.random(15,25)/di
+ elseif v2.c.chat.msgs == 30 then
+ v2.shotgunTimer = math.random(5,10)/di
+ end
end
if v2.currentAttack == "first" then
v2FirstAttack()
@@ -45,41 +58,61 @@ function drawVirusFight2()
assholeShotgunAttack()
elseif v2.currentAttack == "targetShotgun" then
targetShotgunAttack()
+ elseif v2.currentAttack == "shotgunFinalRow" then
+ v2ShotgunFinalRowAttack()
+ end
+ if v2.c.chat.msgs == 30 then
+ v2ShotgunFinalRandomRowAttack()
end
if v2.nextAttack <= v2.attackNextTimer then
- local na = math.random(1,12)
- if na == 1 then
- v2.currentAttack = "rShotgun"
- elseif na == 2 then
- v2.currentAttack = "shotgunRow"
- elseif na == 3 then
- v2.currentAttack = "popup"
- elseif na == 4 then
- v2.currentAttack = "popupShotgun"
- elseif na == 5 then
- v2.currentAttack = "shotgunBundle"
- elseif na == 6 then
- v2.currentAttack = "shotgunWheel"
- elseif na == 7 then
- v2.currentAttack = "shotgunFast"
- elseif na == 8 then
- v2.currentAttack = "shotgun"
- elseif na == 9 then
- v2.currentAttack = "shotgunSpiral"
- elseif na == 10 then
- v2.currentAttack = "centerShotgun"
- elseif na == 11 then
- v2.currentAttack = "assholeShotgun"
- elseif na == 12 then
- v2.currentAttack = "targetShotgun"
- end
- v2.nextAttack = math.random(5,15)
- if na == 3 or na == 4 then
- v2.nextAttack = 5
+ if v2.c.chat.msgs == 24 then
+ local na = math.random(1,12)
+ if na == 1 then
+ v2.currentAttack = "rShotgun"
+ elseif na == 2 then
+ v2.currentAttack = "shotgunRow"
+ elseif na == 3 then
+ v2.currentAttack = "popup"
+ elseif na == 4 then
+ v2.currentAttack = "popupShotgun"
+ elseif na == 5 then
+ v2.currentAttack = "shotgunBundle"
+ elseif na == 6 then
+ v2.currentAttack = "shotgunWheel"
+ elseif na == 7 then
+ v2.currentAttack = "shotgunFast"
+ elseif na == 8 then
+ v2.currentAttack = "shotgun"
+ elseif na == 9 then
+ v2.currentAttack = "shotgunSpiral"
+ elseif na == 10 then
+ v2.currentAttack = "centerShotgun"
+ elseif na == 11 then
+ v2.currentAttack = "assholeShotgun"
+ elseif na == 12 then
+ v2.currentAttack = "targetShotgun"
+ end
+ v2.nextAttack = math.random(5,15)
+ if na == 3 or na == 4 then
+ v2.nextAttack = 5
+ end
+ end
+ if v2.c.chat.msgs == 30 then
+ local na = math.random(1,4)
+ if na == 1 then
+ v2.currentAttack = "rShotgun"
+ elseif na == 2 then
+ v2.currentAttack = "shotgunRow"
+ elseif na == 3 then
+ v2.currentAttack = "shotgunBundle"
+ elseif na == 4 then
+ v2.currentAttack = "shotgun"
+ end
+ v2.nextAttack = math.random(10,15)
end
v2.attackNextTimer = 0
end
- if v2.fightTimer >= v2.popupTimer then
+ if v2.fightTimer >= v2.popupTimer and v2.c.chat.msgs == 24 then
v2.popupTimer = v2.popupTimer + math.random(20,40)/di
addPopup(true)
end
@@ -165,10 +198,87 @@ function drawVirusFight2()
elseif v2.c.health <= 40 then
v2.c.handp = "gunpoint"
end
- end
- if v2.fightStart == true then
+ if v2.c.health == 30 then
+ v2.c.chat.msgs = 25
+ v2.c.chat.char = 0
+ v2.c.chat.msg = ""
+ for i=1,#v2.pop.p do
+ v2.pop.p[i].exit = true
+ end
+ v2.currentAttack = "shotgunFinalRow"
+ v2.nextAttack = 15
+ end
+ elseif v2.c.chat.msgs == 30 then
+ if v2.c.health == 5 then
+ v2.c.chat.msgs = 31
+ v2.c.chat.char = 0
+ v2.c.chat.msg = ""
+ music.tension2:play()
+ music.tension2:seek(19.5,"seconds")
+ music.tension2:pause()
+ v2.c.xd = sys.w/2
+ v2.c.yd = sys.h/3
+ end
+ end
+ if v2.fightStart == true and v2.c.chat.msgs == 24 then
music.tension2:stop()
music.battle2:play()
+ elseif v2.fightStart == true and v2.c.chat.msgs == 26 then
+ music.battle2:stop()
+ music.battle2part2:play()
+ elseif v2.fightStart == true and v2.c.chat.msgs == 31 then
+ music.battle2part2:stop()
+ elseif v2.fightStart == true and v2.c.chat.msgs == 34 then
+ music.tension2:resume()
+ end
+ if v2.c.chat.msgs == 25 then
+ music.battle2:setVolume(v2.musicfade)
+ if v2.musicfade > 0 then
+ v2.musicfade = v2.musicfade - 0.05
+ else
+ v2.musicfade = 0
+ end
+ end
+ if v2.c.chat.msgs >= 34 then
+ v2ShotgunTrick()
+ love.graphics.setColor(255,255,255)
+ love.graphics.draw(v1.turret2Held, sys.w+v2.v1gun, v2.c.y, math.rad(90))
+ if v2.v1gun >= 25 then
+ v2.v1gun = v2.v1gun - delta*25
+ else
+ v2.v1gun = 25
+ end
+ if v2.v1gunFire == false and v2.v1gunTimer <= 0 then
+ addBullet(sys.w-175+v2.v1gun, v2.c.y+36+5,math.rad(180),20,"av")
+ addBullet(sys.w-175+v2.v1gun, v2.c.y+36+5,math.rad(180),22,"av")
+ addBullet(sys.w-175+v2.v1gun, v2.c.y+36+5,math.rad(180),25,"av")
+ addBullet(sys.w-175+v2.v1gun, v2.c.y+36+5,math.rad(180),27,"av")
+ addBullet(sys.w-175+v2.v1gun, v2.c.y+36+5,math.rad(180),30,"av")
+ music.tension2:stop()
+ if antivirus.laser:isPlaying() == true then
+ antivirus.laser:rewind()
+ else
+ antivirus.laser:play()
+ end
+ v2.v1gunFire = true
+ v1.explodeEndFrame = 1
+ end
+ end
+ if v2.c.health == -20 then
+ v2.complete = true
+ love.graphics.setColor(255,255,255)
+ love.graphics.draw(expl.pic, expl.frames[math.floor(v1.explodeEndFrame)], v2.c.x, v2.c.y, 0, 20, 20, 320/2,240/2)
+ v1.explodeEndFrame = v1.explodeEndFrame + 1*sys.s
+ v1.explosionSound:play()
+ if v1.explodeEndFrame >= 20 then
+ scene = 1
+ v2.start = false
+ win[4].w = 200
+ antivirus.status = "Virus Defeated"
+ win[4].update = true
+ time = 0
+ av.transform = false
+ end
end
end
function drawPopup(id)
@@ -331,17 +441,17 @@ function drawVirus2()
v2.c.y = v2.c.y + v2.c.spy
end
end
- if v2.currentAttack ~= "first" and v2.currentAttack ~= "centerShotgun" and v2.c.chat.msgs == 24 then
+ if v2.currentAttack ~= "first" and v2.currentAttack ~= "centerShotgun" and (v2.c.chat.msgs == 24 or v2.c.chat.msgs == 30) then
if v2.c.x == v2.c.xd and v2.c.y == v2.c.yd then
v2.c.xd = math.random(125, sys.w-125)
v2.c.yd = math.random(125, sys.h/2)
end
end
- if v2.shake > 0 and v2.c.chat.msgs == 24 then
+ if v2.shake > 0 and v2.c.chat.msgs >= 24 then
v2.shakex = math.random(v2.shake,-v2.shake)
v2.shakey = math.random(v2.shake,-v2.shake)
v2.shake = v2.shake - 0.3*sys.s
- elseif v2.shake < 0 and v1.c.chat.msgs == 24 then
+ elseif v2.shake < 0 and v1.c.chat.msgs >= 24 then
v2.shake = 0
v2.shakex = 0
v2.shakey = 0
@@ -522,7 +632,7 @@ function floatingShotgun()
-math.sin(v2.sg[i].r+math.rad(90))*(v2.sg[i].y-140-v2.sg[i].y)+v2.sg[i].x
local y3 = math.sin(v2.sg[i].r+math.rad(90))*(v2.sg[i].x-30-v2.sg[i].x)
+math.cos(v2.sg[i].r+math.rad(90))*(v2.sg[i].y-140-v2.sg[i].y)+v2.sg[i].y
- if v2.sg[i].b == 1 then
+ if v2.sg[i].b == 1 and v2.c.chat.msgs == 24 then
addBullet(x1,y1,v2.sg[i].r+math.rad(4),10,"v1",2)
addBullet(x3,y3,v2.sg[i].r-math.rad(4),10,"v1",2)
if math.random(1,8) == 8 then
@@ -530,8 +640,14 @@ function floatingShotgun()
else
addBullet(x2,y2,v2.sg[i].r,10,"v1",1)
end
- elseif v2.sg[i].b == 2 then
+ elseif v2.sg[i].b == 2 and v2.c.chat.msgs == 24 then
addBullet(x2,y2,v2.sg[i].r,10,"v1",2)
+ elseif v2.c.chat.msgs == 30 and v2.sg[i].b ~= 6 then
+ addBullet(x2,y2,v2.sg[i].r,10,"v1",6)
+ elseif v2.c.chat.msgs == 30 and v2.sg[i].b == 6 then
+ addBullet(x2,y2,v2.sg[i].r,math.random(20,29),"v1",1)
+ addBullet(x2,y2,v2.sg[i].r,math.random(30,39),"v1",1)
+ addBullet(x2,y2,v2.sg[i].r,math.random(40,49),"v1",1)
end
v2.sg[i].f = true
if v2.c.fire:isPlaying() == true then
@@ -689,11 +805,17 @@ function v2FireShotgun()
-math.sin(v2.gun.r+math.rad(90))*(v2.c.y+35-275-v2.c.y+35)+v2.c.x-82
local yy = math.sin(v2.gun.r+math.rad(70))*(v2.c.x-82+150-v2.c.x-82)
+math.cos(v2.gun.r+math.rad(90))*(v2.c.y+35-275-v2.c.y+35)+v2.c.y+35
- addBullet(xx,yy,v2.gun.r+math.rad(4),10,"v1",1)
- addBullet(xx,yy,v2.gun.r-math.rad(4),10,"v1",1)
- addBullet(xx,yy,v2.gun.r+math.rad(8),10,"v1",2)
- addBullet(xx,yy,v2.gun.r-math.rad(8),10,"v1",2)
- addBullet(xx,yy,v2.gun.r,10,"v1",5)
+ if v2.c.chat.msgs == 24 then
+ addBullet(xx,yy,v2.gun.r+math.rad(4),10,"v1",1)
+ addBullet(xx,yy,v2.gun.r-math.rad(4),10,"v1",1)
+ addBullet(xx,yy,v2.gun.r+math.rad(8),10,"v1",2)
+ addBullet(xx,yy,v2.gun.r-math.rad(8),10,"v1",2)
+ addBullet(xx,yy,v2.gun.r,10,"v1",5)
+ elseif v2.c.chat.msgs == 30 then
+ addBullet(xx,yy,v2.gun.r+math.rad(4),10,"v1",1)
+ addBullet(xx,yy,v2.gun.r-math.rad(4),10,"v1",1)
+ addBullet(xx,yy,v2.gun.r,10,"v1",1)
+ end
if v2.c.fire:isPlaying() == true then
v2.c.fire:rewind()
else
@@ -745,3 +867,67 @@ function targetShotgunAttack()
end
end
end
+function v2ShotgunTrick()
+ if v2.rowDown ~= 5 and v2.rowTimer <= 0 then
+ v2.rowTimer = 0.05
+ table.insert(v2.sg, 1, {x=v2.rowGun*100,y=100*v2.rowDown,r=math.rad(90),d=99999,b=6,t=0,op=0,ra=math.rad(45),rem=false,remp=false,f=false})
+ if v2.rowLeft == true then
+ v2.rowGun = v2.rowGun - 1
+ elseif v2.rowLeft == false then
+ v2.rowGun = v2.rowGun + 1
+ end
+ if v2.rowGun >= math.floor(sys.w/100) then
+ v2.rowLeft = true
+ v2.rowDown = v2.rowDown + 1
+ elseif v2.rowGun <= 0 then
+ v2.rowLeft = false
+ v2.rowDown = v2.rowDown + 1
+ end
+ if v2.c.cockgun:isPlaying() == true then
+ v2.c.cockgun:rewind()
+ else
+ v2.c.cockgun:play()
+ end
+ end
+end
+function v2ShotgunFinalRandomRowAttack()
+ if v2.rowTimer <= 0 then
+ v2.rowTimer = math.random(2,4)
+ for i=1,math.floor((sys.h/2.4)/80)+3 do
+ if v2.rowLeft == true then
+ if math.random(1,5) == 5 then
+ table.insert(v2.sg, 1, {x=100,y=sys.h-(i*80-50),r=math.rad(0),d=0.5,b=6,t=0,op=0,ra=math.rad(45),rem=false,remp=false,f=false})
+ end
+ v2.rowLeft = false
+ elseif v2.rowLeft == false then
+ if math.random(1,5) == 5 then
+ table.insert(v2.sg, 1, {x=sys.w-100,y=sys.h-(i*80-50),r=math.rad(180),d=0.5,b=6,t=0,op=0,ra=math.rad(45),rem=false,remp=false,f=false})
+ end
+ v2.rowLeft = true
+ end
+ end
+ if v2.c.cockgun:isPlaying() == true then
+ v2.c.cockgun:rewind()
+ else
+ v2.c.cockgun:play()
+ end
+ end
+end
+function v2ShotgunFinalRowAttack()
+ if v2.attackTimer <= 0 then
+ v2.attackTimer = 1.4
+ local hole = math.random(1,math.floor(sys.w/130)-2)
+ for i=1,math.floor(sys.w/130)+1 do
+ if i <= hole+2 and i >= hole then
+ table.insert(v2.sg, 1, {x=i*140-50,y=50,r=math.rad(90),d=1.2,b=1,t=0,op=0,ra=math.rad(45),rem=false,remp=false,f=false})
+ else
+ table.insert(v2.sg, 1, {x=i*140-50,y=150,r=math.rad(90),d=0.6,b=1,t=0,op=0,ra=math.rad(45),rem=false,remp=false,f=false})
+ end
+ end
+ if v2.c.cockgun:isPlaying() == true then
+ v2.c.cockgun:rewind()
+ else
+ v2.c.cockgun:play()
+ end
+ end
+end