BasicRanged(
    energy_cost: 0,
    buildup_duration: 500,
    recover_duration: 300,
    projectile: Arrow(
        damage: 80.0,
        knockback: 5.0,
        energy_regen: 50,
    ),
    projectile_body: Object(Arrow),
    projectile_light: None,
    projectile_gravity: Some(Gravity(0.2)),
    projectile_speed: 100.0,
    can_continue: true,
)