Compare commits

..

11 Commits

Author SHA1 Message Date
MrZ_26
286e330077 版本推进 2022-03-31 17:04:29 +08:00
MrZ_26
5e8af423f2 修复一些背景相关问题,框架跟进 2022-03-31 17:04:29 +08:00
NOT_A_ROBOT
5f539a2d4f Fixed off-by-one error in rank calculation in Master Graded (#678) 2022-03-31 13:58:04 +08:00
MrZ_26
73f63cfd0a 修复秒表小程序不能用触屏 2022-03-27 00:35:28 +08:00
MrZ_26
11422bee5a 微调说明书里对于HPC的说明 2022-03-26 21:12:48 +08:00
MrZ_26
baf36ac86b 版本推进 2022-03-22 14:14:03 +08:00
MrZ_26
d8c058b0e1 修正词典文件语法错误 2022-03-22 14:14:03 +08:00
MrZ_26
6c69c38b32 登录界面可选隐藏邮箱 close #639 2022-03-22 02:39:26 +08:00
Untitled_unrevised
d17e62e36b Update dict_zh.lua (#675)
added "DPC", "Gamushiro Stacking", "Fractal"
added some link of setups and patterns
2022-03-22 02:19:40 +08:00
MrZ_26
3a2ec3a5dd 移除FTLock,全局强制开启 2022-03-22 02:15:48 +08:00
MrZ_26
ce25f17676 修正一个背景代码细节 2022-03-14 04:27:47 +08:00
31 changed files with 102 additions and 65 deletions

View File

@@ -180,7 +180,7 @@ Z.setOnFnKeys({
end
end
end,
function()print(WIDGET.getSelected()or"no widget selected")end,
function()print(BG.locked)end,
function()for k,v in next,_G do print(k,v)end end,
function()if love['_openConsole']then love['_openConsole']()end end,
})

View File

@@ -19,8 +19,8 @@ function back.draw()
gc.clear(.08,.08,.084)
end
gc.push('transform')
gc.translate(SCR.cx,SCR.cy+20*sin(t*.02))
gc.scale(SCR.k)
gc.replaceTransform(SCR.xOy_m)
gc.translate(0,20*sin(t*.02))
gc.scale(1.26,1.36)
if -t%6.26<.1355 then
gc.translate(60*sin(t*.26),100*sin(t*.626))

View File

@@ -165,17 +165,15 @@ do--function applySettings()
BG.set()
elseif SETTING.bg=='off'then
BG.unlock()
BG.set('fixColor')
BG.send(SETTING.bgAlpha,SETTING.bgAlpha,SETTING.bgAlpha)
BG.set('fixColor',SETTING.bgAlpha,SETTING.bgAlpha,SETTING.bgAlpha)
BG.lock()
elseif SETTING.bg=='custom'then
if love.filesystem.getInfo('conf/customBG')then
local res,image=pcall(gc.newImage,love.filesystem.newFile('conf/customBG'))
if res then
BG.unlock()
BG.set('custom')
gc.setDefaultFilter('linear','linear')
BG.send(SETTING.bgAlpha,image)
BG.set('custom',SETTING.bgAlpha,image)
gc.setDefaultFilter('nearest','nearest')
BG.lock()
else
@@ -184,8 +182,7 @@ do--function applySettings()
else--Switch off when custom BG not found
SETTING.bg='off'
BG.unlock()
BG.set('fixColor')
BG.send(SETTING.bgAlpha,SETTING.bgAlpha,SETTING.bgAlpha)
BG.set('fixColor',SETTING.bgAlpha,SETTING.bgAlpha,SETTING.bgAlpha)
BG.lock()
end
end
@@ -714,7 +711,7 @@ do--function resetGameData(args)
local gameSetting={
--Tuning
'das','arr','dascut','dropcut','sddas','sdarr',
'ihs','irs','ims','RS','FTLock',
'ihs','irs','ims','RS',
--System
'skin','face',
@@ -943,7 +940,7 @@ do--CUS/SETXXX(k)
local warnList={
'das','arr','dascut','dropcut','sddas','sdarr',
'ihs','irs','ims','RS',
'FTLock','frameMul','highCam',
'frameMul','highCam',
'VKSwitch','VKIcon','VKTrack','VKDodge',
'simpMode',
}

View File

@@ -536,7 +536,6 @@ do--Game data tables
ROOMENV={
--Room config
capacity=10,
FTLock=true,
--Basic
drop=30,lock=60,
@@ -591,7 +590,6 @@ do--Userdata tables
ihs=true,irs=true,ims=true,
holdMode='hold',
RS='TRS',
FTLock=true,
--System
reTime=2,

View File

@@ -758,8 +758,7 @@ return{
{"DAS (simple)",
"das arr delayedautoshift autorepeatrate",
"term",
"Imagine typing on a keyboard, where you press and hold the “O” key. \nYou get a long string of os.\nOn the timeline, it kinds of looks like o--------------o-o-o-o-o-o-o-o-o\nThe “--------------” is DAS, the “-” is ARR.
",
"Imagine typing on a keyboard, where you press and hold the “O” key. \nYou get a long string of os.\nOn the timeline, it kinds of looks like o--------------o-o-o-o-o-o-o-o-o\nThe “--------------” is DAS, the “-” is ARR.",
},
{"DAS & ARR",
"das arr delayedautoshift autorepeatrate",

View File

@@ -965,7 +965,8 @@ return{
{"QT炮",
"qt cannon",
"setup",
"QT炮细节未知。",
"一种能以更高的概率搭出开局DT Attack的类似DT炮的定式。"..HDwiki,
HDsearch.."dt",
},
{"MT",
"mt",
@@ -1003,9 +1004,10 @@ return{
HDsearch.."godspin",
},
{"信天翁",
"xintianweng",
"xintianweng albatross",
"setup",
"一种高观赏性几乎不浪费T的快节奏强力T2-T3-T2-PC开局。",
"一种高观赏性几乎不浪费T的快节奏强力T2-T3-T2-PC开局。"..HDwiki,
HDsearch.."Albatross_Special",
},
{"鹈鹕",
"tihu",
@@ -1013,9 +1015,22 @@ return{
"一种类似信天翁的定式,在块序不能信天翁的时候可以用。",
},
{"七巧板",
"qiqiaoban",
"qiqiaoban tangram",
"setup",
"一种极大概率能摆出来并且很大概率能做到PC的定式本游戏中的pc练习中空出不规则区域的那个就是七巧板。",
"一种极大概率能摆出来并且很大概率能做到PC的定式本游戏中的pc练习中空出不规则区域的那个就是七巧板。"..HDwiki,
HDsearch.."Perfect_Clear_Opener",
},
{"DPC",
"DPC",
"setup",
"在场地空白1bag还剩一块的情况下能够100%搭成的TSD+PC的定式。常见于开局三包PC的后续。"..HDwiki,
HDsearch.."DPC_Setups",
},
{"Gamushiro堆叠",
"gamushiro",
"setup",
"ガムシロ積みGamushiro堆叠一种开局TD-Attack的定式。"..HDwiki,
HDsearch.."Gamushiro_Stacking",
},
--形状
@@ -1042,6 +1057,12 @@ return{
"STMB cave\n在高空3宽坑架SZ捐一个T2的形状。"..HDwiki,
HDsearch.."stmb_cave",
},
{"双刃剑",
"shuangrenjian fractal spider",
"pattern",
"两个T2形状叠在一起。"..HDwiki,
HDsearch.."Fractal",
},
{"LST堆叠",
"lst",
"pattern",
@@ -1061,14 +1082,15 @@ return{
HDsearch.."imperial_cross",
},
{"雨宫炮",
"yugong",
"yugong amemiya",
"pattern",
"一种捐T2后可消四的形状常见于DT的一个分支。",
},
{"千鸟格子",
"qianniaoge",
"pattern",
"一种在小洞上捐一个T2后还能做一个T2的形状。",
"一种在小洞上捐一个T2后还能做一个T2的形状。"..HDwiki,
HDsearch.."Cut_copy",
},
{"六巧板",
"liuqiaoban",
@@ -1076,9 +1098,10 @@ return{
"一种常用于增加中局PC概率的形状本游戏中的PC练习中空出4×4方形区域就是六巧板。",
},
{"绯红之王",
"feihongzhiwang",
"feihongzhiwang king crimson",
"pattern",
"在STSD上叠若干个T3的形状。",
"在STSD上叠若干个T3的形状。"..HDwiki,
HDsearch.."King_Crimson",
},
--存档管理

View File

@@ -459,7 +459,6 @@ return{
atkFX="Atk FX",
frame="Render Frame Rate (%)",
FTlock="Frame skip",
text="Line Clear Pop-Ups",
score="Score Pop-Ups",
@@ -688,6 +687,7 @@ return{
register="Sign Up",
email="Email Address",
password="Password",
showEmail="Show Email",
keepPW="Remember me",
login="Log In",
},

View File

@@ -330,7 +330,6 @@ return{
atkFX="FX Vis. de Ataque",
frame="Ratio de FPSs(%)",
FTlock="Bloqueo por frames",
text="Texto de Acciones",
score="Puntaje en Pantalla",
@@ -551,6 +550,7 @@ return{
register="Registrarse",
email="Correo Elec.",
password="Contraseña",
-- showEmail="Show Email",
keepPW="Recordar credenciales",
login="Entrar",
},

View File

@@ -423,7 +423,6 @@ return{
atkFX="Effets d'attaque",
frame="Montrer les FPS(%)",
-- FTlock="Frame-Time Lock",
text="Texte d'action",
score="Pop-up de score",
@@ -642,6 +641,7 @@ return{
register="Enregistrement",
email="E-mail",
password="Mot de passe",
-- showEmail="Show Email",
-- keepPW="Remember me",
login="Connexion",
},

View File

@@ -461,7 +461,6 @@ return{
atkFX="Efek Serang",
frame="Kecepatan Bingkai (%)",
FTlock="Lewat Bingkai",
text="Teks Baris",
score="Teks Nilai",
@@ -690,6 +689,7 @@ return{
register="Daftar",
email="Alamat Email",
password="Password",
-- showEmail="Show Email",
keepPW="Ingat Saya",
login="Masuk",
},

View File

@@ -461,7 +461,6 @@ return{
atkFX="攻撃演出",
frame="レンダリングフレームレート(%)",
FTlock="フレームスキップ",
text="ライン消去ポップ",
score="スコアポップ",
@@ -690,6 +689,7 @@ return{
register="サインアップ",
email="Eメールアドレス",
password="パスワード",
-- showEmail="Show Email",
keepPW="常にログイン",
login="ログイン",
},

View File

@@ -448,7 +448,6 @@ return{
atkFX="Nível FX Atk.",
frame="Render Frame Rate(%)",
-- FTlock="Frame-Time Lock",
text="Texto de ação",
score="Pop-up de pontos",
@@ -678,6 +677,7 @@ return{
register="Registrar",
email="Endereço De Email",
password="Senha",
-- showEmail="Show Email",
-- keepPW="Remember me",
login="Log in",
},

View File

@@ -269,7 +269,6 @@ return{
atkFX="→→~",
frame="|=|%",
FTlock="||=|→→|=||",
text="ABC",
score="+123",
@@ -489,7 +488,8 @@ return{
register="Sign up",
email="@",
password="*",
-- keepPW="I",
showEmail="?",
keepPW="!",
login="Log in",
},
register={

View File

@@ -460,7 +460,6 @@ return{
atkFX="攻击特效:",
frame="绘制帧率(%):",
FTlock="逻辑追帧",
text="消行文本",
score="分数动画",
@@ -688,6 +687,7 @@ return{
register="注册",
email="邮箱",
password="密码",
showEmail="显示邮箱",
keepPW="保存密码",
login="登录",
},

View File

@@ -458,7 +458,6 @@ return{
atkFX="攻击外汇",
frame="渲染帧率(%)",
FTlock="逻辑追帧",
text="行清除弹出窗口",
score="分数弹出",
@@ -686,6 +685,7 @@ return{
register="登记",
email="电子邮件地址",
password="密码",
showEmail="显示电子邮件",
keepPW="记得我吗",
login="登录",
},

View File

@@ -460,7 +460,6 @@ return{
atkFX="攻擊特效",
frame="渲染幀率(%)",
FTlock="跳幀",
text="清除文本",
score="分數動畫",
@@ -688,6 +687,7 @@ return{
register="註冊",
email="電郵",
password="密碼",
showEmail="顯示郵箱",
keepPW="保存密碼",
login="登錄",
},

View File

@@ -39,7 +39,7 @@ Attack system:
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 combos), +1 more attack for 3 Combo or more.
Hemi Perfect Clear (a P.C. “with blocks left below.” If its an I clearing 1 line, the remaining blocks must not be player-placed):
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
Perfect Clear (All Clear):

View File

@@ -37,7 +37,7 @@ Spin判定:
(注:连击数为连续消除次数-1)
把上述高级消除/低级消除的攻击直接乘以"连击倍率", 公式为 "连击倍率"=[连击数(上限12)]*[消一行以上25%,只消一行15%]
如果消除>=3次时再额外加1攻击
半全消("下方有剩余方块"的全消,如果是I消1行则必须不剩余玩家放置的方块):
半全消("下方有剩余方块"的全消,如果只消了1行则必须不剩余玩家放置的方块):
伤害+4,额外抵挡+2
全消:
伤害为8~16(本局内递增2),和上述其他伤害取大,+2额外抵挡

View File

@@ -20,15 +20,15 @@ return{
getRank=function(P)
local G=P.modeData.gradePts
return
G>=39 and 5 or -- TM+
G>=31 and 4 or -- MM- - TM
G>=25 and 3 or -- m8 - MO
G>=18 and 2 or -- m1 - m7
G>=9 and 1 or -- S1 - S9
G>=40 and 5 or -- TM+
G>=32 and 4 or -- MM- - TM
G>=26 and 3 or -- m8 - MO
G>=19 and 2 or -- m1 - m7
G>=10 and 1 or -- S1 - S9
0
-- Table of grades vs values
-- 9 8 7 6 5 4 3 2 1 S1 S2 S3 S4 S5 S6 S7 S8 S9 m1 m2 m3 m4 m5 m6 m7 m8 m9 M MK MV MO MM- MM MM+ GM- GM GM+ TM- TM TM+
-- 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
-- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
end,
}

View File

@@ -70,5 +70,4 @@ return{
bg='none',bgm='race',
allowMod=true,
FTLock=true,
}

View File

@@ -377,7 +377,6 @@ local DemoEnv={
life=1e99,
allowMod=false,
fine=false,
FTLock=false,
}
function PLY.newDemoPlayer(id)
local P=_newEmptyPlayer(id)

View File

@@ -2671,7 +2671,7 @@ function Player:_die()
end
end
function Player:update(dt)
self.trigFrame=self.trigFrame+(self.gameEnv.FTLock and dt*60 or 1)
self.trigFrame=self.trigFrame+dt*60
if self.alive then
local S=self.stat
if self.type=='computer'then self.bot:update(dt)end

View File

@@ -199,8 +199,7 @@ local scene={}
function scene.sceneInit()
reset()
BG.set('fixColor')
BG.send(.26,.26,.26)
BG.set('fixColor',.26,.26,.26)
BGM.play(bgm)
end

View File

@@ -106,8 +106,7 @@ end
local scene={}
function scene.sceneInit()
BG.set('fixColor')
BG.send(.26,.62,.26)
BG.set('fixColor',.26,.62,.26)
_newGame()
selected=false
end

View File

@@ -35,6 +35,14 @@ end
function scene.mouseUp()
release()
end
function scene.touchDown()
press()
end
function scene.touchUp()
if #love.touch.getTouches()==0 then
release()
end
end
function scene.keyDown(key,isRep)
if isRep then return end
if key=='escape'then

View File

@@ -12,8 +12,7 @@ function scene.sceneInit()
lastKey=nil
speed=0
keyTime={}for i=1,40 do keyTime[i]=-1e99 end
BG.set('fixColor')
BG.send(.26,.26,.26)
BG.set('fixColor',.26,.26,.26)
BGM.play('push')
end

View File

@@ -2,6 +2,7 @@ local emailBox=WIDGET.newInputBox{name='email',x=380,y=200,w=500,h=60,limit=128}
local passwordBox=WIDGET.newInputBox{name='password',x=380,y=300,w=620,h=60,secret=true,regex="[ -~]",limit=64}
local savePW=false
local showEmail=true
local function _login()
local email,password=emailBox:getText(),passwordBox:getText()
@@ -25,19 +26,22 @@ function scene.sceneInit()
local data=loadFile('conf/account','-canSkip')
if data then
savePW=true
showEmail=false
emailBox.secret=true
emailBox:setText(data[1])
passwordBox:setText(data[2])
end
end
scene.widgetList={
WIDGET.newText{name='title', x=80, y=50,font=70,align='L'},
WIDGET.newButton{name='register',x=1140,y=100,w=170,h=80,color='lY',code=function()SCN.swapTo('register','swipeR')end},
WIDGET.newText{name='title', x=80, y=50,font=70,align='L'},
WIDGET.newButton{name='register', x=1140,y=100,w=170,h=80,color='lY',code=function()SCN.swapTo('register','swipeR')end},
emailBox,
passwordBox,
WIDGET.newSwitch{name='keepPW', x=900, y=420,disp=function()return savePW end,code=function()savePW=not savePW end},
WIDGET.newKey{name='login', x=1140,y=540,w=170,h=80,font=40,code=_login},
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
WIDGET.newSwitch{name='showEmail',x=550, y=420,disp=function()return showEmail end,code=function()showEmail=not showEmail emailBox.secret=not showEmail end},
WIDGET.newSwitch{name='keepPW', x=900, y=420,disp=function()return savePW end,code=function()savePW=not savePW end},
WIDGET.newKey{name='login', x=1140,y=540,w=170,h=80,font=40,code=_login},
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
}
return scene

View File

@@ -69,7 +69,6 @@ scene.widgetList={
WIDGET.newSlider{name='atkFX', x=330,y=820,lim=280,w=540,axis={0,5,1},disp=SETval('atkFX'), code=SETsto('atkFX')},
WIDGET.newSelector{name='frame', x=400,y=890,lim=280,w=460,list={8,10,13,17,22,29,37,47,62,80,100},disp=SETval('frameMul'),code=function(v)SETTING.frameMul=v;Z.setFrameMul(SETTING.frameMul)end},
WIDGET.newSwitch{name='FTlock', x=950,y=890,lim=290,disp=SETval('FTLock'), code=SETrev('FTLock')},
WIDGET.newSwitch{name='text', x=450,y=980,lim=360,disp=SETval('text'), code=SETrev('text')},
WIDGET.newSwitch{name='score', x=450,y=1030,lim=360,disp=SETval('score'), code=SETrev('score')},
@@ -98,7 +97,14 @@ scene.widgetList={
},
WIDGET.newSlider{name='bgAlpha', x=1020,y=1430,w=200,
axis={0,.8},disp=SETval('bgAlpha'),
code=function(v)SETTING.bgAlpha=v BG.send(v,v,v)end,
code=function(v)
SETTING.bgAlpha=v
if BG.cur=='fixColor' then
BG.send(v,v,v)
else
BG.send(v)
end
end,
hideF=function()return SETTING.bg=='on'end
},

View File

@@ -2,11 +2,18 @@ return[=[
未来计划:
R E M A K E
0.17.3: 矿井 Mine
修复:
修复Master-G一些问题
一些背景相关的问题 #672
0.17.2: 服务区 Service Area
新增:
把一些模式加入到大地图上(by NOT_A_ROBOT) #640
登录界面会隐藏自动填充的邮箱防止信息泄露 #639
改动:
大幅下调高级机器人速度
移除FTLock设置全局开启
大幅度调低高级机器人速度
词典新增一条比较详细的新人指引
master_g模式不再限定旋转系统
改进几个经典模式(by NOT_A_ROBOT) #661

View File

@@ -1,7 +1,7 @@
return{
["apkCode"]=435,
["code"]=1702,
["string"]="V0.17.2",
["apkCode"]=437,
["code"]=1703,
["string"]="V0.17.3",
["room"]="ver A-7",
["name"]="0.17.2",
["name"]="矿井 Mine",
}