diff --git a/conf.lua b/conf.lua index 77a2a2c6..5fad9754 100644 --- a/conf.lua +++ b/conf.lua @@ -1,4 +1,4 @@ -gameVersion="Alpha V0.8.6" +gameVersion="Alpha V0.8.7" function love.conf(t) t.identity="Techmino"--Save directory name t.version="11.1" diff --git a/dataList.lua b/dataList.lua index 880ee58a..98697d30 100644 --- a/dataList.lua +++ b/dataList.lua @@ -38,26 +38,26 @@ local function gameOver() end end end - end - local D=M.score(P) - local L=M.records - local p=#L--排名数-1 - if p>0 then - ::L:: - if M.comp(D,L[p])then--是否靠前 - p=p-1 - if p>0 then - goto L + local D=M.score(P) + local L=M.records + local p=#L--排名数-1 + if p>0 then + ::L:: + if M.comp(D,L[p])then--是否靠前 + p=p-1 + if p>0 then + goto L + end end end - end - if p<10 then - if p==0 then - P:showText(text.newRecord,0,-100,100,"beat",.5) + if p<10 then + if p==0 then + P:showText(text.newRecord,0,-100,100,"beat",.5) + end + ins(L,p+1,D) + if L[11]then L[11]=nil end + saveRecord(M.saveFileName,L) end - ins(L,p+1,D) - if L[11]then L[11]=nil end - saveRecord(M.saveFileName,L) end end end--Save record diff --git a/document.txt b/document.txt index 951ef8bd..909418db 100644 --- a/document.txt +++ b/document.txt @@ -11,12 +11,19 @@ spin判定: 细节不赘述 攻击系统: - 消1/2/3/4攻击0/1/2/4 - spin1/2/3攻击2/4/6,若mini则减半 - B2B:增加1~2(techrash)/1~3(spin)攻击 - B3B:满B2B效果+1额外抵挡 - PC:将其它的伤害之和开根号后向上取整,再+6~10(本局内递增)+2额外抵挡 - 连击:0,0,1,1,2,2,3,3,4,4,3…… + 普通消除: + 消1/2/3/4攻击0.25/1.25/2.25/4 + 特殊消除: + spin1/2/3攻击2/4/6,若mini则减半 + B2B:加1(techrash/spin1/spin2)或2(spin3)攻击 + B3B:在B2B效果之上再+1攻击和+1额外抵挡 + 连击:0,0,1,1,2,2,3,3,4,4,3…… + 特殊消除会增加B2B点数,让之后的特殊消除获得B2B(B3B)增益(详细说明见下文) + PC:将上述伤害之和开根号,再+6~10(本局内递增)+2额外抵挡(注:本局消行数>4时会将B2B点数拉满) + 根据上述规则计算后,向下取整,攻击打出 + +分数系统: + 玩得越牛逼得分越高嗷( 攻击延迟: 消2/3的攻击生效最快,消四其次,spin攻击生效较慢,高连击生效最慢 @@ -27,13 +34,12 @@ spin判定: 没有用上的额外抵挡会被丢弃,最后剩下的攻击力会发送给对手 back to back(B2B)点数说明: - B2B点数的范围在0~1200 - 在40及以上特殊消除时B2B,在1000以上特殊消除时B3B,1200封顶 - 消四+100 - 空spin加20,不超过1000 - spin1~3+50/100/180 (mini*.5) + B2B点数的范围在0~1200,在点数>=40时进行特殊消除为B2B,>1000时特殊消除为B3B 普通消除-250 - 1000以上空放一块-40(不减到低于1000) + spin1/2/3:+50/100/180(mini减半) + 消四:+100 + 空spin:+20,此法得到的点数不能超过1000 + 当点数在1000以上时空放一块-40(不减到低于1000) 混战模式说明: 许多玩家同时进行一局游戏(对手都是AI,不是真人).随着玩家数量的减少,方块下落/垃圾生效速度/垃圾升起速度都会增加.淘汰其它玩家后可以获得一个徽章和该玩家持有的徽章,增强自己的攻击力. diff --git a/language/chi.lua b/language/chi.lua index e600d5ee..4471279b 100644 --- a/language/chi.lua +++ b/language/chi.lua @@ -54,7 +54,7 @@ return{ bgm="背景音乐:", }, customVal={ - drop={"[20G]",1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"}, + drop={"0G","1/180G","1/60G","1/40G","1/30G","1/25G","1/20G","1/18G","1/16G","1/14G","1/12G","1/10G","1/9G","1/8G","1/7G","1/6G","1/5G","1/4G","1/3G","1/2G","1G","2G","4G","8G","20G"}, lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"}, wait=nil, fall=nil, @@ -171,7 +171,7 @@ return{ ]], support="支持作者", group="官方QQ群", - warning="禁 止 私 自 传 播", + warning="禁止直接传播游戏本体", WidgetText={ main={ lang="言/A", diff --git a/language/chi_full.lua b/language/chi_full.lua index a8df9f8f..e1d8e43b 100644 --- a/language/chi_full.lua +++ b/language/chi_full.lua @@ -39,7 +39,7 @@ return{ custom="自定义游戏", customOption={ - drop="下落延迟:", + drop="下落速度:", lock="锁定延迟:", wait="放块延迟:", fall="消行延迟:", @@ -54,7 +54,7 @@ return{ bgm="背景音乐:", }, customVal={ - drop={"[20G]",1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"}, + drop={"0G","1/180G","1/60G","1/40G","1/30G","1/25G","1/20G","1/18G","1/16G","1/14G","1/12G","1/10G","1/9G","1/8G","1/7G","1/6G","1/5G","1/4G","1/3G","1/2G","1G","2G","4G","8G","20G"}, lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"}, wait=nil, fall=nil, @@ -171,7 +171,7 @@ return{ ]], support="支持作者", group="官方QQ群", - warning="禁 止 私 自 传 播", + warning="禁止直接传播游戏本体", WidgetText={ main={ lang="言/A", diff --git a/language/eng.lua b/language/eng.lua index adb3138c..8bcd6b5b 100644 --- a/language/eng.lua +++ b/language/eng.lua @@ -52,7 +52,7 @@ return{ bgm="BGM:", }, customVal={ - drop={"[20G]",1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"}, + drop={"0G","1/180G","1/60G","1/40G","1/30G","1/25G","1/20G","1/18G","1/16G","1/14G","1/12G","1/10G","1/9G","1/8G","1/7G","1/6G","1/5G","1/4G","1/3G","1/2G","1G","2G","4G","8G","20G"}, lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"}, wait=nil, fall=nil, @@ -170,7 +170,7 @@ Lib used: ]], support="Support Author", group="Official QQ Group", - warning="DO NOT DISTRIBUTE", + warning="DO NOT SHARE APP", WidgetText={ main={ lang="言/A", diff --git a/list.lua b/list.lua index f07248e2..853113ee 100644 --- a/list.lua +++ b/list.lua @@ -160,7 +160,7 @@ customID={ "bg","bgm", } customRange={ - drop={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99}, + drop={1e99,180,60,40,30,25,20,18,16,14,12,10,9,8,7,6,5,4,3,2,1,.5,.25,.125,0}, lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99}, wait={0,1,2,3,4,5,6,7,8,10,15,20,30,60}, fall={0,1,2,3,4,5,6,7,8,10,15,20,30,60}, diff --git a/main.lua b/main.lua index 1a4713c8..4a02e878 100644 --- a/main.lua +++ b/main.lua @@ -9,8 +9,8 @@ local Timer=love.timer.getTime local int,rnd,max,min=math.floor,math.random,math.max,math.min local rem=table.remove -package.path="?.lua" -NULL=function()end +package.path="?.lua"--boost +function NULL()end --Libs ------------------------------------------------------------- system=sys.getOS() @@ -51,7 +51,7 @@ kb.setTextInput(false) ms.setVisible(false) --Application Vars ------------------------------------------------------------- -customSel={22,22,1,1,7,3,1,1,8,4,1,1,1} +customSel={1,22,1,1,7,3,1,1,8,4,1,1,1} preField={h=20} for i=1,10 do preField[i]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}end for i=11,20 do preField[i]={0,0,0,0,0,0,0,0,0,0}end @@ -798,9 +798,9 @@ end local lastX,lastY--last clickDown pos function love.mousepressed(x,y,k,t,num) mouseShow=true - if devMode>0 then print(x,y)end - if t or scene.swapping then return end mx,my=xOy:inverseTransformPoint(x,y) + if devMode>0 then print(mx,my)end + if t or scene.swapping then return end if mouseDown[scene.cur]then mouseDown[scene.cur](mx,my,k) elseif k==2 then @@ -816,8 +816,8 @@ function love.mousepressed(x,y,k,t,num) end function love.mousemoved(x,y,dx,dy,t) mouseShow=true - if t or scene.swapping then return end mx,my=xOy:inverseTransformPoint(x,y) + if t or scene.swapping then return end dx,dy=dx/scr.k,dy/scr.k if mouseMove[scene.cur]then mouseMove[scene.cur](mx,my,dx,dy) @@ -835,8 +835,8 @@ function love.mousemoved(x,y,dx,dy,t) end end function love.mousereleased(x,y,k,t,num) - if t or scene.swapping then return end mx,my=xOy:inverseTransformPoint(x,y) + if t or scene.swapping then return end if mouseUp[scene.cur]then mouseUp[scene.cur](mx,my,k) end diff --git a/modes/GM.lua b/modes/GM.lua index 16585882..e8c0d102 100644 --- a/modes/GM.lua +++ b/modes/GM.lua @@ -42,7 +42,7 @@ return{ Event.win(P,"finish") end end, - arr=1, + minarr=1, bg="game3",bgm="shining terminal", }, load=function() @@ -63,6 +63,6 @@ return{ comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]>b[2]end, getRank=function(P) local P=P.modeData.point - return P==80 and 5 or P>=70 and 4 or P>=60 and 3 or P>=40 and 2 or P>=20 and 1 + return P==80 and 5 or P>=70 and 4 or P>=60 and 3 or P>=40 and 2 or P>=20 and 1 or P>=5 and 0 end, } \ No newline at end of file diff --git a/modes/attacker_hard.lua b/modes/attacker_hard.lua index a2675ef9..3de7212d 100644 --- a/modes/attacker_hard.lua +++ b/modes/attacker_hard.lua @@ -67,6 +67,6 @@ return{ comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]100 and 4 or W>=80 and 3 or W>=50 and 2 or W>=20 and 1 + return W>100 and 4 or W>=80 and 3 or W>=50 and 2 or W>=20 and 1 or W>=5 and 0 end, } \ No newline at end of file diff --git a/modes/attacker_ultimate.lua b/modes/attacker_ultimate.lua index 44fc6873..0088ba3f 100644 --- a/modes/attacker_ultimate.lua +++ b/modes/attacker_ultimate.lua @@ -80,6 +80,6 @@ return{ comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]40 and 4 or W>=30 and 3 or W>=20 and 2 or W>=10 and 1 + return W>40 and 4 or W>=30 and 3 or W>=20 and 2 or W>=10 and 1 or W>=5 and 0 end, } \ No newline at end of file diff --git a/modes/blind_easy.lua b/modes/blind_easy.lua index cd5ae7fd..e69534cb 100644 --- a/modes/blind_easy.lua +++ b/modes/blind_easy.lua @@ -48,7 +48,8 @@ return{ return L>=150 and 3 or L>=100 and 2 or - L>=40 and 1 + L>=40 and 1 or + L>=1 and 0 end end, } \ No newline at end of file diff --git a/modes/blind_hard.lua b/modes/blind_hard.lua index bf96b97b..4e23af38 100644 --- a/modes/blind_hard.lua +++ b/modes/blind_hard.lua @@ -50,7 +50,8 @@ return{ return L>=150 and 3 or L>=90 and 2 or - L>=40 and 1 + L>=40 and 1 or + L>=1 and 0 end end, } \ No newline at end of file diff --git a/modes/blind_lunatic.lua b/modes/blind_lunatic.lua index 219b652c..bb85021d 100644 --- a/modes/blind_lunatic.lua +++ b/modes/blind_lunatic.lua @@ -50,7 +50,8 @@ return{ return L>=150 and 3 or L>=100 and 2 or - L>=40 and 1 + L>=40 and 1 or + L>=1 and 0 end end, } \ No newline at end of file diff --git a/modes/blind_normal.lua b/modes/blind_normal.lua index da759eaa..9db71301 100644 --- a/modes/blind_normal.lua +++ b/modes/blind_normal.lua @@ -49,7 +49,8 @@ return{ return L>=150 and 3 or L>=100 and 2 or - L>=40 and 1 + L>=40 and 1 or + L>=1 and 0 end end, } \ No newline at end of file diff --git a/modes/blind_ultimate.lua b/modes/blind_ultimate.lua index d0a0fed8..3929b67e 100644 --- a/modes/blind_ultimate.lua +++ b/modes/blind_ultimate.lua @@ -46,6 +46,7 @@ return{ L>=100 and 4 or L>=50 and 3 or L>=26 and 2 or - L>=10 and 1 + L>=10 and 1 or + L>=1 and 0 end, } \ No newline at end of file diff --git a/modes/c4wtrain_lunatic.lua b/modes/c4wtrain_lunatic.lua index de82c236..4b8ffaa3 100644 --- a/modes/c4wtrain_lunatic.lua +++ b/modes/c4wtrain_lunatic.lua @@ -80,7 +80,8 @@ return{ return L>=70 and 3 or L>=40 and 2 or - L>=20 and 1 + L>=20 and 1 or + L>=5 and 0 end end, } \ No newline at end of file diff --git a/modes/c4wtrain_normal.lua b/modes/c4wtrain_normal.lua index b0645ec1..249f8182 100644 --- a/modes/c4wtrain_normal.lua +++ b/modes/c4wtrain_normal.lua @@ -78,7 +78,8 @@ return{ else return L>=60 and 2 or - L>=30 and 1 + L>=30 and 1 or + L>=10 and 0 end end, } \ No newline at end of file diff --git a/modes/classic_fast.lua b/modes/classic_fast.lua index 0e9ef577..ef93161e 100644 --- a/modes/classic_fast.lua +++ b/modes/classic_fast.lua @@ -63,6 +63,7 @@ return{ L>=191 and 4 or L>=110 and 3 or L>=50 and 2 or - L>=2 and 1 + L>=5 and 1 or + L>=1 and 0 end, } \ No newline at end of file diff --git a/modes/defender_lunatic.lua b/modes/defender_lunatic.lua index fc283b71..cac30f5b 100644 --- a/modes/defender_lunatic.lua +++ b/modes/defender_lunatic.lua @@ -73,6 +73,7 @@ return{ W>=80 and 4 or W>=55 and 3 or W>=30 and 2 or - W>=20 and 1 + W>=20 and 1 or + L>=5 and 0 end, } \ No newline at end of file diff --git a/modes/defender_normal.lua b/modes/defender_normal.lua index 91b69cc5..b7803e9c 100644 --- a/modes/defender_normal.lua +++ b/modes/defender_normal.lua @@ -73,6 +73,7 @@ return{ W>=100 and 4 or W>=70 and 3 or W>=40 and 2 or - W>=10 and 1 + W>=10 and 1 or + L>=3 and 0 end, } \ No newline at end of file diff --git a/modes/dig_hard.lua b/modes/dig_hard.lua index 591f5c5f..f063d78b 100644 --- a/modes/dig_hard.lua +++ b/modes/dig_hard.lua @@ -49,6 +49,7 @@ return{ W>=110 and 4 or W>=80 and 3 or W>=50 and 2 or - W>=20 and 1 + W>=20 and 1 or + L>=5 and 0 end, } \ No newline at end of file diff --git a/modes/dig_ultimate.lua b/modes/dig_ultimate.lua index 6fd4977a..b705bbe7 100644 --- a/modes/dig_ultimate.lua +++ b/modes/dig_ultimate.lua @@ -48,6 +48,7 @@ return{ W>=100 and 4 or W>=80 and 3 or W>=50 and 2 or - W>=20 and 1 + W>=20 and 1 or + L>=5 and 0 end, } \ No newline at end of file diff --git a/modes/drought_lunatic.lua b/modes/drought_lunatic.lua index 744d314d..f47272d9 100644 --- a/modes/drought_lunatic.lua +++ b/modes/drought_lunatic.lua @@ -35,13 +35,19 @@ return{ scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end, comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]=100 then + local T=P.stat.time + return + T<=70 and 5 or + T<=110 and 4 or + T<=160 and 3 or + T<=240 and 2 or + 1 + else + return + L>=50 and 1 or + L>=10 and 0 + end end, } \ No newline at end of file diff --git a/modes/drought_normal.lua b/modes/drought_normal.lua index 25b1723c..c61538a3 100644 --- a/modes/drought_normal.lua +++ b/modes/drought_normal.lua @@ -35,13 +35,19 @@ return{ scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end, comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]=100 then + local T=P.stat.time + return + T<=65 and 5 or + T<=100 and 4 or + T<=145 and 3 or + T<=220 and 2 or + 1 + else + return + L>=50 and 1 or + L>=10 and 0 + end end, } \ No newline at end of file diff --git a/modes/infinite.lua b/modes/infinite.lua index 46b2fe59..8747beb9 100644 --- a/modes/infinite.lua +++ b/modes/infinite.lua @@ -41,6 +41,7 @@ return{ L>=1500 and 4 or L>=1000 and 3 or L>=500 and 2 or - L>=100 and 1 + L>=100 and 1 or + L>=20 and 0 end, } \ No newline at end of file diff --git a/modes/infinite_dig.lua b/modes/infinite_dig.lua index 6998fa06..e938d465 100644 --- a/modes/infinite_dig.lua +++ b/modes/infinite_dig.lua @@ -58,6 +58,7 @@ return{ L>=400 and 4 or L>=200 and 3 or L>=100 and 2 or - L>=10 and 1 + L>=40 and 1 or + L>=5 and 0 end, } \ No newline at end of file diff --git a/modes/marathon_hard.lua b/modes/marathon_hard.lua index eeb00329..dc82cd4d 100644 --- a/modes/marathon_hard.lua +++ b/modes/marathon_hard.lua @@ -1,7 +1,16 @@ local gc=love.graphics local function check(P) - if P.stat.row>=200 then - Event.win(P,"finish") + if P.stat.row>=P.gameEnv.target then + local T=P.gameEnv.target + if T==50 then + P.gameEnv.drop=.25 + P.gameEnv.target=100 + elseif T==100 then + P.gameEnv._20G=true + P.gameEnv.target=200 + else + Event.win(P,"finish") + end end end @@ -23,8 +32,9 @@ return{ }, color=color.magenta, env={ - _20G=true,fall=15, - dropPiece=check, + drop=.5,fall=30, + target=50,dropPiece=check, + mindas=7,minarr=1, bg="strap",bgm="race", }, load=function() @@ -33,7 +43,7 @@ return{ mesDisp=function(P,dx,dy) setFont(45) mStr(P.stat.row,-82,320) - mStr(200,-82,370) + mStr(P.gameEnv.target,-82,370) gc.rectangle("fill",-125,375,90,4) end, score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end, @@ -45,12 +55,13 @@ return{ local T=P.stat.time return T<=200 and 5 or - T<=260 and 4 or + T<=270 and 4 or 3 else return L>=100 and 2 or - L>=50 and 1 + L>=50 and 1 or + L>=10 and 0 end end, } \ No newline at end of file diff --git a/modes/marathon_normal.lua b/modes/marathon_normal.lua index af981b3b..1e39bbcc 100644 --- a/modes/marathon_normal.lua +++ b/modes/marathon_normal.lua @@ -1,15 +1,14 @@ local gc=love.graphics -local marathon_drop={[0]=60,48,40,30,24,18,15,12,10,8,7,6,5,4,3,2,1,1,0,0} +local dropSpeed={[0]=60,50,40,30,25,20,15,12,9,7,5,4,3,2,1,1,.5,.5,.25,.25} local function check_LVup(P) local T=P.modeData.point+10 if P.stat.row>=T then if T==200 then Event.win(P,"finish") else - P.gameEnv.drop=marathon_drop[T/10] - if T==180 then P.gameEnv._20G=true end - SFX("reach") + P.gameEnv.drop=dropSpeed[T/10] P.modeData.point=T + SFX("reach") end end end @@ -32,8 +31,9 @@ return{ }, color=color.green, env={ - drop=60,fall=20, + fall=30, target=10,dropPiece=check_LVup, + mindas=7,minarr=1, bg="strap",bgm="way", }, load=function() @@ -53,13 +53,14 @@ return{ if L>=200 then local T=P.stat.time return - T<=180 and 5 or - T<=240 and 4 or + T<=185 and 5 or + T<=250 and 4 or 3 else return L>=150 and 2 or - L>=100 and 1 + L>=100 and 1 or + L>=20 and 0 end end, } \ No newline at end of file diff --git a/modes/master_adavnce.lua b/modes/master_adavnce.lua index f20bccf4..7e1ab6b4 100644 --- a/modes/master_adavnce.lua +++ b/modes/master_adavnce.lua @@ -55,7 +55,7 @@ return{ wait=death_wait[1], fall=death_fall[1], dropPiece=score, - das=6,arr=1, + mindas=6,minarr=1, freshLimit=15, bg="game2",bgm="secret7th", }, @@ -85,7 +85,8 @@ return{ return S>=426 and 3 or S>=326 and 2 or - S>=226 and 1 + S>=226 and 1 or + S>=50 and 0 end end, } \ No newline at end of file diff --git a/modes/master_beginner.lua b/modes/master_beginner.lua index faa0cf96..91c24f78 100644 --- a/modes/master_beginner.lua +++ b/modes/master_beginner.lua @@ -89,7 +89,8 @@ return{ return S>=420 and 3 or S>=250 and 2 or - S>=120 and 1 + S>=120 and 1 or + L>=30 and 0 end end, } \ No newline at end of file diff --git a/modes/master_final.lua b/modes/master_final.lua index 4e71dbf0..b4976376 100644 --- a/modes/master_final.lua +++ b/modes/master_final.lua @@ -54,7 +54,7 @@ return{ _20G=true,lock=12, wait=10,fall=10, dropPiece=score, - das=5,arr=1, + mindas=5,minarr=1, freshLimit=15, easyFresh=false,bone=true, bg="none",bgm="shining terminal", @@ -79,6 +79,7 @@ return{ S>=800 and 4 or S>=600 and 3 or S>=400 and 2 or - S>=200 and 1 + S>=200 and 1 or + L>=50 and 0 end, } \ No newline at end of file diff --git a/modes/pcchallenge_hard.lua b/modes/pcchallenge_hard.lua index ef73cbc6..06017d60 100644 --- a/modes/pcchallenge_hard.lua +++ b/modes/pcchallenge_hard.lua @@ -52,6 +52,7 @@ return{ L>=13 and 4 or L>=10 and 3 or L>=7 and 2 or - L>=4 and 1 + L>=4 and 1 or + L>=1 and 0 end, } \ No newline at end of file diff --git a/modes/pcchallenge_lunatic.lua b/modes/pcchallenge_lunatic.lua index 96554a8d..e375ea4b 100644 --- a/modes/pcchallenge_lunatic.lua +++ b/modes/pcchallenge_lunatic.lua @@ -52,6 +52,7 @@ return{ L>=12 and 4 or L>=9 and 3 or L>=6 and 2 or - L>=3 and 1 + L>=3 and 1 or + L>=1 and 0 end, } \ No newline at end of file diff --git a/modes/pcchallenge_normal.lua b/modes/pcchallenge_normal.lua index 7bccf940..29dad317 100644 --- a/modes/pcchallenge_normal.lua +++ b/modes/pcchallenge_normal.lua @@ -51,6 +51,7 @@ return{ L>=20 and 4 or L>=16 and 3 or L>=13 and 2 or - L>=10 and 1 + L>=10 and 1 or + L>=1 and 0 end, } \ No newline at end of file diff --git a/modes/pctrain_lunatic.lua b/modes/pctrain_lunatic.lua index fb0e98de..abea5e15 100644 --- a/modes/pctrain_lunatic.lua +++ b/modes/pctrain_lunatic.lua @@ -109,6 +109,7 @@ return{ L>=40 and 4 or L>=30 and 3 or L>=20 and 2 or - L>=10 and 1 + L>=10 and 1 or + L>=1 and 0 end, } \ No newline at end of file diff --git a/modes/pctrain_normal.lua b/modes/pctrain_normal.lua index 31409e8b..fc6e9e8e 100644 --- a/modes/pctrain_normal.lua +++ b/modes/pctrain_normal.lua @@ -92,6 +92,7 @@ return{ L>=60 and 4 or L>=40 and 3 or L>=25 and 2 or - L>=15 and 1 + L>=15 and 1 or + L>=1 and 0 end, } \ No newline at end of file diff --git a/modes/round_1.lua b/modes/round_1.lua index 75f828c7..27c1a1f6 100644 --- a/modes/round_1.lua +++ b/modes/round_1.lua @@ -28,7 +28,7 @@ return{ }, color=color.cyan, env={ - drop=60,lock=60, + drop=1e99,lock=1e99, oncehold=false, dropPiece=update_round, bg="game2",bgm="push", diff --git a/modes/round_2.lua b/modes/round_2.lua index 8ca7fc6e..e27cf0b3 100644 --- a/modes/round_2.lua +++ b/modes/round_2.lua @@ -28,7 +28,7 @@ return{ }, color=color.green, env={ - drop=60,lock=60, + drop=1e99,lock=1e99, oncehold=false, dropPiece=update_round, bg="game2",bgm="push", diff --git a/modes/round_3.lua b/modes/round_3.lua index aa0afdf2..751269bf 100644 --- a/modes/round_3.lua +++ b/modes/round_3.lua @@ -28,7 +28,7 @@ return{ }, color=color.magenta, env={ - drop=60,lock=60, + drop=1e99,lock=1e99, oncehold=false, dropPiece=update_round, bg="game2",bgm="push", diff --git a/modes/round_4.lua b/modes/round_4.lua index 796d5497..c5cb5a91 100644 --- a/modes/round_4.lua +++ b/modes/round_4.lua @@ -28,7 +28,7 @@ return{ }, color=color.red, env={ - drop=60,lock=60, + drop=1e99,lock=1e99, oncehold=false, dropPiece=update_round, bg="game2",bgm="push", diff --git a/modes/round_5.lua b/modes/round_5.lua index f7270004..9f1ef3f0 100644 --- a/modes/round_5.lua +++ b/modes/round_5.lua @@ -28,7 +28,7 @@ return{ }, color=color.lightYellow, env={ - drop=60,lock=60, + drop=1e99,lock=1e99, oncehold=false, dropPiece=update_round, bg="game2",bgm="push", diff --git a/modes/sprint_10.lua b/modes/sprint_10.lua index d31454eb..230e5288 100644 --- a/modes/sprint_10.lua +++ b/modes/sprint_10.lua @@ -48,6 +48,7 @@ return{ T<=10 and 4 or T<=25 and 3 or T<=40 and 2 or - T<=60 and 1 + T<=60 and 1 or + 0 end, } \ No newline at end of file diff --git a/modes/sprint_100.lua b/modes/sprint_100.lua index cfb03ea1..68923894 100644 --- a/modes/sprint_100.lua +++ b/modes/sprint_100.lua @@ -48,6 +48,7 @@ return{ T<=90 and 4 or T<=130 and 3 or T<=200 and 2 or - T<=270 and 1 + T<=270 and 1 or + 0 end, } \ No newline at end of file diff --git a/modes/sprint_1000.lua b/modes/sprint_1000.lua index 4b10115d..188a3b78 100644 --- a/modes/sprint_1000.lua +++ b/modes/sprint_1000.lua @@ -48,6 +48,7 @@ return{ T<=1000 and 4 or T<=1400 and 3 or T<=2200 and 2 or - T<=3000 and 1 + T<=3000 and 1 or + 0 end, } \ No newline at end of file diff --git a/modes/sprint_20.lua b/modes/sprint_20.lua index 118ced56..b502285e 100644 --- a/modes/sprint_20.lua +++ b/modes/sprint_20.lua @@ -48,6 +48,7 @@ return{ T<=18 and 4 or T<=45 and 3 or T<=70 and 2 or - T<=100 and 1 + T<=100 and 1 or + 0 end, } \ No newline at end of file diff --git a/modes/sprint_40.lua b/modes/sprint_40.lua index 5bdcb28a..503f0744 100644 --- a/modes/sprint_40.lua +++ b/modes/sprint_40.lua @@ -47,7 +47,8 @@ return{ T<=25 and 5 or T<=32 and 4 or T<=40 and 3 or - T<=60 and 2 or - T<=120 and 1 + T<=62 and 2 or + T<=126 and 1 or + 0 end, } \ No newline at end of file diff --git a/modes/sprint_400.lua b/modes/sprint_400.lua index 519a4ed0..da45c787 100644 --- a/modes/sprint_400.lua +++ b/modes/sprint_400.lua @@ -48,6 +48,7 @@ return{ T<=330 and 4 or T<=420 and 3 or T<=626 and 2 or - T<=1000 and 1 + T<=1000 and 1 or + 0 end, } \ No newline at end of file diff --git a/modes/survivor_easy.lua b/modes/survivor_easy.lua index c74e4a16..fcd735fa 100644 --- a/modes/survivor_easy.lua +++ b/modes/survivor_easy.lua @@ -53,6 +53,7 @@ return{ W>=60 and 4 or W>=45 and 3 or W>=30 and 2 or - W>=15 and 1 + W>=15 and 1 or + W>=5 and 0 end, } \ No newline at end of file diff --git a/modes/survivor_hard.lua b/modes/survivor_hard.lua index 7bc77150..e603c919 100644 --- a/modes/survivor_hard.lua +++ b/modes/survivor_hard.lua @@ -58,6 +58,7 @@ return{ W>=60 and 4 or W>=45 and 3 or W>=30 and 2 or - W>=15 and 1 + W>=15 and 1 or + W>=5 and 0 end, } \ No newline at end of file diff --git a/modes/survivor_lunatic.lua b/modes/survivor_lunatic.lua index 49dc9a58..3ca4fc4e 100644 --- a/modes/survivor_lunatic.lua +++ b/modes/survivor_lunatic.lua @@ -54,6 +54,7 @@ return{ W>=80 and 4 or W>=55 and 3 or W>=30 and 2 or - W>=15 and 1 + W>=15 and 1 or + W>=5 and 0 end, } \ No newline at end of file diff --git a/modes/survivor_normal.lua b/modes/survivor_normal.lua index 36dafbe0..c898e45f 100644 --- a/modes/survivor_normal.lua +++ b/modes/survivor_normal.lua @@ -58,6 +58,7 @@ return{ W>=55 and 4 or W>=45 and 3 or W>=30 and 2 or - W>=15 and 1 + W>=15 and 1 or + W>=5 and 0 end, } \ No newline at end of file diff --git a/modes/survivor_ultimate.lua b/modes/survivor_ultimate.lua index 7f326cc5..fafb4666 100644 --- a/modes/survivor_ultimate.lua +++ b/modes/survivor_ultimate.lua @@ -58,6 +58,7 @@ return{ W>=26 and 4 or W>=20 and 3 or W>=10 and 2 or - W>=5 and 1 + W>=5 and 1 or + W>=1 and 0 end, } \ No newline at end of file diff --git a/modes/tech_hard+.lua b/modes/tech_hard+.lua index ba6fbc6f..e2bd78af 100644 --- a/modes/tech_hard+.lua +++ b/modes/tech_hard+.lua @@ -49,6 +49,7 @@ return{ L>=126 and 4 or L>=90 and 3 or L>=60 and 2 or - L>=30 and 1 + L>=30 and 1 or + L>=5 and 0 end, } \ No newline at end of file diff --git a/modes/tech_hard.lua b/modes/tech_hard.lua index 7e280139..39958c4e 100644 --- a/modes/tech_hard.lua +++ b/modes/tech_hard.lua @@ -49,6 +49,7 @@ return{ L>=126 and 4 or L>=90 and 3 or L>=60 and 2 or - L>=30 and 1 + L>=30 and 1 or + L>=5 and 0 end, } \ No newline at end of file diff --git a/modes/tech_lunatic+.lua b/modes/tech_lunatic+.lua index 99dd215d..b035bfca 100644 --- a/modes/tech_lunatic+.lua +++ b/modes/tech_lunatic+.lua @@ -49,6 +49,7 @@ return{ L>=140 and 4 or L>=90 and 3 or L>=60 and 2 or - L>=30 and 1 + L>=30 and 1 or + L>=5 and 0 end, } \ No newline at end of file diff --git a/modes/tech_lunatic.lua b/modes/tech_lunatic.lua index e433066f..3a0a23a2 100644 --- a/modes/tech_lunatic.lua +++ b/modes/tech_lunatic.lua @@ -49,6 +49,7 @@ return{ L>=140 and 4 or L>=90 and 3 or L>=60 and 2 or - L>=30 and 1 + L>=30 and 1 or + L>=5 and 0 end, } \ No newline at end of file diff --git a/modes/tech_normal+.lua b/modes/tech_normal+.lua index 35be1546..c3bd8ea8 100644 --- a/modes/tech_normal+.lua +++ b/modes/tech_normal+.lua @@ -49,6 +49,7 @@ return{ L>=126 and 4 or L>=80 and 3 or L>=50 and 2 or - L>=20 and 1 + L>=20 and 1 or + L>=5 and 0 end, } \ No newline at end of file diff --git a/modes/tech_normal.lua b/modes/tech_normal.lua index f251c779..7f7f7fd2 100644 --- a/modes/tech_normal.lua +++ b/modes/tech_normal.lua @@ -49,6 +49,7 @@ return{ L>=126 and 4 or L>=80 and 3 or L>=50 and 2 or - L>=20 and 1 + L>=20 and 1 or + L>=5 and 0 end, } \ No newline at end of file diff --git a/modes/tech_ultimate+.lua b/modes/tech_ultimate+.lua index 2c2c9262..427ca942 100644 --- a/modes/tech_ultimate+.lua +++ b/modes/tech_ultimate+.lua @@ -50,6 +50,7 @@ return{ L>=150 and 4 or L>=100 and 3 or L>=70 and 2 or - L>=40 and 1 + L>=40 and 1 or + L>=10 and 0 end, } \ No newline at end of file diff --git a/modes/tech_ultimate.lua b/modes/tech_ultimate.lua index dce71e41..cc089983 100644 --- a/modes/tech_ultimate.lua +++ b/modes/tech_ultimate.lua @@ -50,6 +50,7 @@ return{ L>=150 and 4 or L>=100 and 3 or L>=70 and 2 or - L>=40 and 1 + L>=40 and 1 or + L>=10 and 0 end, } \ No newline at end of file diff --git a/modes/techmino49_easy.lua b/modes/techmino49_easy.lua index b9eecc98..209a0e53 100644 --- a/modes/techmino49_easy.lua +++ b/modes/techmino49_easy.lua @@ -96,6 +96,7 @@ return{ R<=3 and 4 or R<=5 and 3 or R<=10 and 2 or - R<=15 and 1 + R<=15 and 1 or + R<=45 and 0 end, } \ No newline at end of file diff --git a/modes/techmino49_hard.lua b/modes/techmino49_hard.lua index 5185bbc2..c592e671 100644 --- a/modes/techmino49_hard.lua +++ b/modes/techmino49_hard.lua @@ -96,6 +96,7 @@ return{ R==2 and 4 or R<=4 and 3 or R<=6 and 2 or - R<=8 and 1 + R<=8 and 1 or + R<=45 and 0 end, } \ No newline at end of file diff --git a/modes/techmino49_ultimate.lua b/modes/techmino49_ultimate.lua index 18afa6b2..fdb2302c 100644 --- a/modes/techmino49_ultimate.lua +++ b/modes/techmino49_ultimate.lua @@ -96,6 +96,7 @@ return{ R==2 and 4 or R==3 and 3 or R==4 and 2 or - R<=6 and 1 + R<=6 and 1 or + R<=45 and 0 end, } \ No newline at end of file diff --git a/modes/techmino99_easy.lua b/modes/techmino99_easy.lua index 2cf0cacc..4ffc5263 100644 --- a/modes/techmino99_easy.lua +++ b/modes/techmino99_easy.lua @@ -96,6 +96,7 @@ return{ R<=3 and 4 or R<=6 and 3 or R<=10 and 2 or - R<=20 and 1 + R<=20 and 1 or + R<=90 and 0 end, } \ No newline at end of file diff --git a/modes/techmino99_hard.lua b/modes/techmino99_hard.lua index 60d26b97..73a5d3bf 100644 --- a/modes/techmino99_hard.lua +++ b/modes/techmino99_hard.lua @@ -96,6 +96,7 @@ return{ R<=3 and 4 or R<=6 and 3 or R<=8 and 2 or - R<=10 and 1 + R<=10 and 1 or + R<=90 and 0 end, } \ No newline at end of file diff --git a/modes/techmino99_ultimate.lua b/modes/techmino99_ultimate.lua index 4e2a5c51..688d442a 100644 --- a/modes/techmino99_ultimate.lua +++ b/modes/techmino99_ultimate.lua @@ -96,6 +96,7 @@ return{ R==2 and 4 or R==3 and 3 or R<=5 and 2 or - R<=7 and 1 + R<=7 and 1 or + R<=90 and 0 end, } \ No newline at end of file diff --git a/modes/tsd_easy.lua b/modes/tsd_easy.lua index 82ca7462..23f484b3 100644 --- a/modes/tsd_easy.lua +++ b/modes/tsd_easy.lua @@ -41,7 +41,7 @@ return{ mDraw(drawableText.tsd,-82,407) end, score=function(P)return{P.modeData.event,P.stat.time}end, - scoreDisp=function(D)return"NO."..D[1]" KO:"..D[2]end, + scoreDisp=function(D)return"NO."..D[1].." KO:"..D[2]end, comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]=20 and 4 or T>=15 and 3 or T>=10 and 2 or - T>=6 and 1 + T>=6 and 1 or + T>=1 and 0 end, } \ No newline at end of file diff --git a/modes/tsd_hard.lua b/modes/tsd_hard.lua index b5290db6..ff546dcd 100644 --- a/modes/tsd_hard.lua +++ b/modes/tsd_hard.lua @@ -41,7 +41,7 @@ return{ mDraw(drawableText.tsd,-82,407) end, score=function(P)return{P.modeData.event,P.stat.time}end, - scoreDisp=function(D)return"NO."..D[1]" KO:"..D[2]end, + scoreDisp=function(D)return"NO."..D[1].." KO:"..D[2]end, comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]=19 and 4 or T>=16 and 3 or T>=13 and 2 or - T>=10 and 1 + T>=10 and 1 or + T>=1 and 0 end, } \ No newline at end of file diff --git a/modes/tsd_ultimate.lua b/modes/tsd_ultimate.lua index 3f01d54a..cad51139 100644 --- a/modes/tsd_ultimate.lua +++ b/modes/tsd_ultimate.lua @@ -41,7 +41,7 @@ return{ mDraw(drawableText.tsd,-82,407) end, score=function(P)return{P.modeData.event,P.stat.time}end, - scoreDisp=function(D)return"NO."..D[1]" KO:"..D[2]end, + scoreDisp=function(D)return"NO."..D[1].." KO:"..D[2]end, comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]=18 and 4 or T>=16 and 3 or T>=14 and 2 or - T>=12 and 1 + T>=12 and 1 or + T>=1 and 0 end, } \ No newline at end of file diff --git a/modes/zen.lua b/modes/zen.lua index 45b80589..8b5d492d 100644 --- a/modes/zen.lua +++ b/modes/zen.lua @@ -35,10 +35,10 @@ return{ getRank=function(P) local T=P.stat.score return - T>=1e5 and 5 or - T>=8e4 and 4 or - T>=5e4 and 3 or - T>=2e4 and 2 or + T>=12e4 and 5 or + T>=10e4 and 4 or + T>=6e4 and 3 or + T>=3e4 and 2 or T>=1e4 and 1 end, } \ No newline at end of file diff --git a/player.lua b/player.lua index 1588f0a3..004dfd46 100644 --- a/player.lua +++ b/player.lua @@ -27,6 +27,7 @@ local gameEnv0={ freshLimit=1e99,easyFresh=true, fine=false,fineKill=false, target=1e99,dropPiece=NULL, + mindas=0,minarr=0, bg="none",bgm="race" } local renATK={[0]=0,0,0,1,1,2,2,3,3,4,4}--3 else @@ -41,9 +42,10 @@ local spinSCR={--[blockName][row] {250,800,1500},--T {300,1000,2200},--O {300,1000,1800},--I -}--MUL:1.2,2.0 ---Techrash:1K;MUL:1.3,1.8 ---Mini*=.5 +} +--B2BMUL:1.2/2.0 +--Techrash:1K;MUL:1.3/1.8 +--Mini*=.6 local visible_opt={show=1e99,time=300,fast=20,none=5} local reAtk={0,0,1,1,1,2,2,3,3} local reDef={0,1,1,2,3,3,4,4,5} @@ -724,11 +726,23 @@ function player.update(P,dt) goto stop end if P.curY~=P.y_img then - if P.dropDelay>=0 then - P.dropDelay=P.dropDelay-1 - if P.dropDelay>0 then goto stop end + local D=P.dropDelay + if D>1 then + P.dropDelay=D-1 + goto stop + end + if D==1 then + P.curY=P.curY-1 + else + local _=P.curY-P.y_img--max fall dist + D=1/D--fall dist + if D<_ then + P.curY=P.curY-D + assert(P.curY==int(P.curY),"y:"..P.curY.." fall:"..D.." D_env:"..P.gameEnv.drop) + else + P.curY=P.y_img + end end - P.curY=P.curY-1 P.spinLast=false if P.y_img~=P.curY then P.dropDelay=P.gameEnv.drop @@ -1507,7 +1521,7 @@ function player.drop(P)--Place piece P:showText(text.mini,0,-80,35,"appear") send=send*.5 sendTime=sendTime+60 - cscore=cscore*.5 + cscore=cscore*.6 P.b2b=P.b2b+b2bPoint[cc]*.5 if P.human then VOICE("mini",CHN) @@ -1524,7 +1538,7 @@ function player.drop(P)--Place piece elseif #P.field>0 then P.b2b=max(P.b2b-250,0) P:showText(text.clear[cc],0,-30,27+cc*3,"appear",(8-cc)*.3) - send=cc-1 + send=cc-.75 sendTime=20+send*20 cscore=cscore+clearSCR[cc] P.lastClear=cc @@ -1542,7 +1556,7 @@ function player.drop(P)--Place piece end if #P.field==0 then P:showText(text.PC,0,-80,50,"flicker") - send=ceil(send^.5)+min(6+P.stat.pc,10) + send=send^.5+min(6+P.stat.pc,10) exblock=exblock+2 sendTime=sendTime+60 if P.stat.row>4 then @@ -2100,6 +2114,9 @@ function newPlayer(id,x,y,size,AIdata) P.gameEnv[k]=v end end--reset current game settings + P.gameEnv.das=max(P.gameEnv.das,P.gameEnv.mindas) + P.gameEnv.arr=max(P.gameEnv.arr,P.gameEnv.minarr) + P.cur={bk={{}},id=0,color=0,name=0}--shape,shapeID,colorID,nameID P.sc,P.dir,P.r,P.c={0,0},0,0,0--spinCenter,direction,row,col P.curX,P.curY,P.y_img=0,0,0--x,y,ghostY diff --git a/scene.lua b/scene.lua index 9f4f029e..b287d70f 100644 --- a/scene.lua +++ b/scene.lua @@ -50,7 +50,13 @@ local sceneInit={ curBG="glow" BGM("blank") destroyPlayers() - mapCam.zoomK=scene.swap.tar=="mode"and 5 or 1 + local cam=mapCam + cam.zoomK=scene.swap.tar=="mode"and 5 or 1 + if cam.sel then + local M=modes[cam.sel] + cam.x,cam.y=M.x*cam.k+180,M.y*cam.k + cam.x1,cam.y1=cam.x,cam.y + end end, custom=function() sceneTemp=1--option select diff --git a/toolfunc.lua b/toolfunc.lua index 43b61672..dd4122b1 100644 --- a/toolfunc.lua +++ b/toolfunc.lua @@ -20,12 +20,12 @@ end function toTime(s) if s<60 then - return format("%.3fs",s) + return format("%.3f",s) elseif s<3600 then - return format("%dm%.2fs",int(s/60),s%60) + return format("%d:%.2f",int(s/60),s%60) else local h=int(s/3600) - return format("%dh%dm%.2fs",h,int(s-h/60),s%60) + return format("%d:%d:%.2f",h,int(s-h/60),s%60) end end function mStr(s,x,y) @@ -145,53 +145,65 @@ function restoreVirtualKey() end function copyBoard() local str="" - for y=1,20 do + local H=20 + for y=20,1,-1 do + for x=1,10 do + if preField[y][x]~=0 then + H=y + goto L + end + end + end + ::L:: + for y=1,H do local L="" for x=1,10 do local s=preField[y][x] if s>7 then s=s-1 end L=L..char(66+s) end - str=str..L.."\n" + -- str=str..L.."\n" end - love.system.setClipboardText("Techmino sketchpad:\n"..str) + love.system.setClipboardText("Techmino sketchpad:"..str) TEXT(text.copySuccess,350,360,40,"appear",.5) end function pasteBoard() local str=love.system.getClipboardText() local len=#str - local s,p,P,_=0,1,10--sum,pStr,pField - if sub(str,1,20)=="Techmino sketchpad:\n"then - p=21 - else - p=find(str,":") - if p then - p=p+1 - else - p=find(str,"[A-N]") - end - end - ::L1:: - _=byte(str,p) - if _<65 or _>78 then + local _ + local p,P=1,10--sum,pStr,pField(r*10+(c-1)) + p=find(str,":") + if p then p=p+1 - goto L1 - end - ::L2:: - if s==200 then return end - if p>len then - if s~=200 then + else + p=find(str,"[A-N]") + if not p then goto E end - end - _=byte(sub(str,p))-66 + end--int p*//head + ::L:: + _=byte(str,p) + if P==210 then + return + elseif not _ then + if P%10~=0 then + goto E + else + return + end + end--end check + _=_-66 + if _<-1 or _>12 then + p=p+1 + goto L + end--skip illegal char if _>-2 and _<13 then if _>7 then _=_+1 end preField[int(P/10)][P%10+1]=_ - s,P=s+1,P+1 + P=P+1 end p=p+1 - goto L2 + goto L ::E:: TEXT(text.dataCorrupted,350,360,35,"flicker",.5) end diff --git a/updateLog.lua b/updateLog.lua index 9dd374e3..20efdcea 100644 --- a/updateLog.lua +++ b/updateLog.lua @@ -1,6 +1,3 @@ ---[[ -big bang未完成 -]] local S=[=[ Patron(rmb10+): Fireboos @@ -34,12 +31,19 @@ Future outlook: auto GUI position in any screen size more FXs & 3d features & animations Encrypt source code(compile to byte code) +0.8.7: + better user experience in mode selecting + support 2^n G falling speed + speed of marathon mode changed + shorter clipboard string(when air above) + attack system/score system little changed + bugs fixed(rank system,some mode error when enter)(again!) 0.8.6: gamepad can adjust key add SFX when enter game map GUI little adjusted event system little changed(no ctrl when scene swapping) - bug fixed(rank system,some mode error when enter) + bugs fixed(rank system,some mode error when enter) 0.8.5-: mode map!Brandly new GUI for mode selecting mode unlock system,not that scary for noob diff --git a/widgetList.lua b/widgetList.lua index cc76dbab..c850a36e 100644 --- a/widgetList.lua +++ b/widgetList.lua @@ -73,11 +73,11 @@ local virtualkeySet={ },--PC key feedback(top&in a row) } local customSet={ - {20,20,1,1,7,1,1,1,3,4,1,2,3}, - {18,20,1,1,7,1,1,1,8,3,8,3,3}, - {22,22,1,1,7,3,1,1,8,4,1,7,7}, - {20,20,1,1,7,1,1,3,8,3,1,7,8}, - {1,11,8,11,4,1,2,1,8,3,1,4,9}, + {3,20,1,1,7,1,1,1,3,4,1,2,3}, + {5,20,1,1,7,1,1,1,8,3,8,3,3}, + {1,22,1,1,7,3,1,1,8,4,1,7,7}, + {3,20,1,1,7,1,1,3,8,3,1,7,8}, + {25,11,8,11,4,1,2,1,8,3,1,4,9}, } local function useDefaultSet(n) for i=1,#customSet[n]do