public Skill CreateSkill(Player player) { List <Skill> playerSkills = player.ListOfSkills; List <Skill> tmp = new List <Skill>(); List <Skill> drawn = new List <Skill>(); AuraOfASword s1 = new AuraOfASword(); AxeThrow s2 = new AxeThrow(); EagleEye s3 = new EagleEye(); if (s1.MinimumLevel <= player.Level) { tmp.Add(s1); // check level requirements } if (s2.MinimumLevel <= player.Level) { tmp.Add(s2); } if (s3.MinimumLevel <= player.Level) { tmp.Add(s3); } foreach (Skill skill in playerSkills) // don't offer skills which the player knows already { if (skill is AuraOfASword) { tmp.Remove(s1); } if (skill is AxeThrow) { tmp.Remove(s2); } if (skill is EagleEye) { tmp.Remove(s3); } } if (tmp.Count == 0) { return(null); } return(tmp[Index.RNG(0, tmp.Count)]); }
public Marksman() { heroTexture = Engine.Engine.GetTexture("Hero/Marksman"); Hero.loadSprite(); heroRole = Classes.Marksman; baseHealth = 400; healthPerLevel = 55; canDuelWield = true; requiredBranchLevel = int.MaxValue; resetLevel(); resetHealth(); abilities[0] = new Mug(); abilities[1] = new Invisibility(); abilities[2] = new Volley(); abilities[3] = new SteadyShot(); abilities[4] = new Vault(); abilities[5] = new EagleEye(); Enemies.Enemy.UpdateTargets(this); Enemies.BossEnemy.UpdateBossTargets(this); }