Пример #1
0
        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);
        }