Area → Areaarea_entered signal
Body → Areabody_entered signal
Body → Bodymove_and_slide contact
RaycastRayCast2D / 3D
Dealer has an Area node. When it overlaps another Area on the victim the signal fires. Both need matching collision layers.
Dealer's CharacterBody enters an Area on the victim. The Area node on the victim emits body_entered.
After move_and_slide(), get_slide_collision() checks if the collider is a valid victim by group.
A RayCast node on the dealer checks on attack input. Targets body, area, or both via collision mask.
targets