Compare commits
16 Commits
pre0.17.1-
...
pre0.17.1-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
efe4f5a210 | ||
|
|
000188ac86 | ||
|
|
de6814bd34 | ||
|
|
fac020db8c | ||
|
|
d4ec3eefbb | ||
|
|
d43e58f450 | ||
|
|
6e9bf97d89 | ||
|
|
e41aefd17c | ||
|
|
d96c5ca0fa | ||
|
|
4953abbb8c | ||
|
|
637e1a7602 | ||
|
|
55cc3c48be | ||
|
|
d7d9e60b1e | ||
|
|
61218bb942 | ||
|
|
d24888cff5 | ||
|
|
79cf1cf238 |
Submodule Zframework updated: f1deed1a71...deaa9ff03b
3
main.lua
3
main.lua
@@ -159,7 +159,7 @@ do--Z.setCursor
|
||||
_=BLOCK_COLORS[SETTING.skin[R]]
|
||||
gc_setColor(_[1],_[2],_[3],min(abs(1-time%2),.3))
|
||||
_=DSCP[R][0]
|
||||
gc_draw(TEXTURE.miniBlock[R],x,y,time%3.14159265359*4,16,16,_[2]+.5,#BLOCKS[R][0]-_[1]-.5)
|
||||
gc_draw(TEXTURE.miniBlock[R],x,y,time%3.14159265359*4,8,8,2*_[2]+1,2*(#BLOCKS[R][0]-_[1])-1)
|
||||
gc_setColor(1,1,1)
|
||||
gc_draw(ms.isDown(1)and holdImg or normImg,x,y,nil,nil,nil,8,8)
|
||||
end
|
||||
@@ -683,3 +683,4 @@ if TABLE.find(arg,'--test')then
|
||||
love.event.quit(1)
|
||||
end)
|
||||
end
|
||||
WS.switchHost('101.43.110.22','10026','/tech/socket/v1')
|
||||
|
||||
@@ -20,7 +20,7 @@ function back.update()
|
||||
color=BLOCK_COLORS[SETTING.skin[r]],
|
||||
x=SCR.w*rnd(),
|
||||
y=SCR.h*-.05,
|
||||
k=SCR.rad/100,
|
||||
k=SCR.rad/200,
|
||||
ang=rnd()*6.2832,
|
||||
vy=.5+rnd()*.4,
|
||||
vx=rnd()*.4-.2,
|
||||
|
||||
@@ -47,7 +47,7 @@ function back.draw()
|
||||
local M=mino[i]
|
||||
local c=M.color
|
||||
gc_setColor(c[1],c[2],c[3],.2)
|
||||
gc_draw(M.block,M.d*cos(M.ang),M.d*sin(M.ang),M.rotate,(18*M.d/SCR.rad)^1.6,nil,M.block:getWidth()/2,M.block:getHeight()/2)
|
||||
gc_draw(M.block,M.d*cos(M.ang),M.d*sin(M.ang),M.rotate,(12*M.d/SCR.rad)^1.6,nil,M.block:getWidth()/2,M.block:getHeight()/2)
|
||||
end
|
||||
gc_translate(-SCR.cx,-SCR.cy)
|
||||
end
|
||||
|
||||
@@ -6,7 +6,6 @@ local back={}
|
||||
local t
|
||||
local colorLib=BLOCK_COLORS
|
||||
local blocks=BLOCKS
|
||||
local scs=RSlist.TRS.centerPos
|
||||
function back.init()
|
||||
t=rnd()*2600
|
||||
end
|
||||
@@ -21,6 +20,6 @@ function back.draw()
|
||||
end
|
||||
local _=colorLib[SETTING.skin[R]]
|
||||
gc.setColor(_[1],_[2],_[3],.12)
|
||||
gc.draw(TEXTURE.miniBlock[R],SCR.cx,SCR.cy,t%3.1416*6,400*SCR.k,nil,scs[R][0][2]+.5,#blocks[R][0]-scs[R][0][1]-.5)
|
||||
gc.draw(TEXTURE.miniBlock[R],SCR.cx,SCR.cy,t%3.1416*6,200*SCR.k,nil,2*DSCP[R][0][2]+1,2*(#blocks[R][0]-DSCP[R][0][1])-1)
|
||||
end
|
||||
return back
|
||||
|
||||
BIN
parts/fonts/japan.ttf
Normal file
BIN
parts/fonts/japan.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -116,9 +116,9 @@ return{
|
||||
noPassword="Please enter your password",
|
||||
diffPassword="Passwords don't match",
|
||||
registerRequestSent="A sign up request has been sent.",
|
||||
registerSuccessed="Sign up successful!",
|
||||
loginSuccessed="You are now logged in!",
|
||||
accessSuccessed="Access granted",
|
||||
registerOK="Sign up successful!",
|
||||
loginOK="You are now logged in!",
|
||||
accessOK="Access granted",
|
||||
|
||||
wsConnecting="Websocket connecting…",
|
||||
wsFailed="WebSocket connection failed",
|
||||
@@ -276,6 +276,8 @@ return{
|
||||
"C₂₉H₂₅N₃O₅",
|
||||
"NOT_A_ROBOT",
|
||||
"sakurw",
|
||||
"Airun",
|
||||
"幽灵3383",
|
||||
"",
|
||||
"Performances",
|
||||
"Electric283",
|
||||
|
||||
@@ -105,9 +105,9 @@ return{
|
||||
noPassword="Por favor ingresa una contraseña",
|
||||
diffPassword="Las contraseñas no coinciden",
|
||||
registerRequestSent="Petición de registro enviada con éxito",
|
||||
registerSuccessed="¡Registro exitoso!",
|
||||
loginSuccessed="¡Ingreso con éxito!",
|
||||
accessSuccessed="¡Autorizado exitoso!",
|
||||
registerOK="¡Registro exitoso!",
|
||||
loginOK="¡Ingreso con éxito!",
|
||||
accessOK="¡Autorizado exitoso!",
|
||||
|
||||
wsConnecting="Websocket Conectando",
|
||||
wsFailed="WebSocket conexión fallida",
|
||||
|
||||
@@ -106,9 +106,9 @@ return{
|
||||
noPassword="Entrez votre mot de passe",
|
||||
diffPassword="Les mots de passe ne se correspondent pas",
|
||||
-- registerRequestSent="Registration request sent",
|
||||
registerSuccessed="Enregistré avec succès !",
|
||||
loginSuccessed="Connecté avec succès !",
|
||||
accessSuccessed="Autorisé avec succès !",
|
||||
registerOK="Enregistré avec succès !",
|
||||
loginOK="Connecté avec succès !",
|
||||
accessOK="Autorisé avec succès !",
|
||||
|
||||
-- wsConnecting="Websocket Connecting",
|
||||
wsFailed="WebSocket connection échouée",
|
||||
@@ -242,6 +242,8 @@ return{
|
||||
"C₂₉H₂₅N₃O₅",
|
||||
"NOT_A_ROBOT",
|
||||
"sakurw",
|
||||
"Airun",
|
||||
"幽灵3383",
|
||||
"",
|
||||
"Performance",
|
||||
"Electric283",
|
||||
|
||||
@@ -117,9 +117,9 @@ return{
|
||||
noPassword="Silahkan masukki kata sandi Anda",
|
||||
diffPassword="Kata sandi tidak sama",
|
||||
registerRequestSent="Permintaan daftar telah terkirim.",
|
||||
registerSuccessed="Pendaftaran sukses!",
|
||||
loginSuccessed="Anda sekarang tergabung!",
|
||||
accessSuccessed="Akses diberikan",
|
||||
registerOK="Pendaftaran sukses!",
|
||||
loginOK="Anda sekarang tergabung!",
|
||||
accessOK="Akses diberikan",
|
||||
|
||||
wsConnecting="Menghubungkan websocket…",
|
||||
wsFailed="Koneksi websocket gagal",
|
||||
@@ -277,6 +277,8 @@ return{
|
||||
"C₂₉H₂₅N₃O₅",
|
||||
"NOT_A_ROBOT",
|
||||
"sakurw",
|
||||
"Airun",
|
||||
"幽灵3383",
|
||||
"",
|
||||
"Pertunjukan",
|
||||
"Electric283",
|
||||
|
||||
@@ -2,22 +2,22 @@ local C=COLOR
|
||||
return{
|
||||
fallback='en',
|
||||
loadText={
|
||||
loadSFX="SEをロード中",
|
||||
loadSFX="効果音をロード中",
|
||||
loadSample="楽器のサンプル音をロード中",
|
||||
loadVoice="ボイスパックをロード中",
|
||||
loadFont="フォントをロード中",
|
||||
loadModeIcon="モードアイコンをロード中",
|
||||
loadMode="モードをロード中",
|
||||
loadOther="他の重要なアセットをロード中",
|
||||
loadOther="他の重要なアセット等をロード中",
|
||||
finish="好きなキーを押してスタート!",
|
||||
},
|
||||
sureQuit="終了するにはもう一度押してください",
|
||||
sureReset="リセットするにはもう一度押してください",
|
||||
sureDelete="削除するにはもう一度押してください",
|
||||
sureQuit="終了するにはもう一度押してください!",
|
||||
sureReset="リセットするにはもう一度押してください!",
|
||||
sureDelete="削除するにはもう一度押してください!",
|
||||
newDay="新しい1日、新しい始まりです!",
|
||||
playedLong="長時間プレイしています、適度に休憩を!",
|
||||
playedLong="長時間プレイしています、適度に休憩をして!",
|
||||
playedTooMuch="かなり長くプレイしています! Techminoは楽しいですが、休憩を忘れずに!",
|
||||
settingWarn="注意: 通常ではない設定に変更しました!",
|
||||
settingWarn="使用頻度の低い設定を変更しています。注意してください。",
|
||||
|
||||
atkModeName={"ランダム","バッジ狙い","トドメ撃ち","カウンター"},
|
||||
royale_remain="残り $1 人",
|
||||
@@ -36,49 +36,49 @@ return{
|
||||
awesome="すごい!",
|
||||
almost="あと少し!",
|
||||
continue="がんばれ!",
|
||||
maxspeed="再高速度!",
|
||||
speedup="スピードアップ!",
|
||||
maxspeed="最高速度!",
|
||||
speedup="スピードアップ!",
|
||||
missionFailed="失敗…",
|
||||
|
||||
speedLV="Speed Level",
|
||||
piece="Piece",line="Lines",atk="火力",eff="効率",
|
||||
speedLV="レベル",
|
||||
piece="ミノ数",line="ライン数",atk="火力",eff="効率",
|
||||
rpm="RPM",tsd="TSD",
|
||||
grade="Grade",techrash="Techrash",
|
||||
wave="Wave",nextWave="Next",
|
||||
combo="REN",maxcmb="Max REN",
|
||||
pc="Perfect Clear",ko="KOs",
|
||||
|
||||
win="勝利!",
|
||||
lose="負け…",
|
||||
win="Win!",
|
||||
lose="Lose",
|
||||
|
||||
finish="終了",
|
||||
gamewin="君の勝ち!",
|
||||
gameover="ゲームオーバー…",
|
||||
finish="Finished",
|
||||
gamewin="You Won",
|
||||
gameover="Game Over",
|
||||
|
||||
pause="ポーズ",
|
||||
pauseCount="ポーズした回数",
|
||||
finesse_ap="オールパーフェクト",
|
||||
finesse_fc="フルコンボ",
|
||||
finesse_ap="All Perfect",
|
||||
finesse_fc="Full Combo",
|
||||
|
||||
page="ページ:",
|
||||
|
||||
cc_fixed="CCは固定されたミノ順に非対応です!",
|
||||
cc_swap="CCはホールドモードがSwapの時には非対応です!",
|
||||
ai_prebag="AIは通常のテトロミノではない物やカスタマイズされたミノ順には非対応です!",
|
||||
cc_swap="CCはホールドモードがSwapの時に非対応です!",
|
||||
ai_prebag="AIは通常のテトロミノではない物やカスタマイズされたミノ順に非対応です!",
|
||||
ai_mission="AIはカスタムミッションに非対応です!",
|
||||
switchSpawnSFX="ブロック出現時のSFXをONにしてください!",
|
||||
needRestart="すべての変更を適用するために再起動してください!",
|
||||
switchSpawnSFX="ブロック出現時の効果音をONにしてください!",
|
||||
needRestart="すべての変更を適用する為に再起動してください!",
|
||||
|
||||
loadError_errorMode="'$1'の読み込みに失敗: ロードモード'$2'が存在しません",
|
||||
loadError_read="'$1'の読み込みに失敗: 読み込みに失敗しました",
|
||||
loadError_noFile="'$1'の読み込みに失敗: ファイルが存在しません",
|
||||
loadError_other="'$1'の読み込みに失敗: $2",
|
||||
loadError_unknown="'$1'の読み込みに失敗: 原因不明",
|
||||
loadError_unknown="'$1'の読み込みに失敗: 原因不明です",
|
||||
|
||||
saveError_duplicate="'$1'の保存に失敗: 既に同じ名前のファイルがあります",
|
||||
saveError_encode="'$1'の保存に失敗: エンコードエラー",
|
||||
saveError_other="'$1'の保存に失敗: $2",
|
||||
saveError_unknown="'$1'の保存に失敗: 原因不明",
|
||||
saveError_unknown="'$1'の保存に失敗: 原因不明です",
|
||||
|
||||
copyDone="コピーしました!",
|
||||
saveDone="データを保存しました!",
|
||||
@@ -96,8 +96,8 @@ return{
|
||||
|
||||
noScore="スコア無し",
|
||||
modeLocked="ロック",
|
||||
unlockHint="Rank B以上を取得すると解放されるよ!",
|
||||
highScore="ハイスコア",
|
||||
unlockHint="ランクB以上を取得すると解放されるよ!",
|
||||
highScore="最高得点",
|
||||
newRecord="新記録!",
|
||||
|
||||
replayBroken="リプレイが読み込めませんでした",
|
||||
@@ -105,10 +105,10 @@ return{
|
||||
dictNote="==TetroDictionaryからコピーしました==",
|
||||
|
||||
getNoticeFail="お知らせ情報を取得できませんでした",
|
||||
oldVersion="Version $1が取得できます!",
|
||||
needUpdate="最新のVersionを取得してください!",
|
||||
versionNotMatch="Versionsが一致しません!",
|
||||
notFinished="工事中!",
|
||||
oldVersion="バージョン$1のダウンロードが可能になりました",
|
||||
needUpdate="最新バージョンに更新してください",
|
||||
versionNotMatch="バージョンが一致しません",
|
||||
notFinished="未完成ですので、ご期待ください",
|
||||
|
||||
jsonError="JSONエラー",
|
||||
|
||||
@@ -117,16 +117,16 @@ return{
|
||||
noPassword="パスワードを入力してください!",
|
||||
diffPassword="パスワードが一致しません!",
|
||||
registerRequestSent="Sign Upリクエストを送信しました!",
|
||||
registerSuccessed="Sign Up成功!",
|
||||
loginSuccessed="ログインしています!",
|
||||
accessSuccessed="アクセス権限を取得しました!",
|
||||
registerOK="サインアップ成功!",
|
||||
loginOK="ログインしています!",
|
||||
accessOK="アクセス権限を取得しました!",
|
||||
|
||||
wsConnecting="ウェブソケットに接続中…",
|
||||
wsFailed="ウェブソケットとの通信に失敗しました",
|
||||
wsClose="ウェブソケットとの通信を終了:",
|
||||
netTimeout="接続がタイムアウトしました",
|
||||
|
||||
onlinePlayerCount="オンライン",
|
||||
onlinePlayerCount="オンライン人数",
|
||||
createRoomSuccessed="部屋を建てました",
|
||||
started="プレイ中",
|
||||
joinRoom="が入室しました",
|
||||
@@ -134,7 +134,7 @@ return{
|
||||
ready="準備OK",
|
||||
connStream="接続中……",
|
||||
waitStream="待機中……",
|
||||
spectating="観戦",
|
||||
spectating="観戦中",
|
||||
chatRemain="オンライン",
|
||||
chatStart="------チャットの先頭------",
|
||||
chatHistory="------新しいメッセージ------",
|
||||
@@ -169,10 +169,10 @@ return{
|
||||
noMove="No Movement\n左右移動が出来なくなります",
|
||||
customSeq="Randomizer\nミノの出現法則を変更します",
|
||||
pushSpeed="Garbage Speed\n下穴がせり上がるまでに置けるブロック数を変更します (ブロック数/フレーム)",
|
||||
boneBlock="[ ]\n[ ]ブロックで遊ぼう",
|
||||
boneBlock="[ ]\n骨ブロックで遊ぼう",
|
||||
},
|
||||
pauseStat={
|
||||
"Time:",
|
||||
"時間:",
|
||||
"入力数/回転数/ホールド数:",
|
||||
"ミノ数:",
|
||||
"列数/掘った列:",
|
||||
@@ -207,15 +207,15 @@ return{
|
||||
"ゲームは、必ず公式から入手してください",
|
||||
"他から入手した場合は、安全性を保証しません",
|
||||
"同時に作者は、責任を負いません",
|
||||
FNNS and"/"or"ゲーム自体は、無料ですが寄付をお願いします",
|
||||
FNNS and"/"or"ゲーム自体は無料ですが、寄付できるならありがたいです。",
|
||||
FNNS and"/"or"詳しくはZictionaryをご覧ください",
|
||||
},
|
||||
staff={
|
||||
"オリジナルは「MrZ」作",
|
||||
"E-Mail先は: 1046101471@qq.com",
|
||||
"作者「MrZ」",
|
||||
"Eメール先は: 「1046101471@qq.com」まで",
|
||||
"",
|
||||
"プログラム、開発、デザイン",
|
||||
"MrZ様",
|
||||
"MrZ",
|
||||
"",
|
||||
"楽曲作成ツール",
|
||||
"Beepbox",
|
||||
@@ -261,7 +261,7 @@ return{
|
||||
"(Aether)",
|
||||
"(Hailey)",
|
||||
"",
|
||||
"SFXとボイスパック",
|
||||
"効果音とボイスパック",
|
||||
"Miya",
|
||||
"Xiaoya",
|
||||
"Mono",
|
||||
@@ -276,6 +276,9 @@ return{
|
||||
"ScF",
|
||||
"C₂₉H₂₅N₃O₅",
|
||||
"NOT_A_ROBOT",
|
||||
"sakurw",
|
||||
"Airun",
|
||||
"幽灵3383",
|
||||
"",
|
||||
"パフォーマンス",
|
||||
"Electric283",
|
||||
@@ -351,9 +354,9 @@ return{
|
||||
tas="TAS (T)",
|
||||
},
|
||||
net_menu={
|
||||
league="リーグ",
|
||||
ffa="FFA",
|
||||
rooms="クラブ",
|
||||
league="テクリーグ",
|
||||
ffa="自由乱闘戦",
|
||||
rooms="ルーム・プライベート戦",
|
||||
logout="ログアウト",
|
||||
},
|
||||
net_league={
|
||||
@@ -361,7 +364,7 @@ return{
|
||||
},
|
||||
net_rooms={
|
||||
password="パスワード",
|
||||
refreshing="探索中",
|
||||
refreshing="探索中…",
|
||||
noRoom="部屋が存在しません",
|
||||
refresh="更新",
|
||||
new="部屋を建てる",
|
||||
@@ -369,9 +372,9 @@ return{
|
||||
},
|
||||
net_newRoom={
|
||||
title="部屋設定",
|
||||
roomName="部屋名 (デフォルト: \"[username]'s room\")",
|
||||
roomName="部屋名 (デフォルト名: \"[username]'s room\")",
|
||||
password="パスワード",
|
||||
description="部屋説明",
|
||||
description="部屋の説明",
|
||||
|
||||
life="残機数",
|
||||
pushSpeed="迫り上がり速度",
|
||||
@@ -404,7 +407,7 @@ return{
|
||||
eventSet="ルール設定",
|
||||
|
||||
holdMode="ホールド設定",
|
||||
nextCount="ネキスト数",
|
||||
nextCount="ネクスト数",
|
||||
holdCount="ホールド数",
|
||||
infHold="無限ホールド",
|
||||
phyHold="即ホールド",
|
||||
@@ -429,7 +432,7 @@ return{
|
||||
menuPos="メニューの位置",
|
||||
sysCursor="システムカーソル",
|
||||
autoPause="ゲーム中断時のオートポーズ",
|
||||
autoSave="オートセーブ",
|
||||
autoSave="最高得点を更新したときオートセーブ",
|
||||
autoLogin="オートログイン",
|
||||
simpMode="シンプルなホーム画面",
|
||||
},
|
||||
@@ -474,7 +477,7 @@ return{
|
||||
fullscreen="フルスクリーン",
|
||||
|
||||
bg_on="通常背景",
|
||||
bg_off="背景なし",
|
||||
bg_off="背景を閉じる ",
|
||||
bg_custom="カスタム背景",
|
||||
|
||||
blockSatur="ブロックデザイン",
|
||||
@@ -487,8 +490,8 @@ return{
|
||||
graphic="画面→",
|
||||
|
||||
mainVol="主音量",
|
||||
bgm="BGM",
|
||||
sfx="SFX",
|
||||
bgm="音楽",
|
||||
sfx="効果音",
|
||||
stereo="ステレオ",
|
||||
spawn="ブロックの出現音",
|
||||
warn="警告音",
|
||||
@@ -497,7 +500,7 @@ return{
|
||||
|
||||
autoMute="ゲーム中断時のオートミュート",
|
||||
fine="最適化失敗音",
|
||||
sfxPack="SFXパック",
|
||||
sfxPack="効果音パック",
|
||||
vocPack="ボイスパック",
|
||||
apply="適用",
|
||||
},
|
||||
@@ -547,7 +550,7 @@ return{
|
||||
default="デフォルト",
|
||||
snap="グリッドにスナップ",
|
||||
size="サイズ",
|
||||
shape="シャープ",
|
||||
shape="シェイプ",
|
||||
},
|
||||
setting_touchSwitch={
|
||||
b1= "左移動:", b2="右移動:", b3="右回転:", b4="左回転:",
|
||||
@@ -559,7 +562,7 @@ return{
|
||||
norm="ノーマル",
|
||||
pro="アドバンス",
|
||||
icon="アイコン",
|
||||
sfx="SFX",
|
||||
sfx="効果音",
|
||||
vib="VIB",
|
||||
alpha="Alpha",
|
||||
|
||||
@@ -596,7 +599,7 @@ return{
|
||||
eventSet="ルール設定",
|
||||
|
||||
holdMode="ホールド設定",
|
||||
nextCount="ネキスト数",
|
||||
nextCount="ネクスト数",
|
||||
holdCount="ホールド数",
|
||||
infHold="無限ホールド",
|
||||
phyHold="即ホールド",
|
||||
@@ -606,8 +609,8 @@ return{
|
||||
freshLimit="設置時間のリセット回数",
|
||||
opponent="相手",
|
||||
life="残機数",
|
||||
pushSpeed="せり上がり速度",
|
||||
garbageSpeed="せり上がり猶予",
|
||||
pushSpeed="迫り上がり速度",
|
||||
garbageSpeed="迫り上がり猶予",
|
||||
|
||||
bufferLimit="ダメージの保持上限",
|
||||
heightLimit="致死ラインの高さ",
|
||||
@@ -626,7 +629,7 @@ return{
|
||||
any="消しゴム",
|
||||
smart="自動着色",
|
||||
|
||||
push="せり上がり (K)",
|
||||
push="迫り上がり (K)",
|
||||
del="Line消去 (L)",
|
||||
|
||||
demo="×を非表示",
|
||||
@@ -657,7 +660,7 @@ return{
|
||||
about={
|
||||
staff="スタッフ",
|
||||
his="歴史",
|
||||
legals="法的な事",
|
||||
legals="法的情報",
|
||||
},
|
||||
dict={
|
||||
title="TetroDictionary",
|
||||
@@ -671,15 +674,15 @@ return{
|
||||
arrow="→",
|
||||
now="再生中:",
|
||||
|
||||
bgm="BGM",
|
||||
sound="SFX",
|
||||
bgm="音楽",
|
||||
sound="効果音",
|
||||
},
|
||||
launchpad={
|
||||
title="ミュージックルーム",
|
||||
bgm="BGM",
|
||||
sfx="SFX",
|
||||
bgm="音楽",
|
||||
sfx="効果音",
|
||||
voc="VOC",
|
||||
music="BGM",
|
||||
music="曲",
|
||||
label="ラベル",
|
||||
},
|
||||
login={
|
||||
@@ -755,105 +758,105 @@ return{
|
||||
},
|
||||
},
|
||||
modes={
|
||||
['sprint_10l']= {"スプリント", "10L", "10 Line消せ!"},
|
||||
['sprint_20l']= {"スプリント", "20L", "20 Line消せ!"},
|
||||
['sprint_40l']= {"スプリント", "40L", "40 Line消せ!"},
|
||||
['sprint_100l']= {"スプリント", "100L", "100 Line消せ!"},
|
||||
['sprint_400l']= {"スプリント", "400L", "400 Line消せ!"},
|
||||
['sprint_1000l']= {"スプリント", "1,000L", "1,000 Line消せ!"},
|
||||
['sprintPenta']= {"スプリント", "PENTOMINO", "ペントミノで40 Line消去!"},
|
||||
['sprintMPH']= {"スプリント", "MPH", "ミノ順なし\nNextなし\nHoldなし"},
|
||||
['dig_10l']= {"掘り", "10L", "10 Line下穴を掘れ!"},
|
||||
['dig_40l']= {"掘り", "40L", "40 Line下穴を掘れ!"},
|
||||
['dig_100l']= {"掘り", "100L", "100 Line下穴を掘れ!"},
|
||||
['dig_400l']= {"掘り", "400L", "400 Line下穴を掘れ!"},
|
||||
['drought_n']= {"ドラウト", "100L", "Iミノ一切無し!"},
|
||||
['drought_l']= {"ドラウト+", "100L", "わったーふ◯っく!"},
|
||||
['marathon_n']= {"マラソン", "NORMAL", "加速する中で200 Lineマラソン!"},
|
||||
['marathon_h']= {"マラソン", "HARD", "高速の中で200 Lineマラソン!"},
|
||||
['solo_e']= {"バトル", "EASY", "弱めのAIに勝て!"},
|
||||
['solo_n']= {"バトル", "NORMAL", "普通のAIに勝て!"},
|
||||
['solo_h']= {"バトル", "HARD", "強めのAIに勝て!"},
|
||||
['solo_l']= {"バトル", "LUNATIC", "プロレベルのAIに勝て!"},
|
||||
['solo_u']= {"バトル", "ULTIMATE", "神レベルのAIに勝て!"},
|
||||
['techmino49_e']= {"テック 49", "EASY", "弱めの49人で勝負\n最後の1人まで生き残れ!"},
|
||||
['techmino49_h']= {"テック 49", "HARD", "強めの49人で勝負\n最後の1人まで生き残れ!"},
|
||||
['techmino49_u']= {"テック 49", "ULTIMATE", "神レベルの49人で勝負\n最後の1人まで生き残れ!"},
|
||||
['techmino99_e']= {"テック 99", "EASY", "弱めの99人で勝負\n最後の1人まで生き残れ!"},
|
||||
['techmino99_h']= {"テック 99", "HARD", "強めの99人で勝負\n最後の1人まで生き残れ!"},
|
||||
['techmino99_u']= {"テック 99", "ULTIMATE", "神レベルの99人で勝負\n最後の1人まで生き残れ!"},
|
||||
['round_e']= {"ターン制", "EASY", "ターン制で弱めのAIと勝負!"},
|
||||
['round_n']= {"ターン制", "NORMAL", "ターン制で普通のAIと勝負!"},
|
||||
['round_h']= {"ターン制", "HARD", "ターン制で強めのAIと勝負!"},
|
||||
['round_l']= {"ターン制", "LUNATIC", "ターン制でプロレベルのAIと勝負!"},
|
||||
['round_u']= {"ターン制", "ULTIMATE", "ターン制で神レベルのAIと勝負!"},
|
||||
['master_n']= {"マスター", "NORMAL", "20G 初心者方へ"},
|
||||
['master_h']= {"マスター", "HARD", "20G プロの方へ"},
|
||||
['master_m']= {"マスター", "M21", "20G マスターの方へ"},
|
||||
['master_final']= {"マスター", "FINAL", "20G その先へ"},
|
||||
['master_ph']= {"マスター", "PHANTASM", "???"},
|
||||
['master_ex']= {"グランドマスター", "EXTRA", "一瞬よりも短い永遠"},
|
||||
['master_instinct']={"マスター", "INSTINCT", "もしミノが一切見えなくなったら?"},
|
||||
['strategy_e']= {"ストラテジー", "EASY", "20Gでの素早い判断"},
|
||||
['strategy_h']= {"ストラテジー", "HARD", "20Gでの素早い判断"},
|
||||
['strategy_u']= {"ストラテジー", "ULTIMATE", "20Gでの素早い判断"},
|
||||
['strategy_e_plus']={"ストラテジー", "EASY+", "20Gでの素早い判断"},
|
||||
['strategy_h_plus']={"ストラテジー", "HARD+", "20Gでの素早い判断"},
|
||||
['strategy_u_plus']={"ストラテジー", "ULTIMATE+", "20Gでの素早い判断"},
|
||||
['blind_e']= {"目隠し", "HALF", "初心者用"},
|
||||
['blind_n']= {"目隠し", "ALL", "中級者用"},
|
||||
['blind_h']= {"目隠し", "SUDDEN", "上級者用"},
|
||||
['blind_l']= {"目隠し", "SUDDEN+", "プロフェッショナル用!"},
|
||||
['blind_u']= {"目隠し", "?", "覚悟は良いかい?"},
|
||||
['blind_wtf']= {"目隠し", "WTF", "まだ覚悟が足りないな!"},
|
||||
['classic_e']= {"クラシック", "EASY", "80年代のネステト時代を超低速で体験!"},
|
||||
['classic_h']= {"クラシック", "HARD", "80年代のネステト時代を通常速度で体験!"},
|
||||
['classic_u']= {"クラシック", "ULTIMATE", "80年代のネステト時代を超高速で体験!"},
|
||||
['survivor_e']= {"サバイバル", "EASY", "どれだけ生き残れる?"},
|
||||
['survivor_n']= {"サバイバル", "NORMAL", "どれだけ生き残れる?"},
|
||||
['survivor_h']= {"サバイバル", "HARD", "どれだけ生き残れる?"},
|
||||
['survivor_l']= {"サバイバル", "LUNATIC", "どれだけ生き残れる?"},
|
||||
['survivor_u']= {"サバイバル", "ULTIMATE", "どれだけ生き残れる?"},
|
||||
['attacker_h']= {"火力王", "HARD", "攻撃力を磨け!"},
|
||||
['attacker_u']= {"火力王", "ULTIMATE", "攻撃力を磨け!"},
|
||||
['defender_n']= {"相殺王", "NORMAL", "防御力を磨け!"},
|
||||
['defender_l']= {"相殺王", "LUNATIC", "防御力を磨け!"},
|
||||
['dig_h']= {"堀王", "HARD", "回復力を磨け!"},
|
||||
['dig_u']= {"堀王", "ULTIMATE", "回復力を磨け!"},
|
||||
['sprint_10l']= {"スプリント", "10L", "10ライン消せ!"},
|
||||
['sprint_20l']= {"スプリント", "20L", "20ライン消せ!"},
|
||||
['sprint_40l']= {"スプリント", "40L", "40ライン消せ!"},
|
||||
['sprint_100l']= {"スプリント", "100L", "100ライン消せ!"},
|
||||
['sprint_400l']= {"スプリント", "400L", "400ライン消せ!"},
|
||||
['sprint_1000l']= {"スプリント", "1,000L", "1,000ライン消せ!"},
|
||||
['sprintPenta']= {"スプリント", "PENTOMINO", "ペントミノで40ライン消せ!"},
|
||||
['sprintMPH']= {"スプリント", "MPH", "ミノ順なし\nネクストなし\nホールドなし!"},
|
||||
['dig_10l']= {"掘り", "10L", "10ライン下穴を掘れ!"},
|
||||
['dig_40l']= {"掘り", "40L", "40ライン下穴を掘れ!"},
|
||||
['dig_100l']= {"掘り", "100L", "100ライン下穴を掘れ!"},
|
||||
['dig_400l']= {"掘り", "400L", "400ライン下穴を掘れ!"},
|
||||
['drought_n']= {"ドラウト", "100L", "Iミノ一切無し!"},
|
||||
['drought_l']= {"ドラウト+", "100L", "わったーふ◯っく!"},
|
||||
['marathon_n']= {"マラソン", "NORMAL", "加速する中で200ラインマラソン!"},
|
||||
['marathon_h']= {"マラソン", "HARD", "高速の中で200ラインマラソン!"},
|
||||
['solo_e']= {"バトル", "EASY", "弱めのAIに勝て!"},
|
||||
['solo_n']= {"バトル", "NORMAL", "普通のAIに勝て!"},
|
||||
['solo_h']= {"バトル", "HARD", "強めのAIに勝て!"},
|
||||
['solo_l']= {"バトル", "LUNATIC", "プロレベルのAIに勝て!"},
|
||||
['solo_u']= {"バトル", "ULTIMATE", "神レベルのAIに勝て!"},
|
||||
['techmino49_e']= {"テック 49", "EASY", "弱めの49人で勝負\n最後の1人まで生き残れ!"},
|
||||
['techmino49_h']= {"テック 49", "HARD", "強めの49人で勝負\n最後の1人まで生き残れ!"},
|
||||
['techmino49_u']= {"テック 49", "ULTIMATE", "神レベルの49人で勝負\n最後の1人まで生き残れ!"},
|
||||
['techmino99_e']= {"テック 99", "EASY", "弱めの99人で勝負\n最後の1人まで生き残れ!"},
|
||||
['techmino99_h']= {"テック 99", "HARD", "強めの99人で勝負\n最後の1人まで生き残れ!"},
|
||||
['techmino99_u']= {"テック 99", "ULTIMATE", "神レベルの99人で勝負\n最後の1人まで生き残れ!"},
|
||||
['round_e']= {"ターン制", "EASY", "ターン制で弱めのAIと勝負!"},
|
||||
['round_n']= {"ターン制", "NORMAL", "ターン制で普通のAIと勝負!"},
|
||||
['round_h']= {"ターン制", "HARD", "ターン制で強めのAIと勝負!"},
|
||||
['round_l']= {"ターン制", "LUNATIC", "ターン制でプロレベルのAIと勝負!"},
|
||||
['round_u']= {"ターン制", "ULTIMATE", "ターン制で神レベルのAIと勝負!"},
|
||||
['master_n']= {"マスター", "NORMAL", "20G 初心者方へ"},
|
||||
['master_h']= {"マスター", "HARD", "20G 中級者の方へ"},
|
||||
['master_m']= {"マスター", "M21", "20G 上級者の方へ"},
|
||||
['master_final']= {"マスター", "FINAL", "20G その先へ"},
|
||||
['master_ph']= {"マスター", "PHANTASM", "???"},
|
||||
['master_ex']= {"グランドマスター", "EXTRA", "一瞬よりも短い永遠"},
|
||||
['master_instinct']={"マスター", "INSTINCT", "もしミノが一切見えなくなったら?"},
|
||||
['strategy_e']= {"ストラテジー", "EASY", "20Gでの素早い判断"},
|
||||
['strategy_h']= {"ストラテジー", "HARD", "20Gでの素早い判断"},
|
||||
['strategy_u']= {"ストラテジー", "ULTIMATE", "20Gでの素早い判断"},
|
||||
['strategy_e_plus']={"ストラテジー", "EASY+", "20Gでの素早い判断"},
|
||||
['strategy_h_plus']={"ストラテジー", "HARD+", "20Gでの素早い判断"},
|
||||
['strategy_u_plus']={"ストラテジー", "ULTIMATE+", "20Gでの素早い判断"},
|
||||
['blind_e']= {"目隠し", "HALF", "初心者用"},
|
||||
['blind_n']= {"目隠し", "ALL", "中級者用"},
|
||||
['blind_h']= {"目隠し", "SUDDEN", "上級者用"},
|
||||
['blind_l']= {"目隠し", "SUDDEN+", "プロフェッショナル用!"},
|
||||
['blind_u']= {"目隠し", "?", "覚悟は良いかい?"},
|
||||
['blind_wtf']= {"目隠し", "WTF", "まだ覚悟が足りないな!"},
|
||||
['classic_e']= {"クラシック", "EASY", "低速クラシック"},
|
||||
['classic_h']= {"クラシック", "HARD", "通常速度クラシック"},
|
||||
['classic_u']= {"クラシック", "ULTIMATE", "高速クラシック"},
|
||||
['survivor_e']= {"サバイバル", "EASY", "どれだけ生き残れるかな?"},
|
||||
['survivor_n']= {"サバイバル", "NORMAL", "どれだけ生き残れるかな?"},
|
||||
['survivor_h']= {"サバイバル", "HARD", "どれだけ生き残れるかな?"},
|
||||
['survivor_l']= {"サバイバル", "LUNATIC", "どれだけ生き残れるかな?"},
|
||||
['survivor_u']= {"サバイバル", "ULTIMATE", "どれだけ生き残れるかな?"},
|
||||
['attacker_h']= {"火力王", "HARD", "攻撃力を磨け!"},
|
||||
['attacker_u']= {"火力王", "ULTIMATE", "攻撃力を磨け!"},
|
||||
['defender_n']= {"相殺王", "NORMAL", "防御力を磨け!"},
|
||||
['defender_l']= {"相殺王", "LUNATIC", "防御力を磨け!"},
|
||||
['dig_h']= {"堀王", "HARD", "掘りを磨け"},
|
||||
['dig_u']= {"堀王", "ULTIMATE", "掘りを磨け"},
|
||||
['clearRush']= {"クリアラッシュ", "NORMAL", "All-Spinチュートリアル!\n[開発中]"},
|
||||
['c4wtrain_n']= {"C4Wトレーニング", "NORMAL", "無限中開け4連コンボ!"},
|
||||
['c4wtrain_l']= {"C4Wトレーニング", "LUNATIC", "無限中開け4連コンボ!"},
|
||||
['pctrain_n']= {"パフェトレーニング", "NORMAL", "パフェ練習"},
|
||||
['pctrain_l']= {"パフェトレーニング", "LUNATIC", "もっと難しいパフェ練習"},
|
||||
['pc_n']= {"パフェチャレンジ", "NORMAL", "100 Line以内でパフェを出来るだけたくさん取れ!"},
|
||||
['pc_h']= {"パフェチャレンジ", "HARD", "100 Line以内でパフェを出来るだけたくさん取れ!"},
|
||||
['pc_l']= {"パフェチャレンジ", "LUNATIC", "100 Line以内でパフェを出来るだけたくさん取れ!"},
|
||||
['pc_inf']= {"無限パフェチャレンジ", "", "できる限りたくさんのパフェを"},
|
||||
['tech_n']= {"テクニック", "NORMAL", "B2Bを繋げ続けよう!"},
|
||||
['tech_n_plus']= {"テクニック", "NORMAL+", "回転入れとパフェだけ!"},
|
||||
['tech_h']= {"テクニック", "HARD", "B2Bを続けよう!"},
|
||||
['tech_h_plus']= {"テクニック", "HARD+", "回転入れとパフェだけ!"},
|
||||
['tech_l']= {"テクニック", "LUNATIC", "回転入れとパフェだけ!"},
|
||||
['tech_l_plus']= {"テクニック", "LUNATIC+", "回転入れとパフェだけ!"},
|
||||
['tech_finesse']= {"テクニック", "FINESSE", "最適化!"},
|
||||
['tech_finesse_f']= {"テクニック", "FINESSE+", "最適化はそのまま、普通のLine消去禁止!"},
|
||||
['tsd_e']= {"TSDチャレンジ", "EASY", "TSDだけ!"},
|
||||
['tsd_h']= {"TSDチャレンジ", "HARD", "TSDだけ!"},
|
||||
['tsd_u']= {"TSDチャレンジ", "ULTIMATE", "TSDだけ!"},
|
||||
['backfire_n']= {"バックファイヤー", "NORMAL", "撃った火力が戻ってくる"},
|
||||
['backfire_h']= {"バックファイヤー", "HARD", "撃った火力が戻ってくる"},
|
||||
['backfire_l']= {"バックファイヤー", "LUNATIC", "撃った火力が戻ってくる"},
|
||||
['backfire_u']= {"バックファイヤー", "ULTIMATE", "撃った火力が戻ってくる"},
|
||||
['sprintAtk']= {"スプリント", "100 Attack", "100 Line送れ!"},
|
||||
['sprintEff']= {"スプリント", "Efficiency", "40 Lineの間にできるだけ火力を出せ!"},
|
||||
['zen']= {'禅', "200", "時間制限なしで200 Line消去"},
|
||||
['ultra']= {'ウルトラ', "EXTRA", "2分間のスコアアタック"},
|
||||
['infinite']= {"無限", "", "ただの砂場"},
|
||||
['infinite_dig']= {"無限: 掘り", "", "掘れ掘れ掘れ"},
|
||||
['marathon_inf']= {"マラソン", "INFINITE", "永遠のマラソン"},
|
||||
['c4wtrain_n']= {"C4Wトレーニング", "NORMAL", "無限中開け"},
|
||||
['c4wtrain_l']= {"C4Wトレーニング", "LUNATIC", "無限中開け"},
|
||||
['pctrain_n']= {"パフェトレーニング", "NORMAL", "パフェの練習!"},
|
||||
['pctrain_l']= {"パフェトレーニング", "LUNATIC", "もっと難しいパフェの練習!"},
|
||||
['pc_n']= {"パフェチャレンジ", "NORMAL", "100 Line以内でパフェをできるだけたくさん取れ!"},
|
||||
['pc_h']= {"パフェチャレンジ", "HARD", "100 Line以内でパフェをできるだけたくさん取れ!"},
|
||||
['pc_l']= {"パフェチャレンジ", "LUNATIC", "100 Line以内でパフェをできるだけたくさん取れ!"},
|
||||
['pc_inf']= {"無限パフェチャレンジ", "", "できる限りたくさんのパフェを取れ!"},
|
||||
['tech_n']= {"テクニック", "NORMAL", "B2Bを繋げ続けよう!"},
|
||||
['tech_n_plus']= {"テクニック", "NORMAL+", "回転入れとパフェだけ!"},
|
||||
['tech_h']= {"テクニック", "HARD", "B2Bを繋げ続けよう!"},
|
||||
['tech_h_plus']= {"テクニック", "HARD+", "回転入れとパフェだけ!"},
|
||||
['tech_l']= {"テクニック", "LUNATIC", "回転入れとパフェだけ!"},
|
||||
['tech_l_plus']= {"テクニック", "LUNATIC+", "回転入れとパフェだけ!"},
|
||||
['tech_finesse']= {"テクニック", "FINESSE", "最適化!"},
|
||||
['tech_finesse_f']= {"テクニック", "FINESSE+", "最適化はそのまま、普通のライン消去禁止!"},
|
||||
['tsd_e']= {"TSDチャレンジ", "EASY", "TSDだけ!"},
|
||||
['tsd_h']= {"TSDチャレンジ", "HARD", "TSDだけ!"},
|
||||
['tsd_u']= {"TSDチャレンジ", "ULTIMATE", "TSDだけ!"},
|
||||
['backfire_n']= {"バックファイヤー", "NORMAL", "撃った火力が戻ってくる!"},
|
||||
['backfire_h']= {"バックファイヤー", "HARD", "撃った火力が戻ってくる!"},
|
||||
['backfire_l']= {"バックファイヤー", "LUNATIC", "撃った火力が戻ってくる!"},
|
||||
['backfire_u']= {"バックファイヤー", "ULTIMATE", "撃った火力が戻ってくる!"},
|
||||
['sprintAtk']= {"スプリント", "100 Attack", "100ライン送れ!"},
|
||||
['sprintEff']= {"スプリント", "Efficiency", "40ラインの間にできるだけ火力を出せ!"},
|
||||
['zen']= {'禅', "200", "時間制限なしで200ライン消去"},
|
||||
['ultra']= {'ウルトラ', "EXTRA", "2分以内にできるだけ多くの点数を取る"},
|
||||
['infinite']= {"無限", "", "サンドボックス"},
|
||||
['infinite_dig']= {"無限: 掘り", "", "掘れ掘れ掘れ"},
|
||||
['marathon_inf']= {"マラソン", "INFINITE", "永遠のマラソン"},
|
||||
|
||||
['custom_clear']= {"カスタム", "NORMAL"},
|
||||
['custom_puzzle']= {"カスタム", "PUZZLE"},
|
||||
['custom_clear']= {"カスタム", "NORMAL"},
|
||||
['custom_puzzle']= {"カスタム", "PUZZLE"},
|
||||
},
|
||||
getTip={refuseCopy=true,
|
||||
":pog:",
|
||||
@@ -909,7 +912,7 @@ getTip={refuseCopy=true,
|
||||
"B2B2B2Bは存在しません",
|
||||
"B2B2B2Bは可能?",
|
||||
"Back-to-Back Techrash, 10 REN, PC!",
|
||||
"BGMやSFXの制作に協力いただける方は大歓迎です!",
|
||||
"音楽や効果音の制作に協力いただける方は大歓迎です!",
|
||||
"Bridge Clearが間もなく実装されます!",
|
||||
"Color Clearが間もなく実装されます!",
|
||||
"DASとARRを低くすると、速くなるけど操作が難しくなる!",
|
||||
@@ -923,8 +926,8 @@ getTip={refuseCopy=true,
|
||||
"Nspire-CXのTechmino: 存在はしますが同じゲームではありません",
|
||||
"O-Spin Triple!",
|
||||
"OHHHHHHHHHHHHHH",
|
||||
"「LÖVE」提供",
|
||||
"「Un…」じゃなくて「LÖVE」提供",
|
||||
"Powered by LÖVE",
|
||||
"Powered by Un... LÖVE",
|
||||
"Rank Xの条件は、上級者でも難しくなるように設定されています",
|
||||
"Split Clearが間もなく実装されます!",
|
||||
"sudo rm -rf /*",
|
||||
@@ -954,22 +957,22 @@ getTip={refuseCopy=true,
|
||||
"マルチプレイで遊ぼう! あなたの常識が壊されるでしょう",
|
||||
"メニューをシンプルモードにした場合、イースターエッグがなくなります",
|
||||
"ローディング中! シーンチェンジの間だけじゃないです!",
|
||||
"Zのおすすめ[01]東方をやってみよう!",
|
||||
"Zのおすすめ[02]Minecraftをやってみよう!",
|
||||
"Zのおすすめ[03]Osu!をやってみよう!",
|
||||
"Zのおすすめ[04]Quatrackをやってみよう!",
|
||||
"Zのおすすめ[05]Terrariaをやってみよう!",
|
||||
"Zのおすすめ[06]Celesteをやってみよう!",
|
||||
"Zのおすすめ[07]グーの惑星をやってみよう!",
|
||||
"Zのおすすめ[08]Orzmicをやってみよう!",
|
||||
"Zのおすすめ[09]Puyo Puyoをやってみよう!",
|
||||
"Zのおすすめ[10]Phigrosをやってみよう!",
|
||||
"Zのおすすめ[11]VVVVVVをやってみよう!",
|
||||
"Zのおすすめ[12]Ballanceをやってみよう!",
|
||||
"Zのおすすめ[13]Zumaをやってみよう!",
|
||||
"Zのおすすめ[14]ルービックキューブをやってみよう!",
|
||||
"Zのおすすめ[15]15puzzleをやってみよう!",
|
||||
"Zのおすすめ[16]Minesweeperをやってみよう!",
|
||||
"Z推薦[01]東方原作ゲームをやってみよう!",
|
||||
"Z推薦[02]Minecraftをやってみよう!",
|
||||
"Z推薦[03]Osu!をやってみよう!",
|
||||
"Z推薦[04]Quatrackをやってみよう!",
|
||||
"Z推薦[05]Terrariaをやってみよう!",
|
||||
"Z推薦[06]Celesteをやってみよう!",
|
||||
"Z推薦[07]グーの惑星をやってみよう!",
|
||||
"Z推薦[08]Orzmicをやってみよう!",
|
||||
"Z推薦[09]Puyo Puyoをやってみよう!",
|
||||
"Z推薦[10]Phigrosをやってみよう!",
|
||||
"Z推薦[11]VVVVVVをやってみよう!",
|
||||
"Z推薦[12]Ballanceをやってみよう!",
|
||||
"Z推薦[13]Zumaをやってみよう!",
|
||||
"Z推薦[14]ルービックキューブをやってみよう!",
|
||||
"Z推薦[15]15puzzleをやってみよう!",
|
||||
"Z推薦[16]Minesweeperをやってみよう!",
|
||||
{C.H,"REGRET!!"},
|
||||
{C.lP,"Secret Number: 626"},
|
||||
{C.lR,"Z ",C.lG,"S ",C.lS,"J ",C.lO,"L ",C.lP,"T ",C.lY,"O ",C.lC,"I"},
|
||||
|
||||
@@ -104,9 +104,9 @@ return{
|
||||
noPassword="Insira sua senha ",
|
||||
diffPassword="Senhas não combinam",
|
||||
-- registerRequestSent="Registration request sent",
|
||||
registerSuccessed="Registrado com sucesso!",
|
||||
loginSuccessed="Logado com sucesso!",
|
||||
accessSuccessed="Autorizado com sucesso!",
|
||||
registerOK="Registrado com sucesso!",
|
||||
loginOK="Logado com sucesso!",
|
||||
accessOK="Autorizado com sucesso!",
|
||||
|
||||
-- wsConnecting="Websocket Connecting",
|
||||
wsFailed="WebSocket falha na conexão",
|
||||
@@ -264,6 +264,8 @@ return{
|
||||
"C₂₉H₂₅N₃O₅",
|
||||
"NOT_A_ROBOT",
|
||||
"sakurw",
|
||||
"Airun",
|
||||
"幽灵3383",
|
||||
"",
|
||||
"Performance",
|
||||
"Electric283",
|
||||
|
||||
@@ -116,9 +116,9 @@ return{
|
||||
noPassword="请填写密码",
|
||||
diffPassword="两次密码不一致",
|
||||
registerRequestSent="注册请求已发送",
|
||||
registerSuccessed="注册成功!",
|
||||
loginSuccessed="登录成功",
|
||||
accessSuccessed="身份验证成功",
|
||||
registerOK="注册成功!",
|
||||
loginOK="登录成功",
|
||||
accessOK="身份验证成功",
|
||||
|
||||
wsConnecting="正在连接",
|
||||
wsFailed="连接失败",
|
||||
@@ -275,6 +275,9 @@ return{
|
||||
"ScF",
|
||||
"C₂₉H₂₅N₃O₅",
|
||||
"NOT_A_ROBOT",
|
||||
"sakurw",
|
||||
"Airun",
|
||||
"幽灵3383",
|
||||
"",
|
||||
"Performances",
|
||||
"Electric283",
|
||||
|
||||
@@ -114,9 +114,9 @@ return{
|
||||
noPassword="输入您的密码",
|
||||
diffPassword="密码不匹配",
|
||||
registerRequestSent="已发送注册请求",
|
||||
registerSuccessed="注册成功!",
|
||||
loginSuccessed="您现在已登录!",
|
||||
accessSuccessed="允许访问",
|
||||
registerOK="注册成功!",
|
||||
loginOK="您现在已登录!",
|
||||
accessOK="允许访问",
|
||||
|
||||
wsConnecting="双向通信连接",
|
||||
wsFailed="双向通信连接失败",
|
||||
@@ -273,6 +273,9 @@ return{
|
||||
"氟化钪",
|
||||
"蛋白激酶G抑制剂",
|
||||
"不是机器人",
|
||||
"萨库尔",
|
||||
"爱伦",
|
||||
"幽灵3383",
|
||||
"",
|
||||
"性能",
|
||||
"电动283",
|
||||
|
||||
@@ -116,9 +116,9 @@ return{
|
||||
noPassword="請輸入密碼",
|
||||
diffPassword="密碼不匹配",
|
||||
registerRequestSent="已發送註冊請求",
|
||||
registerSuccessed="註冊成功!",
|
||||
loginSuccessed="登錄成功",
|
||||
accessSuccessed="身份認證成功",
|
||||
registerOK="註冊成功!",
|
||||
loginOK="登錄成功",
|
||||
accessOK="身份認證成功",
|
||||
|
||||
wsConnecting="正在連接……",
|
||||
wsFailed="連接失敗",
|
||||
@@ -276,6 +276,8 @@ return{
|
||||
"C₂₉H₂₅N₃O₅",
|
||||
"NOT_A_ROBOT",
|
||||
"sakurw",
|
||||
"Airun",
|
||||
"幽灵3383",
|
||||
"",
|
||||
"Performances",
|
||||
"Electric283",
|
||||
|
||||
@@ -31,6 +31,9 @@ Attack system:
|
||||
|
||||
Special line clears will the increase B2B gauge, making later special line clears have either a B2B or B2B2B bonus (see below)
|
||||
|
||||
Combos: All damage above will be given a (combo x25%) bonus, or (combo x15%) for Single clear (capped at 12 combo),
|
||||
+1 more attack for 3 Combo or more.
|
||||
|
||||
Hemi Perfect Clear (a P.C. "with blocks left below". If it's an I clearing 1 line, the remaining blocks must not be player-placed):
|
||||
Attack +4, Extra Blocking +2
|
||||
|
||||
@@ -38,8 +41,6 @@ Attack system:
|
||||
Sends 8 to 16 (increments within a game by 2 for every PC) OR every other damage above, whichever is higher,
|
||||
and +2 extra blocking.
|
||||
|
||||
Combos: All damage above will be given a (combo x25%) bonus, or (combo x15%) for Single clear (capped at 12 combo),
|
||||
+1 more attack for 3 Combo or more.
|
||||
After calculating all above, the damage value will be rounded down then sent
|
||||
|
||||
Score system:
|
||||
|
||||
@@ -26,9 +26,9 @@ spin判定:
|
||||
B2B攻击+1
|
||||
B3B攻击+50%,+1额外抵挡
|
||||
特殊消除会增加B2B点数,让之后的特殊消除获得B2B(B3B)增益(详细说明见下文)
|
||||
连击:每次连击给予上述攻击[连击数*25%(上限12连)(如果只消一行就是15%)]的加成,>=3次时再额外加1攻击
|
||||
半全消("下方有剩余方块"的全消,如果是I消1行则必须不剩余玩家放置的方块):伤害+4,额外抵挡+2
|
||||
全消:全消伤害为8~16(本局内递增2),和上述其他伤害取大,然后+2额外抵挡
|
||||
连击:每次连击给予上述攻击[连击数*25%(上限12连)(如果只消一行就是15%)]的加成,>=3次时再额外加1攻击
|
||||
根据上述规则计算后,向下取整,攻击打出
|
||||
|
||||
分数系统:
|
||||
|
||||
@@ -467,14 +467,14 @@ function NET.updateWS_user()
|
||||
SCN.back()
|
||||
end
|
||||
end
|
||||
MES.new('check',text.loginSuccessed)
|
||||
MES.new('check',text.loginOK)
|
||||
|
||||
--Get self infos
|
||||
NET.getUserInfo(USER.uid)
|
||||
NET.unlock('wsc_user')
|
||||
elseif res.action==0 then--Get accessToken
|
||||
NET.accessToken=res.accessToken
|
||||
MES.new('check',text.accessSuccessed)
|
||||
MES.new('check',text.accessOK)
|
||||
NET.wsconn_play()
|
||||
elseif res.action==1 then--Get userInfo
|
||||
USERS.updateUserData(res.data)
|
||||
|
||||
@@ -130,4 +130,5 @@ return{
|
||||
{font=25,name="江江江江17"},
|
||||
{font=25,name="TetraCepra"},
|
||||
{font=25,name="爱抢姐姐布丁的芙兰酱(CHNO)"},
|
||||
{font=25,name="你的忘机已上羡"},
|
||||
}
|
||||
|
||||
@@ -1021,7 +1021,7 @@ function draw.demo(P)
|
||||
local _=BLOCK_COLORS[skinSet[id]]
|
||||
gc_setColor(_[1],_[2],_[3],.3)
|
||||
_=blockImg[id]
|
||||
gc_draw(_,15,40*N-10,nil,16,nil,0,_:getHeight()*.5)
|
||||
gc_draw(_,15,40*N-10,nil,8,nil,0,_:getHeight()*.5)
|
||||
N=N+1
|
||||
end
|
||||
|
||||
@@ -1032,7 +1032,7 @@ function draw.demo(P)
|
||||
local _=BLOCK_COLORS[skinSet[id]]
|
||||
gc_setColor(_[1],_[2],_[3],.3)
|
||||
_=blockImg[id]
|
||||
gc_draw(_,285,40*N-10,nil,16,nil,_:getWidth(),_:getHeight()*.5)
|
||||
gc_draw(_,285,40*N-10,nil,8,nil,_:getWidth(),_:getHeight()*.5)
|
||||
N=N+1
|
||||
end
|
||||
|
||||
|
||||
@@ -1804,6 +1804,17 @@ do
|
||||
VOC.play(clearVoice[cc],CHN)
|
||||
end
|
||||
|
||||
--PC/HPC check
|
||||
if clear and cc>=#C.bk then
|
||||
if CY==1 then
|
||||
piece.pc=true
|
||||
piece.special=true
|
||||
elseif cc>1 or self.field[#self.field].garbage then
|
||||
piece.hpc=true
|
||||
piece.special=true
|
||||
end
|
||||
end
|
||||
|
||||
--Normal clear,reduce B2B point
|
||||
if not piece.special then
|
||||
self.b2b=max(self.b2b-250,0)
|
||||
@@ -1824,40 +1835,34 @@ do
|
||||
cscore=cscore+min(50*cmb,500)*(2*cc-1)
|
||||
end
|
||||
|
||||
--PC/HPC
|
||||
if clear and cc>=#C.bk then
|
||||
if CY==1 then
|
||||
self:showText(text.PC,0,-80,50,'flicker')
|
||||
atk=max(atk,min(8+Stat.pc*2,16))
|
||||
exblock=exblock+2
|
||||
sendTime=sendTime+120
|
||||
if Stat.row+cc>4 then
|
||||
self.b2b=self.b2b+800
|
||||
cscore=cscore+300*min(6+Stat.pc,10)
|
||||
else
|
||||
cscore=cscore+626
|
||||
end
|
||||
Stat.pc=Stat.pc+1
|
||||
if self.sound then
|
||||
SFX.play('pc')
|
||||
VOC.play('perfect_clear',CHN)
|
||||
end
|
||||
piece.pc=true
|
||||
piece.special=true
|
||||
elseif cc>1 or self.field[#self.field].garbage then
|
||||
self:showText(text.HPC,0,-80,50,'fly')
|
||||
atk=atk+4
|
||||
exblock=exblock+2
|
||||
sendTime=sendTime+60
|
||||
self.b2b=self.b2b+100
|
||||
--PC/HPC effect
|
||||
if piece.pc then
|
||||
self:showText(text.PC,0,-80,50,'flicker')
|
||||
atk=max(atk,min(8+Stat.pc*2,16))
|
||||
exblock=exblock+2
|
||||
sendTime=sendTime+120
|
||||
if Stat.row+cc>4 then
|
||||
self.b2b=self.b2b+800
|
||||
cscore=cscore+300*min(6+Stat.pc,10)
|
||||
else
|
||||
cscore=cscore+626
|
||||
Stat.hpc=Stat.hpc+1
|
||||
if self.sound then
|
||||
SFX.play('pc')
|
||||
VOC.play('half_clear',CHN)
|
||||
end
|
||||
piece.hpc=true
|
||||
piece.special=true
|
||||
end
|
||||
Stat.pc=Stat.pc+1
|
||||
if self.sound then
|
||||
SFX.play('pc')
|
||||
VOC.play('perfect_clear',CHN)
|
||||
end
|
||||
elseif piece.hpc then
|
||||
self:showText(text.HPC,0,-80,50,'fly')
|
||||
atk=atk+4
|
||||
exblock=exblock+2
|
||||
sendTime=sendTime+60
|
||||
self.b2b=self.b2b+100
|
||||
cscore=cscore+626
|
||||
Stat.hpc=Stat.hpc+1
|
||||
if self.sound then
|
||||
SFX.play('pc')
|
||||
VOC.play('half_clear',CHN)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -976,7 +976,7 @@ local userG={
|
||||
-- collectgarbage=collectgarbage,
|
||||
|
||||
math={},string={},table={},bit={},coroutine={},
|
||||
debug={"No way."},package={"No way."},io={"No way."},os={"No way."},
|
||||
debug={},package={},io={},os={},
|
||||
}
|
||||
function userG.print(...)
|
||||
local args,L={...},{}
|
||||
@@ -999,6 +999,11 @@ TABLE.complete(string,userG.string)userG.string.dump=nil
|
||||
TABLE.complete(table,userG.table)
|
||||
TABLE.complete(bit,userG.bit)
|
||||
TABLE.complete(coroutine,userG.coroutine)
|
||||
local dangerousLibMeta={__index=function()error("No way.")end}
|
||||
setmetatable(userG.debug,dangerousLibMeta)
|
||||
setmetatable(userG.package,dangerousLibMeta)
|
||||
setmetatable(userG.io,dangerousLibMeta)
|
||||
setmetatable(userG.os,dangerousLibMeta)
|
||||
|
||||
--Puzzle box
|
||||
local first_key={}
|
||||
|
||||
@@ -207,7 +207,7 @@ function scene.draw()
|
||||
local r=TIME()*2
|
||||
local R=int(r)%7+1
|
||||
gc.setColor(1,1,1,1-abs(r%1*2-1))
|
||||
gc.draw(TEXTURE.miniBlock[R],821,140,TIME()*10%6.2832,15,15,DSCP[R][0][2]+.5,#BLOCKS[R][0]-DSCP[R][0][1]-.5)
|
||||
gc.draw(TEXTURE.miniBlock[R],821,140,TIME()*10%6.2832,7,7,2*DSCP[R][0][2]+1,2*(#BLOCKS[R][0]-DSCP[R][0][1])-1)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -113,6 +113,7 @@ local loadingThread=coroutine.wrap(function()
|
||||
VOC.play('welcome')
|
||||
THEME.fresh()
|
||||
LOADED=true
|
||||
saveStats()
|
||||
Z.setPowerInfo(SETTING.powerInfo)
|
||||
return'finish'
|
||||
end)
|
||||
|
||||
@@ -281,7 +281,7 @@ function scene.draw()
|
||||
gc.push('transform')
|
||||
gc.scale((3-2*timer2)*timer2)
|
||||
gc.setColor(.97,.97,.97,timer2*(.5+.3*sin(TIME()*6.26)))
|
||||
GC.regularPolygon('line',0,0,120,6,8)
|
||||
GC.regRoundPolygon('line',0,0,120,6,8)
|
||||
gc.setColor(chartColor[1],chartColor[2],chartColor[3],timer2*.626)
|
||||
for i=1,9,2 do
|
||||
gc.polygon('fill',0,0,val[i],val[i+1],val[i+2],val[i+3])
|
||||
@@ -350,13 +350,13 @@ scene.widgetList={
|
||||
WIDGET.newKey{name='quit', x=290,y=540,w=300,h=70,code=pressKey'q'},
|
||||
WIDGET.newKey{name='tas', x=290,y=620,w=240,h=50,code=pressKey't',hideF=function()return not SETTING.allowTAS or GAME.tasUsed or GAME.result or GAME.replaying end},
|
||||
WIDGET.newKey{name='page_prev',x=500,y=390,w=70,code=pressKey'tab',
|
||||
fText=GC.DO{70,70,{'setLW',2}, {'dRPol',33,35,32,3,6,3.142},{'dRPol',45,35,32,3,6,3.142}},
|
||||
fShade=GC.DO{70,70,{'setCL',1,1,1,.4},{'draw',GC.DO{70,70,{'setCL',1,1,1,1},{'fRPol',33,35,32,3,6,3.142},{'fRPol',45,35,32,3,6,3.142}}}},
|
||||
fText=GC.DO{70,70,{'setLW',2}, {'dRRPol',33,35,32,3,6,3.142},{'dRRPol',45,35,32,3,6,3.142}},
|
||||
fShade=GC.DO{70,70,{'setCL',1,1,1,.4},{'draw',GC.DO{70,70,{'setCL',1,1,1,1},{'fRRPol',33,35,32,3,6,3.142},{'fRRPol',45,35,32,3,6,3.142}}}},
|
||||
hideF=function()return PLAYERS[1].frameRun<=180 end,
|
||||
},
|
||||
WIDGET.newKey{name='page_next',x=1230,y=390,w=70,code=pressKey'Stab',
|
||||
fText=GC.DO{70,70,{'setLW',2}, {'dRPol',37,35,32,3,6},{'dRPol',25,35,32,3,6}},
|
||||
fShade=GC.DO{70,70,{'setCL',1,1,1,.4},{'draw',GC.DO{70,70,{'setCL',1,1,1,1},{'fRPol',37,35,32,3,6},{'fRPol',25,35,32,3,6}}}},
|
||||
fText=GC.DO{70,70,{'setLW',2}, {'dRRPol',37,35,32,3,6},{'dRRPol',25,35,32,3,6}},
|
||||
fShade=GC.DO{70,70,{'setCL',1,1,1,.4},{'draw',GC.DO{70,70,{'setCL',1,1,1,1},{'fRRPol',37,35,32,3,6},{'fRRPol',25,35,32,3,6}}}},
|
||||
hideF=function()return PLAYERS[1].frameRun<=180 end,
|
||||
},
|
||||
WIDGET.newKey{name='replay', x=865,y=165,w=200,h=40,font=25,code=pressKey'p',hideF=function()return not(GAME.result or GAME.replaying)or #PLAYERS>1 end},
|
||||
|
||||
@@ -16,10 +16,10 @@ do
|
||||
gc.setColor(1,1,1)
|
||||
for i=1,29 do
|
||||
local b=BLOCKS[i][0]
|
||||
TEXTURE.miniBlock[i]=NSC(#b[1],#b)
|
||||
TEXTURE.miniBlock[i]=NSC(#b[1]*2,#b*2)
|
||||
for y=1,#b do for x=1,#b[1]do
|
||||
if b[y][x]then
|
||||
gc.rectangle('fill',x-1,#b-y,1,1)
|
||||
gc.rectangle('fill',2*(x-1),2*(#b-y),2,2)
|
||||
end
|
||||
end end
|
||||
end
|
||||
|
||||
@@ -17,14 +17,15 @@ return[=[
|
||||
全新模式选择界面(未完善,未来会增加更多便利功能)
|
||||
新皮肤:pixel(by C₂₉H₂₅N₃O₅)
|
||||
新语言:Bahasa Indonesia(by NOT_A_ROBOT)
|
||||
新语言:日本語(by sakurw & Airun)
|
||||
新语言:日本語(by sakurw & Airun & 幽灵3383)
|
||||
新小程序:Stopwatch, Mahjong(无和牌检测)
|
||||
新模式:1~3连块40行(by NOT_A_ROBOT) #578
|
||||
新BGM:lounge(暂未使用, by Hailey (cudsys) & MrZ)
|
||||
更强的CC(会主动allspin了, by Blari'o) #579
|
||||
更强的CC(会主动allspin了, by Gompyn) #579
|
||||
改动:
|
||||
修改选择模式音效
|
||||
重做staff表
|
||||
更新字体
|
||||
移除yygq语言
|
||||
优化皮肤设置页面交互效果
|
||||
换新miya立绘,给不同立绘添加不同点击动画
|
||||
@@ -55,12 +56,14 @@ return[=[
|
||||
经典模式h和u难度没有干旱计数器 #546
|
||||
自定义场地16号色的方块名位置显示错误
|
||||
联网对战结算的l'pm公式错写成lpm的
|
||||
PC时最后一块若非特殊消除会先扣除b2b点数
|
||||
录像界面导入导出按钮隐藏状态错误
|
||||
登录界面读取本地账号密码数据错误
|
||||
回合制开关玩家控制的问题
|
||||
策略堆叠模式评级标准不当
|
||||
云存档/读档的一处小问题
|
||||
部分场景文本重叠问题
|
||||
说明书的一处小问题
|
||||
deepdrop坏了
|
||||
混战模式坏了
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ for i=1,29 do
|
||||
local img=TEXTURE.miniBlock[i]
|
||||
defaultAvatar[i]=GC.DO{128,128,
|
||||
{'clear',.1,.1,.1},
|
||||
{'draw',img,63,63,.2,30,30,img:getWidth()/2,img:getHeight()/2},
|
||||
{'draw',img,63,63,.2,15,15,img:getWidth()/2,img:getHeight()/2},
|
||||
}
|
||||
end
|
||||
local errorAvatar=GC.DO{128,128,
|
||||
|
||||
Reference in New Issue
Block a user