forked from unfa/liblast
Damage is now properly propagated to all peers.
parent
740bd67fea
commit
f36e358ab8
|
@ -1,5 +1,6 @@
|
|||
extends Node3D
|
||||
#Hand Camera Head Player
|
||||
@onready var main = get_tree().root.get_node("Main")
|
||||
@onready var player = get_parent().get_parent().get_parent().get_parent()
|
||||
@onready var camera = get_parent().get_parent()
|
||||
@onready var ejector = find_node("Ejector")
|
||||
|
@ -32,7 +33,9 @@ var impact_player = preload("res://Assets/Effects/ImpactPlayer.tscn")
|
|||
if ray['collider'].has_method(&'damage'):
|
||||
if get_tree().get_network_unique_id() == 1: # make sure this can only run on the server
|
||||
print("SHOT HIT ", ray['collider'])
|
||||
ray['collider'].damage(10)
|
||||
ray['collider'].damage(10) # apply damage
|
||||
# boardcast the new health value to all peers TODO: fix this
|
||||
main.rpc(&'player_list_update', main.player_list.get(ray['collider'].get_network_master()).serialize(), ray['collider'].get_network_master())
|
||||
|
||||
impact_vfx = impact_player.instantiate()
|
||||
else:
|
||||
|
|
|
@ -171,8 +171,11 @@ func _input(_event) -> void:
|
|||
else: #we are client, so we're getting data relayed from the server
|
||||
player_list.set(pid, new_info) # server relays other PID's data
|
||||
|
||||
func push_local_player_info():
|
||||
func push_local_player_info(): #
|
||||
var id = get_tree().network_peer.get_unique_id()
|
||||
|
||||
#print("PLayer info vsr2str: ", var2str(player_list.get(id)) )
|
||||
|
||||
if id != 1:
|
||||
rpc_id(1, &'player_list_update', player_list.get(id).serialize())
|
||||
else:
|
||||
|
@ -267,6 +270,7 @@ func _server_disconnected() -> void:
|
|||
|
||||
|
||||
func _ready() -> void:
|
||||
peer.compression_mode = NetworkedMultiplayerENet.COMPRESS_ZSTD
|
||||
print("Commandline arguments: ", OS.get_cmdline_args())
|
||||
|
||||
get_tree().connect("network_peer_connected", self._player_connected)
|
||||
|
|
Loading…
Reference in New Issue