From a8c34bf896ddf44b962591c5a8d3ff0f9a8665be Mon Sep 17 00:00:00 2001 From: unfa Date: Sun, 26 Sep 2021 02:38:11 +0200 Subject: [PATCH] Fixed weapon spread being different between puppets --- Game/Assets/Weapons/Weapon.gd | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/Game/Assets/Weapons/Weapon.gd b/Game/Assets/Weapons/Weapon.gd index 6fdc211..df53705 100644 --- a/Game/Assets/Weapons/Weapon.gd +++ b/Game/Assets/Weapons/Weapon.gd @@ -27,17 +27,7 @@ var spread = spread_min #enum Trigger {TRIGGER_PRIMARY, TRIGGER_SECONDARY} -@rpc(any, sync, reliable) func shoot(): - #spread = min (spread + spread_boost, spread_max) - spread = min(spread + spread_boost, spread_max) - - var spread_offset = Vector3.ZERO - - spread_offset.x = randf_range(-1,1) - spread_offset.y = randf_range(-1,1) - spread_offset.z = randf_range(-1,1) - - spread_offset = spread_offset.normalized() * randf_range(spread_min, spread) +@rpc(any, sync, reliable) func shoot(spread_offset:=Vector3.ZERO): var space_state = get_world_3d().direct_space_state @@ -119,8 +109,17 @@ var spread = spread_min func trigger(index: int, active: bool) -> void: #print("Weapon " + str(name) + ", Trigger " + str(index) + ", active: " + str(active)) if index == 0 and active and $Handgun/AnimationPlayer.is_playing() == false: + spread = min(spread + spread_boost, spread_max) + + var spread_offset = Vector3.ZERO - rpc(&'shoot') + spread_offset.x = randf_range(-1,1) + spread_offset.y = randf_range(-1,1) + spread_offset.z = randf_range(-1,1) + + spread_offset = spread_offset.normalized() * randf_range(spread_min, spread) + + rpc(&'shoot', spread_offset) # Called when the node enters the scene tree for the first time. func _ready():