Beispiel #1
0
        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)]);
        }
Beispiel #2
0
 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);
 }