示例#1
0
        public Vic2Culture AddCulture(string eu4Culture, Vic2World vic2World, string vic2Name = null, string prefix = "", bool neoCulture = false)
        {
            if (vic2Name == "british_north_america")
            {
                Console.WriteLine();
            }
            var culture = new Vic2Culture(eu4Culture, vic2World, vic2Name, this, prefix, neoCulture);

            Cultures.Add(culture);
            return(culture);
        }
示例#2
0
        private Vic2Country(Vic2World world, string tag, IEnumerable <Vic2Country> cultureNations, Vic2Culture primaryCulture)
        {
            World           = world;
            CountryTag      = tag;
            IsVic2Country   = !world.ExistingCountries.Add(tag);
            IsCultureNation = true;
            if (!IsVic2Country)
            {
                Console.WriteLine($"Creating nation for {primaryCulture.DisplayName} culture... ({primaryCulture.Name})");
                GraphicalCulture = "Generic";
                world.Vic2Countries.Add(this);
                //setup
                Capital = 1;

                PrimaryCulture = primaryCulture.Name;

                // Name generator
                DisplayNoun = world.LocalisationHelper.GetSublist("culture_nation").GetString("noun").Replace("%CULTURE%", primaryCulture.DisplayName).Replace("\"", string.Empty);
                DisplayAdj  = world.LocalisationHelper.GetSublist("culture_nation").GetString("adj").Replace("%CULTURE%", primaryCulture.DisplayName).Replace("\"", string.Empty);
                if (primaryCulture.DisplayName.Last() == 'n' && "aeiu".Contains(primaryCulture.DisplayName[primaryCulture.DisplayName.Length - 2]))
                {
                    DisplayNoun = primaryCulture.DisplayName.Substring(0, primaryCulture.DisplayName.Length - 1);
                    //DisplayNoun = world.LocalisationHelper.GetSublist("culture_nation").GetString("noun").Replace("%CULTURE%", primaryCulture.DisplayName).Replace("\"", string.Empty);
                }
                else if (primaryCulture.DisplayName.Last() == 'n' && primaryCulture.DisplayName[primaryCulture.DisplayName.Length - 2] == 'o')
                {
                    //TODO: make this less of a hack
                    if (primaryCulture.DisplayName.EndsWith("eton"))
                    {
                        DisplayNoun = primaryCulture.DisplayName.Substring(0, primaryCulture.DisplayName.Length - 4) + "ittany";
                    }
                    else
                    {
                        DisplayNoun = primaryCulture.DisplayName + 'y';
                    }
                    DisplayAdj = primaryCulture.DisplayName;
                }
                else if (primaryCulture.DisplayName.Last() == 'a')
                {
                    DisplayNoun = primaryCulture.DisplayName;
                    DisplayAdj  = primaryCulture.DisplayName + 'n';
                }
                else if (primaryCulture.DisplayName.Last() == 'i')
                {
                    DisplayNoun = primaryCulture.DisplayName + 'a';
                }
                else if ("ou".Contains(primaryCulture.DisplayName.Last()))
                {
                    DisplayNoun = primaryCulture.DisplayName + "ria";
                }
                else if (primaryCulture.DisplayName.EndsWith("ese"))
                {
                    DisplayNoun = primaryCulture.DisplayName.Substring(0, primaryCulture.DisplayName.Length - 3);
                }
                else if (primaryCulture.DisplayName.Last() == 'e')
                {
                    DisplayNoun = primaryCulture.DisplayName;
                }
                else if (primaryCulture.DisplayName.Last() == 'r' && "aeiou".Contains(primaryCulture.DisplayName[primaryCulture.DisplayName.Length - 2]))
                {
                    DisplayNoun = primaryCulture.DisplayName + "ia";
                }


                AcceptedCultures  = new List <string>();
                PoliticalParties  = new List <PoliticalParty>();
                BasePartyModifier = new IdeologyModifier();
                foreach (var nation in cultureNations)
                {
                    BasePartyModifier += nation.BasePartyModifier;
                }

                FinalisePoliticalParties(world, BasePartyModifier);



                MapColour = primaryCulture.Colour;
                // the most common religion out of nations with that culture
                //Religion = cultureNations.GroupBy(c => c.Religion).Select(c => new {
                //	Name = c.Key, Count = c.Count()
                //}).OrderByDescending(x => x.Count).Select(x => x.Name).First();
                //
                ////most common government type
                //Government = cultureNations.GroupBy(c => c.Government).Select(c => new {
                //	Name = c.Key,
                //	Count = c.Count()
                //}).OrderByDescending(x => x.Count).Select(x => x.Name).First();
            }
        }
示例#3
0
 public Vic2Country(Vic2World world, string tag, Vic2Culture culture) : this(world, tag, world.Vic2Countries.Where(c => c.PrimaryCulture == culture.Name), culture)
 {
 }