• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
Not really a bug since it has no gameplay implications, but I've noticed that the comments in positions.txt and the province names in definition.csv don't fully match; see e.g. province 264 ("Toxandria" in positions.txt, "Breda" in definitions.csv). This makes merging a ton of position changes with CleanSlate's province id remapping more cumbersome than it has to be as it makes it necessary to reference the .csv file whenever the comment is nowhere to be found.

Given that the names in definition.csv have to match (the relevant part of) the names of the province history files (unless I'm mistaken), I'd say it's probably easier to update the positions.txt comments to match/contain the names from definition.csv than updating everything to match those comments.

Excellent suggestion. An unfortunate side effect of the nudge tool using localised and custom province names rather than their base names. I've pushed an update which should now have all the province names as found in definition.csv and 00_provinces.csv.
 
Excellent suggestion. An unfortunate side effect of the nudge tool using localised and custom province names rather than their base names. I've pushed an update which should now have all the province names as found in definition.csv and 00_provinces.csv.

That seems to fix the original issue, at least at a glance, though I discovered a tangential issue right away: It seems definition.csv and 00_provinces.csv don't match when it comes to anything that's contains non-[A-Z][a-z] letters as far as non-water (any kind, as best I can tell) provinces goes, seeing as e.g. 149 is "Oland"/"Öland" and 338 is "Macon"/"Mâcon".

This seems to have been inherited from vanilla's definition.csv (along with some comments such as "# Här Avslutade Jag Igår"), and it's probably sensible to keep the names like that outside the in-game province names to make stuff searchable for people that don't have certain characters on their keyboard, but it'd potentially be nice if the comments in positions.txt were along the line of "# Öland (Oland)" and "# Mâcon (Macon)" so that that file can be searched more easily.
 
Are there any guidelines as to what falls under "Vanilla oversight/error, to be fixed by CleanSlate; bug report it", as opposed to "Weird/bad vanilla design decision, but outside the scope of CleanSlate; don't report it"?
 
That seems to fix the original issue, at least at a glance, though I discovered a tangential issue right away: It seems definition.csv and 00_provinces.csv don't match when it comes to anything that's contains non-[A-Z][a-z] letters as far as non-water (any kind, as best I can tell) provinces goes, seeing as e.g. 149 is "Oland"/"Öland" and 338 is "Macon"/"Mâcon".

This seems to have been inherited from vanilla's definition.csv (along with some comments such as "# Här Avslutade Jag Igår"), and it's probably sensible to keep the names like that outside the in-game province names to make stuff searchable for people that don't have certain characters on their keyboard, but it'd potentially be nice if the comments in positions.txt were along the line of "# Öland (Oland)" and "# Mâcon (Macon)" so that that file can be searched more easily.

I suppose this would be very useful for automated procesesing. Most manual text searches tend to be lenient with accented letters, from my experience. Either way, it could be done, since there's no downside outside of the time investment.

Are there any guidelines as to what falls under "Vanilla oversight/error, to be fixed by CleanSlate; bug report it", as opposed to "Weird/bad vanilla design decision, but outside the scope of CleanSlate; don't report it"?

Not particularly. Is there anything in the master changelog that has left you scratching your head, or are there things you think might qualify for CleanSlate and haven't yet been taken care of?

In any case, if script clearly doesn't work, or doesn't do what nearby comments suggest it should do, that's a clearcut case for CleanSlate. If it seems unreasonable (such as losing four personality traits instead of one), or numbers seem far too small or large, or there's an internal inconsistency with another part of the game, that's where we usually also decide to 'fix' that.
 
Not particularly. Is there anything in the master changelog that has left you scratching your head, or are there things you think might qualify for CleanSlate and haven't yet been taken care of?

In any case, if script clearly doesn't work, or doesn't do what nearby comments suggest it should do, that's a clearcut case for CleanSlate. If it seems unreasonable (such as losing four personality traits instead of one), or numbers seem far too small or large, or there's an internal inconsistency with another part of the game, that's where we usually also decide to 'fix' that.

I've noticed some things in CleanSlate that are consistent with vanilla but that strike me as strange, inconsistent, or plain wrong in vanilla (some of these are things I've classified as "Vanilla bug" and fixed in Tianxia, so they were pretty easy to spot when I got started on rebasing Tianxia on CleanSlate this past week; we'll of course be crediting CleanSlate on release):

- The default (i.e. not reformed with Cosmopolitan/Dogmatic or affected by someone else reforming in such a manner) intermarriage setup for the pagan religions is pretty inconsistent as to whether the unreformed religion and the reformed religion are allowed to intermarry. Aztec, Bön, Hellenic, Tengri, African, and Zun do not allow intermarriage, while Romuva, Suomenusko, Norse, and Slavic allow it. Of particular note is Bön, Tengri, and Zun allowing intermarriages with religions from other groups despite not allowing it with their own reformed/unreformed version, which seems like a pretty weird setup.

- It's somewhat strange to me that neither Italian nor Sardinian are defined with parent = roman, considering their origin. I suppose it could be an intentional design decision, but considering the many years of "No, we're not supporting the Roman culture or Hellenics in any way, shape, or form; stop asking already!" it feels like it also could be something the devs forgot to do when deciding to support Roman culture in 3.0/HF.

- I've found two oddities concerning nomadic_in_alt_start = yes: The Jurchen culture has it, despite the Jurchens not really being nomadic (and all Jurchens in vanilla being associated with offmap China unless I'm mistaken), while the Alan culture lacks it, despite there being Alan nomads in the game (d_alania in 769). It only affects alt starts, of course, so it's not really something that impacts normal gameplay, but it strikes me as some dev being too quick on copy-paste in the former case and not thorough enough in the latter case.

- Despite effectively being a melting pot similar to e.g. Anglo-Saxon + Norman = English, Outremer culture does not have any culture spread events, which feels like a possible oversight as it was a late addition (3.0/HF), and is rather inconsistent with other melting pots. It's also potentially weird that it lacks parent = french, considering it's historical origin (though melting pots don't necessarily have parents, I suppose...) and that no historical character (or province) is scripted with it, though the latter is of course a more time-consuming change (and probably somewhat corrects itself during gameplay thanks to the decision).

- Something I rather suspect might be outside CleanSlate's scope, but that's definitely wrong in vanilla (any annoyance detected here is with vanilla): The Khitan culture has dynasty_title_names = yes, which is incredibly weird as the famous Khitan realms on the CK2 map (and in general) -- Liao and Western Liao/Kara-Khitai -- most certainly did not use the name of the ruling dynasty for the realm, seeing as those rulers were from the Yelü family... which CK2 has split into two separate dynasties -- 1045082 ("Liao") and 214009 ("Kara-Khitai") -- for some strange reason (I suppose the dynasty screen would look a bit weird due to the two branches being disconnected, but vanilla has other disconnected dynasties...). Worth noting is that vanilla -- as of IC -- has a k_liao that's used as the base for the nomadic title used by Liao in 936 (but not in 1066 or later), so there's a relatively easy way to get the realm to show up as "Liao" without the dynasty_title_names = yes, and giving said title to Kara-Khitai -- which isn't around at the same time and which considered itself the successor of Liao-Liao -- with or without renaming it (they referred to themselves as "Great Liao", but are probably better known for their lack of honour as Kara-Khitai) would be an option.

You may of course feel free to disregard any and all of these, and anything I might report in the future; I can always change/fix things on my own if need be.


On the non-bug front (as they have no impact on anything in-game), some minor oddities I've noticed:

- I noticed that the Arabic culture group's culture tags still are <something>_arabic, which feels a bit odd when some other culture tags have been changed to reflect the in-game names. Of note is that Berber culture has a not-so-obvious tag, maghreb_arabic, unlike the others, which are <in-game name>_arabic.

- Really minor, but I don't see why 03_mesoamerican.txt starts with 03, seeing as there's no 01 or 02 files. Animal culture groups being 99_<group> is explained by vanilla having them in a 99 file.

- Very minor, but with a lot of stuff being alphabetized/sorted it feels a bit odd that cultures aren't alphabetized within their respective files, as I don't think the order matters there (unlike "Reformed religion before unreformed religion, or the game breaks").

- The alphabetization of cultural names is inconsistent in places. For example, the French and Outremer namelists are the same, but the names are not in the same order.

- There are a few cases of extra indentations or line breaks in the culture files, e.g. an empty line at the start of the male Turkish names.

- Carantanian culture uses different rows for "Z" and "Ž" (plus "S" and "Š") for male names but not for female names, which is a bit inconsistent.

- "Ž" and "Š" are treated as different letters from "Z" and "S" during sorting, but "Å" and "Ä" are sorted as "A" and "Ö" as "O", which feels inconsistent.


CleanSlate is definitely a noticeable improvement over vanilla, however; I've come across several instances of bugs I knew about that I see you've fixed, I can see a bunch of fixes to things I hadn't noticed were broken/weird in the changelog, the reorganization of assorted things is commendable, and performance feels better (even if I've only compared a couple of brief observer games so far). I've also not yet seen anything (other than the comments in positions.txt, which aren't a big deal due to not having any gameplay impact) that looks like a non-vanilla issue despite looking through a pretty large number of files.
 
  • 2
Reactions:
- Really minor, but I don't see why 03_mesoamerican.txt starts with 03, seeing as there's no 01 or 02 files. Animal culture groups being 99_<group> is explained by vanilla having them in a 99 file.
I'm not at my computer currently so I can't check for certain but are you saying it's a 03_ file in CleanSlate but not in vanilla? If so it might be related to the naming convention i tried to enforce where 00_ is base game and the 01-15 are for dlc and above that is for mods to use. If the other way around it can almost certainly be chalked up to vanilla weirdness
 
I'm not at my computer currently so I can't check for certain but are you saying it's a 03_ file in CleanSlate but not in vanilla? If so it might be related to the naming convention i tried to enforce where 00_ is base game and the 01-15 are for dlc and above that is for mods to use. If the other way around it can almost certainly be chalked up to vanilla weirdness

Vanilla only has two culture files; 00_cultures.txt (all human cultures are here) and 99_animals.txt (all animal cultures are here).
 
Vanilla only has two culture files; 00_cultures.txt (all human cultures are here) and 99_animals.txt (all animal cultures are here).
Ok so now that I'm back at my computer I looked into it and, yes, I just forgot to document the naming scheme when I did it. 03_ was the prefix for Sunset invasion and it's only really used in the on_actions files otherwise

P.S. Re: The alphabetizing. Not that you've said it I can't unsee it...I may have to work on fixing that if Whizzer doesn't beat me to it
 
Last edited:
Some more assorted things I've noticed.


Cosmetic issues:

- The male Christian namelist has "Eustace George Gregory" on the same line. No gameplay impact, but inconsistent with the letter-by-letter split elsewhere.


Vanilla design oddities present in CleanSlate:

