玩家绘制代码调整
This commit is contained in:
12
modes/GM.lua
12
modes/GM.lua
@@ -40,14 +40,14 @@ return{
|
||||
players[1].modeData.event="M7"
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
mText(drawableText.line,-81,300)
|
||||
mText(drawableText.techrash,-81,420)
|
||||
mText(drawableText.grade,-81,170)
|
||||
mText(drawableText.line,69,370)
|
||||
mText(drawableText.techrash,69,490)
|
||||
mText(drawableText.grade,69,240)
|
||||
setFont(55)
|
||||
mStr(P.modeData.event,-81,110)
|
||||
mStr(P.modeData.event,69,180)
|
||||
setFont(75)
|
||||
mStr(P.stat.row,-81,220)
|
||||
mStr(P.stat.clears[4],-81,340)
|
||||
mStr(P.stat.row,69,290)
|
||||
mStr(P.stat.clears[4],69,410)
|
||||
end,
|
||||
score=function(P)return{P.modeData.point,P.stat.score}end,
|
||||
scoreDisp=function(D)return sectionName[int(D[1]*.1)+1].." "..D[2]end,
|
||||
|
||||
@@ -42,10 +42,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(55)
|
||||
mStr(P.modeData.event,-81,200)
|
||||
mStr("24",-81,320)
|
||||
mText(drawableText.wave,-81,260)
|
||||
mText(drawableText.nextWave,-81,380)
|
||||
mStr(P.modeData.event,69,340)
|
||||
mStr("24",69,390)
|
||||
mText(drawableText.wave,69,400)
|
||||
mText(drawableText.nextWave,69,520)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
||||
|
||||
@@ -51,14 +51,14 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(55)
|
||||
mStr(P.modeData.event,-81,200)
|
||||
mStr(P.modeData.event,69,270)
|
||||
mStr(
|
||||
P.modeData.event<10 and 22
|
||||
or P.modeData.event<20 and 25
|
||||
or 28
|
||||
,-81,320)
|
||||
mText(drawableText.wave,-81,260)
|
||||
mText(drawableText.nextWave,-81,380)
|
||||
,69,390)
|
||||
mText(drawableText.wave,69,330)
|
||||
mText(drawableText.nextWave,69,450)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
||||
|
||||
@@ -19,8 +19,6 @@ return{
|
||||
load=function()
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.extraRate}end,
|
||||
scoreDisp=function(D)return D[1].."Stage "..format("%.2f",D[2]).."%"end,
|
||||
comp=function(a,b)return a[1]>b[1]end,
|
||||
|
||||
@@ -14,11 +14,11 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
mText(drawableText.line,-81,300)
|
||||
mText(drawableText.techrash,-81,420)
|
||||
mText(drawableText.line,69,370)
|
||||
mText(drawableText.techrash,69,490)
|
||||
setFont(75)
|
||||
mStr(P.stat.row,-81,220)
|
||||
mStr(P.stat.clears[4],-81,340)
|
||||
mStr(P.stat.row,69,290)
|
||||
mStr(P.stat.clears[4],69,410)
|
||||
end,
|
||||
score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -18,13 +18,13 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
mText(drawableText.line,-81,300)
|
||||
mText(drawableText.techrash,-81,420)
|
||||
mText(drawableText.line,69,370)
|
||||
mText(drawableText.techrash,69,490)
|
||||
setFont(75)
|
||||
mStr(P.stat.row,-81,220)
|
||||
mStr(P.stat.clears[4],-81,340)
|
||||
mStr(P.stat.row,69,290)
|
||||
mStr(P.stat.clears[4],69,410)
|
||||
gc.setColor(1,1,1,.2)
|
||||
gc.draw(IMG.electric,-26,106,0,2.6)
|
||||
gc.draw(IMG.electric,124,176,0,2.6)
|
||||
end,
|
||||
score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -18,13 +18,13 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
mText(drawableText.line,-81,300)
|
||||
mText(drawableText.techrash,-81,420)
|
||||
mText(drawableText.line,69,370)
|
||||
mText(drawableText.techrash,69,490)
|
||||
setFont(75)
|
||||
mStr(P.stat.row,-81,220)
|
||||
mStr(P.stat.clears[4],-81,340)
|
||||
mStr(P.stat.row,69,290)
|
||||
mStr(P.stat.clears[4],69,410)
|
||||
gc.setColor(1,1,1,.2)
|
||||
gc.draw(IMG.electric,-26,106,0,2.6)
|
||||
gc.draw(IMG.electric,124,176,0,2.6)
|
||||
end,
|
||||
score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -15,13 +15,13 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
mText(drawableText.line,-81,300)
|
||||
mText(drawableText.techrash,-81,420)
|
||||
mText(drawableText.line,69,370)
|
||||
mText(drawableText.techrash,69,490)
|
||||
setFont(75)
|
||||
mStr(P.stat.row,-81,220)
|
||||
mStr(P.stat.clears[4],-81,340)
|
||||
mStr(P.stat.row,69,290)
|
||||
mStr(P.stat.clears[4],69,410)
|
||||
gc.setColor(1,1,1,.2)
|
||||
gc.draw(IMG.electric,-26,106,0,2.6)
|
||||
gc.draw(IMG.electric,124,176,0,2.6)
|
||||
end,
|
||||
score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -18,13 +18,13 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
mText(drawableText.line,-81,300)
|
||||
mText(drawableText.techrash,-81,420)
|
||||
mText(drawableText.line,69,370)
|
||||
mText(drawableText.techrash,69,490)
|
||||
setFont(75)
|
||||
mStr(P.stat.row,-81,220)
|
||||
mStr(P.stat.clears[4],-81,340)
|
||||
mStr(P.stat.row,69,290)
|
||||
mStr(P.stat.clears[4],69,410)
|
||||
gc.setColor(1,1,1,.2)
|
||||
gc.draw(IMG.electric,-26,106,0,2.6)
|
||||
gc.draw(IMG.electric,124,176,0,2.6)
|
||||
end,
|
||||
score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -27,22 +27,22 @@ return{
|
||||
--Figures
|
||||
local t=Timer()
|
||||
gc.setColor(1,1,1,.5+.2*sin(t))
|
||||
gc.draw(IMG.hbm,-426,-86,0,1.5)
|
||||
gc.draw(IMG.electric,326,142,0,2.6)
|
||||
gc.draw(IMG.hbm,-276,-16,0,1.5)
|
||||
gc.draw(IMG.electric,476,212,0,2.6)
|
||||
|
||||
--Texts
|
||||
gc.setColor(.8,.8,.8)
|
||||
mText(drawableText.line,-81,300)
|
||||
mText(drawableText.techrash,-81,420)
|
||||
mText(drawableText.line,69,370)
|
||||
mText(drawableText.techrash,69,490)
|
||||
setFont(75)
|
||||
mStr(P.stat.row,-81,220)
|
||||
mStr(P.stat.clears[4],-81,340)
|
||||
mStr(P.stat.row,69,290)
|
||||
mStr(P.stat.clears[4],69,410)
|
||||
|
||||
--"Field"
|
||||
gc.setColor(.5,.5,.5)
|
||||
gc.rectangle("line",-1,-11,302,612)
|
||||
gc.rectangle("line",301,0,15,601)
|
||||
gc.rectangle("line",-16,-3,15,604)
|
||||
gc.rectangle("line",149,59,302,612)
|
||||
gc.rectangle("line",451,70,15,601)
|
||||
gc.rectangle("line",134,67,15,604)
|
||||
end,
|
||||
score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -46,10 +46,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.combo,-81,310)
|
||||
mStr(P.modeData.point,-81,400)
|
||||
mText(drawableText.combo,-81,358)
|
||||
mText(drawableText.mxcmb,-81,450)
|
||||
mStr(P.combo,69,380)
|
||||
mStr(P.modeData.point,69,470)
|
||||
mText(drawableText.combo,69,428)
|
||||
mText(drawableText.mxcmb,69,520)
|
||||
end,
|
||||
score=function(P)return{min(P.modeData.point,100),P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Combo "..toTime(D[2])end,
|
||||
|
||||
@@ -44,10 +44,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.combo,-81,310)
|
||||
mStr(P.modeData.point,-81,400)
|
||||
mText(drawableText.combo,-81,358)
|
||||
mText(drawableText.mxcmb,-81,450)
|
||||
mStr(P.combo,69,380)
|
||||
mStr(P.modeData.point,69,470)
|
||||
mText(drawableText.combo,69,428)
|
||||
mText(drawableText.mxcmb,69,520)
|
||||
end,
|
||||
score=function(P)return{min(P.modeData.point,100),P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Combo "..toTime(D[2])end,
|
||||
|
||||
@@ -34,12 +34,12 @@ return{
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(75)
|
||||
local r=P.gameEnv.target*.1
|
||||
mStr(r<11 and 18 or r<22 and r+8 or r==22 and"00"or r==23 and"0a"or format("%x",r*10-220),-81,210)
|
||||
mText(drawableText.speedLV,-81,290)
|
||||
mStr(r<11 and 18 or r<22 and r+8 or r==22 and"00"or r==23 and"0a"or format("%x",r*10-220),69,280)
|
||||
mText(drawableText.speedLV,69,360)
|
||||
setFont(45)
|
||||
mStr(P.stat.row,-81,320)
|
||||
mStr(P.gameEnv.target,-81,370)
|
||||
gc.rectangle("fill",-125,375,90,4)
|
||||
mStr(P.stat.row,69,390)
|
||||
mStr(P.gameEnv.target,69,440)
|
||||
gc.rectangle("fill",25,445,90,4)
|
||||
end,
|
||||
score=function(P)return{P.stat.score,P.stat.row}end,
|
||||
scoreDisp=function(D)return D[1].." "..D[2].." Lines"end,
|
||||
|
||||
@@ -51,21 +51,12 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(55)
|
||||
if P.gameEnv.puzzle or P.gameEnv.target>1e10 then
|
||||
mStr(P.stat.row,-81,225)
|
||||
mText(drawableText.line,-81,290)
|
||||
if P.gameEnv.target>1e10 then
|
||||
mStr(P.stat.row,69,295)
|
||||
mText(drawableText.line,69,360)
|
||||
else
|
||||
local R=P.gameEnv.target-P.stat.row
|
||||
mStr(R>=0 and R or 0,-81,240)
|
||||
end
|
||||
if P.gameEnv.puzzle and P.modeData.event==0 then
|
||||
local m=puzzleMark
|
||||
for y=1,preField.h do for x=1,10 do
|
||||
local T=preField[y][x]
|
||||
if T~=0 then
|
||||
gc.draw(m[T],30*x-30+dx,600-30*y+dy)
|
||||
end
|
||||
end end
|
||||
mStr(R>=0 and R or 0,69,310)
|
||||
end
|
||||
end,
|
||||
}
|
||||
@@ -63,14 +63,14 @@ return{
|
||||
mesDisp=function(P)
|
||||
local dx,dy=P.fieldOff.x,P.fieldOff.y
|
||||
setFont(55)
|
||||
mStr(P.stat.row,-81,225)
|
||||
mText(drawableText.line,-81,290)
|
||||
mStr(P.stat.row,69,295)
|
||||
mText(drawableText.line,69,360)
|
||||
if P.gameEnv.puzzle and P.modeData.event==0 then
|
||||
local m=puzzleMark
|
||||
for y=1,preField.h do for x=1,10 do
|
||||
local T=preField[y][x]
|
||||
if T~=0 then
|
||||
gc.draw(m[T],30*x-30+dx,600-30*y+dy)
|
||||
gc.draw(m[T],150+30*x-30+dx,70+600-30*y+dy)
|
||||
end
|
||||
end end
|
||||
end
|
||||
|
||||
@@ -45,10 +45,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(55)
|
||||
mStr(P.modeData.event,-81,200)
|
||||
mStr(P.modeData.point,-81,320)
|
||||
mText(drawableText.wave,-81,260)
|
||||
mText(drawableText.rpm,-81,380)
|
||||
mStr(P.modeData.event,69,270)
|
||||
mStr(P.modeData.point,69,390)
|
||||
mText(drawableText.wave,69,350)
|
||||
mText(drawableText.rpm,69,450)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
||||
|
||||
@@ -45,10 +45,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(55)
|
||||
mStr(P.modeData.event,-81,200)
|
||||
mStr(P.modeData.point,-81,320)
|
||||
mText(drawableText.wave,-81,260)
|
||||
mText(drawableText.rpm,-81,380)
|
||||
mStr(P.modeData.event,69,270)
|
||||
mStr(P.modeData.point,69,390)
|
||||
mText(drawableText.wave,69,350)
|
||||
mText(drawableText.rpm,69,450)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
||||
|
||||
@@ -24,8 +24,8 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(65)
|
||||
mStr(P.modeData.event,-81,310)
|
||||
mText(drawableText.wave,-81,375)
|
||||
mStr(P.modeData.event,69,380)
|
||||
mText(drawableText.wave,69,445)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.row}end,
|
||||
scoreDisp=function(D)return D[1].." Waves "..D[2].." Lines"end,
|
||||
|
||||
@@ -23,8 +23,8 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(65)
|
||||
mStr(P.modeData.event,-81,310)
|
||||
mText(drawableText.wave,-81,375)
|
||||
mStr(P.modeData.event,69,380)
|
||||
mText(drawableText.wave,69,445)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.row}end,
|
||||
scoreDisp=function(D)return D[1].." Waves "..D[2].." Lines"end,
|
||||
|
||||
@@ -104,7 +104,7 @@ return{
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(70)
|
||||
local R=100-P.stat.row
|
||||
mStr(R>=0 and R or 0,-81,280)
|
||||
mStr(R>=0 and R or 0,69,335)
|
||||
end,
|
||||
score=function(P)return{min(P.stat.row,100),P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -18,7 +18,7 @@ return{
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(70)
|
||||
local R=100-P.stat.row
|
||||
mStr(R>=0 and R or 0,-81,280)
|
||||
mStr(R>=0 and R or 0,69,335)
|
||||
end,
|
||||
score=function(P)return{min(P.stat.row,100),P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -11,10 +11,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.stat.atk,-81,260)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,370)
|
||||
mText(drawableText.atk,-81,313)
|
||||
mText(drawableText.eff,-81,425)
|
||||
mStr(P.stat.atk,69,260)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),69,380)
|
||||
mText(drawableText.atk,69,313)
|
||||
mText(drawableText.eff,69,433)
|
||||
end,
|
||||
score=function(P)return{P.stat.score}end,
|
||||
scoreDisp=function(D)return tostring(D[1])end,
|
||||
|
||||
@@ -44,12 +44,12 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.stat.dig,-81,190)
|
||||
mStr(P.stat.atk,-81,310)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
|
||||
mText(drawableText.line,-81,243)
|
||||
mText(drawableText.atk,-81,363)
|
||||
mText(drawableText.eff,-81,475)
|
||||
mStr(P.stat.dig,69,260)
|
||||
mStr(P.stat.atk,69,380)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),69,490)
|
||||
mText(drawableText.line,69,313)
|
||||
mText(drawableText.atk,69,433)
|
||||
mText(drawableText.eff,69,545)
|
||||
end,
|
||||
score=function(P)return{P.stat.dig}end,
|
||||
scoreDisp=function(D)return D[1].." Lines"end,
|
||||
|
||||
@@ -30,9 +30,9 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.stat.row,-81,320)
|
||||
mStr(P.gameEnv.target,-81,370)
|
||||
gc.rectangle("fill",-125,375,90,4)
|
||||
mStr(P.stat.row,69,390)
|
||||
mStr(P.modeData.event*100+100,69,440)
|
||||
gc.rectangle("fill",25,445,90,4)
|
||||
end,
|
||||
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -29,9 +29,9 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.stat.row,-81,320)
|
||||
mStr(P.modeData.point+10,-81,370)
|
||||
gc.rectangle("fill",-125,375,90,4)
|
||||
mStr(P.stat.row,69,390)
|
||||
mStr(P.modeData.event*100+100,69,440)
|
||||
gc.rectangle("fill",25,445,90,4)
|
||||
end,
|
||||
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -52,9 +52,9 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.modeData.point,-81,320)
|
||||
mStr((P.modeData.event+1)*100,-81,370)
|
||||
gc.rectangle("fill",-125,375,90,4)
|
||||
mStr(P.modeData.point,69,390)
|
||||
mStr((P.modeData.event+1)*100,69,440)
|
||||
gc.rectangle("fill",25,445,90,4)
|
||||
end,
|
||||
score=function(P)return{P.modeData.point,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].."P "..toTime(D[2])end,
|
||||
|
||||
@@ -56,9 +56,9 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.modeData.point,-81,320)
|
||||
mStr((P.modeData.event+1)*100,-81,370)
|
||||
gc.rectangle("fill",-125,375,90,4)
|
||||
mStr(P.modeData.point,69,390)
|
||||
mStr((P.modeData.event+1)*100,69,440)
|
||||
gc.rectangle("fill",25,445,90,4)
|
||||
end,
|
||||
score=function(P)return{P.modeData.point,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].."P "..toTime(D[2])end,
|
||||
|
||||
@@ -54,10 +54,9 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
local MD=P.modeData
|
||||
mStr(MD.point,-81,320)
|
||||
mStr((MD.event+1)*100,-81,370)
|
||||
gc.rectangle("fill",-125,375,90,4)
|
||||
mStr(P.modeData.point,69,390)
|
||||
mStr((P.modeData.event+1)*100,69,440)
|
||||
gc.rectangle("fill",25,445,90,4)
|
||||
end,
|
||||
score=function(P)return{P.modeData.point,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].."P "..toTime(D[2])end,
|
||||
|
||||
@@ -16,11 +16,11 @@ return{
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
local R=100-P.stat.row
|
||||
mStr(R>=0 and R or 0,-81,250)
|
||||
mStr(R>=0 and R or 0,69,320)
|
||||
|
||||
setFont(75)
|
||||
mStr(P.stat.pc,-81,350)
|
||||
mText(drawableText.pc,-81,432)
|
||||
mStr(P.stat.pc,69,420)
|
||||
mText(drawableText.pc,69,502)
|
||||
end,
|
||||
score=function(P)return{P.stat.pc,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." PCs "..toTime(D[2])end,
|
||||
|
||||
@@ -16,11 +16,11 @@ return{
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
local R=100-P.stat.row
|
||||
mStr(R>=0 and R or 0,-81,250)
|
||||
mStr(R>=0 and R or 0,69,320)
|
||||
|
||||
setFont(75)
|
||||
mStr(P.stat.pc,-81,350)
|
||||
mText(drawableText.pc,-81,432)
|
||||
mStr(P.stat.pc,69,420)
|
||||
mText(drawableText.pc,69,502)
|
||||
end,
|
||||
score=function(P)return{P.stat.pc,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." PCs "..toTime(D[2])end,
|
||||
|
||||
@@ -15,11 +15,11 @@ return{
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
local R=100-P.stat.row
|
||||
mStr(R>=0 and R or 0,-81,250)
|
||||
mStr(R>=0 and R or 0,69,320)
|
||||
|
||||
setFont(75)
|
||||
mStr(P.stat.pc,-81,350)
|
||||
mText(drawableText.pc,-81,432)
|
||||
mStr(P.stat.pc,69,420)
|
||||
mText(drawableText.pc,69,502)
|
||||
end,
|
||||
score=function(P)return{P.stat.pc,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." PCs "..toTime(D[2])end,
|
||||
|
||||
@@ -67,8 +67,8 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(75)
|
||||
mStr(P.stat.pc,-81,330)
|
||||
mText(drawableText.pc,-81,412)
|
||||
mStr(P.stat.pc,69,400)
|
||||
mText(drawableText.pc,69,482)
|
||||
end,
|
||||
score=function(P)return{P.stat.pc,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." PCs "..toTime(D[2])end,
|
||||
|
||||
@@ -58,8 +58,8 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(75)
|
||||
mStr(P.stat.pc,-81,330)
|
||||
mText(drawableText.pc,-81,412)
|
||||
mStr(P.stat.pc,69,400)
|
||||
mText(drawableText.pc,69,482)
|
||||
end,
|
||||
score=function(P)return{P.stat.pc,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." PCs "..toTime(D[2])end,
|
||||
|
||||
@@ -23,8 +23,6 @@ return{
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("CC",10,1,true,5000))
|
||||
game.garbageSpeed=1e99
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
end,
|
||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Pieces "..toTime(D[2])end,
|
||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||
|
||||
@@ -23,8 +23,6 @@ return{
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("CC",10,1,true,10000))
|
||||
game.garbageSpeed=1e99
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
end,
|
||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Pieces "..toTime(D[2])end,
|
||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||
|
||||
@@ -23,8 +23,6 @@ return{
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("CC",10,2,true,12600))
|
||||
game.garbageSpeed=1e99
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
end,
|
||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Pieces "..toTime(D[2])end,
|
||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||
|
||||
@@ -23,8 +23,6 @@ return{
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("CC",10,3,true,16260))
|
||||
game.garbageSpeed=1e99
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
end,
|
||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Pieces "..toTime(D[2])end,
|
||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||
|
||||
@@ -23,8 +23,6 @@ return{
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("CC",10,3,true,26000))
|
||||
game.garbageSpeed=1e99
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
end,
|
||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Pieces "..toTime(D[2])end,
|
||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||
|
||||
@@ -11,8 +11,6 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("9S",3))
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
end,
|
||||
score=function(P)return{P.stat.time}end,
|
||||
scoreDisp=function(D)return toTime(D[1])end,
|
||||
comp=function(a,b)return a[1]<b[1]end,
|
||||
|
||||
@@ -11,8 +11,6 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("9S",5))
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
end,
|
||||
score=function(P)return{P.stat.time}end,
|
||||
scoreDisp=function(D)return toTime(D[1])end,
|
||||
comp=function(a,b)return a[1]<b[1]end,
|
||||
|
||||
@@ -11,8 +11,6 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("9S",7))
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
end,
|
||||
score=function(P)return{P.stat.time}end,
|
||||
scoreDisp=function(D)return toTime(D[1])end,
|
||||
comp=function(a,b)return a[1]<b[1]end,
|
||||
|
||||
@@ -11,8 +11,6 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("CC",9,2,true,26000))
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
end,
|
||||
score=function(P)return{P.stat.time}end,
|
||||
scoreDisp=function(D)return toTime(D[1])end,
|
||||
comp=function(a,b)return a[1]<b[1]end,
|
||||
|
||||
@@ -11,8 +11,6 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("CC",10,3,true,50000))
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
end,
|
||||
score=function(P)return{P.stat.time}end,
|
||||
scoreDisp=function(D)return toTime(D[1])end,
|
||||
comp=function(a,b)return a[1]<b[1]end,
|
||||
|
||||
@@ -12,11 +12,11 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P)
|
||||
local dx,dy=P.fieldOff.x,P.fieldOff.y
|
||||
local dx,dy=150+P.fieldOff.x,70+P.fieldOff.y
|
||||
setFont(55)
|
||||
local r=40-P.stat.row
|
||||
if r<0 then r=0 end
|
||||
mStr(r,-81,265)
|
||||
mStr(r,69,335)
|
||||
if r<21 and r>0 then
|
||||
gc.setLineWidth(4)
|
||||
gc.setColor(1,r>10 and 0 or rnd(),.5)
|
||||
|
||||
@@ -11,12 +11,12 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P)
|
||||
local dx,dy=P.fieldOff.x,P.fieldOff.y
|
||||
local dx,dy=150+P.fieldOff.x,70+P.fieldOff.y
|
||||
setFont(55)
|
||||
local r=10-P.stat.row
|
||||
if r<0 then r=0 end
|
||||
mStr(r,-81,265)
|
||||
if r<21 and r>0 then
|
||||
mStr(r,69,335)
|
||||
if r>0 then
|
||||
gc.setLineWidth(4)
|
||||
gc.setColor(1,r>10 and 0 or rnd(),.5)
|
||||
gc.line(dx,600-30*r+dy,300+dx,600-30*r+dy)
|
||||
|
||||
@@ -11,11 +11,11 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P)
|
||||
local dx,dy=P.fieldOff.x,P.fieldOff.y
|
||||
local dx,dy=150+P.fieldOff.x,70+P.fieldOff.y
|
||||
setFont(55)
|
||||
local r=100-P.stat.row
|
||||
if r<0 then r=0 end
|
||||
mStr(r,-81,265)
|
||||
mStr(r,69,335)
|
||||
if r<21 and r>0 then
|
||||
gc.setLineWidth(4)
|
||||
gc.setColor(1,r>10 and 0 or rnd(),.5)
|
||||
|
||||
@@ -11,11 +11,11 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P)
|
||||
local dx,dy=P.fieldOff.x,P.fieldOff.y
|
||||
local dx,dy=150+P.fieldOff.x,70+P.fieldOff.y
|
||||
setFont(55)
|
||||
local r=1000-P.stat.row
|
||||
if r<0 then r=0 end
|
||||
mStr(r,-81,265)
|
||||
mStr(r,69,335)
|
||||
if r<21 and r>0 then
|
||||
gc.setLineWidth(4)
|
||||
gc.setColor(1,r>10 and 0 or rnd(),.5)
|
||||
|
||||
@@ -11,12 +11,12 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P)
|
||||
local dx,dy=P.fieldOff.x,P.fieldOff.y
|
||||
local dx,dy=150+P.fieldOff.x,70+P.fieldOff.y
|
||||
setFont(55)
|
||||
local r=20-P.stat.row
|
||||
if r<0 then r=0 end
|
||||
mStr(r,-81,265)
|
||||
if r<21 and r>0 then
|
||||
mStr(r,69,335)
|
||||
if r>0 then
|
||||
gc.setLineWidth(4)
|
||||
gc.setColor(1,r>10 and 0 or rnd(),.5)
|
||||
gc.line(dx,600-30*r+dy,300+dx,600-30*r+dy)
|
||||
|
||||
@@ -11,11 +11,11 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P)
|
||||
local dx,dy=P.fieldOff.x,P.fieldOff.y
|
||||
local dx,dy=150+P.fieldOff.x,70+P.fieldOff.y
|
||||
setFont(55)
|
||||
local r=40-P.stat.row
|
||||
if r<0 then r=0 end
|
||||
mStr(r,-81,265)
|
||||
mStr(r,69,335)
|
||||
if r<21 and r>0 then
|
||||
gc.setLineWidth(4)
|
||||
gc.setColor(1,r>10 and 0 or rnd(),.5)
|
||||
|
||||
@@ -11,11 +11,11 @@ return{
|
||||
PLY.newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P)
|
||||
local dx,dy=P.fieldOff.x,P.fieldOff.y
|
||||
local dx,dy=150+P.fieldOff.x,70+P.fieldOff.y
|
||||
setFont(55)
|
||||
local r=400-P.stat.row
|
||||
if r<0 then r=0 end
|
||||
mStr(r,-81,265)
|
||||
mStr(r,69,335)
|
||||
if r<21 and r>0 then
|
||||
gc.setLineWidth(4)
|
||||
gc.setColor(1,r>10 and 0 or rnd(),.5)
|
||||
|
||||
@@ -24,8 +24,8 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(65)
|
||||
mStr(P.modeData.event,-81,310)
|
||||
mText(drawableText.wave,-81,375)
|
||||
mStr(P.modeData.event,69,380)
|
||||
mText(drawableText.wave,69,445)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
||||
|
||||
@@ -30,8 +30,8 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(65)
|
||||
mStr(P.modeData.event,-81,310)
|
||||
mText(drawableText.wave,-81,375)
|
||||
mStr(P.modeData.event,69,380)
|
||||
mText(drawableText.wave,69,445)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
||||
|
||||
@@ -25,8 +25,8 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(65)
|
||||
mStr(P.modeData.event,-81,310)
|
||||
mText(drawableText.wave,-81,375)
|
||||
mStr(P.modeData.event,69,380)
|
||||
mText(drawableText.wave,69,445)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
||||
|
||||
@@ -29,8 +29,8 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(65)
|
||||
mStr(P.modeData.event,-81,310)
|
||||
mText(drawableText.wave,-81,375)
|
||||
mStr(P.modeData.event,69,380)
|
||||
mText(drawableText.wave,69,445)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
||||
|
||||
@@ -31,8 +31,8 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(65)
|
||||
mStr(P.modeData.event,-81,310)
|
||||
mText(drawableText.wave,-81,375)
|
||||
mStr(P.modeData.event,69,380)
|
||||
mText(drawableText.wave,69,445)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
||||
|
||||
@@ -25,10 +25,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.stat.atk,-81,310)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
|
||||
mText(drawableText.atk,-81,363)
|
||||
mText(drawableText.eff,-81,475)
|
||||
mStr(P.stat.atk,69,260)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),69,380)
|
||||
mText(drawableText.atk,69,313)
|
||||
mText(drawableText.eff,69,433)
|
||||
end,
|
||||
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -17,10 +17,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.stat.atk,-81,310)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
|
||||
mText(drawableText.atk,-81,363)
|
||||
mText(drawableText.eff,-81,475)
|
||||
mStr(P.stat.atk,69,260)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),69,380)
|
||||
mText(drawableText.atk,69,313)
|
||||
mText(drawableText.eff,69,433)
|
||||
end,
|
||||
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -22,10 +22,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.stat.atk,-81,310)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
|
||||
mText(drawableText.atk,-81,363)
|
||||
mText(drawableText.eff,-81,475)
|
||||
mStr(P.stat.atk,69,260)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),69,380)
|
||||
mText(drawableText.atk,69,313)
|
||||
mText(drawableText.eff,69,433)
|
||||
end,
|
||||
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -22,10 +22,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.stat.atk,-81,310)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
|
||||
mText(drawableText.atk,-81,363)
|
||||
mText(drawableText.eff,-81,475)
|
||||
mStr(P.stat.atk,69,260)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),69,380)
|
||||
mText(drawableText.atk,69,313)
|
||||
mText(drawableText.eff,69,433)
|
||||
end,
|
||||
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -22,10 +22,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.stat.atk,-81,310)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
|
||||
mText(drawableText.atk,-81,363)
|
||||
mText(drawableText.eff,-81,475)
|
||||
mStr(P.stat.atk,69,260)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),69,380)
|
||||
mText(drawableText.atk,69,313)
|
||||
mText(drawableText.eff,69,433)
|
||||
end,
|
||||
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -22,10 +22,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.stat.atk,-81,310)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
|
||||
mText(drawableText.atk,-81,363)
|
||||
mText(drawableText.eff,-81,475)
|
||||
mStr(P.stat.atk,69,260)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),69,380)
|
||||
mText(drawableText.atk,69,313)
|
||||
mText(drawableText.eff,69,433)
|
||||
end,
|
||||
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -22,10 +22,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.stat.atk,-81,310)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
|
||||
mText(drawableText.atk,-81,363)
|
||||
mText(drawableText.eff,-81,475)
|
||||
mStr(P.stat.atk,69,260)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),69,380)
|
||||
mText(drawableText.atk,69,313)
|
||||
mText(drawableText.eff,69,433)
|
||||
end,
|
||||
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -22,10 +22,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(45)
|
||||
mStr(P.stat.atk,-81,310)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
|
||||
mText(drawableText.atk,-81,363)
|
||||
mText(drawableText.eff,-81,475)
|
||||
mStr(P.stat.atk,69,260)
|
||||
mStr(format("%.2f",P.stat.atk/P.stat.row),69,380)
|
||||
mText(drawableText.atk,69,313)
|
||||
mText(drawableText.eff,69,433)
|
||||
end,
|
||||
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
||||
|
||||
@@ -58,17 +58,17 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(35)
|
||||
mStr(#players.alive.."/49",-81,175)
|
||||
mStr(P.modeData.point,-70,215)
|
||||
gc.draw(drawableText.ko,-127,225)
|
||||
mStr(#players.alive.."/49",69,245)
|
||||
mStr(P.modeData.point,80,285)
|
||||
gc.draw(drawableText.ko,23,295)
|
||||
setFont(20)
|
||||
gc.setColor(1,.5,0,.6)
|
||||
gc.print(P.badge,-47,227)
|
||||
gc.print(P.badge,103,297)
|
||||
gc.setColor(1,1,1)
|
||||
setFont(25)
|
||||
gc.print(powerUp[P.strength],-132,290)
|
||||
gc.print(powerUp[P.strength],18,360)
|
||||
for i=1,P.strength do
|
||||
gc.draw(IMG.badgeIcon,16*i-138,260)
|
||||
gc.draw(IMG.badgeIcon,16*i+12,330)
|
||||
end
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.modeData.point}end,
|
||||
|
||||
@@ -58,17 +58,17 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(35)
|
||||
mStr(#players.alive.."/49",-81,175)
|
||||
mStr(P.modeData.point,-70,215)
|
||||
gc.draw(drawableText.ko,-127,225)
|
||||
mStr(#players.alive.."/49",69,245)
|
||||
mStr(P.modeData.point,80,285)
|
||||
gc.draw(drawableText.ko,23,295)
|
||||
setFont(20)
|
||||
gc.setColor(1,.5,0,.6)
|
||||
gc.print(P.badge,-47,227)
|
||||
gc.print(P.badge,103,297)
|
||||
gc.setColor(1,1,1)
|
||||
setFont(25)
|
||||
gc.print(powerUp[P.strength],-132,290)
|
||||
gc.print(powerUp[P.strength],18,360)
|
||||
for i=1,P.strength do
|
||||
gc.draw(IMG.badgeIcon,16*i-138,260)
|
||||
gc.draw(IMG.badgeIcon,16*i+12,330)
|
||||
end
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.modeData.point}end,
|
||||
|
||||
@@ -58,17 +58,17 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(35)
|
||||
mStr(#players.alive.."/49",-81,175)
|
||||
mStr(P.modeData.point,-70,215)
|
||||
gc.draw(drawableText.ko,-127,225)
|
||||
mStr(#players.alive.."/49",69,245)
|
||||
mStr(P.modeData.point,80,285)
|
||||
gc.draw(drawableText.ko,23,295)
|
||||
setFont(20)
|
||||
gc.setColor(1,.5,0,.6)
|
||||
gc.print(P.badge,-47,227)
|
||||
gc.print(P.badge,103,297)
|
||||
gc.setColor(1,1,1)
|
||||
setFont(25)
|
||||
gc.print(powerUp[P.strength],-132,290)
|
||||
gc.print(powerUp[P.strength],18,360)
|
||||
for i=1,P.strength do
|
||||
gc.draw(IMG.badgeIcon,16*i-138,260)
|
||||
gc.draw(IMG.badgeIcon,16*i+12,330)
|
||||
end
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.modeData.point}end,
|
||||
|
||||
@@ -58,17 +58,17 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(35)
|
||||
mStr(#players.alive.."/99",-81,175)
|
||||
mStr(P.modeData.point,-70,215)
|
||||
gc.draw(drawableText.ko,-127,225)
|
||||
mStr(#players.alive.."/99",69,245)
|
||||
mStr(P.modeData.point,80,285)
|
||||
gc.draw(drawableText.ko,23,295)
|
||||
setFont(20)
|
||||
gc.setColor(1,.5,0,.6)
|
||||
gc.print(P.badge,-47,227)
|
||||
gc.print(P.badge,103,297)
|
||||
gc.setColor(1,1,1)
|
||||
setFont(25)
|
||||
gc.print(powerUp[P.strength],-132,290)
|
||||
gc.print(powerUp[P.strength],18,360)
|
||||
for i=1,P.strength do
|
||||
gc.draw(IMG.badgeIcon,16*i-138,260)
|
||||
gc.draw(IMG.badgeIcon,16*i+12,330)
|
||||
end
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.modeData.point}end,
|
||||
|
||||
@@ -58,17 +58,17 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(35)
|
||||
mStr(#players.alive.."/99",-81,175)
|
||||
mStr(P.modeData.point,-70,215)
|
||||
gc.draw(drawableText.ko,-127,225)
|
||||
mStr(#players.alive.."/99",69,245)
|
||||
mStr(P.modeData.point,80,285)
|
||||
gc.draw(drawableText.ko,23,295)
|
||||
setFont(20)
|
||||
gc.setColor(1,.5,0,.6)
|
||||
gc.print(P.badge,-47,227)
|
||||
gc.print(P.badge,103,297)
|
||||
gc.setColor(1,1,1)
|
||||
setFont(25)
|
||||
gc.print(powerUp[P.strength],-132,290)
|
||||
gc.print(powerUp[P.strength],18,360)
|
||||
for i=1,P.strength do
|
||||
gc.draw(IMG.badgeIcon,16*i-138,260)
|
||||
gc.draw(IMG.badgeIcon,16*i+12,330)
|
||||
end
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.modeData.point}end,
|
||||
|
||||
@@ -58,17 +58,17 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(35)
|
||||
mStr(#players.alive.."/99",-81,175)
|
||||
mStr(P.modeData.point,-70,215)
|
||||
gc.draw(drawableText.ko,-127,225)
|
||||
mStr(#players.alive.."/99",69,245)
|
||||
mStr(P.modeData.point,80,285)
|
||||
gc.draw(drawableText.ko,23,295)
|
||||
setFont(20)
|
||||
gc.setColor(1,.5,0,.6)
|
||||
gc.print(P.badge,-47,227)
|
||||
gc.print(P.badge,103,297)
|
||||
gc.setColor(1,1,1)
|
||||
setFont(25)
|
||||
gc.print(powerUp[P.strength],-132,290)
|
||||
gc.print(powerUp[P.strength],18,360)
|
||||
for i=1,P.strength do
|
||||
gc.draw(IMG.badgeIcon,16*i-138,260)
|
||||
gc.draw(IMG.badgeIcon,16*i+12,330)
|
||||
end
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.modeData.point}end,
|
||||
|
||||
@@ -25,8 +25,8 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(75)
|
||||
mStr(P.modeData.event,-81,330)
|
||||
mText(drawableText.tsd,-81,407)
|
||||
mStr(P.modeData.event,69,400)
|
||||
mText(drawableText.tsd,69,477)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].."TSD "..toTime(D[2])end,
|
||||
|
||||
@@ -23,8 +23,8 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(75)
|
||||
mStr(P.modeData.event,-81,330)
|
||||
mText(drawableText.tsd,-81,407)
|
||||
mStr(P.modeData.event,69,400)
|
||||
mText(drawableText.tsd,69,477)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].."TSD "..toTime(D[2])end,
|
||||
|
||||
@@ -23,8 +23,8 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(75)
|
||||
mStr(P.modeData.event,-81,330)
|
||||
mText(drawableText.tsd,-81,407)
|
||||
mStr(P.modeData.event,69,400)
|
||||
mText(drawableText.tsd,69,477)
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||
scoreDisp=function(D)return D[1].."TSD "..toTime(D[2])end,
|
||||
|
||||
@@ -29,10 +29,10 @@ return{
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
gc.setLineWidth(2)
|
||||
gc.rectangle("line",-95,120,32,402)
|
||||
gc.rectangle("line",55,190,32,402)
|
||||
local T=P.stat.time/120
|
||||
gc.setColor(2*T,2-2*T,.2)
|
||||
gc.rectangle("fill",-94,521,30,(T-1)*400)
|
||||
gc.rectangle("fill",56,591,30,(T-1)*400)
|
||||
end,
|
||||
score=function(P)return{P.stat.score}end,
|
||||
scoreDisp=function(D)return tostring(D[1])end,
|
||||
|
||||
@@ -12,7 +12,7 @@ return{
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(70)
|
||||
local R=200-P.stat.row
|
||||
mStr(R>=0 and R or 0,-81,280)
|
||||
mStr(R>=0 and R or 0,69,335)
|
||||
end,
|
||||
score=function(P)return{P.stat.score}end,
|
||||
scoreDisp=function(D)return tostring(D[1])end,
|
||||
|
||||
546
parts/player.lua
546
parts/player.lua
@@ -591,282 +591,292 @@ local function Pdraw_norm(P)
|
||||
local _
|
||||
local ENV=P.gameEnv
|
||||
gc.push("transform")
|
||||
gc.translate(P.x,P.y)gc.scale(P.size)
|
||||
|
||||
--Camera
|
||||
gc.translate(P.x,P.y)gc.scale(P.size)
|
||||
|
||||
--Fill field
|
||||
gc.translate(150+P.fieldOff.x,70+P.fieldOff.y)
|
||||
gc.setColor(0,0,0,.6)gc.rectangle("fill",0,-10,300,610)
|
||||
|
||||
--Grid
|
||||
if ENV.grid then
|
||||
gc.setLineWidth(1)
|
||||
gc.setColor(1,1,1,.2)
|
||||
for x=1,9 do gc.line(30*x,-10,30*x,600)end
|
||||
for y=0,19 do
|
||||
y=30*(y-int(P.fieldBeneath/30))+P.fieldBeneath
|
||||
gc.line(0,y,300,y)
|
||||
end
|
||||
end
|
||||
|
||||
--In-field things
|
||||
gc.setLineWidth(2)
|
||||
gc.translate(0,P.fieldBeneath)
|
||||
gc.setScissor(scr.x+(P.absFieldX+P.fieldOff.x)*scr.k,scr.y+(P.absFieldY+P.fieldOff.y)*scr.k,300*P.size*scr.k,610*P.size*scr.k)
|
||||
if P.falling==-1 then--Field block only
|
||||
for j=int(P.fieldBeneath/30+1),#P.field do
|
||||
for i=1,10 do
|
||||
if P.field[j][i]>0 then
|
||||
gc.setColor(1,1,1,min(P.visTime[j][i]*.05,1))
|
||||
drawPixel(j,i,P.field[j][i])
|
||||
end
|
||||
end
|
||||
end
|
||||
else--Field with falling animation
|
||||
local dy,stepY=0,ENV.smooth and(P.falling/(ENV.fall+1))^2.5*30 or 30
|
||||
local A=P.falling/ENV.fall
|
||||
local h,H=1,#P.field
|
||||
for j=int(P.fieldBeneath/30+1),H do
|
||||
while j==P.clearingRow[h]do
|
||||
h=h+1
|
||||
dy=dy+stepY
|
||||
gc.translate(0,-stepY)
|
||||
gc.setColor(1,1,1,A)
|
||||
gc.rectangle("fill",0,630-30*j,300,stepY)
|
||||
end
|
||||
for i=1,10 do
|
||||
if P.field[j][i]>0 then
|
||||
gc.setColor(1,1,1,min(P.visTime[j][i]*.05,1))
|
||||
drawPixel(j,i,P.field[j][i])
|
||||
end
|
||||
end
|
||||
end
|
||||
gc.translate(0,dy)
|
||||
end
|
||||
|
||||
drawFXs(P)
|
||||
|
||||
if P.cur and P.waiting==-1 then
|
||||
local curColor=P.cur.color
|
||||
|
||||
--Ghost
|
||||
if ENV.ghost then
|
||||
gc.setColor(1,1,1,ENV.ghost)
|
||||
for i=1,P.r do for j=1,P.c do
|
||||
if P.cur.bk[i][j]then
|
||||
drawPixel(i+P.imgY-1,j+P.curX-1,curColor)
|
||||
end
|
||||
end end
|
||||
end
|
||||
|
||||
local dy=ENV.smooth and P.imgY~=P.curY and(P.dropDelay/ENV.drop-1)*30 or 0
|
||||
gc.translate(0,-dy)
|
||||
local trans=P.lockDelay/ENV.lock
|
||||
if ENV.block then
|
||||
--White Boarder(indicate lockdelay)
|
||||
SHADER.alpha:send("a",trans)
|
||||
gc.setShader(SHADER.alpha)
|
||||
_=blockSkin[curColor]
|
||||
for i=1,P.r do for j=1,P.c do
|
||||
if P.cur.bk[i][j]then
|
||||
local x=30*(j+P.curX)-60-3
|
||||
local y=630-30*(i+P.curY)-3
|
||||
gc.draw(_,x,y)gc.draw(_,x+6,y+6)
|
||||
gc.draw(_,x+6,y)gc.draw(_,x,y+6)
|
||||
end
|
||||
end end
|
||||
gc.setShader()
|
||||
|
||||
--Block
|
||||
gc.setColor(1,1,1)
|
||||
for i=1,P.r do for j=1,P.c do
|
||||
if P.cur.bk[i][j]then
|
||||
drawPixel(i+P.curY-1,j+P.curX-1,curColor)
|
||||
end
|
||||
end end
|
||||
end
|
||||
|
||||
--Rotate center
|
||||
if ENV.center then
|
||||
gc.setColor(1,1,1,trans*ENV.center)
|
||||
local x=30*(P.curX+P.sc[2])-15
|
||||
gc.draw(IMG.spinCenter,x,600-30*(P.curY+P.sc[1])+15,nil,nil,nil,4,4)
|
||||
if ENV.ghost then
|
||||
gc.translate(0,dy)
|
||||
gc.setColor(1,1,1,trans*ENV.center)
|
||||
gc.draw(IMG.spinCenter,x,600-30*(P.imgY+P.sc[1])+15,nil,nil,nil,4,4)
|
||||
goto E
|
||||
end
|
||||
end
|
||||
gc.translate(0,dy)
|
||||
end
|
||||
::E::
|
||||
gc.setScissor()
|
||||
gc.translate(0,-P.fieldBeneath)
|
||||
gc.setColor(P.frameColor)
|
||||
gc.rectangle("line",-1,-11,302,612)--Boarder
|
||||
gc.rectangle("line",301,0,15,601)--AtkBuffer boarder
|
||||
gc.rectangle("line",-16,-3,15,604)--B2b bar boarder
|
||||
|
||||
|
||||
--LockDelay indicator
|
||||
if ENV.easyFresh then
|
||||
gc.setColor(1,1,1)
|
||||
else
|
||||
gc.setColor(1,.26,.26)
|
||||
end
|
||||
if P.lockDelay>=0 then
|
||||
gc.rectangle("fill",0,602,300*P.lockDelay/ENV.lock,6)--Lock delay indicator
|
||||
end
|
||||
_=3
|
||||
for i=1,min(ENV.freshLimit-P.freshTime,15)do
|
||||
gc.rectangle("fill",_,615,14,5)
|
||||
_=_+20
|
||||
end
|
||||
|
||||
--Buffer line
|
||||
local h=0
|
||||
for i=1,#P.atkBuffer do
|
||||
local A=P.atkBuffer[i]
|
||||
local bar=A.amount*30
|
||||
if h+bar>600 then bar=600-h end
|
||||
if not A.sent then
|
||||
--Appear
|
||||
if A.time<20 then
|
||||
bar=bar*(20*A.time)^.5*.05
|
||||
end
|
||||
if A.countdown>0 then
|
||||
--Timing
|
||||
gc.setColor(attackColor[A.lv][1])
|
||||
gc.rectangle("fill",303,599-h,11,-bar+3)
|
||||
gc.setColor(attackColor[A.lv][2])
|
||||
gc.rectangle("fill",303,599-h+(-bar+3),11,-(-bar+3)*(1-A.countdown/A.cd0))
|
||||
else
|
||||
--Warning
|
||||
local t=math.sin((Timer()-i)*30)*.5+.5
|
||||
local c1,c2=attackColor[A.lv][1],attackColor[A.lv][2]
|
||||
gc.setColor(c1[1]*t+c2[1]*(1-t),c1[2]*t+c2[2]*(1-t),c1[3]*t+c2[3]*(1-t))
|
||||
gc.rectangle("fill",303,599-h,11,-bar+3)
|
||||
end
|
||||
else
|
||||
gc.setColor(attackColor[A.lv][1])
|
||||
bar=bar*(20-A.time)*.05
|
||||
gc.rectangle("fill",303,599-h,11,-bar+2)
|
||||
--Disappear
|
||||
end
|
||||
h=h+bar
|
||||
end
|
||||
|
||||
--B2B indictator
|
||||
local a,b=P.b2b,P.b2b1 if a>b then a,b=b,a end
|
||||
gc.setColor(.8,1,.2)
|
||||
gc.rectangle("fill",-14,599,11,-b*.5)
|
||||
gc.setColor(P.b2b<40 and color.white or P.b2b<=1e3 and color.lRed or color.lBlue)
|
||||
gc.rectangle("fill",-14,599,11,-a*.5)
|
||||
gc.setColor(1,1,1)
|
||||
if Timer()%.5<.3 then
|
||||
gc.rectangle("fill",-15,b<40 and 578.5 or 98.5,13,3)
|
||||
end
|
||||
gc.translate(-P.fieldOff.x,-P.fieldOff.y)
|
||||
|
||||
--Draw Hold
|
||||
if ENV.hold then
|
||||
gc.setColor(0,0,0,.4)gc.rectangle("fill",-140,36,124,80)
|
||||
gc.setColor(1,1,1)gc.rectangle("line",-140,36,124,80)
|
||||
mText(drawableText.hold,-78,-15)
|
||||
if P.hd then
|
||||
if P.holded then gc.setColor(.6,.5,.5)end
|
||||
local B=P.hd.bk
|
||||
for i=1,#B do for j=1,#B[1]do
|
||||
if B[i][j]then
|
||||
drawPixel(i+17.5-#B*.5,j-2.6-#B[1]*.5,P.hd.color)
|
||||
end
|
||||
end end
|
||||
end
|
||||
end
|
||||
|
||||
--Draw Next(s)
|
||||
local N=ENV.next*72
|
||||
if ENV.next>0 then
|
||||
gc.setColor(0,0,0,.4)gc.rectangle("fill",316,36,124,N)
|
||||
gc.setColor(1,1,1)gc.rectangle("line",316,36,124,N)
|
||||
mText(drawableText.next,378,-15)
|
||||
N=1
|
||||
while N<=ENV.next and P.next[N]do
|
||||
local b,c=P.next[N].bk,P.next[N].color
|
||||
for i=1,#b do for j=1,#b[1] do
|
||||
if b[i][j]then
|
||||
drawPixel(i+20-2.4*N-#b*.5,j+12.6-#b[1]*.5,c)
|
||||
end
|
||||
end end
|
||||
N=N+1
|
||||
end
|
||||
end
|
||||
|
||||
--Draw Bagline(s)
|
||||
if ENV.bagLine then
|
||||
local L=ENV.bagLen
|
||||
local C=-P.pieceCount%L--Phase
|
||||
gc.setColor(.8,.5,.5)
|
||||
for i=C,N-1,L do
|
||||
local y=72*i+36
|
||||
gc.line(318+P.fieldOff.x,y,438,y)
|
||||
end
|
||||
end
|
||||
|
||||
--Draw starting counter
|
||||
gc.setColor(1,1,1)
|
||||
if game.frame<180 then
|
||||
local count=179-game.frame
|
||||
--Field-related things
|
||||
gc.push("transform")
|
||||
gc.translate(155,220)
|
||||
setFont(95)
|
||||
if count%60>45 then gc.scale(1+(count%60-45)^2*.01,1)end
|
||||
mStr(int(count/60+1),0,0)
|
||||
gc.translate(150,70)
|
||||
|
||||
--Things shake with field
|
||||
gc.push("transform")
|
||||
gc.translate(P.fieldOff.x,P.fieldOff.y)
|
||||
|
||||
--Fill field
|
||||
gc.setColor(0,0,0,.6)gc.rectangle("fill",0,-10,300,610)
|
||||
|
||||
--Grid
|
||||
if ENV.grid then
|
||||
gc.setLineWidth(1)
|
||||
gc.setColor(1,1,1,.2)
|
||||
for x=1,9 do gc.line(30*x,-10,30*x,600)end
|
||||
for y=0,19 do
|
||||
y=30*(y-int(P.fieldBeneath/30))+P.fieldBeneath
|
||||
gc.line(0,y,300,y)
|
||||
end
|
||||
end
|
||||
|
||||
--In-field things
|
||||
gc.push("transform")
|
||||
gc.translate(0,P.fieldBeneath)
|
||||
gc.setScissor(scr.x+(P.absFieldX+P.fieldOff.x)*scr.k,scr.y+(P.absFieldY+P.fieldOff.y)*scr.k,300*P.size*scr.k,610*P.size*scr.k)
|
||||
--Draw field
|
||||
if P.falling==-1 then--Blocks only
|
||||
for j=int(P.fieldBeneath/30+1),#P.field do
|
||||
for i=1,10 do
|
||||
if P.field[j][i]>0 then
|
||||
gc.setColor(1,1,1,min(P.visTime[j][i]*.05,1))
|
||||
drawPixel(j,i,P.field[j][i])
|
||||
end
|
||||
end
|
||||
end
|
||||
else--With falling animation
|
||||
local dy,stepY=0,ENV.smooth and(P.falling/(ENV.fall+1))^2.5*30 or 30
|
||||
local A=P.falling/ENV.fall
|
||||
local h,H=1,#P.field
|
||||
for j=int(P.fieldBeneath/30+1),H do
|
||||
while j==P.clearingRow[h]do
|
||||
h=h+1
|
||||
dy=dy+stepY
|
||||
gc.translate(0,-stepY)
|
||||
gc.setColor(1,1,1,A)
|
||||
gc.rectangle("fill",0,630-30*j,300,stepY)
|
||||
end
|
||||
for i=1,10 do
|
||||
if P.field[j][i]>0 then
|
||||
gc.setColor(1,1,1,min(P.visTime[j][i]*.05,1))
|
||||
drawPixel(j,i,P.field[j][i])
|
||||
end
|
||||
end
|
||||
end
|
||||
gc.translate(0,dy)
|
||||
end
|
||||
|
||||
--Draw FXs
|
||||
drawFXs(P)
|
||||
|
||||
--Draw current block
|
||||
if P.cur and P.waiting==-1 then
|
||||
local curColor=P.cur.color
|
||||
|
||||
--Ghost
|
||||
if ENV.ghost then
|
||||
gc.setColor(1,1,1,ENV.ghost)
|
||||
for i=1,P.r do for j=1,P.c do
|
||||
if P.cur.bk[i][j]then
|
||||
drawPixel(i+P.imgY-1,j+P.curX-1,curColor)
|
||||
end
|
||||
end end
|
||||
end
|
||||
|
||||
local dy=ENV.smooth and P.imgY~=P.curY and(P.dropDelay/ENV.drop-1)*30 or 0
|
||||
gc.translate(0,-dy)
|
||||
local trans=P.lockDelay/ENV.lock
|
||||
if ENV.block then
|
||||
--White Boarder(indicate lockdelay)
|
||||
SHADER.alpha:send("a",trans)
|
||||
gc.setShader(SHADER.alpha)
|
||||
_=blockSkin[curColor]
|
||||
for i=1,P.r do for j=1,P.c do
|
||||
if P.cur.bk[i][j]then
|
||||
local x=30*(j+P.curX)-60-3
|
||||
local y=630-30*(i+P.curY)-3
|
||||
gc.draw(_,x,y)gc.draw(_,x+6,y+6)
|
||||
gc.draw(_,x+6,y)gc.draw(_,x,y+6)
|
||||
end
|
||||
end end
|
||||
gc.setShader()
|
||||
|
||||
--Block
|
||||
gc.setColor(1,1,1)
|
||||
for i=1,P.r do for j=1,P.c do
|
||||
if P.cur.bk[i][j]then
|
||||
drawPixel(i+P.curY-1,j+P.curX-1,curColor)
|
||||
end
|
||||
end end
|
||||
end
|
||||
|
||||
--Rotate center
|
||||
local x=30*(P.curX+P.sc[2])-15
|
||||
if ENV.center then
|
||||
gc.setColor(1,1,1,trans*ENV.center)
|
||||
gc.draw(IMG.spinCenter,x,600-30*(P.curY+P.sc[1])+15,nil,nil,nil,4,4)
|
||||
end
|
||||
gc.translate(0,dy)
|
||||
if ENV.center and ENV.ghost then
|
||||
gc.setColor(1,1,1,trans*ENV.center)
|
||||
gc.draw(IMG.spinCenter,x,600-30*(P.imgY+P.sc[1])+15,nil,nil,nil,4,4)
|
||||
end
|
||||
end
|
||||
gc.setScissor()
|
||||
gc.pop()
|
||||
|
||||
gc.setLineWidth(2)
|
||||
gc.setColor(P.frameColor)
|
||||
gc.rectangle("line",-1,-11,302,612)--Boarder
|
||||
gc.rectangle("line",301,0,15,601)--AtkBuffer boarder
|
||||
gc.rectangle("line",-16,-3,15,604)--B2b bar boarder
|
||||
|
||||
--LockDelay indicator
|
||||
if ENV.easyFresh then
|
||||
gc.setColor(1,1,1)
|
||||
else
|
||||
gc.setColor(1,.26,.26)
|
||||
end
|
||||
if P.lockDelay>=0 then
|
||||
gc.rectangle("fill",0,602,300*P.lockDelay/ENV.lock,6)--Lock delay indicator
|
||||
end
|
||||
_=3
|
||||
for i=1,min(ENV.freshLimit-P.freshTime,15)do
|
||||
gc.rectangle("fill",_,615,14,5)
|
||||
_=_+20
|
||||
end
|
||||
|
||||
--Buffer line
|
||||
local h=0
|
||||
for i=1,#P.atkBuffer do
|
||||
local A=P.atkBuffer[i]
|
||||
local bar=A.amount*30
|
||||
if h+bar>600 then bar=600-h end
|
||||
if not A.sent then
|
||||
--Appear
|
||||
if A.time<20 then
|
||||
bar=bar*(20*A.time)^.5*.05
|
||||
end
|
||||
if A.countdown>0 then
|
||||
--Timing
|
||||
gc.setColor(attackColor[A.lv][1])
|
||||
gc.rectangle("fill",303,599-h,11,-bar+3)
|
||||
gc.setColor(attackColor[A.lv][2])
|
||||
gc.rectangle("fill",303,599-h+(-bar+3),11,-(-bar+3)*(1-A.countdown/A.cd0))
|
||||
else
|
||||
--Warning
|
||||
local t=math.sin((Timer()-i)*30)*.5+.5
|
||||
local c1,c2=attackColor[A.lv][1],attackColor[A.lv][2]
|
||||
gc.setColor(c1[1]*t+c2[1]*(1-t),c1[2]*t+c2[2]*(1-t),c1[3]*t+c2[3]*(1-t))
|
||||
gc.rectangle("fill",303,599-h,11,-bar+3)
|
||||
end
|
||||
else
|
||||
gc.setColor(attackColor[A.lv][1])
|
||||
bar=bar*(20-A.time)*.05
|
||||
gc.rectangle("fill",303,599-h,11,-bar+2)
|
||||
--Disappear
|
||||
end
|
||||
h=h+bar
|
||||
end
|
||||
|
||||
--B2B indictator
|
||||
local a,b=P.b2b,P.b2b1 if a>b then a,b=b,a end
|
||||
gc.setColor(.8,1,.2)
|
||||
gc.rectangle("fill",-14,599,11,-b*.5)
|
||||
gc.setColor(P.b2b<40 and color.white or P.b2b<=1e3 and color.lRed or color.lBlue)
|
||||
gc.rectangle("fill",-14,599,11,-a*.5)
|
||||
gc.setColor(1,1,1)
|
||||
if Timer()%.5<.3 then
|
||||
gc.rectangle("fill",-15,b<40 and 578.5 or 98.5,13,3)
|
||||
end
|
||||
|
||||
--Draw Hold
|
||||
if ENV.hold then
|
||||
gc.setColor(0,0,0,.4)gc.rectangle("fill",-140,36,124,80)
|
||||
gc.setColor(1,1,1)gc.rectangle("line",-140,36,124,80)
|
||||
mText(drawableText.hold,-78,-15)
|
||||
if P.hd then
|
||||
if P.holded then gc.setColor(.6,.5,.5)end
|
||||
local B=P.hd.bk
|
||||
for i=1,#B do for j=1,#B[1]do
|
||||
if B[i][j]then
|
||||
drawPixel(i+17.5-#B*.5,j-2.6-#B[1]*.5,P.hd.color)
|
||||
end
|
||||
end end
|
||||
end
|
||||
end
|
||||
|
||||
--Draw Next(s)
|
||||
local N=ENV.next*72
|
||||
if ENV.next>0 then
|
||||
gc.setColor(0,0,0,.4)gc.rectangle("fill",316,36,124,N)
|
||||
gc.setColor(1,1,1)gc.rectangle("line",316,36,124,N)
|
||||
mText(drawableText.next,378,-15)
|
||||
N=1
|
||||
while N<=ENV.next and P.next[N]do
|
||||
local b,c=P.next[N].bk,P.next[N].color
|
||||
for i=1,#b do for j=1,#b[1] do
|
||||
if b[i][j]then
|
||||
drawPixel(i+20-2.4*N-#b*.5,j+12.6-#b[1]*.5,c)
|
||||
end
|
||||
end end
|
||||
N=N+1
|
||||
end
|
||||
end
|
||||
|
||||
--Draw Bagline(s)
|
||||
if ENV.bagLine then
|
||||
local L=ENV.bagLen
|
||||
local C=-P.pieceCount%L--Phase
|
||||
gc.setColor(.8,.5,.5)
|
||||
for i=C,N-1,L do
|
||||
local y=72*i+36
|
||||
gc.line(318+P.fieldOff.x,y,438,y)
|
||||
end
|
||||
end
|
||||
|
||||
--Draw target selecting pad
|
||||
if modeEnv.royaleMode then
|
||||
if P.atkMode then
|
||||
gc.setColor(1,.8,0,P.swappingAtkMode*.02)
|
||||
gc.rectangle("fill",RCPB[2*P.atkMode-1],RCPB[2*P.atkMode],90,35,8,4)
|
||||
end
|
||||
gc.setColor(1,1,1,P.swappingAtkMode*.025)
|
||||
setFont(18)
|
||||
for i=1,4 do
|
||||
gc.rectangle("line",RCPB[2*i-1],RCPB[2*i],90,35,8,4)
|
||||
mStr(text.atkModeName[i],RCPB[2*i-1]+45,RCPB[2*i]+3)
|
||||
end
|
||||
end
|
||||
gc.pop()
|
||||
|
||||
--Bonus texts
|
||||
TEXT.draw(P.bonus)
|
||||
gc.pop()
|
||||
end
|
||||
|
||||
--Bonus texts
|
||||
TEXT.draw(P.bonus)
|
||||
|
||||
--Speed dials
|
||||
setFont(25)
|
||||
drawDial(360,510,P.dropSpeed)
|
||||
drawDial(405,565,P.keySpeed)
|
||||
gc.setColor(1,1,1)
|
||||
gc.draw(drawableText.bpm,390,480)
|
||||
gc.draw(drawableText.kpm,344,573)
|
||||
if P.life>0 then
|
||||
for i=1,P.life do
|
||||
gc.draw(IMG.lifeIcon,300+25*i,595,nil,.7)
|
||||
--Speed dials
|
||||
setFont(25)
|
||||
drawDial(510,580,P.dropSpeed)
|
||||
drawDial(555,635,P.keySpeed)
|
||||
gc.setColor(1,1,1)
|
||||
gc.draw(drawableText.bpm,540,550)
|
||||
gc.draw(drawableText.kpm,494,643)
|
||||
if P.life>0 then
|
||||
for i=1,P.life do
|
||||
gc.draw(IMG.lifeIcon,450+25*i,665,nil,.8)
|
||||
end
|
||||
end
|
||||
end
|
||||
mStr(format("%.2f",P.stat.time),-81,518)--Time
|
||||
mStr(P.score1,-81,560)--Score
|
||||
mStr(format("%.2f",P.stat.time),69,588)--Time
|
||||
mStr(P.score1,69,630)--Score
|
||||
|
||||
--Display Ys
|
||||
-- gc.setLineWidth(6)
|
||||
-- if P.curY then gc.setColor(1,.4,0,.626)gc.line(0,611-P.curY*30,300,611-P.curY*30)end
|
||||
-- if P.imgY then gc.setColor(0,1,.4,.626)gc.line(0,615-P.imgY*30,300,615-P.imgY*30)end
|
||||
-- if P.minY then gc.setColor(0,.4,1,.626)gc.line(0,619-P.minY*30,300,619-P.minY*30)end
|
||||
--Display Ys
|
||||
-- gc.setLineWidth(6)
|
||||
-- if P.curY then gc.setColor(1,.4,0,.626)gc.line(0,611-P.curY*30,300,611-P.curY*30)end
|
||||
-- if P.imgY then gc.setColor(0,1,.4,.626)gc.line(0,615-P.imgY*30,300,615-P.imgY*30)end
|
||||
-- if P.minY then gc.setColor(0,.4,1,.626)gc.line(0,619-P.minY*30,300,619-P.minY*30)end
|
||||
|
||||
--Other messages
|
||||
gc.setColor(1,1,1)
|
||||
curMode.mesDisp(P)
|
||||
|
||||
if modeEnv.royaleMode then
|
||||
if P.atkMode then
|
||||
gc.setColor(1,.8,0,P.swappingAtkMode*.02)
|
||||
gc.rectangle("fill",RCPB[2*P.atkMode-1],RCPB[2*P.atkMode],90,35,8,4)
|
||||
--Other messages
|
||||
gc.setColor(1,1,1)
|
||||
if curMode.mesDisp then
|
||||
curMode.mesDisp(P)
|
||||
end
|
||||
gc.setColor(1,1,1,P.swappingAtkMode*.025)
|
||||
setFont(18)
|
||||
for i=1,4 do
|
||||
gc.rectangle("line",RCPB[2*i-1],RCPB[2*i],90,35,8,4)
|
||||
mStr(text.atkModeName[i],RCPB[2*i-1]+45,RCPB[2*i]+3)
|
||||
|
||||
--Draw starting counter
|
||||
gc.setColor(1,1,1)
|
||||
if game.frame<180 then
|
||||
local count=179-game.frame
|
||||
gc.push("transform")
|
||||
gc.translate(305,290)
|
||||
setFont(95)
|
||||
if count%60>45 then gc.scale(1+(count%60-45)^2*.01,1)end
|
||||
mStr(int(count/60+1),0,0)
|
||||
gc.pop()
|
||||
end
|
||||
end
|
||||
gc.pop()
|
||||
end
|
||||
local function Pdraw_small(P)
|
||||
@@ -2262,6 +2272,8 @@ function player.lose(P)
|
||||
end
|
||||
sysFX.newShade(.5,1,1,1,P.x+150*P.size,P.y+60*P.size,300*P.size,610*P.size)
|
||||
sysFX.newRectRipple(.3,P.x+150*P.size,P.y+60*P.size,300*P.size,610*P.size)
|
||||
sysFX.newRipple(.3,P.x+(300+25+25*P.life+12)*P.size,P.y+(595+12)*P.size,20)
|
||||
--300+25*i,595
|
||||
SFX.play("clear_3")
|
||||
SFX.play("emit")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user