Put dead matadors on a corpse collision layer

A killed matador's ragdoll shared the WORLD layer with the bull, so the
bull collided with the bodies and spazzed out on them. Give corpses a
dedicated CORPSE layer masked to itself, and tag the ground/walls with
CORPSE too (at level load, so it also reaches colliders baked into the
instanced GLB arenas). The corpse still rests on the arena, but the bull
— which only masks WORLD — passes straight through the bodies.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-27 23:27:10 +03:00
parent c365f76d80
commit 1021a07b04
5 changed files with 43 additions and 4 deletions
+11
View File
@@ -0,0 +1,11 @@
## Central registry of the 3D physics collision-layer bits. These mirror the
## layer_names in project.godot so the editor's layer picker reads the same words.
##
## The bull only collides with WORLD, so a killed matador is lifted off WORLD onto
## CORPSE alone (see matador_ragdoll.gd). The ground and walls carry WORLD | CORPSE
## (tagged at level load in game_shell.gd), so the ragdoll still rests on the arena
## while the bull passes through the bodies instead of tripping over them.
const WORLD: int = 1 # layer 1 — environment + live actors (bull, matadors, spears)
const BULL: int = 2 # layer 2 — the bull's own body
const CORPSE: int = 4 # layer 3 — ragdolled matadors; ground/walls also carry this