BasicRanged(
    energy_cost: 0,
    buildup_duration: 0.001,
    recover_duration: 0.01,
    projectile: (
        kind: Possess,
    ),
    projectile_body: Object(ArrowSnake),
    projectile_speed: 100.0,
    num_projectiles: 1,
    projectile_spread: 0.0,
    move_efficiency: 0.3,
)