再整理落块后结算顺序

This commit is contained in:
MrZ_26
2022-01-19 23:04:46 +08:00
parent 856c490a2b
commit 5243ed0c6b

View File

@@ -1798,30 +1798,15 @@ do
self.b2b=self.b2b+cc*50-50
piece.special=true
else
piece.special=false
end
if self.sound and(cc~=1 or dospin)then
VOC.play(clearVoice[cc],CHN)
end
--PC/HPC check
if clear and cc>=#C.bk then
if CY==1 then
piece.pc=true
piece.special=true
elseif cc>1 or self.field[#self.field].garbage then
piece.hpc=true
piece.special=true
end
end
--Normal clear,reduce B2B point
if not piece.special then
self.b2b=max(self.b2b-250,0)
self:showText(text.clear[cc],0,-30,35,'appear',(8-cc)*.3)
atk=cc-.5
sendTime=20+int(atk*20)
cscore=cscore+clearSCR[cc]
piece.special=false
end
if self.sound and(cc~=1 or dospin)then
VOC.play(clearVoice[cc],CHN)
end
--Combo bonus
@@ -1835,35 +1820,45 @@ do
cscore=cscore+min(50*cmb,500)*(2*cc-1)
end
--PC/HPC effect
if piece.pc then
self:showText(text.PC,0,-80,50,'flicker')
atk=max(atk,min(8+Stat.pc*2,16))
exblock=exblock+2
sendTime=sendTime+120
if Stat.row+cc>4 then
self.b2b=self.b2b+800
cscore=cscore+300*min(6+Stat.pc,10)
else
--PC/HPC
if clear and cc>=#C.bk then
if CY==1 then
piece.pc=true
piece.special=true
self:showText(text.PC,0,-80,50,'flicker')
atk=max(atk,min(8+Stat.pc*2,16))
exblock=exblock+2
sendTime=sendTime+120
if Stat.row+cc>4 then
self.b2b=self.b2b+800
cscore=cscore+300*min(6+Stat.pc,10)
else
cscore=cscore+626
end
Stat.pc=Stat.pc+1
if self.sound then
SFX.play('pc')
VOC.play('perfect_clear',CHN)
end
elseif cc>1 or self.field[#self.field].garbage then
piece.hpc=true
piece.special=true
self:showText(text.HPC,0,-80,50,'fly')
atk=atk+4
exblock=exblock+2
sendTime=sendTime+60
self.b2b=self.b2b+100
cscore=cscore+626
Stat.hpc=Stat.hpc+1
if self.sound then
SFX.play('pc')
VOC.play('half_clear',CHN)
end
end
Stat.pc=Stat.pc+1
if self.sound then
SFX.play('pc')
VOC.play('perfect_clear',CHN)
end
elseif piece.hpc then
self:showText(text.HPC,0,-80,50,'fly')
atk=atk+4
exblock=exblock+2
sendTime=sendTime+60
self.b2b=self.b2b+100
cscore=cscore+626
Stat.hpc=Stat.hpc+1
if self.sound then
SFX.play('pc')
VOC.play('half_clear',CHN)
end
end
if not piece.special then
self.b2b=max(self.b2b-250,0)
end
if self.b2b>1000 then