0.8.11
This commit is contained in:
@@ -31,7 +31,7 @@ return{
|
||||
env={
|
||||
_20G=true,
|
||||
drop=0,lock=15,
|
||||
wait=10,fall=15,
|
||||
wait=15,fall=6,
|
||||
next=3,
|
||||
visible="fast",
|
||||
freshLimit=15,
|
||||
|
||||
@@ -22,7 +22,7 @@ return{
|
||||
freshLimit=15,
|
||||
pushSpeed=2,
|
||||
task=function(P)
|
||||
if not P.control then return end
|
||||
if not(P.control and scene.cur=="play")then return end
|
||||
if P.atkBuffer.sum==0 then
|
||||
local p=#P.atkBuffer+1
|
||||
local B,D=P.atkBuffer,P.modeData
|
||||
|
||||
@@ -21,7 +21,7 @@ return{
|
||||
fall=8,
|
||||
freshLimit=15,
|
||||
task=function(P)
|
||||
if not P.control then return end
|
||||
if not(P.control and scene.cur=="play")then return end
|
||||
if P.atkBuffer.sum<2 then
|
||||
local p=#P.atkBuffer+1
|
||||
local B,D=P.atkBuffer,P.modeData
|
||||
|
||||
@@ -18,9 +18,9 @@ return{
|
||||
"EASY",
|
||||
},
|
||||
info={
|
||||
"All-spin 入门教程",
|
||||
"All-spin 入门教程",
|
||||
"All-spin Tutorial!",
|
||||
"All-spin 入门教程\n未制作完成,下块即通",
|
||||
"All-spin 入门教程\n未制作完成,下块即通",
|
||||
"All-spin Tutorial!\nUNFINISHED drop to win",
|
||||
},
|
||||
color=color.lightGrey,
|
||||
env={
|
||||
@@ -35,11 +35,6 @@ return{
|
||||
newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(50)
|
||||
for i=1,10 do
|
||||
mStr("UNFINISHED",-126+35*i,60*i-110)
|
||||
mStr("UNFINISHED",626-60*i,60*i-90)
|
||||
end
|
||||
end,
|
||||
score=function(P)return{P.modeData.event,P.stat.extraRate}end,
|
||||
scoreDisp=function(D)return D[1].."Stage "..format("%.2f",D[2]).."%"end,
|
||||
|
||||
@@ -66,7 +66,7 @@ return{
|
||||
mDraw(drawableText.combo,-82,358)
|
||||
mDraw(drawableText.mxcmb,-82,450)
|
||||
end,
|
||||
score=function(P)return{min(P.combo,100),P.stat.time}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,
|
||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||
getRank=function(P)
|
||||
|
||||
@@ -8,7 +8,7 @@ local function check_LVup(P)
|
||||
P.gameEnv.drop,P.gameEnv.lock=1,1
|
||||
end
|
||||
if P.gameEnv.target>100 then
|
||||
SFX("reach")
|
||||
SFX.play("reach")
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -54,9 +54,9 @@ return{
|
||||
mStr(P.gameEnv.target,-82,370)
|
||||
gc.rectangle("fill",-125,375,90,4)
|
||||
end,
|
||||
score=function(P)return{P.stat.row,P.stat.score}end,
|
||||
scoreDisp=function(D)return D[1].." Lines "..D[2]end,
|
||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]>b[2]end,
|
||||
score=function(P)return{P.stat.score,P.stat.row}end,
|
||||
scoreDisp=function(D)return D[1].." "..D[2].." Lines"end,
|
||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||
getRank=function(P)
|
||||
local L=P.stat.row
|
||||
return
|
||||
|
||||
@@ -22,7 +22,7 @@ return{
|
||||
freshLimit=15,
|
||||
pushSpeed=2,
|
||||
task=function(P)
|
||||
if not P.control then return end
|
||||
if not(P.control and scene.cur=="play")then return end
|
||||
P.modeData.counter=P.modeData.counter+1
|
||||
local t=240-2*P.modeData.event
|
||||
if P.modeData.counter>=t then
|
||||
|
||||
@@ -22,7 +22,7 @@ return{
|
||||
freshLimit=15,
|
||||
pushSpeed=1,
|
||||
task=function(P)
|
||||
if not P.control then return end
|
||||
if not(P.control and scene.cur=="play")then return end
|
||||
P.modeData.counter=P.modeData.counter+1
|
||||
local t=360-P.modeData.event*2
|
||||
if P.modeData.counter>=t then
|
||||
|
||||
@@ -21,12 +21,13 @@ return{
|
||||
fall=20,
|
||||
freshLimit=15,
|
||||
task=function(P)
|
||||
if not P.control then return end
|
||||
P.modeData.counter=P.modeData.counter+1
|
||||
if P.modeData.counter>=max(90,180-P.modeData.event)then
|
||||
P.modeData.counter=0
|
||||
if not(P.control and scene.cur=="play")then return end
|
||||
local D=P.modeData
|
||||
D.counter=D.counter+1
|
||||
if D.counter>=max(90,180-D.event)then
|
||||
P:garbageRise(10,1,rnd(10))
|
||||
P.modeData.event=P.modeData.event+1
|
||||
D.counter=0
|
||||
D.event=D.event+1
|
||||
end
|
||||
end,
|
||||
bg="game2",bgm="push",
|
||||
|
||||
@@ -20,12 +20,13 @@ return{
|
||||
drop=10,lock=30,
|
||||
freshLimit=15,
|
||||
task=function(P)
|
||||
if not P.control then return end
|
||||
P.modeData.counter=P.modeData.counter+1
|
||||
if P.modeData.counter>=max(45,80-.3*P.modeData.event)then
|
||||
P.modeData.counter=0
|
||||
P:garbageRise(11+P.modeData.event%3,1,rnd(10))
|
||||
P.modeData.event=P.modeData.event+1
|
||||
if not(P.control and scene.cur=="play")then return end
|
||||
local D=P.modeData
|
||||
D.counter=D.counter+1
|
||||
if D.counter>=max(30,80-.3*D.event)then
|
||||
P:garbageRise(11+D.event%3,1,rnd(10))
|
||||
D.counter=0
|
||||
D.event=D.event+1
|
||||
end
|
||||
end,
|
||||
bg="game2",bgm="secret7th",
|
||||
@@ -45,8 +46,8 @@ return{
|
||||
getRank=function(P)
|
||||
local W=P.modeData.event
|
||||
return
|
||||
W>=120 and 5 or
|
||||
W>=100 and 4 or
|
||||
W>=150 and 5 or
|
||||
W>=110 and 4 or
|
||||
W>=80 and 3 or
|
||||
W>=50 and 2 or
|
||||
W>=20 and 1 or
|
||||
|
||||
@@ -8,7 +8,7 @@ local function check_LVup(P)
|
||||
else
|
||||
P.gameEnv.drop=dropSpeed[T/10]
|
||||
P.modeData.point=T
|
||||
SFX("reach")
|
||||
SFX.play("reach")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -12,7 +12,7 @@ local function score(P)
|
||||
end
|
||||
P.modeData.point=P.modeData.point+s
|
||||
if P.modeData.point%100==99 then
|
||||
SFX("blip_1")
|
||||
SFX.play("blip_1")
|
||||
elseif P.modeData.point>=100*(P.modeData.event+1)then
|
||||
local s=P.modeData.event+1;P.modeData.event=s--level up!
|
||||
local E=P.gameEnv
|
||||
@@ -28,7 +28,7 @@ local function score(P)
|
||||
else
|
||||
P:showText(text.stage(s),0,-120,80,"fly")
|
||||
end
|
||||
SFX("reach")
|
||||
SFX.play("reach")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -44,9 +44,9 @@ return{
|
||||
"ULTIMATE",
|
||||
},
|
||||
info={
|
||||
"进阶20G",
|
||||
"进阶20G",
|
||||
"Advanced 20G",
|
||||
"20G:上级者的挑战",
|
||||
"20G:上级者的挑战",
|
||||
"20G:For Pro",
|
||||
},
|
||||
color=color.red,
|
||||
env={
|
||||
@@ -75,9 +75,9 @@ return{
|
||||
return a[1]>b[1]or(a[1]==b[1]and(a[2]<b[2]or a[2]==b[2]and a[3]<b[3]))
|
||||
end,
|
||||
getRank=function(P)
|
||||
local L=P.stat.clear_4
|
||||
local S=P.modeData.point
|
||||
if S==500 then
|
||||
local L=P.stat.clear_4
|
||||
return
|
||||
L>=30 and 5 or
|
||||
L>=25 and 4 or
|
||||
|
||||
@@ -11,7 +11,7 @@ local function score(P)
|
||||
end
|
||||
P.modeData.point=P.modeData.point+s
|
||||
if P.modeData.point%100==99 then
|
||||
SFX("blip_1")
|
||||
SFX.play("blip_1")
|
||||
elseif P.modeData.point>=100*(P.modeData.event+1)then
|
||||
local s=P.modeData.event+1;P.modeData.event=s--level up!
|
||||
local E=P.gameEnv
|
||||
@@ -32,7 +32,7 @@ local function score(P)
|
||||
else
|
||||
P:showText(text.stage(s),0,-120,80,"fly")
|
||||
end
|
||||
SFX("reach")
|
||||
SFX.play("reach")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -48,9 +48,9 @@ return{
|
||||
"LUNATIC",
|
||||
},
|
||||
info={
|
||||
"初心20G",
|
||||
"初心20G",
|
||||
"Beginner 20G",
|
||||
"20G:初心者适用",
|
||||
"20G:初心者适用",
|
||||
"20G:Proper to beginner",
|
||||
},
|
||||
color=color.red,
|
||||
env={
|
||||
@@ -79,9 +79,9 @@ return{
|
||||
return a[1]>b[1]or(a[1]==b[1]and(a[2]<b[2]or a[2]==b[2]and a[3]<b[3]))
|
||||
end,
|
||||
getRank=function(P)
|
||||
local L=P.stat.clear_4
|
||||
local S=P.modeData.point
|
||||
if S==500 then
|
||||
local L=P.stat.clear_4
|
||||
return
|
||||
L>=30 and 5 or
|
||||
L>=25 and 4 or
|
||||
|
||||
@@ -9,7 +9,7 @@ local function score(P)
|
||||
end
|
||||
local MD=P.modeData
|
||||
MD.point=MD.point+s
|
||||
if MD.point%100==99 then SFX("blip_1")end
|
||||
if MD.point%100==99 then SFX.play("blip_1")end
|
||||
if int(MD.point*.01)>MD.event then
|
||||
local s=MD.event+1;MD.event=s--level up!
|
||||
P:showText(text.stage(s),0,-120,80,"fly")
|
||||
@@ -29,7 +29,7 @@ local function score(P)
|
||||
MD.point,MD.event=1000,9
|
||||
Event.win(P,"finish")
|
||||
end
|
||||
SFX("reach")
|
||||
SFX.play("reach")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -45,8 +45,8 @@ return{
|
||||
"FINAL",
|
||||
},
|
||||
info={
|
||||
"究极20G:无法到达的终点",
|
||||
"究极20G:无法到达的终点",
|
||||
"究极20G:无法触及的终点",
|
||||
"究极20G:无法触及的终点",
|
||||
"Extreme 20G:Unreachable destination",
|
||||
},
|
||||
color=color.lightGrey,
|
||||
@@ -81,6 +81,6 @@ return{
|
||||
S>=600 and 3 or
|
||||
S>=400 and 2 or
|
||||
S>=200 and 1 or
|
||||
L>=50 and 0
|
||||
S>=50 and 0
|
||||
end,
|
||||
}
|
||||
@@ -20,7 +20,7 @@ return{
|
||||
drop=30,lock=45,
|
||||
freshLimit=10,
|
||||
task=function(P)
|
||||
if not P.control then return end
|
||||
if not(P.control and scene.cur=="play")then return end
|
||||
P.modeData.counter=P.modeData.counter+1
|
||||
if P.modeData.counter>=max(60,150-2*P.modeData.event)and P.atkBuffer.sum<4 then
|
||||
P.atkBuffer[#P.atkBuffer+1]={pos=rnd(10),amount=1,countdown=30,cd0=30,time=0,sent=false,lv=1}
|
||||
|
||||
@@ -20,7 +20,7 @@ return{
|
||||
drop=30,lock=45,
|
||||
freshLimit=10,
|
||||
task=function(P)
|
||||
if not P.control then return end
|
||||
if not(P.control and scene.cur=="play")then return end
|
||||
P.modeData.counter=P.modeData.counter+1
|
||||
if P.modeData.counter>=max(60,180-2*P.modeData.event)and P.atkBuffer.sum<15 then
|
||||
P.atkBuffer[#P.atkBuffer+1]=
|
||||
|
||||
@@ -20,7 +20,7 @@ return{
|
||||
drop=30,lock=45,
|
||||
freshLimit=10,
|
||||
task=function(P)
|
||||
if not P.control then return end
|
||||
if not(P.control and scene.cur=="play")then return end
|
||||
P.modeData.counter=P.modeData.counter+1
|
||||
if P.modeData.counter>=max(60,150-P.modeData.event)and P.atkBuffer.sum<20 then
|
||||
local t=max(60,90-P.modeData.event)
|
||||
|
||||
@@ -20,7 +20,7 @@ return{
|
||||
drop=30,lock=45,
|
||||
freshLimit=10,
|
||||
task=function(P)
|
||||
if not P.control then return end
|
||||
if not(P.control and scene.cur=="play")then return end
|
||||
P.modeData.counter=P.modeData.counter+1
|
||||
if P.modeData.counter>=max(90,180-2*P.modeData.event)and P.atkBuffer.sum<8 then
|
||||
local d=P.modeData.event+1
|
||||
|
||||
@@ -22,7 +22,7 @@ return{
|
||||
freshLimit=15,
|
||||
pushSpeed=2,
|
||||
task=function(P)
|
||||
if not P.control then return end
|
||||
if not(P.control and scene.cur=="play")then return end
|
||||
P.modeData.counter=P.modeData.counter+1
|
||||
if P.modeData.counter>=max(300,600-10*P.modeData.event)and P.atkBuffer.sum<20 then
|
||||
local t=max(300,480-12*P.modeData.event)
|
||||
@@ -33,8 +33,8 @@ return{
|
||||
P.atkBuffer[p+3]={pos=rnd(10),amount=6,countdown=1.5*t,cd0=1.5*t,time=0,sent=false,lv=5}
|
||||
P.atkBuffer.sum=P.atkBuffer.sum+20
|
||||
P.stat.recv=P.stat.recv+20
|
||||
P.modeData.counter=0
|
||||
if P.modeData.event==31 then P:showText(text.maxspeed,0,-140,100,"appear",.6)end
|
||||
P.modeData.counter=0
|
||||
P.modeData.event=P.modeData.event+1
|
||||
end
|
||||
end,
|
||||
|
||||
@@ -32,7 +32,6 @@ return{
|
||||
ospin=false,
|
||||
bg="matrix",bgm="reason",
|
||||
},
|
||||
pauseLimit=true,
|
||||
load=function()
|
||||
newPlayer(1,340,15)
|
||||
end,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
local gc=love.graphics
|
||||
local warnTime={60,90,105,115,116,117,118,119,120}
|
||||
return{
|
||||
name={
|
||||
"限时打分",
|
||||
@@ -17,28 +18,46 @@ return{
|
||||
},
|
||||
color=color.lightGrey,
|
||||
env={
|
||||
drop=1e99,lock=1e99,
|
||||
drop=60,lock=60,
|
||||
fall=20,
|
||||
minarr=1,minsdarr=1,
|
||||
task=function(P)
|
||||
if P.stat.time>=120 then
|
||||
Event.win(P,"finish")
|
||||
local _=P.modeData.counter+1
|
||||
if P.stat.time>=warnTime[_]then
|
||||
if _<9 then
|
||||
P.modeData.counter=_
|
||||
SFX.play("ready",.7+_*.03)
|
||||
else
|
||||
SFX.play("start")
|
||||
Event.win(P,"finish")
|
||||
return true
|
||||
end
|
||||
end
|
||||
end,
|
||||
bg="matrix",bgm="infinite",
|
||||
},
|
||||
slowMark=true,
|
||||
pauseLimit=true,
|
||||
load=function()
|
||||
newPlayer(1,340,15)
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
gc.circle("line",-30,100,40)
|
||||
gc.setColor(1,0,0)
|
||||
gc.arc("fill",-40,100,50,0,1)
|
||||
gc.setLineWidth(2)
|
||||
gc.rectangle("line",-95,112,32,402)
|
||||
local T=P.stat.time/120
|
||||
gc.setColor(2*T,2-2*T,.2)
|
||||
gc.rectangle("fill",-94,513,30,(T-1)*400)
|
||||
end,
|
||||
score=function(P)return{P.stat.score}end,
|
||||
scoreDisp=function(D)return tostring(D[1])end,
|
||||
comp=function(a,b)return a[1]>b[1]end,
|
||||
getRank=function(P)
|
||||
local T=P.stat.score
|
||||
return 1
|
||||
return
|
||||
T>=62000 and 5 or
|
||||
T>=50000 and 4 or
|
||||
T>=26000 and 3 or
|
||||
T>=10000 and 2 or
|
||||
T>=6200 and 1
|
||||
end,
|
||||
}
|
||||
@@ -16,7 +16,7 @@ return{
|
||||
},
|
||||
color=color.lightGrey,
|
||||
env={
|
||||
drop=1e99,lock=1e99,
|
||||
drop=120,lock=120,
|
||||
oncehold=false,target=200,
|
||||
dropPiece=Event.reach_winCheck,
|
||||
bg="strap",bgm="infinite",
|
||||
@@ -35,10 +35,10 @@ return{
|
||||
getRank=function(P)
|
||||
local T=P.stat.score
|
||||
return
|
||||
T>=12e4 and 5 or
|
||||
T>=10e4 and 4 or
|
||||
T>=6e4 and 3 or
|
||||
T>=3e4 and 2 or
|
||||
T>=1e4 and 1
|
||||
T>=126000 and 5 or
|
||||
T>=100000 and 4 or
|
||||
T>=60000 and 3 or
|
||||
T>=30000 and 2 or
|
||||
T>=10000 and 1
|
||||
end,
|
||||
}
|
||||
Reference in New Issue
Block a user