From 583819e8c43834ad45caad2e9716428fcf563896 Mon Sep 17 00:00:00 2001 From: MrZ_26 <1046101471@qq.com> Date: Fri, 2 Aug 2024 22:37:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96spin=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E5=B9=B6=E5=8A=A0=E5=88=B0=E5=A4=A7=E5=9C=B0=E5=9B=BE=EF=BC=8C?= =?UTF-8?q?=E5=BE=AE=E8=B0=83=E7=9B=B8=E5=85=B3=E5=8C=BA=E5=9F=9F=E5=B8=83?= =?UTF-8?q?=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/language/lang_en.lua | 2 ++ parts/language/lang_es.lua | 1 + parts/language/lang_fr.lua | 1 + parts/language/lang_id.lua | 1 + parts/language/lang_ja.lua | 1 + parts/language/lang_pt.lua | 1 + parts/language/lang_vi.lua | 1 + parts/language/lang_zh.lua | 1 + parts/language/lang_zh_code.lua | 3 ++- parts/language/lang_zh_trad.lua | 1 + parts/modes.lua | 22 ++++++++++-------- parts/modes/spinren.lua | 41 ++++++++++++++++++++++----------- updateLog.txt | 2 ++ 13 files changed, 54 insertions(+), 24 deletions(-) diff --git a/parts/language/lang_en.lua b/parts/language/lang_en.lua index daae55991..73361e779 100644 --- a/parts/language/lang_en.lua +++ b/parts/language/lang_en.lua @@ -976,6 +976,8 @@ C. Gamepad ['infinite']= {"Infinite", "", "Just a sandbox"}, ['infinite_dig']= {"Dig", "INFINITE", "Dig-diggin'-dug"}, ['marathon_inf']= {"Marathon", "INFINITE", "Infinite marathon."}, + ['spinren']= {"Spin Ren", "EFFICIENCY", "Spike in a blink"}, + -- ['spinren']= {"Spin Ren", "EFFICIENCY", "Spike in a blink"}, ['custom_clear']= {"Custom", "NORMAL"}, ['custom_puzzle']= {"Custom", "PUZZLE"}, diff --git a/parts/language/lang_es.lua b/parts/language/lang_es.lua index 147c825e0..d99d91b36 100644 --- a/parts/language/lang_es.lua +++ b/parts/language/lang_es.lua @@ -941,6 +941,7 @@ return { ['infinite']= {"Infinito", "", "Modo Sandbox."}, ['infinite_dig']= {"Infinito: Queso", "", "Limpia, limpia, más limpia que tú."}, ['marathon_inf']= {"Maratón", "Infinito", "Maratón infinita."}, + -- ['spinren']= {"Spin Ren", "EFFICIENCY", "Spike in a blink"}, ['custom_clear']= {"Personalizado", "Normal"}, ['custom_puzzle']= {"Personalizado", "Puzzle"}, diff --git a/parts/language/lang_fr.lua b/parts/language/lang_fr.lua index cce0376ed..988e9410a 100644 --- a/parts/language/lang_fr.lua +++ b/parts/language/lang_fr.lua @@ -915,6 +915,7 @@ return { ['infinite']= {"Infini", "", "Mode tranquile."}, ['infinite_dig']= {"Infini : Dig", "", "Creuser, creuser, creuser."}, ['marathon_inf']= {"Marathon", "Infini", "Marathon infini."}, + -- ['spinren']= {"Spin Ren", "EFFICIENCY", "Spike in a blink"}, ['custom_clear']= {"Perso.", "NORMAL"}, ['custom_puzzle']= {"Perso.", "PUZZLE"}, diff --git a/parts/language/lang_id.lua b/parts/language/lang_id.lua index 1cf410220..2d6042519 100644 --- a/parts/language/lang_id.lua +++ b/parts/language/lang_id.lua @@ -938,6 +938,7 @@ return { ['infinite']= {"Tak Terbatas", "", "Bak pasir"}, ['infinite_dig']= {"Tak Terbatas: Gali","", "Gali, gali, gali"}, ['marathon_inf']= {"Maraton", "TAK TERBATAS", "Maraton tanpa akhir."}, + -- ['spinren']= {"Spin Ren", "EFFICIENCY", "Spike in a blink"}, ['custom_clear']= {"Tersesuai", "NORMAL"}, ['custom_puzzle']= {"Tersesuai", "TEKA-TEKI"}, diff --git a/parts/language/lang_ja.lua b/parts/language/lang_ja.lua index 5ab1463ec..a91a23a27 100644 --- a/parts/language/lang_ja.lua +++ b/parts/language/lang_ja.lua @@ -982,6 +982,7 @@ C. ゲームパッド ['infinite']= {"無限", "", "サンドボックス"}, ['infinite_dig']= {"無限: 掘り", "", "掘れ掘れ掘れ掘れ掘れ掘・・・"}, ['marathon_inf']= {"マラソン", "INFINITE", "ずっと走れるね"}, + -- ['spinren']= {"Spin Ren", "EFFICIENCY", "Spike in a blink"}, ['custom_clear']= {"カスタム", "NORMAL"}, ['custom_puzzle']= {"カスタム", "PUZZLE"}, diff --git a/parts/language/lang_pt.lua b/parts/language/lang_pt.lua index c789c8383..d12af4dc1 100644 --- a/parts/language/lang_pt.lua +++ b/parts/language/lang_pt.lua @@ -928,6 +928,7 @@ return { ['infinite']= {"Infinito", "", "Modo Sandbox."}, ['infinite_dig']= {"Infinito:Cave", "", "Cava, Cava, Cava."}, ['marathon_inf']= {"Maratona", "Infinito", "Infinito maratona."}, + -- ['spinren']= {"Spin Ren", "EFFICIENCY", "Spike in a blink"}, ['custom_clear']= {"Custom", "NORMAL"}, ['custom_puzzle']= {"Custom", "PUZZLE"}, diff --git a/parts/language/lang_vi.lua b/parts/language/lang_vi.lua index 5ac0c9b99..da836d70d 100644 --- a/parts/language/lang_vi.lua +++ b/parts/language/lang_vi.lua @@ -979,6 +979,7 @@ C. Tay cầm chơi game (Gamepad): ['infinite']= {"Infinite", "", "Chỉ là một chế độ tự do"}, ['infinite_dig']= {"Infinite: Dig", "", "Đào, đào nữa, đào mãi"}, ['marathon_inf']= {"Marathon", "VÔ TẬN", "Marathon không có điểm dừng."}, + -- ['spinren']= {"Spin Ren", "EFFICIENCY", "Spike in a blink"}, ['custom_clear']= {"Custom", "NORMAL"}, ['custom_puzzle']= {"Custom", "PUZZLE"}, diff --git a/parts/language/lang_zh.lua b/parts/language/lang_zh.lua index 0c8866f43..5d5054a4d 100644 --- a/parts/language/lang_zh.lua +++ b/parts/language/lang_zh.lua @@ -966,6 +966,7 @@ return { ['infinite']= {"无尽", "", "沙盒"}, ['infinite_dig']= {"无尽:挖掘", "", "挖呀挖呀挖"}, ['marathon_inf']= {"马拉松", "无尽", "无尽马拉松"}, + ['spinren']= {"Spin连击", "效率", "掌管效率的神"}, ['custom_clear']= {"自定义", "普通"}, ['custom_puzzle']= {"自定义", "拼图"}, diff --git a/parts/language/lang_zh_code.lua b/parts/language/lang_zh_code.lua index 27712d6d1..ff401f1df 100644 --- a/parts/language/lang_zh_code.lua +++ b/parts/language/lang_zh_code.lua @@ -881,10 +881,11 @@ return { ['sprintAtk']= {"Sprint(100ATK);", "", "打出100攻击"}, ['sprintEff']= {"Sprint(EFF);", "", "40行内打出更高的攻击"}, ['zen']= {"Zen(200L);", "", "不限时200行"}, - ['ultra']= {"Ultra(EXTRA);", "", "在两分钟内尽可能拿到最多的分数"}, + ['ultra']= {"Ultra(Extra);", "", "在两分钟内尽可能拿到最多的分数"}, ['infinite']= {"Infinite();", "", "沙盒"}, ['infinite_dig']= {"InfDig();", "", "挖呀挖呀挖"}, ['marathon_inf']= {"Marathon(Inf);", "", "无尽马拉松"}, + ['spinren']= {"Spinren(EFF)", "", "掌管效率的神"}, ['custom_clear']= {"Custom(Clear);", ""}, ['custom_puzzle']= {"Custom(Puzzle);", ""}, diff --git a/parts/language/lang_zh_trad.lua b/parts/language/lang_zh_trad.lua index 00b095ac2..098b0bb3e 100644 --- a/parts/language/lang_zh_trad.lua +++ b/parts/language/lang_zh_trad.lua @@ -938,6 +938,7 @@ return { ['infinite']= {"無盡", "", "沙盒"}, ['infinite_dig']= {"無盡:挖掘", "", "挖呀挖呀挖"}, ['marathon_inf']= {"馬拉松", "無盡", "無盡馬拉松"}, + ['spinren']= {"Spin連擊", "效率", "掌管效率的神"}, ['custom_clear']= {"自定義", "普通"}, ['custom_puzzle']= {"自定義", "拼圖"}, diff --git a/parts/modes.lua b/parts/modes.lua index 67801152c..701c040dc 100644 --- a/parts/modes.lua +++ b/parts/modes.lua @@ -97,19 +97,21 @@ return { {name='dig_h', x=850, y=-800, size=40,shape=1,icon="dig", unlock={'dig_u'}}, {name='dig_u', x=850, y=-1000,size=40,shape=1,icon="dig"}, - {name='c4wtrain_n', x=700, y=-450, size=40,shape=1,icon="pc", unlock={'c4wtrain_l'}}, - {name='c4wtrain_l', x=900, y=-450, size=40,shape=1,icon="pc"}, + {name='c4wtrain_n', x=700, y=-140, size=40,shape=1,icon="pc", unlock={'c4wtrain_l'}}, + {name='c4wtrain_l', x=900, y=-140, size=40,shape=1,icon="pc"}, - {name='pctrain_n', x=700, y=-300, size=40,shape=1,icon="pc", unlock={'pctrain_l','pc_n'}}, - {name='pctrain_l', x=900, y=-300, size=40,shape=1,icon="pc"}, + {name='sprintAtk', x=500, y=-300, size=40,shape=1,icon="sprint2", unlock={'sprintEff','tech_n','tech_finesse','tsd_e','backfire_n','spinren'}}, + {name='sprintEff', x=360, y=-150, size=40,shape=1,icon="sprint2"}, - {name='pc_n', x=800, y=-140, size=40,shape=1,icon="pc", unlock={'pc_h'}}, - {name='pc_h', x=950, y=-140, size=40,shape=3,icon="pc", unlock={'pc_l','pc_inf'}}, - {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='spinren', x=710, y=-300, size=40,shape=2,icon="tsd"}, - {name='sprintAtk', x=500, y=-280, size=40,shape=1,icon="sprint2", unlock={'sprintEff','tech_n','tech_finesse','tsd_e','backfire_n'}}, - {name='sprintEff', x=360, y=-150, size=40,shape=1,icon="sprint2"}, + {name='pctrain_n', x=750, y=-450, size=40,shape=1,icon="pc", unlock={'pctrain_l','pc_n'}}, + {name='pctrain_l', x=950, y=-450, size=40,shape=1,icon="pc"}, + + {name='pc_n', x=850, y=-300, size=40,shape=1,icon="pc", unlock={'pc_h'}}, + {name='pc_h', x=1000, y=-300, size=40,shape=3,icon="pc", unlock={'pc_l','pc_inf'}}, + {name='pc_l', x=1150, y=-300, size=40,shape=3,icon="pc"}, + {name='pc_inf', x=1150, y=-450, size=40,shape=2,icon="pc"}, {name='tech_n', x=400, y=20, size=40,shape=1,icon="tech", unlock={'tech_n_plus','tech_h'}}, {name='tech_n_plus', x=200, y=-10, size=40,shape=3,icon="tech_plus"}, diff --git a/parts/modes/spinren.lua b/parts/modes/spinren.lua index b0db97210..3285c0479 100644 --- a/parts/modes/spinren.lua +++ b/parts/modes/spinren.lua @@ -1,4 +1,5 @@ ----@param RND RandomGenerator +local skip +---@param RND love.RandomGenerator local function randomizer(RND) local last=RND:random(2)==1 and 1 or 4 local function get_next() @@ -26,15 +27,21 @@ local function randomizer(RND) end end local lines={ - {1,2,3,4,0,0,5,6,7,8}, - {7,6,5,0,0,0,4,3,2,1}, - {1,2,3,4,0,0,0,5,6,7}, - {7,6,5,0,0,0,0,4,3,2} + {1,1,1,1,0,0,1,1,1,1}, + {1,1,1,0,0,0,1,1,1,1}, + {1,1,1,1,0,0,0,1,1,1}, + {1,1,1,0,0,0,0,1,1,1} } -local function get_lines(n,f) +local function get_lines(n,P) local ret={} for _=1,n do - table.insert(ret,lines[f()]) + local L=TABLE.shift(lines[P.randomizer_spinren()]) + for i=1,#L do + if L[i]==1 then + L[i]=P.modeData.colorSet[P.holeRND:random(4)] + end + end + table.insert(ret,L) end return ret end @@ -42,25 +49,33 @@ end return { load=function() PLY.newPlayer(1) - local our=PLY_ALIVE[1] - our.randomizer_spinren=randomizer(our.holeRND) - our:pushLineList(get_lines(20,our.randomizer_spinren)) + local P=PLY_ALIVE[1] + P.modeData.colorSet={} + for i=1,4 do + P.modeData.colorSet[i]=P.holeRND:random(25) + end + P.randomizer_spinren=randomizer(P.holeRND) + P:pushLineList(get_lines(20,P)) + P.fieldBeneath=0 end, env={ lock=1e99, drop=1e99, + minsdarr=4, infHold=true, + highCam=false, + bgm='lounge', eventSet='sprintEff_40', hook_drop=function(P) if P.lastPiece.row==0 then P:win('finish') end local up=MATH.clamp(20-P.stat.row+P.lastPiece.row,0,P.lastPiece.row) - P:pushLineList(get_lines(up,P.randomizer_spinren)) + P:pushLineList(get_lines(up,P)) end }, score=function(P) return {P.stat.atk/P.stat.row,P.stat.time} end, - scoreDisp=function(D) return string.format("%.3f",D[1]).." Efficiency "..STRING.time(D[2]) end, + scoreDisp=function(D) return ("%.2f"):format(D[1]).." Efficiency "..STRING.time(D[2]) end, comp=function(a,b) return a[1]>b[1] or a[1]==b[1] and a[2]=3 and 1 or 0 end -} \ No newline at end of file +} diff --git a/updateLog.txt b/updateLog.txt index b46d86fae..43abb61be 100644 --- a/updateLog.txt +++ b/updateLog.txt @@ -2,6 +2,8 @@ 正在点亮科技树... 0.17.18: 暂停 Break + 新增: + 新模式:Spin连击 (by Gompyn) #1129 修复: 第三季度主菜单音乐名称打错导致没有bgm和进音乐室报错 c4w普通的计分完全改为竞速 #1126