diff --git a/Zframework/languages.lua b/Zframework/languages.lua index 63983dcc..86d46ad5 100644 --- a/Zframework/languages.lua +++ b/Zframework/languages.lua @@ -485,6 +485,7 @@ local langList={ ["drought_lunatic"]= {"干旱", "100L", "后 妈 发 牌"}, ["marathon_normal"]= {"马拉松", "普通", "200行加速马拉松"}, ["marathon_hard"]= {"马拉松", "困难", "200行高速马拉松"}, + ["marathon_ultimate"]= {"马拉松", "极限", "禁止0连击单消之外的任何操作"}, ["solo_1"]= {"单挑", "简单", "打败AI"}, ["solo_2"]= {"单挑", "普通", "打败AI"}, ["solo_3"]= {"单挑", "困难", "打败AI"}, @@ -1036,6 +1037,7 @@ local langList={ ["drought_lunatic"]= {"干旱", "100行", "后 妈 发 牌"}, ["marathon_normal"]= {"马拉松", "普通", "200行加速马拉松"}, ["marathon_hard"]= {"马拉松", "困难", "200行高速马拉松"}, + ["marathon_ultimate"]= {"马拉松", "极限", "禁止0连击单消之外的任何操作"}, ["solo_1"]= {"单挑", "简单", "打败机器人"}, ["solo_2"]= {"单挑", "普通", "打败机器人"}, ["solo_3"]= {"单挑", "困难", "打败机器人"}, @@ -1584,6 +1586,7 @@ local langList={ ["drought_lunatic"]= {"Drought", "100L", "WTF"}, ["marathon_normal"]= {"Marathon", "NORMAL", "200-line marathon with accelerating speed."}, ["marathon_hard"]= {"Marathon", "HARD", "200-line high-speed marathon."}, + ["marathon_ultimate"]= {"Marathon", "Ultimate", "Regular singles without combo only"}, ["solo_1"]= {"Battle", "EASY", "Defeat the AI!"}, ["solo_2"]= {"Battle", "NORMAL", "Defeat the AI!"}, ["solo_3"]= {"Battle", "HARD", "Defeat the AI!"}, @@ -2129,6 +2132,7 @@ local langList={ ["drought_lunatic"]= {"Drought", "100L", "WTF"}, ["marathon_normal"]= {"Marathon", "NORMAL", "200-line marathon with accelerating speed."}, ["marathon_hard"]= {"Marathon", "HARD", "200-line high-speed marathon."}, + ["marathon_ultimate"]= {"Marathon", "Ultimate", "Regular singles without combo only"}, ["solo_1"]= {"Battle", "EASY", "Defeat the AI!"}, ["solo_2"]= {"Battle", "NORMAL", "Defeat the AI!"}, ["solo_3"]= {"Battle", "HARD", "Defeat the AI!"}, @@ -2679,6 +2683,7 @@ local langList={ ["drought_lunatic"]= {"干旱", "100L", "有趣的要来了"}, ["marathon_normal"]= {"马拉松", "普通", "休闲模式"}, ["marathon_hard"]= {"马拉松", "困难", "休闲模式"}, + ["marathon_ultimate"]= {"马拉松", "极限", "你再秀?"}, ["solo_1"]= {"单挑", "简单", "鲨AI"}, ["solo_2"]= {"单挑", "普通", "鲨AI"}, ["solo_3"]= {"单挑", "困难", "鲨AI"}, diff --git a/modes/marathon_ultimate.lua b/modes/marathon_ultimate.lua new file mode 100644 index 00000000..74fb96f9 --- /dev/null +++ b/modes/marathon_ultimate.lua @@ -0,0 +1,61 @@ +local gc=love.graphics +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) + if P.combo>1 or P.b2b>0 or P.lastClear.row>1 then + if P.combo>1 then P:showText("2x",0,-220,40,"flicker",.3)end + if P.b2b>0 then P:showText("spin",0,-160,40,"flicker",.3)end + if P.lastClear.row>1 then P:showText("1+",0,-100,40,"flicker",.3)end + P:lose() + return + end + local T=P.modeData.point+10 + if P.stat.row>=T then + if T==200 then + P:win("finish") + else + P.gameEnv.drop=dropSpeed[T/10] + P.modeData.point=T + SFX.play("reach") + end + end +end + +return{ + color=color.yellow, + env={ + noTele=true, + wait=8,fall=20, + target=10,dropPiece=check_LVup, + mindas=7,minarr=1,minsdarr=1, + bg="bg2",bgm="push", + }, + pauseLimit=true, + slowMark=true, + load=function() + PLY.newPlayer(1,340,15) + end, + mesDisp=function(P) + setFont(45) + mStr(P.stat.row,69,390) + mStr(P.modeData.point+10,69,440) + gc.rectangle("fill",25,445,90,4) + end, + score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end, + scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end, + 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<=400 and 5 or + T<=600 and 4 or + 3 + else + return + L>=150 and 2 or + L>=80 and 1 or + L>=20 and 0 + end + end, +} \ No newline at end of file diff --git a/parts/modes.lua b/parts/modes.lua index 788c0f97..7ede9ef9 100644 --- a/parts/modes.lua +++ b/parts/modes.lua @@ -11,8 +11,9 @@ return{ {name="dig_40", x=-400, y=-400, size=35,shape=1,icon="dig", unlock={"dig_100"}}, {name="dig_100", x=-600, y=-400, size=35,shape=1,icon="dig", unlock={"dig_400"}}, {name="dig_400", x=-800, y=-200, size=35,shape=1,icon="dig", }, - {name="marathon_normal", x=0, y=-600, size=55,shape=1,icon="flag", unlock={"marathon_hard","solo_1","round_1","blind_easy","classic_fast","survivor_easy","bigbang","zen"}}, + {name="marathon_normal", x=0, y=-600, size=55,shape=1,icon="flag", unlock={"marathon_hard","marathon_ultimate","solo_1","round_1","blind_easy","classic_fast","survivor_easy","bigbang","zen"}}, {name="marathon_hard", x=0, y=-800, size=45,shape=1,icon="flag", unlock={"master_beginner"}}, + {name="marathon_ultimate", x=200, y=-400, size=35,shape=2,icon="flag", }, {name="solo_1", x=-300, y=-1000, size=35,shape=1,icon="solo", unlock={"solo_2"}}, {name="solo_2", x=-500, y=-1000, size=35,shape=1,icon="solo", unlock={"solo_3"}}, {name="solo_3", x=-700, y=-1000, size=35,shape=1,icon="solo", unlock={"solo_4","techmino49_easy"}}, @@ -81,9 +82,9 @@ return{ {name="ultra", x=-1000, y=-400, size=35,shape=1,icon="ultra", }, {name="infinite", x=-800, y=-400, size=35,shape=1,icon="infinite", }, {name="infinite_dig", x=-1000, y=-600, size=35,shape=1,icon="infinite_dig",}, - {name="sprintPenta", x=200, y=-150, size=40,shape=2,icon="sprint", }, - {name="sprintMPH", x=200, y=-300, size=40,shape=2,icon="sprint", }, + {name="sprintMPH", x=200, y=-100, size=40,shape=2,icon="sprint", }, + {name="sprintPenta", x=200, y=-250, size=40,shape=2,icon="sprint", }, - {name="custom_clear", x=0, y=2600, size=45,shape=3,icon="custom", }, - {name="custom_puzzle", x=0, y=2600, size=45,shape=3,icon="puzzle", }, + {name="custom_clear", x=0, y=2600, size=45,shape=1,icon="custom", }, + {name="custom_puzzle", x=0, y=2600, size=45,shape=1,icon="puzzle", }, } \ No newline at end of file