- "prefix = no # The patronym is added as a suffix" is present for some cultures that don't have patronyms, which seems superfluous. I don't think it has any impact on gameplay, however.

- Suomenusko is fine with intermarrying with unreformed Norse, but not the other way around. All other vanilla intermarriage willingness appears to be scripted in a bidirectionally consistent manner -- if A is fine with B, B is fine with A; if A isn't fine with B, B isn't fine with A -- so it feels like either both should be fine with intermarriage or both should not be fine with intermarriage. As far as gameplay goes, both allowing and disallowing it comes with benefits and drawbacks. Edit: I found a few more; all Muslims are fine with intermarrying with Qarmatians, but not the other way around, and Qarmatians are fine with intermarrying with Mazans, but they don't feel the same way. Still feels rather inconsistent, however, and it gives the player a somewhat unfair advantage over the AI as they can make offers the other religion is fine with but that the AI wouldn't ever consider in their position.

- "Ayesha" is listed as a Muslim-exclusive female name. Berber and Levantine culture has the alternative spelling "Aisha" as a female name without "_Ayesha", which feels like an oversight, particularly as regnal numbers will be messed up if both spellings are used. I wouldn't be terribly surprised if there are other names that lack "_<base_name>", though hunting that down is of course time-consuming as it requires looking up individual names to be certain.


Possible improvements:

- I see that "modifier = default_culture_modifier" has been removed everywhere. Given it was an empty modifier, that's not a loss, but perhaps cultures with special mechanics -- such as access to Tanistry -- that don't show up on their own (as opposed to e.g. being able to raid) should get custom text modifiers highlighting this so that that information is easy to find in the game.
 
Last edited:
...
Edit: I found a few more; all Muslims are fine with intermarrying with Qarmatians, but not the other way around, and Qarmatians are fine with intermarrying with Mazans, but they don't feel the same way. Still feels rather inconsistent, ...

The reason could simply be that Quarmatians have been less tolerant to other muslims, hence why marrying people into the community
is restricted, while marrying out is a different issue. In some religions it's the opposite. Depends on if male or female are seen as primary
carriers of the dogma, so to speak. So it would make sense how it is.
Religions often work that way.
 
The reason could simply be that Quarmatians have been less tolerant to other muslims, hence why marrying people into the community
is restricted, while marrying out is a different issue. In some religions it's the opposite. Depends on if male or female are seen as primary
carriers of the dogma, so to speak. So it would make sense how it is.
Religions often work that way.

I'll grant it's not weird for a real religion, but from a gameplay perspective it's a bit weird:

- Player is Sunni, AI is Qarmatian: The AI will neither offer nor accept intermarriage (lack of acceptance can easily be confirmed as the Abbasid caliph targeting the Jannabids in 936), excepting the use of a Favour or either party being Chinese Imperial or nomadic.

- AI on both ends: Neither side will offer intermarriage (outside the above exceptions), but for different reasons; the Qarmatian is not allowed to because they themselves forbid intermarriage, the Sunni can't because the Qarmatian always refuses to consider it (which blocks the AI just as well as the player).

- AI is Sunni, player is Qarmatian: The player won't get marriage offers (outside the above exceptions) because the AI acts as if they're targeting an AI (at least to my knowledge), but they can freely make them, and the AI is receptive to them (easily confirmed by playing as the Jannabids in 936 and targeting the Abbasids with marriage offers), meaning they're effectively playing by different rules from the AI since they are fully able to get marriages and any resulting NAPs/alliances/claims/etc. that the AI simply can't get regardless of ai_zeal or any other factors since it's not allowed to contemplate it.

Granted, CleanSlate doesn't allow achievements, so that's no concern (and I don't particularly care about achievements or how anyone else goes about getting them...), and I imagine multiplayer games can house rule it if they so desire, but to me it feels like a possible oversight by the vanilla devs.


Tangential, but this got me looking at the Cosmopolitan/Dogmatic reformation (and alt start religion) setup, which has a weird implementation (if consistent with vanilla):

- Religion A reforms as Cosmopolitan, followed by B going Dogmatic. Result: A is perfectly fine with intermarrying with B, B is not fine with intermarrying with A (in AI hands, excepting Favours/nomads/CI), effectively rendering intermarriage impossible. Very broadly speaking, this is similar to Sunni-Qarmatian; I'd say it's a point in favour of "One religion can be less restrictive than the other, much like in real life".

- Religion B goes Dogmatic, followed by A going Cosmopolitan. Result: Both religions are completely fine with intermarriage with each other despite B's reformation explicitly being opposed to that ("This religion does not allow marriage with infidels" is in the description if you pick Dogmatic). This is very much not consistent with religions being allowed to have a different amount of tolerance towards intermarriage with each other.

Regardless of whether two religions not agreeing as to whether the two of them can intermarry is plausible or intentional, I'd say that the order of reformation -- or the order of the alt start setup effect being executed, which isn't something you have any control over as the player -- should not have an impact on the Dogmatics' willingness to intermarry; "Your ways are sick and wrong, and we hate you! Oh, you think we should be fine with intermarriage now? Well, I guess we have to be, because you got the last word in!" feels very implausible (unless said sarcastically...), and strikes me as unintentional.
 
I'll grant it's not weird for a real religion, but from a gameplay perspective it's a bit weird:

The point i was trying to make was that it could be on purpose to be possible for the player.

Of course it could be a bug/oversight, but it appears to be always blocked as well for the player with other religions and heresies
(the two i tested :rolleyes: and as far as i recal), which is at least why i could imagine that the player shall have the option to marry this way, if there is no other avenue. I thought of that especially as you also mentioned the Qarmation-Mazdan interaction in your post i had responded to.

Apart from that, as a qarmatian you might otherwise simply not find someone to marry.
Could make for an early game over for the player.
Just an idea and a thought, as you appeared so sure of it being an oversight. ;)

Whizzer will likely have an insight when looking at the files, i suppose.
Sure better than me. I currently don't even know where to look.

Anyway, just my 2 cents :cool::p
Cheers

PS: A quick search of the Bug subforum suggests to me that the Qarmatians didn't get much love in development,
so it's probably indeed an oversight,.....but hey, i had my thoughts on that which i wanted to share.
Free speech and all that. :D

PS2: The use of smilies is solely to prevent misunderstandings. I haven't suddenly turned twelve.
 
Last edited:
Another set of minor things that don't impact gameplay.

Cosmetic issues:

- The spacing between the closing curly bracket for one religion and the next religion tag is inconsistent between files, as is the spacing between god_names and evil_god_names. I personally prefer extra spacing, but it could be made consistent in either direction.

- There's a lot of empty lines in 00_cultures.csv, as well as a bunch of non-vanilla culture tags towards the end. The file is also weirdly sorted; I think the order matches vanilla's culture group (and culture) order, rather than being alphabetical.

- The spacing in 00_religions.csv is quite odd, and there are both unsorted and unrelated strings at the bottom.


Vanilla oddities:

- There are a few places, e.g. customizable_localisation and death_text, where all Crusader-equivalents are checked in an OR instead of using has_crusade_trait_trigger, which seems like something that could be changed so that it's sufficient to update one OR if you add more such traits.

- Warrior Lodges has +1 currency off of having a pagan Crusader-equivalent. That feels like something that could be simplified with a slightly modified has_crusade_trait_trigger.


CleanSlate issues:

- god_names and evil_god_names have been partially alphabetized, but not for all religions. I'm putting this here rather than under "Cosmetic issues" because while it does not affect gameplay it's possible there are cases where more important gods have ended up behind less important ones due to alphabetization, which might be unwanted during gameplay even if it's just cosmetic.
 
Cosmetic issues:

- The Norse Saintly bloodlines (all versions) are saintly_bloodline_germanic_<number>. Given that the tag for the religion still is *norse*_pagan_reformed, that's inconsistent, so I would suggest either reverting it or making a consistent mod-wide change to germanic_pagan/_reformed. I'd personally go with norse_pagan (and thus "norse" rather than "germanic" in the bloodlines) since I'm accustomed to that tag and as I suspect it'd cause fewer issues for other mods that might use norse_pagan for their internal files and/or that might have a separate germanic_pagan, but an argument can be made for consistency with the name shown in the game.

- If norse_pagan and its reformed version is renamed, it should be noted that west_african_pagan and its reformed version are called "African" in the game, so a case can be made for renaming the tags to african_pagan<_reformed>, though I believe the religion is close-ish to some West African religions rather than some pan-African religion, which is an argument against it.


Vanilla oddities:

- saintly_bloodline_<religion>_05 all require being Christian, which feels rather weird considering the founder isn't a Christian for the pagan versions. I suspect a vanilla copy-paste error, seeing as +15 Jewish opinion means it's not exactly a worthless bloodline (at least not if we assume there are Jewish characters around) even without being able to take Jewish loans... though I vaguely recall something about those bloodlines perhaps not being scripted as earnable since I noticed they're not in Tianxia; perhaps a vanilla bug that's been fixed, perhaps a figment of my imagination.

- While consistent with vanilla, I feel the Kinslayer trait setup is potentially odd, seeing as it can be "forgiven" (forgotten, more like it...) by changing religion/government regardless of whether you stick with the new religion/government for long and regardless of whether your pissed off dynasty members (and the world at large) converts alongside you. Perhaps kinslayers of varying severity should also be flagged as kinslayers (maybe cleared by the Pope if he forgives it, even if it also is a bit weird that people following other religions takes his word for it being forgiven and him not un-forgiving it if you convert...) of the relevant severity and given the relevant trait on conversion/government change (and possibly on_yearly_pulse for rulers, to catch anyone that unexpectedly flips tribal/non-tribal). The "Going Muslim makes you lose Kinslayer" implementation is pretty old (from SoI, if memory serves), but the government loophole is from 3.0 unless I misremember.

- Consistent with vanilla, and a long-time implementation, but a rather bad setup due to vanilla forgetting about it in various places: Muslims are scripted as unable to get the Scholar trait, and the Faqih trait is scripted as an opposite of Scholar. However, Muslims can join the Hermetics, and Hermetic Muslims are not blocked from picking the event option that is supposed to give Scholar in the "Pick a Hermetic art" event chain, resulting in them not getting anything (and wasting the society currency they initially spent). Additionally, someone that's a Scholar and converts to a Muslim religion will immediately become quite a bit stupider (Scholar is +3 Learning, so losing it is rather noticeable). They can also (if I'm reading things correctly; it's a bit less straightforward) "get" Scholar from the Scholarship Focus' heliocentric path observatory event chain, and it's somewhat likely to be bad in other places (e.g. any event that supposedly spawns a Scholar with a random religion will give you someone without the Scholar trait if the random religion happens to be a Muslim religion, with no compensation Faqih trait).

