class_name ProjectileSizeAdditive extends Modifier @export var size_increase: float = 0.5 # +50% bigger func _init(): id = "size_additive" display_name = "Enlarged Projectiles" description = "Increases projectile size by %d%%" % (size_increase * 100) modifier_type = ModifierType.ADDITIVE func apply_stats_modification(final_stats: Dictionary, base_stats: Dictionary) -> void: if final_stats.has("projectile_size"): final_stats.projectile_size += size_increase func modify_projectile(projectile) -> void: # This will be called when the projectile is created # Scale is often handled in the recalculate_stats method, but we can also add visual effects here projectile.connect("on_spawned", _on_projectile_spawned) func _on_projectile_spawned(projectile): # Add a trail effect for larger projectiles if projectile.scale.x > 1.2: pass #var trail = preload("res://scenes/projectile_trail.tscn").instantiate() #projectile.add_child(trail)