Beispiel #1
0
        public void Attack(MobStats mobstats, Player player, Random rand, PlayerStats playerstats, TestDummy testdummy)
        {
            int mobInput;

            mobInput = rand.Next(1, 2);
            switch (Convert.ToString(mobInput))
            {
            case "1":
                Melee();
                break;

            default:
                Attack(mobstats, player, rand, playerstats, testdummy);
                break;
            }
            void Melee()
            {
                mobstats.RandomBaseMeleeDamage();
                int totalCritChance = mobstats.GetCritChance;
                int critChance      = rand.Next(0, 101);

                if (critChance <= totalCritChance)
                {
                    double crit = mobstats.GetMeleeDamage * 2;
                    playerstats.GetHealth -= crit;
                    if (playerstats.GetHealth < 0)
                    {
                        playerstats.GetHealth = 0;
                        Console.WriteLine(testdummy.GetName + " CRITICALLY damaged " + player.GetName + " for " + crit +
                                          ".");
                    }
                    else
                    {
                        Console.WriteLine(testdummy.GetName + " CRITICALLY damaged " + player.GetName + " for " + crit +
                                          ".");
                    }
                }

                else
                {
                    playerstats.GetHealth -= mobstats.GetMeleeDamage;
                    if (playerstats.GetHealth < 0)
                    {
                        playerstats.GetHealth = 0;
                        Console.WriteLine(testdummy.GetName + " damaged " + player.GetName + " for " + mobstats.GetMeleeDamage +
                                          ".");
                    }
                    else
                    {
                        Console.WriteLine(testdummy.GetName + " damaged " + player.GetName + " for " + mobstats.GetMeleeDamage +
                                          ".");
                    }
                }
            }
        }