示例#1
0
        public static void UpdateNPC()
        {
            user.fightWindow.fxNPCIconPB.Image      = NPC.GetIcon();
            user.fightWindow.fxNPCNameLabel.Text    = NPC.GetName();
            user.fightWindow.fxNPCGroupLabel.Text   = NPC.GetGroup();
            user.fightWindow.fxNPCHealthPB.Value    = NPC.GetHealth();
            user.fightWindow.fxNPCHealthLabel.Text  = NPC.GetHealth().ToString();
            user.fightWindow.fxNPCStaminaPB.Value   = NPC.GetStamina();
            user.fightWindow.fxNPCStaminaLabel.Text = NPC.GetStamina().ToString();

            user.fightWindow.fxNPCParamsDGV.Rows.Clear();
            for (int i = 0; i < NPC.GetSkills().Count; i++)
            {
                user.fightWindow.fxNPCParamsDGV.Rows.Add();

                user.fightWindow.fxNPCParamsDGV.Rows[i].Cells[0].Value = NPC.GetSkills()[i].name;
                user.fightWindow.fxNPCParamsDGV.Rows[i].Cells[1].Value = NPC.GetSkills()[i].value;
            }
        }
示例#2
0
        private static void FightAttack()
        {
            if (ChanceToHit())
            {
                if (actionFromActor)
                {
                    NPC.EditHealth((actor.skills[0].value * -5));
                    actor.Stamina -= (50 - actor.skills[2].value * 4);

                    user.fightWindow.fxResultOfActionText.AppendText(actor.name + " нанёс удар " + NPC.GetName() + ".\n" +
                                                                     NPC.GetName() + " получен урон: " + actor.skills[0].value * 5 + ".\n\n");

                    if (NPC.GetHealth() == 0)
                    {
                        user.fightWindow.fxResultOfActionText.AppendText(actor.name + " убил " + NPC.GetName());
                        actor.inFight = false;
                        user.mainGameWindow.fxResumeFightBtn.Enabled = false;

                        user.fightWindow.fxAttackBtn.Enabled  = false;
                        user.fightWindow.fxDodgeBtn.Enabled   = false;
                        user.fightWindow.fxDefenceBtn.Enabled = false;
                        user.fightWindow.fxEscapeBtn.Enabled  = false;
                        user.fightWindow.fxLootNPCBtn.Visible = true;
                    }
                }
                else
                {
                    actor.Health -= NPC.GetSkills()[0].value * 5;
                    NPC.EditStamina(-50 - NPC.GetSkills()[2].value * -4);

                    user.fightWindow.fxResultOfActionText.AppendText(NPC.GetName() + " нанёс удар " + actor.name + ".\n" +
                                                                     actor.name + " получен урон: " + NPC.GetSkills()[0].value * 5 + ".\n\n");
                }
            }
            else
            {
                if (actionFromActor)
                {
                    user.fightWindow.fxResultOfActionText.AppendText(actor.name + " попытался нанести удар по " + NPC.GetName()
                                                                     + " но промахнулся.\n\n");

                    actor.Stamina -= (50 - actor.skills[2].value * 4);
                }
                else
                {
                    user.fightWindow.fxResultOfActionText.AppendText(NPC.GetName() + " попытался нанести удар по " + actor.name
                                                                     + " но промахнулся.\n\n");
                    NPC.EditStamina(-50 - NPC.GetSkills()[2].value * -4);
                }
            }
            user.fightWindow.fxResultOfActionText.ScrollToCaret();

            TimeFlow.AddMinutes(1);
        }