Exemplo n.º 1
0
        public void Init()
        {
            LanguageManager.instance.Add("norse", StarNames.Generate(Rand.Next(1000000)));
            LanguageManager.instance.Add("pagan", StarNames.Generate(Rand.Next(1000000)));

            Script s = new Script();

            script = s;
            s.Name = Globals.ModDir + "common\\cultures\\00_cultures.txt";
            s.Root = new ScriptScope();
            CultureGroupParser r = AddCultureGroup("barbarian");

            //  r.Init();
            AllCultureGroups.Add(r);

            var cul = r.AddCulture("norse");

            cul.dna       = CulturalDnaManager.instance.GetNewFromVanillaCulture();
            cul.dna.horde = false;
            //   cul.dna.horde = false;
            cul.DoDetailsForCulture();

            //    cul.Init();
            cul.Name = cul.Scope.Name;
            CultureMap[cul.Scope.Name] = cul;
            AllCultures.Add(cul);
            s.Save();
        }
Exemplo n.º 2
0
        public ReligionParser BranchReligion(string religion, ProvinceParser capital = null)
        {
            var rel   = this.ReligionMap[religion];
            var group = rel.Group;

            if (rel.Group.Religions.Count > 3 && Rand.Next(2) == 0)
            {
                String name = StarNames.Generate(capital.Title.culture);
                String safe = StarNames.SafeName(name);
                LanguageManager.instance.Add(safe, name);
                group = AddReligionGroup(safe);
                var rel2 = group.AddReligion(StarNames.Generate(capital.Title.culture));
                rel2.RandomReligionProperties();
                //rel2.Init(Rand.Next(255), Rand.Next(255), Rand.Next(255));
                rel2.CreateRandomReligion(group);
                return(rel2);
            }
            else
            {
                var rel2 = group.AddReligion(StarNames.Generate(capital.Title.culture));
                //rel2.Init(Rand.Next(255), Rand.Next(255), Rand.Next(255));
                rel2.RandomReligionProperties();
                rel2.CreateRandomReligion(group);
                rel2.Mutate(rel, capital.Title.Culture, 6);
                return(rel2);
            }
        }
Exemplo n.º 3
0
        public ReligionParser BranchReligion(string religion, String culture)
        {
            var rel      = ReligionMap[religion];
            var group    = rel.Group;
            int totCount = 0;

            foreach (var religionParser in rel.Group.Religions)
            {
                totCount += religionParser.Provinces.Count;
            }

            if (CultureManager.instance.allowMultiCultureGroups)
            {
                var rell = StarNames.Generate(culture);

                while (instance.ReligionMap.ContainsKey(StarNames.SafeName(rell)))
                {
                    rell = StarNames.Generate(culture);
                }

                var rel2 = group.AddReligion(rell);

                rel2.CreateNewReligion();

                rel2.Mutate(rel, CultureManager.instance.CultureMap[culture], 6);

                return(rel2);
            }

            else
            {
                String name = StarNames.Generate(culture);
                String safe = StarNames.SafeName(name);

                while (instance.GroupMap.ContainsKey(safe))
                {
                    name = StarNames.Generate(culture);
                    safe = StarNames.Generate(culture);
                }

                LanguageManager.instance.Add(safe, name);

                group = AddReligionGroup(safe);

                name = StarNames.Generate(culture);

                while (instance.ReligionMap.ContainsKey(safe))
                {
                    name = StarNames.Generate(culture);
                    safe = StarNames.SafeName(name);
                }

                var rel2 = group.AddReligion(name);

                rel2.CreateNewReligion();

                return(rel2);
            }
        }
Exemplo n.º 4
0
        public String Add(String key, String english)
        {
            if (english == null || english.Length == 1)
            {
                english = StarNames.Generate(Rand.Next(45645546));
            }

            this.english[key]           = english;
            this.english[key + "_adj"]  = english;
            this.english[key + "_desc"] = english;
            return(english);
        }
