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