Esempio n. 1
0
        public override void LevelUp()
        {
            if (Level == 10)
            {
                return;
            }
            base.LevelUp();

            basic        = new BasicSpell("Missiles", this);
            intermediate = new IntermediateSpell(Level >= 5 ? "Lightning Storm" : "Lightning Bolt", this);
            advanced     = new AdvancedSpell("Arcane Scream", this);

            if (Level >= 2)
            {
                if (Level == 9)
                {
                    basic = new AmplifyAttack(basic, 3);
                    basic.UpdateDamage(this);
                }
                basic = new Repeater(basic, 2);
                basic.UpdateDamage(this);
            }

            if (Level >= 5)
            {
                intermediate = new AreaOfEffect(intermediate);
                intermediate.UpdateDamage(this);
                advanced = new Repeater(advanced, 5);
                advanced.UpdateDamage(this);
            }
        }
 private void TryCastSpell(BasicSpell spell, BasicTarget target)
 {
     if (!spell.Cast(target))
     {
         MessageBox.Show($"You can not cast this spell with your current mana!");
     }
 }
Esempio n. 3
0
        public static void Initialize()
        {
            AllDrawableItems = new List <DrawableObject>();

            AllEnemies = new List <Enemy>();

            for (int i = 0; i < 6; i++)
            {
                var arrow = new Arrows(new Vector2(0, 0));
                arrow.IsAlive = false;
                AllDrawableItems.Add(arrow);
            }
            for (int i = 0; i < 6; i++)
            {
                var basicSpell = new BasicSpell(new Vector2(0, 0));
                basicSpell.IsAlive = false;
                AllDrawableItems.Add(basicSpell);
            }
            for (int i = 0; i < 6; i++)
            {
                var arrow = new MageSpell(new Vector2(0, 0));
                arrow.IsAlive = false;
                AllDrawableItems.Add(arrow);
            }

            AllDrawableItems.Add(new Wall(new Rectangle(180, 0, 16, 435)));
            AllDrawableItems.Add(new Wall(new Rectangle(180, 435, 32, 32)));
            AllDrawableItems.Add(new Wall(new Rectangle(445, 240, 8, 360)));
            AllDrawableItems.Add(new Wall(new Rectangle(708, 0, 13, 435)));
            AllDrawableItems.Add(new Wall(new Rectangle(692, 435, 25, 32)));

            AllDrawableItems.Add(new Wall(new Rectangle(0, 0, 800, 0)));
            AllDrawableItems.Add(new Wall(new Rectangle(0, 675, 800, 675)));
            AllDrawableItems.Add(new Wall(new Rectangle(875, 0, 875, 600)));
            AllDrawableItems.Add(new Wall(new Rectangle(0, 0, 0, 600)));

            AllDrawableItems.Add(new Cursor(new Vector2(150, 250)));

            AllEnemies.Add(new EasyEnemy(new Vector2(rnd.Next(600, 700), rnd.Next(300, 500))));
        }
Esempio n. 4
0
        public override void LevelUp()
        {
            if (Level == 10)
            {
                return;
            }
            base.LevelUp();

            basic        = new BasicSpell("Missiles", this);
            intermediate = new IntermediateSpell("Lightning Bolt", this);
            advanced     = new AdvancedSpell("Arcane Scream", this);

            if (Level >= 2)
            {
                basic = new Repeater(basic, 2);
                basic.UpdateDamage(this);
            }

            if (Level >= 5)
            {
                advanced = new Repeater(advanced, 5);
                advanced.UpdateDamage(this);
            }
        }