コード例 #1
0
        public static void ActivationFx(SpiritWalkingPlayer myplayer)
        {
            if (SpiritWalkFxLogic.FlightSoundLoop == null)
            {
                SpiritWalkFxLogic.FlightSoundLoop = OverlaySound.Create(
                    sourceMod: SpiritWalkingMod.Instance,
                    soundPath: "Sounds/rocket",
                    fadeTicks: 0,
                    customCondition: SpiritWalkFxLogic.FlightSoundLoopCondition
                    );
            }
            SpiritWalkFxLogic.FlightSoundLoop.Play();

            SpiritWalkFxLogic.EmitSpiritParticles(
                position: myplayer.FlightProjectile.Center,
                direction: new Vector2(0f, 8f),
                particles: 96,
                radius: 28
                );
        }
コード例 #2
0
        public static void ApplyFlightSpeedBoostIf(SpiritWalkingPlayer myplayer)
        {
            if (myplayer.FlightBurstCooldown > 0)
            {
                return;
            }

            var   config = SpiritWalkingConfig.Instance;
            float boost  = config.Get <float>(nameof(config.SpiritWalkBoostSpeedMultiplier));

            SpiritWalkFlightLogic.ApplyFlightSpeedScaleChange(myplayer, boost);

            Main.PlaySound(SoundID.Grass);

            SpiritWalkFxLogic.EmitSpiritParticles(
                position: myplayer.FlightProjectile.Center,
                direction: myplayer.FlightProjectile.velocity * -2f,
                particles: 20
                );
        }