Updated cycle testing logic and various other behaviours for enhanced

system.
This commit is contained in:
Henry Faber 2026-06-29 22:12:28 +01:00
parent 1ac71cc104
commit 7ffb93963f
10 changed files with 237 additions and 31 deletions

View file

@ -82,3 +82,20 @@ extends Resource
# Array of projectile groups defining layered, multi-directional fire patterns.
@export var groups: Array[WeaponProjectileGroup] = []
@export_subgroup("Power & Composition")
# The power level at which this weapon becomes active.
# Weapons with power_level <= current power level are considered active.
@export_range(0, 20, 1) var power_level: int = 0
# If true, collecting this weapon removes any existing weapon whose
# power_level matches this weapon's power_level. Use this instead of
# force_replace_all for rank-up replacements (e.g. stock → tri → spread).
@export var replaces_at_same_level: bool = false
# If true, this weapon replaces ALL active weapons (ignores power_level).
# Used for rank-based transformations where the entire arsenal changes.
@export var force_replace_all: bool = false