Compare commits

...

44 Commits

Author SHA1 Message Date
MrZ_26
f1a08ca325 更新历史和版本号 2024-08-03 13:05:09 +08:00
MrZ_26
28ec031afa 修time_short函数一个错误 2024-08-03 03:18:31 +08:00
MrZ_26
d9f606c56f 修地图布局
修spinren模式翻译
调整一些模式的外框形状
2024-08-03 01:45:37 +08:00
MrZ_26
de4b73cf83 spinren模式结束时显示的文本会根据是否到10行变化 2024-08-02 23:22:16 +08:00
MrZ_26
beff0c9d99 调整翻译文本,所有模式的“难度”一栏更统一 2024-08-02 23:04:49 +08:00
MrZ_26
4a76a929f5 更新spinren模式的越南语翻译 2024-08-02 22:58:32 +08:00
MrZ_26
aa981160e8 spinren少出两行防止一直响警报 2024-08-02 22:49:51 +08:00
MrZ_26
24a95a36d0 微调地图布局 2024-08-02 22:41:05 +08:00
MrZ_26
583819e8c4 优化spin模式并加到大地图,微调相关区域布局 2024-08-02 22:37:39 +08:00
Imple Lee
4c193efd41 add a new mode: spin ren (#1129)
* add a new mode: spin ren

* remove some bad cases; rework of the weights

* fix lines

* add different orientation for 323

* harder ranking

* Fix the map to sijun's mode

This mode can be used as big-bang!
2024-08-02 21:53:10 +08:00
MrZ_26
8208e7b132 修第三季度音乐名称打错 2024-08-01 21:47:25 +08:00
MrZ_26
7e2bd7b08d 词典里的“全消四”改成“全程消四” 2024-07-24 19:07:54 +08:00
MrZ_26
29258e2a35 添加edm节日 2024-07-14 04:10:26 +08:00
MrZ_26
9e028bc907 微调c4w普通模式评分标准 2024-07-04 02:07:00 +08:00
MrZ_26
75ae05ffc9 c4w普通的计分完全改为竞速 close #1126
改版本号和更新历史
2024-07-03 17:55:04 +08:00
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
126 changed files with 411 additions and 243 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,14 +125,14 @@ 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])
local outputStr=''
for i=1,#timeUnits do
if timeUnits>0 then
if timeUnits[i]>0 then
return timeUnits[i]..timeLetters[i]..' '..timeUnits[i+1]..timeLetters[i+1]
end
end

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

