Exemplo n.º 1
0
        public static void LootAction()
        {
            Random randomiser = new Random();

            if (randomiser.Next(10) > 5 - user.actor.skills[5].value / 4)
            {
                TakeItem.Take(randomiser.Next(1, 4));

                user.actionWindow.fxResultOfAction.AppendText("Дата и время: " + user.world.dateTime.ToString() + "\n" +
                                                              "Поиски увенчались успехом! Найдено: " +
                                                              user.actor.inventory[user.actor.inventory.Count - 1].GetName() + "\n\n");
            }
            else
            {
                user.actionWindow.fxResultOfAction.AppendText("Дата и время: " + user.world.dateTime.ToString() + "\n" +
                                                              "Тут ничего не удалось найти ничего полезного.\n\n");
            }
            user.actor.Hunger  -= 6;
            user.actor.Thirst  -= 5;
            user.actor.Sleep   -= 3;
            user.actor.Stamina -= 5;

            user.actionWindow.fxResultOfAction.ScrollToCaret();
            TimeFlow.AddMinutes(30);
        }
Exemplo n.º 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);
        }
Exemplo n.º 3
0
        public static void MoveInLocation(int distance, int zoneID)
        {
            user.actor.zone = user.actor.location.GetListOfZones()[zoneID];

            user.actor.Hunger  -= distance * 2;
            user.actor.Thirst  -= distance * 5;
            user.actor.Sleep   -= 3;
            user.actor.Stamina -= (distance * 10) - (user.actor.skills[2].value * 2);

            TimeFlow.AddMinutes((distance * 1000) / (user.actor.skills[2].value * 10 + 1));
        }
Exemplo n.º 4
0
        public static void HuntAction(String priorety, int ID, int powerCondition, int agilityCondition, int staminaCondition)
        {
            Random randomiser = new Random();

            int powerResult   = user.actor.skills[0].value - powerCondition;
            int agilityResult = user.actor.skills[1].value - agilityCondition;
            int staminaResult = user.actor.skills[2].value - staminaCondition;

            if (priorety.Equals("Ловкость"))
            {
                if (randomiser.Next(10) > 5 - agilityResult - (staminaResult / 2))
                {
                    TakeItem.Take(ID);

                    user.actionWindow.fxResultOfAction.AppendText("Дата и время: " + user.world.dateTime.ToString() + "\n" +
                                                                  "Охота успешна! Добыто: " +
                                                                  user.actor.inventory[user.actor.inventory.Count - 1].GetName() + "\n\n");
                }
                else
                {
                    user.actionWindow.fxResultOfAction.AppendText("Дата и время: " + user.world.dateTime.ToString() + "\n" +
                                                                  "Охота не удалась - ничего не добыто.\n\n");
                }
                user.actor.Hunger  -= 10 - (agilityResult + staminaResult) / 2;
                user.actor.Thirst  -= 20 - (agilityResult + staminaResult) / 2;
                user.actor.Sleep   -= 3;
                user.actor.Stamina -= 20 - (agilityResult + staminaResult) / 2;
            }
            else if (priorety.Equals("Сила"))
            {
                if (randomiser.Next(10) > 5 - agilityResult - (staminaResult / 2))
                {
                    TakeItem.Take(ID);
                }
                else
                {
                }
            }
            user.actionWindow.fxResultOfAction.ScrollToCaret();
            TimeFlow.AddMinutes(30);
        }