Improve PRS to make it more accurate to puzzle trial's

This commit is contained in:
Rin 2021-08-21 20:33:13 +01:00
parent c6804d4367
commit 01af13003a

View File

@ -6,6 +6,27 @@ PRS.name = "Permissive Rotation System"
PRS.hash = "PRS" PRS.hash = "PRS"
PRS.world = true PRS.world = true
function PRS:attemptRotate(new_inputs, piece, grid, initial)
local rot_dir = 0
if (new_inputs["rotate_left"] or new_inputs["rotate_left2"]) then
rot_dir = 3
elseif (new_inputs["rotate_right"] or new_inputs["rotate_right2"]) then
rot_dir = 1
elseif (new_inputs["rotate_180"]) then
rot_dir = self:get180RotationValue()
end
if rot_dir == 0 then return end
if config.gamesettings.world_reverse == 3 or (self.world and config.gamesettings.world_reverse == 2) then
rot_dir = 4 - rot_dir
end
local new_piece = piece:withRelativeRotation(rot_dir)
self:attemptWallkicks(piece, new_piece, rot_dir, grid)
end
function PRS:attemptWallkicks(piece, newpiece, rot_dir, grid) function PRS:attemptWallkicks(piece, newpiece, rot_dir, grid)
for y=0,5 do for y=0,5 do
for x=0,5 do for x=0,5 do