Reworked English translations for Zictionary and more (#942)
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -16,7 +16,7 @@ return {
|
||||
newDay="A new day, a new beginning!",
|
||||
playedLong="You have been playing for a long time. Time to take a break!",
|
||||
playedTooMuch="You have been playing for far too long! Techmino is fun, but remember to take some rests!",
|
||||
settingWarn="Careful — you’re about to change some uncommon settings!",
|
||||
settingWarn="Careful—you're about to change some uncommon settings!",
|
||||
settingWarn2="This setting takes effect after restart",
|
||||
|
||||
atkModeName={"Random","Badges","K.O.s","Attackers"},
|
||||
@@ -70,23 +70,23 @@ return {
|
||||
switchSpawnSFX="Please turn on the block spawn SFX!",
|
||||
needRestart="Restart to apply all changes.",
|
||||
|
||||
loadError_errorMode="'$1' loading failed: no load mode '$2'",
|
||||
loadError_read="'$1' loading failed: read failed",
|
||||
loadError_noFile="'$1' loading failed no file:",
|
||||
loadError_other="'$1' loading failed: $2",
|
||||
loadError_unknown="'$1' loading failed: unknown reason",
|
||||
loadError_errorMode="Failed to load '$1': no load mode called '$2'",
|
||||
loadError_read="Failed to load '$1': failed to read the file",
|
||||
loadError_noFile="Failed to load '$1': no such file",
|
||||
loadError_other="Failed to load '$1': $2",
|
||||
loadError_unknown="Failed to load '$1': unknown error",
|
||||
|
||||
saveError_duplicate="'$1' saving failed: duplicated filename",
|
||||
saveError_encode="'$1' saving failed: encode failed",
|
||||
saveError_other="'$1' saving failed: $2",
|
||||
saveError_unknown="'$1' saving failed: unknown reason",
|
||||
saveError_duplicate="Failed to save '$1': duplicated filename",
|
||||
saveError_encode="Failed to save '$1': encoding error",
|
||||
saveError_other="Failed to save '$1': $2",
|
||||
saveError_unknown="Failed to save '$1': unknown error",
|
||||
|
||||
copyDone="Copied!",
|
||||
saveDone="Data saved",
|
||||
exportSuccess="Exported successfully",
|
||||
importSuccess="Imported successfully",
|
||||
dataCorrupted="Data corrupted",
|
||||
pasteWrongPlace="Paste at the wrong place?",
|
||||
pasteWrongPlace="Did you paste in the wrong place?",
|
||||
noFile="File missing",
|
||||
|
||||
nowPlaying="Now playing:",
|
||||
@@ -97,7 +97,7 @@ return {
|
||||
|
||||
noScore="No scores",
|
||||
modeLocked="Locked",
|
||||
unlockHint="Achieve Rank B or above in the preceding modes to unlock",
|
||||
unlockHint="Reach rank B or higher in the previous modes to unlock",
|
||||
highScore="High Scores",
|
||||
newRecord="New Record!",
|
||||
|
||||
@@ -144,7 +144,7 @@ return {
|
||||
playerNotFound="Player not found",
|
||||
invalidEmailPass="Invalid email or password",
|
||||
emailExists="Email exists",
|
||||
emailSendError="Email send error",
|
||||
emailSendError="Failed to send email",
|
||||
},
|
||||
-- Strategies
|
||||
PlayerRole={
|
||||
@@ -160,9 +160,9 @@ return {
|
||||
},
|
||||
},
|
||||
|
||||
tooFrequent="Request too frequently",
|
||||
tooFrequent="Requests are too frequent",
|
||||
roomPasswordChanged="Room password changed",
|
||||
oldVersion="Version $1 is now available",
|
||||
oldVersion="Version $1 is now available!",
|
||||
versionNotMatch="Versions do not match!",
|
||||
notFinished="Coming soon!",
|
||||
|
||||
@@ -170,8 +170,8 @@ return {
|
||||
wrongEmail="Invalid email address",
|
||||
wrongCode="Invalid verification code",
|
||||
noPassword="Please enter your password",
|
||||
diffPassword="Passwords don’t match",
|
||||
checkEmail="A sign up request has been sent.",
|
||||
diffPassword="Passwords don't match",
|
||||
checkEmail="A sign-up request has been sent. Please check your inbox.",
|
||||
|
||||
wsFailed="WebSocket connection failed: $1",
|
||||
wsClose="WebSocket closed: $1",
|
||||
@@ -181,47 +181,48 @@ return {
|
||||
|
||||
onlinePlayerCount="Online: $1",
|
||||
createRoomSuccessed="Room created",
|
||||
playerKicked="$1 removed $2 from room",
|
||||
becomeHost="$1 become host",
|
||||
playerKicked="$1 removed $2 from the room",
|
||||
becomeHost="$1 became the host",
|
||||
started="Playing",
|
||||
joinRoom="$1 has entered the room.",
|
||||
leaveRoom="$1 has left the room.",
|
||||
roomRemoved="Room was removed",
|
||||
roomRemoved="The room was removed",
|
||||
ready="Ready",
|
||||
spectating="Spectating",
|
||||
|
||||
|
||||
|
||||
keySettingInstruction="Press to bind key\nescape: cancel\nbackspace: delete",
|
||||
customBGhelp="Drop image file here to apply custom background",
|
||||
customBGloadFailed="Unsupport image format for custom background",
|
||||
keySettingInstruction="Press the key on your keyboard to bind\nescape: cancel\nbackspace: delete",
|
||||
customBGhelp="Drag and drop the image file here to use it as the background.",
|
||||
customBGloadFailed="Unsupported image format for custom background",
|
||||
|
||||
errorMsg="Techmino ran into a problem and needs to restart.\nYou can send the error log to the developers.",
|
||||
tryAnotherBuild="UTF-8 decoding error. If you are using Microsoft Windows, please try to download the build with the different architecture. If you are using the x86 version of Techmino, try downloading the x64 version and vice versa.",
|
||||
|
||||
modInstruction="Choose your modifiers!\nMods allow you to change the game,\nbut they may also crash the game.\nScores will not be saved when using mods.",
|
||||
modInstruction="Choose your modifiers here!\nMods allow you to change the rules in various ways, but they can also crash the game. Feel free to play the game your way!\nNote that scores are not saved when using mods. You can also toggle mods using your keyboard keys (hold Shift to reverse).",
|
||||
modInfo={
|
||||
next="NEXT\nOverrides the number of Next pieces displayed.",
|
||||
hold="HOLD\nOverrides the number of Hold pieces displayed.",
|
||||
hideNext="Hidden NEXT\nHides the specified amount of pieces on the Next queue.",
|
||||
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 piece you are controlling invisible.",
|
||||
hideGhost="No Ghost\nMakes the Ghost Piece invisible.",
|
||||
hidden="Hide Locked Pieces.\nMakes locked pieces fade out in specified time.",
|
||||
hideBoard="Hide Board\nPartially or fully hides the field.",
|
||||
flipBoard="Flip Board\nFlips or rotates the field.",
|
||||
dropDelay="Gravity\nOverrides the falling speed in frames per block.",
|
||||
hideBlock="Hide Current Piece\nMakes the current pieces invisible.",
|
||||
hideGhost="No Ghost\nMakes the ghost pieces 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.",
|
||||
dropDelay="Gravity\nOverrides the falling speed (in frames per block).",
|
||||
lockDelay="Lock Delay\nOverrides the lock delay (in frames).",
|
||||
waitDelay="Spawn Delay\nOverrides the spawn delay (in frames).",
|
||||
fallDelay="Line Clear Delay\nOverrides the line clear delay in frames.",
|
||||
life="Life\nChanges the initial number of extra lives.",
|
||||
forceB2B="B2B Only\nEnds the game when the B2B gauge drops below the initial line.",
|
||||
forceFinesse="Finesse Only\nEnds the game on finesse fault",
|
||||
fallDelay="Line Clear Delay\nOverrides the line clear delay (in frames).",
|
||||
life="Lives\nChanges the initial number of extra lives.",
|
||||
forceB2B="B2B Only\nEnds the game when the B2B gauge drops below the starting line.",
|
||||
forceFinesse="Finesse Only\nEnds the game after a finesse error.",
|
||||
tele="Teleport\nForces 0 DAS and 0 ARR.",
|
||||
noRotation="No Rotation\nDisables piece rotations.",
|
||||
noMove="No Movement\nDisables left and right movements.",
|
||||
customSeq="Randomizer\nOverrides the randomizer of the block sequence.",
|
||||
pushSpeed="Garbage Speed\nOverride the rising speed of garbage lines (blocks/frame).",
|
||||
boneBlock="[ ]\nPlay with [ ] blocks.",
|
||||
noRotation="No Rotation\nDisables piece rotation.",
|
||||
noMove="No Movement\nDisables sideways movement.",
|
||||
customSeq="Randomizer\nOverrides the block sequence randomizer.",
|
||||
pushSpeed="Garbage Speed\nOverride the rising speed of the garbage lines (in blocks per frame).",
|
||||
boneBlock="Bone Block\nPlay with bone blocks ([ ]).",
|
||||
},
|
||||
pauseStat={
|
||||
"Time:",
|
||||
@@ -236,7 +237,7 @@ return {
|
||||
"Finesse:",
|
||||
},
|
||||
radar={"DEF","OFF","ATK","SEND","SPD","DIG"},
|
||||
radarData={"D’PM","ADPM","APM","SPM","L’PM","DPM"},
|
||||
radarData={"D'PM","ADPM","APM","SPM","L'PM","DPM"},
|
||||
stat={
|
||||
"Times Launched:",
|
||||
"Play Count:",
|
||||
@@ -251,16 +252,18 @@ return {
|
||||
"Fns. Errs/Rate:",
|
||||
},
|
||||
aboutTexts={
|
||||
"This is just an *ordinary* block stacker. Really, that’s it.",
|
||||
"This is just an *ordinary* block stacker. Really, that's it.",
|
||||
"Inspired by C2/IO/JS/WWC/KOS etc.",
|
||||
"",
|
||||
"Powered by LÖVE",
|
||||
"Any suggestions or bug reports are appreciated!",
|
||||
"Make sure to get the game only from official sources,",
|
||||
"as we can’t make sure you’re safe if you got it elsewhere.",
|
||||
"The author is not responsible for any modifications.",
|
||||
"Be sure to download or update the game only from the official sources,",
|
||||
"as we cannot verify the safety of the program obtained elsewhere.",
|
||||
"Techmino only asks for permission to vibrate and to connect to the Internet.",
|
||||
"",
|
||||
"The author shall not be held responsible for any damage caused by the users' modifications to the game..",
|
||||
FNNS and "/" or "While the game is free, donations are appreciated.",
|
||||
FNNS and "/" or "Check Zictionary for more",
|
||||
FNNS and "/" or "Check Zictionary for more information.",
|
||||
},
|
||||
staff={
|
||||
"ORIGINALLY BY MrZ",
|
||||
@@ -385,19 +388,19 @@ return {
|
||||
[[
|
||||
INSTRUCTIONS FOR NAVIGATION IN TETRODICTIONARY
|
||||
|
||||
A. Mouse / Touchscreen
|
||||
A. Mouse/Touchscreen
|
||||
- Press/touch a term in the list on the left to select the entry
|
||||
|
||||
- Press/touch [$14] to copy the content of the current entry
|
||||
- Press/touch [$14] to copy the contents of the current entry
|
||||
- Press/touch [$15] to open the link of the current entry (if available)
|
||||
|
||||
B. Keyboard
|
||||
Press...
|
||||
Press…
|
||||
- [F1] to display Help
|
||||
- [$1] or [$2] to scroll through the text
|
||||
- [$3] to open the previous entry and [$4] to open the next entry, speed up with [Ctrl]
|
||||
|
||||
- [-] to decrease the font size, [+] to increase the font size
|
||||
- [–] to decrease the font size, [+] to increase the font size
|
||||
- [0] to restore the default font size
|
||||
|
||||
- [Ctrl + C] to copy text
|
||||
@@ -467,7 +470,7 @@ C. Gamepad
|
||||
},
|
||||
net_newRoom={
|
||||
title="Room Config",
|
||||
roomName="Room name (Default: “[username]'s room”)",
|
||||
roomName="Room name (Default: \"[username]'s room\")",
|
||||
password="Password",
|
||||
description="Room Description",
|
||||
|
||||
@@ -727,7 +730,7 @@ C. Gamepad
|
||||
push="Add Line (K)",
|
||||
del="Del Line (L)",
|
||||
|
||||
demo="Don’t Show “×”",
|
||||
demo="Don't Show \"×\"",
|
||||
|
||||
newPg="New Page (N)",
|
||||
delPg="Del Page (M)",
|
||||
@@ -855,11 +858,11 @@ C. Gamepad
|
||||
['sprint_40l']= {"Sprint", "40L", "Clear 40 lines!"},
|
||||
['sprint_100l']= {"Sprint", "100L", "Clear 100 lines!"},
|
||||
['sprint_400l']= {"Sprint", "400L", "Clear 400 lines!"},
|
||||
['sprint_1000l']= {"Sprint", "1,000L", "Clear 1,000 lines!"},
|
||||
['sprintPenta']= {"Sprint", "PENTOMINO", "40L with 18 pentominoes"},
|
||||
['sprint_1000l']= {"Sprint", "1000L", "Clear 1,000 lines!"},
|
||||
['sprintPenta']= {"Sprint", "PENTOMINO", "40L with the 18 pentominoes"},
|
||||
['sprintMPH']= {"Sprint", "MPH", "Memoryless\nPreviewless\nHoldless"},
|
||||
['sprint123']= {"Sprint", "M123", "40L with only monominoes, dominoes, and triminoes"},
|
||||
['secret_grade']= {"Secret Grade", "", "Build a zig-zag hole formation, following to the guide!"},
|
||||
['secret_grade']= {"Secret Grade", "", "Building a zigzag shape by following the guide!"},
|
||||
['dig_10l']= {"Dig", "10L", "Dig 10 garbage lines as fast as you can!"},
|
||||
['dig_40l']= {"Dig", "40L", "Dig 40 garbage lines as fast as you can!"},
|
||||
['dig_100l']= {"Dig", "100L", "Dig 100 garbage lines as fast as you can!"},
|
||||
@@ -869,8 +872,8 @@ C. Gamepad
|
||||
['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", "No I-pieces available"},
|
||||
['drought_l']= {"Drought+", "100L", "W T F"},
|
||||
['drought_n']= {"Drought", "100L", "100L but without I blocks"},
|
||||
['drought_l']= {"Drought+", "100L", "W. T. F."},
|
||||
['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!"},
|
||||
@@ -889,8 +892,8 @@ C. Gamepad
|
||||
['round_h']= {"Turn-Based", "HARD", "Take turns to play against the AI!"},
|
||||
['round_l']= {"Turn-Based", "LUNATIC", "Take turns to play against the AI!"},
|
||||
['round_u']= {"Turn-Based", "ULTIMATE", "Take turns to play against the AI!"},
|
||||
['big_n']= {"Big", "NORMAL", "Play in a smaller field!"},
|
||||
['big_h']= {"Big", "HARD", "Play in a smaller field!"},
|
||||
['big_n']= {"Big", "NORMAL", "Play in a 5×10 field!"},
|
||||
['big_h']= {"Big", "HARD", "Play in a 5×10 field!"},
|
||||
['master_n']= {"Master", "NORMAL", "For 20G beginners"},
|
||||
['master_h']= {"Master", "HARD", "For 20G pros"},
|
||||
['master_m']= {"Master", "M21", "For 20G Masters"},
|
||||
@@ -898,23 +901,23 @@ C. Gamepad
|
||||
['master_ph']= {"Master", "PHANTASM", "???"},
|
||||
['master_g']= {"Master", "GRADED", "Get the highest grade you can!"},
|
||||
['master_ex']= {"GrandMaster", "EXTRA", "An eternity shorter than an instant"},
|
||||
['master_instinct']={"Master", "INSTINCT", "What if the active piece turned invisible?"},
|
||||
['master_instinct']={"Master", "INSTINCT", "What if the active piece becomes invisible?"},
|
||||
['strategy_e']= {"Strategy", "EASY", "Fast 20G decision"},
|
||||
['strategy_h']= {"Strategy", "HARD", "Fast 20G decision"},
|
||||
['strategy_u']= {"Strategy", "ULTIMATE", "Fast 20G decision"},
|
||||
['strategy_e_plus']={"Strategy", "EASY+", "Holdless strategy!"},
|
||||
['strategy_h_plus']={"Strategy", "HARD+", "Holdless strategy!"},
|
||||
['strategy_u_plus']={"Strategy", "ULTIMATE+", "Holdless strategy!"},
|
||||
['blind_e']= {"Invisible", "HALF", "For novices"},
|
||||
['blind_e']= {"Invisible", "HALF", "For beginners"},
|
||||
['blind_n']= {"Invisible", "ALL", "For intermediates"},
|
||||
['blind_h']= {"Invisible", "SUDDEN", "For the experienced"},
|
||||
['blind_l']= {"Invisible", "SUDDEN+", "For professionals"},
|
||||
['blind_u']= {"Invisible", "?", "Are you ready?"},
|
||||
['blind_wtf']= {"Invisible", "WTF", "You’re not ready"},
|
||||
['classic_e']= {"Classic", "EASY", "A low-speed recreation from the 80s"},
|
||||
['classic_h']= {"Classic", "HARD", "A medium-speed recreation from the 80s"},
|
||||
['classic_l']= {"Classic", "LUNATIC", "A high-speed recreation from the 80s"},
|
||||
['classic_u']= {"Classic", "ULTIMATE", "A very high-speed recreation from the 80s"},
|
||||
['blind_wtf']= {"Invisible", "WTF", "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"},
|
||||
['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?"},
|
||||
@@ -940,8 +943,8 @@ C. Gamepad
|
||||
['tech_h_plus']= {"Tech", "HARD+", "Spins & PCs only"},
|
||||
['tech_l']= {"Tech", "LUNATIC", "Try to keep the\nBack-to-Back chain!"},
|
||||
['tech_l_plus']= {"Tech", "LUNATIC+", "Spins & PCs only"},
|
||||
['tech_finesse']= {"Tech", "FINESSE", "No finesse faults!"},
|
||||
['tech_finesse_f']= {"Tech", "FINESSE+", "No normal clears and finesse faults!"},
|
||||
['tech_finesse']= {"Tech", "FINESSE", "No finesse errors!"},
|
||||
['tech_finesse_f']= {"Tech", "FINESSE+", "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!"},
|
||||
@@ -950,11 +953,11 @@ C. Gamepad
|
||||
['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 40lines!"},
|
||||
['zen']= {'Zen', "200", "A 200-line run without a time limit"},
|
||||
['sprintEff']= {"Sprint", "Efficiency", "Send more attack in 40 lines!"},
|
||||
['zen']= {'Zen', "200", "A 200-line run with no time limit"},
|
||||
['ultra']= {'Ultra', "EXTRA", "A 2-minute score attack"},
|
||||
['infinite']= {"Infinite", "", "Just a sandbox"},
|
||||
['infinite_dig']= {"Infinite: Dig", "", "Dig-diggin’-dug"},
|
||||
['infinite_dig']= {"Infinite: Dig", "", "Dig-diggin'-dug"},
|
||||
['marathon_inf']= {"Marathon", "INFINITE", "Infinite marathon."},
|
||||
|
||||
['custom_clear']= {"Custom", "NORMAL"},
|
||||
@@ -962,22 +965,22 @@ C. Gamepad
|
||||
},
|
||||
getTip={refuseCopy=true,
|
||||
":pog:",
|
||||
"“Techmino.app” cannot be opened because the developer cannot be verified.",
|
||||
"“Techmino.app” will damage your computer. You should move it to the Bin.",
|
||||
"“TechminOS”",
|
||||
"(RUR’U’)R’FR2U’R’U’(RUR’F’)",
|
||||
"\"Techmino.app\" cannot be opened because the developer cannot be verified.",
|
||||
"\"Techmino.app\" will damage your computer. You should move it to the Trash.",
|
||||
"\"TechminOS\"",
|
||||
"(RUR′U′)R′FR2U′R′U′(RUR′F′)",
|
||||
"\\jezevec/\\jezevec/\\jezevec/",
|
||||
"\\osk/\\osk/\\osk/",
|
||||
"↑↑↓↓←→←→BA",
|
||||
"$include<studio.h>",
|
||||
"0next 0hold.",
|
||||
"1next 0hold",
|
||||
"1next 1hold!",
|
||||
"1next 6hold!",
|
||||
"20G actually is a brand new game rule!",
|
||||
"0 next 0 hold.",
|
||||
"1 next 0 hold",
|
||||
"1 next 1 hold!",
|
||||
"1 next 6 hold!",
|
||||
"20G is actually a brand new game rule!",
|
||||
"40-line Sprint WR: 14.188s by Lurny",
|
||||
"6next 1hold!",
|
||||
"6next 6hold?!",
|
||||
"6 next 1 hold!",
|
||||
"6 next 6 hold?!",
|
||||
"A choke a day keeps record away",
|
||||
"ALL SPIN!",
|
||||
"Am G F G",
|
||||
@@ -990,66 +993,66 @@ C. Gamepad
|
||||
"Certainly within this heart lies my M@STERPIECE.",
|
||||
"Changelogs in English can be found on Discord.",
|
||||
"Color clear coming soon!",
|
||||
"Decreasing DAS and ARR makes your game faster but harder to control.",
|
||||
"Decreasing DAS and ARR makes your game faster, but harder to control.",
|
||||
"Did I just see a Back-to-Back-to-Back?",
|
||||
"Does B2B2B2B exist?",
|
||||
"Don’t let a small glitch ruin your entire day!",
|
||||
"Don’t look directly at the bugs!",
|
||||
"Don't let a small glitch ruin your entire day!",
|
||||
"Don't look directly at the bugs!",
|
||||
"Enjoy the Techmino rotation system!",
|
||||
"Excellent, but let’s go better next time…",
|
||||
"Find out what’s in the settings!",
|
||||
"Found any bugs? Open up an issue in our GitHub page!",
|
||||
"Excellent, but let's go better next time…",
|
||||
"Find out what's in the settings!",
|
||||
"Found a bug? Open an issue on our GitHub page!",
|
||||
"Free-to-play block stacking game with a Battle Royale mode!",
|
||||
"git commit",
|
||||
"git push -f",
|
||||
"Got any suggestions? Post them in our Discord!",
|
||||
"Have you noticed what “rotating” does do to a block?",
|
||||
"Got a suggestion? Post it on our Discord server!",
|
||||
"Have you noticed what a \"rotation\" does do to a block?",
|
||||
"Headphones recommended for a better experience.",
|
||||
"Hello world!",
|
||||
"I3 and L3 are the only two unique triminoes.",
|
||||
"I3 and L3 are the only two possible triminoes.",
|
||||
" if a==true",
|
||||
"Increase your frame rate for a better experience.",
|
||||
"Initial [insert action] system can save you.",
|
||||
"Is B2B2B2B possible?",
|
||||
"It is loading! Not just a cutscene!",
|
||||
"It’s possible to finish 40L without left/right buttons.",
|
||||
"It’s possible to finish 40L without rotation buttons.",
|
||||
"Join our Discord!",
|
||||
"It's possible to finish 40L without left/right buttons.",
|
||||
"It's possible to finish 40L without rotation buttons.",
|
||||
"Join our Discord server!",
|
||||
"l-=-1",
|
||||
"Let the bass kick!",
|
||||
"Low frame rates reduce your gaming experience.",
|
||||
"Low frame rates degrade your gaming experience.",
|
||||
"LrL RlR LLr RRl RRR LLL FFF RfR RRf rFF",
|
||||
"Lua No.1",
|
||||
"Mix clear coming soon!",
|
||||
"Most of the button icons are realized by using self-drawn glyphs in the Unicode Private Use Area.",
|
||||
"Most of the music tracks in this game are made using Beepbox.",
|
||||
"Music too distracting? You can turn it off.",
|
||||
"Most of the button icons are realized by using custom glyphs in the Unicode Private Use Area of the game font.",
|
||||
"Most of the music tracks in this game are created using the Beepbox.",
|
||||
"Music too distracting? You can turn it off in Settings.",
|
||||
"No easter eggs in this menu if you have the simplistic style turned on!",
|
||||
"O-Spin Triple!",
|
||||
"OHHHHHHHHHHHHHH",
|
||||
"Play single-handedly!",
|
||||
"Playing good takes some time!",
|
||||
"Play with one hand!",
|
||||
"Playing well takes time!",
|
||||
"Powered by LÖVE",
|
||||
"Powered by Un..LÖVE",
|
||||
"pps-0.01",
|
||||
"Server down randomly",
|
||||
"Some requirements to achieve rank X are intentionally set to be difficult for even the best players.",
|
||||
"Soon, you’ll be able to play against friends and foes all over the world.",
|
||||
"Server goes down randomly",
|
||||
"Some of the requirements for grade X are intentionally set to be difficult for even the best players.",
|
||||
"You'll soon be able to play against friends and foes around the world.",
|
||||
"Split clear coming soon!",
|
||||
"sudo rm -rf /*",
|
||||
"Techmino is a portmanteau of “technique” and “tetromino”.",
|
||||
"Techmino is a portmanteau of \"technique\" and \"tetromino\".",
|
||||
"Techmino is so fun!",
|
||||
"Techmino on Nspire-CX: yes it exists, no it’s not the same game.",
|
||||
"Techmino on Nspire-CX: yes it exists, no it's not the same game.",
|
||||
"TetroDictionary is now available in English.",
|
||||
"The names that appeared in the background of the Staff page is a list of our sponsors.",
|
||||
"The soundtracks of this game is now available on Soundcloud for free!",
|
||||
"The names that appear in the background of the Staff page are a list of our sponsors.",
|
||||
"The soundtracks of this game are now available for free on Soundcloud!",
|
||||
"The stacker future is yours in Techmino!",
|
||||
"There are several hidden modes in the game that cannot be entered using the map.",
|
||||
"There is a total of 18 different pentominoes.",
|
||||
"There is a total of 7 different tetrominoes.",
|
||||
"The game has several hidden modes that are not accessible from the map.",
|
||||
"There are 18 different pentominoes.",
|
||||
"There are 7 different tetrominoes.",
|
||||
"Try online multiplayer! Expect things to break though.",
|
||||
"Try using multiple Hold Queues!",
|
||||
"Try using two rotation buttons. Using all three of them is better.",
|
||||
"Try using two rotation buttons. Using all three is better.",
|
||||
"Warning: Programmer Art",
|
||||
"What about 20 PCs?",
|
||||
"What about 23 PCs in 100 lines?",
|
||||
@@ -1057,12 +1060,12 @@ C. Gamepad
|
||||
"What is this cheap UI & music smh",
|
||||
" while (false)",
|
||||
"You are a Grand Master!",
|
||||
"You are welcome to help us to make BGMs and SFXs!",
|
||||
"You can connect a keyboard to your phone or tablet (not functional on iOS though).",
|
||||
"You are welcome to help us create BGMs and SFXs!",
|
||||
"You can connect a keyboard to your phone or tablet to play Techmino (does not work on iOS though).",
|
||||
"You can customize the key mappings in settings!",
|
||||
"You can open the save directory from the Stats page.",
|
||||
"You can perform a spin with all of the minoes in this game.",
|
||||
"You can set the spawning orientation for each piece.",
|
||||
"You can set the spawn orientation for each piece.",
|
||||
"ZS JL T O I",
|
||||
{C.C,"Also try 15puzzle!"},
|
||||
{C.C,"Also try Ballance!"},
|
||||
@@ -1072,7 +1075,7 @@ C. Gamepad
|
||||
{C.C,"Also try osu!"},
|
||||
{C.C,"Also try Phigros!"},
|
||||
{C.C,"Also try Puyo Puyo!"},
|
||||
{C.C,"Also try Rubik’s cube!"},
|
||||
{C.C,"Also try Rubik's cube!"},
|
||||
{C.C,"Also try Terraria!"},
|
||||
{C.C,"Also try Touhou Project!"},
|
||||
{C.C,"Also try VVVVVV!"},
|
||||
@@ -1084,8 +1087,8 @@ C. Gamepad
|
||||
{C.lY,"COOL!!"},
|
||||
{C.N,"Lua",C.Z," No.1"},
|
||||
{C.P,"T-spin!"},
|
||||
{C.R,"“DMCA abusing”"},
|
||||
{C.R,"“Intellectual property law”"},
|
||||
{C.R,"\"DMCA abusing\""},
|
||||
{C.R,"\"Intellectual property law\""},
|
||||
{C.R,"DD",C.Z," Cannon=",C.P,"TS",C.R,"D",C.Z,"+",C.P,"TS",C.R,"D",C.Z," Cannon"},
|
||||
{C.R,"DT",C.Z," Cannon=",C.P,"TS",C.R,"D",C.Z,"+",C.P,"TS",C.R,"T",C.Z," Cannon"},
|
||||
{C.R,"LrL ",C.G,"RlR ",C.B,"LLr ",C.O,"RRl ",C.P,"RRR ",C.P,"LLL ",C.C,"FFF ",C.Y,"RfR ",C.Y,"RRf ",C.Y,"rFF"},
|
||||
|
||||
@@ -33,9 +33,9 @@ return {
|
||||
tasUsing="[TAS]",
|
||||
|
||||
stage="关卡 $1 完成",
|
||||
great="Great!",
|
||||
great="Great!",
|
||||
awesome="Awesome.",
|
||||
almost="Almost!",
|
||||
almost="Almost!",
|
||||
continue="Continue.",
|
||||
maxspeed="最高速度",
|
||||
speedup="速度加快",
|
||||
@@ -884,8 +884,8 @@ return {
|
||||
['round_h']= {"回合制", "困难", "下棋模式"},
|
||||
['round_l']= {"回合制", "疯狂", "下棋模式"},
|
||||
['round_u']= {"回合制", "极限", "下棋模式"},
|
||||
['big_n']= {"大方块", "普通", "模拟10*5场地的玩法(标准尺寸的一半)"},
|
||||
['big_h']= {"大方块", "困难", "模拟10*5场地的玩法(标准尺寸的一半)"},
|
||||
['big_n']= {"大方块", "普通", "模拟5×10场地的玩法(标准尺寸的一半)"},
|
||||
['big_h']= {"大方块", "困难", "模拟5×10场地的玩法(标准尺寸的一半)"},
|
||||
['master_n']= {"大师", "普通", "20G初心者练习"},
|
||||
['master_h']= {"大师", "困难", "上级者20G挑战"},
|
||||
['master_m']= {"大师", "大师", "大师20G"},
|
||||
|
||||
@@ -1,105 +1,119 @@
|
||||
Gameplay:
|
||||
The system will provide you with tetrominoes (4-block pieces),
|
||||
with a total of 7 types, and the player needs to control them
|
||||
(move left and right, rotate 90, 180, or 270 degrees).
|
||||
Each row filled with the field will be cleared.
|
||||
If there is an opponent, an attack will be sent depending on the type of line clear.
|
||||
Play until the end or achieve the level’s goal to win.
|
||||
The system provides the player with 7 types of tetrominoes (4-mino blocks), which the player must control
|
||||
(by moving left and right, and rotating 90°, 180°, or 270°) until they fall to the bottom of the screen and are locked.
|
||||
A line is cleared when it is filled. If an opponent is present, an attack will be sent based on the type of line clear.
|
||||
You can win by surviving to the end or by completing the level's objective.
|
||||
|
||||
Rotation system:
|
||||
Uses TRS (Techmino Rotation System) by default.
|
||||
The game allows players to choose other commonly used rotation systems (generally unnecessary)
|
||||
Rotation System:
|
||||
TRS (Techmino Rotation System) is used by default in Techmino,
|
||||
but it can be changed to other commonly used ones (though generally unnecessary).
|
||||
|
||||
Spin detection:
|
||||
Satisfies “3-corner” rule +2 points
|
||||
Satisfies “immobile” rule +2 points
|
||||
- As long as one of the above is true, it is a Spin
|
||||
Spin Detection:
|
||||
Spins in Techmino are calculated by a point system.
|
||||
|
||||
If the rotation was not using the second check in the kick table, +1 point
|
||||
- The Spin is a Mini if it only has 2 points; the piece is one of S, Z, J, L, T; AND the line clear did not clear the entire piece.
|
||||
2 points are added if the spin satisfies the 3-corner rule (see entry in the dictionary),
|
||||
and another 2 points are added if the block is immobile after the spin.
|
||||
*A rotation is counted as a spin as long as one of the above conditions is true.*
|
||||
|
||||
Attack system:
|
||||
Special clear:
|
||||
A special clear refers to a situation where you perform a spin, Techrash (or clear more than four lines at a time), PC, or HPC.
|
||||
Special clears can elevate the B2B gauge.
|
||||
Super clear:
|
||||
A super clear refers to a situation where you perform a special clear when the B2B gauge is not empty.
|
||||
1 point is added if the rotation does not use the second test in the kick table.
|
||||
|
||||
Special clears (spins):
|
||||
sends (lines cleared ×2) attack,
|
||||
- B2B sends extra 1/1/2/4/8 for Spin Single/Double/Triple/Techrash/Techrash+
|
||||
- B2B2B sends (lines cleared ×0.5) on top of that of B2B, and +1 extra blocking
|
||||
- Minis reduces the attack to 25% (×0.25 multiplier)
|
||||
A spin is considered "mini" if it has only 2 points, the block being rotated is S, Z, J, L, or T,
|
||||
and the line clear does not clear the entire block (i.e. with residue).
|
||||
|
||||
Special clears (Techrash/techrash+ without spins):
|
||||
- B2B sends 1 additional line
|
||||
- B2B2B will have an attack boost of 50% and +1 extra blocking
|
||||
Attack System:
|
||||
Special Clear:
|
||||
Special Clears include Spins, Techrashes (or Techrash+, clearing 4+ lines at once), PC, and HPC.
|
||||
Special Clears fill up the B2B meter.
|
||||
Super Clear:
|
||||
A Super Clear is a Special Clear performed in B2B or B3B status.
|
||||
|
||||
Special Clears with spins:
|
||||
This sends an attack with twice the number of line(s) cleared.
|
||||
- Extra 1, 1, 2, 4, and 8 attacks are added for single, double, triple, Techrash, and Techrash+ (4+ lines), respectively,
|
||||
when the player is in B2B status.
|
||||
- Extra attacks with half the number of line clears and an extra line of blocking are added when the player is in B3B status
|
||||
in addition to B2B.
|
||||
- A mini spin reduces the attack to ¼ of the original value.
|
||||
|
||||
Special Clears (Techrash or Techrash+ but no spins):
|
||||
This sends an attack with the same number of line clears.
|
||||
- A extra line of attack is added if a player is in B2B status.
|
||||
- Extra attacks with half the number of line clears and an extra line of blocking are added when the player is in B3B status
|
||||
in addition to B2B.
|
||||
|
||||
Non-special clears:
|
||||
send (lines cleared-0.5) attack.
|
||||
This sends an attack with ½ line less than the number of line clears.
|
||||
|
||||
Combos (REN):
|
||||
The numbers of the combos are equal to (the numbers you clear lines consecutively –1) (capped at 12 combos).
|
||||
All damage above (except attack from PC/HPC) gets a (combo ×25%) bonus, or (combo ×15%) for Single clear.
|
||||
+1 more attack for 2 Combo or more.
|
||||
Combos (or REN):
|
||||
Combo attacks are calculated by multiplying the previous attacks (calculated above) by a "combo factor".
|
||||
This factor is equal to 15% (if it's a single) or 25% (if else) of the number of combos (max 12) you have.
|
||||
Note that the number of combos is one less than the number of consecutive lines you have cleared.
|
||||
An extra line of attack is added if you have 2 or more combos.
|
||||
|
||||
Hemi Perfect Clear (a P.C. “with blocks left below.” If just one line cleared, the remaining blocks must not be player-placed):
|
||||
- Attack +4, Extra Blocking +2
|
||||
Half Perfect Clear (see entry in Zictionary):
|
||||
This sends Four extra lines of attack and gives you two extra lines of blocking.
|
||||
|
||||
Perfect Clear (All Clear):
|
||||
- Sends 8 to 16 (increments within a game by 2 for every PC) OR every other damage above, whichever is higher.
|
||||
- +2 extra blocking.
|
||||
Perfect Clear (or All Clear):
|
||||
This sends anywhere from 8 to 16 attacks. The first PC gives you 8 lines of attack, and each additional PC in a game gives you
|
||||
2 extra lines of attack (up to 16). It also gives you two extra lines of blocking.
|
||||
Note that PC attacks are calculated separately. The final attacks will be the greater of the PC attack and other attacks combined.
|
||||
|
||||
After calculating the above, the damage value will be rounded down and sent.
|
||||
After the above calculation, the attack value is rounded down and sent to the opponent.
|
||||
|
||||
|
||||
Back to Back (B2B) gauge:
|
||||
The B2B gauge ranges from 0 to 1,000. Special line clears are B2B if the gauge is ≥ 50, B2B2B if >800.
|
||||
Back to Back (B2B) meter:
|
||||
The B2B meter can have 0 to 1000 points.
|
||||
A player is in B2B status when the B2B meter is between 50–800 points.
|
||||
A player is in B2B2B (B3B) status when the B2B meter is over 800 points.
|
||||
The following operations can affect the B2B meter.
|
||||
|
||||
Line cleared:
|
||||
Special clears:
|
||||
- Spin Single/Double/Triple/Techrash/Techrash+ + 50/100/180/800/1000 (×50% if Mini)
|
||||
- Techrash/Techrash+ + 150/200/...
|
||||
- PC when lines cleared in this round >4, +800
|
||||
- HPC, +100
|
||||
- A regular line clear -250
|
||||
Line Clears:
|
||||
Special Clears:
|
||||
- Spins that clear a single, double, triple, Techrash, and Techrash+ are worth 50, 100, 180, 800, and 1000 points respectively.
|
||||
The points are halved if it is a mini spin.
|
||||
- A Techrash is worth 150 points, and any additional line cleared at the same time is worth another 50 points.
|
||||
- A PC is worth 800 points if you have already cleared more than 4 lines in this game.
|
||||
- An HPC is worth 100 points.
|
||||
- A non-Special line clear deducts 250 points from the B2B meter.
|
||||
|
||||
No lines cleared:
|
||||
- Spin (0 lines) +20. Note that the B2B gauge cannot exceed 800 using this method.
|
||||
Non-Line Clears
|
||||
- A spin with no line clear is worth 20 points. An empty spin adds no points once the meter reaches 800 points
|
||||
and subtracts 40 points if you are in B3B status (until the meter reaches 800).
|
||||
|
||||
Score system:
|
||||
The better you play, the higher the score.
|
||||
Scoring system:
|
||||
The scoring system is not described here due to its complex calculation and it could be changed from time to time.
|
||||
Generally speaking, the better you play, the higher the score. Scoring is also independent of the individual modes.
|
||||
|
||||
Attack delay:
|
||||
Attacks from Doubles/Triples take effect the fastest;
|
||||
Followed by Techrash, Spins, which send slower attacks;
|
||||
High combos are the slowest;
|
||||
For B2B or B2B2B, they also increase the attack delay while they increase lines sent;
|
||||
Minis will significantly increase the delay.
|
||||
An attack will not take effect immediately to give the player some reaction time before defending.
|
||||
Different attacks have their own delay before they can enter the field, but they generally follow this order:
|
||||
Doubles and Triples have the least delay, followed by Techrashes, spins, and combo attacks. B2B and B3B also increase delay slightly,
|
||||
and Minis increase delay significantly.
|
||||
|
||||
Countering:
|
||||
When you send attacks, if there is garbage in the queue,
|
||||
extra blocking will be used first, then attack, countering the earliest attack at a 1 : 1 ratio.
|
||||
Any additional blocking you didn’t use will be discarded, and finally, the remaining attack power will be sent to your opponent.
|
||||
Counter Attacks:
|
||||
When a player tries to send attacks, the extra blocking from special clears is used to clear the garbage lines
|
||||
before the actual attacks are used (at a 1:1 ratio). The earliest attacks will be canceled out first.
|
||||
Any extra blockings not used are discarded. The remaining attacks are sent to the opponent.
|
||||
|
||||
Battle Royale modes:
|
||||
Many players play a game simultaneously (against AI bots, not actual players).
|
||||
As players get eliminated, blocks fall faster, and garbage takes effect and rises faster.
|
||||
Eliminate other players to gain a badge and the player’s badge to increase your attack power.
|
||||
Players can choose between four attack modes:
|
||||
1. Random: Every time you attack, 10% chance to lock onto a random player.
|
||||
2. Badges: After you attack or when your target dies, lock onto the player with the most badges.
|
||||
3. KOs: Lock onto the player with the highest field after you attack or when your target dies. (Refreshes every second)
|
||||
4. Attackers: attack all players locking onto yourself.
|
||||
Your attack will be sent to all of them. If you are not targeted, you attack a random player (not locking).
|
||||
When all opponents have been eliminated, the last player in the match is the winner.
|
||||
In Battle Royale modes, the player fights against many bots at once.
|
||||
As the bots are eliminated, the gravity increases, the attack delays decrease, and the garbage lines rise faster.
|
||||
Defeating a bot gives you a badge and all the badges that the bot has, which increases your attack.
|
||||
|
||||
Custom mode:
|
||||
You can freely adjust most parameters (not including special effects of other game modes).
|
||||
You can also draw a field to clear or make a template to build.
|
||||
In build (puzzle) mode, you can toggle template display with Function key:
|
||||
Cells with an X cannot have blocks;
|
||||
empty cells can be in any state;
|
||||
regular colored cells have to be made of the corresponding block;
|
||||
garbage-colored cells can be any block but not air.
|
||||
Once you make the shape, you will win.
|
||||
A player can choose from the following four attack modes.
|
||||
1. Random: Move the target of the attack to another random bot (with a 10% probability) after each attack.
|
||||
2. Badges: Move the target of the attack to the bot with the most badges after each attack or when the target is defeated.
|
||||
3. K.O.s: Moves the target of the attack to the bot with the highest stack in the field. Refreshes every second.
|
||||
4. Attackers: Moves the target of the attack to all bots targeting you. If there is no bot targeting you, a random bot will be targeted.
|
||||
|
||||
The last player remaining in the game is the winner when all opponents have been eliminated.
|
||||
|
||||
Custom Games:
|
||||
You can freely adjust most parameters (not including special effects of other game modes).
|
||||
You can also draw a stack in the field to be cleared (Clear mode), or create a template to use as a target for building (Puzzle Mode).
|
||||
|
||||
In Puzzle mode, you can use the function keys to toggle the display of the template. In order to win,
|
||||
cells with X's cannot have any blocks,
|
||||
empty cells can be in any state,
|
||||
cells with color must be occupied by corresponding blocks,
|
||||
and garbage-colored cells must be occupied by a block (no restrictions on block types).
|
||||
|
||||
Reference in New Issue
Block a user