@@ -199,10 +199,10 @@ end
199
199
function Ruleset :initializePiece (
200
200
inputs , data , grid , gravity , prev_inputs ,
201
201
move , lock_delay , drop_speed ,
202
- drop_locked , hard_drop_locked , big , irs , half_block
202
+ drop_locked , hard_drop_locked , big , irs , half_block , offset
203
203
)
204
204
local spawn_positions
205
- if big and not half_block then
205
+ if big then
206
206
spawn_positions = self .big_spawn_positions
207
207
else
208
208
spawn_positions = self .spawn_positions
@@ -233,11 +233,14 @@ function Ruleset:initializePiece(
233
233
end
234
234
235
235
local spawn_y = spawn_positions [data .shape ].y - spawn_dy
236
- if big and not half_block then
236
+ if big then
237
237
spawn_x = spawn_x + math.floor (spawn_positions [data .shape ].x * grid .width / 10 )
238
238
spawn_y = spawn_y + spawn_positions [data .shape ].y
239
- elseif big and half_block then
240
- spawn_y = math.ceil (spawn_y / 2 ) * 2
239
+ end
240
+
241
+ if offset then
242
+ spawn_x = spawn_x + offset .x
243
+ spawn_y = spawn_y + offset .y
241
244
end
242
245
243
246
local piece = Piece (data .shape , data .orientation - 1 , {
0 commit comments