Exemplo n.º 5
0
        public void Init()
        {
            LanguageManager.instance.Add("urtru", StarNames.Generate(Rand.Next(1000000)));

            Script s = new Script();

            script = s;
            s.Name = Globals.ModDir + "common\\religions\\00_religions.txt";
            s.Root = new ScriptScope();

            ReligionGroupParser r = AddReligionGroup("urtru");

            r.Init();

            var firstReligion = r.AddReligion("urtru");

            firstReligion.CreateNewReligion();

            AllReligionGroups.Add(r);
        }
Exemplo n.º 6
0
        public void Init()
        {
            LanguageManager.instance.Add("norse", StarNames.Generate(Rand.Next(1000000)));
            LanguageManager.instance.Add("pagan", StarNames.Generate(Rand.Next(1000000)));
            LanguageManager.instance.Add("christian", StarNames.Generate(Rand.Next(1000000)));

            Script s = new Script();

            script = s;
            s.Name = Globals.ModDir + "common\\religions\\00_religions.txt";
            s.Root = new ScriptScope();
            ReligionGroupParser r = AddReligionGroup("pagan");

            r.Init();
            var pagan = r.AddReligion("pagan");

            pagan.CreateRandomReligion(null);

            AllReligionGroups.Add(r);
        }
Exemplo n.º 7
0
        public void CreateSocietyForReligion(ReligionParser r, string c, ScriptScope scope, Template template)
        {
            var lang = StarNames.Generate(c);

            switch (Rand.Next(5))
            {
            case 0:
                lang = "The " + lang + " Order";
                break;

            case 1:
                lang = "Children of " + lang;
                break;

            case 2:
                lang = "Way of " + lang;
                break;

            case 3:
                lang = "Society of " + lang;
                break;

            case 4:
                lang = "Sons of " + lang;
                break;
            }

            var         name       = lang.AddSafe();
            ScriptScope newSociety = new ScriptScope(name);
            var         temp       = Societies[template.ToString()];

            Societies[name] = newSociety;
            contextName     = name;
            contextReligion = r;

            CreateAssassinTemplate(Scripts[0].Root, ScripterTriggerManager.instance.script.Root, name, r);

            (Scripts[0].Root.Children[Scripts[0].Root.Children.Count - 1] as ScriptScope).Tag1 = r;

            //   newSociety.FillFrom(temp, new ScriptScope.CopyDelegate(SocietyModify));
        }
