Compare commits

...

29 Commits

Author SHA1 Message Date
MrZ_26
aec0b91039 补充更新历史 2024-07-03 16:29:00 +08:00
MrZ_26
34df33c9b0 readme更新官网链接,加一个techmino hub链接 2024-07-02 17:55:57 +08:00
MrZ_26
1674902727 修字体一个小问题 2024-07-01 23:14:13 +08:00
C₂₉H₂₅N₃O₅
4fd497fe9f Used more mathematically correct symbols for app calc (#1127) 2024-07-01 22:51:14 +08:00
MrZ_26
f01594b4d1 修背景锁定处理顺序问题 close #1122
Co-authored-by: SweetSea <106439598+SweetSea-ButImNotSweet@users.noreply.github.com>
2024-06-17 10:18:23 +08:00
MrZ_26
6f74693811 更新tip里的40l世界纪录 close #1121 2024-06-14 08:18:43 +08:00
MrZ_26
94d2af685c 消四挖掘模式非挖掘的消四越多会导致评分降低 2024-06-11 17:30:45 +08:00
MrZ_26
0b7c2fa59b 补两个中文文本
修改更新历史
2024-06-06 17:59:07 +08:00
MrZ_26
137f9a0d55 修两个消四模式的评级不等号错误 2024-06-06 17:38:05 +08:00
MrZ_26
23d8a34991 修highestGrade文本小问题 2024-06-03 10:15:34 +08:00
MrZ_26
3f0d4d3cdf 更新版本号和更新历史 2024-05-22 01:19:20 +08:00
MrZ_26
ac8f62de03 微调readme 2024-05-22 01:19:20 +08:00
C₂₉H₂₅N₃O₅
e518d91237 Font tweaks (#1116)
- Changed the glyph for the numeral `3` from “round-top” to “flat top” to increase eligibility
- Removed the serif on the bottom of the numeral “1” for cleaner looks
2024-05-20 22:44:35 +08:00
MrZ_26
c054a76504 修birs英文词条 2024-05-18 11:47:49 +08:00
MrZ_26
d3406c4a48 修一个TABLE.reverse用法错误 2024-05-13 15:12:23 +08:00
MrZ_26
3c0266ec02 补充更新历史 2024-04-29 11:16:56 +08:00
MrZ_26
4f4683d06c 更强大的ARS_Z fix #1094 2024-04-29 11:05:15 +08:00
MrZ_26
3441002758 c4w普通的模式说明改为和100l相同 close #1082 2024-04-29 10:45:37 +08:00
KonSola5
c2bf291029 Implementation of some of my English suggestions (#1104)
* Update lang_en.lua

* Some small changes

* "Block -> Piece" and some extras
2024-04-24 18:15:45 +08:00
MrZ_26
d70b04e7fb 优化neuro立绘动画和俊达萌身高 2024-04-24 05:14:27 +08:00
Petalzu
a979b6dbe6 Add neuro voicepack (#1109)
* update neuro

* change image & fix delay

change the image of neuro and fix delay between two vocal

* add vocal

* change vocal&image
2024-04-24 04:11:18 +08:00
MrZ_26
523b7ce443 给SRS+和SRS-X加一点注释说明 2024-04-24 04:08:37 +08:00
NOT_A_ROBOT
4e74c9456f Fix decay rate issues in Master Graded, close #1092 (#1113) 2024-04-24 04:06:41 +08:00
Imple Lee
7719b74b09 fix text in dig quad 10l (#1103)
fix #1102
2024-04-24 03:38:15 +08:00
Nguyễn Quốc Hưng
9d3aeeb50b Update Vietnamese translation and fix cannot entering Zictionary's manual (#1111)
* Fix cannot enter manual

* Update Zictionary

* Update dict_vi.lua

* Update dict_vi
2024-04-24 03:37:56 +08:00
MrZ_26
0459248556 修文本小bug 2024-04-16 00:16:20 +08:00
MrZ_26
288a6ba80a 微调readme 2024-04-07 04:56:09 +08:00
MrZ_26
97eee39266 调整词典中的BiRS词条(日文和越南文待其他人修改)
微调注释
2024-04-06 19:15:09 +08:00
MrZ_26
8c4446edac 修复拼花模式段位计算的1行偏差
补充拼花模式说明文本 close #1099
2024-03-03 14:27:36 +08:00
122 changed files with 247 additions and 201 deletions

View File

@@ -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

View File

@@ -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])

View File

@@ -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',

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

BIN
media/vocal/neuro/air.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/b2b.ogg Normal file

Binary file not shown.

BIN
media/vocal/neuro/b3b.ogg Normal file

Binary file not shown.

BIN
media/vocal/neuro/bye.ogg Normal file

Binary file not shown.

BIN
media/vocal/neuro/clear.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/cspin.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/deep.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/doubt.ogg Normal file

Binary file not shown.

BIN
media/vocal/neuro/espin.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/fspin.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/happy.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/hspin.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/ispin.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/jspin.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/lose.ogg Normal file

Binary file not shown.

BIN
media/vocal/neuro/lose0.ogg Normal file

Binary file not shown.

BIN
media/vocal/neuro/lspin.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/mini.ogg Normal file

Binary file not shown.

BIN
media/vocal/neuro/mix.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/nspin.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/ospin.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/pspin.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/qspin.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/rspin.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/split.ogg Normal file

Binary file not shown.

BIN
media/vocal/neuro/sspin.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/test.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/tspin.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/uspin.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/vspin.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/win.ogg Normal file

Binary file not shown.

BIN
media/vocal/neuro/win0.ogg Normal file

Binary file not shown.

BIN
media/vocal/neuro/wspin.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/xspin.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/yspin.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
media/vocal/neuro/zspin.ogg Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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)

View File

@@ -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",

View File

@@ -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 カルトリス",

View File

@@ -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 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 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ệ.]
]],

View File

@@ -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",

View File

@@ -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.",

View File

@@ -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