void LevelUp()
        {
            Thread.Sleep(Settings.GetPauseTime());
            IO.GameUpdate("You Leveled up!");
            Thread.Sleep(Settings.GetPauseTime());
            List <string> Options = new List <string>()
            {
                "Str", "Dex", "Con"
            };
            string Extra    = "";
            int    ABPoints = 3;

            while (ABPoints > 0)
            {
                IO.GameUpdate(Extra + "You have 3 ability points to spend!\n\nStr: " + Str + " (+" + StrMod + ")\nDex: " + Dex + " (+" + DexMod + ")\nCon: " + Con +
                              " (+" + ConMod + ")");
                IO.Options(Options);
                int Input = MainClass.ChatInput(Options.Count);
                switch (Input)
                {
                case 1:
                    Str  += 1;
                    Extra = "Strength increased by 1!\n\n";
                    break;

                case 2:
                    Dex  += 1;
                    Extra = "Dexterity increased by 1!\n\n";
                    break;

                case 3:
                    Con  += 1;
                    Extra = "Constitution increased by 1!\n\n";
                    break;
                }
                UpdateAbilityModifiers();
                SetAtkBonus();
                ABPoints -= 1;
            }
        }
示例#2
0
 static void HealthPotion()
 {
     if (Player.Inventory.Potions.Count > 0)
     {
         List <string> Potions = new List <string>();
         foreach (Potion Pot in Player.Inventory.Potions)
         {
             Potions.Add(Pot.Name);
         }
         IO.Options(Potions);
         int Input = MainClass.ChatInput(4);
         IO.Options(null);
         if (Input == -1)
         {
             Player.SetStamina(Player.GetStamina() + FightOptionCosts[2]);
             return;
         }
         else
         {
             int Regen = Player.Inventory.Potions[Input].HealthRegen();
             if (Player.GetHP() + Regen > Player.GetMaxHP())
             {
                 Regen = Player.GetMaxHP() - Player.GetHP();
             }
             Player.SetHP(Player.GetHP() + Regen);
             string Update = "You recovered " + Regen + "HP!";
             IO.PlayerStamina(Player.GetStamina(), Player.GetStaminaMax());
             IO.PlayerHP(Player.GetHP(), Player.GetMaxHP());
             IO.GameUpdate(Update);
             IO.PlayerInventory(Player.Inventory);
         }
     }
     else
     {
         Player.SetStamina(Player.GetStamina() + FightOptionCosts[2]);
         string Update = "You don't have any Health Potions!";
         IO.GameUpdate(Update);
     }
 }
示例#3
0
        static int WhichEnemy()
        {
            List <string> EnemyList = new List <string>();

            foreach (EnemyNPC Enemy in EncounterNPCs)
            {
                EnemyList.Add(Enemy.Name);
            }
            int Input;

            if (EnemyList.Count > 1)
            {
                IO.Options(EnemyList);
                Input = MainClass.ChatInput(EnemyList.Count) - 1;
                IO.Options(null);
            }
            else
            {
                Input = 0;
            }
            return(Input);
        }
示例#4
0
        static void PlayerTurn()
        {
            bool TurnDone = false;

            while (!TurnDone)
            {
                List <string> ViableOptions = new List <string>();
                for (int x = 0; x < FightOptionCosts.Count; x++)
                {
                    if (Player.GetStamina() >= FightOptionCosts[x])
                    {
                        ViableOptions.Add(FightOptions[x]);
                    }
                }
                IO.Options(ViableOptions);
                int Input = MainClass.ChatInput(ViableOptions.Count) + (FightOptions.Count - ViableOptions.Count);
                IO.Options(null);
                int TargetEnemy = 0;
                switch (Input)
                {
                case 1:
                    if (Player.GetStamina() >= FightOptionCosts[Input - 1])
                    {
                        Player.SetStamina(Player.GetStamina() - FightOptionCosts[Input - 1]);
                        TargetEnemy = WhichEnemy();
                        AttackEnemy(TargetEnemy, "Heavy");
                    }
                    else
                    {
                        string Update = "Not Enough Stamina!";
                        IO.GameUpdate(Update);
                    }
                    break;

                case 2:
                    if (Player.GetStamina() >= FightOptionCosts[Input - 1])
                    {
                        Player.SetStamina(Player.GetStamina() - FightOptionCosts[Input - 1]);
                        TargetEnemy = WhichEnemy();
                        AttackEnemy(TargetEnemy, "Light");
                    }
                    else
                    {
                        string Update = "Not Enough Stamina!";
                        IO.GameUpdate(Update);
                    }
                    break;

                case 3:
                    if (Player.GetStamina() >= FightOptionCosts[Input - 1])
                    {
                        Player.SetStamina(Player.GetStamina() - FightOptionCosts[Input - 1]);
                        HealthPotion();
                    }
                    else
                    {
                        string Update = "Not Enough Stamina!";
                        IO.GameUpdate(Update);
                    }
                    break;

                case 4:
                    TurnDone = true;
                    break;

                default:
                    break;
                }
                IO.PlayerStamina(Player.GetStamina(), Player.GetStaminaMax());
                if (!TurnDone)
                {
                    TurnDone = CheckFightStatus();
                    if (!TurnDone && Player.GetStamina() < 3)
                    {
                        TurnDone = true;
                        Thread.Sleep(Settings.GetPauseTime());
                    }
                }
            }
            Player.SetStamina(Player.GetStaminaMax());
            IO.PlayerStamina(Player.GetStamina(), Player.GetStaminaMax());
        }