//// public static void AttemptFinalDash(SpiritWalkingPlayer myplayer, bool sync) { var config = SpiritWalkingConfig.Instance; int finalDashTileDist = config.Get <int>(nameof(config.FinalDashTileDistance)); Vector2 aim = Vector2.Normalize(myplayer.IntendedFlightVelocity); aim *= (float)finalDashTileDist * 16f; Vector2 dest = myplayer.FlightProjectile.Center + aim; if (SpiritWalkLogic.CanFinalDashTo(dest)) { myplayer.player.Teleport(dest, 1); if (sync) { NetMessage.SendData(MessageID.Teleport, -1, -1, null, 0, (float)myplayer.player.whoAmI, dest.X, dest.Y, 1, 0, 0); } } }