diff --git a/document/mode.txt b/document/mode.txt index 6b177824..445cbb04 100644 --- a/document/mode.txt +++ b/document/mode.txt @@ -81,6 +81,7 @@ missionKill false 是否开启强制任务 dropPiece NULL 放一块后要执行的函数,输入玩家对象 task NULL 每帧会*继续执行*的函数,输入玩家对象,注意:使用协程技术 + noInitSZO false 是否禁止SZO块开局,如果禁止,开局序列会自动跳过最多连续五个SZO bg 'none' 背景,只能填写内置背景的名字 bgm 'race' 背景音乐名(或者列表随机,例如{'race','push'}),只能用内置音乐库的音乐名 diff --git a/parts/modes/marathon_h.lua b/parts/modes/marathon_h.lua index e6259df9..f83df0de 100644 --- a/parts/modes/marathon_h.lua +++ b/parts/modes/marathon_h.lua @@ -22,6 +22,7 @@ return{ end end end, + noInitSZO=true, bg='cubes',bgm='push', }, pauseLimit=true, diff --git a/parts/modes/marathon_n.lua b/parts/modes/marathon_n.lua index 282226e8..210bd02b 100644 --- a/parts/modes/marathon_n.lua +++ b/parts/modes/marathon_n.lua @@ -5,6 +5,7 @@ return{ color=COLOR.green, env={ noTele=true, + mindas=7,minarr=1,minsdarr=1, drop=60,wait=8,fall=20, task=function(P)P.modeData.target=10 end, dropPiece=function(P) @@ -18,7 +19,7 @@ return{ end end end, - mindas=7,minarr=1,minsdarr=1, + noInitSZO=true, bg='bg2',bgm='push', }, pauseLimit=true, diff --git a/parts/modes/master_ex.lua b/parts/modes/master_ex.lua index 54ae7d20..c018bc01 100644 --- a/parts/modes/master_ex.lua +++ b/parts/modes/master_ex.lua @@ -23,6 +23,7 @@ return{ visible='fast', freshLimit=15, dropPiece=score, + noInitSZO=true, task=function(P) P.modeData.rankPoint=0 P.modeData.rankName=sectionName[1] diff --git a/parts/modes/master_final.lua b/parts/modes/master_final.lua index 16715201..5bac7372 100644 --- a/parts/modes/master_final.lua +++ b/parts/modes/master_final.lua @@ -53,6 +53,7 @@ return{ end, freshLimit=15, easyFresh=false,bone=true, + noInitSZO=true, bg='lightning',bgm='rectification', }, slowMark=true, diff --git a/parts/modes/master_l.lua b/parts/modes/master_l.lua index 259b387b..d8d2a1ca 100644 --- a/parts/modes/master_l.lua +++ b/parts/modes/master_l.lua @@ -50,6 +50,7 @@ return{ wait=rush_wait[1], fall=rush_fall[1], dropPiece=score, + noInitSZO=true, task=function(P) P.modeData.pt=0 P.modeData.target=100 diff --git a/parts/modes/master_ph.lua b/parts/modes/master_ph.lua index f9b0389b..8471570f 100644 --- a/parts/modes/master_ph.lua +++ b/parts/modes/master_ph.lua @@ -142,6 +142,7 @@ return{ mission={4,4,4,64}, missionKill=true, freshLimit=12, + noInitSZO=true, bg='none',bgm='super7th', }, slowMark=true, diff --git a/parts/modes/master_u.lua b/parts/modes/master_u.lua index 8815af54..5dfa60df 100644 --- a/parts/modes/master_u.lua +++ b/parts/modes/master_u.lua @@ -65,6 +65,7 @@ return{ P.modeData.target=100 end, freshLimit=15, + noInitSZO=true, bg='bg2',bgm='secret7th', }, slowMark=true, diff --git a/parts/player/gameEnv0.lua b/parts/player/gameEnv0.lua index bb930974..3560fcf9 100644 --- a/parts/player/gameEnv0.lua +++ b/parts/player/gameEnv0.lua @@ -49,14 +49,14 @@ return{ freshLimit=1e99,easyFresh=true, bufferLimit=1e99, - fkey1=false, - fkey2=false, + fkey1=false,fkey2=false, keyCancel={}, fine=false,fineKill=false, b2bKill=false, missionKill=false, dropPiece=NULL, mindas=0,minarr=0,minsdarr=0, + noInitSZO=false, bg='none',bgm='race', allowMod=true, diff --git a/parts/player/init.lua b/parts/player/init.lua index c376c0f4..22e9abf2 100644 --- a/parts/player/init.lua +++ b/parts/player/init.lua @@ -319,7 +319,18 @@ local function applyGameEnv(P)--Finish gameEnv processing if ENV.nextCount==0 then ENV.nextPos=false end P.newNext=coroutine.wrap(seqGenerators(P)) - P.newNext(P,P.gameEnv.seqData) + P:newNext(P.gameEnv.seqData) + if ENV.noInitSZO then + for _=1,5 do + local C=P.nextQueue[1] + if C and(C.id==1 or C.id==2 or C.id==6)then + table.remove(P.nextQueue,1) + else + break + end + end + P:newNext() + end if P.miniMode then ENV.lockFX=false