Exemple #1
0
        private int GetRandomLevel(Dictionary <int, ChanceRange> questLevelChances)
        {
            var randomValue = _randomizer.GetRandomValueInRange(1, questLevelChances[1].MaxValue, "Quest_level_chance");
            int level       = 1;

            for (int j = 1; j <= 4; j++)
            {
                if (randomValue < questLevelChances[j].Value)
                {
                    level = j;
                }
            }
            return(level);
        }
Exemple #2
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);
        }
Exemple #3
0
        private int CalculateDamage(ICharacterInTeam attacker, ICharacterInTeam defender)
        {
            var attack_value = _randomizer.GetRandomValueInRange(attacker.getMin_Att(), attacker.getMax_Att(), "Attack");

            return(attack_value > defender.getDef() ? attack_value - defender.getDef() : 0);
        }