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