981ebf1910
Remove tools/fstest.html scratch page used to probe browser fullscreen/orientation APIs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EznnY8rH2dXhtono1kwsXg
16 lines
745 B
GDScript
16 lines
745 B
GDScript
extends Node
|
|
## Stateless façade (autoload `Gore`) for spawning persistent blood splats. Callers just say
|
|
## Gore.splat(pos, dir, size) at each wound; this routes to the level's BloodDecals pool
|
|
## (group &"blood_decals"), which the game shell rebuilds into LevelRoot on every load so the
|
|
## stains die with the level. No-ops when there's no pool (menus, headless tests without a
|
|
## level) or when the player has turned gore off — so the gate lives in one place.
|
|
|
|
|
|
func splat(world_pos: Vector3, dir: Vector3 = Vector3.ZERO, size: float = 0.6) -> void:
|
|
if not Settings.gore:
|
|
return
|
|
var pool := get_tree().get_first_node_in_group(&"blood_decals")
|
|
if pool == null:
|
|
return
|
|
pool.call(&"splat", world_pos, dir, size * DP.f("blood_scale"))
|