Jump to content

CK2 Possibilities for Women only world mod


darkkismeth

Recommended Posts

Oftentimes it's the little things that give us headaches. Little things like a solemn "s".

 

 

But i'm starting to wonder, if the player doesn't pick the Test1 trait and the Ai only gets it through inheritance, could i make a event for the Ai to get the trait?

 

Of course. You have to think about when, where and how to add it to an AI controlled character and make the event accordingly. If you'd want to you can even fake inheritance, like add the trait with an on_birth event after checking both parents and maybe adding some random portion to it.

With events, the world and it's characters are yours to mold.

 

 

Wait, traits, buildings, religion, is this enough for a Alpha mod test?

 

It's enough whenever you deem it to be enough.

Link to comment

Oooh boy, this event and decision stuff is hard to understand.

 

I just made this simple event and i don't even know, if it will work or not.

 

#Simle test run!
narrative_event = {
    id = Andro.1
    desc = Androprefix_event_1
    title = Run    
    trigger = {
    mean_time_to_happen = {
        months = 1
        has_trait = Transgender
        is_female = no                    
    }
    option = {
    name = Shit1
    add_trait = Herm
}

Practically, i want a month to pass before a random npc gets the Testtrait 1 and looses the other trait. Nothing big, nothing fancy, just very light stuff to get started.

 

 

Hey Snackton, did you figured out that culture_ethnicity stuff? Even after several readings, i'm not sure, how it really works. Just like the events and decisions.

Link to comment

Oooh boy, this event and decision stuff is hard to understand.

 

I just made this simple event and i don't even know, if it will work or not.

#Simle test run!

narrative_event = {

id = Andro.1

desc = Androprefix_event_1

title = Run

trigger = {

mean_time_to_happen = {

months = 1

has_trait = Transgender

is_female = no

}

option = {

name = Shit1

add_trait = Herm

}

Practically, i want a month to pass before a random npc gets the Testtrait 1 and looses the other trait. Nothing big, nothing fancy, just very light stuff to get started.

 

 

Hey Snackton, did you figured out that culture_ethnicity stuff? Even after several readings, i'm not sure, how it really works. Just like the events and decisions.

Your brackets are off. You want them to be like

 

narrative_event = {

...

trigger = {

...

}

mean_time_to_happen = {

...

}

option = {

...

}

...

}

 

When modding using the validator tool from paradoxplaza forum and/or runninf the game with the -debug -debugacripts flags and looking at the error.log is highly advised, specially when you are starting, as mistakes like these might be repeated a lot ehen you're getting into modding.

Link to comment

Oooh boy, this event and decision stuff is hard to understand.

 

I just made this simple event and i don't even know, if it will work or not.

 

snip

Practically, i want a month to pass before a random npc gets the Testtrait 1 and looses the other trait. Nothing big, nothing fancy, just very light stuff to get started.

 

 

Hey Snackton, did you figured out that culture_ethnicity stuff? Even after several readings, i'm not sure, how it really works. Just like the events and decisions.

 

Alright, you got some errors in your event there, I'll go through them one by one.

(remember to add namespace = Andro at the top if you work with [name] . [number] IDs. You have to use it if you seperate the events in your mod with the number behind the dot instead of absolutely unique event IDs.)

Example:

namespace = Andro

id = Andro.1
id = Andro.2
id = Andro.3
id = Andro.4

-------------------------------

id = Andro
id = Pedro
id = Marco
id = Fernando

Both sets of IDs should work, but I've never not used namespaces, so I can't vow for the second set to work.

 

---

#Simle test run!
narrative_event = {
    id = Andro.1
    desc = Androprefix_event_1
    title = Run

It is prudent to stick to a consistent naming pattern with the event ID and the localisation strings, so I'd go with

#Simle test run!
narrative_event = {
    id = Andro.1
    desc = Andro_1_desc
    title = Andro_1_title

It's up to you of course. Just remember that desc and title are localisation strings, whereas id is not.

 

---

    trigger = {
    mean_time_to_happen = {
        months = 1
        has_trait = Transgender
        is_female = no                    
    }

That won't work. Trigger and mean_time_to_happen are two seperate things and are absolutely NOT to be combined.

    trigger = {
        #has_trait = Transgender
        trait = Transgender #Same as below
        is_female = no
    }
    mean_time_to_happen = {
        months = 1                  
    }

That will do it.

 

---

    option = {
    name = Shit1
    add_trait = Herm
}

Again with the naming, and you wrote you wanted to remove a certain trait. I used the one you chose to trigger the event.

    option = {
        name = Andro.1.a
        add_trait = Herm
        remove_trait = Transgender
    }

Also, take note of the curly brackets, you've missed several. For your traits, it's prudent to use a unique tag for your mod before the actual name, so as to not clash with other mods that have similar trait names. Like andro_herm and andro_transgender.

Or xyz_shutupidowhatiwant.

namespace = Andro

#Simple test run!
narrative_event = {
    id = Andro.1
    desc = Andro_1_desc
    title = Andro_1_title
    trigger = {
        #has_trait = Transgender #I'll keep this here because I'm stupid.
        trait = Transgender #This is correct.
        is_female = no
    }
    mean_time_to_happen = {
        months = 1
    }
    option = {
        name = Andro.1.a
        add_trait = Herm
        remove_trait = Transgender
    }
}

On a side note, do you really want to use a narrative_event for something as small as this?

Shamelessly copied from the CKII wiki:

 

 

narrative_event - Similar to character_event, but with a large ornamented first letter, fancy frame, and slightly larger window.

 

Again, up to you of course.

 

About the portraits, I haven't had the time to dig into that as of yet, sorry.

Link to comment

Okay, good, RL is bit stressful but got back to normal, for now.

 

About the event, some things are hard to understand when the examples from the Ck2 modding Site are not really showing, what is needed in the first place. Even had trouble to get into the mod subforums because the site had syncing problems, only to get the Validator.

 

ANYWAY, thanks for helping me to understand that stuff. Still much to learn and still much to think about what is needed and what should happen.

 

I didn't even catch the part, where the ID stuff is properly is explained. Thanks for that. Is the ID a separate file or does it belong in the events.txt file?

 

About traits and stuff, it is ALL wip, of course i will change names and such at the end to make it work with other mods.

Link to comment

Okay, good, RL is bit stressful but got back to normal, for now.

 

About the event, some things are hard to understand when the examples from the Ck2 modding Site are not really showing, what is needed in the first place. Even had trouble to get into the mod subforums because the site had syncing problems, only to get the Validator.

 

ANYWAY, thanks for helping me to understand that stuff. Still much to learn and still much to think about what is needed and what should happen.

 

I didn't even catch the part, where the ID stuff is properly is explained. Thanks for that. Is the ID a separate file or does it belong in the events.txt file?

 

About traits and stuff, it is ALL wip, of course i will change names and such at the end to make it work with other mods.

 

No seperate file for the IDs. But, if you use namespaces, you need to define them in every file where you use them.

namespace = Andro

character_event = {
  id = Andro.1
  ...
}
character_event = {
  id = Andro.2
  ...
}
character_event = {
  id = Andro.10
  ...
}
narrative_event = {
  id = Andro.22
  ...
}
province_event = {
  id = Andro.322
  ...
}

That's how the event file could look like. Another, seperate file using the same naming pattern would need it's namespace defined again.

character_event = {
  id = Andro
  ...
}
character_event = {
  id = Pedro
  ...
}
character_event = {
  id = MarcoPolo
  ...
}
character_event = {
  id = AndroPedroMarcoPolo
  ...
}
narrative_event = {
  id = Shipoopi
  ...
}
province_event = {
  id = Ipoopihs
  ...
}

This will not work, as you're using alphabetical IDs without a namespace (thanks to ngppgn for making me check that). You could use numerical IDs (5000, 5001, 5002) but these are commonly used by Paradox themselves, so you'll very most likely have to use namespaces.

Link to comment

Wait, is that so? It's the first time I heard of using purely alphabetical ids.

Wait, is that so? It's the first time I heard of using purely alphabetical ids.

 

Shite, you're right.

I mixed alphabetical and numerical IDs. Turns out, alphabetical only works when using a namespace.

 

I've changed my previous post to reflect that.

Link to comment

Alright, trying to understand Decisions now and i might have a working decision, if Validator is to trust in this thing.

 

Simple decision:

 

decisions = {
    Andro_trait_decision_transgender = {
        potential = {
            ai = yes
            has_trait = Transgender
        }
        allow = {
            always = yes # It should always be displayed if it is relevant
        }
        effect = {
            character_event = { id = Andro.2 }
        }
        revoke_allowed = {
            always = no # Generic setting
        }
        ai_will_do = {
            factor = 30
        }
    }
}

 

character_event = {
    id = Andro.2
    desc = Andro_2_desc
    title = Andro_2_title
    trigger = {
        has_trait = Transgender
        is_female = no
    }
    option = {
        name = Andro.2.a
        add_trait = Herm
        remove_trait = Transgender
    }
}

 

That is a valid decision, right? But how do i make a decision with more than one option to choose with different effects?

 

 

Slowly do i have my basic construction for my first mod, that i can use as foundation. But the course of the mod is the most important one for me.

 

What i planned is this: Characters should be able to question their gender, with the trait "Test3" (like mentioned, EVERYTHING is WIP), which should lead to trait "Test2" and that should open the option to change trait "Test2" for another trait, depending on the gender of the Character. But if the Character gains trait "Test1", then the Character gets a female Portrait to reflect the "magical" transformation. Maybe even make a building necessary for said trait change? After this decision, an event should be able to trigger to spread the trait "Test1" to other male Characters with a building or event building. The new religion is than a byproduct of the new trait spreading, making life easier for them as it get kickstarted by anyone higher than a count, because nobody cares, what a count is doing, right?

 

Fine tuning and little extras are coming later. Sounds like a solid plan, that only has problems with the last parts in my view. How do i kickstart a religion? And i still try to wrap my head around, on how to spread the trait. Maybe the trait spreading comes later, rather focusing on the parts, that are able to be made in the first place.

Link to comment

Alright, trying to understand Decisions now and i might have a working decision, if Validator is to trust in this thing.

 

Simple decision:

 

decisions = {

    Andro_trait_decision_transgender = {

        potential = {

            ai = yes

            has_trait = Transgender

        }

        allow = {

            always = yes # It should always be displayed if it is relevant

        }

        effect = {

            character_event = { id = Andro.2 }

        }

        revoke_allowed = {

            always = no # Generic setting

        }

        ai_will_do = {

            factor = 30

        }

    }

}

 

character_event = {

    id = Andro.2

    desc = Andro_2_desc

    title = Andro_2_title

    trigger = {

        has_trait = Transgender

        is_female = no

    }

    option = {

        name = Andro.2.a

        add_trait = Herm

        remove_trait = Transgender

    }

}

 

That is a valid decision, right? But how do i make a decision with more than one option to choose with different effects?

 

 

Slowly do i have my basic construction for my first mod, that i can use as foundation. But the course of the mod is the most important one for me.

 

What i planned is this: Characters should be able to question their gender, with the trait "Test3" (like mentioned, EVERYTHING is WIP), which should lead to trait "Test2" and that should open the option to change trait "Test2" for another trait, depending on the gender of the Character. But if the Character gains trait "Test1", then the Character gets a female Portrait to reflect the "magical" transformation. Maybe even make a building necessary for said trait change? After this decision, an event should be able to trigger to spread the trait "Test1" to other male Characters with a building or event building. The new religion is than a byproduct of the new trait spreading, making life easier for them as it get kickstarted by anyone higher than a count, because nobody cares, what a count is doing, right?

 

Fine tuning and little extras are coming later. Sounds like a solid plan, that only has problems with the last parts in my view. How do i kickstart a religion? And i still try to wrap my head around, on how to spread the trait. Maybe the trait spreading comes later, rather focusing on the parts, that are able to be made in the first place.

 

A few points:

-has_trait should be just trait

-revoke_allowed can be omitted altogether

-ai_will_do factors greater than 1 are equivalent to factors of 1 if you are not using modifiers that could reduce them below 1. If you just want the ai to always pick the decision, btw, the entire ai_will_do can be omitted and it will default to 1.

-To add more options to an event just add more option = {} blocks. The ai can have any number of options, but if the event is presented to the player only the first four available options will be shown.

-If your event is supposed to only be triggered by the decision (and not randomly every 20 days) add is_triggered_only = yes to the event.

-Don't forget to add namespace = Andro to the file the event will be in.

-Also a warning: I *think* identifiers such as trait names, event namespaces etc. are case-sensitive. It's always advisable to use all lowercase, or in any case keep that in mind and be consistent with your casing.

Link to comment

Alright, trying to understand Decisions now and i might have a working decision, if Validator is to trust in this thing.

 

Simple decision:

 

decisions = {

    Andro_trait_decision_transgender = {

        potential = {

            ai = yes

            has_trait = Transgender

        }

        allow = {

            always = yes # It should always be displayed if it is relevant

        }

        effect = {

            character_event = { id = Andro.2 }

        }

        revoke_allowed = {

            always = no # Generic setting

        }

        ai_will_do = {

            factor = 30

        }

    }

}

 

character_event = {

    id = Andro.2

    desc = Andro_2_desc

    title = Andro_2_title

    trigger = {

        has_trait = Transgender

        is_female = no

    }

    option = {

        name = Andro.2.a

        add_trait = Herm

        remove_trait = Transgender

    }

}

 

That is a valid decision, right? But how do i make a decision with more than one option to choose with different effects?

 

 

Slowly do i have my basic construction for my first mod, that i can use as foundation. But the course of the mod is the most important one for me.

 

What i planned is this: Characters should be able to question their gender, with the trait "Test3" (like mentioned, EVERYTHING is WIP), which should lead to trait "Test2" and that should open the option to change trait "Test2" for another trait, depending on the gender of the Character. But if the Character gains trait "Test1", then the Character gets a female Portrait to reflect the "magical" transformation. Maybe even make a building necessary for said trait change? After this decision, an event should be able to trigger to spread the trait "Test1" to other male Characters with a building or event building. The new religion is than a byproduct of the new trait spreading, making life easier for them as it get kickstarted by anyone higher than a count, because nobody cares, what a count is doing, right?

 

Fine tuning and little extras are coming later. Sounds like a solid plan, that only has problems with the last parts in my view. How do i kickstart a religion? And i still try to wrap my head around, on how to spread the trait. Maybe the trait spreading comes later, rather focusing on the parts, that are able to be made in the first place.

 

With triggered event, it's prudent to leave all triggering to the decision, or at least not use different triggers for the decision and the event. That could lead to no event being fired at all.

About kickstarting a religion, there's no way to absolutely ensure there are no characters of any given religion as far as I know. The closest you'll come to a dormant religion is a new religion in a new religious group, as in, not a heresy of anything, with no way for any character to switch to that religion unless you specifically allow it (via global_flag or something like that). And with setting that global flag (and maybe assigning some characters to that religion), you'd "kickstart" it.

 

 

[snip]

 

A few points:

-has_trait should be just trait

-revoke_allowed can be omitted altogether

-ai_will_do factors greater than 1 are equivalent to factors of 1 if you are not using modifiers that could reduce them below 1. If you just want the ai to always pick the decision, btw, the entire ai_will_do can be omitted and it will default to 1.

-To add more options to an event just add more option = {} blocks. The ai can have any number of options, but if the event is presented to the player only the first four available options will be shown.

-If your event is supposed to only be triggered by the decision (and not randomly every 20 days) add is_triggered_only = yes to the event.

-Don't forget to add namespace = Andro to the file the event will be in.

-Also a warning: I *think* identifiers such as trait names, event namespaces etc. are case-sensitive. It's always advisable to use all lowercase, or in any case keep that in mind and be consistent with your casing.

 

 

Yes, it's trait = xyz not has_trait = xyz, I still make this mistake way too often (#29).

Make sure to remove any mean_time_to_happen if you add is_triggered_only, otherwise there'll apparantly be some shenanigans. By the way, for weighted random events (via a random_event list) use a weight_multiplier block.

And yes, every string, be it localisation or anything else, is case sensitive.

Link to comment

Like typed before, events and decisions are hard to grasp for me. Maybe i should start looking for a proper guide for these.

 

BUT, thanks for the help to understand this stuff. But there are things, i find and yet don't understand.

 

Best example, global_flag, what is that? And how can i use it?

Link to comment

Like typed before, events and decisions are hard to grasp for me. Maybe i should start looking for a proper guide for these.

 

BUT, thanks for the help to understand this stuff. But there are things, i find and yet don't understand.

 

Best example, global_flag, what is that? And how can i use it?

 

You set gobal flags to signal that the game world have reached a certain state. For example, say you want to have an important random event fire only after x has happened. Then, when x happen, you can use set_global_flag = x_happened. In the random event, you then use has_global_flag = x_happened. To block the event from firing until the flag has been set. global flags can also be cleared with clr_global_flag. Besides global flags you also have character, province and title flags (and artifact flags, but I'm not sure if the syntax for those is the same).

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use