Exemplo n.º 8
0
        public void DoLeader(ProvinceParser capital)
        {
            String popeName = StarNames.SafeName(StarNames.Generate(10000000));

            LanguageManager.instance.Add(popeName, StarNames.Generate(10000000));

            TitleParser title = null;

            switch (Rand.Next(3))
            {
            case 0:
                title = TitleManager.instance.CreateKingScriptScope(capital, Name);
                break;

            case 1:
                title = TitleManager.instance.CreateEmpireScriptScope(capital, Name);
                break;

            case 2:
                title = TitleManager.instance.CreateDukeScriptScope(capital, Name);
                break;
            }

            ReligiousHeadTitle           = title;
            ReligiousHeadTitle.Religious = true;
            ReligiousHeadTitle.Active    = true;
            //  ch.UpdateCultural();
            var ch = SimulationManager.instance.AddCharacterForTitle(ReligiousHeadTitle, true);

            ch.religion = Name;
            ch.UpdateCultural();
            var liege = ReligiousHeadTitle.CapitalProvince.Title;

            if (Rand.Next(3) == 0)
            {
                ch.GiveTitle(ReligiousHeadTitle.CapitalProvince.Title);
            }
            String religious_names = "";

            for (int n = 0; n < 40; n++)
            {
                religious_names = CultureManager.instance.CultureMap[ch.culture].dna.GetMaleName() + " ";
            }
            title.Scope.Do(@"

	        title = """     + popeName + @"""
	        foa = ""POPE_FOA""
	        short_name = yes
	        location_ruler_title = yes
	        landless = yes
	        controls_religion = """     + Name + @"""
	        religion = """     + Name + @"""
	        primary = yes
	        dynasty_title_names = no
	        male_names = {
			        "             + religious_names + @"
        }

");



            LanguageManager.instance.Add(title.Name, this.LanguageName);
        }
Exemplo n.º 9
0
        public void DoLeader(ProvinceParser capital)
        {
            String popeName = StarNames.SafeName(StarNames.Generate(10000000));

            LanguageManager.instance.Add(popeName, StarNames.Generate(10000000));

            PopeName = popeName;
            TitleParser title = null;
            bool        bNew  = false;

            ReligiousHeadTitle = null;

            if (ReligiousHeadTitle == null)
            {
                bNew = true;

                switch (Rand.Next(8))
                {
                case 0:
                case 1:
                case 2:
                case 3:
                    title = TitleManager.instance.CreateKingScriptScope(capital, Name);
                    break;

                case 4:
                    title = TitleManager.instance.CreateEmpireScriptScope(capital, Name);
                    break;

                case 5:
                case 6:
                case 7:
                    title = TitleManager.instance.CreateDukeScriptScope(capital, Name);
                    break;
                }

                ReligiousHeadTitle = title;
            }

            ReligiousHeadTitle.Religious = true;
            ReligiousHeadTitle.Active    = true;
            ReligiousHeadTitle.religion  = Name;

            TitleManager.instance.ReligiousTitles.Add(ReligiousHeadTitle);

            if (bNew)
            {
                var ch = SimulationManager.instance.AddCharacterForTitle(ReligiousHeadTitle, true);
                ch.religion = Name;
                ch.UpdateCultural();
            }

            String religious_names = "";

            for (int n = 0; n < 40; n++)
            {
                religious_names = CultureManager.instance.CultureMap[ReligiousHeadTitle.Holder.culture].dna.GetMaleName() + " ";
            }

            ReligiousHeadTitle.Scope.Do(@"

	        title = """     + popeName + @"""
	        foa = ""POPE_FOA""
	        short_name = "     + (Rand.Next(2) == 0 ? "yes" : "no") + @"
	        location_ruler_title = "     + (Rand.Next(2) == 0 ? "yes" : "no") + @"
	        landless = "     + (bNew ? "yes" : "no") + @"
	        controls_religion = """     + Name + @"""
	        religion = """     + Name + @"""
	        primary = yes
	        dynasty_title_names = no
	    

");

            LanguageManager.instance.Add(ReligiousHeadTitle.Name, this.LanguageName);
        }
Exemplo n.º 10
0
        public void CreateSocietyDetails(string culture)
        {
            LanguageManager.instance.Add("secret_" + this.Name + "_society", "Secret " + LanguageName);
            LanguageManager.instance.Add("secret_religious_society_" + this.Name, "Secret " + LanguageName);
            LanguageManager.instance.Add("Secret_religious_society_" + this.Name, "Secret " + LanguageName);

            LanguageManager.instance.Add("secret_religious_society_" + this.Name + "_rank_1_male", StarNames.Generate(culture));
            LanguageManager.instance.Add("secret_religious_society_" + this.Name + "_rank_2_male", StarNames.Generate(culture));
            LanguageManager.instance.Add("secret_religious_society_" + this.Name + "_rank_3_male", StarNames.Generate(culture));
            LanguageManager.instance.Add("secret_religious_society_" + this.Name + "_rank_4_male", StarNames.Generate(culture));
            LanguageManager.instance.Add("secret_religious_society_" + this.Name + "_rank_1_female", StarNames.Generate(culture));
            LanguageManager.instance.Add("secret_religious_society_" + this.Name + "_rank_2_female", StarNames.Generate(culture));
            LanguageManager.instance.Add("secret_religious_society_" + this.Name + "_rank_3_female", StarNames.Generate(culture));
            LanguageManager.instance.Add("secret_religious_society_" + this.Name + "_rank_4_female", StarNames.Generate(culture));
            LanguageManager.instance.Add("secret_religious_society_" + this.Name + "_currency", StarNames.Generate(culture));

            LanguageManager.instance.Add("secret_religious_society_" + this.Name + "_desc", "Those who follow the true faith of " + LanguageName + " in secret.");

            ScripterTriggerManager.instance.AddTrigger(this);
            SocietyManager.instance.CreateSocietyForReligion(this, culture, null, SocietyManager.Template.the_assassins);
        }