public MainScreenCharacter(MainMenu menu, Classes.Character c, List <CharacterClass> cClass, bool delete)
        {
            this.menu = menu;
            character = c;
            InitializeComponent();

            if (c.GetImage().Count() > 1)
            {
                using (MemoryStream ms = new MemoryStream(c.GetImage()))
                {
                    BitmapDecoder decoder = BitmapDecoder.Create(ms,
                                                                 BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad);
                    image.Source = decoder.Frames[0];
                }
            }


            lblName.Content = c.GetName();

            foreach (CharacterClass cl in cClass)
            {
                if (cl.GetId() == c.GetClass())
                {
                    lblClass.Content = cl.GetName();
                }
            }
            lblLevel.Content += c.GetLevel().ToString();

            if (!delete)
            {
                btnDelete.Visibility = Visibility.Hidden;
            }
        }
Esempio n. 2
0
        public int Attack(Classes.Character attacker, Classes.Character target)
        {
            int damage = ((int)Math.Floor(attacker.Stats.ATK) * 2) - (int)Math.Floor(target.Stats.DEF);

            if (damage < 0)
            {
                damage = 0;
            }

            if (target.Lives - damage < 0)
            {
                target.Lives = 0;
            }
            else
            {
                target.Lives -= damage;
            }

            if (attacker.Stats.MP - 10 < 0)
            {
                attacker.Stats.MP       = 0;
                attacker.AttackBehavior = new BasicAttackBehavior();
            }
            else
            {
                attacker.Stats.MP -= 10;
            }

            return(damage);
        }
Esempio n. 3
0
        public int Attack(Classes.Character attacker, Classes.Character target)
        {
            int damage = (int)Math.Floor(attacker.Stats.ATK) - (int)Math.Floor(target.Stats.DEF);

            if (damage < 0)
            {
                damage = 0;
            }

            if (target.Lives - damage < 0)
            {
                target.Lives = 0;
            }
            else
            {
                target.Lives -= damage;
            }

            return(damage);
        }
Esempio n. 4
0
 public void Attack(Classes.Character attacker, Classes.Character target)
 {
     target.Stats.HP -= (attacker.Stats.ATK * 2) - target.Stats.DEF;
 }