public void Save() { if (SaveCultures) { script.Save(); } }
public void Save() { if (!SaveReligions) { return; } LanguageManager.instance.SetupReligionEventSubsitutions(); var list = new List <ScriptScope>(); foreach (var child in script.Root.Children) { list.AddRange((child as ScriptScope)?.Children.Where((o => o is ScriptScope)).Where(o => !((ScriptScope)o).Name.Contains("_names")).Cast <ScriptScope>()); } foreach (var religionParser in AllReligions) { if (religionParser.Provinces.Count > 0) { religionParser.CreateSocietyDetails(religionParser.Provinces[0].Culture.Name); } } foreach (var scriptScope in list) { String name = (scriptScope as ScriptScope)?.Name; if (AllReligions.All(c => c.Name != name)) { System.Console.Out.WriteLine("Cannot find " + name); } } script.Save(); }
public void Save() { Script s = new Script(); s.Name = Globals.GameDir + "map\\geographical_region.txt"; s.Root = new ScriptScope(); foreach (var region in regions) { ScriptScope ss = new ScriptScope(); String duchieList = ""; foreach (var titleParser in region.duchies) { duchieList = duchieList + " " + titleParser.Name; } ss.Name = StarNames.SafeName(region.name); ss.Do(@" duchies = { " + duchieList + @" } "); s.Root.Add(ss); } s.Save(); }
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 void CreateFromTemplate(Script s, String prefix, String targetFilename, Dictionary <String, String> convert) { s.Name = targetFilename; SearchReplace(s.Root, convert, prefix); s.Save(); Correct(s.Root, convert, prefix); }
public void Save() { if (title == null) { return; } if (Title == null) { return; } string dir = Globals.ModDir + "history\\provinces\\"; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } String provincesDir = Globals.MapDir + "history\\provinces\\" + id.ToString() + " - " + Name.Replace("c_", "") + ".txt"; Script s = new Script(); s.Root = new ScriptScope(); s.Name = provincesDir; s.Root.Add(new ScriptCommand("title", Name, s.Root)); s.Root.Add(new ScriptCommand("max_settlements", 3, s.Root)); if (Title.Holder == null) { foreach (var provinceParser in Adjacent) { if (provinceParser.title != null && provinceParser.Title.Holder != null) { s.Root.Add(new ScriptCommand("culture", provinceParser.Title.Holder.culture, s.Root)); s.Root.Add(new ScriptCommand("religion", provinceParser.Title.Holder.religion, s.Root)); break; } } } else { s.Root.Add(new ScriptCommand("culture", Title.Holder.culture, s.Root)); s.Root.Add(new ScriptCommand("religion", Title.Holder.religion, s.Root)); } if (MapManager.instance.LoadedTerrain.ContainsKey(id)) { s.Root.Add(new ScriptCommand("terrain", MapManager.instance.LoadedTerrain[id], s.Root)); } foreach (var barony in baronies) { s.Root.Add(new ScriptCommand(barony.title, barony.type, s.Root)); } s.Save(); }
public void Save() { foreach (var religionParser in AllReligions) { if (religionParser.ReligiousHeadTitle != null) { CharacterParser chr = CharacterManager.instance.GetNewCharacter(); chr.GiveTitle(religionParser.ReligiousHeadTitle); chr.religion = religionParser.Name; } } script.Save(); }
public void Save() { Script s = new Script(); s.Name = Globals.ModDir + "events\\gen_" + name + "_events.txt"; s.Root = new ScriptScope(); s.Root.Add(new ScriptCommand("namespace", nameSpace, s.Root)); foreach (var scriptScope in Events) { scriptScope.Value.Name = "character_event"; s.Root.Add(scriptScope.Value); } s.Save(); s = new Script(); s.Name = Globals.ModDir + "decisions\\gen_" + name + "_decisions.txt"; s.Root = new ScriptScope(); ScriptScope ss = new ScriptScope(); s.Root.Add(ss); ss.Name = "decisions"; // s.Root.Add(new ScriptCommand("namespace", nameSpace, s.Root)); foreach (var scriptScope in Decisions) { ScriptScope e = new ScriptScope(); scriptScope.Value.Name = scriptScope.Key; ss.Add(scriptScope.Value); } s.Save(); s = new Script(); s.Name = Globals.ModDir + "common\\traits\\03_zz_gen_" + name + "_traits.txt"; s.Root = new ScriptScope(); // s.Root.Add(new ScriptCommand("namespace", nameSpace, s.Root)); foreach (var scriptScope in Traits) { scriptScope.Value.Name = scriptScope.Key; s.Root.Add(scriptScope.Value); } s.Save(); }
public void Save() { if (title == null) return; if (Title == null) return; string dir = Globals.ModDir + "history\\provinces\\"; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } String provincesDir = Globals.MapDir + "history\\provinces\\" + id.ToString() + " - " + Name.Replace("c_", "") + ".txt"; Script s = new Script(); s.Root = new ScriptScope(); s.Name = provincesDir; s.Root.Add(new ScriptCommand("title", Name, s.Root)); s.Root.Add(new ScriptCommand("max_settlements", 3, s.Root)); if (Title.Holder == null) { foreach (var provinceParser in Adjacent) { if (provinceParser.title != null && provinceParser.Title.Holder != null) { s.Root.Add(new ScriptCommand("culture", provinceParser.Title.Holder.culture, s.Root)); s.Root.Add(new ScriptCommand("religion", provinceParser.Title.Holder.religion, s.Root)); break; } } } else { s.Root.Add(new ScriptCommand("culture", Title.Holder.culture, s.Root)); s.Root.Add(new ScriptCommand("religion", Title.Holder.religion, s.Root)); } if (MapManager.instance.LoadedTerrain.ContainsKey(id)) s.Root.Add(new ScriptCommand("terrain", MapManager.instance.LoadedTerrain[id], s.Root)); foreach (var barony in baronies) { s.Root.Add(new ScriptCommand(barony.title, barony.type, s.Root)); } s.Save(); }
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); s.Save(); }
public void Save() { return; Script eventScript = EventManager.instance.GetNewScript("ck2gen_societyEvents"); string interestedBlock = ""; foreach (var instanceSecretSociety in SocietyManager.instance.secretSocieties) { interestedBlock += "interested_in_society = " + instanceSecretSociety + "\n"; } eventScript.Root.Do($@" namespace = MNM character_event = {{ id = MNM.9910010 hide_window = yes is_triggered_only = yes trigger = {{ is_in_society = no OR = {{ {interestedBlock} }} }} immediate = {{ character_event = {{ id = MNM.9910011 days = 90 random = 640 }} }} }} character_event = {{ id = MNM.9910024 desc = EVTDESC_MNM_10024 picture = GFX_evt_ritual_scroll border = GFX_event_normal_frame_religion is_triggered_only = yes trigger = {{ NOT = {{ FROM = {{ any_society_member = {{ always = yes }} }} }} }} immediate = {{ set_character_flag = society_join_block }} option = {{ name = EVTOPTA_MNM_10024 join_society = FROM set_society_grandmaster = yes add_society_currency_massive_effect = yes clr_character_flag = society_join_block }} option = {{ name = EVTOPTB_MNM_10024 clr_character_flag = society_join_block }} }} " ); String interestedTrigger = ""; foreach (var instanceSecretSociety in SocietyManager.instance.secretSocieties) { interestedTrigger += $@" if = {{ limit = {{ interested_in_society = {instanceSecretSociety} NOT = {{ has_character_flag = ongoing_recruitment }} }} random_society_member = {{ limit = {{ society_member_of = {instanceSecretSociety} #is_within_diplo_range = ROOT is_society_grandmaster = no }} save_event_target_as = assassins_recruiter character_event = {{ id = MNM.9910012 }} }} }} "; } String monasticBlock = ""; foreach (var instanceSecretSociety in SocietyManager.instance.monasticSocieties) { monasticBlock += $@" society_member_of = {instanceSecretSociety} "; } eventScript.Root.Do($@" character_event = {{ id = MNM.9910011 hide_window = yes is_triggered_only = yes trigger = {{ is_in_society = no OR = {{ {interestedBlock} }} }} immediate = {{ {interestedTrigger} }} }} character_event = {{ id = MNM.994450 hide_window = yes is_triggered_only = yes trigger = {{ FROM = {{ leader = {{ OR = {{ {monasticBlock} }} }} }} }} immediate = {{ FROM = {{ leader = {{ character_event = {{ id = MNM.994451 }} }} }} }} }} character_event = {{ id = MNM.994451 hide_window = yes is_triggered_only = yes immediate = {{ FROM = {{ letter_event = {{ id = MNM.994452 }} }} }} }} letter_event = {{ id = MNM.994452 desc = EVTDESC_MNM_4452 border = GFX_event_letter_frame_religion is_triggered_only = yes immediate = {{ set_character_flag = society_join_block }} option = {{ name = EVTOPTA_MNM_44511 FROM = {{ ROOT = {{ join_prev_monastic_order_society = yes }} }} scaled_wealth = -0.25 clr_character_flag = society_join_block }} }} character_event = {{ id = MNM.99100 hide_window = yes is_triggered_only = yes trigger = {{ FROM = {{ leader = {{ society_member_of = hermetics }} }} }} immediate = {{ FROM = {{ leader = {{ character_event = {{ id = MNM.101 }} }} }} }} }} character_event = {{ id = MNM.9910012 hide_window = yes is_triggered_only = yes immediate = {{ FROM = {{ if = {{ limit = {{ NOT = {{ has_character_flag = ongoing_recruitment }} }} set_character_flag = assassins_attempted_recruitment set_character_flag = ongoing_recruitment character_event = {{ id = MNM.6022 }} }} }} }} }} "); eventScript.Save(); script.Save(); }
public void Save() { if (title == null) { return; } if (Title == null) { return; } if (!TitleManager.instance.Titles.Contains(Title)) { int gfdgfd = 0; } string dir = Globals.ModDir + "history\\provinces\\"; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } String provincesDir = Globals.MapDir + "history\\provinces\\" + id.ToString() + " - " + Title.Name.Replace("c_", "") + ".txt"; Script s = new Script(); s.Root = new ScriptScope(); s.Name = provincesDir; s.Root.Add(new ScriptCommand("title", Title.Name, s.Root)); s.Root.Add(new ScriptCommand("max_settlements", max_settlements, s.Root)); if (Culture != null) { s.Root.Add(new ScriptCommand("culture", initialCulture, s.Root)); s.Root.Add(new ScriptCommand("religion", initialReligion, s.Root)); } if (MapManager.instance.LoadedTerrain.ContainsKey(id)) { s.Root.Add(new ScriptCommand("terrain", MapManager.instance.LoadedTerrain[id], s.Root)); } int cc = 0; foreach (var barony in baronies) { if (baronies[0].type == "tribal" && barony.type != "temple" && cc > 0) { continue; } if (barony.enabled && cc == 0) { s.Root.Add(new ScriptCommand(barony.title, barony.type, s.Root)); } cc++; } var cities = baronies.Where(c => c.type == "city" && c.enabled); if (cities.Any()) { if (Adjacent.Where(o => !o.land).Count() > 0) { s.Root.Do(@"1.1.1 = { " + cities.First().title + @" = ct_port_1 }"); } } if (terrain != null) { s.Root.Add(new ScriptCommand("terrain", terrain, s.Root)); } foreach (var scriptScope in dateScripts) { s.Root.SetChild(scriptScope); } s.Save(); }
public void Save() { foreach (var cultureParser in CultureManager.instance.AllCultures) { if (cultureParser.Governments.Count == 0) { var gov = GovernmentManager.instance.CreateNewGovernment(cultureParser); } foreach (var government in cultureParser.Governments) { if (government.cultureAllow.Count == 0) { government.cultureAllow.Add(cultureParser.Name); } } if (!Government.cultureDone.Contains(cultureParser.Name)) { cultureParser.Governments.Add(GovernmentManager.instance.CreateNewGovernment(cultureParser)); } } if (!Directory.Exists(Globals.ModDir + "gfx\\interface\\")) Directory.CreateDirectory(Globals.ModDir + "gfx\\interface\\"); var files = Directory.GetFiles(Globals.ModDir + "gfx\\interface\\"); foreach (var file in files) { File.Delete(file); } foreach (var government in governments) { switch (government.type) { case "nomadic": try { File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_nomadic.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("government_", "") + ".dds"); } catch (Exception) { } SpriteManager.instance.AddGovernment(government); break; case "tribal": try { File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_tribal.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("government_", "") + ".dds"); } catch (Exception) { } SpriteManager.instance.AddGovernment(government); break; case "feudal": try { File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_feudal.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("government_", "") + ".dds"); } catch (Exception) { } SpriteManager.instance.AddGovernment(government); break; case "theocracy": try { File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_theocracy.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("government_", "") + ".dds"); } catch (Exception) { } SpriteManager.instance.AddGovernment(government); break; case "republic": try { File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_republic.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("government_", "") + ".dds"); } catch (Exception) { } SpriteManager.instance.AddGovernment(government); break; } } Script s = new Script(); s.Name = Globals.ModDir + "common\\governments\\nomadic_governments.txt"; s.Root = new ScriptScope(); var scope = new ScriptScope(); scope.Name = "nomadic_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.type == "nomadic" && government.cultureAllow.Count > 0) { var g = new ScriptScope(); g.Name = government.name; government.Save(g); scope.Add(g); } } s.Save(); s = new Script(); s.Name = Globals.ModDir + "common\\governments\\feudal_governments.txt"; s.Root = new ScriptScope(); scope = new ScriptScope(); scope.Name = "feudal_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.type == "feudal" && government.cultureAllow.Count > 0) { var g = new ScriptScope(); g.Name = government.name; government.Save(g); scope.Add(g); } } s.Save(); s = new Script(); s.Name = Globals.ModDir + "common\\governments\\theocracy_governments.txt"; s.Root = new ScriptScope(); scope = new ScriptScope(); scope.Name = "theocracy_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.type == "theocracy" && government.cultureAllow.Count > 0) { var g = new ScriptScope(); g.Name = government.name; government.Save(g); scope.Add(g); } } s.Save(); s = new Script(); s.Name = Globals.ModDir + "common\\governments\\republic_governments.txt"; s.Root = new ScriptScope(); scope = new ScriptScope(); scope.Name = "republic_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.type == "republic" && government.cultureAllow.Count > 0) { var g = new ScriptScope(); g.Name = government.name; government.Save(g); scope.Add(g); } } s.Save(); s = new Script(); s.Name = Globals.ModDir + "common\\governments\\tribal_governments.txt"; s.Root = new ScriptScope(); scope = new ScriptScope(); scope.Name = "tribal_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.type == "tribal" && government.cultureAllow.Count > 0) { var g = new ScriptScope(); g.Name = government.name; government.Save(g); scope.Add(g); } } s.Save(); }
public void SaveTitles() { foreach (var titleParser in Titles) { if (titleParser.Name == "b_sasaka") { int gfdg = 0; } if (titleParser.culture == null) { if (titleParser.Dejure != null) { titleParser.culture = titleParser.Dejure.culture; } else { titleParser.culture = "norse"; } } if (titleParser.Rank > 1 && titleParser.Scope.Find("capital") == null) { } var p = titleParser.GetAllProvinces(); bool bFound = false; foreach (var provinceParser in p) { if (provinceParser.id == titleParser.capital) { bFound = true; break; } } if (!bFound && p.Count > 0) { var ca = p[Rand.Next(p.Count)]; titleParser.capital = ca.id; var cap = (titleParser.Scope.Find("capital") as ScriptCommand); if (cap == null) { titleParser.Scope.Add(new ScriptCommand("capital", ca.id, titleParser.Scope)); } else { cap.Value = ca.id; } titleParser.CapitalProvince = ca; if (titleParser.Holder != null) { titleParser.Holder.GiveTitleSoftPlusIntermediate(titleParser.CapitalProvince.Title); } } int h = 0; foreach (var child in titleParser.Scope.Children) { ScriptScope scope = child as ScriptScope; } String tit = titleParser.Culture.dna.kingTitle; switch (titleParser.Rank) { case 0: tit = titleParser.Culture.dna.baronTitle; break; case 1: tit = titleParser.Culture.dna.countTitle; break; case 2: tit = titleParser.Culture.dna.dukeTitle; break; case 3: tit = titleParser.Culture.dna.kingTitle; break; case 4: tit = titleParser.Culture.dna.empTitle; break; } if (titleParser.Rank > 0) { if (!titleParser.Scope.HasNamed("culture")) { titleParser.Scope.Add(new ScriptCommand() { Name = "culture", Value = titleParser.culture }); } } if (tit == null) { } if (tit != null && tit.Trim().Length > 0) { if (!titleParser.Scope.HasNamed("title_female") && !titleParser.Scope.HasNamed("title")) { titleParser.Scope.Do( @" title=" + tit + @" title_female=" + tit + @" " ); } } } if (!Directory.Exists(Globals.ModDir + "history\\titles\\")) { Directory.CreateDirectory(Globals.ModDir + "history\\titles\\"); } var files = Directory.GetFiles(Globals.ModDir + "history\\titles\\"); foreach (var file in files) { File.Delete(file); } for (int index = 0; index < Titles.Count; index++) { var title = Titles[index]; if (title.Name == "b_sasaka") { } if (!title.Active && title.Rank > 0) { continue; } if (title.Religious) { } Script titleScript = ScriptLoader.instance.Load(Globals.GameDir + "history\\titles\\" + title.Name + ".txt"); titleScript.Root.Clear(); /* ScriptScope thing = new ScriptScope(); * thing.Name = "1.1.1"; * titleScript.Root.SetChild(thing);*/ /* * if (title.government == "republic") * { * thing.Add(new ScriptCommand() {Name = "law", Value = "succ_patrician_elective"}); * // if (title.Liege != null && title.Rank == 0 && title.TopmostTitle.government == "republic") * { * // if (title.Liege.Owns[0].baronies[0].title == title.Name) * { * var name = title.Culture.dna.GetPlaceName(); * var sname = StarNames.SafeName(name); * while (LanguageManager.instance.Get(sname) != null) * { * name = title.Culture.dna.GetPlaceName(); * sname = StarNames.SafeName(name); * } * if (!dynastiesWithPalaces.Contains(title.Holder.Dynasty.ID)) * { * var barony = TitleManager.instance.CreateBaronyScriptScope(null, title.Culture); * Titles.Add(barony); * barony.government = "republicpalace"; * barony.republicdynasty = title.Holder.Dynasty.ID; * barony.culture = title.culture; * barony.republicreligion = title.Holder.religion; * barony.Liege = title; * title.Holder.GiveTitleSoft(barony); * dynastiesWithPalaces.Add(title.Holder.Dynasty.ID); * * } * } * } * } */ if (title.Liege != null && title.Liege.Rank > title.Rank) { // thing.Add(new ScriptCommand() {Name = "liege", Value = title.Liege.Name}); } /* if (title.Rank == 0 && title.government == "republicpalace") * { * * thing.Add(new ScriptCommand() { Name = "holding_dynasty", Value = title.republicdynasty }); * //thing.Add(new ScriptCommand() { Name = "liege", Value = title.republicdynasty }); * if (title.Scope.Find("culture") == null) * { * title.Scope.Add(new ScriptCommand() { Name = "culture", Value = title.culture }); * title.Scope.Add(new ScriptCommand() { Name = "religion", Value = title.republicreligion }); * * } * }*/ // titleScript.Root.SetChild(thing); foreach (var scriptScope in title.titleScripts) { int v = 2; if (!scriptScope.FromVanilla) { while (titleScript.Root.HasNamed(scriptScope.Name)) { var indexOf = scriptScope.Name.LastIndexOf(".");//(v - 1)); scriptScope.Name = scriptScope.Name.Substring(0, indexOf) + "." + v; v++; } } titleScript.Root.SetChild(scriptScope); } /* TitleParser lastLiege = null; * foreach (var heldDate in title.heldDates) * { * ScriptScope thing = new ScriptScope(); * thing.Name = heldDate.date+".1.1"; * titleScript.Root.SetChild(thing); * if (title.Culture.dna.horde) * thing.Add(new ScriptCommand() { Name = "historical_nomad", Value = true }); * * if (title.Liege != null && title.Liege.Rank > title.Rank && title.Liege != lastLiege) * { * thing.Add(new ScriptCommand() { Name = "liege", Value = title.Liege.Name }); * lastLiege = title.Liege; * } * * // if (title.Holder != null) * { * thing.Add(new ScriptCommand() { Name = "holder", Value = heldDate.chrid }); * * // title.Holder.MakeAlive(); * } * * } * /* { * * { * ScriptScope thing = new ScriptScope(); * thing.Name = "1.1.1"; * titleScript.Root.SetChild(thing); * if (title.Culture.dna.horde) * thing.Add(new ScriptCommand() { Name = "historical_nomad", Value = true }); * * if (title.Liege != null) * { * thing.Add(new ScriptCommand() { Name = "liege", Value = title.Liege.Name }); * * } * * if (title.Holder != null) * { * thing.Add(new ScriptCommand() { Name = "holder", Value = title.Holder.ID }); * * // title.Holder.MakeAlive(); * } * else if (title.SubTitles.Count > 0 && title.Rank >= 2 && title.Holder == null) * { * * thing.Add(new ScriptCommand() { Name = "holder", Value = title.SubTitles.Values.ToArray()[0].Holder.ID }); * // title.SubTitles.Values.ToArray()[0].Holder.MakeAlive(); * } * thing = new ScriptScope(); * thing.Name = SimulationManager.instance.Year + ".1.1"; * titleScript.Root.SetChild(thing); * if (title.CurrentHolder != null) * { * thing.Add(new ScriptCommand() { Name = "holder", Value = title.CurrentHolder.ID }); * * } * * * } * * * } */ titleScript.Save(); } }
public void Save() { return; foreach (var cultureParser in CultureManager.instance.AllCultureGroups) { if (cultureParser.Governments.Count == 0) { // var gov = GovernmentManager.instance.CreateNewGovernment(cultureParser.Cultures[0]); } if (!cultureDone.Contains(cultureParser.Name)) { var g = GovernmentManager.instance.CreateNewGovernment(cultureParser.Cultures[0]); cultureParser.Governments.Add(g); } foreach (var government in cultureParser.Governments) { if (government.cultureGroupAllow.Count == 0) { government.cultureGroupAllow.Add(cultureParser.Name); } } } if (!Directory.Exists(Globals.ModDir + "gfx\\interface\\")) { Directory.CreateDirectory(Globals.ModDir + "gfx\\interface\\"); } var files = Directory.GetFiles(Globals.ModDir + "gfx\\interface\\"); foreach (var file in files) { File.Delete(file); } foreach (var government in governments) { try { File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_republic.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("_government", "republic_government") + ".dds"); File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_feudal.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("_government", "feudal_government") + ".dds"); File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_tribal.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("_government", "tribal_government") + ".dds"); File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_nomadic.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("_government", "nomadic_government") + ".dds"); File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_theocracy.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("_government", "theocracy_government") + ".dds"); } catch (Exception) { } } Script s = new Script(); var scope = new ScriptScope(); /* * s.Name = Globals.ModDir + "common\\governments\\nomadic_governments.txt"; * * s.Root = new ScriptScope(); * * scope.Name = "nomadic_governments"; * s.Root.Add(scope); * foreach (var government in governments) * { * if (government.cultureAllow.Count > 0) * { * { * government.SetType("nomadic"); * * var g = new ScriptScope(); * g.Name = government.name.Replace("_government", government.type+"_government"); * var last = government.name; * government.name = g.Name; * LanguageManager.instance.Add(g.Name, * CultureManager.instance.CultureMap[government.cultureAllow[0]].dna.GetUniqueMaleName()); * government.SetType("nomadic"); * * government.Save(g); * scope.Add(g); * government.name = last; * } * * } * } * * s.Save(); */ s = new Script(); s.Name = Globals.ModDir + "common\\governments\\feudal_governments.txt"; s.Root = new ScriptScope(); scope = new ScriptScope(); scope.Name = "feudal_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.cultureGroupAllow.Count > 0) { government.SetType("feudal"); var g = new ScriptScope(); g.Name = government.name.Replace("_government", government.type + "_government"); var last = government.name; government.name = g.Name; LanguageManager.instance.Add(g.Name, CultureManager.instance.CultureGroupMap[government.cultureGroupAllow[0]].Cultures[0].dna.GetUniqueMaleName()); government.SetType("feudal"); government.Save(g); scope.Add(g); government.name = last; } } s.Save(); s = new Script(); s.Name = Globals.ModDir + "common\\governments\\theocracy_governments.txt"; s.Root = new ScriptScope(); scope = new ScriptScope(); scope.Name = "theocracy_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.cultureGroupAllow.Count > 0) { government.SetType("theocracy"); var g = new ScriptScope(); g.Name = government.name.Replace("_government", government.type + "_government"); var last = government.name; government.name = g.Name; LanguageManager.instance.Add(g.Name, CultureManager.instance.CultureGroupMap[government.cultureGroupAllow[0]].Cultures[0].dna.GetUniqueMaleName()); government.SetType("theocracy"); government.Save(g); scope.Add(g); government.name = last; } } s.Save(); s = new Script(); s.Name = Globals.ModDir + "common\\governments\\republic_governments.txt"; s.Root = new ScriptScope(); scope = new ScriptScope(); scope.Name = "republic_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.cultureGroupAllow.Count > 0) { government.SetType("republic"); var g = new ScriptScope(); g.Name = government.name.Replace("_government", government.type + "_government"); var last = government.name; government.name = g.Name; LanguageManager.instance.Add(g.Name, CultureManager.instance.CultureGroupMap[government.cultureGroupAllow[0]].Cultures[0].dna.GetUniqueMaleName()); government.SetType("republic"); government.Save(g); scope.Add(g); government.name = last; } } s.Save(); s = new Script(); s.Name = Globals.ModDir + "common\\governments\\tribal_governments.txt"; s.Root = new ScriptScope(); scope = new ScriptScope(); scope.Name = "tribal_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.cultureGroupAllow.Count > 0) { government.SetType("tribal"); var g = new ScriptScope(); g.Name = government.name.Replace("_government", government.type + "_government"); var last = government.name; government.name = g.Name; SpriteManager.instance.AddGovernment(government); LanguageManager.instance.Add(g.Name, CultureManager.instance.CultureGroupMap[government.cultureGroupAllow[0]].Cultures[0].dna.GetUniqueMaleName()); government.SetType("tribal"); government.Save(g); scope.Add(g); government.name = last; } } s.Save(); }
public void SaveTitles() { foreach (var titleParser in Titles) { if (titleParser.culture == null) { continue; } String tit = titleParser.Culture.dna.kingTitle; switch (titleParser.Rank) { case 0: tit = titleParser.Culture.dna.baronTitle; break; case 1: tit = titleParser.Culture.dna.countTitle; break; case 2: tit = titleParser.Culture.dna.dukeTitle; break; case 3: tit = titleParser.Culture.dna.kingTitle; break; case 4: tit = titleParser.Culture.dna.empTitle; break; } titleParser.Scope.Add(new ScriptCommand() { Name = "culture", Value = titleParser.culture }); titleParser.Scope.Do( @" title=" + tit + @" title_female=" + tit + @" " ); } foreach (var religionParser in ReligionManager.instance.AllReligions) { if (religionParser.Believers.Count > 0 && religionParser.hasLeader) { religionParser.DoLeader(religionParser.Believers[Rand.Next(religionParser.Believers.Count)]); } } if (!Directory.Exists(Globals.ModDir + "history\\titles\\")) { Directory.CreateDirectory(Globals.ModDir + "history\\titles\\"); } var files = Directory.GetFiles(Globals.ModDir + "history\\titles\\"); foreach (var file in files) { File.Delete(file); } foreach (var title in Titles) { if (!title.Active) { continue; } if (title.Religious) { } Script titleScript = ScriptLoader.instance.Load(Globals.GameDir + "history\\titles\\" + title + ".txt"); titleScript.Root.Clear(); { if (titleScript.Root.HasNamed("767.1.1")) { titleScript.Root.Delete("767.1.1"); titleScript.Root.Delete("768.1.1"); } { ScriptScope thing = new ScriptScope(); thing.Name = "767.1.1"; titleScript.Root.SetChild(thing); if (title.Culture.dna.horde) { thing.Add(new ScriptCommand() { Name = "historical_nomad", Value = true }); } if (title.Liege != null) { thing.Add(new ScriptCommand() { Name = "liege", Value = title.Liege.Name }); } if (title.Holder != null) { thing.Add(new ScriptCommand() { Name = "holder", Value = title.Holder.ID }); // title.Holder.MakeAlive(); } else if (title.SubTitles.Count > 0 && title.Rank >= 2 && title.Holder == null) { thing.Add(new ScriptCommand() { Name = "holder", Value = title.SubTitles.Values.ToArray()[0].Holder.ID }); // title.SubTitles.Values.ToArray()[0].Holder.MakeAlive(); } thing = new ScriptScope(); thing.Name = "768.1.1"; titleScript.Root.SetChild(thing); if (title.CurrentHolder != null) { thing.Add(new ScriptCommand() { Name = "holder", Value = title.CurrentHolder.ID }); } } } titleScript.Save(); } }
public void Save() { /* * script.Root.Do($@" * has_assassins_prerequisites = {{ * age = 16 * true_religion_{ReligionManager.instance.ShiiteEquiv.Name}_trigger = yes * OR = {{ * is_female = no * has_game_rule = {{ * name = gender * value = all * }} * }} * }} * "); * * script.Root.Do($@" * has_common_devilworship_prerequisites = {{ * age = 16 * custom_tooltip = {{ * text = must_be_a_sinner_tooltip * hidden_tooltip = {{ * OR = {{ * has_impious_trait_trigger = yes * has_vice_trigger = yes * trait = drunkard * trait = possessed * trait = lunatic * }} * }} * }} * }} * * "); * * script.Root.Do($@" * * has_satanists_prerequisites = {{ * has_common_devilworship_prerequisites = yes * OR = {{ * religion_group = {ReligionManager.instance.ChristianGroupSub.Name} * religion_group = {ReligionManager.instance.MuslimGroupSub.Name} * religion_group = {ReligionManager.instance.ZoroGroupSub.Name} * religion_group = {ReligionManager.instance.JewGroupSub.Name} * }} * }} * * "); * * * * script.Root.Do($@" * * has_trollcrafters_prerequisites = {{ * has_common_devilworship_prerequisites = yes * OR = {{ * religion_group = {ReligionManager.instance.PaganGroupSub.Name} * }} * }} * * "); * * * script.Root.Do($@" * * has_cult_of_kali_prerequisites = {{ * has_common_devilworship_prerequisites = yes * OR = {{ * religion = {ReligionManager.instance.HinduEquiv.Name} * }} * }} * * "); * * script.Root.Do($@" * * has_cold_ones_prerequisites = {{ * has_common_devilworship_prerequisites = yes * OR = {{ * religion = {ReligionManager.instance.JainEquiv.Name} * }} * }} * * "); * * * * script.Root.Do($@" * * has_plaguebringers_prerequisites = {{ * has_common_devilworship_prerequisites = yes * OR = {{ * religion = {ReligionManager.instance.BuddhistEquiv.Name} * }} * }} * * "); */ script.Save(); }
public void Save() { script.Save(); }
public void Save() { foreach (var cultureParser in CultureManager.instance.AllCultures) { if (cultureParser.Governments.Count == 0) { var gov = GovernmentManager.instance.CreateNewGovernment(cultureParser); } foreach (var government in cultureParser.Governments) { if (government.cultureAllow.Count == 0) { government.cultureAllow.Add(cultureParser.Name); } } if (!Government.cultureDone.Contains(cultureParser.Name)) { cultureParser.Governments.Add(GovernmentManager.instance.CreateNewGovernment(cultureParser)); } } if (!Directory.Exists(Globals.ModDir + "gfx\\interface\\")) { Directory.CreateDirectory(Globals.ModDir + "gfx\\interface\\"); } var files = Directory.GetFiles(Globals.ModDir + "gfx\\interface\\"); foreach (var file in files) { File.Delete(file); } foreach (var government in governments) { switch (government.type) { case "nomadic": try { File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_nomadic.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("government_", "") + ".dds"); } catch (Exception) { } SpriteManager.instance.AddGovernment(government); break; case "tribal": try { File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_tribal.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("government_", "") + ".dds"); } catch (Exception) { } SpriteManager.instance.AddGovernment(government); break; case "feudal": try { File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_feudal.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("government_", "") + ".dds"); } catch (Exception) { } SpriteManager.instance.AddGovernment(government); break; case "theocracy": try { File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_theocracy.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("government_", "") + ".dds"); } catch (Exception) { } SpriteManager.instance.AddGovernment(government); break; case "republic": try { File.Copy(Globals.GameDir + "gfx\\interface\\government_icon_republic.dds", Globals.ModDir + "gfx\\interface\\government_icon_" + government.name.Replace("government_", "") + ".dds"); } catch (Exception) { } SpriteManager.instance.AddGovernment(government); break; } } Script s = new Script(); s.Name = Globals.ModDir + "common\\governments\\nomadic_governments.txt"; s.Root = new ScriptScope(); var scope = new ScriptScope(); scope.Name = "nomadic_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.type == "nomadic" && government.cultureAllow.Count > 0) { var g = new ScriptScope(); g.Name = government.name; government.Save(g); scope.Add(g); } } s.Save(); s = new Script(); s.Name = Globals.ModDir + "common\\governments\\feudal_governments.txt"; s.Root = new ScriptScope(); scope = new ScriptScope(); scope.Name = "feudal_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.type == "feudal" && government.cultureAllow.Count > 0) { var g = new ScriptScope(); g.Name = government.name; government.Save(g); scope.Add(g); } } s.Save(); s = new Script(); s.Name = Globals.ModDir + "common\\governments\\theocracy_governments.txt"; s.Root = new ScriptScope(); scope = new ScriptScope(); scope.Name = "theocracy_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.type == "theocracy" && government.cultureAllow.Count > 0) { var g = new ScriptScope(); g.Name = government.name; government.Save(g); scope.Add(g); } } s.Save(); s = new Script(); s.Name = Globals.ModDir + "common\\governments\\republic_governments.txt"; s.Root = new ScriptScope(); scope = new ScriptScope(); scope.Name = "republic_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.type == "republic" && government.cultureAllow.Count > 0) { var g = new ScriptScope(); g.Name = government.name; government.Save(g); scope.Add(g); } } s.Save(); s = new Script(); s.Name = Globals.ModDir + "common\\governments\\tribal_governments.txt"; s.Root = new ScriptScope(); scope = new ScriptScope(); scope.Name = "tribal_governments"; s.Root.Add(scope); foreach (var government in governments) { if (government.type == "tribal" && government.cultureAllow.Count > 0) { var g = new ScriptScope(); g.Name = government.name; government.Save(g); scope.Add(g); } } s.Save(); }