I'd say there are some different ways this issue (in its various forms) could be resolved, such as re-localizing Scholar as Faqih for Muslims and removing Faqih (potentially weird as it lets actual Faqih characters keep the learning boost after conversion to an unrelated religion that presumably doesn't value that kind of knowledge), explicitly handing out Faqih instead of Scholar for Muslims (even if that'd be weird as a result of "Studying astrology" and the like), or -- what I'd propose, even if is a deviation from vanilla -- allowing both traits for Muslims (with any blockers removed, e.g. in the non-WoL lifestyle events) but potentially redesigning Faqih a bit; +3 Learning from both is potentially a concern (even if the Faqih event chain is rare-ish from what I recall...), so maybe having it be +1 Learning, some monthly piety, and some same religion/Muslim opinion would be a better setup.

- Long-time vanilla design oddity: Only Christian, Muslim, Norse, Tengri, Aztec, and Zoroastrian (Mazdan?) priests/rel heads can be Immoral/Wicked/Unworthy. There is some difference as to which traits qualify you, so it looks somewhat deliberate, but it's a bit strange, and if it's deliberate it's hard to say whether it is "We only wanted to do it for these religions" or "We only had time to do it for these religions and will return in the future [but never got around to it]"; vanilla picking favourites even for comparably straightforward work (ignoring the icon, it's largely copy-paste) isn't exactly unprecedented (the original plan to not give any non-Norse pagans Crusader-equivalents comes to mind...).

- On the same theme as the Kinslayer loss on conversion: Traits like Faqih, Wicked Priest, branch traits and the like, while sensible to clean up if someone converts and keeps an unrelated religion should perhaps also apply flags and be restored on reconversion, seeing as e.g. a Mahayana Buddhist that fakes conversion to Catholicism reasonably could be assumed to once more seek to be a Mahayana Buddhist if they go public with their secret religion.

- on_indian_pilgrimage has "NOT = { trait = pilgrim }". The Eastern religions have a unique indian_pilgrim trait, so that's probably a mistake caused by copy-paste.

- Consistent with vanilla, but a strange design decision: The Taoist schools are modifiers rather than traits, which is inconsistent with the other religions with branches, means the different Taoist branches can't have the customary -5 opinion of each other, and means the branches explicitly need to be cleaned up on conversion (as opposed to clearing themselves out because you fail the potential).

