mod重新整理

This commit is contained in:
MrZ626
2020-11-23 21:11:31 +08:00
parent 8cc53bfb46
commit 3116fff552
4 changed files with 102 additions and 129 deletions

View File

@@ -2,147 +2,109 @@ local function disableKey(P,key)
table.insert(P.gameEnv.keyCancel,key)
end
MODOPT={--Mod options
noNext={no=0,id="NN",
key="q",x=80,y=230,color="red",
conflict={"hideNext","fullNext"},
func=function(P)P.gameEnv.nextCount=0 end,
next={no=0,id="NX",
key="q",x=80,y=230,color="orange",
list={0,1,2,3,4,5,6},
func=function(P,M)P.gameEnv.nextCount=M.list[M.sel]end,
},
fullNext={no=1,id="FN",
key="w",x=200,y=230,color="water",
conflict={"noNext"},
func=function(P)P.gameEnv.nextCount=6 end,
hold={no=1,id="HL",
key="w",x=200,y=230,color="orange",
list={0,1,2,3,4,5,6},
func=function(P,M)P.gameEnv.holdCount=M.list[M.sel]end,
unranked=true,
},
noHold={no=2,id="NH",
key="e",x=320,y=230,color="red",
conflict={"multiHold"},
func=function(P)P.gameEnv.holdCount=0 end,
},
multiHold={no=3,id="MH",
key="r",x=440,y=230,color="water",
list={2,3,4,5,6},
conflict={"noHold"},
func=function(P,M)P.gameEnv.holdCount=M.list[M.sel] end,
unranked=true,
},
hideNext={no=4,id="FL",
key="y",x=680,y=230,color="orange",
hideNext={no=2,id="FL",
key="e",x=320,y=230,color="water",
list={1,2,3,4,5},
conflict={"noNext"},
func=function(P,M)P.gameEnv.nextStartPos=M.list[M.sel]+1 end,
},
hideBlock={no=5,id="HB",
key="u",x=800,y=230,color="orange",
infHold={no=3,id="IH",
key="r",x=440,y=230,color="water",
func=function(P,M)P.gameEnv.infHold=true end,
unranked=true,
},
hideBlock={no=4,id="HB",
key="y",x=680,y=230,color="purple",
func=function(P)P.gameEnv.block=false end,
},
hideGhost={no=6,id="HG",
key="i",x=920,y=230,color="orange",
hideGhost={no=5,id="HG",
key="u",x=800,y=230,color="purple",
func=function(P)P.gameEnv.ghost=false end,
},
hidden={no=7,id="HD",
key="o",x=1040,y=230,color="grape",
hidden={no=6,id="HD",
key="i",x=920,y=230,color="grape",
list={"time","fast","none"},
conflict={"coverBoard"},
func=function(P,M)P.gameEnv.visible=M.list[M.sel]end,
unranked=true,
},
coverBoard={no=8,id="CB",
key="p",x=1160,y=230,color="grape",
hideBoard={no=7,id="HB",
key="o",x=1040,y=230,color="grape",
list={"down","up","all"},
conflict={"hidden"},
func=function(P)LOG.print("该mod还没有做好!")end,
},
flipBoard={no=8,id="FB",
key="p",x=1160,y=230,color="grass",
list={"UD","LR","180"},
func=function(P)LOG.print("该mod还没有做好!")end,
},
maxG={no=9,id="20G",
dropDelay={no=9,id="DT",
key="a",x=140,y=350,color="red",
conflict={"minG","suddenLock"},
func=function(P)P.gameEnv.drop=0 end,
list={0,.125,.25,.5,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99},
func=function(P,M)P.gameEnv.drop=M.list[M.sel]end,
unranked=true,
},
suddenLock={no=10,id="SL",
lockDelay={no=10,id="LT",
key="s",x=260,y=350,color="red",
conflict={"maxG","infLock"},
func=function(P)P.gameEnv.lock=0 end,
list={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99},
func=function(P,M)P.gameEnv.lock=M.list[M.sel]end,
unranked=true,
},
oneLife={no=11,id="SD",
waitDelay={no=11,id="ST",
key="d",x=380,y=350,color="red",
conflict={"infLife"},
func=function(P)P.gameEnv.life=0 end,
list={0,1,2,3,4,5,6,7,8,10,15,20,30,60},
func=function(P,M)P.gameEnv.wait=M.list[M.sel]end,
unranked=true,
},
noTele={no=12,id="NT",
fallDelay={no=12,id="CT",
key="f",x=500,y=350,color="red",
conflict={"teleMove"},
func=function(P)P.gameEnv.noTele=true end,
list={0,1,2,3,4,5,6,7,8,10,15,20,30,60},
func=function(P,M)P.gameEnv.fall=M.list[M.sel]end,
unranked=true,
},
customSeq={no=13,id="CS",
key="g",x=620,y=350,color="blue",
list={"bag","his4","rnd","reverb"},
func=function(P,M)P.gameEnv.sequence=M.list[M.sel]end,
life={no=13,id="LF",
key="j",x=860,y=350,color="yellow",
list={0,1,2,3,5,10,15,26,42,87,500},
func=function(P,M)P.gameEnv.life=M.list[M.sel]end,
unranked=true,
},
forceB2B={no=14,id="FB",
key="h",x=740,y=350,color="yellow",
key="k",x=980,y=350,color="yellow",
func=function(P)P.gameEnv.b2bKill=true end,
},
forceFinesse={no=15,id="PF",
key="j",x=860,y=350,color="yellow",
key="l",x=1100,y=350,color="yellow",
func=function(P)P.gameEnv.fineKill=true end,
},
mirror={no=16,id="MR",
key="k",x=980,y=350,color="grass",
func=function(P)LOG.print("该mod还没有做好!")end,
},
flip={no=17,id="HR",
key="l",x=1100,y=350,color="grass",
func=function(P)LOG.print("该mod还没有做好!")end,
},
minG={no=18,id="0G",
key="z",x=200,y=470,color="cyan",
conflict={"maxG"},
func=function(P)P.gameEnv.drop=1e99 end,
unranked=true,
},
infLock={no=19,id="IF",
key="x",x=320,y=470,color="cyan",
conflict={"suddenLock"},
func=function(P)P.gameEnv.lock=1e99 end,
unranked=true,
},
infLife={no=20,id="NF",
key="c",x=440,y=470,color="cyan",
conflict={"oneLife"},
func=function(P)P.gameEnv.life=1e99 end,
unranked=true,
},
teleMove={no=21,id="TL",
key="v",x=560,y=470,color="cyan",
conflict={"noTele"},
tele={no=16,id="TL",
key="z",x=200,y=470,color="lGrey",
func=function(P)
P.gameEnv.das,P.gameEnv.arr=0,0
P.gameEnv.sddas,P.gameEnv.sdarr=0,0
disableKey(P,14)
disableKey(P,15)
disableKey(P,16)
end,
unranked=true,
},
boneBlock={no=22,id="BN",
key="b",x=680,y=470,color="blue",
func=function(P,M)P.gameEnv.bone=true end,
},
noRotation={no=23,id="FX",
key="n",x=800,y=470,color="lGrey",
noRotation={no=17,id="FX",
key="x",x=320,y=470,color="lGrey",
func=function(P)
disableKey(P,3)
disableKey(P,4)
disableKey(P,5)
end,
},
noMove={no=24,id="ST",
key="m",x=920,y=470,color="lGrey",
noMove={no=18,id="GL",
key="c",x=440,y=470,color="lGrey",
func=function(P)
disableKey(P,1)disableKey(P,2)
disableKey(P,11)disableKey(P,12)
@@ -150,6 +112,22 @@ MODOPT={--Mod options
disableKey(P,19)disableKey(P,20)
end,
},
customSeq={no=19,id="CS",
key="b",x=680,y=470,color="blue",
list={"bag","his4","rnd","reverb"},
func=function(P,M)P.gameEnv.sequence=M.list[M.sel]end,
unranked=true,
},
pushSpeed={no=20,id="PS",
key="n",x=800,y=470,color="blue",
list={.5,1,2,3,5,15,1e99},
func=function(P,M)P.gameEnv.pushSpeed=M.list[M.sel]end,
unranked=true,
},
boneBlock={no=21,id="BN",
key="m",x=920,y=470,color="blue",
func=function(P,M)P.gameEnv.bone=true end,
},
}
for _,M in next,MODOPT do
M.sel,M.time=0,0

View File

@@ -90,33 +90,30 @@ return{
errorMsg="Techmino遭受了雷击,需要重新启动.\n我们已收集了一些错误信息,你可以向作者进行反馈.",
modInstruction="选择你要使用的Mod!\n不同Mod会用不同的方式改变初始游戏规则(可能导致不能正常游玩)\n来开发新玩法或者挑战自我吧!\n提醒:开启一些Mod会让成绩无效,你也可以用键盘开关Mod",
modInstruction="选择你要使用的Mod!\n不同Mod会用不同的方式改变初始游戏规则(可能导致不能正常游玩)\n来开发新玩法或者挑战自我吧!\n提醒:开启一些Mod会让成绩无效,你也可以用键盘开关Mod,按住shift反向",
modInfo={
noNext="Next:\n用Next",
fullNext="全Next:\n强制打开6Next",
noHold="无Hold:\n禁用Hold",
multiHold="多Hold:\n可以使用多个Hold",
next="Next数量:\n强制使用Next的个数",
hold="Hold数量:\n强制使用Hold的个数",
hideNext="隐藏Next:\n隐藏前几个Next",
hideBlock="隐藏方块:\n隐藏当前方块",
hideGhost="隐藏阴影:\n隐藏提示阴影",
infHold="无限Hold:\n可以无限制使用Hold",
hideBlock="隐藏方块:\n使当前方块不可见",
hideGhost="隐藏阴影:\n使提示阴影不可见",
hidden="隐形:\n方块将会在锁定之后隐形",
coverBoard="遮挡:\n遮挡部分/全部场地",
maxG="20G:\n强制启用最高下落速度",
suddenLock="零锁延:\n强制启用0锁定延迟",
oneLife="一命:\n有且只有一条生命",
noTele="简单操作:\n禁用10个高级操作按键",
customSeq="指定序列:\n强制使用某种序列",
hideBoard="遮挡:\n遮挡部分或者全部场地",
flipBoard="翻转:\n将场地以一定方式翻转显示",
dropDelay="重力:\n强制使用下落速度(单位:帧/格)",
lockDelay="锁延:\n强制使用锁定延迟(单位:帧)",
waitDelay="出块等待:\n出块后的等待时间(单位:帧)",
fallDelay="消行等待:\n消行后的等待时间(单位:帧)",
life="生命数:\n修改初始生命数量",
forceB2B="强制B2B:\nB2B条掉到启动线以下就会结束游戏",
forceFinesse="强制极简:\n非极简操作将强制结束游戏",
mirror="镜像:\n场地左右颠倒",
flip="翻转:\n场地上下颠倒",
minG="0G:\n关闭重力",
infLock="无限锁延:\n方块将不会锁定",
infLife="不死:\n无限生命数",
teleMove="瞬移:\n强制启用0DAS和0ARR",
boneBlock="骨块:\n使用骨块进行游戏",
tele="瞬移:\n强制启用0移动延迟",
noRotation="无旋转:\n禁用旋转按键",
noMove="无移动:\n禁用移动按键",
customSeq="指定序列:\n强制使用某种序列",
pushSpeed="涨行速度:\n改变垃圾行升起的速度(单位:格/帧)",
boneBlock="骨块:\n使用骨块进行游戏",
},
acts={
"左移:","右移:",

View File

@@ -29,13 +29,11 @@ return{
modInstruction="选择你要使用的模组!\n不同的模组会用不同的方式改变游戏规则,来开发新玩法挑战自我吧!\n提醒:开启一些模组会让成绩无效 你可以用键盘开关模组,按tab重置",
modInfo={
noNext="预览:\n禁用预览",
fullNext="全预览:\n强制打开6预览",
noHold="无暂存:\n禁用暂存",
next="预览数量:\n强制使用预览的个数",
hold="暂存数量:\n强制使用暂存的个数",
hideNext="隐藏预览:\n隐藏前几个预览",
suddenLock="零锁延:\n强制启用0锁定延迟",
forceB2B="禁断满贯:\n满贯点数掉到启动线以下就会结束游戏",
forceFinesse="强制极简:\n非极简操作将强制结束游戏",
infHold="无限暂存:\n可以无限制使用暂存",
forceB2B="强制满贯:\n满贯点数掉到启动线以下就会结束游戏",
},
pauseStat={
"时间:",

View File

@@ -1,4 +1,5 @@
local gc=love.graphics
local kb=love.keyboard
local ins,rem=table.insert,table.remove
local function modComp(a,b)
@@ -12,23 +13,22 @@ local function remMod(M)
end
end
end
local function toggleMod(M)
local function toggleMod(M,back)
if M.sel==0 then
ins(GAME.mod,M)
table.sort(GAME.mod,modComp)
end
if M.list then
M.sel=(M.sel+1)%(#M.list+1)
if back then
M.sel=(M.sel-1)%(#M.list+1)
else
M.sel=(M.sel+1)%(#M.list+1)
end
else
M.sel=1-M.sel
end
if M.sel==0 then
remMod(M)
elseif M.conflict then
for _,v in next,M.conflict do
MODOPT[v].sel=0
remMod(MODOPT[v])
end
end
if M.unranked then
SFX.play("move",.6)
@@ -55,10 +55,10 @@ function mouseMove.mod(x,y)
end
end
end
function mouseDown.mod(x,y)
function mouseDown.mod(x,y,k)
for _,M in next,MODOPT do
if(x-M.x)^2+(y-M.y)^2<2000 then
toggleMod(M)
toggleMod(M,k==2 or kb.isDown("lshift","rshift"))
break
end
end
@@ -81,7 +81,7 @@ function keyDown.mod(key)
elseif #key==1 then
for N,M in next,MODOPT do
if key==M.key then
toggleMod(M)
toggleMod(M,kb.isDown("lshift","rshift"))
sceneTemp.sel=N
break
end
@@ -106,7 +106,7 @@ function Tmr.mod()
end
function Pnt.mod()
setFont(40)
gc.setLineWidth(4)
gc.setLineWidth(5)
for _,M in next,MODOPT do
gc.push("transform")
gc.translate(M.x,M.y)
@@ -147,7 +147,7 @@ end
WIDGET.init("mod",{
WIDGET.newText{name="title", x=80,y=50,font=70,align="L"},
WIDGET.newText{name="unranked", x=1200,y=60,color="lRed",font=50,align="R",hide=function()return scoreValid()end},
WIDGET.newText{name="unranked", x=1200,y=60,color="yellow",font=50,align="R",hide=function()return scoreValid()end},
WIDGET.newButton{name="reset", x=1140,y=540,w=170,h=80,font=25,code=WIDGET.lnk_pressKey("tab")},
WIDGET.newButton{name="back", x=1140,y=640,w=170,h=80,font=40,code=WIDGET.lnk_BACK},
})