38 lines
784 B
Lua
38 lines
784 B
Lua
local ARS = require 'tetris.rulesets.arika'
|
|
|
|
local BONKERS = ARS:extend()
|
|
|
|
BONKERS.name = "SUPER302"
|
|
BONKERS.hash = "Super302"
|
|
|
|
BONKERS.colourscheme = {
|
|
I = "C",
|
|
J = "G",
|
|
L = "G",
|
|
O = "B",
|
|
S = "C",
|
|
T = "G",
|
|
Z = "C"
|
|
}
|
|
|
|
function BONKERS:attemptWallkicks(piece, new_piece, rot_dir, grid)
|
|
local prev_rot = piece.rotation
|
|
ARS:attemptWallkicks(piece, new_piece, rot_dir, grid)
|
|
if prev_rot ~= piece.rotation then return end
|
|
piece.big = false
|
|
unfilled_block_offsets = {}
|
|
for y = 4, grid.height - 1 do
|
|
for x = 0, 9 do
|
|
if not grid:isOccupied(x, y) then
|
|
table.insert(unfilled_block_offsets, {x=x-100, y=y-100})
|
|
end
|
|
end
|
|
end
|
|
-- don't ask
|
|
piece.position = {x=100, y=100}
|
|
piece.getBlockOffsets = function(piece)
|
|
return unfilled_block_offsets
|
|
end
|
|
end
|
|
|
|
return BONKERS |