_accept_projectile in network_weapon.gd has a code path which calls _spawn() without calling _save_projectile(...) on the result, leading to a server with the correct name (eg: "Bullet IDIDIDIDID") and a client with an incorrect name (eg: "Bullet").
This leads all future projectile spawns to desync as their names will be different on the server (eg: "Bullet IDIDIDIDID") and client (eg: "Bullet2 IDIDIDID"), causing RPCs to fall.
_accept_projectile
innetwork_weapon.gd
has a code path which calls_spawn()
without calling_save_projectile(...)
on the result, leading to a server with the correct name (eg: "Bullet IDIDIDIDID") and a client with an incorrect name (eg: "Bullet").This leads all future projectile spawns to desync as their names will be different on the server (eg: "Bullet IDIDIDIDID") and client (eg: "Bullet2 IDIDIDID"), causing RPCs to fall.