科研-极简模式优化
This commit is contained in:
@@ -16,7 +16,10 @@ local function lockMovement(P)
|
|||||||
lockKey(P,{1,2})
|
lockKey(P,{1,2})
|
||||||
end
|
end
|
||||||
local function lockRotation(P)
|
local function lockRotation(P)
|
||||||
lockKey(P,{3,4,5})
|
lockKey(P,{3,4})
|
||||||
|
end
|
||||||
|
local function lockRotation180(P)
|
||||||
|
lockKey(P,{5})
|
||||||
end
|
end
|
||||||
local function unlock(P)
|
local function unlock(P)
|
||||||
if P.cur and P.cur.name==6 and not P.gameEnv.skipOCheck then -- don't unlock rotation if O piece & no O-spin
|
if P.cur and P.cur.name==6 and not P.gameEnv.skipOCheck then -- don't unlock rotation if O piece & no O-spin
|
||||||
@@ -40,26 +43,27 @@ local function onMove(P)
|
|||||||
P.holdTime=0
|
P.holdTime=0
|
||||||
lockKey(P,{8})
|
lockKey(P,{8})
|
||||||
|
|
||||||
-- return if overhang
|
if not P:_roofCheck() then
|
||||||
if P:_roofCheck() then return end
|
P.modeData.moveCount=P.modeData.moveCount+1
|
||||||
|
if P.modeData.moveCount>=2 then lockMovement(P) end
|
||||||
P.modeData.moveCount=P.modeData.moveCount+1
|
end
|
||||||
if P.modeData.moveCount>=2 then lockMovement(P) end
|
|
||||||
end
|
end
|
||||||
local function onAutoMove(P)
|
local function onAutoMove(P)
|
||||||
if P:_roofCheck() then unlock(P) end
|
if P:_roofCheck() then unlock(P) end
|
||||||
end
|
end
|
||||||
local function onRotate(P)
|
local function onRotate(P,dir)
|
||||||
if not P.cur then return end
|
if not P.cur then return end
|
||||||
|
|
||||||
P.holdTime=0
|
P.holdTime=0
|
||||||
lockKey(P,{8})
|
lockKey(P,{8})
|
||||||
|
|
||||||
-- return if overhang
|
if not P:_roofCheck() then
|
||||||
if P:_roofCheck() then return end
|
P.modeData.rotations=P.modeData.rotations+(dir==2 and 2 or 1)
|
||||||
|
lockRotation180(P)
|
||||||
P.modeData.rotations=P.modeData.rotations+1
|
if P.modeData.rotations>=2 then
|
||||||
if P.modeData.rotations>=2 then lockRotation(P) end
|
lockRotation(P)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -91,6 +95,7 @@ return {
|
|||||||
if P.gameEnv.skipOCheck then return end
|
if P.gameEnv.skipOCheck then return end
|
||||||
if P.cur.name==6 then
|
if P.cur.name==6 then
|
||||||
lockRotation(P)
|
lockRotation(P)
|
||||||
|
lockRotation180(P)
|
||||||
else
|
else
|
||||||
resetLock(P)
|
resetLock(P)
|
||||||
end
|
end
|
||||||
@@ -99,11 +104,12 @@ return {
|
|||||||
if P.gameEnv.skipOCheck then return end
|
if P.gameEnv.skipOCheck then return end
|
||||||
if P.cur.name==6 then
|
if P.cur.name==6 then
|
||||||
lockRotation(P)
|
lockRotation(P)
|
||||||
|
lockRotation180(P)
|
||||||
else
|
else
|
||||||
resetLock(P)
|
resetLock(P)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
hook_left_manual=onMove, hook_right_manual=onMove,
|
hook_left_manual=onMove, hook_right_manual=onMove,
|
||||||
hook_left_auto=onAutoMove, hook_right_auto=onAutoMove,
|
hook_left_auto=onAutoMove, hook_right_auto=onAutoMove,
|
||||||
hook_rotLeft=onRotate, hook_rotRight=onRotate, hook_rot180=onRotate,
|
hook_rotate=onRotate
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,10 @@ local function lockMovement(P)
|
|||||||
lockKey(P,{1,2})
|
lockKey(P,{1,2})
|
||||||
end
|
end
|
||||||
local function lockRotation(P)
|
local function lockRotation(P)
|
||||||
lockKey(P,{3,4,5})
|
lockKey(P,{3,4})
|
||||||
|
end
|
||||||
|
local function lockRotation180(P)
|
||||||
|
lockKey(P,{5})
|
||||||
end
|
end
|
||||||
local function unlock(P)
|
local function unlock(P)
|
||||||
if P.cur and P.cur.name==6 and not P.gameEnv.skipOCheck then -- don't unlock rotation if O piece & no O-spin
|
if P.cur and P.cur.name==6 and not P.gameEnv.skipOCheck then -- don't unlock rotation if O piece & no O-spin
|
||||||
@@ -39,26 +42,27 @@ local function onMove(P)
|
|||||||
P.holdTime=0
|
P.holdTime=0
|
||||||
lockKey(P,{8})
|
lockKey(P,{8})
|
||||||
|
|
||||||
-- return if overhang
|
if not P:_roofCheck() then
|
||||||
if P:_roofCheck() then return end
|
P.modeData.moveCount=P.modeData.moveCount+1
|
||||||
|
if P.modeData.moveCount>=2 then lockMovement(P) end
|
||||||
P.modeData.moveCount=P.modeData.moveCount+1
|
end
|
||||||
if P.modeData.moveCount>=2 then lockMovement(P) end
|
|
||||||
end
|
end
|
||||||
local function onAutoMove(P)
|
local function onAutoMove(P)
|
||||||
if P:_roofCheck() then unlock(P) end
|
if P:_roofCheck() then unlock(P) end
|
||||||
end
|
end
|
||||||
local function onRotate(P)
|
local function onRotate(P,dir)
|
||||||
if not P.cur then return end
|
if not P.cur then return end
|
||||||
|
|
||||||
P.holdTime=0
|
P.holdTime=0
|
||||||
lockKey(P,{8})
|
lockKey(P,{8})
|
||||||
|
|
||||||
-- return if overhang
|
if not P:_roofCheck() then
|
||||||
if P:_roofCheck() then return end
|
P.modeData.rotations=P.modeData.rotations+(dir==2 and 2 or 1)
|
||||||
|
lockRotation180(P)
|
||||||
P.modeData.rotations=P.modeData.rotations+1
|
if P.modeData.rotations>=2 then
|
||||||
if P.modeData.rotations>=2 then lockRotation(P) end
|
lockRotation(P)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -98,6 +102,7 @@ return {
|
|||||||
if P.gameEnv.skipOCheck then return end
|
if P.gameEnv.skipOCheck then return end
|
||||||
if P.cur.name==6 then
|
if P.cur.name==6 then
|
||||||
lockRotation(P)
|
lockRotation(P)
|
||||||
|
lockRotation180(P)
|
||||||
else
|
else
|
||||||
resetLock(P)
|
resetLock(P)
|
||||||
end
|
end
|
||||||
@@ -106,11 +111,12 @@ return {
|
|||||||
if P.gameEnv.skipOCheck then return end
|
if P.gameEnv.skipOCheck then return end
|
||||||
if P.cur.name==6 then
|
if P.cur.name==6 then
|
||||||
lockRotation(P)
|
lockRotation(P)
|
||||||
|
lockRotation180(P)
|
||||||
else
|
else
|
||||||
resetLock(P)
|
resetLock(P)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
hook_left_manual=onMove, hook_right_manual=onMove,
|
hook_left_manual=onMove, hook_right_manual=onMove,
|
||||||
hook_left_auto=onAutoMove, hook_right_auto=onAutoMove,
|
hook_left_auto=onAutoMove, hook_right_auto=onAutoMove,
|
||||||
hook_rotLeft=onRotate, hook_rotRight=onRotate, hook_rot180=onRotate
|
hook_rotate=onRotate,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -253,9 +253,7 @@ local hooks = {
|
|||||||
'hook_right',
|
'hook_right',
|
||||||
'hook_right_manual',
|
'hook_right_manual',
|
||||||
'hook_right_auto',
|
'hook_right_auto',
|
||||||
'hook_rotLeft',
|
'hook_rotate',
|
||||||
'hook_rotRight',
|
|
||||||
'hook_rot180',
|
|
||||||
'hook_drop',
|
'hook_drop',
|
||||||
'hook_spawn',
|
'hook_spawn',
|
||||||
'hook_hold',
|
'hook_hold',
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ function Player:act_rotRight()
|
|||||||
if self.cur then
|
if self.cur then
|
||||||
self.ctrlCount=self.ctrlCount+1
|
self.ctrlCount=self.ctrlCount+1
|
||||||
self:spin(1)
|
self:spin(1)
|
||||||
self:_triggerEvent('hook_rotRight')
|
self:_triggerEvent('hook_rotate',1)
|
||||||
self.keyPressing[3]=false
|
self.keyPressing[3]=false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -280,7 +280,7 @@ function Player:act_rotLeft()
|
|||||||
if self.cur then
|
if self.cur then
|
||||||
self.ctrlCount=self.ctrlCount+1
|
self.ctrlCount=self.ctrlCount+1
|
||||||
self:spin(3)
|
self:spin(3)
|
||||||
self:_triggerEvent('hook_rotLeft')
|
self:_triggerEvent('hook_rotate',3)
|
||||||
self.keyPressing[4]=false
|
self.keyPressing[4]=false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -289,7 +289,7 @@ function Player:act_rot180()
|
|||||||
if self.cur then
|
if self.cur then
|
||||||
self.ctrlCount=self.ctrlCount+2
|
self.ctrlCount=self.ctrlCount+2
|
||||||
self:spin(2)
|
self:spin(2)
|
||||||
self:_triggerEvent('hook_rot180')
|
self:_triggerEvent('hook_rotate',2)
|
||||||
self.keyPressing[5]=false
|
self.keyPressing[5]=false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user