修复旋转时场地晃动的逻辑会跟玩家sound有关

This commit is contained in:
MrZ626
2021-08-21 01:15:54 +08:00
parent 8671b52cbb
commit b7b94ca900
2 changed files with 28 additions and 28 deletions

View File

@@ -624,22 +624,22 @@ do
P.freshTime=P.freshTime-1 P.freshTime=P.freshTime-1
end end
if P.sound then local sfx
local sfx if ifpre then
if ifpre then sfx='prerotate'
sfx='prerotate' elseif P:ifoverlap(icb,x,y+1)and P:ifoverlap(icb,x-1,y)and P:ifoverlap(icb,x+1,y)then
elseif P:ifoverlap(icb,x,y+1)and P:ifoverlap(icb,x-1,y)and P:ifoverlap(icb,x+1,y)then sfx='rotatekick'
sfx='rotatekick' if P.gameEnv.shakeFX then
if P.gameEnv.shakeFX then if d==1 or d==3 then
if d==1 or d==3 then P.fieldOff.va=P.fieldOff.va+(2-d)*P.gameEnv.shakeFX*6e-3
P.fieldOff.va=P.fieldOff.va+(2-d)*P.gameEnv.shakeFX*6e-3 else
else P.fieldOff.va=P.fieldOff.va+P:getCenterX()*P.gameEnv.shakeFX*3e-3
P.fieldOff.va=P.fieldOff.va+P:getCenterX()*P.gameEnv.shakeFX*3e-3
end
end end
else
sfx='rotate'
end end
else
sfx='rotate'
end
if P.sound then
SFX.play(sfx,nil,P:getCenterX()*.15) SFX.play(sfx,nil,P:getCenterX()*.15)
end end
P.stat.rotate=P.stat.rotate+1 P.stat.rotate=P.stat.rotate+1

View File

@@ -698,22 +698,22 @@ function Player:spin(d,ifpre)
end end
--Sound & Field shaking --Sound & Field shaking
if self.sound then local sfx
local sfx if ifpre then
if ifpre then sfx='prerotate'
sfx='prerotate' elseif self:ifoverlap(icb,ix,iy+1)and self:ifoverlap(icb,ix-1,iy)and self:ifoverlap(icb,ix+1,iy)then
elseif self:ifoverlap(icb,ix,iy+1)and self:ifoverlap(icb,ix-1,iy)and self:ifoverlap(icb,ix+1,iy)then sfx='rotatekick'
sfx='rotatekick' if self.gameEnv.shakeFX then
if self.gameEnv.shakeFX then if d==1 or d==3 then
if d==1 or d==3 then self.fieldOff.va=self.fieldOff.va+(2-d)*self.gameEnv.shakeFX*6e-3
self.fieldOff.va=self.fieldOff.va+(2-d)*self.gameEnv.shakeFX*6e-3 else
else self.fieldOff.va=self.fieldOff.va+self:getCenterX()*self.gameEnv.shakeFX*3e-3
self.fieldOff.va=self.fieldOff.va+self:getCenterX()*self.gameEnv.shakeFX*3e-3
end
end end
else
sfx='rotate'
end end
else
sfx='rotate'
end
if self.sound then
SFX.play(sfx,nil,self:getCenterX()*.15) SFX.play(sfx,nil,self:getCenterX()*.15)
end end
self.stat.rotate=self.stat.rotate+1 self.stat.rotate=self.stat.rotate+1