BasicRanged(
    energy_cost: 300,
    buildup_duration: 0.4,
    recover_duration: 0.3,
    projectile_spread: 0.05,
    projectile: Arrow(
        damage: 40.0,
        knockback: 5.0,
        energy_regen: 0,
    ),
    projectile_body: Object(Arrow),
    projectile_light: None,
    projectile_speed: 60.0,
    num_projectiles: 4,
)