From 17fbca7464abe7342846b1c5d3f52090ada08680 Mon Sep 17 00:00:00 2001 From: Eltrac Date: Fri, 14 Mar 2025 11:49:21 +0800 Subject: 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 --- data/bulletData.lua | 50 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 13 deletions(-) (limited to 'data/bulletData.lua') 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 }, -- cgit v1.2.3