再整理落块后结算顺序
This commit is contained in:
@@ -1798,30 +1798,15 @@ do
|
|||||||
self.b2b=self.b2b+cc*50-50
|
self.b2b=self.b2b+cc*50-50
|
||||||
piece.special=true
|
piece.special=true
|
||||||
else
|
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)
|
self:showText(text.clear[cc],0,-30,35,'appear',(8-cc)*.3)
|
||||||
atk=cc-.5
|
atk=cc-.5
|
||||||
sendTime=20+int(atk*20)
|
sendTime=20+int(atk*20)
|
||||||
cscore=cscore+clearSCR[cc]
|
cscore=cscore+clearSCR[cc]
|
||||||
|
piece.special=false
|
||||||
|
end
|
||||||
|
|
||||||
|
if self.sound and(cc~=1 or dospin)then
|
||||||
|
VOC.play(clearVoice[cc],CHN)
|
||||||
end
|
end
|
||||||
|
|
||||||
--Combo bonus
|
--Combo bonus
|
||||||
@@ -1835,35 +1820,45 @@ do
|
|||||||
cscore=cscore+min(50*cmb,500)*(2*cc-1)
|
cscore=cscore+min(50*cmb,500)*(2*cc-1)
|
||||||
end
|
end
|
||||||
|
|
||||||
--PC/HPC effect
|
--PC/HPC
|
||||||
if piece.pc then
|
if clear and cc>=#C.bk then
|
||||||
self:showText(text.PC,0,-80,50,'flicker')
|
if CY==1 then
|
||||||
atk=max(atk,min(8+Stat.pc*2,16))
|
piece.pc=true
|
||||||
exblock=exblock+2
|
piece.special=true
|
||||||
sendTime=sendTime+120
|
self:showText(text.PC,0,-80,50,'flicker')
|
||||||
if Stat.row+cc>4 then
|
atk=max(atk,min(8+Stat.pc*2,16))
|
||||||
self.b2b=self.b2b+800
|
exblock=exblock+2
|
||||||
cscore=cscore+300*min(6+Stat.pc,10)
|
sendTime=sendTime+120
|
||||||
else
|
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
|
cscore=cscore+626
|
||||||
|
Stat.hpc=Stat.hpc+1
|
||||||
|
if self.sound then
|
||||||
|
SFX.play('pc')
|
||||||
|
VOC.play('half_clear',CHN)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
Stat.pc=Stat.pc+1
|
end
|
||||||
if self.sound then
|
|
||||||
SFX.play('pc')
|
if not piece.special then
|
||||||
VOC.play('perfect_clear',CHN)
|
self.b2b=max(self.b2b-250,0)
|
||||||
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
|
end
|
||||||
|
|
||||||
if self.b2b>1000 then
|
if self.b2b>1000 then
|
||||||
|
|||||||
Reference in New Issue
Block a user