diff --git a/main.lua b/main.lua index 2c021e68..cb451448 100644 --- a/main.lua +++ b/main.lua @@ -319,24 +319,21 @@ do needSave=true end end - local modeTable={attacker_h="attacker_hard",attacker_u="attacker_ultimate",blind_e="blind_easy",blind_h="blind_hard",blind_l="blind_lunatic",blind_n="blind_normal",blind_u="blind_ultimate",c4wtrain_l="c4wtrain_lunatic",c4wtrain_n="c4wtrain_normal",defender_l="defender_lunatic",defender_n="defender_normal",dig_100l="dig_10",dig_10l="dig_100",dig_400l="dig_40",dig_40l="dig_400",dig_h="dig_hard",dig_u="dig_ultimate",drought_l="drought_lunatic",drought_n="drought_normal",marathon_h="marathon_hard",marathon_n="marathon_normal",pc_h="pcchallenge_hard",pc_l="pcchallenge_lunatic",pc_n="pcchallenge_normal",pctrain_l="pctrain_lunatic",pctrain_n="pctrain_normal",round_e="round_1",round_h="round_2",round_l="round_3",round_n="round_4",round_u="round_5",solo_e="solo_1",solo_h="solo_2",solo_l="solo_3",solo_n="solo_4",solo_u="solo_5",sprint_10l="sprint_10",sprint_20l="sprint_20",sprint_40l="sprint_40",sprint_400l="sprint_400",sprint_100l="sprint_100",sprint_1000l="sprint_1000",survivor_e="survivor_easy",survivor_h="survivor_hard",survivor_l="survivor_lunatic",survivor_n="survivor_normal",survivor_u="survivor_ultimate",tech_finesse_f="tech_finesse2",tech_h_plus="tech_hard2",tech_h="tech_hard",tech_l_plus="tech_lunatic2",tech_l="tech_lunatic",tech_n_plus="tech_normal2",tech_n="tech_normal",techmino49_e="techmino49_easy",techmino49_h="techmino49_hard",techmino49_u="techmino49_ultimate",techmino99_e="techmino99_easy",techmino99_h="techmino99_hard",techmino99_u="techmino99_ultimate",tsd_e="tsd_easy",tsd_h="tsd_hard",tsd_u="tsd_ultimate"} + local modeTable={attacker_h="attacker_hard",attacker_u="attacker_ultimate",blind_e="blind_easy",blind_h="blind_hard",blind_l="blind_lunatic",blind_n="blind_normal",blind_u="blind_ultimate",c4wtrain_l="c4wtrain_lunatic",c4wtrain_n="c4wtrain_normal",defender_l="defender_lunatic",defender_n="defender_normal",dig_100l="dig_10",dig_10l="dig_100",dig_400l="dig_40",dig_40l="dig_400",dig_h="dig_hard",dig_u="dig_ultimate",drought_l="drought_lunatic",drought_n="drought_normal",marathon_h="marathon_hard",marathon_n="marathon_normal",pc_h="pcchallenge_hard",pc_l="pcchallenge_lunatic",pc_n="pcchallenge_normal",pctrain_l="pctrain_lunatic",pctrain_n="pctrain_normal",round_e="round_1",round_h="round_2",round_l="round_3",round_n="round_4",round_u="round_5",solo_e="solo_1",solo_h="solo_2",solo_l="solo_3",solo_n="solo_4",solo_u="solo_5",sprint_10l="sprint_10",sprint_20l="sprint_20",sprint_40l="sprint_40",sprint_400l="sprint_400",sprint_100l="sprint_100",sprint_1000l="sprint_1000",survivor_e="survivor_easy",survivor_h="survivor_hard",survivor_l="survivor_lunatic",survivor_n="survivor_normal",survivor_u="survivor_ultimate",tech_finesse_f="tech_finesse2",tech_h_plus="tech_hard2",tech_h="tech_hard",tech_l_plus="tech_lunatic2",tech_l="tech_lunatic",tech_n_plus="tech_normal2",tech_n="tech_normal",techmino49_e="techmino49_easy",techmino49_h="techmino49_hard",techmino49_u="techmino49_ultimate",techmino99_e="techmino99_easy",techmino99_h="techmino99_hard",techmino99_u="techmino99_ultimate",tsd_e="tsd_easy",tsd_h="tsd_hard",tsd_u="tsd_ultimate",master_extra="GM"} for k,v in next,modeTable do - v="record/"..v - if fs.getInfo(v.."dat")then - fs.write("record/"..k.."rec",fs.read(v.."dat")) - fs.remove(v.."dat") - end - if fs.getInfo(v.."rec")then - fs.write("record/"..k.."rec",fs.read(v.."rec")) - fs.remove(v.."rec") - end - end - if RANKS.blind_easy then - for k,v in next,modeTable do + if RANKS[v]then RANKS[k]=RANKS[v] RANKS[v]=nil end - needSave=true + v="record/"..v + if fs.getInfo(v..".dat")then + fs.write("record/"..k.."rec",fs.read(v..".dat")) + fs.remove(v..".dat") + end + if fs.getInfo(v..".rec")then + fs.write("record/"..k..".rec",fs.read(v..".rec")) + fs.remove(v..".rec") + end end if not RANKS.sprint_10l then RANKS.sprint_10l=0 diff --git a/media/image/modeicon/gm.png b/media/image/modeicon/master_ex.png similarity index 100% rename from media/image/modeicon/gm.png rename to media/image/modeicon/master_ex.png diff --git a/parts/language/lang_en.lua b/parts/language/lang_en.lua index f9c219dd..f3a7e4e3 100644 --- a/parts/language/lang_en.lua +++ b/parts/language/lang_en.lua @@ -702,7 +702,7 @@ return{ ["master_advance"]= {"Master", "ULTIMATE", "For 20G pro."}, ["master_final"]= {"Master", "FINAL", "20G and beyond."}, ["master_phantasm"]= {"Master", "PHANTASM", "???"}, - ["GM"]= {"GrandMaster", "GM", "An eternity shorter than an instant."}, + ["master_extra"]= {"GrandMaster", "EXTRA", "An eternity shorter than an instant."}, ["rhythm_e"]= {"Rhythm", "EASY", "200-line low-bpm rhythm marathon."}, ["rhythm_h"]= {"Rhythm", "HARD", "200-line medium-bpm rhythm marathon"}, ["rhythm_u"]= {"Rhythm", "ULTIMATE", "200-line high-bpm rhythm marathon."}, diff --git a/parts/language/lang_fr.lua b/parts/language/lang_fr.lua index df1d052e..cbe0f009 100644 --- a/parts/language/lang_fr.lua +++ b/parts/language/lang_fr.lua @@ -618,7 +618,8 @@ return{ ["master_beginner"]= {"Master", "LUNATIQUE", "Pour les débutants en 20G."}, ["master_advance"]= {"Master", "ULTIME", "Challenge 20G pro !"}, ["master_final"]= {"Master", "FINAL", "20G : Un point final impossible à atteindre !"}, - ["GM"]= {"GrandMaster", "GM", "Tentez de devenir un Grandmaster."}, + -- ["master_phantasm"]= {"Mester", "FANTASMA", "20G: ???"}, + ["master_extra"]= {"GrandMaster", "EXTRA", "Tentez de devenir un Grandmaster."}, -- ["rhythm_e"]= {"Rhythm", "EASY", "200-line low-bpm rhythm marathon."}, -- ["rhythm_h"]= {"Rhythm", "HARD", "200-line medium-bpm rhythm marathon"}, -- ["rhythm_u"]= {"Rhythm", "ULTIMATE", "200-line high-bpm rhythm marathon."}, diff --git a/parts/language/lang_pt.lua b/parts/language/lang_pt.lua index c3e1fd0a..62313a96 100644 --- a/parts/language/lang_pt.lua +++ b/parts/language/lang_pt.lua @@ -701,7 +701,7 @@ return{ ["master_advance"]= {"Mestre", "ULTIMATE", "Desafio 20G profissional!"}, ["master_final"]= {"Mestre", "FINAL", "20G: Final inalcançável!"}, ["master_phantasm"]= {"Mestre", "FANTASMA", "20G: ???"}, - ["GM"]= {"GrandMaster", "GM", "Para ser um Grand Master, aceite \nesse desafio."}, + ["master_extra"]= {"GrandMaster", "EXTRA", "Para ser um Grand Master, aceite \nesse desafio."}, -- ["rhythm_e"]= {"Rhythm", "EASY", "200-line low-bpm rhythm marathon."}, -- ["rhythm_h"]= {"Rhythm", "HARD", "200-line medium-bpm rhythm marathon"}, -- ["rhythm_u"]= {"Rhythm", "ULTIMATE", "200-line high-bpm rhythm marathon."}, diff --git a/parts/language/lang_sp.lua b/parts/language/lang_sp.lua index 8463b9f9..52fe297f 100644 --- a/parts/language/lang_sp.lua +++ b/parts/language/lang_sp.lua @@ -615,7 +615,7 @@ return{ ["master_beginner"]= {"Master", "Lunático", "Para principiantes en 20G"}, ["master_advance"]= {"Master", "Supremo", "¡Desafío profesional de 20G!"}, ["master_final"]= {"Master", "FINAL", "El verdadero 20G Supremo: el final es inalcanzable."}, - ["GM"]= {"GrandMaster", "GM", "Para ser un gran maestro, acepta este desafío"}, + ["master_extra"]= {"GrandMaster", "EXTRA", "Para ser un gran maestro, acepta este desafío"}, -- ["rhythm_e"]= {"Rhythm", "EASY", "200-line low-bpm rhythm marathon."}, -- ["rhythm_h"]= {"Rhythm", "HARD", "200-line medium-bpm rhythm marathon"}, -- ["rhythm_u"]= {"Rhythm", "ULTIMATE", "200-line high-bpm rhythm marathon."}, diff --git a/parts/language/lang_yygq.lua b/parts/language/lang_yygq.lua index 1c8d80cc..4e42cfab 100644 --- a/parts/language/lang_yygq.lua +++ b/parts/language/lang_yygq.lua @@ -226,7 +226,7 @@ return{ ["master_advance"]= {"大师", "极限", "简单20G"}, ["master_final"]= {"大师", "终点", "究极20G:真正的游戏"}, ["master_phantasm"]= {"大师", "虚幻", "虚幻20G:好玩"}, - ["GM"]= {"宗师", "GM", "你行你上"}, + ["master_extra"]= {"宗师", "EX", "你行你上"}, ["rhythm_e"]= {"节奏", "简单", "很无聊的"}, ["rhythm_h"]= {"节奏", "困难", "好玩么?"}, ["rhythm_u"]= {"节奏", "极限", "真男人不玩低难度"}, diff --git a/parts/language/lang_zh.lua b/parts/language/lang_zh.lua index a8752b1f..0482893e 100644 --- a/parts/language/lang_zh.lua +++ b/parts/language/lang_zh.lua @@ -704,7 +704,7 @@ return{ ["master_advance"]= {"大师", "极限", "上级者20G挑战"}, ["master_final"]= {"大师", "终点", "究极20G:无法触及的终点"}, ["master_phantasm"]= {"大师", "虚幻", "虚幻20G:???"}, - ["GM"]= {"宗师", "GM", "成为方块大师"}, + ["master_extra"]= {"宗师", "EX", "成为方块大师"}, ["rhythm_e"]= {"节奏", "简单", "200行低速节奏马拉松"}, ["rhythm_h"]= {"节奏", "困难", "200行中速节奏马拉松"}, ["rhythm_u"]= {"节奏", "极限", "200行高速节奏马拉松"}, diff --git a/parts/language/lang_zh2.lua b/parts/language/lang_zh2.lua index 8b1e5606..ca1fbc0a 100644 --- a/parts/language/lang_zh2.lua +++ b/parts/language/lang_zh2.lua @@ -179,7 +179,7 @@ return{ ["master_advance"]= {"大师", "极限", "上级者20G挑战"}, ["master_final"]= {"大师", "终点", "究极20G:无法触及的终点"}, ["master_phantasm"]= {"大师", "虚幻", "虚幻20G:???"}, - ["GM"]= {"宗师", "GM", "成为方块大师"}, + ["master_extra"]= {"宗师", "EX", "成为方块大师"}, ["rhythm_e"]= {"节奏", "简单", "200行低速节奏马拉松"}, ["rhythm_h"]= {"节奏", "困难", "200行中速节奏马拉松"}, ["rhythm_u"]= {"节奏", "极限", "200行高速节奏马拉松"}, diff --git a/parts/modes.lua b/parts/modes.lua index 4fbd0313..c2e262c0 100644 --- a/parts/modes.lua +++ b/parts/modes.lua @@ -40,10 +40,10 @@ return{ {name="round_u", x=-1400,y=-800, size=40,shape=1,icon="round"}, {name="master_beginner",x=0, y=-1000,size=40,shape=1,icon="master", unlock={"master_advance"}}, - {name="master_advance", x=0, y=-1200,size=40,shape=3,icon="master", unlock={"master_final","GM","master_phantasm"}}, + {name="master_advance", x=0, y=-1200,size=40,shape=3,icon="master", unlock={"master_final","master_extra","master_phantasm"}}, {name="master_final", x=0, y=-1600,size=40,shape=2,icon="master"}, {name="master_phantasm",x=-150, y=-1500,size=40,shape=2,icon="master"}, - {name="GM", x=150, y=-1500,size=40,shape=2,icon="gm"}, + {name="master_extra", x=150, y=-1500,size=40,shape=2,icon="master_ex"}, {name="rhythm_e", x=-350, y=-1000,size=40,shape=1,icon="rhythm", unlock={"rhythm_h"}}, {name="rhythm_h", x=-350, y=-1200,size=40,shape=3,icon="rhythm", unlock={"rhythm_u"}}, diff --git a/parts/modes/GM.lua b/parts/modes/master_extra.lua similarity index 53% rename from parts/modes/GM.lua rename to parts/modes/master_extra.lua index ed4c8cb3..2abcc7ce 100644 --- a/parts/modes/GM.lua +++ b/parts/modes/master_extra.lua @@ -1,13 +1,14 @@ local int,min=math.floor,math.min -local sectionName={"M7","M8","M9","M","MK","MV","MO","MM","GM"} +local sectionName={"D","C","B","A","A+","S-","S","S+","SS","SS","SS","U","U","U","X"} local function score(P) --If Less then MM - if P.modeData.point<70 then + if P.modeData.rankScore<130 then local R=#P.clearedRow - if R==0 then return end - if R==4 then R=10 end - P.modeData.point=P.modeData.point+R - P.modeData.event=sectionName[int(P.modeData.point*.1)+1] + if R>0 then + if R==4 then R=10 end--Techrash bonus + P.modeData.rankScore=min(P.modeData.rankScore+R,120) + P.modeData.rankName=sectionName[int(P.modeData.rankScore/10)+1] + end end end @@ -23,11 +24,13 @@ return{ freshLimit=15, dropPiece=score, task=function(P) + P.modeData.rankScore=0 + P.modeData.rankName=sectionName[1] while true do YIELD() - if P.stat.time>=53.5 then - P.modeData.point=min(P.modeData.point+16,80) - P.modeData.event=sectionName[int(P.modeData.point*.1)+1] + if P.stat.frame>=3600 then + P.modeData.rankScore=min(P.modeData.rankScore+16,140) + P.modeData.rankName=sectionName[int(P.modeData.rankScore*.1)+1] P:win("finish") return end @@ -38,23 +41,22 @@ return{ slowMark=true, load=function() PLY.newPlayer(1) - PLAYERS[1].modeData.event="M7" end, mesDisp=function(P) mText(drawableText.line,69,300) mText(drawableText.techrash,69,420) mText(drawableText.grade,69,170) setFont(55) - mStr(P.modeData.event,69,110) + mStr(P.modeData.rankName,69,110) setFont(75) mStr(P.stat.row,69,220) mStr(P.stat.clears[4],69,340) end, - score=function(P)return{P.modeData.point,P.stat.score}end, + score=function(P)return{P.modeData.rankScore,P.stat.score}end, scoreDisp=function(D)return sectionName[int(D[1]*.1)+1].." "..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) - 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 or P>=5 and 0 + P=P.modeData.rankScore + return P==140 and 5 or P>=110 and 4 or P>=80 and 3 or P>=50 and 2 or P>=30 and 1 or P>=10 and 0 end, } \ No newline at end of file