示例#1
0
 public Equipment(string name, Characteristics characs, int armor, DmgDiap dmg, int type)
 {
     ModifCharacs = characs;
     Armor = armor;
     Damage = dmg;
     Name = name;
     Equipped = false;
     Type = type;
 }
示例#2
0
文件: Person.cs 项目: CrazyTiger/Test
        public Person(Characteristics ch, string name, int race)
        {
            Name = name;
            Race = race;
            _level = 1;
            Exp = 0;
            Gold = 0;
            Characs = new Characteristics(ch.Strength, ch.Agility, ch.Stamina, ch.Intelligence, ch.Reaction, ch.Luck,
                                          ch.Rage, ch.OberegEvade, ch.OberegAnswer, ch.OberegLuck, ch.OberegCrit);

            Inventory = new List<Equipment>();

            MaxHealth = Characs.Stamina * 5 + 10;
            MaxMana = Characs.Intelligence * 5;

            Damage = new DmgDiap {LowDmg = 1, HighDmg = Characs.Strength};

            AirMastery = 0;
            ArmorMastery = 0;
            AstralMastery = 0;
            EarthMastery = 0;
            FireMastery = 0;
            NecroMastery = 0;
            SaintMastery = 0;
            WaterMastery = 0;
            WeaponMastery = 0;

            Armor = 0;
            Regen = Characs.Stamina / 3 + 1;
            ManaRegen = Characs.Intelligence / 5;

            WarRegen = Characs.Stamina / 9;
            WarManaRegen = Characs.Intelligence / 15;

            CurrHealth = MaxHealth;
            CurrMana = MaxMana;

            spellbook = new Spellbook();
            if (race == (int)eTypeRace.Elf || race == (int)eTypeRace.Halffinger || race == (int)eTypeRace.Dwarf)
                spellbook.AddSpells(1, 1, "FireArrow");
        }
示例#3
0
        public Equipment(string name)
        {
            ModifCharacs = new Characteristics();
            Armor = 0;
            Damage = new DmgDiap();
            Name = name;
            Equipped = false;
            Type = (int)eTypeThing.Empty;

            ModifCharacs = new Characteristics
                               {
                                   Strength = 0,
                                   Agility = 0,
                                   Stamina = 0,
                                   Intelligence = 0,
                                   Reaction = 0,
                                   Luck = 0,
                                   Rage = 0,
                                   OberegEvade = 0,
                                   OberegAnswer = 0,
                                   OberegLuck = 0,
                                   OberegCrit = 0
                               };
        }
示例#4
0
文件: Person.cs 项目: CrazyTiger/Test
        public void RefreshStats()
        {
            MaxHealth = GetMaxHealth();
            MaxMana = GetMaxMana();

            Damage = GetDamage();
            Armor = GetArmor();

            Regen = GetStamina() / 3 + 1;
            ManaRegen = GetIntelligence() / 5;

            WarRegen = GetStamina() / 9;
            WarManaRegen = GetIntelligence() / 15;

            CurrHealth = MaxHealth;
            CurrMana = MaxMana;
        }
示例#5
0
文件: Person.cs 项目: CrazyTiger/Test
 public DmgDiap GetDamage()
 {
     var dmg = new DmgDiap { LowDmg = 1, HighDmg = GetStrength() };
     if (Inventory != null)
         foreach (var elem in Inventory)
         {
             if (elem.Equipped)
             {
                 if (elem.Type == (int)eTypeThing.Weapon)
                 {
                     dmg.LowDmg += elem.Damage.LowDmg;
                     dmg.HighDmg += elem.Damage.HighDmg;
                 }
             }
         }
     return dmg;
 }
