예제 #1
0
        private void btnAttack_Click(object sender, RoutedEventArgs e)
        {
            RPG.Tools.Combat2 c = new RPG.Tools.Combat2();
            c.AttackDefense();

            try
            {
                Armor a = new Armor();
                a.Energy        = 0;
                a.DefenseBonus  = 3;
                a.ArmorType     = ArmorTypes.Chain;
                a.ArmorHardness = HardnessScale.Silver;

                a.ArmorSlot = ArmorSlots.Body;
                player.EquipItem(a);

                a.ArmorType = ArmorTypes.Plate;
                a.ArmorSlot = ArmorSlots.Hands;
                player.EquipItem(a);

                a.ArmorSlot = ArmorSlots.Body;
                SelectedDefender.EquipItem(a);

                a.ArmorSlot = ArmorSlots.Head;
                SelectedDefender.EquipItem(a);


                int blunt = SelectedDefender.BluntResist;

                int energy = player.MaxEnergy;

                Weapon w = (Weapon)player.EquipedWeapons[WeaponSlots.PrimaryHand];
                string attackString;
                int    damage;

                damage = Combat.AttackUnit(player, SelectedDefender, w);

                if (damage == 0)
                {
                    attackString = "The attack missed!";
                }
                else
                {
                    attackString = "The attack hit and dealt: " + damage.ToString() + " damage!";
                }



                PrintToScreen(attackString, Brushes.Red);
                //rtxtCommandLineOutput.AppendText(attackString);

                //if(NetManager.Client != null)
                //    NetManager.Client.BroadcastMessage(Players.Client, attackString);



                TargetLevels.HP = SelectedDefender.HitPoints;

                //TargetLevels.lblHP.Content = "HP: " + SelectedDefender.HitPoints.ToString() + " / " + SelectedDefender.MaxHitPoints.ToString();
                ////DefenderHPBar.Value += damage;

                //TargetLevels.HPBar.Value = SelectedDefender.MaxHitPoints - SelectedDefender.HitPoints;

                ////Storyboard sb = (Storyboard)FindResource("sbProg");

                //if (DefenderHPBar.Value >= SelectedDefender.MaxHitPoints)
                //{
                //    DefenderHPBar.Value = SelectedDefender.MaxHitPoints;
                //    Storyboard sb = (Storyboard)FindResource("sbProg");
                //    sb.Begin(this);

                //    //DefenderHPBar.BeginAnimation(DefenderHPBar.Value, )


                //}


                //Command.Execute.Attack(player, SelectedDefender, new RPG.Items.Weapon());

                //player.RefreshEffects();
                //string effectsString = string.Empty;

                //if(player.CurrentEffects.Count == 0)
                //    rtxtCommandLineOutput.AppendText("No Current Effects" + "\r");
                //else
                //{
                //    foreach (RPG.Effects.Effect effect in player.CurrentEffects)
                //    {
                //        effectsString += "Effect: " + effect.Name + ": " + effect.Description + "TTL: " + effect.TTL.ToString() + "\r";
                //    }
                //}

                //rtxtCommandLineOutput.AppendText(effectsString);
                rtxtCommandLineOutput.ScrollToEnd();

                FillPlayerInfo();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }