From 1670c6e7d639d12b3778960efe8978956a9644cb Mon Sep 17 00:00:00 2001 From: NOT_A_ROBOT <76723917+Not-A-Normal-Robot@users.noreply.github.com> Date: Thu, 18 Nov 2021 18:06:17 +0700 Subject: [PATCH] Add strategy modes (#468) * Add strategy mode --- parts/eventsets/strategy_e.lua | 31 +++++++++++++++++++++++++++++++ parts/eventsets/strategy_h.lua | 31 +++++++++++++++++++++++++++++++ parts/eventsets/strategy_u.lua | 31 +++++++++++++++++++++++++++++++ parts/modes/strategy_e.lua | 22 ++++++++++++++++++++++ parts/modes/strategy_h.lua | 22 ++++++++++++++++++++++ parts/modes/strategy_u.lua | 22 ++++++++++++++++++++++ 6 files changed, 159 insertions(+) create mode 100644 parts/eventsets/strategy_e.lua create mode 100644 parts/eventsets/strategy_h.lua create mode 100644 parts/eventsets/strategy_u.lua create mode 100644 parts/modes/strategy_e.lua create mode 100644 parts/modes/strategy_h.lua create mode 100644 parts/modes/strategy_u.lua diff --git a/parts/eventsets/strategy_e.lua b/parts/eventsets/strategy_e.lua new file mode 100644 index 00000000..1e8bc7a4 --- /dev/null +++ b/parts/eventsets/strategy_e.lua @@ -0,0 +1,31 @@ +local waitSpeed={60,59,58,57,56,55,54,52,50,48,46,44,42,40,38,36,34,32,30} + +return +{ + drop=0, + wait=60, + fall=0, + lock=7, + freshLimit=12, + mesDisp=function(P) + PLY.draw.drawProgress(P.stat.row,P.modeData.target) + PLY.draw.drawTargetLine(P,200-P.stat.row) + end, + task=function(P) + P.modeData.target=10 + end, + hook_drop=function(P) + if P.stat.row>=P.modeData.target then + if P.modeData.target==200 then + P:win('finish') + else + if P.modeData.target==100 then + P.modeData.lock=6 + end + P.gameEnv.wait=waitSpeed[P.modeData.target/10] + P.modeData.target=P.modeData.target+10 + SFX.play('reach') + end + end + end +} diff --git a/parts/eventsets/strategy_h.lua b/parts/eventsets/strategy_h.lua new file mode 100644 index 00000000..26b596ea --- /dev/null +++ b/parts/eventsets/strategy_h.lua @@ -0,0 +1,31 @@ +local waitSpeed={30,29,28,27,26,25,24,23,22,21,20,19,18,18,17,17,16,16,15} + +return +{ + drop=0, + wait=30, + fall=0, + lock=6, + freshLimit=12, + mesDisp=function(P) + PLY.draw.drawProgress(P.stat.row,P.modeData.target) + PLY.draw.drawTargetLine(P,200-P.stat.row) + end, + task=function(P) + P.modeData.target=10 + end, + hook_drop=function(P) + if P.stat.row>=P.modeData.target then + if P.modeData.target==200 then + P:win('finish') + else + if P.modeData.target==100 then + P.modeData.lock=5 + end + P.gameEnv.wait=waitSpeed[P.modeData.target/10] + P.modeData.target=P.modeData.target+10 + SFX.play('reach') + end + end + end +} diff --git a/parts/eventsets/strategy_u.lua b/parts/eventsets/strategy_u.lua new file mode 100644 index 00000000..7bb02961 --- /dev/null +++ b/parts/eventsets/strategy_u.lua @@ -0,0 +1,31 @@ +local waitSpeed={15,15,14,14,13,13,12,12,11,11,10,10,9,9,8,8,7,7,7} + +return +{ + drop=0, + wait=15, + fall=0, + lock=5, + freshLimit=12, + mesDisp=function(P) + PLY.draw.drawProgress(P.stat.row,P.modeData.target) + PLY.draw.drawTargetLine(P,200-P.stat.row) + end, + task=function(P) + P.modeData.target=10 + end, + hook_drop=function(P) + if P.stat.row>=P.modeData.target then + if P.modeData.target==200 then + P:win('finish') + else + if P.modeData.target==100 then + P.modeData.lock=4 + end + P.gameEnv.wait=waitSpeed[P.modeData.target/10] + P.modeData.target=P.modeData.target+10 + SFX.play('reach') + end + end + end +} diff --git a/parts/modes/strategy_e.lua b/parts/modes/strategy_e.lua new file mode 100644 index 00000000..105c97aa --- /dev/null +++ b/parts/modes/strategy_e.lua @@ -0,0 +1,22 @@ +return{ + env={ + das=5,arr=1, + sequence="bagES", + eventSet='strategy_e', + bg='bg2',bgm='push', + }, + slowMark=true, + score=function(P)return{math.min(P.stat.row,200),P.stat.time}end, + scoreDisp=function(D)return D[1].." Lines "..STRING.time(D[2])end, + comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]=200 and 5 or + L>=170 and 4 or + L>=150 and 3 or + L>=120 and 2 or + L>=60 and 1 or + L>=26 and 0 + end, +} diff --git a/parts/modes/strategy_h.lua b/parts/modes/strategy_h.lua new file mode 100644 index 00000000..000e50ec --- /dev/null +++ b/parts/modes/strategy_h.lua @@ -0,0 +1,22 @@ +return{ + env={ + das=4,arr=1, + sequence="bagES", + eventSet='strategy_h', + bg='bg2',bgm='secret8th', + }, + slowMark=true, + score=function(P)return{math.min(P.stat.row,200),P.stat.time}end, + scoreDisp=function(D)return D[1].." Lines "..STRING.time(D[2])end, + comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]=200 and 5 or + L>=160 and 4 or + L>=120 and 3 or + L>=70 and 2 or + L>=40 and 1 or + L>=26 and 0 + end, +} diff --git a/parts/modes/strategy_u.lua b/parts/modes/strategy_u.lua new file mode 100644 index 00000000..74ec9835 --- /dev/null +++ b/parts/modes/strategy_u.lua @@ -0,0 +1,22 @@ +return{ + env={ + das=3,arr=1, + sequence="bagES", + eventSet='strategy_u', + bg='bg2',bgm='secret7th', + }, + slowMark=true, + score=function(P)return{math.min(P.stat.row,200),P.stat.time}end, + scoreDisp=function(D)return D[1].." Lines "..STRING.time(D[2])end, + comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]=200 and 5 or + L>=150 and 4 or + L>=80 and 3 or + L>=40 and 2 or + L>=20 and 1 or + L>=26 and 0 + end, +}