Quick answer: Set per-area priority. Higher priority area emits before lower.
Player walks into stacked damage + heal zones. Heal happens first; player ends with full HP from a damage zone. Order matters.
The Fix
DamageArea (Area2D):
priority = 10
HealArea (Area2D):
priority = 0
# Damage signal fires first; heal second.
Distinct priorities determine emission order. Same priority falls back to scene-tree order.
Verifying
Connect to body_entered on each Area2D. Damage logs before heal. Without priority: order varies.
“Higher priority. First emit.”
Related Issues
For Area2D fast mover, see fast mover. For StaticBody trigger, see StaticBody.
priority orders. Damage first.