diff --git a/Zframework b/Zframework index 35953907..f8059337 160000 --- a/Zframework +++ b/Zframework @@ -1 +1 @@ -Subproject commit 3595390738cf1374dc54fe1210e38b0560764657 +Subproject commit f8059337db30faeb6f16a830457c93d1a30f5d79 diff --git a/parts/eventsets/tech_finesse_lock.lua b/parts/eventsets/tech_finesse_lock.lua index 7456a8fa..00429680 100644 --- a/parts/eventsets/tech_finesse_lock.lua +++ b/parts/eventsets/tech_finesse_lock.lua @@ -35,7 +35,6 @@ local function resetLock(P) end return { arr=0, - fineKill=true, mesDisp=function(P) setFont(45) GC.mStr(("%d"):format(P.stat.atk),63,190) diff --git a/parts/eventsets/tech_finesse_lock_f.lua b/parts/eventsets/tech_finesse_lock_f.lua deleted file mode 100644 index e21e72fb..00000000 --- a/parts/eventsets/tech_finesse_lock_f.lua +++ /dev/null @@ -1,63 +0,0 @@ -local function onMove(P) - if not P.cur then return end - P.holdTime=0 - VK.keys[8].ava=false - P.modeData.moveCount=P.modeData.moveCount+1 - if P.modeData.moveCount>=2 and (P.curY>P.gameEnv.fieldH-2 or P:_roofCheck()) then - P.keyAvailable[1]=false - P.keyAvailable[2]=false - VK.keys[1].ava=false - VK.keys[2].ava=false - end -end -local function onRotate(P) - if not P.cur then return end - P.holdTime=0 - VK.keys[8].ava=false - P.modeData.rotations=P.modeData.rotations+1 - if P.modeData.rotations>=2 and not (P.curY>P.gameEnv.fieldH-2 or P:_roofCheck()) then - P.keyAvailable[3]=false - P.keyAvailable[4]=false - P.keyAvailable[5]=false - VK.keys[3].ava=false - VK.keys[4].ava=false - VK.keys[5].ava=false - end -end -local function resetLock(P) - for i=1,8 do - P.keyAvailable[i]=true - VK.keys[i].ava=true - end - P.modeData.moveCount=0 - P.modeData.rotations=0 - P.holdTime=1 -end -return { - arr=0, - fineKill=true, - mesDisp=function(P) - setFont(45) - GC.mStr(("%d"):format(P.stat.atk),63,190) - GC.mStr(("%.2f"):format(P.stat.atk/P.stat.row),63,310) - mText(TEXTOBJ.atk,63,243) - mText(TEXTOBJ.eff,63,363) - end, - task=function(P) - resetLock(P) - end, - hook_drop=function(P) - resetLock(P) - if P.lastPiece.row>0 then - if not P.lastPiece.special then - P:lose() - return - end - end - if P.stat.atk>=100 then - P:win('finish') - end - end, - hook_left_manual=onMove, hook_right_manual=onMove, - hook_rotLeft=onRotate, hook_rotRight=onRotate, hook_rot180=onRotate -} diff --git a/parts/language/lang_zh.lua b/parts/language/lang_zh.lua index 030a0d16..f86130e6 100644 --- a/parts/language/lang_zh.lua +++ b/parts/language/lang_zh.lua @@ -938,8 +938,8 @@ return { ['tech_l_plus']= {"科研", "疯狂+", "仅允许spin与PC"}, ['tech_finesse']= {"科研", "极简", "强制最简操作"}, ['tech_finesse_f']= {"科研", "极简+", "禁止普通消除,强制最简操作"}, - --['tech_finesse_lock']= {"Tech", "FINESSE LOCK", "No finesse errors, combined with limited inputs!"}, - --['tech_finesse_lock_f']= {"Tech", "FINESSE+ LOCK", "No normal clears or finesse errors combined with limited inputs!"}, + ['tech_finesse_lock']= {"科研", "极简限制", "限制操作次数"}, + ['tech_finesse_lock_f']={"科研", "极简限制+", "限制操作次数,禁止断B2B"}, ['tsd_e']= {"TSD挑战", "简单", "你能连续做几个TSD?"}, ['tsd_h']= {"TSD挑战", "困难", "你能连续做几个TSD?"}, ['tsd_u']= {"TSD挑战", "极限", "你能连续做几个TSD?"}, diff --git a/parts/language/lang_zh_code.lua b/parts/language/lang_zh_code.lua index 40931fad..cc706319 100644 --- a/parts/language/lang_zh_code.lua +++ b/parts/language/lang_zh_code.lua @@ -855,8 +855,8 @@ return { ['tech_l_plus']= {"Tech(LunaticP);", "", "仅允许spin与PC"}, ['tech_finesse']= {"Tech(Finesse);", "", "强制最简操作"}, ['tech_finesse_f']= {"Tech(FinesseF);", "", "禁止普通消除,强制最简操作"}, - --['tech_finesse_lock']= {"Tech", "FINESSE LOCK", "No finesse errors, combined with limited inputs!"}, - --['tech_finesse_lock_f']= {"Tech", "FINESSE+ LOCK", "No normal clears or finesse errors combined with limited inputs!"}, + ['tech_finesse_lock']= {"Tech(FineeseLock);","", "限制操作次数"}, + ['tech_finesse_lock_f']={"Tech(FineeseLockF);","", "限制操作次数,禁止断B2B"}, ['tsd_e']= {"TSD(Easy);", "", "你能连续做几个TSD?"}, ['tsd_h']= {"TSD(Hard);", "", "你能连续做几个TSD?"}, ['tsd_u']= {"TSD(Ultimate);", "", "你能连续做几个TSD?"}, diff --git a/parts/language/lang_zh_trad.lua b/parts/language/lang_zh_trad.lua index 1d412f9c..3f42332b 100644 --- a/parts/language/lang_zh_trad.lua +++ b/parts/language/lang_zh_trad.lua @@ -908,8 +908,8 @@ return { ['tech_l_plus']= {"科研", "瘋狂+", "僅允許spin與PC"}, ['tech_finesse']= {"科研", "finesse", "強制finesse"}, ['tech_finesse_f']= {"科研", "finesse+", "禁止普通清除,強制finesse"}, - --['tech_finesse_lock']= {"Tech", "FINESSE LOCK", "No finesse errors, combined with limited inputs!"}, - --['tech_finesse_lock_f']= {"Tech", "FINESSE+ LOCK", "No normal clears or finesse errors combined with limited inputs!"}, + -- ['tech_finesse_lock']= {"科研", "极简限制", "限制操作次数"}, + -- ['tech_finesse_lock_f']={"科研", "极简限制+", "限制操作次数,禁止断B2B"}, ['tsd_e']= {"TSD挑戰", "簡單", "你能連續做幾個TSD?"}, ['tsd_h']= {"TSD挑戰", "困難", "你能連續做幾個TSD?"}, ['tsd_u']= {"TSD挑戰", "極限", "你能連續做幾個TSD?"}, diff --git a/parts/modes.lua b/parts/modes.lua index 8e1b94b6..d05e1994 100644 --- a/parts/modes.lua +++ b/parts/modes.lua @@ -104,7 +104,7 @@ return { {name='pc_l', x=1100, y=-140, size=40,shape=3,icon="pc"}, {name='pc_inf', x=1100, y=-280, size=40,shape=2,icon="pc"}, - {name='sprintAtk', x=500, y=-280, size=40,shape=1,icon="sprint2", unlock={'sprintEff','tech_n','tech_finesse','tsd_e','backfire_n'}}, + {name='sprintAtk', x=500, y=-280, size=40,shape=1,icon="sprint2", unlock={'sprintEff','tech_n','tech_finesse','tech_finesse_lock','tsd_e','backfire_n'}}, {name='sprintEff', x=360, y=-150, size=40,shape=1,icon="sprint2"}, {name='tech_n', x=400, y=20, size=40,shape=1,icon="tech", unlock={'tech_n_plus','tech_h'}}, @@ -114,19 +114,20 @@ return { {name='tech_l', x=400, y=320, size=40,shape=1,icon="tech", unlock={'tech_l_plus'}}, {name='tech_l_plus', x=200, y=290, size=35,shape=3,icon="tech"}, - {name='tech_finesse', x=800, y=20, size=40,shape=1,icon="tech", unlock={'tech_finesse_f','tech_finesse_lock'}}, - {name='tech_finesse_f', x=1000, y=20, size=40,shape=1,icon="tech"}, - {name='tech_finesse_lock', x=900, y=170, size=40,shape=1,icon="tech", unlock={'tech_finesse_lock_f'}}, - {name='tech_finesse_lock_f', x=1100, y=170, size=40,shape=1,icon="tech"}, + {name='tech_finesse', x=850, y=20, size=40,shape=1,icon="tech", unlock={'tech_finesse_f'}}, + {name='tech_finesse_f', x=1050, y=20, size=40,shape=1,icon="tech"}, - {name='tsd_e', x=700, y=170, size=40,shape=1,icon="tsd", unlock={'tsd_h'}}, - {name='tsd_h', x=850, y=320, size=40,shape=1,icon="tsd", unlock={'tsd_u'}}, + {name='tech_finesse_lock', x=850, y=160, size=40,shape=1,icon="tech", unlock={'tech_finesse_lock_f'}}, + {name='tech_finesse_lock_f', x=1050, y=170, size=40,shape=1,icon="tech"}, + + {name='tsd_e', x=700, y=250, size=40,shape=1,icon="tsd", unlock={'tsd_h'}}, + {name='tsd_h', x=860, y=310, size=40,shape=1,icon="tsd", unlock={'tsd_u'}}, {name='tsd_u', x=1050, y=320, size=40,shape=1,icon="tsd"}, - {name='backfire_n', x=650, y=320, size=40,shape=1,icon="backfire", unlock={'backfire_h'}}, - {name='backfire_h', x=850, y=470, size=40,shape=1,icon="backfire", unlock={'backfire_l'}}, - {name='backfire_l', x=1050, y=470, size=40,shape=3,icon="backfire", unlock={'backfire_u'}}, - {name='backfire_u', x=1250, y=470, size=35,shape=2,icon="backfire"}, + {name='backfire_n', x=640, y=420, size=40,shape=1,icon="backfire", unlock={'backfire_h'}}, + {name='backfire_h', x=790, y=470, size=40,shape=1,icon="backfire", unlock={'backfire_l'}}, + {name='backfire_l', x=930, y=460, size=40,shape=3,icon="backfire", unlock={'backfire_u'}}, + {name='backfire_u', x=1070, y=450, size=35,shape=2,icon="backfire"}, {name='zen', x=-1000, y=-600, size=40,shape=1,icon="zen", unlock={'ultra','infinite','infinite_dig','marathon_inf'}}, {name='ultra', x=-1200, y=-600, size=40,shape=1,icon="ultra"}, diff --git a/parts/modes/tech_finesse_lock_f.lua b/parts/modes/tech_finesse_lock_f.lua index e943b6ba..c59fadcc 100644 --- a/parts/modes/tech_finesse_lock_f.lua +++ b/parts/modes/tech_finesse_lock_f.lua @@ -2,9 +2,10 @@ return { env={ arr=0, drop=1e99,lock=60, + b2bKill=true, freshLimit=15, bg='flink',bgm='infinite', - eventSet='tech_finesse_lock_f' + eventSet='tech_finesse_lock', }, slowMark=true, score=function(P) return {P.stat.atk<=100 and math.floor(P.stat.atk) or 100,P.stat.time} end, diff --git a/parts/scenes/mode.lua b/parts/scenes/mode.lua index 6c45f9b5..f293fa7d 100644 --- a/parts/scenes/mode.lua +++ b/parts/scenes/mode.lua @@ -308,9 +308,12 @@ function scene.draw() gc_setColor(COLOR.lX) gc_rectangle('fill',920,0,360,720,5)-- Info board gc_setColor(COLOR.Z) - setFont(40)GC.mStr(text.modes[sel][1],1100,5) - setFont(30)GC.mStr(text.modes[sel][2],1100,50) - setFont(25)gc_printf(text.modes[sel][3],920,110,360,'center') + local modeText=text.modes[sel] + if modeText then + setFont(40)GC.mStr(modeText[1],1100,5) + setFont(30)GC.mStr(modeText[2],1100,50) + setFont(25)gc_printf(modeText[3],920,110,360,'center') + end if M.slowMark then gc_draw(IMG.ctrlSpeedLimit,1230,50,nil,.4) end