Пример #1
0
        ////

        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);
                }
            }
        }