diff options
Diffstat (limited to 'godot/scripts/characters/player_controller_new.gd')
| -rw-r--r-- | godot/scripts/characters/player_controller_new.gd | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/godot/scripts/characters/player_controller_new.gd b/godot/scripts/characters/player_controller_new.gd index 62f5ef6..232e5e0 100644 --- a/godot/scripts/characters/player_controller_new.gd +++ b/godot/scripts/characters/player_controller_new.gd @@ -63,6 +63,9 @@ const DROWN_DICT: Dictionary = {"type" : "DROWN", "attacker_net_id" : 1, "attack # Called when the node enters the scene tree func _ready() -> void: + if get_parent().name == "CREW": + team = owner.team + if weapon_slot1 == null: weapon_slot1 = preload("res://scenes/weapons/hands.res") weapons = [weapon_slot1,weapon_slot2,weapon_slot3,weapon_slot4,weapon_slot5] @@ -74,8 +77,6 @@ func _ready() -> void: $"%UseRay".add_exception(self) $"%MeleeRay".add_exception(self) - $"%UseRay".add_exception($AreaDetect) - $"%MeleeRay".add_exception($AreaDetect) if ai_target_machine_path: ai_target_machine = get_node(ai_target_machine_path) @@ -181,15 +182,15 @@ func load_process(delta) -> void: if use_ray.is_colliding() and use_ray.get_collider().get_parent() == load_target and use_held: var progress: float =load_target.increase_load(delta) if progress < 0: - if get_network_master() != 1: world.hud.hide_progress() + if is_player: world.hud.hide_progress() load_target.reset_load() loading = false load_target = null inventory[load_ammo] -= 1 else: - if get_network_master() != 1: world.hud.set_progress(progress) + if is_player: world.hud.set_progress(progress) else: - if get_network_master() != 1: world.hud.hide_progress() + if is_player: world.hud.hide_progress() load_target.reset_load() loading = false load_target = null @@ -263,7 +264,7 @@ func _integrate_forces(state: PhysicsDirectBodyState) -> void: return player_state = state velocity = state.get_linear_velocity() - for i in range(player_state.get_contact_count()): + if is_player: for i in range(player_state.get_contact_count()): var contact_angle_from_up : float = Vector3.UP.angle_to(player_state.get_contact_local_normal(i)) if contact_angle_from_up > FLOOR_MAX_ANGLE and !is_on_floor: physics_material_override.friction = 0 @@ -271,11 +272,11 @@ func _integrate_forces(state: PhysicsDirectBodyState) -> void: if i == player_state.get_contact_count() - 1: physics_material_override.friction = 1 - rpc("set_phys_transform", transform, linear_velocity) + rpc_unreliable("set_phys_transform", transform, linear_velocity) if global_transform.origin.y < -30: rpc("damage", 500000, DROWN_DICT) - nav.set_velocity(velocity) + #nav.set_velocity(velocity) func walk(_delta: float) -> void: if floor_normal != Vector3.UP: direction = direction.rotated(floor_normal.cross(Vector3.UP).normalized(), Vector3.UP.angle_to(floor_normal)) |
