Resolves change requests

This commit is contained in:
SweetSea-ButImNotSweet
2024-01-08 11:33:01 +07:00
parent dc8488ff61
commit 536174220d
6 changed files with 57 additions and 82 deletions

View File

@@ -369,45 +369,44 @@ do-- Mod data
end
end end
MODOPT={-- Mod options
-- funcA always triggered, funcA1 only triggered once, but both functions can lock values
{no=0,id="NX",name="next",
key="q",x=80,y=230,color='lO',
list={0,1,2,3,4,5,6},
func =function(P,O) P.gameEnv.nextCount=O end,
funcA1=_lockVfunc('nextCount'),
funcInit=function(P,O) P.gameEnv.nextCount=O end,
funcOnce=_lockVfunc('nextCount'),
},
{no=1,id="HL",name="hold",
key="w",x=200,y=230,color='lO',
list={0,1,2,3,4,5,6},
func =function(P,O) P.gameEnv.holdCount=O end,
funcA1=_lockVfunc('holdCount'),
funcInit=function(P,O) P.gameEnv.holdCount=O end,
funcOnce=_lockVfunc('holdCount'),
},
{no=2,id="FL",name="hideNext",
key="e",x=320,y=230,color='lA',
list={1,2,3,4,5},
func =function(P,O) P.gameEnv.nextStartPos=O+1 end,
funcA1=_lockVfunc('nextStartPos'),
funcInit=function(P,O) P.gameEnv.nextStartPos=O+1 end,
funcOnce=_lockVfunc('nextStartPos'),
},
{no=3,id="IH",name="infHold",
key="r",x=440,y=230,color='lA',
func =function(P) P.gameEnv.infHold=true end,
funcA1=_lockVfunc('infHold'),
funcInit=function(P) P.gameEnv.infHold=true end,
funcOnce=_lockVfunc('infHold'),
},
{no=4,id="HB",name="hideBlock",
key="y",x=680,y=230,color='lV',
func =function(P) P.gameEnv.block=false end,
funcA1=_lockVfunc('block'),
funcInit=function(P) P.gameEnv.block=false end,
funcOnce=_lockVfunc('block'),
},
{no=5,id="HG",name="hideGhost",
key="u",x=800,y=230,color='lV',
func =function(P) P.gameEnv.ghost=false end,
funcA1=function(P) P.gameEnv.ghost=false; P.gameEnv.__lock('ghost') end,
funcInit=function(P) P.gameEnv.ghost=false end,
funcOnce=function(P) P.gameEnv.ghost=false; P.gameEnv.__lock('ghost') end,
},
{no=6,id="HD",name="hidden",
key="i",x=920,y=230,color='lP',
list={'easy','slow','medium','fast','none'},
func =function(P,O) P.gameEnv.visible=O end,
funcA =function(P,O)
funcInit=function(P,O) P.gameEnv.visible=O end,
funcRepe=function(P,O)
if P.showTime~=_invisibleTime[O] then
P:setInvisible(_invisibleTime[O])
end
@@ -416,22 +415,21 @@ do-- Mod data
{no=7,id="HB",name="hideBoard",
key="o",x=1040,y=230,color='lP',
list={'down','up','all'},
func =function(P,O) P.gameEnv.hideBoard=O end,
funcA1=_lockVfunc('hideBoard'),
funcInit=function(P,O) P.gameEnv.hideBoard=O end,
},
{no=8,id="FB",name="flipBoard",
key="p",x=1160,y=230,color='lJ',
list={'U-D','L-R','180'},
func =function(P,O) P.gameEnv.flipBoard=O end,
funcA1=_lockVfunc('flipBoard'),
funcInit=function(P,O) P.gameEnv.flipBoard=O end,
funcOnce=_lockVfunc('flipBoard'),
},
{no=9,id="DT",name="dropDelay",
key="a",x=140,y=350,color='lR',
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,O) P.gameEnv.drop=O end,
funcA =function(P,O)
if P.gameEnv.drop~=O then
funcInit=function(P,O) P.gameEnv.drop=O end,
funcRepe=function(P,O)
if P.dropDelay~=O then
P.gameEnv.drop=O
P:set20G(O==0)
end
@@ -440,45 +438,45 @@ do-- Mod data
{no=10,id="LT",name="lockDelay",
key="s",x=260,y=350,color='lR',
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,O) P.gameEnv.lock=O end,
funcA1=_lockVfunc('lockDelay'),
funcInit=function(P,O) P.gameEnv.lock=O end,
funcRepe=function(P,O) P.dropDelay=O end,
},
{no=11,id="ST",name="waitDelay",
key="d",x=380,y=350,color='lR',
list={0,1,2,3,4,5,6,7,8,10,15,20,30,60},
func =function(P,O) P.gameEnv.wait=O end,
funcA1=_lockVfunc('waitDelay'),
funcInit=function(P,O) P.gameEnv.wait=O end,
funcOnce=_lockVfunc('waitDelay'),
},
{no=12,id="CT",name="fallDelay",
key="f",x=500,y=350,color='lR',
list={0,1,2,3,4,5,6,7,8,10,15,20,30,60},
func =function(P,O) P.gameEnv.fall=O end,
funcA1=_lockVfunc('fallDelay'),
funcInit=function(P,O) P.gameEnv.fall=O end,
funcOnce=_lockVfunc('fallDelay'),
},
{no=13,id="LF",name="life",
key="j",x=860,y=350,color='lY',
list={0,1,2,3,5,10,15,26,42,87,500},
func =function(P,O) P.gameEnv.life=O end,
funcA1=_lockVfunc('life'),
funcInit=function(P,O) P.gameEnv.life=O end,
funcOnce=_lockVfunc('life'),
},
{no=14,id="FB",name="forceB2B",
key="k",x=980,y=350,color='lY',
func =function(P) P.gameEnv.b2bKill=true end,
funcA1=_lockVfunc('b2bKill'),
funcInit=function(P) P.gameEnv.b2bKill=true end,
funcOnce=_lockVfunc('b2bKill'),
},
{no=15,id="PF",name="forceFinesse",
key="l",x=1100,y=350,color='lY',
func =function(P) P.gameEnv.fineKill=true end,
funcA1=_lockVfunc('fineKill'),
funcInit=function(P) P.gameEnv.fineKill=true end,
funcOnce=_lockVfunc('fineKill'),
},
{no=16,id="TL",name="tele",
key="z",x=200,y=470,color='lH',
func =function(P)
funcInit=function(P)
P.gameEnv.das,P.gameEnv.arr=0,0
P.gameEnv.sddas,P.gameEnv.sdarr=0,0
end,
funcA1=function(P)
funcOnce=function(P)
for _,k in pairs{'das','arr','sddas','sdarr'} do
P.gameEnv[k]=0
P.gameEnv.__lock(k)
@@ -487,7 +485,7 @@ do-- Mod data
},
{no=17,id="FX",name="noRotation",
key="x",x=320,y=470,color='lH',
func =function(P)
funcInit=function(P)
_disableKey(P,3)
_disableKey(P,4)
_disableKey(P,5)
@@ -495,7 +493,7 @@ do-- Mod data
},
{no=18,id="GL",name="noMove",
key="c",x=440,y=470,color='lH',
func =function(P)
funcInit=function(P)
_disableKey(P,1) _disableKey(P,2)
_disableKey(P,11)_disableKey(P,12)
_disableKey(P,17)_disableKey(P,18)
@@ -505,20 +503,20 @@ do-- Mod data
{no=19,id="CS",name="customSeq",
key="b",x=680,y=470,color='lB',
list={'bag','bagES','his','hisPool','c2','bagP1inf','rnd','mess','reverb'},
func =function(P,O) P.gameEnv.sequence=O end,
funcA1=_lockVfunc('sequence'),
funcInit=function(P,O) P.gameEnv.sequence=O end,
funcOnce=_lockVfunc('sequence'),
},
{no=20,id="PS",name="pushSpeed",
key="n",x=800,y=470,color='lB',
list={.5,1,2,3,5,15,1e99},
func =function(P,O) P.gameEnv.pushSpeed=O end,
funcA1=_lockVfunc('pushSpeed'),
funcInit=function(P,O) P.gameEnv.pushSpeed=O end,
funcOnce=_lockVfunc('pushSpeed'),
},
{no=21,id="BN",name="boneBlock",
key="m",x=920,y=470,color='lB',
list={'on','off'},
func =function(P,O) P.gameEnv.bone=O end,
funcA =function(P,O)
funcInit=function(P,O) P.gameEnv.bone=O end,
funcRepe=function(P,O)
P.gameEnv.bone=O
if O=='on' then
for _,bk in pairs(P.nextQueue) do bk.color=17 end

View File

@@ -209,7 +209,7 @@ return {
tryAnotherBuild="UTF-8 decoding error. If you are using Microsoft Windows, please try to download the build with the different architecture. If you are using the x86 version of Techmino, try downloading the x64 version and vice versa.",
modInstruction="Choose your modifiers here!\nMods allow you to change the rules in various ways, but they can also crash the game. Feel free to play the game your way!\nNote that scores are not saved when using mods. You can also toggle mods using your keyboard keys (hold Shift to reverse).",
modApplyAtInstruction="Choose when you want the modifier to be applied.\nprelnit: Before loading the modes. The default option in V0.17.15 and earlier, but may cause problems with certain mods.\npostInit: After loading the game. This can fix some bugs in preInit, but some mods can still be disabled by modes in some situations.\nalways: Throughout the entire game. Keeps the effects of the mods in all situations. ",
modApplyAtInstruction="Choose when you want the modifier to be applied.\npreInit: Before loading the modes. The default option in V0.17.15 and earlier, but may cause problems with certain mods.\npostInit: After loading the game. This can fix some bugs in preInit, but some mods can still be disabled by modes in some situations.\nalways: Throughout the entire game. Keeps the effects of the mods in all situations. ",
modInfo={
next="NEXT\nOverrides the number of Next pieces displayed.",
hold="HOLD\nOverrides the number of Hold pieces displayed.",
@@ -450,7 +450,7 @@ C. Gamepad
},
mod={
title="Mods",
applyAt="Apply mods at",
applyAt="Apply during",
reset="Reset (tab)",
unranked="Unranked",
},

View File

@@ -787,11 +787,9 @@ function draw.norm(P,repMode)
gc_scale(P.size)
-- Draw username
if GAME.modUsed and P.frameRun>GAME.modUsed*26 or not GAME.modUsed then
setFont(30)
gc_setColor(GROUP_COLORS[P.group])
GC.mStr(P.username or USERS.getUsername(P.uid),300,-60)
end
setFont(30)
gc_setColor(GROUP_COLORS[P.group])
GC.mStr(P.username or USERS.getUsername(P.uid),300,-60)
-- Draw HUD
if ENV.nextCount>0 then _drawNext(P,repMode) end

View File

@@ -203,15 +203,15 @@ local function _executeMod(P)
if GAME.mod[i]>0 then
local M=MODOPT[i]
if applyStatus=='always' then
if M.funcA1 then
M.funcA1(P,M.list and M.list[GAME.mod[i]])
elseif M.funcA then
table.insert(GAME.modCodeList[P.id],function() M.func(P,M.list and M.list[GAME.mod[i]]) end)
if M.funcOnce then
M.funcOnce(P,M.list and M.list[GAME.mod[i]])
elseif M.funcRepe then
table.insert(GAME.modCodeList[P.id],function() M.funcInit(P,M.list and M.list[GAME.mod[i]]) end)
else
M.func(P,M.list and M.list[GAME.mod[i]])
M.funcInit(P,M.list and M.list[GAME.mod[i]])
end
else -- Already checked pre or post before calling _executeMod()
M.func(P,M.list and M.list[GAME.mod[i]])
M.funcInit(P,M.list and M.list[GAME.mod[i]])
end
end
end

View File

@@ -108,9 +108,9 @@ function scene.draw()
GC.rotate(t)
local rad,side=45,5
if GAME.modApplyAt=='always' then
if M.funcA then side=nil
elseif M.funcA1 then side=8
else side=5 end
if M.funcRepe then side=nil
elseif M.funcOnce then side=8
else side=5 end
end
local color=M.color
GC.setColor(color[1],color[2],color[3],5*t)

View File

@@ -49,31 +49,10 @@ function scene.enter()
for i,d in pairs(fullLog) do logTimeList[i]=d:split('\n')[1] end
function logList:press(x)
if x then
local s=self.select
if x<self.x+self.w*.5 then
if s>1 then s=s-1
SYSFX.newShade(3,self.x,self.y-WIDGET.scrollPos,self.w*.5,60)
end
else
if s<#self.list then s=s+1
SYSFX.newShade(3,self.x+self.w*.5,self.y-WIDGET.scrollPos,self.w*.5,60)
end
end
if self.select~=s then
self.code(s)
self.select=s
self.selText=self.list[s]
if self.sound then SFX.play('selector') end
end
end
end
logList.list=logTimeList
logList.select=false
logList.disp=function() return currentLogText[1] end
logList.code=function(s)
logList.code=function(_,s)
if s>currentLogID then scene.keyDown('right')
else scene.keyDown('left') end
updateText()