Add "Tech Finesse Lock" modes and some other improvements (#946)
* Improve Tech FInesse modes and add new player hooks * Add Tech Finesse[+] Lock into mode map * Credit PopUpWaffles * Rearrange mode map
This commit is contained in:
@@ -10,6 +10,13 @@ local function tech_check_hard(P)
|
||||
P:win('finish')
|
||||
end
|
||||
end
|
||||
local function display(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
|
||||
|
||||
return {
|
||||
env={
|
||||
@@ -17,6 +24,7 @@ return {
|
||||
drop=1e99,lock=60,
|
||||
freshLimit=15,
|
||||
fineKill=true,
|
||||
mesDisp=display,
|
||||
hook_drop=tech_check_hard,
|
||||
bg='flink',bgm='infinite',
|
||||
},
|
||||
|
||||
28
parts/modes/tech_finesse_lock.lua
Normal file
28
parts/modes/tech_finesse_lock.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
return {
|
||||
env={
|
||||
arr=0,
|
||||
drop=1e99,lock=60,
|
||||
freshLimit=15,
|
||||
bg='flink',bgm='infinite',
|
||||
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,
|
||||
scoreDisp=function(D) return D[1].." Attack "..STRING.time(D[2]) end,
|
||||
comp=function(a,b) return a[1]>b[1] or a[1]==b[1] and a[2]<b[2] end,
|
||||
getRank=function(P)
|
||||
local A=P.stat.atk
|
||||
if A>=100 then
|
||||
local T=P.stat.time
|
||||
return
|
||||
T<50 and 5 or
|
||||
T<70 and 4 or
|
||||
T<100 and 3 or
|
||||
2
|
||||
else
|
||||
return
|
||||
A>=60 and 1 or
|
||||
A>=30 and 0
|
||||
end
|
||||
end,
|
||||
}
|
||||
28
parts/modes/tech_finesse_lock_f.lua
Normal file
28
parts/modes/tech_finesse_lock_f.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
return {
|
||||
env={
|
||||
arr=0,
|
||||
drop=1e99,lock=60,
|
||||
freshLimit=15,
|
||||
bg='flink',bgm='infinite',
|
||||
eventSet='tech_finesse_lock_f'
|
||||
},
|
||||
slowMark=true,
|
||||
score=function(P) return {P.stat.atk<=100 and math.floor(P.stat.atk) or 100,P.stat.time} end,
|
||||
scoreDisp=function(D) return D[1].." Attack "..STRING.time(D[2]) end,
|
||||
comp=function(a,b) return a[1]>b[1] or a[1]==b[1] and a[2]<b[2] end,
|
||||
getRank=function(P)
|
||||
local A=P.stat.atk
|
||||
if A>=100 then
|
||||
local T=P.stat.time
|
||||
return
|
||||
T<50 and 5 or
|
||||
T<70 and 4 or
|
||||
T<100 and 3 or
|
||||
2
|
||||
else
|
||||
return
|
||||
A>=60 and 1 or
|
||||
A>=30 and 0
|
||||
end
|
||||
end,
|
||||
}
|
||||
Reference in New Issue
Block a user