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