CharmDefs.cs

Defines a set of shop item definitions for charms in the ProgressManager partial class. It declares a NoCharm ShopItemDef, a NoCharmDescription function, and builds an array of various Charm ShopItemDef entries with ids, names, prices, icons and description delegates.

File Access
public static partial class ProgressManager
{
	public static readonly ShopItemDef NoCharm = new ShopItemDef
	{
		Id       = "",
		Category = ShopItemCategory.Charm,
		Name     = "None",
		Price    = 0,
		IconPath = "/textures/ui/stats/blank.png",
		ItemDescription = NoCharmDescription
	};

	public static string NoCharmDescription() => $"No charm equipped.";

	private static ShopItemDef[] BuildCharmItems()
	{
		return new ShopItemDef[]
		{
			new ShopItemDef
			{
				Id                 = CharmRandomPerk.ItemId,
				Category           = ShopItemCategory.Charm,
				Name               = "Random Charm",
				Price              = 2,
				RequiredPurchases  = 1,
				IconPath           = "/textures/ui/stats/perk_auto_choose.png",
				ItemDescription    = CharmRandomPerk.Description,
			},

			new ShopItemDef
			{
				Id                 = CharmDice.ItemId,
				Category           = ShopItemCategory.Charm,
				Name               = "Lucky Dice",
				Price              = 3,
				RequiredPurchases  = 0,
				IconPath           = "/textures/ui/stats/reroll.png",
				ItemDescription    = CharmDice.Description,
			},

			new ShopItemDef
			{
				Id                 = CharmDash.ItemId,
				Category           = ShopItemCategory.Charm,
				Name               = "Dash Charm",
				Price              = 4,
				RequiredPurchases  = 1,
				IconPath           = "/textures/ui/stats/dash.png",
				ItemDescription    = CharmDash.Description,
			},

			new ShopItemDef
			{
				Id                 = CharmHoming.ItemId,
				Category           = ShopItemCategory.Charm,
				Name               = "Homing Charm",
				Price              = 4,
				RequiredPurchases  = 1,
				IconPath           = "/textures/ui/stats/homing.png",
				ItemDescription    = CharmHoming.Description,
			},

			new ShopItemDef
			{
				Id                 = CharmLightning.ItemId,
				Category           = ShopItemCategory.Charm,
				Name               = "Lightning Rod",
				Price              = 30,
				RequiredPurchases  = 2,
				IconPath           = "/textures/icons/vector/shock.png",
				ItemDescription    = CharmLightning.Description,
			},

			new ShopItemDef
			{
				Id                 = CharmHealthpackExtraArmor.ItemId,
				Category           = ShopItemCategory.Charm,
				Name               = "Triage Pack",
				Price              = 20,
				RequiredPurchases  = 1,
				IconPath           = "/textures/ui/stats/armor.png",
				ItemDescription    = CharmHealthpackExtraArmor.Description,
			},

			new ShopItemDef
			{
				Id                 = CharmExtraLife.ItemId,
				Category           = ShopItemCategory.Charm,
				Name               = "Extra Life",
				Price              = 35,
				RequiredPurchases  = 2,
				IconPath           = "/textures/ui/stats/heal.png",
				ItemDescription    = CharmExtraLife.Description,
			},

			new ShopItemDef
			{
				Id                 = CharmRerollConsecutive.ItemId,
				Category           = ShopItemCategory.Charm,
				Name               = "Reroll Streak",
				Price              = 30,
				RequiredPurchases  = 7,
				IconPath           = "/textures/ui/stats/reroll.png",
				ItemDescription    = CharmRerollConsecutive.Description,
			},
		};
	}
}