FANDOM


static void AddPotions()

        {

            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfVigor,

                Category = ItemCategory.Potion,

                Description = "Health Up"._(),

                FlavorText = ""._(),

                OnUse = (item, player) =>

                {

                    player.Health.MaxHealth++;

                    player.Health.Health++;

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfLethargy,

                Category = ItemCategory.Potion,

                Description = "Health Down"._(),

                FlavorText = ""._(),

                IsNegative = true,

                OnUse = (item, player) =>

                {

                    if (player.Health.MaxHealth > 1)

                    {

                        player.Health.MaxHealth--;

                        if (player.Health.Health > player.Health.MaxHealth)

                            player.Health.Health = player.Health.MaxHealth;

                    }

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfVitality,

                Category = ItemCategory.Potion,

                Description = "Full Health"._(),

                FlavorText = ""._(),

                OnUse = (item, player) =>

                {

                    player.Health.Health = player.Health.MaxHealth;

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfNitroglycerin,

                Category = ItemCategory.Potion,

                Description = "Spawns 12 Live Bombs"._(),

                FlavorText = ""._(),

                IsNegative = true,

                OnUse = (item, player) =>

                {

                    for (int i = 0; i < 12; i++)

                    {

                        player.Spawn(item.Type.Prefab, player.Room.RandomPosition());

                    }

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfDefense,

                Category = ItemCategory.Potion,

                Description = "Spawns 2 Armor"._(),

                FlavorText = ""._(),

                OnUse = (item, player) =>

                {

                    for (int i = 0; i < 2; i++)

                    {

                        player.Spawn(item.Type.Prefab);

                    }

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfStrength,

                Category = ItemCategory.Potion,

                Description = "Damage Up"._(),

                FlavorText = ""._(),

                OnUse = (item, player) =>

                {

                    player.Stats.Damage += 2;

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfWeakness,

                Category = ItemCategory.Potion,

                Description = "Damage Down"._(),

                FlavorText = ""._(),

                IsNegative = true,

                OnUse = (item, player) =>

                {

                    player.Stats.Damage -= 1;

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfBlitz,

                Category = ItemCategory.Potion,

                Description = "Attack Rate Up"._(),

                FlavorText = ""._(),

                OnUse = (item, player) =>

                {

                    player.Stats.AttackRate += 2;

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfAbeyance,

                Category = ItemCategory.Potion,

                Description = "Attack Rate Down"._(),

                FlavorText = ""._(),

                IsNegative = true,

                OnUse = (item, player) =>

                {

                    player.Stats.AttackRate -= 1;

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfQuickening,

                Category = ItemCategory.Potion,

                Description = "Bullet Speed Up"._(),

                FlavorText = ""._(),

                OnUse = (item, player) =>

                {

                    player.Stats.BulletSpeed += 3;

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfLatency,

                Category = ItemCategory.Potion,

                Description = "Bullet Speed Down"._(),

                FlavorText = ""._(),

                IsNegative = true,

                OnUse = (item, player) =>

                {

                    player.Stats.BulletSpeed -= 1;

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfTeleportation,

                Category = ItemCategory.Potion,

                Description = "Teleport to a Random Room"._(),

                FlavorText = ""._(),

                OnUse = (item, player) =>

                {

                    player.Goto(Room.GetRandomNormalRoom(player.Room));

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfVision,

                Category = ItemCategory.Potion,

                Description = "Reveals the Current Level Map"._(),

                FlavorText = ""._(),

                OnUse = (item, player) =>

                {

                    MiniMap.Instance.UpdateMap(true);

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfEntry,

                Category = ItemCategory.Potion,

                Description = "Doubles Keys"._(),

                FlavorText = ""._(),

                OnUse = (item, player) =>

                {

                    player.Stats.Keys *= 2;

                    player.Stats.Keys = Math.Max(player.Stats.Keys, 2);

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfMolotov,

                Category = ItemCategory.Potion,

                Description = "Doubles Bombs"._(),

                FlavorText = ""._(),

                OnUse = (item, player) =>

                {

                    player.Stats.Bombs *= 2;

                    player.Stats.Bombs = Math.Max(player.Stats.Bombs, 2);

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfWealth,

                Category = ItemCategory.Potion,

                Description = "Doubles Money"._(),

                FlavorText = ""._(),

                OnUse = (item, player) =>

                {

                    player.Stats.Coins *= 2;

                    player.Stats.Coins = Math.Max(player.Stats.Coins, 2);

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfDestitute,

                Category = ItemCategory.Potion,

                Description = "Lose All Coins"._(),

                FlavorText = ""._(),

                IsNegative = true,

                OnUse = (item, player) =>

                {

                    player.Stats.Coins = 0;

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfRefusal,

                Category = ItemCategory.Potion,

                Description = "Lose All Keys"._(),

                FlavorText = "What might have been..."._(),

                IsNegative = true,

                OnUse = (item, player) =>

                {

                    player.Stats.Keys = 0;

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfFoiledPlot,

                Category = ItemCategory.Potion,

                Description = "Lose All Bombs"._(),

                FlavorText = ""._(),

                IsNegative = true,

                OnUse = (item, player) =>

                {

                    player.Stats.Bombs = 0;

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfHaste,

                Category = ItemCategory.Potion,

                Description = "Speed Up"._(),

                FlavorText = ""._(),

                OnUse = (item, player) =>

                {

                    player.Stats.Speed += 2;

                    item.Type.SpawnUpgradeIcon(player);

                },

            });


            ItemBase.AddItem(new ItemType()

            {

                Id = ItemId.PotionOfSloth,

                Category = ItemCategory.Potion,

                Description = "Speed Down"._(),

                FlavorText = ""._(),

                IsNegative = true,

                OnUse = (item, player) =>

                {

                    player.Stats.Speed -= 1;

                    item.Type.SpawnUpgradeIcon(player);

                },

            });