垃圾行缓冲总数改为单独变量
This commit is contained in:
@@ -505,7 +505,7 @@ do--function checkWarning()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
GAME.warnLVL0=math.log(height-(P1.gameEnv.fieldH-5)+P1.atkBuffer.sum*.8)
|
GAME.warnLVL0=math.log(height-(P1.gameEnv.fieldH-5)+P1.atkBufferSum*.8)
|
||||||
end
|
end
|
||||||
local _=GAME.warnLVL
|
local _=GAME.warnLVL
|
||||||
if _<GAME.warnLVL0 then
|
if _<GAME.warnLVL0 then
|
||||||
|
|||||||
@@ -8,20 +8,18 @@ return{
|
|||||||
task=function(P)
|
task=function(P)
|
||||||
while true do
|
while true do
|
||||||
YIELD()
|
YIELD()
|
||||||
if P.control and P.atkBuffer.sum==0 then
|
if P.control and P.atkBufferSum==0 then
|
||||||
local p=#P.atkBuffer+1
|
local D=P.modeData
|
||||||
local B,D=P.atkBuffer,P.modeData
|
|
||||||
local t
|
|
||||||
if D.wave<20 then
|
if D.wave<20 then
|
||||||
t=1500-30*D.wave--1500~900
|
local t=1500-30*D.wave--1500~900
|
||||||
B[p]= {line=generateLine(P:RND(4,7)),amount=12,countdown=t,cd0=t,time=0,sent=false,lv=3}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(4,7)),amount=12,countdown=t,cd0=t,time=0,sent=false,lv=3})
|
||||||
B[p+1]= {line=generateLine(P:RND(3,8)),amount=10,countdown=t,cd0=t,time=0,sent=false,lv=4}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(3,8)),amount=10,countdown=t,cd0=t,time=0,sent=false,lv=4})
|
||||||
else
|
else
|
||||||
t=900-10*(D.wave-20)--900~600
|
local t=900-10*(D.wave-20)--900~600
|
||||||
B[p]= {line=generateLine(P:RND(10)),amount=14,countdown=t,cd0=t,time=0,sent=false,lv=4}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(10)),amount=14,countdown=t,cd0=t,time=0,sent=false,lv=4})
|
||||||
B[p+1]= {line=generateLine(P:RND(4,7)),amount=8,countdown=t,cd0=t,time=0,sent=false,lv=5}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(4,7)),amount=8,countdown=t,cd0=t,time=0,sent=false,lv=5})
|
||||||
end
|
end
|
||||||
B.sum=B.sum+22
|
P.atkBufferSum=P.atkBufferSum+22
|
||||||
P.stat.recv=P.stat.recv+22
|
P.stat.recv=P.stat.recv+22
|
||||||
D.wave=D.wave+1
|
D.wave=D.wave+1
|
||||||
if D.wave%10==0 then
|
if D.wave%10==0 then
|
||||||
|
|||||||
@@ -7,25 +7,24 @@ return{
|
|||||||
task=function(P)
|
task=function(P)
|
||||||
while true do
|
while true do
|
||||||
YIELD()
|
YIELD()
|
||||||
if P.control and P.atkBuffer.sum<4 then
|
if P.control and P.atkBufferSum<4 then
|
||||||
local p=#P.atkBuffer+1
|
local D=P.modeData
|
||||||
local B,D=P.atkBuffer,P.modeData
|
|
||||||
local s
|
local s
|
||||||
local t=800-10*D.wave--800~700~600~500
|
local t=800-10*D.wave--800~700~600~500
|
||||||
if D.wave<10 then
|
if D.wave<10 then
|
||||||
B[p]= {line=generateLine(P:RND(5,6)),amount=9,countdown=t,cd0=t,time=0,sent=false,lv=3}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(5,6)),amount=9,countdown=t,cd0=t,time=0,sent=false,lv=3})
|
||||||
B[p+1]= {line=generateLine(P:RND(4,7)),amount=11,countdown=t,cd0=t+62,time=0,sent=false,lv=4}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(4,7)),amount=11,countdown=t,cd0=t+62,time=0,sent=false,lv=4})
|
||||||
s=20
|
s=20
|
||||||
elseif D.wave<20 then
|
elseif D.wave<20 then
|
||||||
B[p]= {line=generateLine(P:RND(3,8)),amount=11,countdown=t,cd0=t,time=0,sent=false,lv=4}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(3,8)),amount=11,countdown=t,cd0=t,time=0,sent=false,lv=4})
|
||||||
B[p+1]= {line=generateLine(P:RND(4,7)),amount=13,countdown=t,cd0=t+62,time=0,sent=false,lv=5}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(4,7)),amount=13,countdown=t,cd0=t+62,time=0,sent=false,lv=5})
|
||||||
s=24
|
s=24
|
||||||
else
|
else
|
||||||
B[p]= {line=generateLine(P:RND(2)*9-8),amount=14,countdown=t,cd0=t,time=0,sent=false,lv=5}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(2)*9-8),amount=14,countdown=t,cd0=t,time=0,sent=false,lv=5})
|
||||||
B[p+1]= {line=generateLine(P:RND(3,8)),amount=14,countdown=t+62,cd0=t,time=0,sent=false,lv=5}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(3,8)),amount=14,countdown=t+62,cd0=t,time=0,sent=false,lv=5})
|
||||||
s=28
|
s=28
|
||||||
end
|
end
|
||||||
B.sum=B.sum+s
|
P.atkBufferSum=P.atkBufferSum+s
|
||||||
P.stat.recv=P.stat.recv+s
|
P.stat.recv=P.stat.recv+s
|
||||||
D.wave=D.wave+1
|
D.wave=D.wave+1
|
||||||
if D.wave%10==0 then
|
if D.wave%10==0 then
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ return{
|
|||||||
if D.counter>=t then
|
if D.counter>=t then
|
||||||
D.counter=0
|
D.counter=0
|
||||||
for _=1,4 do
|
for _=1,4 do
|
||||||
P.atkBuffer[#P.atkBuffer+1]={line=generateLine(P:RND(10)),amount=1,countdown=5*t,cd0=5*t,time=0,sent=false,lv=2}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(10)),amount=1,countdown=5*t,cd0=5*t,time=0,sent=false,lv=2})
|
||||||
end
|
end
|
||||||
P.atkBuffer.sum=P.atkBuffer.sum+4
|
P.atkBufferSum=P.atkBufferSum+4
|
||||||
P.stat.recv=P.stat.recv+4
|
P.stat.recv=P.stat.recv+4
|
||||||
D.wave=D.wave+1
|
D.wave=D.wave+1
|
||||||
if D.wave<=75 then
|
if D.wave<=75 then
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ return{
|
|||||||
if D.counter>=t then
|
if D.counter>=t then
|
||||||
D.counter=0
|
D.counter=0
|
||||||
for _=1,3 do
|
for _=1,3 do
|
||||||
P.atkBuffer[#P.atkBuffer+1]={line=generateLine(P:RND(10)),amount=1,countdown=2*t,cd0=2*t,time=0,sent=false,lv=1}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(10)),amount=1,countdown=2*t,cd0=2*t,time=0,sent=false,lv=1})
|
||||||
end
|
end
|
||||||
P.atkBuffer.sum=P.atkBuffer.sum+3
|
P.atkBufferSum=P.atkBufferSum+3
|
||||||
P.stat.recv=P.stat.recv+3
|
P.stat.recv=P.stat.recv+3
|
||||||
D.wave=D.wave+1
|
D.wave=D.wave+1
|
||||||
if D.wave<=90 then
|
if D.wave<=90 then
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ return{
|
|||||||
if P.control then
|
if P.control then
|
||||||
local D=P.modeData
|
local D=P.modeData
|
||||||
D.timer=D.timer+1
|
D.timer=D.timer+1
|
||||||
if D.timer>=math.max(60,150-2*D.wave)and P.atkBuffer.sum<4 then
|
if D.timer>=math.max(60,150-2*D.wave)and P.atkBufferSum<4 then
|
||||||
P.atkBuffer[#P.atkBuffer+1]={line=generateLine(P:RND(10)),amount=1,countdown=30,cd0=30,time=0,sent=false,lv=1}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(10)),amount=1,countdown=30,cd0=30,time=0,sent=false,lv=1})
|
||||||
P.atkBuffer.sum=P.atkBuffer.sum+1
|
P.atkBufferSum=P.atkBufferSum+1
|
||||||
P.stat.recv=P.stat.recv+1
|
P.stat.recv=P.stat.recv+1
|
||||||
if D.wave==45 then P:showTextF(text.maxspeed,0,-140,100,'appear',.6)end
|
if D.wave==45 then P:showTextF(text.maxspeed,0,-140,100,'appear',.6)end
|
||||||
D.timer=0
|
D.timer=0
|
||||||
|
|||||||
@@ -9,16 +9,17 @@ return{
|
|||||||
if P.control then
|
if P.control then
|
||||||
local D=P.modeData
|
local D=P.modeData
|
||||||
D.timer=D.timer+1
|
D.timer=D.timer+1
|
||||||
local B=P.atkBuffer
|
if D.timer>=math.max(60,180-2*D.wave)and P.atkBufferSum<15 then
|
||||||
if D.timer>=math.max(60,180-2*D.wave)and B.sum<15 then
|
local s
|
||||||
B[#B+1]=
|
if D.wave%3<2 then
|
||||||
D.wave%3<2 and
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(10)),amount=1,countdown=0,cd0=0,time=0,sent=false,lv=1})
|
||||||
{line=generateLine(P:RND(10)),amount=1,countdown=0,cd0=0,time=0,sent=false,lv=1}
|
s=1
|
||||||
or
|
else
|
||||||
{line=generateLine(P:RND(10)),amount=3,countdown=60,cd0=60,time=0,sent=false,lv=2}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(10)),amount=3,countdown=60,cd0=60,time=0,sent=false,lv=2})
|
||||||
local R=(D.wave%3<2 and 1 or 3)
|
s=3
|
||||||
B.sum=B.sum+R
|
end
|
||||||
P.stat.recv=P.stat.recv+R
|
P.atkBufferSum=P.atkBufferSum+s
|
||||||
|
P.stat.recv=P.stat.recv+s
|
||||||
if D.wave==60 then P:showTextF(text.maxspeed,0,-140,100,'appear',.6)end
|
if D.wave==60 then P:showTextF(text.maxspeed,0,-140,100,'appear',.6)end
|
||||||
D.timer=0
|
D.timer=0
|
||||||
D.wave=D.wave+1
|
D.wave=D.wave+1
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ return{
|
|||||||
if P.control then
|
if P.control then
|
||||||
local D=P.modeData
|
local D=P.modeData
|
||||||
D.timer=D.timer+1
|
D.timer=D.timer+1
|
||||||
if D.timer>=math.max(60,150-D.wave)and P.atkBuffer.sum<20 then
|
if D.timer>=math.max(60,150-D.wave)and P.atkBufferSum<20 then
|
||||||
local t=math.max(60,90-D.wave)
|
local t=math.max(60,90-D.wave)
|
||||||
P.atkBuffer[#P.atkBuffer+1]={line=generateLine(P:RND(10)),amount=4,countdown=t,cd0=t,time=0,sent=false,lv=3}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(10)),amount=4,countdown=t,cd0=t,time=0,sent=false,lv=3})
|
||||||
P.atkBuffer.sum=P.atkBuffer.sum+4
|
P.atkBufferSum=P.atkBufferSum+4
|
||||||
P.stat.recv=P.stat.recv+4
|
P.stat.recv=P.stat.recv+4
|
||||||
if D.wave==60 then P:showTextF(text.maxspeed,0,-140,100,'appear',.6)end
|
if D.wave==60 then P:showTextF(text.maxspeed,0,-140,100,'appear',.6)end
|
||||||
D.timer=0
|
D.timer=0
|
||||||
|
|||||||
@@ -9,14 +9,15 @@ return{
|
|||||||
if P.control then
|
if P.control then
|
||||||
local D=P.modeData
|
local D=P.modeData
|
||||||
D.timer=D.timer+1
|
D.timer=D.timer+1
|
||||||
if D.timer>=math.max(90,180-2*D.wave)and P.atkBuffer.sum<8 then
|
if D.timer>=math.max(90,180-2*D.wave)and P.atkBufferSum<8 then
|
||||||
local d=D.wave+1
|
local d=D.wave+1
|
||||||
P.atkBuffer[#P.atkBuffer+1]=
|
table.insert(P.atkBuffer,
|
||||||
d%4==0 and{line=generateLine(P:RND(10)),amount=1,countdown=60,cd0=60,time=0,sent=false,lv=1}or
|
d%4==0 and{line=generateLine(P:RND(10)),amount=1,countdown=60,cd0=60,time=0,sent=false,lv=1}or
|
||||||
d%4==1 and{line=generateLine(P:RND(10)),amount=2,countdown=70,cd0=70,time=0,sent=false,lv=1}or
|
d%4==1 and{line=generateLine(P:RND(10)),amount=2,countdown=70,cd0=70,time=0,sent=false,lv=1}or
|
||||||
d%4==2 and{line=generateLine(P:RND(10)),amount=3,countdown=80,cd0=80,time=0,sent=false,lv=2}or
|
d%4==2 and{line=generateLine(P:RND(10)),amount=3,countdown=80,cd0=80,time=0,sent=false,lv=2}or
|
||||||
d%4==3 and{line=generateLine(P:RND(10)),amount=4,countdown=90,cd0=90,time=0,sent=false,lv=3}
|
d%4==3 and{line=generateLine(P:RND(10)),amount=4,countdown=90,cd0=90,time=0,sent=false,lv=3}
|
||||||
P.atkBuffer.sum=P.atkBuffer.sum+d%4+1
|
)
|
||||||
|
P.atkBufferSum=P.atkBufferSum+d%4+1
|
||||||
P.stat.recv=P.stat.recv+d%4+1
|
P.stat.recv=P.stat.recv+d%4+1
|
||||||
if D.wave==45 then P:showTextF(text.maxspeed,0,-140,100,'appear',.6)end
|
if D.wave==45 then P:showTextF(text.maxspeed,0,-140,100,'appear',.6)end
|
||||||
D.timer=0
|
D.timer=0
|
||||||
|
|||||||
@@ -11,14 +11,13 @@ return{
|
|||||||
if P.control then
|
if P.control then
|
||||||
local D=P.modeData
|
local D=P.modeData
|
||||||
D.timer=D.timer+1
|
D.timer=D.timer+1
|
||||||
if D.timer>=math.max(300,600-10*D.wave)and P.atkBuffer.sum<20 then
|
if D.timer>=math.max(300,600-10*D.wave)and P.atkBufferSum<20 then
|
||||||
local t=math.max(300,480-12*D.wave)
|
local t=math.max(300,480-12*D.wave)
|
||||||
local p=#P.atkBuffer+1
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(10)),amount=4,countdown=t,cd0=t,time=0,sent=false,lv=2})
|
||||||
P.atkBuffer[p] ={line=generateLine(P:RND(10)),amount=4,countdown=t,cd0=t,time=0,sent=false,lv=2}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(10)),amount=4,countdown=t,cd0=t,time=0,sent=false,lv=3})
|
||||||
P.atkBuffer[p+1]={line=generateLine(P:RND(10)),amount=4,countdown=t,cd0=t,time=0,sent=false,lv=3}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(10)),amount=6,countdown=1.2*t,cd0=1.2*t,time=0,sent=false,lv=4})
|
||||||
P.atkBuffer[p+2]={line=generateLine(P:RND(10)),amount=6,countdown=1.2*t,cd0=1.2*t,time=0,sent=false,lv=4}
|
table.insert(P.atkBuffer,{line=generateLine(P:RND(10)),amount=6,countdown=1.5*t,cd0=1.5*t,time=0,sent=false,lv=5})
|
||||||
P.atkBuffer[p+3]={line=generateLine(P:RND(10)),amount=6,countdown=1.5*t,cd0=1.5*t,time=0,sent=false,lv=5}
|
P.atkBufferSum=P.atkBufferSum+20
|
||||||
P.atkBuffer.sum=P.atkBuffer.sum+20
|
|
||||||
P.stat.recv=P.stat.recv+20
|
P.stat.recv=P.stat.recv+20
|
||||||
if D.wave==31 then P:showTextF(text.maxspeed,0,-140,100,'appear',.6)end
|
if D.wave==31 then P:showTextF(text.maxspeed,0,-140,100,'appear',.6)end
|
||||||
D.timer=0
|
D.timer=0
|
||||||
|
|||||||
@@ -127,7 +127,8 @@ local function newEmptyPlayer(id,mini)
|
|||||||
for i=1,10 do P.dropTime[i]=-1e99 end
|
for i=1,10 do P.dropTime[i]=-1e99 end
|
||||||
|
|
||||||
P.field,P.visTime={},{}
|
P.field,P.visTime={},{}
|
||||||
P.atkBuffer={sum=0}
|
P.atkBuffer={}
|
||||||
|
P.atkBufferSum=0
|
||||||
|
|
||||||
--Royale-related
|
--Royale-related
|
||||||
P.badge,P.strength=0,0
|
P.badge,P.strength=0,0
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ function Player:garbageRelease()--Check garbage buffer and try to release them
|
|||||||
local A=self.atkBuffer[n]
|
local A=self.atkBuffer[n]
|
||||||
if A and A.countdown<=0 and not A.sent then
|
if A and A.countdown<=0 and not A.sent then
|
||||||
self:garbageRise(19+A.lv,A.amount,A.line)
|
self:garbageRise(19+A.lv,A.amount,A.line)
|
||||||
self.atkBuffer.sum=self.atkBuffer.sum-A.amount
|
self.atkBufferSum=self.atkBufferSum-A.amount
|
||||||
A.sent,A.time=true,0
|
A.sent,A.time=true,0
|
||||||
self.stat.pend=self.stat.pend+A.amount
|
self.stat.pend=self.stat.pend+A.amount
|
||||||
n=n+1
|
n=n+1
|
||||||
@@ -371,14 +371,11 @@ end
|
|||||||
function Player:receive(A,send,time,line)
|
function Player:receive(A,send,time,line)
|
||||||
self.lastRecv=A
|
self.lastRecv=A
|
||||||
local B=self.atkBuffer
|
local B=self.atkBuffer
|
||||||
if send+B.sum>self.gameEnv.bufferLimit then send=self.gameEnv.bufferLimit-B.sum end
|
if send+self.atkBufferSum>self.gameEnv.bufferLimit then send=self.gameEnv.bufferLimit-self.atkBufferSum end
|
||||||
if send>0 then
|
if send>0 then
|
||||||
local m,k=#B,1
|
local m,k=#B,1
|
||||||
while k<=m and time>B[k].countdown do k=k+1 end
|
while k<=m and time>B[k].countdown do k=k+1 end
|
||||||
for i=m,k,-1 do
|
ins(B,k,{
|
||||||
B[i+1]=B[i]
|
|
||||||
end
|
|
||||||
B[k]={
|
|
||||||
line=line,
|
line=line,
|
||||||
amount=send,
|
amount=send,
|
||||||
countdown=time,
|
countdown=time,
|
||||||
@@ -386,8 +383,8 @@ function Player:receive(A,send,time,line)
|
|||||||
time=0,
|
time=0,
|
||||||
sent=false,
|
sent=false,
|
||||||
lv=min(int(send^.69),5),
|
lv=min(int(send^.69),5),
|
||||||
}--Sorted insert(by time)
|
})--Sorted insert(by time)
|
||||||
B.sum=B.sum+send
|
self.atkBufferSum=self.atkBufferSum+send
|
||||||
self.stat.recv=self.stat.recv+send
|
self.stat.recv=self.stat.recv+send
|
||||||
if self.sound then
|
if self.sound then
|
||||||
SFX.play(send<4 and'blip_1'or'blip_2',min(send+1,5)*.1)
|
SFX.play(send<4 and'blip_1'or'blip_2',min(send+1,5)*.1)
|
||||||
@@ -812,7 +809,7 @@ function Player:cancel(N)--Cancel Garbage
|
|||||||
local off=0--Lines offseted
|
local off=0--Lines offseted
|
||||||
local bf=self.atkBuffer
|
local bf=self.atkBuffer
|
||||||
for i=1,#bf do
|
for i=1,#bf do
|
||||||
if bf.sum==0 or N==0 then break end
|
if self.atkBufferSum==0 or N==0 then break end
|
||||||
local A=bf[i]
|
local A=bf[i]
|
||||||
if not A.sent then
|
if not A.sent then
|
||||||
local O=min(A.amount,N)--Cur Offset
|
local O=min(A.amount,N)--Cur Offset
|
||||||
@@ -822,7 +819,7 @@ function Player:cancel(N)--Cancel Garbage
|
|||||||
A.sent,A.time=true,0
|
A.sent,A.time=true,0
|
||||||
end
|
end
|
||||||
off=off+O
|
off=off+O
|
||||||
bf.sum=bf.sum-O
|
self.atkBufferSum=self.atkBufferSum-O
|
||||||
N=N-O
|
N=N-O
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -1699,7 +1696,7 @@ function Player:lose(force)
|
|||||||
A.time=0
|
A.time=0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
self.atkBuffer.sum=0
|
self.atkBufferSum=0
|
||||||
|
|
||||||
for i=1,h do
|
for i=1,h do
|
||||||
self:createClearingFX(i,1.5)
|
self:createClearingFX(i,1.5)
|
||||||
|
|||||||
Reference in New Issue
Block a user