summaryrefslogtreecommitdiff
path: root/data/bulletData.lua
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-03-14 11:49:21 +0800
committerEltrac <hi@guhub.cn>2025-03-14 11:49:21 +0800
commit17fbca7464abe7342846b1c5d3f52090ada08680 (patch)
treeaf82101796136b90045b6f80e3fe3d8f0540c00c /data/bulletData.lua
parent6b6588aceffd0a1b42457cbdb400e8b472bafc72 (diff)
feat: big heart behavior change
- big heart now splits into broken hearts instead of red hearts - big heart now shoots at 8 directions but not randomly 4
Diffstat (limited to 'data/bulletData.lua')
-rw-r--r--data/bulletData.lua50
1 files changed, 37 insertions, 13 deletions
diff --git a/data/bulletData.lua b/data/bulletData.lua
index 76681e5..32e180d 100644
--- a/data/bulletData.lua
+++ b/data/bulletData.lua
@@ -14,19 +14,43 @@ local bulletData = {
local r = enemyData[enemyType].size + 20
local bullets = require "logic.bullets"
- -- split heart and shoot at 4 different angle
- if math.random(2) == 1 then
- -- shoot like a X
- bullets.fire("redheart", { x = x-2*r, y = y-2*r }, {x = x-r, y = y-r})
- bullets.fire("redheart", { x = x+2*r, y = y+2*r }, {x = x+r, y = y+r})
- bullets.fire("redheart", { x = x-2*r, y = y+2*r }, {x = x-r, y = y+r})
- bullets.fire("redheart", { x = x+2*r, y = y-2*r }, {x = x+r, y = y-r})
- else
- -- shoot like a cross
- bullets.fire("redheart", { x = x, y = 0 }, { x = x, y = y-r })
- bullets.fire("redheart", { x = x, y = h }, { x = x, y = y+r })
- bullets.fire("redheart", { x = 0, y = y }, { x = x-r, y = y })
- bullets.fire("redheart", { x = w, y = y }, { x = x+r, y = y })
+ -- split heart and shoot at 8 different angle
+ local shoottingDirections = {
+ {
+ target = { x = x-2*r, y = y-2*r },
+ firer = {x = x-r, y = y-r},
+ },
+ {
+ target = { x = x+2*r, y = y+2*r },
+ firer = {x = x+r, y = y+r},
+ },
+ {
+ target = { x = x+2*r, y = y-2*r },
+ firer = {x = x+r, y = y-r},
+ },
+ {
+ target = { x = x-2*r, y = y+2*r },
+ firer = {x = x-r, y = y+r},
+ },
+ {
+ target = { x = x, y = 0 },
+ firer = { x = x, y = y-r },
+ },
+ {
+ target = { x = x, y = h },
+ firer = { x = x, y = y+r },
+ },
+ {
+ target = { x = 0, y = y },
+ firer = { x = x-r, y = y },
+ },
+ {
+ target = { x = w, y = y },
+ firer = { x = x+r, y = y },
+ }
+ }
+ for _, direction in ipairs(shoottingDirections) do
+ bullets.fire("brokenheart", direction.target, direction.firer)
end
end
},