Пример #1
0
        public void Apply(Hero hero, EntitiesManager manager)
        {
            var frostArmor  = new FrostArmor();
            var iceBlock    = new IceBlock();
            var defrosting  = new Defrosting();
            var holdTheLine = manager.SkillManager.Find("Hold the Line");

            hero.ReplaceEquipment(EquipmentName.Armor, EquipmentName.Weapon, WeaponType.Weapon_Spear);

            hero.LearnSkillEvenly(frostArmor);
            hero.LearnSkillEvenly(defrosting);
            hero.LearnSkillAt(iceBlock, 2);
            hero.UnlearnSkill(holdTheLine);

            manager.SkillManager.Stored.Add(frostArmor);
            manager.SkillManager.Stored.Add(defrosting);
            manager.SkillManager.Stored.Add(iceBlock);
        }
Пример #2
0
        private static CurrentSpell FrostMageCommands(Player mage)
        {
            ConsoleKeyInfo enter = new ConsoleKeyInfo();

            Console.Clear();

            var counter = 1;

            while (enter.Key != ConsoleKey.Enter)
            {
                if (enter.Key == ConsoleKey.DownArrow)
                {
                    counter++;
                }
                else if (enter.Key == ConsoleKey.UpArrow)
                {
                    counter--;
                }

                GameTitle.GetTitle();
                string actionSelect = $"SELECT ACTION FOR {mage.Name}";
                string frostArmor   = $"FROST ARMOR-- GET 150 ARMOR, LOWER PHYSICAL DAMAGE BY 20% FOR 2 TURNS, COST: 100 MANA, COOLDOWN: 3";
                string frostBolt    = $"FROST BOLT-- DAMAGE ENEMY FOR {mage.Spellpower * 2}, LOWER ENEMY PHYSICAL DAMAGE DONE BY 20% FOR 2 TURNS, COST: 90 MANA, NO COOLDOWN";
                string icyVeins     = $"ICY VEINS-- LOWER COOLDOWN ON ALL SPELLS BY 1 TURN, GET 50% MORE SPELLPOWER FOR NEXT 3 TURNS, COST: 250 MANA, COOLDOWN: 4";
                string frozenGround = $"FROZEN GROUND-- STUN ENEMY FOR 1 TURN AND DAMAGE HIM FOR 2 TURNS BY {mage.Spellpower}, COST: 150 MANA, COOLDOWN: 4";
                Console.WriteLine("{0}", actionSelect);
                switch (counter)
                {
                case 1:
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.WriteLine("{0,2}", "-> " + frostArmor);
                    Console.WriteLine("{0,2}", frostBolt);
                    Console.WriteLine("{0,2}", icyVeins);
                    Console.WriteLine("{0,2}", frozenGround); break;

                case 2:
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.WriteLine("{0,2}", frostArmor);
                    Console.WriteLine("{0,2}", "-> " + frostBolt);
                    Console.WriteLine("{0,2}", icyVeins);
                    Console.WriteLine("{0,2}", frozenGround); break;

                case 3:
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.WriteLine("{0,2}", frostArmor);
                    Console.WriteLine("{0,2}", frostBolt);
                    Console.WriteLine("{0,2}", "-> " + icyVeins);
                    Console.WriteLine("{0,2}", frozenGround); break;

                case 4:
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.WriteLine("{0,2}", frostArmor);
                    Console.WriteLine("{0,2}", frostBolt);
                    Console.WriteLine("{0,2}", icyVeins);
                    Console.WriteLine("{0,2}", "-> " + frozenGround); break;

                default:
                    if (counter == 5)
                    {
                        counter = 1;
                        Console.ForegroundColor = ConsoleColor.Blue;
                        Console.WriteLine("{0,2}", "-> " + frostArmor);
                        Console.WriteLine("{0,2}", frostBolt);
                        Console.WriteLine("{0,2}", icyVeins);
                        Console.WriteLine("{0,2}", frozenGround); break;
                    }
                    else if (counter == 0)
                    {
                        counter = 4;
                        Console.ForegroundColor = ConsoleColor.Blue;
                        Console.WriteLine("{0,2}", frostArmor);
                        Console.WriteLine("{0,2}", frostBolt);
                        Console.WriteLine("{0,2}", icyVeins);
                        Console.WriteLine("{0,2}", "-> " + frozenGround); break;
                    }
                    break;
                }
                enter = Console.ReadKey();
                Console.Clear();
            }
            var currentSpell = new CurrentSpell();

            switch (counter)
            {
            case 1:
                var frostArmor = new FrostArmor();
                currentSpell = frostArmor.GetFrostArmor(mage);
                break;

            case 2:
                var frostBolt = new FrostBolt();
                currentSpell = frostBolt.GetFrostBolt(mage);
                break;

            case 3:
                var icyVeins = new IcyVeins();
                currentSpell = icyVeins.GetIcyVeins(mage);
                break;

            default:
                var frozenGround = new FrozenGround();
                currentSpell = frozenGround.GetFrozenGround(mage);
                break;
            }

            return(currentSpell);
        }