diff --git a/parts/eventsets/bigWallGen.lua b/parts/eventsets/bigWallGen.lua new file mode 100644 index 00000000..07240673 --- /dev/null +++ b/parts/eventsets/bigWallGen.lua @@ -0,0 +1,18 @@ +return{ + hook_drop=function(P) + if P.lastPiece.row>0 then + for _=1,#P.clearedRow do + local h=#P.field + P.field[h+1]=LINE.new(20) + P.visTime[h+1]=LINE.new(20) + for i=3,7 do P.field[h+1][i]=0 end + end + if P.combo>P.modeData.maxCombo then + P.modeData.maxCombo=P.combo + end + if P.stat.row>=200 then + P:win('finish') + end + end + end +} diff --git a/parts/eventsets/big_h.lua b/parts/eventsets/big_h.lua new file mode 100644 index 00000000..ed8a5d2c --- /dev/null +++ b/parts/eventsets/big_h.lua @@ -0,0 +1,38 @@ +return +{ + drop=1, + wait=8, + fall=20, + mesDisp=function(P) + PLY.draw.drawProgress(P.stat.row,P.modeData.target) + PLY.draw.drawTargetLine(P,200-P.stat.row) + end, + task=function(P) + local F=P.field + for i=1,24 do + F[i]=LINE.new(20) + P.visTime[i]=LINE.new(20) + for x=3,7 do F[i][x]=0 end + end + P.modeData.target=50 + end, + hook_drop=function(P) + if P.stat.row>=P.modeData.target then + if P.modeData.target==50 then + P.gameEnv.drop=.5 + P.modeData.target=100 + SFX.play('reach') + elseif P.modeData.target==100 then + P.gameEnv.drop=.25 + P.modeData.target=150 + SFX.play('reach') + elseif P.modeData.target==150 then + P:set20G(true) + P.modeData.target=200 + SFX.play('reach') + else + P:win('finish') + end + end + end +} diff --git a/parts/eventsets/big_n.lua b/parts/eventsets/big_n.lua new file mode 100644 index 00000000..22413216 --- /dev/null +++ b/parts/eventsets/big_n.lua @@ -0,0 +1,32 @@ +local dropSpeed={100,80,60,48,36,28,20,16,12,10,8,6,4,2,2,1,1,.5,.5} + +return +{ + drop=120, + wait=8, + fall=20, + mesDisp=function(P) + PLY.draw.drawProgress(P.stat.row,P.modeData.target) + PLY.draw.drawTargetLine(P,200-P.stat.row) + end, + task=function(P) + local F=P.field + for i=1,24 do + F[i]=LINE.new(20) + P.visTime[i]=LINE.new(20) + for x=3,7 do F[i][x]=0 end + end + P.modeData.target=10 + end, + hook_drop=function(P) + if P.stat.row>=P.modeData.target then + if P.modeData.target==200 then + P:win('finish') + else + P.gameEnv.drop=dropSpeed[P.modeData.target/10] + P.modeData.target=P.modeData.target+10 + SFX.play('reach') + end + end + end +} diff --git a/parts/modes/big_h.lua b/parts/modes/big_h.lua new file mode 100644 index 00000000..0188f351 --- /dev/null +++ b/parts/modes/big_h.lua @@ -0,0 +1,28 @@ +return{ + env={ + noTele=true, + mindas=7,minarr=1,minsdarr=1, + sequence="bagES", + hook_drop=require'parts.eventsets.bigWallGen'.hook_drop, + eventSet='big_h', + bg='cubes',bgm='push', + }, + 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]=200 then + local T=P.stat.time + return + T<=160 and 5 or + T<=280 and 4 or + 3 + else + return + L>=100 and 2 or + L>=50 and 1 or + L>=10 and 0 + end + end, +} diff --git a/parts/modes/big_n.lua b/parts/modes/big_n.lua new file mode 100644 index 00000000..39a5770b --- /dev/null +++ b/parts/modes/big_n.lua @@ -0,0 +1,28 @@ +return{ + env={ + noTele=true, + mindas=7,minarr=1,minsdarr=1, + sequence="bagES", + hook_drop=require'parts.eventsets.bigWallGen'.hook_drop, + eventSet='big_n', + bg='bg2',bgm='push', + }, + 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]=200 then + local T=P.stat.time + return + T<=180 and 5 or + T<=300 and 4 or + 3 + else + return + L>=150 and 2 or + L>=100 and 1 or + L>=20 and 0 + end + end, +}