update
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user