Implements modifier system for weapons
Adds a modifier system allowing dynamic modification of weapon stats and behavior. This includes: - Creating ModifierLibrary to manage available modifiers. - Adds ModifierManager to handle equipping and unequipping modifiers - Adds a new RangedWeaponComponent to handle firing projectiles and managing modifiers. - Introduces a DebugUI for in-game modifier management. - Introduces an "Unlimited Power" modifier that changes the projectile scene. - Modifies stats components to work with the new modifier system. This system allows for more flexible and customizable weapon functionality.
This commit is contained in:
parent
9f66ab0a73
commit
70839387ca
22 changed files with 432 additions and 40 deletions
|
|
@ -21,7 +21,7 @@ var explosion_projectile_speed: float = 300.0
|
|||
var explosion_spread_angle: float = 360.0 # Full circle by default
|
||||
|
||||
# References
|
||||
var source_weapon: RangedWeapon # Reference to the weapon that fired this
|
||||
var source_weapon: RangedWeaponComponent # Reference to the weapon that fired this
|
||||
var lifetime_timer: Timer
|
||||
# Add a variable to track the entity that triggered the explosion
|
||||
var ignore_target = []
|
||||
|
|
|
|||
|
|
@ -106,7 +106,6 @@ func add_modifier(modifier: Modifier):
|
|||
func remove_modifier(modifier_id: String):
|
||||
pass
|
||||
#stats.remove_modifier(modifier_id)
|
||||
|
||||
func _on_stats_updated():
|
||||
# Update any visual components based on new stats
|
||||
# For example, if weapon appearance changes based on damage/fire rate
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue