diff --git a/vacuum_gambit.p8 b/vacuum_gambit.p8 index 7ac22b0..391e095 100644 --- a/vacuum_gambit.p8 +++ b/vacuum_gambit.p8 @@ -618,14 +618,6 @@ end -->8 -- bullet and gun behaviors -function player_blt_cat() - return pbullets -end - -function enemy_blt_cat() - return ebullets -end - -- x, y: position -- dx, dy: movement (linear) -- f: frames remaining; nil for no limit @@ -638,9 +630,9 @@ end -- details, check impl -- damage -- damage to do to -- a ship that gets hit --- category -- function that --- returns which bullet list --- to spawn onto +-- category -- string naming +-- which bullet list to spawn +-- onto, from _ENV -- hitship -- event handler, -- takes ship as argument. -- default: die, return true. @@ -785,7 +777,7 @@ end function bullet_base:spawn_at(x, y) self.x = x - self.x_off self.y = y - self.y_off - add(self.category(), self) + add(_ENV[self.category], self) end function gun_base:shoot(x, y) @@ -855,7 +847,7 @@ zap_p = mknew(bullet_base.new{ hitship = const_fxn(true), - category = player_blt_cat, + category = "pbullets", }) zap_gun_p = mknew(gun_base.new{ @@ -914,7 +906,7 @@ blast = mknew(bullet_base.new{ end) end end, - category=player_blt_cat + category="pbullets" }) blast_gun = mknew(gun_base.new{ @@ -953,14 +945,14 @@ protron_e = mknew(bullet_base.new{ y_off = 4, damage = 1, - category = enemy_blt_cat, + category = "ebullets", }) protron_p = mknew(protron_e.new{ sprite=23, dym = -1, y_off = 0, - category=player_blt_cat, + category="pbullets", }) protron_gun_e = mknew(gun_base.new{ @@ -1007,13 +999,13 @@ vulcan_e = mknew(bullet_base.new{ y_off = 0, damage = 0.5, - category=enemy_blt_cat + category="ebullets" }) vulcan_p = mknew(vulcan_e.new{ sprite=22, y_off = 4, - category=player_blt_cat + category="pbullets" }) vulcan_gun_e = mknew(gun_base.new{ @@ -1656,7 +1648,7 @@ xp_gem = mknew(bullet_base.new{ dy = 0.75, width=1, -- not used for spr but height=1,-- bullet_base uses it - category = enemy_blt_cat, + category = "ebullets", damage = 0, hurt = { x_off = -2,