修改GM模式的名称和段位名以及修改连带内容,加高成绩上限,修复一个旧版本存档转换错误

This commit is contained in:
MrZ626
2021-03-23 14:40:42 +08:00
parent 078d8bd4e5
commit b3418e8d90
11 changed files with 37 additions and 37 deletions

View File

@@ -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

View File

Before

Width:  |  Height:  |  Size: 275 B

After

Width:  |  Height:  |  Size: 275 B

View File

@@ -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."},

View File

@@ -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."},

View File

@@ -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."},

View File

@@ -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."},

View File

@@ -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"]= {"节奏", "极限", "真男人不玩低难度"},

View File

@@ -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行高速节奏马拉松"},

View File

@@ -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行高速节奏马拉松"},

View File

@@ -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"}},

View File

@@ -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,
}