示例#6
0
        public void Generate(int rating)
        {
            var rand = new Random(rating);

            Type = (int)(rand.NextDouble() * 1000) % 10 + 1;

            switch (Type)
            {
                case (int) eTypeThing.Weapon:
                    var values = new byte[2];
                    rand.NextBytes(values);
                    var rand1 = new Random(rating);
                    var TypeWeapon = (int) (rand.NextDouble()*10000) % 7 + 1;
                    switch (TypeWeapon)
                    {
                        case (int)eTypeWeapon.Axe:
                            Name = "Axe";
                            Damage = new DmgDiap { LowDmg = 12 * (values[0] % rating) / 10, HighDmg = 13 * (values[0] % rating + values[1] % rating) / 10 };
                            break;
                        case (int)eTypeWeapon.BattleAxe:
                            Name = "BattleAxe";
                            Damage = new DmgDiap { LowDmg = 3 * (values[0] % rating) / 2, HighDmg = 5 * (values[0] % rating + values[1] % rating) / 2 };
                            break;
                        case (int)eTypeWeapon.Dagger:
                            Name = "Dagger";
                            Damage = new DmgDiap { LowDmg = 8 * (values[0] % rating) / 10, HighDmg = 9 * (values[0] % rating + values[1] % rating) / 10 };
                            break;
                        case (int)eTypeWeapon.OneHSword:
                            Name = "One-Handed Sword";
                            Damage = new DmgDiap { LowDmg = values[0] % rating, HighDmg = values[0] % rating + values[1] % rating };
                            break;
                        case (int)eTypeWeapon.TwoHSword:
                            Name = "Two-Handed Sword";
                            Damage = new DmgDiap { LowDmg = 3 * (values[0] % rating) / 2, HighDmg = 2 * (values[0] % rating + values[1] % rating) };
                            break;
                        case (int)eTypeWeapon.Mace:
                            Name = "Mace";
                            Damage = new DmgDiap { LowDmg = 12 * (values[0] % rating) / 10, HighDmg = 3 * (values[0] % rating + values[1] % rating) / 2 };
                            break;
                        case (int)eTypeWeapon.Spear:
                            Name = "Spear";
                            Damage = new DmgDiap { LowDmg = values[0] % rating, HighDmg = 3 * (values[0] % rating + values[1] % rating) };
                            break;
                    }
                    Armor = 0;
                    break;
                case (int)eTypeThing.Helmet:
                    Name = "Helmet";
                    Damage = new DmgDiap { LowDmg = 0, HighDmg = 0 };
                    Armor = rand.Next(rating/4, rating/3) + 1;
                    break;
                case (int)eTypeThing.Body:
                    Name = "Body";
                    Damage = new DmgDiap { LowDmg = 0, HighDmg = 0 };
                    Armor = rand.Next(rating/2, rating) + 1;
                    break;
                case (int)eTypeThing.Legs:
                    Name = "Legs";
                    Damage = new DmgDiap { LowDmg = 0, HighDmg = 0 };
                    Armor = rand.Next(rating/3, rating/2) + 1;
                    break;
                case (int)eTypeThing.Boots:
                    Name = "Boots";
                    Damage = new DmgDiap { LowDmg = 0, HighDmg = 0 };
                    Armor = rand.Next(rating/4, rating/3) + 1;
                    break;
                case (int)eTypeThing.Arm:
                    Name = "Armguards";
                    Damage = new DmgDiap { LowDmg = 0, HighDmg = 0 };
                    Armor = rand.Next(rating/4, rating/3) + 1;
                    break;
                case (int)eTypeThing.Hands:
                    Name = "Hands";
                    Damage = new DmgDiap { LowDmg = 0, HighDmg = 0 };
                    Armor = rand.Next(rating/4, rating/3) + 1;
                    break;
                case (int)eTypeThing.Belt:
                    Name = "Belt";
                    Damage = new DmgDiap { LowDmg = 0, HighDmg = 0 };
                    Armor = rand.Next(rating/5, rating/4) + 1;
                    break;
                case (int)eTypeThing.Ring:
                    Name = "Ring";
                    Damage = new DmgDiap { LowDmg = 0, HighDmg = 0 };
                    Armor = 0;
                    break;
                case (int)eTypeThing.Necklace:
                    Name = "NeckLace";
                    Damage = new DmgDiap { LowDmg = 0, HighDmg = 0 };
                    Armor = 0;
                    break;
            }
            ModifCharacs.Generate(rating);

            if (Rating() < rating/2) Color = ConsoleColor.Gray;
            else if (Rating() < (int)(0.75*rating)) Color = ConsoleColor.Green;
            else if (Rating() < rating) Color = ConsoleColor.Cyan;
            else Color = ConsoleColor.Yellow;
        }
示例#7
0
文件: Events.cs 项目: CrazyTiger/Test
            public Enemy(int level)
            {
                byte[] values;

                do
                {
                    var rand = new Random();
                    values = new byte[7];
                    rand.NextBytes(values);

                    Characs = new Characteristics
                    {
                        Strength = values[0] % level + 1,
                        Agility = values[1] % level + 1,
                        Stamina = values[2] % level + 1,
                        Intelligence = values[3] % level + 1,
                        Reaction = values[4] % level + 1,
                        Luck = values[5] % level + 1,
                        Rage = values[6] % level + 1
                    };

                } while (values[2] % (level + 1) == 0 || Rating() > (level + 1) || Rating() < (level/2));

                Name = "Enemy";

                MaxHealth = 10 + Characs.Stamina * 5;
                MaxMana = Characs.Intelligence * 5;

                Damage = new DmgDiap { LowDmg = 1, HighDmg = Characs.Strength };

                Armor = 0;

                CurrHealth = MaxHealth;
                CurrMana = MaxMana;

                Exp = 0;
            }