mesDisp加入eventSet

eventSet中的规则不在覆盖,而是全部同时生效
调整部分模式的信息显示
自定义游戏可以选择部分eventSet
整理代码
警告:可能部分模式有问题,需要测试
This commit is contained in:
MrZ626
2021-08-28 04:01:58 +08:00
parent 5963db479e
commit 7f7f7e752e
141 changed files with 628 additions and 767 deletions

View File

@@ -32,4 +32,4 @@ function love.conf(t)
M.graphics,M.font,M.image=true,true,true
M.mouse,M.touch,M.keyboard,M.joystick=true,true,true,true
M.physics=false
end
end

View File

@@ -82,9 +82,10 @@
missionKill false 是否开启强制任务
noInitSZO false 是否禁止SZO块开局如果禁止开局序列会自动跳过最多连续五个SZO
task NULL 每帧会*继续执行*的函数(或函数列表,依次执行,返回true会把自身从队列里清除)(初始化时会执行一次,可以用来设置场地等),输入玩家对象,注意:使用协程技术
mesDisp NULL 需要在玩家侧边栏显示的信息(或函数列表,依次执行,可以显示在外面但是强烈不建议),输入玩家对象
dropPiece NULL 放一块后要执行的函数(或函数列表,依次执行),输入玩家对象
eventSet false 使用预设事件套件名称(字符串),如果指定,套件中的事件将会替换上面这几个事件(如果有)
task NULL 每帧会*继续执行*的函数(或函数列表,依次执行,返回true会把自身从队列里清除)(初始化时会执行一次,可以用来设置场地等),输入玩家对象,注意:使用协程技术
eventSet false 使用预设事件套件名称(字符串),和上面三个套件会叠加,使用时请小心,尽量不要同时指定太多组件
bg 'none' 背景,只能填写内置背景的名字
bgm 'race' 背景音乐名(或者列表随机,例如{'race','push'}),只能用内置音乐库的音乐名
@@ -94,11 +95,6 @@
模式初始化函数,一般创建一个玩家即可
无输入
无输出
mesDisp:
必选
模式显示信息,是一个绘图函数,坐标系原点是玩家对象最左上角
输入玩家对象
无输出
score:
可选(不填就没有分数保存和计算)
@@ -130,19 +126,12 @@ return{--返回一个table你也可以在之前定义一些常量或者函数
color=COLOR.green,--颜色
env={--模式环境变量
drop=60,lock=60,
eventSet='checkLine_40',
eventSet='checkLine_40',--这个预设eventSet包含了dropPiece和mesDisp就是40行需要的东西
bg='bg2',bgm='race',
},
load=function()--模式加载函数,这里只生成了一个玩家,常用的单人模式可以不写,默认使用这个函数
PLY.newPlayer(1)--1是玩家编号默认用户控制1号玩家
end,
mesDisp=function(P)--40行模式需要显示的信息
setFont(55)
local r=40-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)--把计算出来的剩余行数r显示出来
PLY.draw.drawTargetLine(P,r)--使用自带的境界高度线绘制函数
end,
score=function(P)return{P.stat.time,P.stat.piece}end,--游戏结束时需要保存的本局关键信息
scoreDisp=function(D)return STRING.time(D[1]).." "..D[2].." Pieces"end,--把score返回的数据显示出来的方法
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,--按照时间排序,时间一样就看块数

View File

@@ -30,7 +30,6 @@ return{
visible='show',
freshLimit=1e99,
opponent="X",
life=0,
pushSpeed=3,
@@ -40,4 +39,6 @@ return{
--Else
bg='blockrain',
bgm='hang out',
}
eventSet="X",
}

View File

