diff --git a/LANG/lang_en.lua b/LANG/lang_en.lua index f0c45666..53248ddb 100644 --- a/LANG/lang_en.lua +++ b/LANG/lang_en.lua @@ -562,6 +562,7 @@ return{ ["master_beginner"]= {"Master", "LUNATIC", "For 20G beginners."}, ["master_advance"]= {"Master", "ULTIMATE", "Professional 20G challenge!"}, ["master_final"]= {"Master", "FINAL", "20G: Unreachable end point!"}, + ["master_phantasm"]= {"Master", "PHANTASM", "20G: ???"}, ["GM"]= {"GrandMaster", "GM", "To be a Grand Master, take \nthis challenge."}, ["blind_easy"]= {"Blind", "HALF", "For novice players."}, ["blind_normal"]= {"Blind", "ALL", "For intermediate players."}, diff --git a/LANG/lang_symbol.lua b/LANG/lang_symbol.lua index 6d9263ca..6018ca40 100644 --- a/LANG/lang_symbol.lua +++ b/LANG/lang_symbol.lua @@ -560,6 +560,7 @@ return{ ["master_beginner"]= {"Master", "LUNATIC", "For 20G beginners."}, ["master_advance"]= {"Master", "ULTIMATE", "Professional 20G challenge!"}, ["master_final"]= {"Master", "FINAL", "20G: Unreachable end point!"}, + ["master_phantasm"]= {"Master", "PHANTASM", "20G: ???"}, ["GM"]= {"GrandMaster", "GM", "To be Grand Master"}, ["blind_easy"]= {"Blind", "HALF", "For novice players."}, ["blind_normal"]= {"Blind", "ALL", "For intermediate players."}, diff --git a/LANG/lang_yygq.lua b/LANG/lang_yygq.lua index 1fd2ceec..7ada9b8a 100644 --- a/LANG/lang_yygq.lua +++ b/LANG/lang_yygq.lua @@ -515,6 +515,7 @@ return{ ["master_beginner"]= {"大师", "疯狂", "无脑20G"}, ["master_advance"]= {"大师", "极限", "简单20G"}, ["master_final"]= {"大师", "终点", "究极20G:真正的游戏"}, + ["master_phantasm"]= {"大师", "虚幻", "虚幻20G:好玩"}, ["GM"]= {"宗师", "GM", "你行你上"}, ["blind_easy"]= {"隐形", "半隐", "谁都能玩"}, ["blind_normal"]= {"隐形", "全隐", "稍加练习即可"}, diff --git a/LANG/lang_zh.lua b/LANG/lang_zh.lua index 2102e698..24378666 100644 --- a/LANG/lang_zh.lua +++ b/LANG/lang_zh.lua @@ -564,6 +564,7 @@ return{ ["master_beginner"]= {"大师", "疯狂", "20G初心者练习"}, ["master_advance"]= {"大师", "极限", "上级者20G挑战"}, ["master_final"]= {"大师", "终点", "究极20G:无法触及的终点"}, + ["master_phantasm"]= {"大师", "虚幻", "虚幻20G:???"}, ["GM"]= {"宗师", "GM", "成为方块大师"}, ["blind_easy"]= {"隐形", "半隐", "不强大脑"}, ["blind_normal"]= {"隐形", "全隐", "挺强大脑"}, diff --git a/LANG/lang_zh2.lua b/LANG/lang_zh2.lua index e47c7768..6fe83cc4 100644 --- a/LANG/lang_zh2.lua +++ b/LANG/lang_zh2.lua @@ -500,6 +500,7 @@ return{ ["master_beginner"]= {"大师", "疯狂", "20G初心者练习"}, ["master_advance"]= {"大师", "极限", "上级者20G挑战"}, ["master_final"]= {"大师", "终点", "究极20G:无法触及的终点"}, + ["master_phantasm"]= {"大师", "虚幻", "虚幻20G:???"}, ["GM"]= {"宗师", "GM", "成为方块大师"}, ["blind_easy"]= {"隐形", "半隐", "不强大脑"}, ["blind_normal"]= {"隐形", "全隐", "挺强大脑"}, diff --git a/modes/master_phantasm.lua b/modes/master_phantasm.lua new file mode 100644 index 00000000..cd5e6bb3 --- /dev/null +++ b/modes/master_phantasm.lua @@ -0,0 +1,172 @@ +local gc=love.graphics +local function check_LVup(P) + if #P.clearedRow>0 then + local p=P.modeData.point+P.lastClear.row + if p>=P.gameEnv.target then + local ENV=P.gameEnv + local T=ENV.target + --Stage 1: clear 3 techrash + if T==12 then--Stage 2: swap color of S/Z & J/L + P.waiting=30 + P.curMission=nil + + ENV.skin[1],ENV.skin[2]=ENV.skin[2],ENV.skin[1] + ENV.skin[3],ENV.skin[4]=ENV.skin[4],ENV.skin[3] + + ENV.lock=14 + ENV.wait=7 + ENV.fall=7 + ENV.next=4 + + ENV.target=26 + SFX.play("reach") + elseif T==26 then--Stage 3: dig to bottom + if not P.hd then P.life=P.life+1 end--1 up if ban hold + P.waiting=45 + ENV.skin[1],ENV.skin[2]=ENV.skin[2],ENV.skin[1] + ENV.skin[3],ENV.skin[4]=ENV.skin[4],ENV.skin[3] + + for i=1,10 do + if P.field[i]then + for j=1,10 do + if P.field[i][j]>0 then + P.field[i][j]=17 + P.visTime[i][j]=15 + end + end + for _=1,5 do + P.field[i][P:RND(10)]=0 + end + else + P.field[i]=freeRow.get(0) + P.visTime[i]=freeRow.get(30) + for j=1,10 do + if P:RND()>.9 then + P.field[i][j]=math.random(16) + end + end + P.field[i][P:RND(10)]=0 + end + P.field[i][11]=true + end + P.garbageBeneath=10 + for i=1,10 do + P:createClearingFX(i,1.5) + end + sysFX.newShade(.4,1,1,1,P.x+150*P.size,P.y+370*P.size,300*P.size,300*P.size) + + ENV.lock=13 + ENV.wait=6 + ENV.fall=6 + ENV.next=5 + + ENV.target=42 + SFX.play("reach") + elseif T==42 then--Stage 4: survive in high speed + if P.garbageBeneath==0 then + P.waiting=30 + ENV.lock=11 + ENV.next=6 + ENV.hold=false + ENV.bone=true + + ENV.target=62 + else + p=41 + end + elseif T==62 then--Stage 5: survive without easy-fresh rule + P.life=1 + ENV.lock=13 + ENV.wait=5 + ENV.fall=5 + + ENV.easyFresh=false + + ENV.target=126 + SFX.play("reach") + elseif T==126 then--Stage 6: speed up + P.life=P.life+1 + + ENV.lock=11 + ENV.wait=4 + ENV.fall=4 + + ENV.target=162 + elseif T==162 then--Stage 7: speed up+++ + P.life=P.life+2 + + ENV.lock=10 + + ENV.hold=true + P.keepVisible=false + P.showTime=180 + + ENV.target=226 + SFX.play("reach") + elseif T==226 then--Stage 8: final invisible + P.life=P.life+2 + + ENV.bone=false + P.showTime=90 + + ENV.target=259 + SFX.play("reach") + elseif T==259 then--Stage 9: ending + P.life=P.life+1 + for i=1,7 do ENV.skin[i]=math.random(16)end + + P.showTime=40 + ENV.lock=15 + P.curMission=1 + ENV.mission={4,4,4,4} + ENV.missionKill=false + + ENV.target=260 + SFX.play("blip_2") + elseif P.result~="WIN"then + p=259 + end + end + P.modeData.point=p + end +end + +return{ + color=color.black, + env={ + noTele=true, + das=5,arr=1, + drop=0,lock=15, + wait=10,fall=10, + next=2, + sequence="his4", + target=12,dropPiece=check_LVup, + mission={4,4,4,64}, + missionKill=true, + freshLimit=12, + bg="none",bgm="distortion", + }, + slowMark=true, + load=function() + PLY.newPlayer(1,340,15) + end, + mesDisp=function(P) + setFont(45) + mStr(P.modeData.point,69,390) + mStr(P.gameEnv.target,69,440) + gc.rectangle("fill",25,445,90,4) + end, + score=function(P)return{math.min(P.modeData.point,260),P.stat.time}end, + scoreDisp=function(D)return D[1].."P "..toTime(D[2])end, + comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]=260 and 5 or + P>=226 and 4 or + P>=162 and 3 or + P>=62 and 2 or + P>=42 and 1 or + P>=26 and 0 + end, +} \ No newline at end of file diff --git a/parts/modes.lua b/parts/modes.lua index 6e39cd75..639fb5c2 100644 --- a/parts/modes.lua +++ b/parts/modes.lua @@ -44,7 +44,8 @@ return{ {name="master_beginner", x=0, y=-1000, size=35,shape=1,icon="master", unlock={"master_advance"}}, {name="master_advance", x=0, y=-1200, size=35,shape=3,icon="master", unlock={"master_final","GM"}}, - {name="master_final", x=0, y=-1400, size=40,shape=2,icon="master", }, + {name="master_final", x=0, y=-1400, size=40,shape=2,icon="master", unlock={"master_phantasm"}}, + {name="master_phantasm", x=0, y=-2000, size=40,shape=2,icon="master", }, {name="GM", x=150, y=-1500, size=35,shape=2,icon="master", }, {name="blind_easy", x=150, y=-700, size=35,shape=1,icon="blind", unlock={"blind_normal"}},