添加说明书场景
This commit is contained in:
@@ -487,7 +487,8 @@ return{
|
||||
mission="Force Mission",
|
||||
},
|
||||
help={
|
||||
dict="little Z",
|
||||
manual="Manual",
|
||||
dict="Little Z",
|
||||
staff="Staff",
|
||||
his="History",
|
||||
qq="Author's qq",
|
||||
|
||||
@@ -537,7 +537,8 @@ return{
|
||||
reset="Redémarrer",
|
||||
},
|
||||
help={
|
||||
dict="little Z",
|
||||
manual="Manuel",
|
||||
dict="Little Z",
|
||||
staff="Staff",
|
||||
his="History",
|
||||
qq="QQ du créateur",
|
||||
|
||||
@@ -486,7 +486,8 @@ return{
|
||||
mission="Forçar Missão",
|
||||
},
|
||||
help={
|
||||
dict="little Z",
|
||||
manual="Manual",
|
||||
dict="Little Z",
|
||||
staff="Staff",
|
||||
his="History",
|
||||
qq="Author's qq",
|
||||
|
||||
@@ -450,6 +450,7 @@ return{
|
||||
mission="Forzar misión",
|
||||
},
|
||||
help={
|
||||
manual="Manual",
|
||||
dict="Little Z",
|
||||
staff="Staff",
|
||||
his="Hist. de Acts.",
|
||||
|
||||
@@ -343,6 +343,7 @@ return{
|
||||
mission="Force mission",
|
||||
},
|
||||
help={
|
||||
manual="?",
|
||||
dict="z",
|
||||
staff="Orz",
|
||||
his="_&_",
|
||||
|
||||
@@ -103,6 +103,7 @@ return{
|
||||
pro="阴间",
|
||||
},
|
||||
help={
|
||||
manual="聪明人都不看的",
|
||||
dict="词典",
|
||||
staff="游戏谁做的",
|
||||
his="黑历史",
|
||||
|
||||
@@ -496,6 +496,7 @@ return{
|
||||
down="↓",
|
||||
},
|
||||
help={
|
||||
manual="说明书",
|
||||
dict="小Z词典",
|
||||
staff="制作人员",
|
||||
his="更新历史",
|
||||
|
||||
90
parts/language/manual_en.lua
Normal file
90
parts/language/manual_en.lua
Normal file
@@ -0,0 +1,90 @@
|
||||
return splitStr([=[
|
||||
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 line clear type
|
||||
Play until the end or achieve the level's goal to win.
|
||||
|
||||
Rotation system:
|
||||
Uses Techmino's custom rotation system. Too lazy to write the details
|
||||
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
Attack system:
|
||||
Normal line clears (1 to 3 lines):
|
||||
Sends (lines cleared -0.5) attack
|
||||
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
|
||||
|
||||
Special line clears will the increase B2B gauge, making later special line clears have either a B2B or B2B2B bonus (see below)
|
||||
|
||||
Half 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 +2, Extra Blocking +2
|
||||
|
||||
Perfect Clear (aka All Clear):
|
||||
half the sum of the damage above, plus additional 8 to 20 attack (increasing by 2 in a single round for each PC)
|
||||
then +2 extra blocking.(note: if lines cleared in this round >4, then B2B gauge will be filled)
|
||||
|
||||
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:
|
||||
The better you play, the higher the score.
|
||||
|
||||
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 greatly increase the delay.
|
||||
|
||||
Countering:
|
||||
When you send attacks, if there is garbage in 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+ + 100/200
|
||||
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
|
||||
|
||||
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.
|
||||
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).
|
||||
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;
|
||||
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.
|
||||
]=],"\n")
|
||||
74
parts/language/manual_zh.lua
Normal file
74
parts/language/manual_zh.lua
Normal file
@@ -0,0 +1,74 @@
|
||||
return splitStr([=[
|
||||
游戏方法:
|
||||
系统会提供的一个个四连骨牌("方块",总共7种)
|
||||
玩家需要控制(左右移动和旋转90,180,270度)这些骨牌直到下落到场地底部,锁定
|
||||
每填满场地的一行就会将其消除(如果有对手的话根据消除方式会给对手攻击)
|
||||
尝试存活更久,或者完成目标即胜利.
|
||||
|
||||
旋转系统:
|
||||
使用Techmino专属旋转系统,具体太复杂并且随时可能更改所以不写在这里,可以去parts/kicklist.lua看
|
||||
|
||||
spin判定:
|
||||
满足三角判定+2分
|
||||
满足不可移动判定+2分
|
||||
--满足以上之一就算是spin
|
||||
满足非第二个test+1分
|
||||
--如果分数只有2,方块是SZJLT之一,并且没有把当前方块整个消除那么就是mini
|
||||
|
||||
攻击系统:
|
||||
普通消除:
|
||||
消<4行打出[消行数-0.5]攻击
|
||||
特殊消除:
|
||||
如果是spin,打出[2*消行数]攻击,
|
||||
B2B攻击+[1/1/2/4/8(spin1~5)]
|
||||
B3B攻击在B2B基础上+消行数*0.5,+1额外抵挡
|
||||
mini减至25%
|
||||
不是spin但是单次消>=4行,打出[消行数]攻击,
|
||||
B2B攻击+1
|
||||
B3B攻击+50%,+1额外抵挡
|
||||
特殊消除会增加B2B点数,让之后的特殊消除获得B2B(B3B)增益(详细说明见下文)
|
||||
半全消("下方有剩余方块"的全消,如果是I消1行则必须不剩余玩家放置的方块):伤害+2,额外抵挡+2
|
||||
全消:将上述伤害之和减半,再+8~20(本局内递增2),+2额外抵挡(注:本局消行数>4时会将B2B点数拉满)
|
||||
连击:每次连击给予上述攻击[连击数*25%(上限12连)(如果只消一行就是15%)]的加成,>=3次时再额外加1攻击
|
||||
根据上述规则计算后,向下取整,攻击打出
|
||||
|
||||
分数系统:
|
||||
分数计算系统非常复杂,而且随时可能更改所以不写在这里,并且计算只跟消除方式等信息有关,和模式设定无关
|
||||
|
||||
攻击延迟:
|
||||
消2/3的攻击生效最快,消四其次,spin攻击生效较慢,高连击生效最慢
|
||||
B2B或者B3B增加攻击力的同时也会减缓一点生效速度,mini大幅减缓生效速度
|
||||
|
||||
抵消逻辑:
|
||||
发动攻击时,若缓冲条有攻击则先用额外抵挡再用攻击力1:1抵消最先受到的攻击
|
||||
没有用上的额外抵挡会被丢弃,最后剩下的攻击力会发送给对手
|
||||
|
||||
back to back(B2B)点数说明:
|
||||
B2B点数的范围在0~1000,在点数>=50时进行特殊消除为B2B,>800时特殊消除为B3B
|
||||
普通消除:-250
|
||||
spin1~5:+[50/100/180/800/1000](mini变为原来50%)
|
||||
消四/五:+[100/200]
|
||||
空spin:+20,此法得到的点数不能超过800
|
||||
当点数在800以上时空放一块-40(不低于800)
|
||||
|
||||
混战模式说明:
|
||||
许多玩家同时进行一局游戏(对手都是AI,不是真人).
|
||||
随着玩家数量的减少,方块下落/垃圾生效速度/垃圾升起速度都会增加.
|
||||
淘汰其它玩家后可以获得一个徽章和该玩家持有的徽章,增强自己的攻击力.
|
||||
玩家可选四个攻击模式:
|
||||
1.随机:每次攻击后10%随机挑选一个玩家锁定
|
||||
2.最多徽章:攻击后或者锁定玩家死亡时锁定徽章最多的玩家
|
||||
3.最高:攻击后或者锁定玩家死亡时锁定场地最高的玩家(每秒刷新)
|
||||
4.反击:攻击所有锁定自己的玩家(攻击AOE),若未被任何人锁定则攻击随机玩家(不锁定)
|
||||
坚持到最后的玩家就是胜利者.
|
||||
|
||||
自定义模式说明:
|
||||
玩家可以自由调整大多数参数(不包括上述各种游戏模式的特殊效果),
|
||||
也可以画一个场地去消除或者是作为提示模板来进行拼图模式.
|
||||
在拼图模式下可以按功能键切换是否展示提示,其中:
|
||||
打"X"的格子不允许有方块;
|
||||
空的格子可以是任何状态;
|
||||
普通的七种彩色方块必须颜色对应;
|
||||
垃圾行方块的为止只要有方块就可以,但是不能是空气.
|
||||
玩家拼出画的图后就会判定胜利.
|
||||
]=],"\n")
|
||||
@@ -41,10 +41,11 @@ end
|
||||
scene.widgetList={
|
||||
WIDGET.newImage{name="pay1", x=20, y=20},
|
||||
WIDGET.newImage{name="pay2", x=1014, y=20},
|
||||
WIDGET.newButton{name="dict", x=1140, y=410,w=220,h=70,font=35,code=goScene"dict"},
|
||||
WIDGET.newButton{name="staff", x=1140, y=490,w=220,h=70,font=35,code=goScene"staff"},
|
||||
WIDGET.newButton{name="his", x=1140, y=570,w=220,h=70,font=35,code=goScene"history"},
|
||||
WIDGET.newButton{name="qq", x=1140, y=650,w=220,h=70,font=35,code=function()love.system.openURL("tencent://message/?uin=1046101471&Site=&Menu=yes")end,hide=MOBILE},
|
||||
WIDGET.newButton{name="manual", x=1140, y=350,w=220,h=70,font=35,code=goScene"manual"},
|
||||
WIDGET.newButton{name="dict", x=1140, y=430,w=220,h=70,font=35,code=goScene"dict"},
|
||||
WIDGET.newButton{name="staff", x=1140, y=510,w=220,h=70,font=35,code=goScene"staff"},
|
||||
WIDGET.newButton{name="his", x=1140, y=590,w=220,h=70,font=35,code=goScene"history"},
|
||||
WIDGET.newButton{name="qq", x=1140, y=670,w=220,h=70,font=35,code=function()love.system.openURL("tencent://message/?uin=1046101471&Site=&Menu=yes")end,hide=MOBILE},
|
||||
WIDGET.newButton{name="back", x=640, y=600,w=170,h=80,font=35,code=backScene},
|
||||
}
|
||||
|
||||
|
||||
@@ -31,8 +31,8 @@ function scene.keyDown(k)
|
||||
end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newTextBox{name="texts", x=30,y=45,w=1000,h=640,font=20,fix=true},
|
||||
WIDGET.newButton{name="back", x=1140, y=640,w=170,h=80,font=40,code=backScene},
|
||||
WIDGET.newTextBox{name="texts",x=30,y=45,w=1000,h=640,font=20,fix=true},
|
||||
WIDGET.newButton{name="back",x=1140,y=640,w=170,h=80,font=40,code=backScene},
|
||||
}
|
||||
|
||||
return scene
|
||||
30
parts/scenes/manual.lua
Normal file
30
parts/scenes/manual.lua
Normal file
@@ -0,0 +1,30 @@
|
||||
local scene={}
|
||||
|
||||
function scene.sceneInit()
|
||||
BG.set("cubes")
|
||||
WIDGET.active.texts:setTexts(require("parts/language/manual_"..({"zh","zh","zh","en","en","en","en","en"})[SETTING.lang]))
|
||||
end
|
||||
|
||||
function scene.wheelMoved(_,y)
|
||||
wheelScroll(y)
|
||||
end
|
||||
function scene.keyDown(k)
|
||||
if k=="up"then
|
||||
WIDGET.active.texts:scroll(-5)
|
||||
elseif k=="down"then
|
||||
WIDGET.active.texts:scroll(5)
|
||||
elseif k=="pageup"then
|
||||
WIDGET.active.texts:scroll(-20)
|
||||
elseif k=="pagedown"then
|
||||
WIDGET.active.texts:scroll(20)
|
||||
elseif k=="escape"then
|
||||
SCN.back()
|
||||
end
|
||||
end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newTextBox{name="texts",x=30,y=45,w=1000,h=640,font=15,fix=true},
|
||||
WIDGET.newButton{name="back",x=1140,y=640,w=170,h=80,font=40,code=backScene},
|
||||
}
|
||||
|
||||
return scene
|
||||
Reference in New Issue
Block a user