void NetworkRecvSpawnBoreController(void)
{
    if(Network.IsNetgame() && Network.IsClient())
    {
        int16 particleID    = NetRecv::ReadInt16();
        int16 targetID      = NetRecv::ReadInt16();
        
        kParticle@ pMissile = Network.GetNetParticle(particleID);
        kActor@ pActor      = Network.GetNetActor(targetID);
        
        if(pMissile is null || pActor is null)
        {
            return;
        }
        
        pMissile.SetTarget(pActor);
        
        // spawn a controller for manipulating the missile
        kActor@ pController =
        ActorFactory.Spawn(
            kActor_Misc_BoreController,
            pMissile.Origin(),
            0.0f,
            0.0f,
            0.0f);
            
        if(pController is null)
        {
            return;
        }
        
        pController.PlayLoopingSound("sounds/shaders/Cerebral Bore Track Loop.ksnd");
        pController.SetTarget(pMissile);
    }
}
