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