feat: implement core movement, combat, weapon management, and networking systems

This commit is contained in:
DottsGit
2026-06-07 00:22:21 -04:00
parent 064bc90f53
commit 7f54792ad9
12 changed files with 191 additions and 42 deletions
+9 -2
View File
@@ -332,7 +332,7 @@ func _spawn_player(pid: int) -> CharacterBody3D:
var col_shape := CollisionShape3D.new()
col_shape.name = "CollisionShape3D"
var capsule := CapsuleShape3D.new()
capsule.radius = 0.4
capsule.radius = 0.6
capsule.height = 1.8
col_shape.shape = capsule
player.add_child(col_shape)
@@ -345,7 +345,11 @@ func _spawn_player(pid: int) -> CharacterBody3D:
# Humanoid Model for Player (Shadows only locally, visible to others)
var humanoid = load("res://characters/humanoid_model.gd").new()
humanoid.name = "HumanoidModel"
humanoid.color = Color(0.2, 0.4, 0.8) # Blueish for player
var pcolor = Color(0.2, 0.4, 0.8)
var nm = get_node_or_null("/root/NetworkManager")
if nm and nm.player_stats.has(pid):
pcolor = Color(nm.player_stats[pid].get("color", "3366cc"))
humanoid.color = pcolor
humanoid.shadows_only = (pid == multiplayer.get_unique_id())
humanoid.position = Vector3(0, -0.9, 0) # Offset from center to feet
player.add_child(humanoid)
@@ -440,6 +444,9 @@ func _spawn_player(pid: int) -> CharacterBody3D:
if cv:
cv.visible = false
if is_local and nm and not nm.multiplayer.is_server() and nm.multiplayer.has_multiplayer_peer() and not nm.multiplayer.multiplayer_peer is OfflineMultiplayerPeer:
nm.client_ready_for_spawn.rpc_id(1)
return player