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); }
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); }