@@ -10,12 +10,12 @@ return {
{"新人学习/练习路线",
"读我 必读 萌新 xinren new noob readme",
"help",
"以下是关于提升真正打块能力的指引,如果在以下任何项目练习过程中感到有困难,可以适当回去玩玩自己喜欢的项目。别忘了你是来 “玩” 游戏的,兴趣最重要。\n以下给出几个新手时期的主线任务树前期主要就应该练习以下内容学定式和T-Spin什么的对实力帮助很小我们不认为靠定式对战秒其他萌新是有效实力\n注意三段应当同时进行不是A→B→C\nA. 堆叠能力练习方法\n\tA1. 手上的块可以放的时候先别急着放,看看下一块有没有地方,如果放不下去就看看手上的能不能换个地方\n\tA2. 尝试把地形尽量控制得平整,因为大多数情况比较平的地形来啥块都比较容易放得下去\n\tA3. 允许hold的时候可以多想想手里和hold的块和后续几块应该怎么安排顺序长远地使地形平整\nB. 操作效率与速度练习方法\n\tB1. 不要每一块都拿影子去对形状对位置,要自己想象这个块转一下是什么方向,想好了再开始按按键\n\tB2. 学习双旋,能逆时针转一次就不要顺时针转三次,费手\n\tB3. 学习极简,刚开始不用管速度,保证正确率最重要,养成良好习惯以后再提速快得很\nC. 堆叠能力考核\n\tC1. 稳定完成40行不死可以用hold\n\tC2. 稳定完成40行不死不能用hold\n\tC3. 稳定全消四完成40行可以用hold\n\tC4. 稳定全消四完成40行不能用hold\n以上都是根据社区和个人经验总结的模糊方法与目标所以C的考核可以根据自身情况调整严格程度例如 “稳定” 的具体成功率)。\n完成C的考核后需要在未来一直注意没有上限的A1这是方块的根本元素之一强大的读next能力可以让你快速上手任何变种玩法。",
"以下是关于提升真正打块能力的指引,如果在以下任何项目练习过程中感到有困难,可以适当回去玩玩自己喜欢的项目。别忘了你是来 “玩” 游戏的,兴趣最重要。\n以下给出几个新手时期的主线任务树前期主要就应该练习以下内容学定式和T-Spin什么的对实力帮助很小我们不认为靠定式对战秒其他萌新是有效实力\n注意三段应当同时进行不是A→B→C\nA. 堆叠能力练习方法\n\tA1. 手上的块可以放的时候先别急着放,看看下一块有没有地方,如果放不下去就看看手上的能不能换个地方\n\tA2. 尝试把地形尽量控制得平整,因为大多数情况比较平的地形来啥块都比较容易放得下去\n\tA3. 允许hold的时候可以多想想手里和hold的块和后续几块应该怎么安排顺序长远地使地形平整\nB. 操作效率与速度练习方法\n\tB1. 不要每一块都拿影子去对形状对位置,要自己想象这个块转一下是什么方向,想好了再开始按按键\n\tB2. 学习双旋,能逆时针转一次就不要顺时针转三次,费手\n\tB3. 学习极简,刚开始不用管速度,保证正确率最重要,养成良好习惯以后再提速快得很\nC. 堆叠能力考核\n\tC1. 稳定完成40行不死可以用hold\n\tC2. 稳定完成40行不死不能用hold\n\tC3. 稳定全消四完成40行可以用hold\n\tC4. 稳定全消四完成40行不能用hold\n以上都是根据社区和个人经验总结的模糊方法与目标所以C的考核可以根据自身情况调整严格程度例如 “稳定” 的具体成功率)。\n完成C的考核后需要在未来一直注意没有上限的A1这是方块的根本元素之一强大的读next能力可以让你快速上手任何变种玩法。",
},
{"关于T-spin学习",
"T旋 T转 tspins",
"help",
"首先指出要能熟练做出各种T-spin并不是只看着T-spin的那一小部分地形就可以玩好的对玩家堆叠能力和计算next能力同样也有较高的要求。\n\n如果不只是出于娱乐、随便玩玩的目的是真的想不断提升T-spin能力变强请在基础能力达到一定要求前不要刻意去学习太多的T-spin而先把重点放在堆叠等基本功上。\n\n参考学T门槛水平40L达到60s以内可以视个人情况调整为40~120s、能够轻松完成全消四的40L、不使用Hold不降太多速度的前提下比较轻松完成全消四的40L培养看next的意识和算力",
"首先指出要能熟练做出各种T-spin并不是只看着T-spin的那一小部分地形就可以玩好的对玩家堆叠能力和计算next能力同样也有较高的要求。\n\n如果不只是出于娱乐、随便玩玩的目的是真的想不断提升T-spin能力变强请在基础能力达到一定要求前不要刻意去学习太多的T-spin而先把重点放在堆叠等基本功上。\n\n参考学T门槛水平40L达到60s以内可以视个人情况调整为40~120s、能够轻松完成全消四的40L、不使用Hold不降太多速度的前提下比较轻松完成全消四的40L培养看next的意识和算力",
},
{"游戏官网",
"official website homepage mainpage guanwang",
@@ -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,37 @@ 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."},
['spinren']= {"Spin Combo", "EFFICIENCY", "Spike in a blink"},
['custom_clear']= {"Custom", "NORMAL"},
['custom_puzzle']= {"Custom", "PUZZLE"},
@@ -995,7 +996,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 +1024,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."},
@@ -941,6 +941,7 @@ return {
['infinite']= {"Infinito", "", "Modo Sandbox."},
['infinite_dig']= {"Infinito: Queso", "", "Limpia, limpia, más limpia que tú."},
['marathon_inf']= {"Maratón", "Infinito", "Maratón infinita."},
-- ['spinren']= {"Spin Combo", "EFFICIENCY", "Spike in a blink"},
['custom_clear']= {"Personalizado", "Normal"},
['custom_puzzle']= {"Personalizado", "Puzzle"},

Some files were not shown because too many files have changed in this diff Show More