Issue with Airborne Throw on Grounded Opponent

First off, congrats on the forum launch and upcoming release! Just found Castagne through the upcoming Fighting Game April Jam 2026 page, excited to try it.

Problem Description

When testing the engine using the Baston Labatte (Example Fighter) character (the 3D one, not Baston 2D), I tried using an Airborne Throw on the grounded default opponent (also Baston Labatte (Example Fighter)). I expected this to fail outright, but instead, this caused the opponent to get stuck mid-air and become uninteractable.

I’m not sure if this is an issue with Baston’s Airborne Throw or something more fundamental. I was able to replicate the issue playing as Baston Labatte against Baston 2D as well.

Hoping this is something that can be fixed before the game jam.

Technical Info

Castagne Version: v0.57 (Latest)
Host Engine: Godot
Genre: 2D Fighter / 2.5D Fighter

Hello and welcome!

It’s likely a bug in the example code itself, as I probably updated only the grounded throw and not the airborne one when I reworked it for better hit detection.

Compared to other states, the ThrowHeld state doesn’t have an hurtbox, so it can’t be hit through conventional means. That allows it to not be hit by a random projectile and cause shenanigans. You must inflict the attack directly, without going through the hitbox / hurtbox system using InflictAttack().

This is something you can see on the grounded throw, the airborne one in the example tries to rely on the old hurtbox that was present. So the fix is really easy: replace the Hitbox(..) with InflictAttack(), and that should make the attack work as expected!