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(); }
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); } }
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); } }
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); }
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); }
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); }
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)); }
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); }
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); }
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); }