This commit is contained in:
team3
2026-09-16 15:04:02 +02:00
parent 3be22351a3
commit b9d6b115c0
23 changed files with 795 additions and 425 deletions

View File

@@ -442,6 +442,27 @@ func throw_dice(seat: int, rng: RandomNumberGenerator) -> void:
arr[i].throw_from(zone.global_transform * off, rng)
## Fangnetz: ein Würfel, der über die Bande oder durch den Filz gefallen ist,
## fiele sonst ewig - und das Würfeln käme nie zur Ruhe. Er kommt zurück in
## seine Zone und fällt dort noch einmal. Gibt zurück, ob einer gefangen wurde.
func fange_verirrte(seat: int) -> bool:
var zone: Node3D = zones[seat]
var gefangen := false
for d in dice[seat]:
if d.global_position.y > TABLE_H - 0.3 and d.global_position.y < TABLE_H + 3.0:
continue
var ang := randf() * TAU
var off := Vector3(cos(ang), 0.0, sin(ang)) * ZONE_RAD * 0.3 + Vector3(0, 0.35, 0)
d.freeze = false
d.sleeping = false
d.linear_velocity = Vector3.ZERO
d.angular_velocity = Vector3.ZERO
var t := Transform3D(Basis(), zone.global_transform * off)
d.place(t)
gefangen = true
return gefangen
## Legt die Würfel ordentlich nebeneinander (für Clients/Reveal). Ab `von`
## bleiben die davorliegenden unangetastet.
func _layout_idle(seat: int, von := 0) -> void: