feat: network_manager — add request_spore_level + _relay_spore_level RPCs

This commit is contained in:
2026-04-16 00:30:15 +02:00
parent d63d02fa77
commit 7abc525833

View File

@@ -169,6 +169,21 @@ func sync_player_position(player_id: int, position: Vector3, rotation: Vector3)
GameState.update_player_transform(player_id, position, rotation)
# DM calls this on server only via rpc_id(1, level)
@rpc("any_peer", "call_remote", "reliable")
func request_spore_level(level: float) -> void:
if not multiplayer.is_server(): return
var requester_id := multiplayer.get_remote_sender_id()
if players.get(requester_id, {}).get("role", "") != "dm": return
_relay_spore_level.rpc(level)
# Server broadcasts to all clients including itself
@rpc("authority", "call_local", "reliable")
func _relay_spore_level(level: float) -> void:
SporeLevel.current_level = level
# Client calls this on server only (rpc_id(1, ...))
@rpc("any_peer", "call_remote", "reliable")
func broadcast_roll(roller_peer_id: int, d20_result: int, modifier: int) -> void: