68 lines
1.7 KiB
Lua
68 lines
1.7 KiB
Lua
local sectionName={"D","C","B","A","A+","S-","S","S+","S+","SS","SS","U","U","X","X+"}
|
|
local passPoint=16
|
|
local function score(P)
|
|
if P.modeData.rankPoint<140-passPoint then--If Less then X
|
|
local R=#P.clearedRow
|
|
if R>0 then
|
|
if R==4 then R=10 end--Techrash +10
|
|
P.modeData.rankPoint=math.min(P.modeData.rankPoint+R,140-passPoint)
|
|
P.modeData.rankName=sectionName[math.floor(P.modeData.rankPoint/10)+1]
|
|
end
|
|
end
|
|
end
|
|
|
|
return{
|
|
color=COLOR.lBlue,
|
|
env={
|
|
noTele=true,
|
|
minarr=1,
|
|
drop=0,lock=15,
|
|
wait=15,fall=6,
|
|
nextCount=3,
|
|
sequence='hisPool',
|
|
visible='fast',
|
|
freshLimit=15,
|
|
dropPiece=score,
|
|
noInitSZO=true,
|
|
task=function(P)
|
|
P.modeData.rankPoint=0
|
|
P.modeData.rankName=sectionName[1]
|
|
while true do
|
|
YIELD()
|
|
if P.stat.frame>=3600 then
|
|
P.modeData.rankPoint=math.min(P.modeData.rankPoint+passPoint,140)
|
|
P.modeData.rankName=sectionName[math.floor(P.modeData.rankPoint/10)+1]
|
|
P:win('finish')
|
|
return
|
|
end
|
|
end
|
|
end,
|
|
bg='blockspace',bgm='hope',
|
|
},
|
|
slowMark=true,
|
|
mesDisp=function(P)
|
|
mText(drawableText.line,63,300)
|
|
mText(drawableText.techrash,63,420)
|
|
mText(drawableText.grade,63,170)
|
|
setFont(55)
|
|
mStr(P.modeData.rankName,63,110)
|
|
setFont(20)
|
|
mStr(("%.1f"):format(P.modeData.rankPoint/10),63,198)
|
|
setFont(75)
|
|
mStr(P.stat.row,63,220)
|
|
mStr(P.stat.clears[4],63,340)
|
|
end,
|
|
score=function(P)return{P.modeData.rankPoint,P.stat.score}end,
|
|
scoreDisp=function(D)return sectionName[math.floor(D[1]/10)+1].." "..D[2]end,
|
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]>b[2]end,
|
|
getRank=function(P)
|
|
P=P.modeData.rankPoint
|
|
return
|
|
P==140 and 5 or
|
|
P>=110 and 4 or
|
|
P>=80 and 3 or
|
|
P>=50 and 2 or
|
|
P>=30 and 1 or
|
|
P>=10 and 0
|
|
end,
|
|
} |