unify ammo system

This commit is contained in:
SondreElg
2025-10-05 00:12:40 +02:00
parent 822d23ccca
commit 6cfcb640c9
3 changed files with 9 additions and 4 deletions

View File

@@ -1,8 +1,8 @@
extends Node
@export var CursorBullet: PackedScene
@export var max_ammo = 10
var ammo = 10
@export var max_ammo = 30
var ammo = max_ammo
func activate(world, activator):
var target: Vector2 = activator.get_target_pos()
@@ -13,13 +13,12 @@ func activate(world, activator):
if activator.get_collision_layer_bit(1): # player object
bullet.set_collision_layer_bit(1, false)
bullet.set_collision_layer_bit(2, true)
ammo -= 1
elif activator.get_collision_layer_bit(2): # enemy object
bullet.set_collision_layer_bit(1, true)
bullet.set_collision_layer_bit(2, false)
else:
assert(false, "who are you, activator?")
ammo -= 1
# TODO: handle ammo for player and virus
func discard(world, activator):
pass

View File

@@ -3,6 +3,8 @@ extends Node
@export var FireWall: PackedScene
@export var max_range = 10
@export var min_range = 5
@export var max_ammo = 5
var ammo = max_ammo
func activate(world, activator):
var firewall = FireWall.instantiate()
@@ -13,6 +15,7 @@ func activate(world, activator):
if activator.get_collision_layer_bit(1): # player object
firewall.set_collision_layer_bit(1, false)
firewall.set_collision_layer_bit(2, true)
ammo -= 1
elif activator.get_collision_layer_bit(2): # enemy object
firewall.set_collision_layer_bit(1, true)
firewall.set_collision_layer_bit(2, false)

View File

@@ -1,6 +1,8 @@
extends Node
@export var RocketProjectile: PackedScene
@export var max_ammo = 3
var ammo = max_ammo
func activate(world, activator):
var rocket = RocketProjectile.instantiate()
@@ -10,6 +12,7 @@ func activate(world, activator):
if activator.get_collision_layer_bit(1): # player object
rocket.set_collision_layer_bit(1, false)
rocket.set_collision_layer_bit(2, true)
ammo -= 1
elif activator.get_collision_layer_bit(2): # enemy object
rocket.set_collision_layer_bit(1, true)
rocket.set_collision_layer_bit(2, false)