cc techmino-alize 2

- builtin b2b gauge, attack and extra block systen
- builtin spawn position integration
This commit is contained in:
Imple Lee
2022-01-17 12:12:34 +08:00
committed by MrZ_26
parent 0e965eaaae
commit 9ddee1059c
2 changed files with 52 additions and 10 deletions

View File

@@ -681,7 +681,7 @@ function Player:getHolePos()--Get a good garbage-line hole position
end
end
function Player:garbageRelease()--Check garbage buffer and try to release them
local n,flag=1
local n=1
while true do
local A=self.atkBuffer[n]
if A and A.countdown<=0 and not A.sent then
@@ -690,14 +690,10 @@ function Player:garbageRelease()--Check garbage buffer and try to release them
A.sent,A.time=true,0
self.stat.pend=self.stat.pend+A.amount
n=n+1
flag=true
else
break
end
end
if flag and self.bot then
self.bot:updateField()
end
end
function Player:garbageRise(color,amount,line)--Release n-lines garbage to field
local _
@@ -1160,6 +1156,11 @@ function Player:resetBlock()--Reset Block's position and execute I*S
end
end
function Player:getNextSpawn()
local cur = self.nextQueue[1]
return int(self.gameEnv.fieldH+1-modf(cur.RS.centerPos[cur.id][cur.dir][1]))+ceil(self.fieldBeneath/30)
end
function Player:spin(d,ifpre)
local C=self.cur
local sc=C.RS.centerPos[C.id][C.dir]
@@ -1721,6 +1722,8 @@ do
end
end
local yomi = ""
piece.spin,piece.mini=dospin,false
piece.pc,piece.hpc=false,false
piece.special=false
@@ -1730,6 +1733,7 @@ do
cscore=(spinSCR[C.name]or spinSCR[8])[cc]
if self.b2b>800 then
self:showText(text.b3b..text.block[C.name]..text.spin.." "..text.clear[cc],0,-30,35,'stretch')
yomi = yomi..text.b3b..text.block[C.name]..text.spin.." "..text.clear[cc]
atk=b2bATK[cc]+cc*.5
exblock=exblock+1
cscore=cscore*2
@@ -1739,6 +1743,7 @@ do
end
elseif self.b2b>=50 then
self:showText(text.b2b..text.block[C.name]..text.spin.." "..text.clear[cc],0,-30,35,'spin')
yomi = yomi..text.b2b..text.block[C.name]..text.spin.." "..text.clear[cc]
atk=b2bATK[cc]
cscore=cscore*1.2
Stat.b2b=Stat.b2b+1
@@ -1747,11 +1752,13 @@ do
end
else
self:showText(text.block[C.name]..text.spin.." "..text.clear[cc],0,-30,45,'spin')
yomi = yomi..text.block[C.name]..text.spin.." "..text.clear[cc]
atk=2*cc
end
sendTime=20+atk*20
if mini then
self:showText(text.mini,0,-80,35,'appear')
yomi = text.mini..' '..yomi
atk=atk*.25
sendTime=sendTime+60
cscore=cscore*.5
@@ -1772,6 +1779,7 @@ do
cscore=clearSCR[cc]
if self.b2b>800 then
self:showText(text.b3b..text.clear[cc],0,-30,50,'fly')
yomi = text.b3b..text.clear[cc]..yomi
atk=4*cc-10
sendTime=100
exblock=exblock+1
@@ -1782,6 +1790,7 @@ do
end
elseif self.b2b>=50 then
self:showText(text.b2b..text.clear[cc],0,-30,50,'drive')
yomi = text.b2b..text.clear[cc]..yomi
sendTime=80
atk=3*cc-7
cscore=cscore*1.3
@@ -1791,6 +1800,7 @@ do
end
else
self:showText(text.clear[cc],0,-30,70,'stretch')
yomi = text.clear[cc]..yomi
sendTime=60
atk=2*cc-4
end
@@ -1798,6 +1808,7 @@ do
piece.special=true
else
self:showText(text.clear[cc],0,-30,35,'appear',(8-cc)*.3)
yomi = text.clear[cc]..yomi
atk=cc-.5
sendTime=20+int(atk*20)
cscore=cscore+clearSCR[cc]
@@ -1816,6 +1827,7 @@ do
atk=atk+1
end
self:showText(text.cmb[min(cmb,21)],0,25,15+min(cmb,15)*5,cmb<10 and'appear'or'flicker')
yomi = yomi..' '..text.cmb[min(cmb,21)]
cscore=cscore+min(50*cmb,500)*(2*cc-1)
end
@@ -2007,7 +2019,7 @@ do
--Check bot things
if self.bot then
self.bot:checkDest()
self.bot:checkDest(self.b2b,atk,exblock,yomi)
self.bot:updateB2B(self.b2b)
self.bot:updateCombo(self.combo)
end