diff --git a/main.lua b/main.lua index 68cfc558..6b004860 100644 --- a/main.lua +++ b/main.lua @@ -199,6 +199,13 @@ do S.finesseRate=5*(S.piece-S.extraRate) end if S.version~=VERSION_CODE then + if(tonumber(S.version)or 0)<1204 then + STAT.lastPlay="sprint_10" + RANKS.sprintFix=nil + RANKS.sprintLock=nil + fs.remove("sprintFix.dat") + fs.remove("sprintLock.dat") + end newVersionLaunch=true --Try unlock modes which should be unlocked diff --git a/parts/gametoolfunc.lua b/parts/gametoolfunc.lua index aade007e..ec167833 100644 --- a/parts/gametoolfunc.lua +++ b/parts/gametoolfunc.lua @@ -424,7 +424,7 @@ function resumeGame() SCN.swapTo("play","none") end function loadGame(M,ifQuickPlay) - STAT.lastPlay=M + if M.score then STAT.lastPlay=M end GAME.curMode=MODES[M] GAME.modeEnv=GAME.curMode.env drawableText.modeName:set(text.modes[M][1]) diff --git a/parts/modes.lua b/parts/modes.lua index 619e0257..b2119619 100644 --- a/parts/modes.lua +++ b/parts/modes.lua @@ -1,15 +1,13 @@ return{ {name="sprint_10", x=0, y=0, size=35,shape=1,icon="sprint", unlock={"sprint_20","sprint_40"}}, {name="sprint_20", x=-200, y=0, size=45,shape=1,icon="sprint"}, - {name="sprint_40", x=0, y=-300, size=35,shape=1,icon="sprint", unlock={"dig_10","sprint_100","marathon_normal","sprintFix","sprintLock","sprintPenta","sprintMPH"}}, + {name="sprint_40", x=0, y=-300, size=35,shape=1,icon="sprint", unlock={"dig_10","sprint_100","marathon_normal","sprintPenta","sprintMPH"}}, {name="sprint_100", x=-200, y=-200, size=45,shape=1,icon="sprint", unlock={"sprint_400","drought_normal"}}, {name="sprint_400", x=-400, y=-200, size=35,shape=1,icon="sprint", unlock={"sprint_1000"}}, {name="sprint_1000", x=-600, y=-200, size=35,shape=1,icon="sprint"}, - {name="sprintFix", x=180, y=-410, size=40,shape=3,icon="sprint_new"}, - {name="sprintLock", x=240, y=-300, size=40,shape=3,icon="sprint_new"}, - {name="sprintPenta", x=240, y=-180, size=40,shape=3,icon="sprint_new"}, - {name="sprintMPH", x=180, y=-70, size=40,shape=3,icon="sprint_new"}, + {name="sprintPenta", x=210, y=-370, size=40,shape=3,icon="sprint_new"}, + {name="sprintMPH", x=210, y=-230, size=40,shape=3,icon="sprint_new"}, {name="drought_normal", x=-400, y=0, size=35,shape=1,icon="noI", unlock={"drought_lunatic"}}, {name="drought_lunatic", x=-600, y=0, size=35,shape=1,icon="mess"}, @@ -102,6 +100,8 @@ return{ {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"}, + {name="sprintFix"}, + {name="sprintLock"}, {name="custom_puzzle"}, {name="custom_clear"}, } \ No newline at end of file diff --git a/parts/modes/sprintFix.lua b/parts/modes/sprintFix.lua index 87d35106..f2f5adaf 100644 --- a/parts/modes/sprintFix.lua +++ b/parts/modes/sprintFix.lua @@ -17,9 +17,6 @@ return{ mStr(r,69,335) PLY.draw.drawTargetLine(P,r) 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]b[1]or a[1]==b[1]and a[2]0 then GAME.rank=R end - if scoreValid()then + if scoreValid()and M.score then local r=RANKS[M.name]--Old rank local needSave if R>r then diff --git a/parts/player/update.lua b/parts/player/update.lua index 810cec00..89407d5b 100644 --- a/parts/player/update.lua +++ b/parts/player/update.lua @@ -103,14 +103,14 @@ local update={} function update.alive(P,dt) if P.timing then P.stat.time=P.stat.time+dt end if P.keyRec then--Update speeds - local _=GAME.frame + local frame=GAME.frame local v=0 - for i=2,10 do v=v+i*(i-1)*7.2/(_-P.keyTime[i]+1)end + for i=2,10 do v=v+i*(i-1)*7.2/(frame-P.keyTime[i]+1)end P.keySpeed=P.keySpeed*.99+v*.1 v=0 - for i=2,10 do v=v+i*(i-1)*7.2/(_-P.dropTime[i])end + for i=2,10 do v=v+i*(i-1)*7.2/(frame-P.dropTime[i])end P.dropSpeed=P.dropSpeed*.99+v*.1 if GAME.modeEnv.royaleMode then @@ -298,15 +298,21 @@ function update.alive(P,dt) end end ::stop:: + + --B2B bar animation if P.b2b1==P.b2b then elseif P.b2b1