Пример #1
0
 public static BattleCharacter[] GenBaseTeam(IEnumerable <int> ids, BelongTeam team)
 {
     return(ids.Select(x =>
                       Content.Characters.TryGetValue(x, out var character)
             ? GenBaseCharacter(character, team)
             : throw new ArgumentException("not such character id::" + x)
                       ).ToArray());
 }
Пример #2
0
        public static BattleCharacter GenBaseCharacter(Character character, BelongTeam belongTeam)
        {
            var characterBattleBaseAttribute = GenBaseAttribute(character.BaseAttribute);
            var activeSkills = character.ActiveSkills.Select(x =>
                                                             Content.Activeskills.TryGetValue(x, out var activeSkill)
                    ? SkillsInConfig.ActiveSkills.TryGetValue(activeSkill.SkillKey, out var func)
                        ? func(activeSkill.CdMs, activeSkill.HarmMulti)
                        : throw new ArgumentException("not such active skill::" + activeSkill.SkillKey)
                    : throw new ArgumentException("not such active skill in config::" + x)
                                                             );

            var passiveSkills = character.PassiveSkills.Select(x =>
                                                               Content.Passiveskills.ContainsKey(x)
                    ? SkillsInConfig.PassiveSkills.TryGetValue(x, out var passiveSkill)
                        ? passiveSkill
                        : throw new ArgumentException("not such passive skill::" + x)
                    : throw new ArgumentException("not such passive skill in config::" + x)
                                                               );

            return(new BattleCharacter(KeyStatus.Alive, characterBattleBaseAttribute, activeSkills.ToArray(),
                                       passiveSkills.ToArray(), belongTeam, character.Name));
        }