From e18b77badd41597e021bf29fcda1086259520ba5 Mon Sep 17 00:00:00 2001 From: MrZ_26 <1046101471@qq.com> Date: Fri, 29 Dec 2023 22:23:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=97=8B=E8=BD=AC/=E6=9A=82?= =?UTF-8?q?=E5=AD=98=E6=89=93=E6=96=ADdas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/game/minoPlayer.lua | 18 ++++++++++++++++-- assets/game/puyoPlayer.lua | 12 ++++++++++-- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/assets/game/minoPlayer.lua b/assets/game/minoPlayer.lua index 08599671..cbba8f4f 100644 --- a/assets/game/minoPlayer.lua +++ b/assets/game/minoPlayer.lua @@ -531,7 +531,10 @@ function MP:resetPosCheck() self:freshDelay('spawn') end - if self.settings.ash>0 then + if self.settings.stopMoveWhenSpawn then + self.moveDir=false + self.moveCharge=0 + elseif self.settings.ash>0 then self.moveCharge=min(self.moveCharge,self.settings.asd-self.settings.ash) end end @@ -978,8 +981,14 @@ function MP:moveUp() -- ? end end function MP:rotate(dir,ifInit) + if self.settings.stopMoveWhenRotate then + self.moveDir=false + self.moveCharge=0 + end + if not self.hand then return end if dir~='R' and dir~='L' and dir~='F' then error("WTF why dir isn't R/L/F ("..tostring(dir)..")") end + local minoData=minoRotSys[self.settings.rotSys][self.hand.shape] if not minoData then return end @@ -1033,9 +1042,14 @@ function MP:rotate(dir,ifInit) end function MP:hold(ifInit) if self.holdTime>=self.settings.holdSlot and not self.settings.infHold then return end + if self.settings.particles then self:createHoldEffect(ifInit) end + if self.settings.stopMoveWhenHold then + self.moveDir=false + self.moveCharge=0 + end local mode=self.settings.holdMode if mode=='hold' then self:hold_hold() @@ -1924,7 +1938,7 @@ local baseEnv={ stopMoveWhenSpawn=false, -- Stop moving when piece spawn stopMoveWhenRotate=false, -- Stop moving when rotate stopMoveWhenHold=false, -- Stop moving when hold - dblMoveCover=false, -- Use second dir (Press 2) + dblMoveCover=true, -- Use second dir (Press 2) dblMoveChrg='reset', -- reset/keep/raw/full charge (Press 2) dblMoveStep=true, -- Move (Press 2) dblMoveRelChrg='raw', -- reset/keep/raw/full charge (Release 1) diff --git a/assets/game/puyoPlayer.lua b/assets/game/puyoPlayer.lua index 990178a2..8b694726 100644 --- a/assets/game/puyoPlayer.lua +++ b/assets/game/puyoPlayer.lua @@ -387,7 +387,10 @@ function PP:resetPosCheck() self:freshDelay('spawn') end - if self.settings.ash>0 then + if self.settings.stopMoveWhenSpawn then + self.moveDir=false + self.moveCharge=0 + elseif self.settings.ash>0 then self.moveCharge=min(self.moveCharge,self.settings.asd-self.settings.ash) end end @@ -611,6 +614,11 @@ local PRS={ }, } function PP:rotate(dir,ifInit) + if self.settings.stopMoveWhenRotate then + self.moveDir=false + self.moveCharge=0 + end + if not self.hand then return end if dir~='R' and dir~='L' and dir~='F' then error("WTF why dir isn't R/L/F ("..tostring(dir)..")") end local origY=self.handY -- For IRS pushing up @@ -1251,7 +1259,7 @@ local baseEnv={ ash=26, stopMoveWhenSpawn=false, stopMoveWhenRotate=false, - dblMoveCover=false, + dblMoveCover=true, dblMoveChrg='reset', dblMoveStep=true, dblMoveRelChrg='raw',