feat: implement procedural humanoid animations, modular weapon system, and dummy entity base classes

This commit is contained in:
DottsGit
2026-06-06 19:10:29 -04:00
parent fcdd75afc0
commit ff3e01a9e5
12 changed files with 400 additions and 52 deletions
+16 -2
View File
@@ -301,6 +301,15 @@ func _spawn_player(pid: int) -> CharacterBody3D:
rep_config.add_property(":position")
rep_config.add_property(":rotation")
rep_config.add_property("HeadPivot:rotation")
rep_config.add_property(":synced_movement_state")
rep_config.add_property(":synced_movement_speed")
rep_config.add_property(":synced_is_crouching")
rep_config.add_property(":synced_weapon_path")
rep_config.add_property(":synced_loadout_p1")
rep_config.add_property(":synced_loadout_p2")
rep_config.add_property(":synced_loadout_sp")
rep_config.add_property(":synced_loadout_melee")
rep_config.add_property(":synced_loadout_ready")
sync.replication_config = rep_config
player.add_child(sync)
@@ -395,9 +404,10 @@ func _spawn_player(pid: int) -> CharacterBody3D:
player.set_process(true)
sm.set_physics_process(true)
else:
# Disable processing/input for remote players
# Disable physics processing/input for remote players
# but keep _process enabled so synced state updates the HumanoidModel
player.set_physics_process(false)
player.set_process(false)
player.set_process(true)
player.set_process_input(false)
sm.set_physics_process(false)
sm.set_process(false)
@@ -410,6 +420,10 @@ func _spawn_player(pid: int) -> CharacterBody3D:
wman.set_process_input(false)
wman.set_process(false)
wman.set_physics_process(false)
wman.visible = false
var cv = wman.get("canvas_layer")
if cv:
cv.visible = false
return player