- Suspected to be present (it's something we noticed in Tianxia), as I don't see anything in the changelog that makes me think otherwise: Characters that (publicly) convert to Hinduism/Buddhism/Jainism(/Taoism) for many reasons (a few, but not all, decisions being exceptions) -- say due to their educator converting them, due to losing a holy war, or due to a SRS going public -- don't pick up any branch/school traits, nor do characters that don't have them for other reasons, seeing as the AI doesn't ever use the "Change [or get a] branch" decision. Having an on_yearly_pulse event for AI rulers of those religions to make them pick a random branch (and also applying it to branch-less courtiers of theirs) would perhaps be a good idea, or something similar to the Autonomous pagan branch selection on_adulthood.

- Present since release, unless I'm mistaken: Events 61141/2 (in base_regency_events.txt), where the regent attempts to (and succeeds, in the latter) declare a child ruler insane to keep the regency going, adds the Incapable trait. Now, the insanity traits (Lunatic/Possessed) don't force a regency, so that's a good reason not to use them here, but the Incapable trait lowers all stats by 6, lowers health by 3, counts as a negative health traits, lowers fertility by 30 %, lowers PCS by 100, enables the decision to attempt to kill yourself (with the description if you attempt it being along the lines of "Ruler that can't speak attempts charades to get someone to assist", if I remember correctly), and very likely has assorted other "fun" side-effects scattered across various files because there's nothing that checks "Is this character Incapable, or is their regent making that up?" in assorted places where it'd be relevant.

The regent curtailing the ruler's ability to do much in this situation is quite reasonable, but -6 to all stats is pretty extreme (only the Imbecile trait beats that, to my knowledge) when the vanilla logic is severely lacking (the AI always goes for it if it gets the event, and the success rate is 35 % regardless of the traits and stats of the regent and the ruler...), chances are most dangers to your health in that kind of situation would come from "unfortunate accidents" and the like rather than actually being physically unwell, it's likely you'd prefer to keep living to make the treacherous regent pay... and you can't go Incapable for real if this happens (or at least get a comparably easy way to get rid of it) since there's the "You've got a new regent, and they undo what was done to you, removing the Incapable trait" event that can happen later. In short, I'd say that the implementation is not particularly good for a number of reasons; I settled on adding a lesser incapable_according_to_regent trait in Tianxia that carries rather fewer penalties, doesn't count as an illness (or affect health), and doesn't impact your ability to actually become (and remain) Incapable, but that's perhaps not the only solution.


Possible improvements:

- The (human) dynasty file is pretty large (a bit over 50k lines). Though it'd take some time as the file is unsorted, maybe it should be split on a culture group basis.
 
  • 2
Reactions:
CleanSlate bug (?): Nomadic CoA frames show up as the normal CoA frames for the relevant religion, not the normal nomadic one (the screenshot below is from an unmodified 6.1 version). I suspect it's due to there being no mongolgfx CoA frames in CleanSlate. It is kind of nice to have a better idea of the religions currently found in the steppes, however, so perhaps it should be rebranded as "feature" despite being inconsistent with vanilla.

ck2_3.png
 
More assorted stuff I've noticed:


Cosmetic issues:

- The Warrior Lodge leadership traits and the Chinese leadership traits' tags don't match their in-game names. Seeing as a bunch of traits have been renamed to more closely match their in-game names, that's a bit odd.

- is_ill_trigger is listed as an existing trigger in 00_disease_triggers.txt, but it has been removed.

- The formatting for some Sunni Khitans starting with character 93259 is horrible, and could be greatly improved. It's a vanilla issue present in CleanSlate.

- Vanilla inconsistently uses trait = <trait> and add_trait = <trait> in the pre-birth date character definition in the character history files. Consistency might be preferable.


Vanilla oddities:

- Crusade weights are weird in places. For example, the Tengri crusade weights don't have weights for some kingdoms containing their holy sites, and despite the "Aztecs take [location]" events claiming that Gizeh is declared "the holiest place outside Tenochtitlan" they don't have any crusade weights for k_egypt. It feels pretty weird, considering that once the weighted kingdoms have been taken the AI goes for the "Throw darts at the map" approach rather than some kind of sane "Pick nearby kingdoms" approach, so sanity-checking important stuff might be worthwhile.

- Possibly outside the scope of CleanSlate, but vanilla's approach to offmap China-related characters is very sloppy in places; for example, some pretty famous Buddhist rulers of China (Wu Zetian, for one) are scripted as Taoists, presumably because a dev was copy-paste happy. If you're interested, Tianxia's changes to vanilla character history are certainly something we'd be quite happy to share, in whole or in part.
 
Some more assorted:

CleanSlate bugs:

- Several createable titles (e.g. the Stem Duchies and the Latin Empire) lack can_create_<tier> checks.

- is_aztec_secret_religious_society_member_trigger checks for secret_religious_society_aztec<_reformed> rather than aztec_pagan<_reformed>.

- is_bon_secret_religious_society_member_trigger and is_hellenic_secret_religious_society_member_trigger don't have the society_member_of = secret_religious_cult check the rest of the SRS triggers have.

- leave_council_position_effect does not make advisors resign if I'm reading the script correctly, seeing as it looks for the job_title councillors only.

- There's no add_trait_silently_infirm_effect or add_trait_silently_just_effect. Seems like an oversight, as some others have been added. There are also still some TODOs in the file; I'm mentioning them in case they've been forgotten about.


Vanilla oddities:

- India cannot be recreated if destroyed after creation, despite it instantly de jure-drifting stuff. Feels like a possible oversight.

- The Roman Empire cannot be recreated if destroyed after creation, despite it instantly de jure-drifting stuff. Feels like a possible oversight.

- The HRE cannot be recreated if destroyed after creation, despite it instantly de jure-drifting stuff. Feels like a possible oversight, though unlike the two above I believe it's recreateable by decision.

- The AI can only create Antioch if Catholic. Fraticelli AIs should perhaps also get to do that, seeing as the justification presumably is "Crusader state".

- has_pious_trait_trigger does not account for Eastern pilgrimage traits. Presumably an oversight.

- has_unattractive_trait_trigger does not consider the Cat trait unattractive, but considers the Horse trait unattractive. Presumably an oversight.

- is_unimportant_trigger does not consider the Cat trait a mark of importance, but considers the Horse trait a mark of importance. Our feline overlords would like to note this is all kinds of wrong.

- interesting_face_trigger considers Horse faces distinctive, but not Cat faces. Presumably an oversight.

- is_virgin_trigger can be true for concubines, and does not care about assorted seduction-related modifiers (incestuous_adulterer, incestuous_adulteress, adulteress, adulterer, known_sodomite, known_sodomite_pagan, cradle_robber, adulterous_priest). Seems like vanilla oversights.

- can_be_maimed_trigger checks for not having any RD maimed trait, not for not having all RD maimed traits. Seems weird, as being e.g. one-armed shouldn't really prevent becoming e.g. one-legged.

- can_be_maimed_trigger checks for one_eyed, but not for blinded. Seems like being blinded also should count, as that's rather more disabling than being one-eyed.

- female_can_hold_minor_title_trigger does not check for religion_feature_bon. It really should, seeing as that gives Equality.

- female_can_hold_minor_commander_title_trigger does not check for religion_feature_bon. It really should, seeing as that gives Equality.

- can_enter_festival_physical_competitions_trigger neither checks for Equality nor for religion_feature_bon. Seems like an oversight.

- is_indian_secret_religious_society_member_trigger does not exclude Taoists, despite there being a separate is_taoist_secret_religious_society_member_trigger. Seems odd.

- None of the scripted_effects in 00_army_effects.txt consider the possibility of the religion being Equal or Enatic, which feels like an oversight.

- decrease_prosperity_effect does not lower prosperity if it's not at level 3. It should presumably lower it by one tier if positive regardless of level.

- unprotected_sex_effect and unprotected_sex_effect_event_target (and potentially impregnation chance in general; vanilla's tumbling logic is -- as I'm sure you know -- a mess...) interacts oddly with the Celibate trait in that a character that tumbles someone keeps the Celibate trait and therefore isn't ever going to risk a pregnancy. There are of course *ahem* options as to how the tumbling could go down without there being any risk of pregnancy, but seeing as non-Celibate characters aren't able to take advantage of them (outside of same-sex tumbling, of course) it feels inconsistent, and perhaps anyone that tumbles someone should lose the trait as they're really not being Celibate.

- The Crown of Thorns is scripted as in the hands of the (post-Fourth Crusade non-existent) ERE until 1238. It was historically in the grubby hands of the Latin Empire after they took Constantinople up until the French got it (excluding the transit by way of Venice).
 
  • 1
Reactions:
Weird, possibly CleanSlate-caused bug:

I'm getting a warning telling me that my heir has an unplayable religion...

ck2_15.png


... but my heir follows my religion.

ck2_16.png

ck2_17.png


The expected alert would be "No heir of your dynasty", which I manage to get in another Shinto-Shinto situation with a non-dynastic heir (viceroyalty is inherited by the Tenno, other titles by non-dynastic Shinto son)...

ck2_18.png


... and I don't get any alert when it's a same-dynasty Shinto heir (for the counties; the viceroyalty once again goes to the Tenno).

ck2_22.png

ck2_23.png


Best guess, it has something to do with religion heads, seeing as the Tenno is scripted as one.
 
Some more assorted stuff:

CleanSlate bugs:

- GFX_settlement_temple_norsegfx_tengrigfx_looted uses the non-looted picture.

- GR.30 seems like it might add the Mirza trait to Sayyid children, which would be weird.


Cosmetic issues:

- Several plague patterns list the individual regions in India and could instead use world_india.

- The event localization files' sorting is quite different in places. For example, 00_events_adventurers_negotiation.csv is sorted alphabetically, while 00_events_job_spymaster.csv is sorted event-by-event. I personally find the latter much more convenient when looking up a specific event.


Vanilla oddities:
- The "Hymns to the Old Gods" songs can only fire for North Germanic cultures; could potentially be right, but "Norse" could also be norse_pagan<_reformed>, so maybe the songs in question should also be available for those Norse.

- "Gulf of Riga" can play for pagan_group, but is presumably primarily meant for pagan religions plausibly found near the Gulf of Riga (Baltic, Slavic, Finnish, Norse), considering the culture check.

- The "Songs of Byzantium" can play for Byzantine cultures and Romans, but not Hellenics. Feels like a possible oversight.

- Very minor, but the "Songs of India", particularly "Charge of the War Elephants", should perhaps play for Elephant culture rulers.

- The "Songs of the Steppes" can only play for Altaics. Hungarians, Alans, possibly Horse culture characters, and perhaps Tengri and/or Nomads might also make sense. Oh, and Jurchen culture characters get the music, which is a bit weird as they weren't nomads historically (and none are scripted as such in the game).

- death_text_crusader does not check for kaliash_guardian, crusader_king, or crusader_queen. Seems like an oversight.

- Event 301 option C removes BitP even if the mother rules the ERE/RE; potentially wrong.

- Event 301 option C removes Sayyid, but does not check if Mirza should be applied.

- There are several instances -- e.g. CK2.18004 -- where the Kshatriya trait (or occasionally other caste traits) is added to characters that has_dharmic_religion_trigger = yes. However, seeing as only Hindu characters care about castes and as there are at least Buddhists in places that very much did not care about castes, this is rather silly. I suggest adding and using something like "has_caste_traits_trigger", checking if the character is Hindu or has a culture with castes = yes, and applying the trait only if the character passes that trigger.

- Event 37253 can result in incompatible lovers in option B. It should either be blocked if incompatible or not result in the characters becoming lovers (making it do nothing).

- Event 100522 option A should result in death_murder_unknown_poison with FROM being the killer if Intrigue < 15, death_murder_poison with the killer being FROM if Intrigue >= 15.

- Event 100522 option B and C should result in an attempted_murder opinion towards FROM if Intrigue is >= 15.

- base_friends_rivals_events' attempted revenge killings don't really seem to be handing out (attempted) murder opinion penalties when discovered, nor setting killers (known or not) when someone is killed.

- GR.30 seems to be able to override the mothers of historical characters, which is a pretty bad setup; the historical mother isn't necessarily the spouse of the father, and a missing mother isn't necessarily a mother that's desirable to replace with a fictional character as the missing mother could be an intentional omission (e.g. the mother is known to NOT have been the spouse of the father) or a known missing character. Also, from a modding perspective, it seems like something that'd potentially result in false "This character has the incorrect mother!" bug reports.

- GR.30 adds Kshatriya based on ROOT, but doesn't assign other caste traits even if ROOT has them. Seems pretty weird.

- Event 100511 should result in death_murder_unknown_arrow, with FROM as the killer, should the attempt succeed; it a hunting "accident", not a hunting accident.

- Event 100511 option A, C, D should result in an attempted_murder opinion towards FROM if Intrigue is >= 10.

- Event 75010 should probably require the chancellor (explicitly male) to not be Homosexual.

- Events 75040 and 75050 potentially don't make sense with a Cosmopolitan or Peaceful (including Jain) religion; the Court Chaplain is a Zealot, sure, but if the religion either preaches coexistence or pacifism then burning/banishing non-believers is pretty far from the tenets of the religion.

- lordspiritual.801 cannot fire for Mazdans, which feels odd as they have heresies.

- Events 8500, 8505, 8510, 8515, 8600, 8605, 8610, and 8615 really only should fire if the top liege has the same religion as ROOT; letting the Templars/Hospitallers set up shop makes little sense otherwise, and could be downright dangerous.

- Event 64120 can randomly select consorts that are your lovers, which seems unintended.

- Event 30050 option C is unavailable even if the spouses' only lovers are their spouses/consorts; potentially wrong.

- Event 30050 does not check orientation properly.

- Event 30051 option C is unavailable even if the spouses' only lovers are their spouses/consorts; potentially wrong.

- Event 30051 option E is unavailable even if the spouses' only lovers are their spouses/consorts; potentially wrong.

- Event 30051 does not check orientation properly.

- Event 30105 does not check orientation properly.


Localization:
- chancellor.302's localization falsely assumes that the chancellor always is male.

- chancellor.306's localization falsely assumes that the chancellor always is male.

- chancellor.309's localization falsely assumes that the chancellor always is male.

- chancellor.403's localization falsely assumes that FROM always is male.

- chancellor.501's localization falsely assumes that the local noble always is male.

- chancellor.502's localization is a bit awkward ("[...] turn us against my liege [...]"). I'd change "my" to "our".

- chancellor.504's localization falsely assumes that ROOT always is male.

- chancellor.505's localization falsely assumes that the imprisoned ex-chancellor always is male.

- chancellor.506's localization falsely assumes that ROOT always is male.

- chancellor.506's localization falsely assumes that the imprisoned ex-chancellor always is male.

- chancellor.507's localization falsely assumes that the chancellor always is male.- EVTOPTB75075 assumes the steward is male, and "Prevent [HerHim] doing any harm [...]" seems like it should be "Prevent [HerHim] from doing any harm [...]".

- EVTOPTA75080 "Pay to stop criminals" feels like it should be "Pay to stop the criminals".

- EVTDESC39651 and EVTDESC39652 assumes the local pagan "lord" is male, which might not be the case.

- EVTDESC39653 assumes that the other preacher is male, which might not be the case.

- evt_lordspiritual_002_desc_a should have Root.GetLordSpiritualName, not From.GetLordSpiritualName.

- evt_lordspiritual_501_desc_a assumes the local "bishop" is a bishop (as opposed to a [Root.Religion.GetPriestTitle]), and also assumes the sender is male even though they might not be.

- evt_lordspiritual_601_desc_a assumes the local "bishop" is a bishop (as opposed to a [Root.Religion.GetPriestTitle]), and also assumes they're male (they should be an event target, and gendered appropriately).

- evt_lordspiritual_602_option_a assumes the rel head is male, which they might not be (they should be an event target, and gendered appropriately).

- Minor, but the (non-character) great philosopher in lordspiritual.701/702 is always assumed to be male, which might be a bit weird if the religion is Enatic. A gender neutral "them" might be better.

- evt_lordspiritual_801_desc_a "[...] a religion considered heretic. [...]" should presumably be "[...] a religion considered heretical. [...], and similar for evt_lordspiritual_801_option_a's "heretic".

- evt_lordspiritual_1101_desc_a assumes your liege is male ("master", rather than [Root.Liege.GetMasterMistress]).

- evt_lordspiritual_1201_desc_a assumes your liege is male ("master", rather than [Root.Liege.GetMasterMistress]).

- evt_marshal_102_desc_a "Marshal" should be [From.Liege.GetMarshalName].

- evt_marshal_102_option_a_tooltip should probably have "From" rather than "This", as "This" presumably is "Root".

- evt_marshal_103_desc_a assumes the local noble is male, but they might not be.

- evt_marshal_103_desc_a "Marshal" should be [From.Liege.GetMarshalName].

- evt_marshal_104_desc_a "Marshal" should be [From.Liege.GetMarshalName].

- evt_marshal_302_desc_a "Marshal" should be [From.Liege.GetMarshalName].

- evt_marshal_302_desc_a assumes that the marshal is male.

- Minor, but evt_marshal_401_desc_a refers to the raised raiders as "men", which might be weird with Enatic Clans.

- Minor, but evt_marshal_402_desc_a refers to the raised raiders as "men", which might be weird with Enatic Clans.

- evt_marshal_404_desc_a "[...] have grown tired of my effeminate pacifism and gone home to their wives [...]" yet again assumes male raiders (or same-sex marriages...), and "effeminate" feels weird with Enatic Clans. Also, "[...] and gone home [...]" feels like it should be "[...] and have gone home [...]".

- evt_spymaster_002_desc_a "spymaster" should be [From.Liege.GetSpymasterName].

- evt_spymaster_002_desc_a assumes the spymaster is male.

- evt_spymaster_002_option_b assumes the spymaster is male.

- evt_spymaster_003_desc_a assumes From is male, which isn't necessarily true.

- evt_spymaster_004_desc_a "Spymaster" should be [Root.GetSpymasterName].

- evt_spymaster_101_title "Thugs Attack the Spymaster" is rather awkwardly worded, seeing as the spymaster gets the event.

- evt_spymaster_105_desc_a "Spymaster" should be [Root.GetSpymasterName].

- evt_spymaster_202_desc_a "Spymaster" should be [Root.GetSpymasterName].

- evt_spymaster_302_desc_a "Spymaster" should be [Root.GetSpymasterName].

- evt_spymaster_401_title "Spymaster Study Technology" is rather awkwardly worded, seeing as the spymaster gets the event.

- evt_spymaster_402_desc_a "Spymaster" should be [Root.GetSpymasterName].

- evt_spymaster_501_title "Spymaster Discovered" is rather awkwardly worded, seeing as the spymaster gets the event.

- evt_spymaster_502_desc_a "spymaster" should be [From.Liege.GetSpymasterName].

- evt_spymaster_503_desc_a "spymaster" should be [Root.GetSpymasterName].

- evt_steward_101_title "Peasants Attack the Steward" is rather awkwardly worded, seeing as the steward gets the event.

- evt_steward_203_desc_a "steward" should be [Root.GetTreasurerName].

- evt_steward_301_title "Meets Master Builder" is rather awkwardly worded, seeing as the steward gets the event.

- Minor, but the (non-character) Master Builder in steward.301/302 is always assumed to be male, which might be a bit weird if the religion is Enatic. A gender neutral "their/they" might be better.

- evt_steward_302_desc_a "steward" should be [Root.GetTreasurerName].

- evt_steward_402_desc_a "Steward" should be [From.Liege.GetTreasurerName].

- evt_steward_402_desc_a assumes From.Liege is male.

- evt_steward_404_desc_a "Steward" should be [Root.GetTreasurerName].

- evt_steward_406_desc_a "Spymaster" should be [Root.GetSpymasterName].

- evt_steward_703_desc_a "effeminate pacifism" might not be good with Enatic Clans.

- EVTDESC8500, EVTDESC8505, EVTDESC8510, EVTDESC8515, EVTDESC8600, EVTDESC8605, EVTDESC8610, EVTDESC8615 all refer to "the ruling Count there", who might not be a "count". I'd change it to "the local ruler", though as the event only fires for holy order grandmasters it's not terribly noticeable.

- EVTDESC30061 incorrectly assumes that the chancellor always is male.

- EVTTOOLTIPA30062, EVTTOOLTIPA30065, EVTTOOLTIPA30067, EVTTOOLTIPA30071, EVTTOOLTIPA30074 [Root.Spouse.GetFirstName] should be [From.GetFirstName]; the events can fire for secondary wives with polygamy.

- EVTTOOLTIPB30062, EVTTOOLTIPB30065, EVTTOOLTIPB30067, EVTTOOLTIPB30071, EVTTOOLTIPB30074 [Root.Spouse.GetFirstName] should be [From.GetFirstName]; the events can fire for secondary wives with polygamy.

- EVTDESC30061, EVTDESC30064, EVTDESC30067, EVTDESC30070, EVTDESC30073 [Root.Spouse.GetFirstName] should be [From.GetFirstName]; the events can fire for secondary wives with polygamy.

- EVTDESC30064 "Marshal" should be [Root.GetMarshalName].

- EVTDESC30067 "Steward" should be [Root.GetTreasurerName].

- EVTDESC30067 assumes that the steward always is male.

- EVTDESC30070 "Spymaster" should be [Root.GetSpymasterName].
 
Some more stuff; a lot of it related to vanilla misses related to Equal/Enatic, flawed assumptions about the characters getting the event, likely oversights surrounding polygamy, and Random World making localization strings weird.


CleanSlate bugs:

- Meritocracy is incompatible with Agnatic/Enatic Clans. This makes sense under the vanilla assumption that the latter two enforce Open Succession, as that makes Meritocracy a worthless pick, but as CleanSlate only gives the option to get Open Succession with Agnatic/Enatic Clans it's a potentially useful pick even if you can't take advantage of Heir Designation and Open Succession at the same time.

- HF.23774 shows a bunch of "dummy" traits, presumably due to the random_lists not being in hidden_tooltips as in vanilla.

- Event 20 sanity checks for married "adultery", but not "adultery" with a concubine. Seems like an oversight.

- Event 69036 has transfer_scaled_wealth in option A... limited to 50 gold min and max. Seems needlessly complicated when a flat 50 gold could be used.


Vanilla oddities:

A lot of this is suspected equality/enatic misses and suspected polygamy and "spouse" rather than "any_spouse" misses.

- Character 248146 holds c_sinjar 1258-1284. He's scripted as dead from 1282.

- Event 24502/24503/24504 does not check if the father is a eunuch or otherwise unlikely or unable to have children. Seems like a mistake.

- Event 24502 checks whether ROOT has one worse brother, not whether ROOT has no good brothers. Seems wrong, as there could be a much better brother.

- Event 24502 only checks if the brother has < 8 Martial, but checks if ROOT's Martial and Stewardship is >= 8. Seems inconsistent, and might potentially call for attribute_diff.

- Event 24502 checks all of ROOTs brothers and fires an events for ROOT's father, meaning ROOT's half-siblings on the mother's side count, and as the father's spouse does not have to be ROOT's mother that can result in weird things.

- Event 24504 tells you that your wife is pregnant at conception. That's inconsistent with every other pregnancy notification except Unholy Impregnation, so it should perhaps be hidden. Also, it's desc doesn't really fit a Kind character or someone that loves the spouse in question.

- Event 24504 is a guaranteed pregnancy (assuming a valid spouse). Rolling once on unprotected_sex_effect might make more sense.

- Event 24503/24504 only work with a suitable wife, not with a suitable concubine. Might be unintended, as the events predate tOG.

- Event 20 does not hand out opinion_unfaithful_husband_crime under Enatic Clans. It'd presumably be criminal in that case, much like under Equality.

- Duels during feasts are restricted to male vassals. Women that pass female_can_hold_minor_commander_title_trigger = yes or similar should perhaps be eligible.

- Event 30000 can fire with polygamy, and should perhaps use any_spouse and an event target.

- Event 30001 seems like it should work for Fraticelli characters.

- Event 30004 can fire with polygamy, and thus event 30005, 30007, and 30011 should target FROM rather than spouse. The localization would also need updating.

- Event 30020 can fire with polygamy, and should perhaps use any_spouse and an event target.

- Event 30021 can fire with polygamy, and should perhaps use any_spouse and an event target.

- Event 30025 can fire with polygamy, and should perhaps use any_spouse and an event target.

- Event 30039 can fire with polygamy, and should perhaps use any_spouse and an event target.

- Events 30055-30059 can fire with polygamy, and should perhaps use any_spouse and an event target. The localization would also need to be updated.

- Events 30061, 30064, 30067, 30070, and 30073 can fire with polygamy (through alt starts/reformations), but always use the primary spouse. Seems like any_spouse plus an event target would make sense.

- Events 30077, 30078, and 30081 could be triggered under polygamy, but always reference the main spouse.

- Event 30085 can fire with polygamy, and should perhaps use any_spouse and an event target.

- Events 30101 and 30102 can fire with polygamy, but always assumes FROM is the primary spouse.

- Event 73211 requires only_capable = yes, which is not the case in any of the similar events in this file. Seems inconsistent.

- The AI logic for the follow-up events for event 8720 makes very little sense if the liege(s) don't have the same religion as the character wishing to give land to the Teutonic Order; it'd be quite weird to give land to a different religion's holy order, particularly a hostile one.

- Event 78015 makes little sense if ROOT does not have a wife that could get pregnant.

- Given its localization, event 78015 makes little sense if ROOT is not interested in sleeping with his wife (Celibate, Homosexual, hates her).

- Event 78015 can fire with polygamy, and should perhaps use any_spouse and an event target.

- Event 62014 can hand out the Crusader trait regardless of whether the war is a Crusade or the attacker is from a crusading Christian religion, which seems very weird.

- Event 65035 seems like something to perhaps hook into the artefact system; vanilla added artefacts for pre-MNM stuff (e.g. the +2 Axe), and it's conceivable they missed this event as it's not overly common.

- Event 65036 can only trigger for publicly Christian characters, but option B checks for having a Muslim religion as your public religion. Looking at the localization, it'd probably work for all Abrahamic religions.

- Event 65036 option A has a sinful or Chaste character get annoyed with you for your bragging. Seems like it should be Humble rather than Chaste.

- Event 65091/65092 creates a character named Hope... which can result in silly things as there are no cultural restrictions on where the event fires and any descendants might be named after Hope. I'd change the name and localization.

- Event 69020 should probably not target eunuchs; it's public enough knowledge that someone is a eunuch (attraction penalties, inheritance blocking...) that any lack of children realistically shouldn't be blamed on impotence.

- Event 69023 should probably not target eunuchs; it's public enough knowledge that someone is a eunuch (attraction penalties, inheritance blocking...) that any lack of children realistically shouldn't be blamed on impotence.

- Event 69024 should probably not fire for eunuchs; it's public enough knowledge that someone is a eunuch (attraction penalties, inheritance blocking...) that any lack of children realistically shouldn't be blamed on impotence.

- Event 69030 and it's follow-ups assume the adulterer is sleeping with a woman, but does not check if the adulterer (always male) isn't Homosexual. Seems like an oversight.

- Event 69037 and it's follow-ups assume the adulterer is sleeping with a woman, but does not check if the adulterer (always male) isn't Homosexual. Seems like an oversight.

- Event 69038 can only target the primary wife, and doesn't check if the couple has children together. Seems like the trigger could be better and an event target selecting a random spouse could be used.

- Event 69038 makes all sufficiently old children of ROOT angry, not just the children of the upset spouse. This could potentially include bastards ROOT had with the lover the spouse is upset with, which is rather strange.

- Event 69039 refers to a wife and a mistress, but fails to check whether ROOT is male/has a female spouse and whether ROOT has a female lover. Seems like oversights.

- Minor, but event 69040 is -- aside from the localization -- really not something that needs to be limited to male targets, and is a rare enough event that opening it up to female characters might be good.

- Event 69054 is limited to male stewards, but aside from the localization that seems unnecessary.

- Event 69065 is limited to Catholic characters, but probably makes sense for Fraticelli too.

- Event 69066 assumes there is a relevant Caliph (two Muslim denominations don't have one, and Yazidi don't call their rel head a Caliph), that they're male ("Caliph", not "Calipha"), and that they're not ROOT; quite possibly flawed assumptions.

- Event 69070 assumes a male target, but could fire for Enatic or Equal religions. Seems like it could use some adjustments.

- Event 69016 option B should presumably also work for Fraticelli characters.

- Event 69017 can excommunicate a sister that lacks a rel head, has a rel head that can't excommunicate, or has a rel head that'd be fine with incest, none of which make sense.

- Event 3520 does not check if the spouses are compatible, and thus might add incompatible lovers.

- Event 3520 could fire under polygamy in a random start, but always uses the primary spouse.

- Event 3636 option A and the follow-up 3637 can result in duels with a Moorish cannon, regardless of whether there are Moors anywhere at all or whether anyone reasonably has figured out gunpowder anywhere nearby. Might need some sane triggers.

- Event 3020 can only fire for Catholics, but would also make sense for Fraticelli characters.

- Event 3021 can only fire for Catholics, but would also make sense for Fraticelli characters.

- Aside from the localization, event 3140 feels like something that'd make sense for women, particularly with Equal or Enatic Clans.

- Event 3145 has the character be envious of a woman with a "young and healthy son"... but the woman to be envious of is only checked to have any child, living or dead, rather than a young, healthy, and male child. Seems like the conditions need some improvements, and maybe "son" should be "child".

- Event 3145 can only fire for unmarried women, but option C is "Try to look more attractive to my man". What man?

- Event 3145 can fire for Celibate and/or Homosexual women, which might be unintended.

- Aside from the localization, event 3320 feels like something that'd make sense for women, particularly with Equal or Enatic Clans.

- Event 3345 assumes you have male priests, but can fire for any religion. Some localization tweaks, an event target, and removing the is_female = no check would probably be good.

- Event 3375 would, aside from the localization, work quite well for female characters, particularly with Equal or Enatic Clans.

- Event 3555 and the follow-ups can fire with polygamy, but only check for ROOT's primary spouse. Could perhaps use an event target.

- Event 3012 is limited to Temperate characters and potentially removes that trait, but based on the localization it has absolutely nothing to do with temperance, as opposed to justice or charity.

- Event 3570 and follow-ups speak of ROOT having a male friend, but never checks if ROOT has any friends, male or otherwise.

- Event 3610 looks for a male prisoner, but follow-up event 3612 works for either a male or a female prisoner. Seems like an inconsistency, and updating event 3610 and its loc to work for any prisoner feels sensible.

- Event 3635 is restricted to men and looks for a male opponent, but can fire with Equal or Enatic Clans. Seems like an oversight, though the localization currently assumes a male opponent.

- Event 3635's localization speaks of a "local noble", but the local character is not restricted to is_feudal = yes characters. Seems like an oversight.

- Event 3635's localization speaks of a "city", but the location selected for it is not restricted to locations that have cities.

- Some events, such as event 3635, have max_age conditions and/or pre-triggers that perhaps should be practical_age checks; there are places where true age is more sensible, but certainly not all.

- Event 3013 can only target men, but aside from the localization it'd work for women.

- Event 3650 can only select a son, even if ROOT's religion is Enatic or Equal. Additionally, the son selected can be Incapable, which seems unintended.

- Event 3340 speaks of a male friend, but does not check if ROOT has a friend, male or otherwise.

- Event 3370 checks for a same religion group priest, not a same religion priest.

- Event 3370 can only fire for Christian and Muslim rulers, but would work for any religion, making that restriction weird.

- Event 3370 requires a priest that likes you and that you like, but never makes use of them, making said requirement a bit weird.

- Event 3563 can fire under polygamy, but always targets the primary spouse. Might be better with an event target.

- Event 3587 can fire under polygamy, but always targets the primary spouse. Might be better with an event target.

- Event 3005 always targets your primary spouse, but could fire with polygamy in a random world. Might be better with an event target.

- Event 3035 makes little sense if ROOT is homosexual or Celibate.

- Event 3035 always targets your primary spouse, but could fire with polygamy in a random world. Might be better with an event target.

- Event 3105 can fire under polygamy, but always targets the primary spouse. Might be better with an event target.

- Event 3550 can fire under polygamy, but always targets the primary spouse. Might be better with an event target.

- Event 3620 can only fire for men and target men, but would make sense for women under Equal or Enatic Clans.

- Event 3686 can fire under polygamy, but always targets the primary spouse in option B. Might be better with an event target.

- Event 3568 can fire under polygamy, but always targets the primary spouse in option C. Might be better with an event target.

- Event 3593 can fire under polygamy, but always targets the primary spouse in option C. Might be better with an event target.

- Event 6500 can fire for homosexual men, which doesn't make sense based on the DESC, and it also is weird with Celibate.

- CK2.18004 option D always creates a male character, even under Enatic Clans or Equal. Seems like an oversight.

- bear.3.a can only target your primary spouse despite possibly firing with polygamy, and should perhaps use an event target.

- LoR.211 should perhaps have secret Orthodox (or whatever FROM's religion is) characters be rather more likely to convert.

- The "Voice of Jesus" and "Voice of Satan" event chains can fire with random starts, with assorted localization being weird as a result.

- Event 38020 can only fire for Catholics. May or may not make sense for Fraticelli.

- Some events in base_various:_traits_events have max_age = 16, but are intended for children (max_age = 15).

- Event 3260 has only_men = yes, but with Enatic Clans or Equal that might be weird.

- Event 3750 fires for Muslims, but only ever involves your primary spouse. Might be better with an event target.

- Event 73001 can fire with polygamy, but only ever checks your primary spouse. Might be better with an event target.

- Event 73007 can fire with polygamy, but only ever checks your primary spouse. Might be better with an event target.

- Event 65055 has max_age = 16, but requires a guardian.

- Event 10011/10040/10041 creates characters named "Robin" and "Marion" regardless of culture, which could be rather immersion-breaking in places where those names aren't a thing.

- Characters older than 100 years can't event 10100 (Gates of Hell), which is a bit weird.

- Event 261 always creates a male soldier, which might be weird with Equal or Enatic Clans.

- Event 100105 can only fire for men, which is fairly odd as women can be crusading.

- Event 4130 can only fire for men, and I can't really see a reason for it.

- Event 4145 can only fire for men, and I can't really see a reason for it.

- Event 4150 can only fire for men, and I can't really see a reason for it. It also requires ROOT's father to be dead; I suspect that that's due to it being a direct reference to the Queen of Elfland (which I'm largely unfamiliar with), but as the event makes no mention of a dead father it's a bit curious...

- Event 30000 can't fire for characters older than 100, which makes little sense.

- Event 30001 can't fire for characters older than 60, which makes little sense.

- Event 30105 should probably check for practical_age <= 40, not max_age = 40.

- Event 69015 and 69016 have a max_age = 40 for unclear reasons.

- Event 64085 should probably have practical_age rather than max_age.

- Event 64090 should probably have practical_age rather than max_age.

- Event 4015 and follow-ups can fire with polygamy, but don't account for secondary spouses. Feels weird.

- Event 94170 "Berber life" gets pretty weird with a random world or in places where there are no Berbers anywhere close to you.

- Event 94175 is pretty weird if you don't have any deserts in your realm.

- ambition.005, 94010, 94016, 94017 are all Martial increase events, but they're all about stuff that would improve PCS instead. Evidently, the vanilla devs never bothered to update them when PCS became standalone.

- Event 301 (legitimize/acknowledge/denounce bastard) only makes the father's primary spouse upset, as opposed to any_spouse; fairly weird as you've cheated on all of them.

- Event 301 (legitimize/acknowledge/denounce bastard) only makes one consort ("consort") of the mother upset, as opposed to any_consort. As of HF, the assumption that women always are the junior consort party is flawed.

- Event 100000 should check if ROOT's guardian's employer has a spymaster; it's possible they temporarily don't have one, in which case the event makes no sense.

- Event 100019 should probably not select a Homosexual or Celibate character as lustful_courtier, the trait-related OR for lustful_courtier should probably include Master Seducer (it's an odd omission, seeing as the event can fire with WoL), and shy_courtier should presumably neither be Celibate, Homosexual, nor a Master Seducer

- target_courtier in event 100040 should not be Homosexual; event 100041 has the girl in question "kind of flirting with the cute stable boy".

- Event 100050 should not select Homosexual characters or fire for Homosexual characters; the women in question might end up gossiping about "cute"/"handsome" guards in the rest of the event chain.

- Event 100080 doesn't really need a same_sex restriction as best I can tell, but could really use a same religion restriction.

- Event 100200 could probably be opened up to women with Equal/Enatic/high SoW; would require minor localization tweaks to follow-ups.

- Event 100410 seems like something that should be opened up to women with Equal/Enatic/high SoW; would require minor localization tweaks to follow-ups.

- Aside from the localization there's very little reason for heretic_rival in event 100440 to need to be male.

- Both versions of the loc for event 1630 make the event feel nonsensical for a religion with the Cosmopolitan nature, so maybe the event shouldn't fire with it.

- It's rather weird that event 1914 is Catholic only, seeing as it could work for basically any religion.

- Event 1929 should probably be open to women under Equal/Enatic; notably, the follow-up doesn't make any assumptions about FROM's gender.

- Events 1980, 1985, 1990 both have "max_age = 17" and "has_guardian = yes", but if age >= 16 has_guardian is obviously false. Seems like either the has_guardian should go or the max_age should be lowered; the event doesn't in any way mention or involve the guardian, so I'd remove that.

- Event 64000 can only involve your primary spouse and their lovers, never mind that it can fire for vanilla Muslims or anyone else with polygamy. any_spouse and an event target seems quite warranted here.

- Event 64002 option C seems like a PCS option rather than a Martial option; it's a very old event.

- Event 64002 should probably check attribute_diff (intrigue) rather than just ROOT's intrigue, seeing as FROM's intrigue could be a lot higher.

- Event 64015 could use any_spouse, and since the DESC explicitly says "My wife [Root.Spouse.GetFirstName] has grown old" it should presumably have an explicit age check (on top of the OR with a practical_age so that an ill but young wife isn't considered valid.

- Event 64025 can't fire if you've got a lover, but should probably be "If you have any lover that's not a spouse or consort"; some other events allow you to become lovers with your spouse if another spouse/consort is your lover, if memory serves.

- Event 64025 could really use any_spouse, as a compatible secondary spouse should be a valid spouse to fall in love with.

- Event 64025 checks that the spouse doesn't have a lover; should probably be "Any lover that's not a spouse or consort".

- Event 64040 should probably work for any_spouse, not just the primary spouse.

- Event 64040 checks that the spouse doesn't have a lover; should probably be "Any lover that's not a spouse or consort".

- Event 64040 should probably be valid even if you're your spouse's lover, as long as your spouse has another lover they're not married to.

- Event 64090 checks the age of ROOT, but not of the spouse, meaning the relevant spouse could be a woman too old for childbearing or could be young enough that they couldn't reasonably have had a child.

- Event 64090 could really use any_spouse.

- Event 64100 could really use any_spouse.

- Event 64105 does stuff involving the primary spouse. Potentially right, though as it's triggered from a lot of places it's likely safer to use FROM.

- Event 64110 should probably use any_spouse.

- Event 64115 could probably use any_spouse.

- Event 64115 option D is potentially weird if ROOT doesn't actually like their/the relevant spouse, seeing as there are no AI weights and the AI thus could go "Yes, I love that spouse I really hate more than I love you!"...

- Event 64120 could probably use any_spouse.

- Event 64120 sets the adulterous_affair_public on the spouse, and cannot fire if the spouse has this flag. The flag is never cleared, however, meaning that if someone else cheats on this spouse they'll never get to make it public. It should probably be an opinion modifier instead.

- Event 64125 should probably use any_spouse.

- Event 64125 should probably get to fire even if ROOT has a lover, seeing as ROOT having a lover is irrelevant to the spouse's cheating (and ROOT could be faithful under polygamy...).


Localization:

Most of this can be summed up "More vanilla random world, equal/enatic, or job title oversights"; I've listed many individual strings, but some stuff is just "A lot here" or "This issue is common".

- There are two instances of e_bengal_adj, and none of k_bengal_adj.

- EVTTOOLTIP24504 refers to Root.Spouse by name, but the spouse selected in event 24504 can be a secondary wife. It probably makes sense to use an event_target in 24503/24504.

- 00_events_court_events.csv has several instances of Marshal, Steward, and Spymaster that should be [Root.Get<Job>Name].

- EVTDESC8700 and EVTDESC8701 have weird capitalization.

- EVTDESC8702 "seceded" should be "ceded".

- EVTDESC74005 "Archery contest" probably doesn't need capitalization.

- The 00_events_summer_fair_events.csv localization is inconsistent as to whether "Summer Fair" is localized or not.

- 00_events_tournament_events.csv assume male characters in several places, but the events in question are not limited to men.

- EVTDESC70014 has double spaces between some words for no clear reason.

- EVTDESC70020 is a bit awkwardly worded.

- EVTDESC65003 "Marshal" should be [Root.GetMarshalName].

- EVTDESC65005 "Spymaster" should be [Root.GetSpymasterName].

- "God" in EVTDESC65030 should perhaps be [Root.Religion.GetHighGodName]; the event can only fire for Christian characters, but Random World religions in the renamed Christian group presumably can get it. Notably, several other events in this file have Root.Religion.GetRandomGodNameCaps...

- As above for "My God" in EVTDESC65033.

- As above for "Jesus" in EVTDESC65033, though that one is messier since it specifically refers to Jesus curing lepers.

- EVTDESC65053, same "God" issue.

- EVTDESC65054, same "God" issue.

- EVTDESC65165 refers to imams, but can fire in random starts, so it should probably be [Root.Religion.GetPriestTitle].

- EVTOPTA65007 "Steward" should be [Root.GetTreasurerName].

- EVTOPTA65055, same "God" issue.

- EVTOPTB65053, same "God" issue.

- EVTOPTB65053, "the Lord".

- EVTOPTC65053, "Allah".

- EVTOPTC65050, "Imam".

- EVTDESC69045 switch from first to second person halfway through. Feels odd.

- EVTDESC69052 "Marshal" should be [Root.GetMarshalName].

- EVTDESC69053 "Marshal" should be [From.GetMarshalName].

- EVTDESC69054 "Steward" should be [Root.GetTreasurerName].

- EVTDESC69055 "Steward" should be [From.GetTreasurerName].

- EVTDESC69056 "Spymaster" should be [Root.GetSpymasterName].

- EVTDESC69095 "Imams".

- EVTDESC69060, EVTOPTB69060 "Christian"; can fire with random starts.

- EVTDESC69061 "a God", "priests".

- EVTDESC69062 "priests", also "Church".

- EVTDESC69064, EVTOPTA69060, EVTOPTB69060 "hell". The event technically requires you to at least have been Christian, but could fire after conversion... Also, "hell" is only capitalized in one of the event options.

- "moorish cannon" should be capitalized.

- Minor, but EVTDESC3012 assumes a male knight, which might be nonsensical with an Enatic random start.

- EVTDESC3021, EVTDESC3022 "God".

- EVTDESC3070 assumes a male co-hunter, but the event can potentially select a female co-hunter.

- EVTDESC3075 "priest" rather than [Root.Religion.GetPriestTitle].

- EVTDESC3075 "priest", also assumes priests are male (might not be true in a random world). Also, the event target isn't necessarily male (or a priest, for that matter...) even in a non-random world.

- EVTDESC3121 speaks of being a "feudal lord", but ROOT is not necessarily feudal or male, and EVTOPTB3121 talks about "feudal obligations".

- EVTDESC3124 speaks of improving a castle, but ROOT isn't necessarily feudal (or someone that can/does hold castles).

- EVTDESC3125 speaks of "fighting men", but could fire under Enatic Clans.

- EVTDESC3126 speaks of a castle, but ROOT isn't necessarily feudal (or someone that can/does hold castles).

- EVTDESC3170 assumes ROOT has a castle, but doesn't check for being feudal.

- EVTDESC3190, EVTDESC3191, EVTDESC3192, EVTDESC3193 "priest", and the first two also assume male priests.

- EVTDESC3084 refers to Thomas of Aquinas, potentially weird in a random world.

- EVTDESC3084 refers to St. Paul, potentially weird in a random world.

- EVTDESC3205. EVTDESC3207 "God".

- EVTDESC3242 "God"

- EVTDESC3243 "Marshal" should be [Root.GetMarshalName].

- EVTDESC3246 "Spymaster" should be [Root.GetSpymasterName].

- EVTDESC3248 "Steward" should be [From.GetTreasurerName].

- EVTDESC3310 assumes men do the fighting, but can fire under Enatic Clans.

- EVTDESC3325 "priest" rather than [Root.Religion.GetPriestTitle].

- EVTDESC3385 "priest" rather than [Root.Religion.GetPriestTitle].

- EVTDESC3405 "priest" rather than [Root.Religion.GetPriestTitle].

- EVTDESC3406 "priest" rather than [Root.Religion.GetPriestTitle].

- EVTDESC3408 "priest" rather than [From.Religion.GetPriestTitle].

- EVTDESC3470 "God".

- EVTDESC3471 "priest" rather than [From.Religion.GetPriestTitle]. Should perhaps also be plural.

- EVTDESC3476 "priest" is potentially weird in random starts, as well as the assumption that said "priest" is male, but it's a non-character and thus perhaps hard to fix.

- EVTDESC3500 speaks of a (non-character) male friend, but the event does not check for ROOT having any friend, male or otherwise.

- EVTDESC3640 "Hunter" really doesn't need to be capitalized.

- EVTDESC3645 "one man short", but the characters that can be invited might not be men.

- EVTDESC3692 "back to the castle" is weird when FROM might not possess a castle.

- EVTDESC3740 "imam" rather than [Root.Religion.GetPriestTitle].

- EVTDESC3745 "imam" rather than [Root.Religion.GetPriestTitle].

- EVTDESC3750 "Allah"; also weird for Yazidis without random world.

- EVTDESC3751 "imam" rather than [Root.Religion.GetPriestTitle].

- EVTDESC3755 "five pillars of Islam" could get weird with a random world, though [Root.Religion.GetGroupName] would not work here...

- EVTOPTA3011 "God".

- EVTDESC3021 "priest" rather than [Root.Religion.GetPriestTitle]. The event also assumes male priests; the created character is male, but with an Enatic setup that might be weird.

- EVTOPTA3026 "God".

- EVTDESC3082 offers to let the homeless stay in a "castle", but ROOT is potentially not someone that has any castles.

- EVTOPTA3126 "God".

- EVTOPTA3190 assumes male priests.

- EVTOPTA3204 "God".

- EVTOPTA3208 "God" .

- EVTOPTA3242 "Throne of St. Peter" is perhaps weird in a random world.

- EVTOPTA3305, EVTOPTA3306 "priest" rather than [Root.Religion.GetPriestTitle].

- EVTOPTA3325 assumes a male priest/imam.

- EVTDESC3370 assumes male priests... but the event doesn't check for a male priest.

- EVTOPTA3385 assumes a male priest, but this isn't checked. Also, "He will ruin everything!" is really weird alongside the DESC.

- EVTOPTA3745 "Allah"; also weird for Yazidis without random world.

- EVTOPTA3407 "priest" rather than [Root.Religion.GetPriestTitle].

- EVTOPTA3650 "marshal" should be [Root.GetMarshalName].

- EVTOPTA3670 "[...] but the bees wasn't happy..."; bees plural, so should be "[...] weren't [...]".

- EVTOPTA3725 "To hell with them!"; event can fire for any religion, so "hell" could be very weird.

- EVTOPTA3735 "imam" rather than [Root.Religion.GetPriestTitle].

- EVTOPTB3000 "Pray" doesn't need capitalization.

- EVTOPTB3013 "God".

- EVTOPTB3025 "God".

- EVTOPTB3191 "priest" rather than [From.Religion.GetPriestTitle].

- EVTOPTB3248 "God" and "Steward"; notably the related events all have [Root.Religion.GetRandomGodName] and [Root.GetMy<job>Name].

- EVTOPTB3650 "Spymaster" should be [Root.GetSpymasterName].

- EVTOPTB3655 "Marshal" should be [Root.GetMarshalName].

- EVTOPTC3012 "The land belongs to the crown", but the event doesn't check for ROOT being someone that reasonably is "the crown" (i.e. feudal king+).

- EVTOPTC3035 "Wife" doesn't need to be capitalized.

- EVTOPTC3126 "Allah"; also weird for Yazidis without random world.

- EVTOPTC3525 "God".

- EVTOPTC3585 "I should be careful. I still remember what happened to my uncle..."; the event option does not check for ROOT having an uncle.

- EVTOPTC3625 "Marshal" should be [Root.GetMarshalName].

- EVTOPTC3655 "Steward" should be [Root.GetTreasurerName].

- EVTOPTC3665 speaks of a saint, but the event can fire regardless of religion.

- EVTOPTD3020 "God"

- EVTOPTD3655 "Spymaster" should be [Root.GetSpymasterName].

- EVTOPTA45003 "Women and children?" makes little sense with Equal/Enatic Clans.

- bear.4.a "Marshal" should be [Root.GetMarshalName].

- bear.4.b "Spymaster" should be [Root.GetSpymasterName].

- EVTOPTA68001 "the Lord".

- EVTOPTB68001 "Allah".

- EVTDESC72004 "steward" should be [From.GetTreasurerName].

- EVTDESC72052 "Everyone drank and w happy [...]"; presumably "[...] was [...]".

- EVTOPTA72005, EVTOPTA72008 "Marshal" should be [Root.GetMarshalName].

- EVTOPTA1070 "Allah" and "Qur'an"; weird for Yazidis. Of course, being a Hafiz is weird for them regardless of localization...

- EVTDESC38021, EVTOPTA38021, and EVTOPTB38021 get weird in random worlds, though as the event only can fire for theocratic rulers it's a non-issue.

- Assorted base_culture_conversion_events localization seems to assume ROOT is male. Additionally, though the Norman + Anglo-Saxon = English events can't fire with random culture names, they can fire with random religion names despite speaking of "Christianity".

- The 00_events_pope_free_investiture localization very much assumes non-random Christianity; unsurprising, but gets odd with random worlds.

- 00_events_crusade_events.csv assumes base religion/god/etc. names, but the events can fire in a random world.

- EVTDESC62011, EVTDESC62012, EVTDESC62044 "Christian".

- EVTDESC62013 "Muslim" (and "Sufi").

- EVTDESC62012 "Muslim".

- EVTDESC62044 assumes FROM is male, which isn't necessarily the case.

- EVTOPTA62013 "God".

- EVTDESC62014 "God", "Jesus", and "the Holy Ghost".

- EVTDESC69100, EVTDESC69101, EVTDESC69102 "Allah", "imams", "Muslim".

- EVTDESC76006, EVTDESC76008, EVTDESC76009, EVTOPTA76008, EVTTOOLTIP76006, EVTTOOLTIP76007 "Spymaster" should be [Root.GetSpymasterName]. Notably, some adjacent events have this already...

- EVTDESC36002, EVTDESC36003, EVTDESC36004 assume FROM is male, but that's not necessarily true.

- EVTOPTA36004, EVTOPTA36005 assume FROM is male, but that's not necessarily true.

- EVTDESC63031 "[...] my liege's wars [...]" sounds pretty weird in a letter addressed to said liege. Should probably be "[...] your wars [...]".

- EVTOPTA63011 "Marshal" should be [Root.GetMarshalName].

- EVTDESC60101 is pretty weird if Novgorod never was Christianized.

- EVTDESC60103 is pretty weird if Charlie never creates an empire (and even then if he doesn't put his capital in Aachen...).

- EVTDESC60104 is pretty weird if work on Notre Dame hasn't begun.

- EVTDESC60113 "Great Hungarian Plains" is weird if the Magyar migration didn't happen and/or failed.

- EVTDESC60121 gets weird with random religions that don't pray to "Allah".

- EVTOPTA60105, EVTOPTA60108, "God".

- EVTOPTB60001, EVTOPTB60010 "Allah".

- EVTOPTB60002, EVTOPTB60121 "God".

- EVTOPTB60100 "Inshallah".

- EVTOPTC60001 "Mahometans".

- EVTOPTC60010 "God".

- EVTDESC4020, EVTTOOLTIP4021 "spymaster" should be [Root.GetSpymasterName].

- EVTDESC4040 "priest", "the Lord".

- EVTDESC4041 "imam", "Allah".

- EVTDESC200 "Christian", "Mahometan", "God".

- EVTDESC200 "[...] He urges all able-bodied men of Europe [...]" is potentially weird if Europe isn't where you find Christians.

- EVTDESC201 "Christ", "Christian".

- EVTDESC285 "Holy Mother Church"; can fire for non-Christians with excommunication...

- EVTDESC320, EVTDESC322, EVTDESC323 "Jihad", "Muslims", "Islam", "Allah".

- EVTDESC325 "mad Arab"; weird with random religions OR cultures.

- EVTDESC504, EVTDESC510 "Khan"; ROOT is presumably an emperor tier ruler, and could be female...

- EVTOPTA200 "Deus Vult"; weird with random religions.

- EVTOPTA320 "Allahu Akbar"; weird with random religions.

- EVTDESC_94019 and EVTDESC_94019_india speak of the "Art of War", but as they're not about the book "Art" and "War" probably shouldn't be capitalized.

- EVTDESC100000 "Spymaster" should be [Root.Guardian.GetSpymasterName], and instead of assuming they're male the "he" should be [Root.Guardian.job_spymaster.GetSheHe].

- EVTDESC100001 "Spymaster" should be [Froom.Guardian.GetSpymasterName], and instead of assuming they're male the "his" should be [From.Guardian.job_spymaster.GetHerHis].

- EVTDESC100002 "Spymaster" should be [Froom.Guardian.GetSpymasterName].

- EVTDESC100043 "[...] It didn't take long before I could charm the pants off the spymaster if I wanted. [...]" is a potentially bad piece of localization, seeing as the event chain doesn't check if there is a spymaster (there could hypothetically be a vacancy), what ROOT's relation to said spymaster is, or whether ROOT and the spymaster are compatible (it's a figure of speech, but a poor one if it'd be doomed to failure).

- EVTDESC100080-EVTDESC100081 "priest" rather than [Root.Religion.GetPriestTitle]. There's also an assumption in the first that the priest is male, but a random religion might not have male priests.

- EVTDESC100080 "[...] the word's of God [...]" -> "[...] the words of God [...]".

- EVTDESC100080 "[...] refusal to accept that there is a God [...}" would result in "a the" with a randomized non-singular HighGod.

- EVTDESC100080-EVTDESC100084 "God", also "He" and "His" (a randomized religion might not get a male HighGod).

- EVTDESC100084 "Bible".

- EVTDESC100106 seems to assume FROM is male, speaks of a "God-forsaken" land and of "Crusading", but can fire with random religions.

- EVTDESC100107 "Glory of God".

- EVTDESC100108 "Glory of God", "crusading".

- EVTDESC100116 speaks of FROM having an absent husband, but event 100115 does not check if FROM (ROOT, in that event) has an absent husband.

- EVTDESC100151 "Your Loyal Friend" uses excessive capitalization.

- EVTDESC100164 "[...] my duties to my family and my vassals disallows [...]"; the event chain doesn't check if FROM has a family or vassals, potentially making it come across as outrageously insincere, and duties plural would disallow (no "s").

- EVTDESC100181/EVTDESC100182/EVTDESC100183 have [Root/From.Religion.GetRandomGodName], which can result in a situation where a character says something silly like "[...] I believe in the Lord rather than the Lord". Could probably use a rewrite.

- EVTDESC100230-EVTDESC100235 "priests" rather than [Root/From.Religion.GetPriestTitle]s.

- EVTDESC100240 "A friend of mine became celibate not long ago"; there are no checks for how long said friend has been celibate...

- EVTDESC100252 "I am perfectly happy knowing my paradise is on Earth, mayhap not in Heaven but I would rather live my life in pleasure than in pain and struggle just for the sake of maybe being allowed into Heaven when I die. [...]"; this event chain has no religion restriction whatsoever, so "Heaven" can stick out like a sore thumb!

- EVTDESC100254 "Imagine all the pleasures in the world, good food and wine, the touch of skin on skin... To be celibate is to abstain for nearly all worldly pleasures, all for a chance of going to Heaven when you die. So ask yourself: a lifetime of pleasures or perhaps Heaven when you die?'"; again with the "Heaven", and Celibacy has nothing to do with abstaining from good food and wine!

- EVTDESC100480 and EVTDESC100481 speak of "feudal duties", but neither character might be feudal.

- EVTDESC100500 "Praise [Root.Religion.GetRandomGodName]! My fierce rival has also become a follower of the new way of Christ! Hallelujah!" gets weird with random religions.

- EVTDESC100551-EVTDESC100555 "imams"; notably EVTDESC100550_A/_B can handle random religion names...

- EVTOPTA100006 makes little sense if FROM is an eunuch, which isn't checked.

- EVTOPTA100105 "Deus Vult! For the Glory of God!"; doesn't work great with random religions.

- EVTOPTA100107 "God".

- EVTOPTA100108 "Glory of God".

- EVTOPTA100254 "Heaven".

- EVTOPTA100233 "priests" rather than [Root.Religion.GetPriestTitle]s

- EVTOPTA100553 "imams" rather than [Root.Religion.GetPriestTitle]s

- EVTOPTB100080 "I will convince [Root.GetHerHim] there's a God!"

- EVTOPTB100105 "Deus Vult!"

- EVTOPTB100106 "Glory of God".

- EVTOPTB100107 "And you call yourself a Crusader!"; rather weird with random religion names.

- EVTOPTB100231, EVTOPTB100232 "priests".

- EVTOPTB100551, EVTOPTB100552 "imams".

- EVTOPTB100253 "Heaven".

- EVTOPTB100550 "Allah" -- and "Muslim", though vanilla's great design decision there makes that a recurring problem -- get weird with Yazidis.

- EVTOPTC100105 "Deus Vult!"

- EVTOPTD100106 "Glory of God".

- EVTTOOLTIP100233 "priests" rather than [This.Religion.GetPriestTitle]s.

- EVTTOOLTIP100553 "imams" rather than [This.Religion.GetPriestTitle]s.

- evt_ambition_001_desc_a assumes ROOT has a female spouse ("womenfolk); the event checks if ROOT is married, but not the gender of either spouse.

- evt_ambition_004_desc_a "m'lord"; there's no check whether ROOT is male or female anywhere in the event chain.

- EVTDESC94013, EVTDESC94015, EVTDESC94065, EVTDESC94066, and EVTDESC94074 all assume you live in a castle, but can fire for non-feudals.

- Vanilla (and consequently CleanSlate) is rather inconsistent in the use of "Ax"/"Axe"; for example, EVTDESC94177 and EVTDESC94178 both use "Axe" and loot_axe is "'+2' Axe", but EVTDESC_79000_A and EVTDESC_79000_B both use "Ax" and axe_tier_1_new is "Ax" despite the tag. Consistency would be nice, and I'd personally side with "Axe", particularly as _axe is used for assorted artefact tags.

- EVTDESC1630 "priests" rather than [This.Religion.GetPriestTitle]s.

- EVTDESC1632 "Qur'an"; gets weird for Yazidis even without random worlds.

- EVTDESC1730 "priests" rather than [This.Religion.GetPriestTitle]s.

- EVTDESC1731 "priest" rather than [This.Religion.GetPriestTitle].

- EVTDESC1732 "imams" rather than [This.Religion.GetPriestTitle]s.

- EVTDESC1733 "imam" rather than [This.Religion.GetPriestTitle].

- EVTOPTA38229 "This will turn [From.GetFirstName] into a great knight!" feels like a worse option for many religions than EVTOPTC38229, given where knights were(n't) a thing, so maybe the religion triggers could use some updating.

- EVTDESC2130 #priests" rather than [This.Religion.GetPriestTitle]s.

- EVTDESC2132 "Qur'an", "imams"; gets weird for Yazidis even without random worlds.

- EVTOPTD2020 "[Root.Religion.GetRandomGodNameCap] will save [From.GetHerHim] from Hell!!!"; excessive exclamation points, and "Hell" makes little sense for many religions (the preceding event imposes no religion restriction on either character).

- EVTOPTA38205 "angel" potentially gets weird with random religions.

- EVTDESC38232 "I was... inspecting the damage to the highest tower in [From.Location.GetName] when the head of [From.GetFirstName] appeared outside the window, fifty metres above ground. What should I do with this curious child?"; the ellipsis is weird, seeing as the preceding event doesn't really indicate that ROOT has no reason not to be honest about what ROOT is up to.

- EVTOPTA38234 "Make [From.GetFirstName] fast to atone for its sins"; "its" should probably be [From.GetHerHis].

- EVTOPTB38208 "They are demons from Hell!" potentially makes little sense with random religions.

- EVTOPTC38100 "Ask my guardian about Allah"; weird for Yazidis even without random worlds.

- EVTOPTC38211, EVTOPTC38227, EVTOPTC38233 "God".

- EVTOPTD38203 "Let the monks purge [From.GetHerHis] sin"; trigger is "Christian religion", but there's no check for non-random religion, and thus monks might not be a thing.

- EVTOPTD38211, EVTOPTD38227, EVTOPTD38233 "Allah"; weird for Yazidis even without random worlds.

- EVTDESC64080 "My wife has retired to the convent for a short while, to gather her thoughts and find some peace, maybe even God"; "God" and "convent" might get weird with random religions.

- EVTOPTB64100 assumes ROOT lives in a castle.

- EVTOPTB64140 "Satan".

- EVTOPTC64090 "Allah".

- EVTOPTD64140 "Shaytan".

- "zakat" shows up in various places; weird with random religions.
 
  • 1Like
Reactions: