コード例 #1
0
ファイル: Serializer.cs プロジェクト: Qnbie/Clubotchi
        public List <Action> actions(RacesEnum race)
        {
            //read the file
            var           path   = Directory.GetCurrentDirectory() + "//SavedActions.json";
            StreamReader  reader = new StreamReader(path);
            List <Action> tmp    = JsonSerializer.Deserialize <List <Action> >(reader.ReadToEnd());

            reader.Close();

            //choose for the given class
            List <Action> actions = new List <Action>();

            foreach (Action action in tmp)
            {
                if (action.race.Contains(race))
                {
                    actions.Add(action);
                }
            }
            return(actions);
        }
コード例 #2
0
        public Character(RacesEnum charRace, ClassesEnum charClass)
        {
            ClassModel charClassDefaults = Dictionaries.ClassDictionary.List[charClass.ToString()];
            RaceModel  charRaceDefaults  = Dictionaries.RacesDictionary.List[charRace.ToString()];
            var        languages         = Dictionaries.PHB.LanguagesDictionary.List;
            var        commonLanguages   = languages.Where(l => l.Value.Type == LanguageTypesEnum.Common).ToDictionary(i => i.Key, i => i.Value);
            var        skills            = Dictionaries.PHB.SkillsDictionary.List;
            Random     rng = new Random();

            //var parentClasses = Dictionaries.ClassDictionary.List.Where(c => c.Value.ParentClass == null).ToDictionary(i => i.Key, i => i.Value);

            this.classes.Add(charClass);
            this.feats = new List <string>()
            {
            };
            this.features = new List <string>()
            {
            };
            this.hitDice         = charClassDefaults.HitDice;
            this.hitPointCurrent = charClassDefaults.HitDice;
            this.hitPointMax     = charClassDefaults.HitDice;
            this.languages       = new List <string>()
            {
            };
            this.level  = 1;
            this.name   = "Huumon";
            this.race   = charRace;
            this.size   = charRaceDefaults.Size;
            this.skills = new List <string>()
            {
            };
            this.speed = charRaceDefaults.Speed;

            if (charRaceDefaults.Feats != null)
            {
                foreach (string feat in charRaceDefaults.Feats)
                {
                    this.feats.Add(feat);
                }
            }

            if (charRaceDefaults.Languages != null)
            {
                foreach (string item in charRaceDefaults.Languages)
                {
                    string lang = item;

                    //if (lang == "selectLanguage")
                    //{
                    //    while (this.Languages.Contains(lang) || lang == "selectLanguage")
                    //    {
                    //        lang = commonLanguages.Keys.ToArray()[rng.Next(0, commonLanguages.Count)];
                    //    }
                    //}

                    this.languages.Add(lang);
                }
            }

            if (charClassDefaults.SavingThrows != null)
            {
                foreach (var ability in charClassDefaults.SavingThrows.ToArray())
                {
                    this.savingThrows.Add(ability.ToString());
                }
            }

            if (charRaceDefaults.Skills != null)
            {
                foreach (string skill in charRaceDefaults.Skills)
                {
                    this.skills.Add(skill);
                }
            }

            if (charClass.ToString() == "barbarian")
            {
                var barbarian = Dictionaries.PHB.Classes.Barbarian.Levels[1];
                this.proficiencyBonus = barbarian.ProficiencyBonus;

                foreach (var feature in barbarian.Features)
                {
                    this.features.Add(feature);
                }
            }

            switch (charRace)
            {
            case RacesEnum.dragonbornBlack:
                break;

            case RacesEnum.dragonbornBlue:
                break;

            case RacesEnum.dragonbornBronze:
                break;

            case RacesEnum.dragonbornCopper:
                break;

            case RacesEnum.dragonbornGold:
                break;

            case RacesEnum.dragonbornGreen:
                break;

            case RacesEnum.dragonbornRed:
                break;

            case RacesEnum.dragonbornSilver:
                break;

            case RacesEnum.dragonbornWhite:
                break;

            case RacesEnum.dwarfGray:
                break;

            case RacesEnum.dwarfHill:
                break;

            case RacesEnum.dwarfMountain:
                break;

            case RacesEnum.elfDark:
                break;

            case RacesEnum.elfHigh:
                break;

            case RacesEnum.elfWood:
                break;

            case RacesEnum.gnome:
                break;

            case RacesEnum.halfElf:
                break;

            case RacesEnum.halfOrc:
                break;

            case RacesEnum.halfling:
                break;

            case RacesEnum.humanStandard:
                break;

            case RacesEnum.humanVariant:
                break;

            case RacesEnum.tiefling:
                break;

            default:
                break;
            }
        }
