2019-03-13 04:15:41 +00:00
|
|
|
local stage, players, objects, projectiles, act, images = ...
|
|
|
|
return {
|
|
|
|
info = {
|
|
|
|
name = "CrossGun",
|
|
|
|
description = "Shoots four diagonal panels around enemy!",
|
|
|
|
cooldown = {
|
|
|
|
shoot = 6,
|
|
|
|
move = 4
|
|
|
|
}
|
|
|
|
},
|
|
|
|
logic = function(info)
|
2019-03-13 21:05:50 +00:00
|
|
|
info.x = info.x + (4 / stage.panelWidth) * info.direction
|
2019-03-13 04:15:41 +00:00
|
|
|
|
|
|
|
act.stage.setDamage(info.x, info.y, 30, info.owner, 2)
|
|
|
|
|
|
|
|
local struckPlayer, struckObject = act.projectile.checkProjectileCollisions(info)
|
|
|
|
|
|
|
|
if info.frame > 50 or struckPlayer or struckObject then
|
|
|
|
if struckPlayer or struckObject then
|
2019-03-13 21:05:50 +00:00
|
|
|
act.stage.setDamage(info.x - 1, info.y - 1, 30, info.owner, 1)
|
|
|
|
act.stage.setDamage(info.x + 1, info.y - 1, 30, info.owner, 1)
|
|
|
|
act.stage.setDamage(info.x - 1, info.y + 1, 30, info.owner, 1)
|
|
|
|
act.stage.setDamage(info.x + 1, info.y + 1, 30, info.owner, 1)
|
|
|
|
act.stage.setDamage(info.x, info.y, 30, info.owner, 1)
|
2019-03-13 04:15:41 +00:00
|
|
|
end
|
|
|
|
return false
|
|
|
|
else
|
|
|
|
return true, {{images.cannon, info.x, info.y}}
|
|
|
|
end
|
|
|
|
end
|
2019-03-13 21:05:50 +00:00
|
|
|
}
|