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