local stage, players, objects, projectiles, act, images = ... return { info = { name = "CrackShot", description = "Fires a panel forwards!", cooldown = { shoot = 6, move = 4 } }, logic = function(info) if info.frame == 0 then if act.stage.checkIfSolid(info.x + info.direction, info.y) then info.panelType = stage.panels[info.y][info.x + info.direction].panelType info.panelOwner = stage.panels[info.y][info.x + info.direction].owner act.stage.crackPanel(info.x + info.direction, info.y, 2) info.x = info.x + info.direction else return false end elseif info.panelType then info.x = info.x + (3 / stage.panelWidth) * info.direction act.stage.setDamage(info.x, info.y, info.altDamage or 60, info.owner, 1, info.noFlinch) local struckPlayer, struckObject = act.projectile.checkProjectileCollisions(info) if info.frame > 50 or struckPlayer or struckObject then return false else return true, {{images.panel[info.panelType], info.x, info.y}} end end return {{images.panel[info.panelType], info.x, info.y}} end }