diff options
| author | Eltrac <hi@guhub.cn> | 2025-03-14 11:49:21 +0800 |
|---|---|---|
| committer | Eltrac <hi@guhub.cn> | 2025-03-14 11:49:21 +0800 |
| commit | 17fbca7464abe7342846b1c5d3f52090ada08680 (patch) | |
| tree | af82101796136b90045b6f80e3fe3d8f0540c00c /data | |
| parent | 6b6588aceffd0a1b42457cbdb400e8b472bafc72 (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')
| -rw-r--r-- | data/bulletData.lua | 50 |
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 }, |
