Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aec0b91039 | ||
|
|
34df33c9b0 | ||
|
|
1674902727 | ||
|
|
4fd497fe9f | ||
|
|
f01594b4d1 | ||
|
|
6f74693811 | ||
|
|
94d2af685c | ||
|
|
0b7c2fa59b | ||
|
|
137f9a0d55 | ||
|
|
23d8a34991 | ||
|
|
3f0d4d3cdf | ||
|
|
ac8f62de03 | ||
|
|
e518d91237 | ||
|
|
c054a76504 | ||
|
|
d3406c4a48 | ||
|
|
3c0266ec02 | ||
|
|
4f4683d06c | ||
|
|
3441002758 | ||
|
|
c2bf291029 | ||
|
|
d70b04e7fb | ||
|
|
a979b6dbe6 | ||
|
|
523b7ce443 | ||
|
|
4e74c9456f | ||
|
|
7719b74b09 | ||
|
|
9d3aeeb50b | ||
|
|
0459248556 | ||
|
|
288a6ba80a | ||
|
|
97eee39266 | ||
|
|
8c4446edac |
@@ -1,3 +1,5 @@
|
||||
-- WARNING: This framework has been remade and renamed to Zenitha. Do not use this deprecated framework for your project
|
||||
|
||||
NONE={}function NULL() end PAPER=love.graphics.newCanvas(1,1)
|
||||
EDITING=""
|
||||
LOADED=false
|
||||
|
||||
@@ -125,7 +125,8 @@ function STRING.time_short(t)
|
||||
if t<1 then return math.floor(t*1000)..timeLetters[6] end -- 123 ms
|
||||
if t<MINUTE then return math.floor(t)..timeLetters[5]..' '..math.floor((t%1)*1000)..timeLetters[6] end -- 12s 345ms
|
||||
|
||||
local timeUnits=TABLE.reverse({convertSecondsToUnits(t)})
|
||||
local timeUnits={convertSecondsToUnits(t)}
|
||||
TABLE.reverse(timeUnits)
|
||||
|
||||
-- floor seconds
|
||||
timeUnits[#timeUnits]=floorint(timeUnits[#timeUnits])
|
||||
|
||||
3
main.lua
3
main.lua
@@ -23,7 +23,7 @@ TIME=love.timer.getTime
|
||||
|
||||
-- Global Vars & Settings
|
||||
SFXPACKS={'chiptune'}
|
||||
VOCPACKS={'miya','mono','xiaoya','flore','miku','zundamon'}
|
||||
VOCPACKS={'miya','mono','xiaoya','flore','neuro','miku','zundamon'}
|
||||
FIRSTLAUNCH=false
|
||||
DAILYLAUNCH=false
|
||||
|
||||
@@ -271,6 +271,7 @@ IMG.init{
|
||||
floreCH='media/image/characters/flore.png',
|
||||
mikuCH='media/image/characters/miku.png',
|
||||
zundamonCH='media/image/characters/zundamon.png',
|
||||
neuroCH='media/image/characters/neuro.png',
|
||||
z={
|
||||
character='media/image/characters/z_character.png',
|
||||
screen1='media/image/characters/z_screen1.png',
|
||||
|
||||
BIN
media/image/characters/neuro.png
Normal file
BIN
media/image/characters/neuro.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 147 KiB |
BIN
media/vocal/neuro/air.ogg
Normal file
BIN
media/vocal/neuro/air.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/all_clear.ogg
Normal file
BIN
media/vocal/neuro/all_clear.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/b2b.ogg
Normal file
BIN
media/vocal/neuro/b2b.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/b3b.ogg
Normal file
BIN
media/vocal/neuro/b3b.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/bye.ogg
Normal file
BIN
media/vocal/neuro/bye.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/clear.ogg
Normal file
BIN
media/vocal/neuro/clear.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/colour.ogg
Normal file
BIN
media/vocal/neuro/colour.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/cspin.ogg
Normal file
BIN
media/vocal/neuro/cspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/cspin0.ogg
Normal file
BIN
media/vocal/neuro/cspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/decacrash.ogg
Normal file
BIN
media/vocal/neuro/decacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/deep.ogg
Normal file
BIN
media/vocal/neuro/deep.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/dodecacrash.ogg
Normal file
BIN
media/vocal/neuro/dodecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/double.ogg
Normal file
BIN
media/vocal/neuro/double.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/doubt.ogg
Normal file
BIN
media/vocal/neuro/doubt.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/espin.ogg
Normal file
BIN
media/vocal/neuro/espin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/espin0.ogg
Normal file
BIN
media/vocal/neuro/espin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/fspin.ogg
Normal file
BIN
media/vocal/neuro/fspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/fspin0.ogg
Normal file
BIN
media/vocal/neuro/fspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/half_clear.ogg
Normal file
BIN
media/vocal/neuro/half_clear.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/happy.ogg
Normal file
BIN
media/vocal/neuro/happy.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/heptacrash.ogg
Normal file
BIN
media/vocal/neuro/heptacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/heptadecacrash.ogg
Normal file
BIN
media/vocal/neuro/heptadecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/hexacrash.ogg
Normal file
BIN
media/vocal/neuro/hexacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/hexadecacrash.ogg
Normal file
BIN
media/vocal/neuro/hexadecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/hspin.ogg
Normal file
BIN
media/vocal/neuro/hspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/hspin0.ogg
Normal file
BIN
media/vocal/neuro/hspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/impossicrash.ogg
Normal file
BIN
media/vocal/neuro/impossicrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/ispin.ogg
Normal file
BIN
media/vocal/neuro/ispin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/ispin0.ogg
Normal file
BIN
media/vocal/neuro/ispin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/jspin.ogg
Normal file
BIN
media/vocal/neuro/jspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/jspin0.ogg
Normal file
BIN
media/vocal/neuro/jspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/lose.ogg
Normal file
BIN
media/vocal/neuro/lose.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/lose0.ogg
Normal file
BIN
media/vocal/neuro/lose0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/lspin.ogg
Normal file
BIN
media/vocal/neuro/lspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/lspin0.ogg
Normal file
BIN
media/vocal/neuro/lspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/mini.ogg
Normal file
BIN
media/vocal/neuro/mini.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/mix.ogg
Normal file
BIN
media/vocal/neuro/mix.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/nonacrash.ogg
Normal file
BIN
media/vocal/neuro/nonacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/nonadecacrash.ogg
Normal file
BIN
media/vocal/neuro/nonadecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/nspin.ogg
Normal file
BIN
media/vocal/neuro/nspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/nspin0.ogg
Normal file
BIN
media/vocal/neuro/nspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/octacrash.ogg
Normal file
BIN
media/vocal/neuro/octacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/octadecacrash.ogg
Normal file
BIN
media/vocal/neuro/octadecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/ospin.ogg
Normal file
BIN
media/vocal/neuro/ospin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/ospin0.ogg
Normal file
BIN
media/vocal/neuro/ospin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/pentacrash.ogg
Normal file
BIN
media/vocal/neuro/pentacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/pentadecacrash.ogg
Normal file
BIN
media/vocal/neuro/pentadecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/perfect_clear.ogg
Normal file
BIN
media/vocal/neuro/perfect_clear.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/pspin.ogg
Normal file
BIN
media/vocal/neuro/pspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/pspin0.ogg
Normal file
BIN
media/vocal/neuro/pspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/qspin.ogg
Normal file
BIN
media/vocal/neuro/qspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/qspin0.ogg
Normal file
BIN
media/vocal/neuro/qspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/rspin.ogg
Normal file
BIN
media/vocal/neuro/rspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/rspin0.ogg
Normal file
BIN
media/vocal/neuro/rspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/single.ogg
Normal file
BIN
media/vocal/neuro/single.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/split.ogg
Normal file
BIN
media/vocal/neuro/split.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/sspin.ogg
Normal file
BIN
media/vocal/neuro/sspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/sspin0.ogg
Normal file
BIN
media/vocal/neuro/sspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/techrash.ogg
Normal file
BIN
media/vocal/neuro/techrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/test.ogg
Normal file
BIN
media/vocal/neuro/test.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/tetradecacrash.ogg
Normal file
BIN
media/vocal/neuro/tetradecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/tridecacrash.ogg
Normal file
BIN
media/vocal/neuro/tridecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/triple.ogg
Normal file
BIN
media/vocal/neuro/triple.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/tspin.ogg
Normal file
BIN
media/vocal/neuro/tspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/tspin0.ogg
Normal file
BIN
media/vocal/neuro/tspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/ultracrash.ogg
Normal file
BIN
media/vocal/neuro/ultracrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/undecacrash.ogg
Normal file
BIN
media/vocal/neuro/undecacrash.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/uspin.ogg
Normal file
BIN
media/vocal/neuro/uspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/uspin0.ogg
Normal file
BIN
media/vocal/neuro/uspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/vspin.ogg
Normal file
BIN
media/vocal/neuro/vspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/vspin0.ogg
Normal file
BIN
media/vocal/neuro/vspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/welcome.ogg
Normal file
BIN
media/vocal/neuro/welcome.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/win.ogg
Normal file
BIN
media/vocal/neuro/win.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/win0.ogg
Normal file
BIN
media/vocal/neuro/win0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/wspin.ogg
Normal file
BIN
media/vocal/neuro/wspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/wspin0.ogg
Normal file
BIN
media/vocal/neuro/wspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/xspin.ogg
Normal file
BIN
media/vocal/neuro/xspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/xspin0.ogg
Normal file
BIN
media/vocal/neuro/xspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/yspin.ogg
Normal file
BIN
media/vocal/neuro/yspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/yspin0.ogg
Normal file
BIN
media/vocal/neuro/yspin0.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/zspin.ogg
Normal file
BIN
media/vocal/neuro/zspin.ogg
Normal file
Binary file not shown.
BIN
media/vocal/neuro/zspin0.ogg
Normal file
BIN
media/vocal/neuro/zspin0.ogg
Normal file
Binary file not shown.
@@ -444,7 +444,7 @@ do
|
||||
_centroSymSet(TRS.kickTable[25])_centroSymSet(TRS.kickTable[26])-- I5I3
|
||||
end
|
||||
|
||||
local SRS
|
||||
local SRS -- Pentos are treated as 3*3 piece
|
||||
do
|
||||
SRS={
|
||||
centerTex=GC.DO{10,10,
|
||||
@@ -489,7 +489,7 @@ do
|
||||
for i=8,29 do SRS.kickTable[i]=SRS.kickTable[1] end
|
||||
end
|
||||
|
||||
local SRS_plus
|
||||
local SRS_plus -- Basic 180 kicks and symmetry I piece kick table
|
||||
do
|
||||
SRS_plus={
|
||||
centerTex=GC.DO{10,10,
|
||||
@@ -542,7 +542,7 @@ do
|
||||
for i=8,29 do SRS_plus.kickTable[i]=SRS_plus.kickTable[1] end
|
||||
end
|
||||
|
||||
local SRS_X
|
||||
local SRS_X -- Basic 180 kicks and TRS for non-SZJLT
|
||||
do
|
||||
SRS_X={
|
||||
centerTex=GC.DO{10,10,
|
||||
@@ -720,17 +720,17 @@ end
|
||||
|
||||
local ARS_Z
|
||||
do
|
||||
local lrOnly={'+0+0','+1+0','-1+0'}
|
||||
local upOnly={'+0+0','+0+1','+0+2'}
|
||||
local lrSet={
|
||||
[01]=lrOnly,[10]=lrOnly,[03]=lrOnly,[30]=lrOnly,
|
||||
[12]=lrOnly,[21]=lrOnly,[32]=lrOnly,[23]=lrOnly,
|
||||
[02]=lrOnly,[20]=lrOnly,[13]=lrOnly,[31]=lrOnly,
|
||||
local list3={'+0+0','+1+0','-1+0','+0+1'}
|
||||
local list4={'+0+0','+1+0','-1+0','+0+1','+0+2','+2+0','-2+0'}
|
||||
local set3={
|
||||
[01]=list3,[10]=list3,[03]=list3,[30]=list3,
|
||||
[12]=list3,[21]=list3,[32]=list3,[23]=list3,
|
||||
[02]=list3,[20]=list3,[13]=list3,[31]=list3,
|
||||
}
|
||||
local upSet={
|
||||
[01]=upOnly,[10]=upOnly,[03]=upOnly,[30]=upOnly,
|
||||
[12]=upOnly,[21]=upOnly,[32]=upOnly,[23]=upOnly,
|
||||
[02]=upOnly,[20]=upOnly,[13]=upOnly,[31]=upOnly,
|
||||
local set4={
|
||||
[01]=list4,[10]=list4,[03]=list4,[30]=list4,
|
||||
[12]=list4,[21]=list4,[32]=list4,[23]=list4,
|
||||
[02]=list4,[20]=list4,[13]=list4,[31]=list4,
|
||||
}
|
||||
local centerPos=TABLE.copy(defaultCenterPos)
|
||||
centerPos[1]={[0]={1,1},{1,0},{1,1},{1,0}}-- Z
|
||||
@@ -761,10 +761,9 @@ do
|
||||
{'line',2,8,5,2,8,8},
|
||||
},
|
||||
centerPos=centerPos,
|
||||
kickTable=TABLE.new(lrSet,29),
|
||||
kickTable=TABLE.new(set3,29),
|
||||
}
|
||||
ARS_Z.kickTable[7]=upSet
|
||||
ARS_Z.kickTable[25]=upSet
|
||||
ARS_Z.kickTable[7],ARS_Z.kickTable[25]=set4,set4-- I,I5
|
||||
end
|
||||
|
||||
local DRS_weak
|
||||
|
||||
@@ -56,8 +56,8 @@ return {
|
||||
if D.maxRankPts>D.rankPts then
|
||||
gc_setColor(COLOR.lX)
|
||||
setFont(20)
|
||||
GC.mStr(text.highest:repD(getConstructGrade(D.maxRankPts)),63,216)
|
||||
GC.mStr(text.highest:repD(D.maxRankPts-1),63,336)
|
||||
GC.mStr(text.highestGrade:repD(getConstructGrade(D.maxRankPts)),63,216)
|
||||
GC.mStr(text.highestGrade:repD(D.maxRankPts-1),63,336)
|
||||
end
|
||||
|
||||
if not D.showGuide then return end
|
||||
|
||||
@@ -57,8 +57,8 @@ return {
|
||||
if D.maxRankPts>D.rankPts then
|
||||
gc_setColor(COLOR.lX)
|
||||
setFont(20)
|
||||
GC.mStr(text.highest:repD(getConstructGrade(D.maxRankPts)),63,216)
|
||||
GC.mStr(text.highest:repD(D.maxRankPts-1),63,336)
|
||||
GC.mStr(text.highestGrade:repD(getConstructGrade(D.maxRankPts)),63,216)
|
||||
GC.mStr(text.highestGrade:repD(D.maxRankPts-1),63,336)
|
||||
end
|
||||
|
||||
if not D.showGuide then return end
|
||||
|
||||
@@ -57,8 +57,8 @@ return {
|
||||
if D.maxRankPts>D.rankPts then
|
||||
gc_setColor(COLOR.lX)
|
||||
setFont(20)
|
||||
GC.mStr(text.highest:repD(getConstructGrade(D.maxRankPts)),63,216)
|
||||
GC.mStr(text.highest:repD(D.maxRankPts-1),63,336)
|
||||
GC.mStr(text.highestGrade:repD(getConstructGrade(D.maxRankPts)),63,216)
|
||||
GC.mStr(text.highestGrade:repD(D.maxRankPts-1),63,336)
|
||||
end
|
||||
|
||||
if not D.showGuide then return end
|
||||
|
||||
@@ -1,16 +1,10 @@
|
||||
-- local regretDelay=-1
|
||||
-- local int_grade=0
|
||||
-- local grade_points=0
|
||||
local _igb={0,1,2,3,4,5,5,6,6,7,7,7,8,8,8,9,9,9,10,11,12,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26}
|
||||
local function getInternalGradeBoosts(internal_grade)
|
||||
return _igb[MATH.clamp(internal_grade+1,1,#_igb)]
|
||||
end
|
||||
-- local spd_lvl=0
|
||||
-- local cools=0
|
||||
-- local regrets=0
|
||||
-- local prevSectTime=0
|
||||
-- local isInRoll=false
|
||||
-- local rollGrades=0
|
||||
|
||||
local decayRate={125,80,80,50,45,45,45,40,40,40,40,40,30,30,30,20,20,20,20,20,15,15,15,15,15,15,15,15,15,15,10,10,10,9,9,9,8,8,8,7,7,7,6}
|
||||
|
||||
local cool_time={3120,3120,2940,2700,2700,2520,2520,2280,2280,0}
|
||||
local regret_time= {5400,4500,4500,4080,3600,3600,3000,3000,3000,3000}
|
||||
local function getGrav(l)
|
||||
@@ -91,6 +85,7 @@ local function addGrade(D,row,cmb,lvl) -- IGS = internal grade system
|
||||
if D.grade_points>=100 then
|
||||
D.grade_points=0
|
||||
D.internal_grade=D.internal_grade+1
|
||||
D.decayTimer=0
|
||||
end
|
||||
end
|
||||
local function getRollGoal(D,isGreenLine)
|
||||
@@ -294,6 +289,7 @@ return {
|
||||
D.target=100
|
||||
D.int_grade=0
|
||||
D.grade_points=0
|
||||
D.decayTimer=0
|
||||
D.rollGrades=0
|
||||
D.spd_lvl=0
|
||||
D.cools=0
|
||||
@@ -304,8 +300,6 @@ return {
|
||||
D.prevDrop70=false
|
||||
D.nextSpeedUp=false
|
||||
D.coolList,D.regretList=TABLE.new(false,9),TABLE.new(false,10)
|
||||
local decayRate={125,80,80,50,45,45,45,40,40,40,40,40,30,30,30,20,20,20,20,20,15,15,15,15,15,15,15,15,15,15,10,10,10,9,9,9,8,8,8,7,7,7,6}
|
||||
local decayTimer=0
|
||||
|
||||
while true do
|
||||
coroutine.yield()
|
||||
@@ -344,10 +338,10 @@ return {
|
||||
D.prevSectTime=P.stat.frame
|
||||
end
|
||||
end
|
||||
if P.waiting<=0 and D.grade_points>0 and not D.isInRoll then
|
||||
decayTimer=decayTimer+1
|
||||
if decayTimer>=decayRate[math.min(D.internal_grade+1,#decayRate)] then
|
||||
decayTimer=0
|
||||
if P.waiting<=0 and D.grade_points>0 and P.combo<1 and not D.isInRoll then
|
||||
D.decayTimer=D.decayTimer+1
|
||||
if D.decayTimer>=decayRate[math.min(D.internal_grade+1,#decayRate)] then
|
||||
D.decayTimer=0
|
||||
D.grade_points=D.grade_points-1
|
||||
end
|
||||
elseif D.isInRoll and P.stat.frame>=D.prevSectTime+3599 then
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -161,12 +161,12 @@ do-- function applySettings()
|
||||
if SETTING.bg=='on' then
|
||||
BG.unlock()
|
||||
BG.setDefault(SETTING.defaultBG)
|
||||
BG.set()
|
||||
if SETTING.lockBG then
|
||||
BG.lock()
|
||||
elseif reason=='lockBG' then -- Don't load theme too soon!
|
||||
THEME.set(THEME.calculate(),GAME.playing)
|
||||
end
|
||||
BG.set()
|
||||
elseif SETTING.bg=='off' then
|
||||
BG.unlock()
|
||||
BG.set('fixColor',SETTING.bgAlpha,SETTING.bgAlpha,SETTING.bgAlpha)
|
||||
|
||||
@@ -552,7 +552,7 @@ FNNS and {"Support 3",
|
||||
{"BiRS",
|
||||
"biasrs biasrotationsystem",
|
||||
"term",
|
||||
"Bias Rotation System, an original rotation system used in Techmino based on XRS and SRS.\nIn BiRS, a special offset is triggered when either the left, right, or softdrop key is pressed and the block touches the minoes or walls in that direction. This adds an extra block of offset in that direction, in addition to the normal offsets in the wall kick tables. If the tests fail, BiRS will attempt to remove the offsets and try again, removing the down offsets first, then the left and right offsets if the first fails. \nThe special offsets also obey these two rules: the distance of the offset must not exceed √5, and the offset must not be in the opposite direction to that indicated by the keypress.\nCompared to XRS, BiRS uses only a single kick table, making it easier to memorize, while retaining the climb-over-terrain feature of SRS.",
|
||||
"Bias Rotation System, an original rotation system used in Techmino based on XRS and SRS.\nIn BiRS, an extra offset is triggered when either the left, right, or softdrop key is pressed and the block touches the minoes or walls in that direction. This introduces an additional offset in the specified direction, in addition to the standard offsets listed on the wall kick tables. The horizontal extra offsets indicated by the keypress must not be in the opposite direction to the composite horizontal offset, and the distance of the composite offset must not exceed √5. If the test fails, the system will perform another test without the horizontal offsets; should this also fail, a further test will be conducted without downward offsets. In contrast to XRS, BiRS uses only a single kick table, making it easier to memorize while retaining the climb-over-terrain feature of SRS.",
|
||||
},
|
||||
{"C2RS",
|
||||
"c2rs cultris2",
|
||||
|
||||
@@ -612,7 +612,7 @@ FNNS and {"サポート3",
|
||||
{"BiRS",
|
||||
"biasrs biasrotationsystem",
|
||||
"term",
|
||||
"*Techmino用語*\nBias Rotation System\nXRSとSRSを基に作られたTechmino独自の回転法則\n回転時に右や左、ソフトドロップを入力しているとその方向にミノがズレるように回転に補正がかけられます\n下方向に補正がかかっているときに回転に失敗(既存のマスと重なる)と下方向への補正をかけずに再試行します\nそしてそれにも失敗した場合は右、または左の補正をかけずに再試行します\nそれにも失敗した場合には回転されません\n\nBiRSはXRSに比べてキックテーブルが1つのため覚えやすく、さらにSRSの特徴である地形に沿った壁超え等も備えています\n\n追加事項:最後の回転補正を試行する時のルールとして移動するユークリッド距離が√5を超えてはいけない、また右または左に補正がかかっている場合には最後の回転補正はもう一方の方向には行かないという2つのルールがBiRSにあります",
|
||||
"*Techmino用語*\nBias Rotation System\nXRSとSRSを基に作られたTechmino独自の回転法則\n回転時に右や左、ソフトドロップを入力しているとその方向にミノがズレるように回転に補正がかけられます\n下方向に補正がかかっているときに回転に失敗(既存のマスと重なる)と下方向への補正をかけずに再試行します\nそしてそれにも失敗した場合は右、または左の補正をかけずに再試行します\nそれにも失敗した場合には回転されません\n\nBiRSはXRSに比べてキックテーブルが1つのため覚えやすく、さらにSRSの特徴である地形に沿った壁超え等も備えています\n\n追加事項:最後の回転補正を試行する時のルールとして移動するユークリッド距離が√5を超えてはいけない、また右または左に補正がかかっている場合には最後の回転補正はもう一方の方向には行かないという2つのルールがBiRSにあります",-- TODO
|
||||
},
|
||||
{"C2RS",
|
||||
"c2rs cultris 2 カルトリス",
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
local tetromino = " tetromino tetramino tetrimino"
|
||||
local function replaceCheckCrossMark(str)
|
||||
return STRING.repD(str,CHAR.icon.checkMark,CHAR.icon.crossMark)
|
||||
end
|
||||
|
||||
return {
|
||||
{
|
||||
@@ -374,7 +377,7 @@ Hệ thống mô tả cách xoay như sau:
|
||||
[[
|
||||
Một hệ thống để xác định cách gạch xoay.
|
||||
|
||||
Ở các trò xếp gạch hiện đại, mỗi gạch có thể xoay dựa trên một tâm xoay cố định (vài game có thể không có tâm xoay cố định).
|
||||
Ở các trò xếp gạch hiện đại, mỗi gạch có thể xoay dựa trên một tâm xoay cố định (vài game có thể không có cái này).
|
||||
Nếu gạch sau khi xoay đè lên gạch khác / ra ngoài bảng, hệ thống sẽ thử "wall-kicking" (đẩy gạch sang các vị trí xung quanh).
|
||||
Tuy nhiên, nếu khoảng cách quá lớn thì hệ thống xoay không thể đá gạch được
|
||||
|
||||
@@ -410,14 +413,16 @@ Bias Rotation System | Hệ thống xoay Bias.
|
||||
|
||||
Một hệ thống xoay dựa trên SRS và XRS
|
||||
|
||||
Để kích hoạt offset đặc biệt trong BiRS, cần phải thực hiện cùng lúc các điều kiện sau:
|
||||
Để kích hoạt offset bổ sung trong BiRS, cần phải thỏa hai điều kiện sau cùng lúc:
|
||||
1. Một nút di chuyển (Trái / Phải / Thả nhẹ) phải được giữ
|
||||
2. Gạch hiện tại phải chạm một ô gạch bất kỳ hoặc chạm tường ở hướng đang được giữ ở bước 1
|
||||
|
||||
Nếu thực hiện thành công, offset ở hướng đang được giữ ở bước 1 sẽ được thêm 1 ô. Tuy nhiên, để kick được thì cần phải tuân thêm hai điều kiện:
|
||||
|
||||
1. Khoảng cách euclide (ơclit) từ tâm tới vị trí đá tới được chọn phải bé hơn √5
|
||||
2. Hướng của cú đá không phải là hướng đối của hướng đã được xác định bằng phím bấm.
|
||||
1. Khoảng cách Euclide từ tâm tới vị trí đá tới được chọn phải bé hơn √5
|
||||
2. Hướng của cú đá không phải là hướng đối diện với hướng đã được xác định bằng phím bấm.
|
||||
|
||||
Nếu không dùng kick đó được, offset trái phải sẽ bị hủy và thử lại, nếu không được nữa thì hủy luôn offset dưới.
|
||||
|
||||
So với XRS, BiRS dễ nhớ hơn vì chỉ dùng một bảng wall-kick; nhưng vẫn giữ được khả năng vượt địa hình của SRS.
|
||||
]],
|
||||
@@ -455,7 +460,7 @@ So với XRS, BiRS dễ nhớ hơn vì chỉ dùng một bảng wall-kick; nhưn
|
||||
{"TRS",
|
||||
"nhom05b techminorotationsystem",
|
||||
"term",
|
||||
"Techmino Rotation System | Hệ thống xoay Techmino\n*Chỉ có trên Techmino*\n\nMột hệ thống xoay dựa trên SRS.\nHệ thống này khắc phục được hiện tượng gạch S / Z bị kẹt trong một số trường hợp.\n\nHơn nữa, TRS có thêm các bảng wall-kick dành cho Pentomino dựa trên logic của SRS với Tetromino.\n\nHệ thống cũng hỗ trợ O-Spin, cho phép gạch chữ O có thể đá hoặc \"biến hình\".",
|
||||
"Techmino Rotation System | Hệ thống xoay Techmino\n*Chỉ có trên Techmino*\n\nMột hệ thống xoay dựa trên SRS.\nHệ thống này khắc phục được hiện tượng gạch S / Z bị kẹt trong một số trường hợp.\n\nHơn nữa, TRS có thêm các bảng wall-kick dành cho Pentomino dựa trên logic của SRS với Tetromino.\n\nHệ thống cũng hỗ trợ O-Spin, cho phép gạch O có thể đá hoặc \"biến hình\".",
|
||||
},
|
||||
{"XRS",
|
||||
"nhom05b xrs",
|
||||
@@ -495,17 +500,17 @@ So với XRS, BiRS dễ nhớ hơn vì chỉ dùng một bảng wall-kick; nhưn
|
||||
{"His",
|
||||
"nhom05d historygenerator hisgenerator",
|
||||
"term",
|
||||
[[
|
||||
replaceCheckCrossMark[[
|
||||
Một kiểu xáo gạch được sử dụng nhiều trong series game Tetris: The Grand Master.
|
||||
|
||||
Trong kiểu xáo này, cách chọn gạch diễn ra như nhau:
|
||||
- Bước 1: Chọn ngẫu nhiên một trong bảy Tetromino.
|
||||
- Bước 2: Kiểm tra xem liệu gạch đã bốc trúng có phải là một trong những gạch đã xuất hiện gần nhất không.
|
||||
-- Đúng: Tới Bước 3
|
||||
-- Sai: Nhảy tới Bước 4
|
||||
$1: Tới Bước 3
|
||||
$2: Nhảy tới Bước 4
|
||||
- Bước 3: Cộng 1 vào số lần đã bốc lại, kiểm tra xem liệu số lần đã bốc lại có vượt qua giới hạn tối đa hay không?
|
||||
-- Đúng: Tới Bước 4
|
||||
-- Sai: nhảy về Bước 1
|
||||
$1: Tới Bước 4
|
||||
$2: Nhảy về Bước 1
|
||||
- Bước 4: Dùng gạch đã bốc trúng
|
||||
|
||||
Kiểu xáo này hay được mô tả bằng "His [A] Roll [B]"
|
||||
@@ -529,21 +534,25 @@ Kiểu xáo His là phiên bản cải tiến so với kiểu xáo ngẫu nhiên
|
||||
{"HisPool [2/2]",
|
||||
"nhom05d hispool historypoolgenerator kiểu xáo hispool",
|
||||
"term",
|
||||
[[
|
||||
replaceCheckCrossMark[[
|
||||
[Sea: Phần này không có trong Zictionary ngôn ngữ khác!]
|
||||
Cách hoạt động của kiểu xáo HisPool diễn ra tuần tự như sau:
|
||||
|
||||
Bước 1: Lấy một viên gạch ngẫu nhiên trong cái Rổ.
|
||||
- Nếu gạch đó là một trong những gạch đã bốc ra trước đó: bốc lại cho tới khi gạch đó không còn là một trong những viên gạch kia, hoặc là hết lượt bốc lại.
|
||||
- Kiểm tra xem gạch vừa bốc có nằm trong số gạch đã chọn hay không?
|
||||
$2: Chọn gạch vừa bốc và tới bước 2
|
||||
$1: Lặp lại bước 1 cho tới khi thỏa một trong hai điều kiện sau:
|
||||
-- Gạch vừa bốc không nằm trong số gạch đã chọn gần nhất.
|
||||
-- Hết lượt bốc lại
|
||||
Sau khi hết lặp, chọn gạch được bốc trúng gần nhất.
|
||||
|
||||
Bước 2: Gạch được bốc trúng sẽ được lấy ra khỏi Rổ.
|
||||
- Với mỗi gạch còn lại, cộng 1 vào số lần chưa bốc trúng.
|
||||
- Rổ lúc này còn 34 gạch.
|
||||
|
||||
Bước 3: Thêm gạch có số lần chưa bốc trúng nhiều nhất vào lại rổ để đảm bảo số lượng là 35 gạch.
|
||||
- Sau khi gạch đó đã thêm vào Rổ, số lần chưa bốc trúng của nó sẽ bị đặt lại về 0
|
||||
Bước 3: Thêm gạch có số lần chưa bốc trúng nhiều nhất vào lại rổ (để đảm bảo số lượng là 35 gạch), và đặt lại số lần chưa bốc trúng của nó về 0
|
||||
|
||||
Bước 4: Thêm gạch vào chuỗi NEXT và quay về Bước 1.
|
||||
Bước 4: Thêm gạch đã chọn vào chuỗi NEXT cũng như chuỗi gạch đã chọn gần nhất, rồi quay về Bước 1.
|
||||
]],
|
||||
},
|
||||
{"bagES",
|
||||
@@ -564,7 +573,7 @@ Bước 4: Thêm gạch vào chuỗi NEXT và quay về Bước 1.
|
||||
{"H. tg. Drought",
|
||||
"drought",
|
||||
"term",
|
||||
"Một hiện tượng mà một viên gạch người chơi muốn nhưng lại không xuất hiện. Thường dùng để chỉ hiện tượng khát gạch I trong mấy game cổ điển vì chúng thường dùng bộ xáo gạch ngẫu nhiên đơn giản.\n\nTuy nhiên, trong các game hiện đại, hiện tượng drought không thể xảy ra vì khoảng cách tối đa giữa 2 gạch cùng loại là 13 gạch. ",
|
||||
"Hiện tượng gạch người chơi đang rất cần nhưng lại không xuất hiện trong thời gian quá dài. Thường dùng để chỉ hiện tượng khát gạch I trong mấy game cổ điển vì chúng thường dùng bộ xáo gạch ngẫu nhiên đơn giản.\n\nHiện nay, ở các game hiện đại, hiện tượng drought không thể xảy ra vì khoảng cách tối đa giữa 2 gạch cùng loại là 13 gạch.",
|
||||
},
|
||||
{">E|Thông số",
|
||||
"nhom05e",
|
||||
@@ -1048,7 +1057,7 @@ Gọi tắt là WWC. Có chế độ 1 đấu 1 toàn cầu: chơi với ngườ
|
||||
[[
|
||||
Chơi trên trình duyệt / client chính thức | Chơi đơn / Chơi trực tuyến
|
||||
|
||||
Gọi tắt là TF. Một game xếp gạch dùng engine là một plugin đã nghỉ hưu từ năm 2021 (vì vấn đề bảo mật). Từng rất phổ biến trong quá khứ, nhưng tất cả máy chủ chính thức đã đóng cửa từ mấy năm trước. Hiện giờ vẫn còn một máy chủ riêng tên là \"Notris Foes\". Nhấn vào nút hình địa cầu để mở ở trong trình duyệt
|
||||
Gọi tắt là TF. Một game xếp gạch dùng engine là một plugin đã nghỉ hưu từ năm 2021 (vì vấn đề bảo mật). Từng rất phổ biến trong quá khứ, nhưng tất cả máy chủ chính thức đã đóng cửa từ mấy năm trước. Hiện giờ vẫn còn một máy chủ riêng tên là "Notris Foes". Nhấn vào nút hình địa cầu để mở ở trong trình duyệt
|
||||
]],
|
||||
"https://notrisfoes.com",
|
||||
},
|
||||
@@ -1138,9 +1147,11 @@ Một trò chơi do fan làm đang được phát triển với hệ thống xoa
|
||||
"nhom06 tetrisgrandmaster tetristhegrandmaster",
|
||||
"game",
|
||||
[[
|
||||
Chỉ có trên máy thùng | Chơi đơn / Chơi hai người
|
||||
Máy thùng, và các hệ máy khác* | Chơi đơn / Chơi hai người
|
||||
|
||||
Tetris: The Grand Master, một series Tetris dành cho máy thùng, nổi tiếng với độ khó cực cao - được xem là series game khó nhất (tại thời điểm ra mắt). Những thứ như S13 hay GM cũng từ chính series này. TGM3 được coi là tựa game nổi tiếng nhất của series này.
|
||||
|
||||
(*): Hiện TGM1 và TGM2 đã được port sang PS và Switch dưới gói Arcade Archives.
|
||||
]],
|
||||
},
|
||||
{"DTET",
|
||||
@@ -1172,10 +1183,9 @@ Một game với phong cách chơi máy thùng, có khả năng mô phỏng nhi
|
||||
[[
|
||||
Windows | Chơi đơn
|
||||
|
||||
Một game bao gồm tất cả chế độ trong TGM để có thể sử dụng để luyện chơi TGM. Lưu ý rằng World Rule trong Texmaster hơi khác một chút so với TGM, ví dụ như game sử dụng cơ chế "Thả nhẹ-khóa tức thì"* thay vì sử dụng cơ chế "Thả nhẹ" thông thường và bảng kick cũng có đôi chút khác biệt
|
||||
Một game có tất cả chế độ trong TGM để có thể sử dụng để luyện chơi TGM. Cần lưu ý rằng World Rule trong Texmaster sẽ hơi khác một chút so với TGM, ví dụ như game sử dụng cơ chế "Thả nhẹ-khóa tức thì"* thay vì sử dụng cơ chế "Thả nhẹ" thông thường và bảng kick cũng có đôi chút khác biệt
|
||||
|
||||
(*): Bản Zictionary tiếng Anh ghi là "instant-lock soft drop(s)".
|
||||
Có thể hiểu là bạn giữ nút Thả nhẹ, gạch vừa chạm đất là chốt vị trí đó luôn - giống với các game xếp gạch cổ điển ấy!
|
||||
(*): Bản Zictionary tiếng Anh ghi là "instant-lock soft drop(s)". Có thể hiểu là bạn giữ nút Thả nhẹ, gạch vừa chạm đất là chốt vị trí đó luôn - giống với các game xếp gạch cổ điển.
|
||||
]],
|
||||
},
|
||||
{"Tetris Effect",
|
||||
@@ -1202,7 +1212,7 @@ Một trò chơi nổi tiếng với chế độ Battle Royale 99 người và c
|
||||
[[
|
||||
PS / NS / Xbox / Windows | Chơi đơn / Chơi trực tuyến
|
||||
|
||||
Đây là một tựa game ghép từ hai trò chơi giải đố: Tetris và Puyo Puyo, và bạn có thể chơi đối đầu trong cả hai game này. Có nhiều chế độ chơi đơn và chơi trực tuyến.
|
||||
Đây là một game được ghép từ hai trò chơi giải đố: Tetris và Puyo Puyo, và bạn có thể chơi đối đầu trong cả hai game này. Có nhiều chế độ chơi đơn và chơi trực tuyến.
|
||||
|
||||
[MrZ: Bản PC (Steam) có cơ chế điều khiển và trải nghiệm trực tuyến khá là tệ.]
|
||||
]],
|
||||
|
||||
@@ -543,7 +543,7 @@ FNNS and {"赞助3",
|
||||
{"BiRS",
|
||||
"旋转系统 rotate",
|
||||
"term",
|
||||
"Bias Rotation System\nTechmino原创旋转系统,基于XRS和SRS设计。\n当左/右/下(软降)被按下并且那个方向顶住了墙,按旋转后会先设定一个偏移(三个键朝各自方向加1格),在偏移的基础上试踢墙表里的位移(全都失败了会先取消向下的偏移再把踢墙重新试一遍,再都不行就取消左右,再不行就失败)。\nBiRS相比XRS只使用一个踢墙表更容易记忆,并且保留了SRS翻越地形的功能。\n\n细节补充:在测试踢墙时要满足两个条件,最终位移欧氏距离不能超过√5,并且存在水平偏移时最终水平位移必须和它不反向。",
|
||||
"Bias Rotation System\nTechmino原创旋转系统,基于XRS和SRS设计。\n当左/右/下(软降)被按下并且那个方向顶住了墙,会在旋转时添加一个额外偏移(三个键朝各自方向加1格),和基础踢墙表叠加(额外偏移和叠加偏移的水平方向不能相反,且叠加偏移的位移大小不能超过√5)。如果失败,会取消向左右的偏移然后重试,还不行就取消向下的偏移。\nBiRS相比XRS只使用一个踢墙表更容易记忆,并且保留了SRS翻越地形的功能。",
|
||||
},
|
||||
{"C2RS",
|
||||
"旋转系统 rotate cultris2",
|
||||
|
||||
@@ -43,19 +43,19 @@ return {
|
||||
infHeightOn="Infinite Height ON",
|
||||
infHeightOff="Infinite Height OFF",
|
||||
infHeightHint="Toggle with Function 1 key",
|
||||
highest="(highest: $1)",
|
||||
highestGrade="(highest: $1)",
|
||||
|
||||
speedLV="Speed Level",
|
||||
piece="Piece",line="Lines",atk="Attack",eff="Efficiency",
|
||||
piece="Pieces",line="Lines",atk="Attack",eff="Efficiency",
|
||||
rpm="RPM",tsd="TSD",
|
||||
grade="Grade",techrash="Techrash",
|
||||
grade="Grade",techrash="Techrashes",
|
||||
wave="Wave",nextWave="Next",
|
||||
combo="Combo",maxcmb="Max Combo",
|
||||
pc="Perfect Clear",ko="KOs",
|
||||
pc="Perfect Clears",ko="KOs",
|
||||
|
||||
win="Win!",
|
||||
lose="Lose",
|
||||
torikan="Ended",
|
||||
torikan="The End",
|
||||
finish="Finished",
|
||||
gamewin="You Won",
|
||||
gameover="Game Over",
|
||||
@@ -67,14 +67,14 @@ return {
|
||||
|
||||
page="Page ",
|
||||
|
||||
ai_puzzle="AI is incompatible with puzzle game mode",
|
||||
ai_puzzle="AI is incompatible with the Puzzle gamemode.",
|
||||
ai_mission="AI is incompatible with custom missions.",
|
||||
ai_badPiece="AI is incompatible with custom sequences that contain non-tetrominoes.",
|
||||
cc_fixed="CC is incompatible with fixed sequences.",
|
||||
cc_swap="CC is incompatible when the hold mode is set to Swap.",
|
||||
cc_solid="CC is incompatible with filled line in the field.",
|
||||
cc_solid="CC is incompatible with filled lines in the field.",
|
||||
cc_field_too_high="CC is incompatible with fields higher than 40.",
|
||||
switchSpawnSFX="Please turn on the block spawn SFX!",
|
||||
switchSpawnSFX="Please turn on the piece spawn SFX!",
|
||||
needRestart="Restart to apply all changes.",
|
||||
|
||||
loadError_errorMode="Failed to load '$1': no load mode called '$2'",
|
||||
@@ -96,7 +96,7 @@ return {
|
||||
pasteWrongPlace="Did you paste in the wrong place?",
|
||||
noFile="File missing",
|
||||
invalidSequence="Invalid sequence mode",
|
||||
tooHighField="Field data exceeded 126 lines discarded",
|
||||
tooHighField="Field data exceeds 126 lines - higher lines discarded",
|
||||
|
||||
nowPlaying="Now playing:",
|
||||
|
||||
@@ -214,8 +214,8 @@ return {
|
||||
hold="HOLD\nOverrides the number of Hold pieces displayed.",
|
||||
hideNext="Hidden NEXT\nHides the specified number of pieces in the Next queue.",
|
||||
infHold="InfiniHold\nAllows you to hold pieces infinitely.",
|
||||
hideBlock="Hide Current Piece\nMakes the current pieces invisible.",
|
||||
hideGhost="No Ghost\nMakes the ghost pieces invisible.",
|
||||
hideBlock="Hide Active Piece\nMakes the active piece invisible.",
|
||||
hideGhost="No Ghost\nMakes the ghost piece invisible.",
|
||||
hidden="Hide Locked Pieces\nHides locked pieces after a certain amount of time.",
|
||||
hideBoard="Hide Board\nPartially or completely hides the board.",
|
||||
flipBoard="Flip Board\nFlips or rotates the board.",
|
||||
@@ -229,7 +229,7 @@ return {
|
||||
tele="Teleport\nForces 0 DAS and 0 ARR.",
|
||||
noRotation="No Rotation\nDisables piece rotation.",
|
||||
noMove="No Movement\nDisables sideways movement.",
|
||||
customSeq="Randomizer\nOverrides the block sequence randomizer.",
|
||||
customSeq="Randomizer\nOverrides the piece sequence randomizer.",
|
||||
pushSpeed="Garbage Speed\nOverride the rising speed of the garbage lines (in blocks per frame).",
|
||||
boneBlock="Bone Block\nPlay with bone blocks ([ ]).",
|
||||
},
|
||||
@@ -237,9 +237,9 @@ return {
|
||||
"Time:",
|
||||
"Key/Rot./Hold:",
|
||||
"Pieces:",
|
||||
"Row/Dig:",
|
||||
"Lines/Dig:",
|
||||
"Attack/DigAtk:",
|
||||
"Rise(Receive-Offset):",
|
||||
"Rise (Receive-Offset):",
|
||||
"Clears:",
|
||||
"Spins:",
|
||||
"B2B/B3B/PC/HPC:",
|
||||
@@ -252,7 +252,7 @@ return {
|
||||
"Play Count:",
|
||||
"Play Time:",
|
||||
"Key/Rot./Hold:",
|
||||
"Block/Row/Atk.:",
|
||||
"Pieces/Lines/Atk.:",
|
||||
"Receive/Offset/Rise:",
|
||||
"Dig/Dig Atk.:",
|
||||
"Eff./Dig Eff.:",
|
||||
@@ -509,7 +509,7 @@ C. Gamepad
|
||||
fineKill="100% Finesse",
|
||||
b2bKill="No B2B Breaks",
|
||||
lockout="Fail on Lock Out",
|
||||
easyFresh="Normal Lock Reset",
|
||||
easyFresh="Reset Lock Delay on move",
|
||||
deepDrop="Deep Drop",
|
||||
bone="Bone Blocks",
|
||||
|
||||
@@ -549,16 +549,16 @@ C. Gamepad
|
||||
sound="←Audio",
|
||||
game="Game→",
|
||||
|
||||
block="Draw Blocks",
|
||||
block="Draw Active Piece",
|
||||
smooth="Smooth Falling",
|
||||
upEdge="3D Block",
|
||||
upEdge="3D Blocks",
|
||||
bagLine="Bag Separators",
|
||||
|
||||
ghostType="Ghost Type",
|
||||
ghost="Ghosts",
|
||||
center="Rotation Centers",
|
||||
grid="Grid",
|
||||
lineNum="line No.",
|
||||
lineNum="Line Numbers",
|
||||
|
||||
lockFX="Lock FX",
|
||||
dropFX="Drop FX",
|
||||
@@ -585,12 +585,12 @@ C. Gamepad
|
||||
portrait="Portrait",
|
||||
msaa="MSAA level",
|
||||
|
||||
bg_on="Normal B.G.",
|
||||
bg_off="No B.G.",
|
||||
bg_custom="Custom B.G.",
|
||||
defaultBG="Default B.G.",
|
||||
bg_on="Normal BG",
|
||||
bg_off="No BG",
|
||||
bg_custom="Custom BG",
|
||||
defaultBG="Default BG",
|
||||
resetDbg="Reset to default",
|
||||
lockBG="Lock B.G.",
|
||||
lockBG="Lock BG",
|
||||
noTheme="Disable theme",
|
||||
|
||||
blockSatur="Block Saturation",
|
||||
@@ -622,8 +622,8 @@ C. Gamepad
|
||||
preview="Preview",
|
||||
|
||||
das="DAS",arr="ARR",
|
||||
dascut="DAS cut",
|
||||
dropcut="Auto-lock cut",
|
||||
dascut="DAS Cut",
|
||||
dropcut="Auto-lock Cut",
|
||||
sddas="Soft Drop DAS",sdarr="Soft Drop ARR",
|
||||
ihs="Initial Hold",
|
||||
irs="Initial Rotation",
|
||||
@@ -689,7 +689,7 @@ C. Gamepad
|
||||
|
||||
drop="Drop Delay",
|
||||
lock="Lock Delay",
|
||||
wait="Entry Delay",
|
||||
wait="Entry Delay (ARE)",
|
||||
fall="Line Delay",
|
||||
hang="Death Delay",
|
||||
hurry="ARE Interruption",
|
||||
@@ -722,13 +722,13 @@ C. Gamepad
|
||||
freshLimit="Lock Reset Limit",
|
||||
opponent="Opponent",
|
||||
life="Lives",
|
||||
pushSpeed="Push Speed",
|
||||
pushSpeed="G. Push Speed",
|
||||
garbageSpeed="Garbage Speed",
|
||||
|
||||
bufferLimit="Buffer Limit",
|
||||
bufferLimit="G. Buffer Limit",
|
||||
heightLimit="Height Limit",
|
||||
ospin="TRS O-Spin",
|
||||
fineKill="100% Finesse",
|
||||
fineKill="No Finesse Errors",
|
||||
b2bKill="No B2B Breaks",
|
||||
lockout="Fail on Lock Out",
|
||||
easyFresh="Normal Lock Reset",
|
||||
@@ -888,22 +888,22 @@ C. Gamepad
|
||||
['dig_eff_40l']= {"Dig", "EFFICIENCY 40L", "Dig 40 garbage lines with the least pieces!"},
|
||||
['dig_eff_100l']= {"Dig", "EFFICIENCY 100L","Dig 100 garbage lines with the least pieces!"},
|
||||
['dig_eff_400l']= {"Dig", "EFFICIENCY 400L","Dig 400 garbage lines with the least pieces!"},
|
||||
['dig_quad_10l']= {"Dig", "TECHRASH 10L", "Dig 10 garbage lines using only techrash!"},
|
||||
['drought_n']= {"Drought", "100L", "100L but without I blocks"},
|
||||
['drought_l']= {"Drought+", "100L", "W. T. F."},
|
||||
['dig_quad_10l']= {"Dig", "TECHRASH 10L", "Dig 10 garbage lines while only clearing Techrashes!"},
|
||||
['drought_n']= {"Drought", "100L", "100L but without I pieces"},
|
||||
['drought_l']= {"Drought+", "100L", "WTF"},
|
||||
['marathon_n']= {"Marathon", "NORMAL", "200-line marathon with increasing speed"},
|
||||
['marathon_h']= {"Marathon", "HARD", "200-line high-speed marathon"},
|
||||
['solo_e']= {"Battle", "EASY", "Defeat the AI!"},
|
||||
['solo_n']= {"Battle", "NORMAL", "Defeat the AI!"},
|
||||
['solo_h']= {"Battle", "HARD", "Defeat the AI!"},
|
||||
['solo_e']= {"Battle", "EASY", "Defeat the AI as fast as you can!"},
|
||||
['solo_n']= {"Battle", "NORMAL", "Defeat the AI as fast as you can!"},
|
||||
['solo_h']= {"Battle", "HARD", "Defeat the AI as fast as you can!"},
|
||||
['solo_l']= {"Battle", "LUNATIC", "Defeat the AI!"},
|
||||
['solo_u']= {"Battle", "ULTIMATE", "Defeat the AI!"},
|
||||
['techmino49_e']= {"Tech VS 49", "EASY", "49-player battle.\nThe last one standing wins"},
|
||||
['techmino49_h']= {"Tech VS 49", "HARD", "49-player battle.\nThe last one standing wins"},
|
||||
['techmino49_u']= {"Tech VS 49", "ULTIMATE", "49-player battle.\nThe last one standing wins"},
|
||||
['techmino99_e']= {"Tech VS 99", "EASY", "99-player battle.\nThe last one standing wins"},
|
||||
['techmino99_h']= {"Tech VS 99", "HARD", "99-player battle.\nThe last one standing wins"},
|
||||
['techmino99_u']= {"Tech VS 99", "ULTIMATE", "99-player battle.\nThe last one standing wins"},
|
||||
['techmino49_e']= {"Techmino 49", "EASY", "49-player battle.\nThe last one standing wins"},
|
||||
['techmino49_h']= {"Techmino 49", "HARD", "49-player battle.\nThe last one standing wins"},
|
||||
['techmino49_u']= {"Techmino 49", "ULTIMATE", "49-player battle.\nThe last one standing wins"},
|
||||
['techmino99_e']= {"Techmino 99", "EASY", "99-player battle.\nThe last one standing wins"},
|
||||
['techmino99_h']= {"Techmino 99", "HARD", "99-player battle.\nThe last one standing wins"},
|
||||
['techmino99_u']= {"Techmino 99", "ULTIMATE", "99-player battle.\nThe last one standing wins"},
|
||||
['round_e']= {"Turn-Based", "EASY", "Take turns to play against the AI!"},
|
||||
['round_n']= {"Turn-Based", "NORMAL", "Take turns to play against the AI!"},
|
||||
['round_h']= {"Turn-Based", "HARD", "Take turns to play against the AI!"},
|
||||
@@ -931,10 +931,10 @@ C. Gamepad
|
||||
['blind_l']= {"Invisible", "NO GHOST", "For professionals"},
|
||||
['blind_u']= {"Invisible", "NO FIELD", "Are you ready?"},
|
||||
['blind_wtf']= {"Invisible", "VOID", "You're not ready."},
|
||||
['classic_e']= {"Classic", "EASY", "A low-speed recreation game from the 80s"},
|
||||
['classic_h']= {"Classic", "HARD", "A medium-speed recreation game from the 80s"},
|
||||
['classic_l']= {"Classic", "LUNATIC", "A high-speed recreation game from the 80s"},
|
||||
['classic_u']= {"Classic", "ULTIMATE", "An extreme-speed recreation game from the 80s"},
|
||||
['classic_e']= {"Classic", "EASY", "A low-speed recreation of a game from the 80s"},
|
||||
['classic_h']= {"Classic", "HARD", "A medium-speed recreation of a game from the 80s"},
|
||||
['classic_l']= {"Classic", "LUNATIC", "A high-speed recreation of a game from the 80s"},
|
||||
['classic_u']= {"Classic", "ULTIMATE", "An extreme-speed recreation of a game from the 80s"},
|
||||
['survivor_e']= {"Survival", "EASY", "How long can you survive?"},
|
||||
['survivor_n']= {"Survival", "NORMAL", "How long can you survive?"},
|
||||
['survivor_h']= {"Survival", "HARD", "How long can you survive?"},
|
||||
@@ -946,36 +946,36 @@ C. Gamepad
|
||||
['defender_l']= {"Defender", "LUNATIC", "Practice your defending skills!"},
|
||||
['dig_h']= {"Driller", "HARD", "Digging practice!"},
|
||||
['dig_u']= {"Driller", "ULTIMATE", "Digging practice!"},
|
||||
['c4wtrain_n']= {"C4W Training", "NORMAL", "Infinite combos"},
|
||||
['c4wtrain_l']= {"C4W Training", "LUNATIC", "Infinite combos"},
|
||||
['pctrain_n']= {"PC Training", "NORMAL", "Perfect Clear practice"},
|
||||
['pctrain_l']= {"PC Training", "LUNATIC", "A harder Perfect Clear practice"},
|
||||
['pc_n']= {"PC Challenge", "NORMAL", "Get PCs within 100 lines!"},
|
||||
['pc_h']= {"PC Challenge", "HARD", "Get PCs within 100 lines!"},
|
||||
['pc_l']= {"PC Challenge", "LUNATIC", "Get PCs within 100 lines!"},
|
||||
['pc_inf']= {"Inf. PC Challenge", "", "Get PCs as much as you can"},
|
||||
['tech_n']= {"Tech B2B", "NORMAL", "Try to keep the\nBack-to-Back chain!"},
|
||||
['tech_n_plus']= {"Tech B2B", "NORMAL+", "Spins & PCs only"},
|
||||
['tech_h']= {"Tech B2B", "HARD", "Try to keep the\nBack-to-Back chain!"},
|
||||
['tech_h_plus']= {"Tech B2B", "HARD+", "Spins & PCs only"},
|
||||
['tech_l']= {"Tech B2B", "LUNATIC", "Try to keep the\nBack-to-Back chain!"},
|
||||
['tech_l_plus']= {"Tech B2B", "LUNATIC+", "Spins & PCs only"},
|
||||
['tech_finesse']= {"Tech Finesse", "", "No finesse errors!"},
|
||||
['tech_finesse_f']= {"Tech Finesse", "PLUS", "No normal clears and finesse errors!"},
|
||||
['tsd_e']= {"TSD Challenge", "EASY", "T-Spin Doubles only!"},
|
||||
['tsd_h']= {"TSD Challenge", "HARD", "T-Spin Doubles only!"},
|
||||
['tsd_u']= {"TSD Challenge", "ULTIMATE", "T-Spin Doubles only!"},
|
||||
['backfire_n']= {"Backfire", "NORMAL", "Hold back the backfiring garbage lines"},
|
||||
['backfire_h']= {"Backfire", "HARD", "Hold back the backfiring garbage lines"},
|
||||
['backfire_l']= {"Backfire", "LUNATIC", "Hold back the backfiring garbage lines"},
|
||||
['backfire_u']= {"Backfire", "ULTIMATE", "Hold back the backfiring garbage lines"},
|
||||
['sprintAtk']= {"Sprint", "100 Attack", "Send 100 lines!"},
|
||||
['sprintEff']= {"Sprint", "Efficiency", "Send more attack in 40 lines!"},
|
||||
['zen']= {'Zen', "200", "A 200-line run with no time limit"},
|
||||
['c4wtrain_n']= {"C4W Training", "NORMAL", "Clear 100 lines!"},
|
||||
['c4wtrain_l']= {"C4W Training", "LUNATIC", "Perform as many combos as you can within 100 lines!"},
|
||||
['pctrain_n']= {"PC Training", "NORMAL", "Practice filling 3×4 boxes, PCO shapes and 4×4 boxes!"},
|
||||
['pctrain_l']= {"PC Training", "LUNATIC", "Practice filling 5×4 and 6×4 boxes!"},
|
||||
['pc_n']= {"PC Challenge", "NORMAL", "Get as many PCs as you can within 100 lines!"},
|
||||
['pc_h']= {"PC Challenge", "HARD", "Get as many PCs as you can within 100 lines!"},
|
||||
['pc_l']= {"PC Challenge", "LUNATIC", "Get as many PCs as you can within 100 lines!"},
|
||||
['pc_inf']= {"PC Challenge", "INFINITE", "Get as many PCs in a row as you can!"},
|
||||
['tech_n']= {"Tech", "NORMAL", "Send 100 lines as fast as you can while keeping the Back-to-Back chain!"},
|
||||
['tech_n_plus']= {"Tech", "NORMAL+", "Send 100 lines as fast as you can using only spins and PCs!"},
|
||||
['tech_h']= {"Tech", "HARD", "Send 100 lines as fast as you can while keeping the Back-to-Back chain!"},
|
||||
['tech_h_plus']= {"Tech", "HARD+", "Send 100 lines as fast as you can using only spins and PCs!"},
|
||||
['tech_l']= {"Tech", "LUNATIC", "Send 100 lines as fast as you can while keeping the Back-to-Back chain!"},
|
||||
['tech_l_plus']= {"Tech", "LUNATIC+", "Send 100 lines as fast as you can using only spins and PCs!"},
|
||||
['tech_finesse']= {"Tech Finesse", "", "Send 100 lines as fast as you can while keeping perfect finesse!"},
|
||||
['tech_finesse_f']= {"Tech Finesse", "PLUS", "Send 100 lines as fast as you can while keeping perfect finesse and not performing normal clears!"},
|
||||
['tsd_e']= {"TSD Challenge", "EASY", "Get as many T-Spin Doubles in a row as you can!"},
|
||||
['tsd_h']= {"TSD Challenge", "HARD", "Get as many T-Spin Doubles in a row as you can!"},
|
||||
['tsd_u']= {"TSD Challenge", "ULTIMATE", "Get as many T-Spin Doubles in a row as you can!"},
|
||||
['backfire_n']= {"Backfire", "NORMAL", "Send 100 lines as fast as you can while attacking yourself!"},
|
||||
['backfire_h']= {"Backfire", "HARD", "Send 100 lines as fast as you can while attacking yourself!"},
|
||||
['backfire_l']= {"Backfire", "LUNATIC", "Send 100 lines as fast as you can while attacking yourself!"},
|
||||
['backfire_u']= {"Backfire", "ULTIMATE", "Send 100 lines as fast as you can while attacking yourself!"},
|
||||
['sprintAtk']= {"Sprint", "100 Attack", "Send 100 lines as fast as you can!"},
|
||||
['sprintEff']= {"Efficiency", "40L", "Send more attack in 40 lines!"},
|
||||
['zen']= {'Zen', "200L", "A 200-line score attack with no time limit"},
|
||||
['ultra']= {'Ultra', "EXTRA", "A 2-minute score attack"},
|
||||
['infinite']= {"Infinite", "", "Just a sandbox"},
|
||||
['infinite_dig']= {"Infinite: Dig", "", "Dig-diggin'-dug"},
|
||||
['marathon_inf']= {"Marathon", "INFINITE", "Infinite marathon."},
|
||||
['infinite']= {"Infinite", "", "Just a sandbox"},
|
||||
['infinite_dig']= {"Dig", "INFINITE", "Dig-diggin'-dug"},
|
||||
['marathon_inf']= {"Marathon", "INFINITE", "Infinite marathon."},
|
||||
|
||||
['custom_clear']= {"Custom", "NORMAL"},
|
||||
['custom_puzzle']= {"Custom", "PUZZLE"},
|
||||
@@ -995,7 +995,7 @@ C. Gamepad
|
||||
"1 next 1 hold!",
|
||||
"1 next 6 hold!",
|
||||
"20G is actually a brand new game rule!",
|
||||
"40-line Sprint WR: 14.188s by Lurny",
|
||||
"40-line Sprint WR: 13.650s by WestL",
|
||||
"6 next 1 hold!",
|
||||
"6 next 6 hold?!",
|
||||
"A choke a day keeps record away",
|
||||
@@ -1023,7 +1023,7 @@ C. Gamepad
|
||||
"git commit",
|
||||
"git push -f",
|
||||
"Got a suggestion? Post it on our Discord server!",
|
||||
"Have you noticed what a \"rotation\" does do to a block?",
|
||||
"Have you noticed what a \"rotation\" does do to a piece?",
|
||||
"Headphones recommended for a better experience.",
|
||||
"Hello world!",
|
||||
"I3 and L3 are the only two possible triminoes.",
|
||||
|
||||
@@ -910,7 +910,7 @@ return {
|
||||
['defender_l']= {"Defensor", "Lunático", "¡Practica la defensa!"},
|
||||
['dig_h']= {"Downstack", "Difícil", "¡Practica el downstackeo!"},
|
||||
['dig_u']= {"Downstack", "Supremo", "¡Practica el downstackeo!"},
|
||||
['c4wtrain_n']= {"Entrenar C4W", "Normal", "Combos infinitos."},
|
||||
['c4wtrain_n']= {"Entrenar C4W", "Normal", "¡Limpia 100 líneas!"},
|
||||
['c4wtrain_l']= {"Entrenar C4W", "Lunático", "Combos infinitos."},
|
||||
['pctrain_n']= {"Entrenar PC", "Normal", "Modo sencillo para practicar Perfect Clears."},
|
||||
['pctrain_l']= {"Entrenar PC", "Lunático", "Modo complejo para practicar Perfect Clears."},
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user