コード例 #3
0
        /// <summary>
        /// Méthode qui retourne une ObservableCollection d'Enums de monstres correspondants à l'Enum de Race donné
        /// </summary>
        /// <param name="CreaturesByRaceCollection"></param>
        /// <param name="SelectedRace"></param>
        /// <returns></returns>
        public static ObservableCollection <Enum> GetEnumCreatureListWithRace(Dictionary <RacesEnum, List <Enum> > CreaturesByRaceCollection, RacesEnum SelectedRace)
        {
            ObservableCollection <Enum> EnumCreaturesList = new ObservableCollection <Enum>();

            foreach (Enum creature in CreaturesByRaceCollection[SelectedRace])
            {
                EnumCreaturesList.Add(creature);
            }
            return(EnumCreaturesList);
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: ewl110/BlueStoneTavern
        static void Main()
        {
            var abilityList = AbilitiesDictionary.List;
            var weaponList  = Dictionaries.PHB.Classes.Barbarian.BerserkerLevels;
            var barbarian   = Dictionaries.PHB.Classes.Barbarian.TotemWarriorLevels;

            //foreach (var item in weaponList.Keys)
            //{
            //    Console.WriteLine($"{item} - {abilityList[item].Name}");
            //}

            //foreach (var item in abilityList.Values)
            //{
            //    Console.WriteLine($"{item.Name} - {item.HasSavingThrow}");
            //}

            var classes = EnumUtil.GetValues <ClassesEnum>();
            var races   = EnumUtil.GetValues <RacesEnum>();

            Console.WriteLine("Select your race:");

            // Get enum descriptions
            foreach (var r in races)
            {
                Console.WriteLine(r.GetAttributeOfType <DescriptionAttribute>().Description);
            }

            string raceString = Console.ReadLine();
            // Get enum value from selected description and store it
            RacesEnum race = EnumUtil.GetValueFromDescription <RacesEnum>(raceString);

            Console.WriteLine($"\n\nSelect yoru class:");

            // Get enum descriptions
            foreach (var c in classes)
            {
                Console.WriteLine(c.GetAttributeOfType <DescriptionAttribute>().Description);
            }

            string classString = Console.ReadLine();
            // Get enum value from selected description and store it
            ClassesEnum charClass = EnumUtil.GetValueFromDescription <ClassesEnum>(classString);

            Console.WriteLine("\n\n");

            //Character character1 = new Character(race, charClass);
            Character character1 = new Character();

            Console.WriteLine(
                $"Name: {character1.Name}\n" +
                $"Level: {character1.Level}\n" +
                $"Race: {character1.Race}\n" +
                $"Class: {string.Join(", ", character1.Classes.ToArray())}\n" +
                $"Proficiency Bonus: +{character1.ProficiencyBonus}\n" +
                $"Hit Dice: d{character1.HitDice}\n" +
                $"HP: {character1.HitPointCurrent}/{character1.HitPointMax}\n" +
                $"Speed: {character1.Speed} ft.\n" +
                $"Size: {character1.Size}\n" +
                $"Skills: {string.Join(", ", character1.Skills.ToArray())}\n" +
                $"Languages: {string.Join(", ", character1.Languages.ToArray())}\n" +
                $"Feats: {string.Join(", ", character1.Feats.ToArray())}\n" +
                $"Features: {string.Join(", ", character1.Features.ToArray())}\n" +
                $"Savinbg Throws: {string.Join(", ", character1.SavingThrows.ToArray())}\n"
                );
        }