public bool GenerateQuests() { configurationAdapter.LoadConfigs(_configRepository); var now = DateTime.Now; var refreshResult = _refreshingMechnism.GetRefreshStatus(RefreshOption.Quests, now); if (refreshResult.Status == RefresStatus.Ready) { _questRepository.Clear(_accountManagement.GetLoggedAccount().ID); List <Quest> quests = new List <Quest>(); for (int i = 1; i <= configurationAdapter.NumberOfQuests; i++) { quests.Add(GenerateFightQuest(GetRandomLevel(configurationAdapter.QuestGenerateChances), i)); } _questRepository.AddMany(quests, _accountManagement.GetLoggedAccount().ID); _refreshingMechnism.AddRefreshFactForLoggedAccount(RefreshOption.Quests, now); return(true); } else { return(false); } }
public bool ConvinceRecruit(Mercenary recruit) { configurationAdapter.LoadConfigs(_configRepository); var firstLevelMax = configurationAdapter.MercenaryConvinceChances[1]; var convinceValue = CalculateConvinceValue(recruit.Level); var convinceRandomValue = _randomizer.GetRandomValueInRange(1, firstLevelMax.MaxValue, "Recruits_convincing"); var convinced = convinceRandomValue <= convinceValue; if (convinced) { AddNewMercenary(recruit.CreateCharacter()); } _gifts.Values.ToList().ForEach(item => _inventoryManagement.RemoveItems(item.Identyficator, item.Amount)); _gifts.Clear(); _recruitsRepository.Remove(recruit, _accountManagement.GetLoggedAccount().ID); return(convinced); }