@@ -1,4 +1,11 @@
return{
mesDisp=function(P)
setFont(55)
mStr(P.modeData.wave,63,200)
mStr("22",63,320)
mText(drawableText.wave,63,260)
mText(drawableText.nextWave,63,380)
end,
task=function(P)
while true do
YIELD()

View File

@@ -1,4 +1,11 @@
return{
mesDisp=function(P)
setFont(55)
mStr(P.modeData.wave,63,200)
mStr(20+4*math.min(math.floor(P.modeData.wave/10),2),63,320)
mText(drawableText.wave,63,260)
mText(drawableText.nextWave,63,380)
end,
task=function(P)
while true do
YIELD()

View File

@@ -0,0 +1,13 @@
local gc=love.graphics
return{
mesDisp=function(P)
mText(drawableText.techrash,63,420)
setFont(75)
mStr(P.stat.clears[4],63,340)
PLY.draw.applyField(P)
gc.setColor(1,1,1,.1)
gc.draw(IMG.electric,0,106,0,2.6)
PLY.draw.cancelField(P)
end,
}

View File

@@ -1,6 +1,13 @@
local rem=table.remove
return{
mesDisp=function(P)
setFont(45)
mStr(P.combo,63,310)
mStr(P.modeData.maxCombo,63,400)
mText(drawableText.combo,63,358)
mText(drawableText.maxcmb,63,450)
end,
task=function(P)
local F=P.field
for i=1,24 do

View File

@@ -1,4 +1,11 @@
return{
mesDisp=function(P)
setFont(45)
mStr(("%.1f"):format(P.stat.atk),63,190)
mStr(("%.2f"):format(P.stat.atk/P.stat.row),63,310)
mText(drawableText.atk,63,243)
mText(drawableText.eff,63,363)
end,
dropPiece=function(P)
if P.stat.atk>=100 then
P:win('finish')

View File

@@ -1,4 +1,11 @@
return{
mesDisp=function(P)
setFont(55)
local r=10-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
dropPiece=function(P)
if P.stat.row>=10 then
P:win('finish')

View File

@@ -1,4 +1,11 @@
return{
mesDisp=function(P)
setFont(55)
local r=100-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
dropPiece=function(P)
if P.stat.row>=100 then
P:win('finish')

View File

@@ -1,4 +1,11 @@
return{
mesDisp=function(P)
setFont(55)
local r=1000-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
dropPiece=function(P)
if P.stat.row>=1000 then
P:win('finish')

View File

@@ -1,4 +1,11 @@
return{
mesDisp=function(P)
setFont(55)
local r=20-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
dropPiece=function(P)
if P.stat.row>=20 then
P:win('finish')

View File

@@ -1,4 +1,11 @@
return{
mesDisp=function(P)
setFont(55)
local r=200-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
dropPiece=function(P)
if P.stat.row>=200 then
P:win('finish')

View File

@@ -1,4 +1,11 @@
return{
mesDisp=function(P)
setFont(55)
local r=40-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
dropPiece=function(P)
if P.stat.row>=40 then
P:win('finish')

View File

@@ -1,4 +1,11 @@
return{
mesDisp=function(P)
setFont(55)
local r=400-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
dropPiece=function(P)
if P.stat.row>=400 then
P:win('finish')

View File

@@ -1,5 +1,30 @@
return{
mesDisp=function(P)
setFont(75)
local r=P.modeData.target*.1
mStr(r<11 and 18 or r<22 and r+8 or("%02x"):format(r*10-220),63,210)
mText(drawableText.speedLV,63,290)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
end,
task=function(P)
P.gameEnv.das=16
P.gameEnv.arr=6
P.gameEnv.sddas=2
P.gameEnv.sdarr=2
P.gameEnv.irs=false
P.gameEnv.ims=false
P.gameEnv.drop=3
P.gameEnv.lock=3
P.gameEnv.wait=10
P.gameEnv.fall=25
P.gameEnv.fieldH=19
P.gameEnv.nextCount=1
P.gameEnv.holdCount=0
P.gameEnv.RS='Classic'
P.gameEnv.sequence='rnd'
P.gameEnv.noTele=true
P.gameEnv.keyCancel={5,6}
P.modeData.target=10
end,
dropPiece=function(P)

View File

@@ -1,4 +1,11 @@
return{
mesDisp=function(P)
setFont(55)
mStr(P.modeData.wave,63,200)
mStr(P.modeData.rpm,63,320)
mText(drawableText.wave,63,260)
mText(drawableText.rpm,63,380)
end,
task=function(P)
while true do
YIELD()

View File

@@ -1,4 +1,11 @@
return{
mesDisp=function(P)
setFont(55)
mStr(P.modeData.wave,63,200)
mStr(P.modeData.rpm,63,320)
mText(drawableText.wave,63,260)
mText(drawableText.rpm,63,380)
end,
task=function(P)
while true do
YIELD()

View File

@@ -1,4 +1,9 @@
return{
mesDisp=function(P)
setFont(60)
mStr(P.modeData.wave,63,310)
mText(drawableText.wave,63,375)
end,
task=function(P)
while true do
YIELD()

View File

@@ -1,4 +1,9 @@
return{
mesDisp=function(P)
setFont(60)
mStr(P.modeData.wave,63,310)
mText(drawableText.wave,63,375)
end,
task=function(P)
while true do
YIELD()

View File

@@ -1,6 +1,10 @@
local dropSpeed={50,40,30,25,20,15,12,9,7,5,4,3,2,1,1,.5,.5,.25,.25}
return{
mesDisp=function(P)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
PLY.draw.drawTargetLine(P,200-P.stat.row)
end,
task=function(P)
P.gameEnv.drop=60
P.gameEnv.wait=8

View File

@@ -1,5 +1,9 @@
return
{
mesDisp=function(P)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
PLY.draw.drawTargetLine(P,200-P.stat.row)
end,
task=function(P)
P.gameEnv.drop=.5
P.gameEnv.wait=8

View File

@@ -2,6 +2,10 @@ local dropSpeed={50,40,30,24,18,14,10,8,6,5,4,3,2,1,1,.5,.5,.25,.25}
return
{
mesDisp=function(P)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
PLY.draw.drawTargetLine(P,200-P.stat.row)
end,
task=function(P)
P.gameEnv.drop=60
P.gameEnv.wait=8

View File

@@ -2,6 +2,17 @@ local sectionName={"D","C","B","A","A+","S-","S","S+","S+","SS","SS","U","U","X"
local passPoint=16
return{
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.clears[4],63,340)
end,
dropPiece=function(P)
if P.modeData.rankPoint<140-passPoint then--If Less then X
local R=#P.clearedRow

View File

@@ -1,4 +1,7 @@
return{
mesDisp=function(P)
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
end,
dropPiece=function(P)
local D=P.modeData

View File

@@ -3,6 +3,9 @@ local death_wait={10,9, 8, 7,6, 6,6,5,5,4}
local death_fall={10,9, 8, 7,6, 6,5,5,4,4}
return{
mesDisp=function(P)
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
end,
dropPiece=function(P)
local D=P.modeData

View File

@@ -3,6 +3,9 @@ local rush_wait={12,10, 9, 8, 7}
local rush_fall={18,16,14,13,12}
return{
mesDisp=function(P)
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
end,
dropPiece=function(P)
local D=P.modeData

View File

@@ -3,6 +3,9 @@ local rush_wait={12,11,11,10,10, 10,10, 9, 9, 9}
local rush_fall={18,16,14,13,12, 12,11,11,10,10}
return{
mesDisp=function(P)
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
end,
dropPiece=function(P)
local D=P.modeData

View File

@@ -1,5 +1,8 @@
return
{
mesDisp=function(P)
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
end,
dropPiece=function(P)
local p=P.modeData.pt+P.lastPiece.row
if p>=P.modeData.target then

View File

@@ -3,6 +3,9 @@ local death_wait={10, 9, 8,7,6, 6,5,4,4,3}
local death_fall={10, 9, 8,7,6, 5,5,4,3,3}
return{
mesDisp=function(P)
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
end,
dropPiece=function(P)
local D=P.modeData

View File

@@ -1,4 +1,9 @@
return{
mesDisp=function(P)
setFont(60)
mStr(P.stat.pc,63,340)
mText(drawableText.pc,63,410)
end,
task=function(P)
P.gameEnv.heightLimit=4
end,

View File

@@ -41,6 +41,11 @@ local function check(P)
end
end
return{
mesDisp=function(P)
setFont(60)
mStr(P.stat.pc,63,340)
mText(drawableText.pc,63,410)
end,
dropPiece=check,
task=check,
}

View File

@@ -32,6 +32,11 @@ local function check(P)
end
end
return{
mesDisp=function(P)
setFont(60)
mStr(P.stat.pc,63,340)
mText(drawableText.pc,63,410)
end,
dropPiece=check,
task=check,
}

View File

@@ -1,6 +1,21 @@
local gc=love.graphics
local dropSpeed={[0]=40,33,27,20,16,12,11,10,9,8,7,6,5,4,3,3,2,2,1,1}
return{
mesDisp=function(P)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
setFont(30)
mStr(P.modeData.bpm,63,178)
gc.setLineWidth(4)
gc.circle('line',63,200,30)
local beat=P.modeData.counter/P.modeData.beatFrame
gc.setColor(1,1,1,1-beat)
gc.setLineWidth(3)
gc.circle('line',63,200,30+45*beat)
end,
dropPiece=function(P)
if P.stat.row>=P.modeData.target then
if P.modeData.target==200 then

View File

@@ -1,6 +1,21 @@
local gc=love.graphics
local dropSpeed={[0]=30,26,23,20,17,14,12,10,8,6,5,4,3,2,1,1,.5,.5,.25,.25}
return{
mesDisp=function(P)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
setFont(30)
mStr(P.modeData.bpm,63,178)
gc.setLineWidth(4)
gc.circle('line',63,200,30)
local beat=P.modeData.counter/P.modeData.beatFrame
gc.setColor(1,1,1,1-beat)
gc.setLineWidth(3)
gc.circle('line',63,200,30+45*beat)
end,
dropPiece=function(P)
if P.stat.row>=P.modeData.target then
if P.modeData.target==200 then

View File

@@ -1,4 +1,20 @@
local gc=love.graphics
return{
mesDisp=function(P)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
setFont(30)
mStr(P.modeData.bpm,63,178)
gc.setLineWidth(4)
gc.circle('line',63,200,30)
local beat=P.modeData.counter/P.modeData.beatFrame
gc.setColor(1,1,1,1-beat)
gc.setLineWidth(3)
gc.circle('line',63,200,30+45*beat)
end,
dropPiece=function(P)
if P.stat.row>=P.modeData.target then
if P.modeData.target==200 then

View File

@@ -1,4 +1,9 @@
return{
mesDisp=function(P)
setFont(60)
mStr(P.modeData.wave,63,310)
mText(drawableText.wave,63,375)
end,
task=function(P)
while true do
YIELD()

View File

@@ -1,4 +1,9 @@
return{
mesDisp=function(P)
setFont(60)
mStr(P.modeData.wave,63,310)
mText(drawableText.wave,63,375)
end,
task=function(P)
while true do
YIELD()

View File

@@ -1,4 +1,9 @@
return{
mesDisp=function(P)
setFont(60)
mStr(P.modeData.wave,63,310)
mText(drawableText.wave,63,375)
end,
task=function(P)
while true do
YIELD()

View File

@@ -1,4 +1,9 @@
return{
mesDisp=function(P)
setFont(60)
mStr(P.modeData.wave,63,310)
mText(drawableText.wave,63,375)
end,
task=function(P)
while true do
YIELD()

View File

@@ -1,4 +1,9 @@
return{
mesDisp=function(P)
setFont(60)
mStr(P.modeData.wave,63,310)
mText(drawableText.wave,63,375)
end,
task=function(P)
while true do
YIELD()

20
parts/eventsets/tsd_e.lua Normal file
View File

@@ -0,0 +1,20 @@
return{
mesDisp=function(P)
setFont(60)
mStr(P.modeData.tsd,63,250)
mText(drawableText.tsd,63,315)
end,
dropPiece=function(P)
local C=P.lastPiece
if C.row>0 then
if C.id==5 and C.row==2 and C.spin then
P.modeData.tsd=P.modeData.tsd+1
else
P:lose()
end
end
end,
task=function(P)
P.modeData.history={}
end,
}

View File

@@ -1,4 +1,18 @@
local gc=love.graphics
return{
mesDisp=function(P)
setFont(60)
mStr(P.modeData.tsd,63,250)
mText(drawableText.tsd,63,315)
local L=P.modeData.history
if L[1]and L[1]==L[2]and L[1]==L[3]then
PLY.draw.applyField(P)
gc.setColor(1,.5,.5,.2)
gc.rectangle('fill',30*L[1]-30,0,30,600)
PLY.draw.cancelField(P)
end
end,
dropPiece=function(P)
local C=P.lastPiece
if C.row>0 then

View File

@@ -1,4 +1,18 @@
local gc=love.graphics
return{
mesDisp=function(P)
setFont(60)
mStr(P.modeData.tsd,63,250)
mText(drawableText.tsd,63,315)
PLY.draw.applyField(P)
local L=P.modeData.history
for i=1,#L do
gc.setColor(1,.5,.5,.3-i*.05)
gc.rectangle('fill',30*L[i]-30,0,30,600)
end
PLY.draw.cancelField(P)
end,
dropPiece=function(P)
local C=P.lastPiece
if C.row>0 then

View File

@@ -1,6 +1,14 @@
local gc=love.graphics
local warnTime={60,90,105,115,116,117,118,119,120}
return{
mesDisp=function(P)
gc.setLineWidth(2)
gc.rectangle('line',55,110,32,402)
local T=P.stat.frame/60/120
gc.setColor(2*T,2-2*T,.2)
gc.rectangle('fill',56,511,30,(T-1)*400)
end,
task=function(P)
P.modeData.stage=1
while true do

View File

@@ -227,6 +227,8 @@ ROOMENV={
b2bKill=false,
easyFresh=true,
deepDrop=false,
eventSet="X",
}
REPLAY={}--Replay objects (not include stream data)

View File

@@ -8,13 +8,6 @@ return{
eventSet='attacker_h',
bg='rainbow2',bgm='shining terminal',
},
mesDisp=function(P)
setFont(55)
mStr(P.modeData.wave,63,200)
mStr("22",63,320)
mText(drawableText.wave,63,260)
mText(drawableText.nextWave,63,380)
end,
score=function(P)return{P.modeData.wave,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -7,13 +7,6 @@ return{
eventSet='attacker_u',
bg='rainbow2',bgm='shining terminal',
},
mesDisp=function(P)
setFont(55)
mStr(P.modeData.wave,63,200)
mStr(20+4*math.min(math.floor(P.modeData.wave/10),2),63,320)
mText(drawableText.wave,63,260)
mText(drawableText.nextWave,63,380)
end,
score=function(P)return{P.modeData.wave,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -7,13 +7,13 @@ return{
require'parts.eventsets.backfire_60'.dropPiece,
require'parts.eventsets.checkAttack_100'.dropPiece,
},
mesDisp=function(P)
setFont(60)
mStr(P.stat.atk,63,280)
mText(drawableText.atk,63,350)
end,
bg='tunnel',bgm='echo',
},
mesDisp=function(P)
setFont(60)
mStr(P.stat.atk,63,280)
mText(drawableText.atk,63,350)
end,
score=function(P)return{math.min(math.floor(P.stat.atk),100),P.stat.time}end,
scoreDisp=function(D)return D[1].." Attack "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -7,13 +7,13 @@ return{
require'parts.eventsets.backfire_30'.dropPiece,
require'parts.eventsets.checkAttack_100'.dropPiece,
},
mesDisp=function(P)
setFont(60)
mStr(P.stat.atk,63,280)
mText(drawableText.atk,63,350)
end,
bg='blackhole',bgm='echo',
},
mesDisp=function(P)
setFont(60)
mStr(P.stat.atk,63,280)
mText(drawableText.atk,63,350)
end,
score=function(P)return{math.min(math.floor(P.stat.atk),100),P.stat.time}end,
scoreDisp=function(D)return D[1].." Attack "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -6,13 +6,13 @@ return{
require'parts.eventsets.backfire_120'.dropPiece,
require'parts.eventsets.checkAttack_100'.dropPiece,
},
mesDisp=function(P)
setFont(60)
mStr(P.stat.atk,63,280)
mText(drawableText.atk,63,350)
end,
bg='tunnel',bgm='echo',
},
mesDisp=function(P)
setFont(60)
mStr(P.stat.atk,63,280)
mText(drawableText.atk,63,350)
end,
score=function(P)return{math.min(math.floor(P.stat.atk),100),P.stat.time}end,
scoreDisp=function(D)return D[1].." Attack "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -7,13 +7,13 @@ return{
require'parts.eventsets.backfire_0'.dropPiece,
require'parts.eventsets.checkAttack_100'.dropPiece,
},
mesDisp=function(P)
setFont(60)
mStr(P.stat.atk,63,280)
mText(drawableText.atk,63,350)
end,
bg='blackhole',bgm='echo',
},
mesDisp=function(P)
setFont(60)
mStr(P.stat.atk,63,280)
mText(drawableText.atk,63,350)
end,
score=function(P)return{math.min(math.floor(P.stat.atk),100),P.stat.time}end,
scoreDisp=function(D)return D[1].." Attack "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -1,21 +1,18 @@
local min=math.min
return{
color=COLOR.cyan,
env={
drop=30,lock=45,
visible='easy',
freshLimit=10,
mesDisp=function(P)
mText(drawableText.techrash,63,420)
setFont(75)
mStr(P.stat.clears[4],63,340)
end,
eventSet='checkLine_200',
bg='glow',bgm='push',
},
mesDisp=function(P)
mText(drawableText.line,63,300)
mText(drawableText.techrash,63,420)
setFont(75)
mStr(P.stat.row,63,220)
mStr(P.stat.clears[4],63,340)
end,
score=function(P)return{min(P.stat.row,200),P.stat.time}end,
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(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)

View File

@@ -1,5 +1,3 @@
local gc=love.graphics
local min=math.min
return{
color=COLOR.magenta,
env={
@@ -9,21 +7,11 @@ return{
visible='none',
score=false,
freshLimit=15,
mesDisp=require"parts.eventsets.blindMesDisp".mesDisp,
eventSet='checkLine_200',
bg='rgb',bgm='push',
},
mesDisp=function(P)
mText(drawableText.line,63,300)
mText(drawableText.techrash,63,420)
setFont(75)
mStr(P.stat.row,63,220)
mStr(P.stat.clears[4],63,340)
PLY.draw.applyField(P)
gc.setColor(1,1,1,.1)
gc.draw(IMG.electric,0,106,0,2.6)
PLY.draw.cancelField(P)
end,
score=function(P)return{min(P.stat.row,200),P.stat.time}end,
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(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)

View File

@@ -1,5 +1,3 @@
local gc=love.graphics
local min=math.min
return{
color=COLOR.red,
env={
@@ -10,21 +8,11 @@ return{
visible='none',
score=false,
freshLimit=15,
mesDisp=require"parts.eventsets.blindMesDisp".mesDisp,
eventSet='checkLine_200',
bg='rgb',bgm='push',
},
mesDisp=function(P)
mText(drawableText.line,63,300)
mText(drawableText.techrash,63,420)
setFont(75)
mStr(P.stat.row,63,220)
mStr(P.stat.clears[4],63,340)
PLY.draw.applyField(P)
gc.setColor(1,1,1,.1)
gc.draw(IMG.electric,0,106,0,2.6)
PLY.draw.cancelField(P)
end,
score=function(P)return{min(P.stat.row,200),P.stat.time}end,
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(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)

View File

@@ -1,26 +1,14 @@
local gc=love.graphics
local min=math.min
return{
color=COLOR.green,
env={
drop=15,lock=45,
freshLimit=10,
visible='fast',
mesDisp=require"parts.eventsets.blindMesDisp".mesDisp,
eventSet='checkLine_200',
bg='glow',bgm='push',
},
mesDisp=function(P)
mText(drawableText.line,63,300)
mText(drawableText.techrash,63,420)
setFont(75)
mStr(P.stat.row,63,220)
mStr(P.stat.clears[4],63,340)
PLY.draw.applyField(P)
gc.setColor(1,1,1,.1)
gc.draw(IMG.electric,0,106,0,2.6)
PLY.draw.cancelField(P)
end,
score=function(P)return{min(P.stat.row,200),P.stat.time}end,
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(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)

View File

@@ -1,5 +1,3 @@
local gc=love.graphics
local min=math.min
return{
color=COLOR.red,
env={
@@ -9,21 +7,11 @@ return{
visible='none',
score=false,
freshLimit=15,
mesDisp=require"parts.eventsets.blindMesDisp".mesDisp,
eventSet='checkLine_100',
bg='rgb',bgm='far',
},
mesDisp=function(P)
mText(drawableText.line,63,300)
mText(drawableText.techrash,63,420)
setFont(75)
mStr(P.stat.row,63,220)
mStr(P.stat.clears[4],63,340)
PLY.draw.applyField(P)
gc.setColor(1,1,1,.1)
gc.draw(IMG.electric,0,106,0,2.6)
PLY.draw.cancelField(P)
end,
score=function(P)return{min(P.stat.row,100),P.stat.time}end,
score=function(P)return{math.min(P.stat.row,100),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(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)

View File

@@ -1,10 +1,10 @@
local boarder=GC.DO{334,620,
{'setLW',2},
{'setCL',.97,.97,.97},
{'dRect',16,1,302,618,5},
{'fRect',17,612,300,2},
{'dRect',318,9,15,596,3},
{'dRect',1,9,15,596,3},
{'setLW',2},
{'setCL',.97,.97,.97},
{'dRect',16,1,302,618,5},
{'fRect',17,612,300,2},
{'dRect',318,9,15,596,3},
{'dRect',1,9,15,596,3},
}
local gc=love.graphics
local sin,min=math.sin,math.min
@@ -17,6 +17,35 @@ return{
dropFX=0,lockFX=0,
visible='none',
freshLimit=15,
mesDisp=function(P,repMode)
if not GAME.result then
gc.push('transform')
if repMode then
gc.origin()
gc.setColor(.3,.3,.3,.7)
gc.rectangle('fill',0,0,SCR.w,SCR.h)
else
gc.clear(.2,.2,.2)
gc.translate(150,0)
gc.setColor(.5,.5,.5)
--Frame
gc.draw(boarder,-17,-12)
end
gc.pop()
end
--Figures
local t=TIME()
gc.setColor(1,1,1,.5+.2*sin(t))
gc.draw(IMG.hbm,-276,-86,0,1.5)
gc.draw(IMG.electric,476,152,0,2.6)
--Texts
gc.setColor(.8,.8,.8)
mText(drawableText.techrash,63,420)
setFont(75)
mStr(P.stat.clears[4],63,340)
end,
eventSet='checkLine_40',
bg='none',bgm='far',
},
@@ -26,37 +55,6 @@ return{
MES.new('warn',text.switchSpawnSFX)
end
end,
mesDisp=function(P,repMode)
if not GAME.result then
gc.push('transform')
if repMode then
gc.origin()
gc.setColor(.3,.3,.3,.7)
gc.rectangle('fill',0,0,SCR.w,SCR.h)
else
gc.clear(.2,.2,.2)
gc.translate(150,0)
gc.setColor(.5,.5,.5)
--Frame
gc.draw(boarder,-17,-12)
end
gc.pop()
end
--Figures
local t=TIME()
gc.setColor(1,1,1,.5+.2*sin(t))
gc.draw(IMG.hbm,-276,-86,0,1.5)
gc.draw(IMG.electric,476,152,0,2.6)
--Texts
gc.setColor(.8,.8,.8)
mText(drawableText.line,63,300)
mText(drawableText.techrash,63,420)
setFont(75)
mStr(P.stat.row,63,220)
mStr(P.stat.clears[4],63,340)
end,
score=function(P)return{min(P.stat.row,40),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -7,13 +7,6 @@ return{
eventSet='c4wBase',
bg='rgb',bgm='oxygen',
},
mesDisp=function(P)
setFont(45)
mStr(P.combo,63,310)
mStr(P.modeData.maxCombo,63,400)
mText(drawableText.combo,63,358)
mText(drawableText.maxcmb,63,450)
end,
score=function(P)return{math.min(P.modeData.maxCombo,100),P.stat.time}end,
scoreDisp=function(D)return D[1].." Combo "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -7,13 +7,6 @@ return{
eventSet='c4wBase',
bg='rgb',bgm='oxygen',
},
mesDisp=function(P)
setFont(45)
mStr(P.combo,63,310)
mStr(P.modeData.maxCombo,63,400)
mText(drawableText.combo,63,358)
mText(drawableText.maxcmb,63,450)
end,
score=function(P)return{math.min(P.modeData.maxCombo,100),P.stat.time}end,
scoreDisp=function(D)return D[1].." Combo "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -1,18 +1,10 @@
return{
color=COLOR.lBlue,
env={
das=16,arr=6,sddas=2,sdarr=2,
irs=false,ims=false,
center=0,ghost=0,
smooth=false,
drop=3,lock=3,wait=10,fall=25,
fieldH=19,
nextCount=1,holdCount=false,
RS='Classic',
sequence='rnd',
freshLimit=0,
face={0,0,2,2,2,0,0},
noTele=true,keyCancel={5,6},
eventSet='classic_fast',
bg='rgb',bgm='magicblock',
},

View File

@@ -12,6 +12,11 @@ return{
end
end
GAME.modeEnv.dropPiece=NULL
GAME.modeEnv.mesDisp=function(P)
setFont(55)
mStr(P.stat.row,63,225)
mText(drawableText.line,63,290)
end
::BREAK_clearMode::
PLY.newPlayer(1)
local AItype=GAME.modeEnv.opponent:sub(1,2)
@@ -26,9 +31,4 @@ return{
setField(P,1)
end
end,
mesDisp=function(P)
setFont(55)
mStr(P.stat.row,63,225)
mText(drawableText.line,63,290)
end,
}

View File

@@ -37,6 +37,24 @@ return{
env={
fkey1=function(P)P.modeData.showMark=1-P.modeData.showMark end,
dropPiece=puzzleCheck,
mesDisp=function(P)
setFont(55)
mStr(P.stat.row,63,225)
mText(drawableText.line,63,290)
PLY.draw.applyField(P)
if P.modeData.showMark==0 then
local mark=TEXTURE.puzzleMark
local F=FIELD[P.modeData.finished+1]
gc.setColor(1,1,1)
for y=1,20 do for x=1,10 do
local T=F[y][x]
if T~=0 then
gc_draw(mark[T],30*x-30,600-30*y)
end
end end
end
PLY.draw.cancelField(P)
end,
},
load=function()
applyCustomGame()
@@ -49,22 +67,4 @@ return{
PLY.newAIPlayer(2,BOT.template{type='CC',speedLV=2*AIlevel-1,next=math.floor(AIlevel*.5+1),hold=true,node=20000+5000*AIlevel})
end
end,
mesDisp=function(P)
setFont(55)
mStr(P.stat.row,63,225)
mText(drawableText.line,63,290)
PLY.draw.applyField(P)
if P.modeData.showMark==0 then
local mark=TEXTURE.puzzleMark
local F=FIELD[P.modeData.finished+1]
gc.setColor(1,1,1)
for y=1,20 do for x=1,10 do
local T=F[y][x]
if T~=0 then
gc_draw(mark[T],30*x-30,600-30*y)
end
end end
end
PLY.draw.cancelField(P)
end,
}

View File

@@ -9,13 +9,6 @@ return{
eventSet='defender_l',
bg='rainbow2',bgm='storm',
},
mesDisp=function(P)
setFont(55)
mStr(P.modeData.wave,63,200)
mStr(P.modeData.rpm,63,320)
mText(drawableText.wave,63,260)
mText(drawableText.rpm,63,380)
end,
score=function(P)return{P.modeData.wave,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -9,13 +9,6 @@ return{
eventSet='defender_n',
bg='rainbow2',bgm='storm',
},
mesDisp=function(P)
setFont(55)
mStr(P.modeData.wave,63,200)
mStr(P.modeData.rpm,63,320)
mText(drawableText.wave,63,260)
mText(drawableText.rpm,63,380)
end,
score=function(P)return{P.modeData.wave,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -12,13 +12,13 @@ return{
env={
pushSpeed=6,
dropPiece=check_rise,
mesDisp=function(P)
setFont(55)
mStr(100-P.stat.dig,63,265)
end,
eventSet='digBase',
bg='bg2',bgm='way',
},
mesDisp=function(P)
setFont(55)
mStr(100-P.stat.dig,63,265)
end,
score=function(P)return{P.stat.time,P.stat.piece}end,
scoreDisp=function(D)return STRING.time(D[1]).." "..D[2].." Pieces"end,
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -9,13 +9,13 @@ return{
env={
pushSpeed=6,
dropPiece=check_rise,
mesDisp=function(P)
setFont(55)
mStr(10-P.stat.dig,63,265)
end,
eventSet='digBase',
bg='bg1',bgm='way',
},
mesDisp=function(P)
setFont(55)
mStr(10-P.stat.dig,63,265)
end,
score=function(P)return{P.stat.time,P.stat.piece}end,
scoreDisp=function(D)return STRING.time(D[1]).." "..D[2].." Pieces"end,
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -12,13 +12,13 @@ return{
env={
pushSpeed=6,
dropPiece=check_rise,
mesDisp=function(P)
setFont(55)
mStr(400-P.stat.dig,63,265)
end,
eventSet='digBase',
bg='bg2',bgm='way',
},
mesDisp=function(P)
setFont(55)
mStr(400-P.stat.dig,63,265)
end,
score=function(P)return{P.stat.time,P.stat.piece}end,
scoreDisp=function(D)return STRING.time(D[1]).." "..D[2].." Pieces"end,
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -12,13 +12,13 @@ return{
env={
pushSpeed=6,
dropPiece=check_rise,
mesDisp=function(P)
setFont(55)
mStr(40-P.stat.dig,63,265)
end,
eventSet='digBase',
bg='bg1',bgm='way',
},
mesDisp=function(P)
setFont(55)
mStr(40-P.stat.dig,63,265)
end,
score=function(P)return{P.stat.time,P.stat.piece}end,
scoreDisp=function(D)return STRING.time(D[1]).." "..D[2].." Pieces"end,
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -7,11 +7,6 @@ return{
eventSet='dig_h',
bg='bg2',bgm='shift',
},
mesDisp=function(P)
setFont(60)
mStr(P.modeData.wave,63,310)
mText(drawableText.wave,63,375)
end,
score=function(P)return{P.modeData.wave,P.stat.row}end,
scoreDisp=function(D)return D[1].." Waves "..D[2].." Lines"end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -6,11 +6,6 @@ return{
eventSet='dig_u',
bg='bg2',bgm='shift',
},
mesDisp=function(P)
setFont(60)
mStr(P.modeData.wave,63,310)
mText(drawableText.wave,63,375)
end,
score=function(P)return{P.modeData.wave,P.stat.row}end,
scoreDisp=function(D)return D[1].." Waves "..D[2].." Lines"end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -81,13 +81,6 @@ return{
eventSet='checkLine_100',
bg='blockfall',bgm='reason',
},
mesDisp=function(P)
setFont(55)
local r=100-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
score=function(P)return{math.min(P.stat.row,100),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -1,4 +1,3 @@
local min=math.min
return{
color=COLOR.green,
env={
@@ -11,14 +10,7 @@ return{
eventSet='checkLine_100',
bg='blockfall',bgm='reason',
},
mesDisp=function(P)
setFont(55)
local r=100-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
score=function(P)return{min(P.stat.row,100),P.stat.time}end,
score=function(P)return{math.min(P.stat.row,100),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(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)

View File

@@ -3,13 +3,13 @@ return{
env={
drop=1e99,lock=1e99,
infHold=true,
mesDisp=function(P)
setFont(45)
mStr(("%.1f"):format(P.stat.atk),63,190)
mStr(("%.2f"):format(P.stat.atk/P.stat.row),63,310)
mText(drawableText.atk,63,243)
mText(drawableText.eff,63,363)
end,
bg='blockfall',bgm='infinite',
},
mesDisp=function(P)
setFont(45)
mStr(("%.1f"):format(P.stat.atk),63,190)
mStr(("%.2f"):format(P.stat.atk/P.stat.row),63,310)
mText(drawableText.atk,63,243)
mText(drawableText.eff,63,363)
end,
}

View File

@@ -30,8 +30,17 @@ return{
env={
drop=1e99,lock=1e99,
infHold=true,
dropPiece=check_rise,
pushSpeed=1.2,
dropPiece=check_rise,
mesDisp=function(P)
setFont(45)
mStr(P.stat.dig,63,190)
mStr(P.stat.atk,63,310)
mStr(("%.2f"):format(P.stat.atk/P.stat.row),63,420)
mText(drawableText.line,63,243)
mText(drawableText.atk,63,363)
mText(drawableText.eff,63,475)
end,
bg='wing',bgm='dream',
},
load=function()
@@ -42,13 +51,4 @@ return{
end
P.fieldBeneath=0
end,
mesDisp=function(P)
setFont(45)
mStr(P.stat.dig,63,190)
mStr(P.stat.atk,63,310)
mStr(("%.2f"):format(P.stat.atk/P.stat.row),63,420)
mText(drawableText.line,63,243)
mText(drawableText.atk,63,363)
mText(drawableText.eff,63,475)
end,
}

View File

@@ -7,10 +7,6 @@ return{
bg='bg2',bgm='blank',
},
slowMark=true,
mesDisp=function(P)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
PLY.draw.drawTargetLine(P,200-P.stat.row)
end,
getRank=function(P)
local L=P.stat.row
if L>=200 then

View File

@@ -8,10 +8,6 @@ return{
bg='cubes',bgm='push',
},
slowMark=true,
mesDisp=function(P)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
PLY.draw.drawTargetLine(P,200-P.stat.row)
end,
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -8,10 +8,6 @@ return{
bg='bg2',bgm='push',
},
slowMark=true,
mesDisp=function(P)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
PLY.draw.drawTargetLine(P,200-P.stat.row)
end,
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -14,18 +14,6 @@ return{
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,

View File

@@ -10,9 +10,6 @@ return{
bg='lightning',bgm='rectification',
},
slowMark=true,
mesDisp=function(P)
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
end,
score=function(P)return{P.modeData.pt,P.stat.time}end,
scoreDisp=function(D)return D[1].."P "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -9,9 +9,6 @@ return{
bg='bg2',bgm='secret7th',
},
slowMark=true,
mesDisp=function(P)
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
end,
score=function(P)return{P.modeData.pt,P.stat.time}end,
scoreDisp=function(D)return D[1].."P "..STRING.time(D[2])end,
comp=function(a,b)

View File

@@ -9,9 +9,6 @@ return{
bg='bg1',bgm='secret8th',
},
slowMark=true,
mesDisp=function(P)
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
end,
score=function(P)return{P.modeData.pt,P.stat.time}end,
scoreDisp=function(D)return D[1].."P "..STRING.time(D[2])end,
comp=function(a,b)

View File

@@ -9,9 +9,6 @@ return{
bg='bg1',bgm='secret8th',
},
slowMark=true,
mesDisp=function(P)
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
end,
score=function(P)return{P.modeData.pt,P.stat.time}end,
scoreDisp=function(D)return D[1].."P "..STRING.time(D[2])end,
comp=function(a,b)

View File

@@ -13,9 +13,6 @@ return{
bg='blockspace',bgm='super7th',
},
slowMark=true,
mesDisp=function(P)
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
end,
score=function(P)return{P.result=='win'and 260 or P.modeData.pt,P.stat.time}end,
scoreDisp=function(D)return D[1].."P "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -10,9 +10,6 @@ return{
bg='bg2',bgm='secret7th',
},
slowMark=true,
mesDisp=function(P)
PLY.draw.drawProgress(P.modeData.pt,P.modeData.target)
end,
score=function(P)return{P.modeData.pt,P.stat.time}end,
scoreDisp=function(D)return D[1].."P "..STRING.time(D[2])end,
comp=function(a,b)

View File

@@ -5,20 +5,14 @@ return{
fall=10,
freshLimit=15,
ospin=false,
mesDisp=function(P)
setFont(60)
mStr(P.stat.pc,63,340)
mText(drawableText.pc,63,410)
end,
eventSet='checkLine_100',
bg='rgb',bgm='truth',
},
mesDisp=function(P)
setFont(55)
local r=100-P.stat.row
if r<0 then r=0 end
mStr(r,63,220)
PLY.draw.drawTargetLine(P,r)
setFont(60)
mStr(P.stat.pc,63,300)
mText(drawableText.pc,63,370)
end,
score=function(P)return{P.stat.pc,P.stat.time}end,
scoreDisp=function(D)return D[1].." PCs "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -8,11 +8,6 @@ return{
eventSet='pc_inf',
bg='rgb',bgm='moonbeam',
},
mesDisp=function(P)
setFont(60)
mStr(P.stat.pc,63,300)
mText(drawableText.pc,63,370)
end,
score=function(P)return{P.stat.pc,P.stat.time}end,
scoreDisp=function(D)return D[1].." PCs "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -5,20 +5,14 @@ return{
fall=20,
freshLimit=15,
ospin=false,
mesDisp=function(P)
setFont(60)
mStr(P.stat.pc,63,340)
mText(drawableText.pc,63,410)
end,
eventSet='checkLine_100',
bg='rgb',bgm='moonbeam',
},
mesDisp=function(P)
setFont(55)
local r=100-P.stat.row
if r<0 then r=0 end
mStr(r,63,220)
PLY.draw.drawTargetLine(P,r)
setFont(60)
mStr(P.stat.pc,63,300)
mText(drawableText.pc,63,370)
end,
score=function(P)return{P.stat.pc,P.stat.time}end,
scoreDisp=function(D)return D[1].." PCs "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -3,20 +3,14 @@ return{
env={
infHold=true,
drop=150,lock=1e99,
mesDisp=function(P)
setFont(60)
mStr(P.stat.pc,63,340)
mText(drawableText.pc,63,410)
end,
eventSet='checkLine_100',
bg='rgb',bgm='truth',
},
mesDisp=function(P)
setFont(55)
local r=100-P.stat.row
if r<0 then r=0 end
mStr(r,63,220)
PLY.draw.drawTargetLine(P,r)
setFont(60)
mStr(P.stat.pc,63,300)
mText(drawableText.pc,63,370)
end,
score=function(P)return{P.stat.pc,P.stat.time}end,
scoreDisp=function(D)return D[1].." PCs "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -11,11 +11,6 @@ return{
eventSet='pctrain_l',
bg='rgb',bgm='oxygen',
},
mesDisp=function(P)
setFont(60)
mStr(P.stat.pc,63,300)
mText(drawableText.pc,63,370)
end,
score=function(P)return{P.stat.pc,P.stat.time}end,
scoreDisp=function(D)return D[1].." PCs "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -10,14 +10,6 @@ return{
eventSet='pctrain_n',
bg='rgb',bgm='oxygen',
},
load=function()
PLY.newPlayer(1)
end,
mesDisp=function(P)
setFont(60)
mStr(P.stat.pc,63,300)
mText(drawableText.pc,63,370)
end,
score=function(P)return{P.stat.pc,P.stat.time}end,
scoreDisp=function(D)return D[1].." PCs "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -1,5 +1,3 @@
local gc=love.graphics
return{
color=COLOR.green,
env={
@@ -10,20 +8,6 @@ return{
bg='bg2',bgm='push',
},
slowMark=true,
mesDisp=function(P)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
setFont(30)
mStr(P.modeData.bpm,63,178)
gc.setLineWidth(4)
gc.circle('line',63,200,30)
local beat=P.modeData.counter/P.modeData.beatFrame
gc.setColor(1,1,1,1-beat)
gc.setLineWidth(3)
gc.circle('line',63,200,30+45*beat)
end,
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -1,5 +1,3 @@
local gc=love.graphics
return{
color=COLOR.magenta,
env={
@@ -10,20 +8,6 @@ return{
bg='bg2',bgm='secret8th',
},
slowMark=true,
mesDisp=function(P)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
setFont(30)
mStr(P.modeData.bpm,63,178)
gc.setLineWidth(4)
gc.circle('line',63,200,30)
local beat=P.modeData.counter/P.modeData.beatFrame
gc.setColor(1,1,1,1-beat)
gc.setLineWidth(3)
gc.circle('line',63,200,30+45*beat)
end,
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -1,5 +1,3 @@
local gc=love.graphics
return{
color=COLOR.magenta,
env={
@@ -10,20 +8,6 @@ return{
bg='bg2',bgm='secret7th',
},
slowMark=true,
mesDisp=function(P)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
setFont(30)
mStr(P.modeData.bpm,63,178)
gc.setLineWidth(4)
gc.circle('line',63,200,30)
local beat=P.modeData.counter/P.modeData.beatFrame
gc.setColor(1,1,1,1-beat)
gc.setLineWidth(3)
gc.circle('line',63,200,30+45*beat)
end,
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -6,13 +6,6 @@ return{
eventSet='checkAttack_100',
bg='matrix',bgm='new era',
},
mesDisp=function(P)
setFont(45)
mStr(("%.1f"):format(P.stat.atk),63,190)
mStr(("%.2f"):format(P.stat.atk/P.stat.row),63,310)
mText(drawableText.atk,63,243)
mText(drawableText.eff,63,363)
end,
score=function(P)return{P.stat.atk<=100 and math.floor(P.stat.atk)or 100,P.stat.time}end,
scoreDisp=function(D)return D[1].." Attack "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,

View File

@@ -7,13 +7,6 @@ return{
eventSet='checkLine_40',
bg='aura',bgm='waterfall',
},
mesDisp=function(P)
setFont(55)
local r=40-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
getRank=function(P)
local L=P.stat.row
if L<40 then

View File

@@ -6,13 +6,6 @@ return{
eventSet='checkLine_40',
bg='aura',bgm='waterfall',
},
mesDisp=function(P)
setFont(55)
local r=40-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
getRank=function(P)
local L=P.stat.row
if L<40 then

View File

@@ -7,13 +7,6 @@ return{
eventSet='checkLine_40',
bg='aura',bgm='waterfall',
},
mesDisp=function(P)
setFont(55)
local r=40-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
score=function(P)return{P.stat.time,P.stat.piece}end,
scoreDisp=function(D)return STRING.time(D[1]).." "..D[2].." Pieces"end,
comp=function(a,b)return a[1]<b[1]or(a[1]==b[1]and a[2]<b[2])end,

View File

@@ -6,13 +6,6 @@ return{
eventSet='checkLine_40',
bg='aura',bgm='beat5th',
},
mesDisp=function(P)
setFont(55)
local r=40-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
score=function(P)return{P.stat.time,P.stat.piece}end,
scoreDisp=function(D)return STRING.time(D[1]).." "..D[2].." Pieces"end,
comp=function(a,b)return a[1]<b[1]or(a[1]==b[1]and a[2]<b[2])end,

View File

@@ -7,13 +7,6 @@ return{
eventSet='checkLine_40',
bg='aura',bgm='waterfall',
},
mesDisp=function(P)
setFont(55)
local r=40-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)
PLY.draw.drawTargetLine(P,r)
end,
getRank=function(P)
if P.stat.row<40 then return end
local T=P.stat.time

Some files were not shown because too many files have changed in this diff Show More