コード例 #1
0
        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();
        }
コード例 #2
0
        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();
        }