guns/GunUnpausedChoosing.cs

A Gun item class that grants the player bonuses when a run starts. It defines an item id, a move speed bonus and a description string, and applies modifiers to the player's UnpausedChoosing stat and MoveSpeedMultiplier on run start.

Networking
public class GunUnpausedChoosing : Gun
{
	public const string ItemId = "gun_unpaused_choosing";

	private static float GetMovesSpeed( bool isPercent = false ) => isPercent ? 7f : 1f + 0.07f;

	public static string Description() => $"Don't pause while choosing perks\n+{GetMovesSpeed( isPercent: true )}% move speed";

	public override void OnRunStart()
	{
		base.OnRunStart();

		Player.Modify( this, PlayerStat.UnpausedChoosing, 1, ModifierType.Add );
		Player.Modify( this, PlayerStat.MoveSpeedMultiplier, GetMovesSpeed( isPercent: false ), ModifierType.Mult );
	}
}