修改GM模式的名称和段位名以及修改连带内容,加高成绩上限,修复一个旧版本存档转换错误
This commit is contained in:
25
main.lua
25
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
|
||||
|
||||
|
Before Width: | Height: | Size: 275 B After Width: | Height: | Size: 275 B |
@@ -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."},
|
||||
|
||||
@@ -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."},
|
||||
|
||||
@@ -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."},
|
||||
|
||||
@@ -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."},
|
||||
|
||||
@@ -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"]= {"节奏", "极限", "真男人不玩低难度"},
|
||||
|
||||
@@ -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行高速节奏马拉松"},
|
||||
|
||||
@@ -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行高速节奏马拉松"},
|
||||
|
||||
@@ -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"}},
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
Reference in New Issue
Block a user