Compare commits

...

7 Commits

Author SHA1 Message Date
MrZ_26
a7a2124bb6 版本推进 2022-01-20 13:27:23 +08:00
sakurw
9399938be0 Update lang_ja.lua (#616) 2022-01-20 13:10:39 +08:00
C₂₉H₂₅N₃O₅
195f9b2c46 字体格式转换为OTF (#615)
* 字体格式转换为OTF

**HERE COMES THE OPENTYPE**
* 更改几个自定义图标的样式
2022-01-20 13:10:11 +08:00
C₂₉H₂₅N₃O₅
d7546e5f41 更新英文说明书 (#614) 2022-01-20 01:39:21 +08:00
NOT_A_ROBOT
888909b48c Re-add classic_l (#612) 2022-01-19 23:46:36 +08:00
MrZ_26
d68f732884 重写说明书的攻击和b2b点数段落,英文和日文需要重翻 2022-01-19 23:43:08 +08:00
MrZ_26
5243ed0c6b 再整理落块后结算顺序 2022-01-19 23:04:46 +08:00
15 changed files with 200 additions and 182 deletions

View File

@@ -51,8 +51,8 @@ local _LOADTIME_=TIME()
--Load modules
Z=require'Zframework'
FONT.load{
norm='parts/fonts/proportional.ttf',
mono='parts/fonts/monospaced.ttf',
norm='parts/fonts/proportional.otf',
mono='parts/fonts/monospaced.otf',
}
FONT.setDefault('norm')
FONT.setFallback('norm')

View File

@@ -0,0 +1,38 @@
return{
das=16,arr=6,
sddas=2,sdarr=2,
irs=false,ims=false,
drop=2,
lock=2,
wait=10,
fall=25,
freshLimit=0,
fieldH=19,
nextCount=1,holdCount=0,
RS='Classic',
sequence='rnd',
noTele=true,
keyCancel={5,6},
mesDisp=function(P)
setFont(75)
local r=P.modeData.target*.1
mStr(r<11 and 19 or r<22 and r+8 or("%02x"):format(r*10-220),63,210)
mText(drawableText.speedLV,63,290)
PLY.draw.drawProgress(P.stat.row,P.modeData.target)
end,
task=function(P)
P.modeData.target=10
end,
dropPiece=function(P)
local D=P.modeData
if P.stat.row>=D.target then
D.target=D.target+10
if D.target==200 then
P.gameEnv.drop,P.gameEnv.lock=1,1
SFX.play('blip_1')
else
SFX.play('reach')
end
end
end,
}

BIN
parts/fonts/Japan.otf Normal file

Binary file not shown.

BIN
parts/fonts/Monospaced.otf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -563,7 +563,7 @@ return{
pro="アドバンス",
icon="アイコン",
sfx="効果音",
vib="VIB",
vib="振動",
alpha="Alpha",
track="オートトラック",
@@ -681,7 +681,7 @@ return{
title="ミュージックルーム",
bgm="音楽",
sfx="効果音",
voc="VOC",
voc="ボイス",
music="",
label="ラベル",
},
@@ -957,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"},

View File

@@ -1,7 +1,7 @@
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).
(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 line clear type
Play until the end or achieve the level's goal to win.
@@ -18,28 +18,49 @@ Spin detection:
- 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.
Attack system:
Special line clears:
Spin sends (lines cleared x2) attack,
- B2B sends extra 1/1/2/4/8 for Spin Single/Double/Triple/Techrash/Techrash+
- B2B2B sends (lines cleared x0.5), and +1 extra blocking
- Minis reduces the attack to 25% (x0.25 multiplier)
Non-Spin Techrash/Techrash+ sends (lines cleared) attack,
- B2B sends 1 additional line
- B2B2B will have an attack boost of 50% and +1 extra blocking
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
Perfect Clear (aka All Clear):
- 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.
Normal line clears (1 to 3 lines, no spin or pc/hpc):
Sends (lines cleared -0.5) attack
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.
Combos: All damage above (except attack from pc/hpc) 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.
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), and +1 extra blocking
- Minis reduces the attack to 25% (×0.25 multiplier)
Special line clears will the increase B2B gauge, making later special line clears have either a B2B or B2B2B bonus (see below)
Special clears (Techrash/techrash+ without spins):
- B2B sends 1 additional line
- B2B2B will have an attack boost of 50% and +1 extra blocking
Non-special clears:
send (attack-0.5) attack.
After calculating all above, the damage value will be rounded down then sent
Combos (REN):
The numbers of the combos are equal to (the numbers you clear lines consecutively 1). All damage above (except attack from PC/HPC) will be given a (combo ×25%) bonus, or (combo ×15%) 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
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, and +2 extra blocking.
After calculating all the above, the damage value will be rounded down and sent.
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.
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
No lines cleared:
- Spin (0 lines) +20. Do note that the B2B gauge cannot exceed 800 using this method.
Score system:
The better you play, the higher the score.
@@ -52,37 +73,27 @@ Attack delay:
Minis will greatly increase the delay.
Countering:
When you send attacks, if there is garbage in queue,
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 extra blocking you didn't use will be discarded, and finally the remaining attack power will be sent to your 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.
A regular line clear -250
Spin Single/Double/Triple/Techrash/Techrash+ + 50/100/180/800/1000 (x50% if Mini)
Techrash/Techrash+ + 150/200/...
PC when lines cleared in this round >4, +800
Hemi-PC, +100
Spin (0 lines) +20. Do note that the B2B gauge cannot exceed 800 using this method.
When gauge is above 800, a drop without clearing lines decreases it by 40, but cannot drop below 800
Any extra blocking you didn't use will be discarded, and finally, the remaining attack power will be sent to your opponent.
Battle Royale modes:
Many players play a game at the same time (against AI bots, not real players).
As players get eliminated, blocks fall faster, and garbage take effect faster, as well as rise faster.
As players get eliminated, blocks fall faster, and garbage takes effect faster, as well as 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: After you attack or when your target dies, lock onto the player with the highest field. (Refreshes every second)
4. Attackers: attack all players locking onto yourself.
Your attack will be sent to all of them. If you are not targetted, you attack a random player (not locking).
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.
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 a X cannot have blocks;
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.

View File

@@ -18,37 +18,10 @@
もし回転システムがキックテーブルから2番チェック (2nd check) を採用していなかった場合 +1点
- もしスピンの合計点が2点しかない場合は「ミニ」扱いになりますがS, Z, J, L, Tのいずれかで, ラインクリア時にそのミノを全て消せなかった場合のみ。
攻撃の火力システム:
通常のラインクリア (1から3ライン):
ラインを消した数から0.5引いた分 (四捨五入) を送ります
特殊なラインクリア:
スピンはラインを消した数の2倍分送ります
- B2Bは消し方に応じて追加します, 以下の通り:
- スピンシングル 1
- スピンダブル 1
- スピントリプル 2
- Techrash 4
- Techrash+ 8
- B2B2Bは (ラインクリア数×0.5) 分のラインを上乗せ、更に1ライン追加相殺します。
- ミニ判定の場合, その攻撃は元の0.25倍に下がります。
スピン無しのTechrash/Techrash+は消した分をそのまま送ります
- B2Bの場合は追加1ライン
- B2B2Bの場合は50の攻撃ブーストが掛かると更に1ライン分追加相殺します
特殊なラインクリアはB2Bゲージを増加させます, そのゲージは後のB2BやB2B2Bにボーナスが追加されます。 (以下参照)
コンボ (通称: 連):
全てのダメージに応じて (コンボ数×25) の上乗せ, あるいはシングルに対して (コンボ数×15%) 上乗せ (最大12コンボまで) ,
3コンボ以上で+1追加攻撃。
ヘマイパーフェクトクリア (Hemi Perfect Clear) (「ブロックが下に残ってる」状態でのパフェ。 Iミでクリアできるラインが一つであり, 残りのミノ全てはプレイヤーが置かなかったミノ (お邪魔ミノ) である事:
攻撃 +4 追加相殺 +2
パーフェクトクリア (通称: オールクリア):
8から16ライン送る (試合内でパフェを送る度に前のライン数と2ライン分上乗せ) もしくは 上の記述からのダメージと追加, なおさら多い,
更に 追加相殺 +2。
全てを計算した後に, ダメージ数を四捨五入して送ります。
Attack system:
[TODO]
Back to Back (B2B) gauge:
[TODO]
スコアシステム:
上手くプレイすれば, スコアも上がります。
@@ -65,26 +38,6 @@
追加相殺がまず使われ, その次に攻撃自体とお邪魔を1対1の割合でお邪魔の相殺に当てます。
使わなかった追加相殺は破棄され、残った攻撃のパワーは相手に送られます。
バックツーバック (B2B) ゲージ:
B2Bのゲージの範囲は0から1000あります。もしゲージの値が50以上なら特殊なラインクリアはB2Bと見なされ、800以上ならB2B2B (バックツーバックツーバック) 扱いとなります。
普通のラインクリアは -250
スピンシングル: +50
スピンダブル: +100
スピントリプル: +180
特殊なTechrash: +800
特殊なTechrash+: +1000
ミニ系は (上の記述通り×50%)
普通のTechrashは+150
Techrash+は+200
… と続きます。
このラウンド内の合計ライン数が4以上でパフェを取った場合, +800
ヘマイパフェ, +100
スピン (0ライン) は+20, 注意としてこの方法ではゲージを800以上は増やせません。
もしゲージが800以上ある場合, 毎回のラインクリア無しの落下で40減りますが、800未満にはなりません。
バトルロイヤルモード:
沢山のプレイヤーが同時にゲームをプレイします (対AIです, 本物の人ではありません)。
人数が減れば減るほど、ミノの落下速度は加速していき、お邪魔の効果が早く出る同時にせり上がる速度も上がります。

View File

@@ -15,24 +15,49 @@ spin判定:
--如果分数只有2,方块是SZJLT之一,并且没有把当前方块整个消除那么就是mini
攻击系统:
特殊消除:
如果是spin,打出[2*消行数]攻击,
B2B攻击+[1/1/2/4/8(spin1~5)]
B3B攻击在B2B基础上+消行数*0.5,+1额外抵挡
mini减至25%
不是spin但是单次消>=4行,打出[消行数]攻击,
B2B攻击+1
B3B攻击+50%,+1额外抵挡
半全消("下方有剩余方块"的全消,如果是I消1行则必须不剩余玩家放置的方块):
伤害+4,额外抵挡+2
全消:
伤害为8~16(本局内递增2),和上述其他伤害取大,+2额外抵挡
普通消除(也就是消行数<4并且没有spin或者(半)全消):
概念说明[高级消除]:
spin/消四及以上,会受到B2B(点数>=50)或B3B(点数>800)加成
反之称为低级消除
概念说明[特殊消除]:
spin/消四及以上/pc/hpc,可以增加B2B点数
反之称为普通消除
高级消除(spin):
打出[2*消行数]攻击,然后
- B2B攻击+[1/1/2/4/8/14(spin1~6)]
- B3B攻击在B2B基础上+消行数*0.5,+1额外抵挡
- mini减至25%
高级消除(非spin但是消四及以上):
打出[消行数]攻击,然后
- B2B攻击+1
- B3B攻击+50%,+1额外抵挡
低级消除:
打出[消行数-0.5]攻击
连击:每次连击给予上述除去hpc/pc加成的部分[连击数*25%(上限12连)(如果只消一行就是15%)]的加成,>=3次时再额外加1攻击
特殊消除会增加B2B点数,让之后的特殊消除获得B2B(B3B)增益(详细说明见下文)
连击:
(注:连击数为连续消除次数-1)
把上述高级消除/低级消除的攻击直接乘以"连击倍率", 公式为 "连击倍率"=[连击数(上限12)]*[消一行以上25%,只消一行15%]
如果消除>=3次时再额外加1攻击
半全消("下方有剩余方块"的全消,如果是I消1行则必须不剩余玩家放置的方块):
伤害+4,额外抵挡+2
全消:
伤害为8~16(本局内递增2),和上述其他伤害取大,+2额外抵挡
计算完成后,向下取整,攻击打出
back to back(B2B)点数说明:
B2B点数的范围在0~1000
落块后消行了:
特殊消除:
spin1~5:+[50/100/180/800/1000](mini变为原来50%)
消四/五/六:+[150/200/...]
本局内消行数>4时全消:+800
半全消:+100
普通消除:
-250
落块后没消行:
空spin:+20
点数在800以上会-40(不低于800)
分数系统:
分数计算系统非常复杂,而且随时可能更改所以不写在这里,并且计算只跟消除方式等信息有关,和模式设定无关
@@ -44,16 +69,6 @@ spin判定:
发动攻击时,若缓冲条有攻击则先用额外抵挡再用攻击力1:1抵消最先受到的攻击
没有用上的额外抵挡会被丢弃,最后剩下的攻击力会发送给对手
back to back(B2B)点数说明:
B2B点数的范围在0~1000,在点数>=50时进行特殊消除为B2B,>800时特殊消除为B3B
普通消除:-250
spin1~5:+[50/100/180/800/1000](mini变为原来50%)
消四/五/六:+[150/200/...]
本局内消行数>4时全消:+800
半全消:+100
空spin:+20,此法得到的点数不能超过800
当点数在800以上时空放一块-40(不低于800)
混战模式说明:
许多玩家同时进行一局游戏(对手都是AI,不是真人).
随着玩家数量的减少,方块下落/垃圾生效速度/垃圾升起速度都会增加.

View File

@@ -1798,30 +1798,15 @@ do
self.b2b=self.b2b+cc*50-50
piece.special=true
else
piece.special=false
end
if self.sound and(cc~=1 or dospin)then
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)
self:showText(text.clear[cc],0,-30,35,'appear',(8-cc)*.3)
atk=cc-.5
sendTime=20+int(atk*20)
cscore=cscore+clearSCR[cc]
piece.special=false
end
if self.sound and(cc~=1 or dospin)then
VOC.play(clearVoice[cc],CHN)
end
--Combo bonus
@@ -1835,35 +1820,45 @@ do
cscore=cscore+min(50*cmb,500)*(2*cc-1)
end
--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
--PC/HPC
if clear and cc>=#C.bk then
if CY==1 then
piece.pc=true
piece.special=true
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
elseif cc>1 or self.field[#self.field].garbage then
piece.hpc=true
piece.special=true
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
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
if not piece.special then
self.b2b=max(self.b2b-250,0)
end
if self.b2b>1000 then

View File

@@ -2,12 +2,18 @@ return[=[
未来计划:
R E M A K E
0.17.2:
g0.17.2: 0.17.2
新增:
改动:
完善当前的攻击系统,进入稳定状态
更新说明书的攻击系统章节
代码:
完善字体并换用OTF
修复:
倒计时时不能充das #610
几个音效的音量不太对 #572
master_g模式的一些细节问题
0.17.1: 苏醒 Wake Up
新增:
新模式:master_g(NOT_A_ROBOT移植)

View File

@@ -1,7 +1,7 @@
return{
["apkCode"]=430,
["apkCode"]=431,
["code"]=1702,
["string"]="V0.17.2",
["room"]="ver A-5",
["name"]="",
["room"]="ver A-6",
["name"]="0.17.2",
}