santardo Posted March 3 Posted March 3 (edited) View File xyz compatibily patcher xyz_comp_patcher Universal Compatibility Patcher — Unified trait framework for 7 mods Bridges IST, bdsmSociety, Luxuria Fantasia, Dark World Reborn, Cheri Tentacle Dreams, LF Extras, and ABM into one framework. All 7 mods share the same xyz_* trait namespace — characters carry 1–2 traits instead of 5–6, and every event fires correctly. 7 Mods · 221 Override Files · 4,486 Replacements · 73 Unified Trait Mappings ━ UNIFIED TRAIT SYSTEM Every mod-specific slavery, dom/sub, and race/species trait is renamed into a single xyz_* namespace. Events from all 7 mods check the same trait names — guaranteed to fire correctly. Slavery & Dom/Sub — 54 Mappings xyz_slave — ISTslave, bdsm_slave, lf_enslaved, branded_slave xyz_trained — ISTtrainedslave, bdsm_trained_slave xyz_dominant — bdsm_dominant, lf_dominant xyz_submissive — bdsm_submissive, lf_submissive xyz_switch — lf_switch xyz_unbroken … xyz_meretrix — IST progression stages xyz_wol_baby … xyz_wol_sissy — BDSM WoL traits xyz_breeder, xyz_milkcow … — IST specializations Race / Species — 19 Mappings → 9 Unified xyz_elf — lf_elf (LF) · elf (DWR) xyz_orc — lf_orc (LF) · orc (DWR) xyz_fairy — lf_fairy (LF) · fae_kin (DWR) xyz_neko — lf_neko (LF) · cat_kin (DWR) xyz_kitsune — lf_kitsune (LF) · fox_kin (DWR) xyz_demon — lf_demon (LF) · demon_kin (DWR) xyz_angel — lf_angel (LF) · angel_kin (DWR) xyz_futa — lf_futa (LF) · futa (DWR) · futanari (W&T) xyz_mage — lf_mage (LF) · mage (DWR) ━ FIXES & PATCHES Narrative Event Conversion — All IST & bdsmSociety events converted from character_event to narrative_event, displaying in LF's large parchment window. Elven Fertility Fix — LF's brutal infertility penalties reduced to sane values (−0.10/−0.25/−0.50/−0.90). Missing check_elven_fertility scripted effect implemented. Vampire Fertility Fix(NEW v2.1h) — DWR's vampire trait had fertility = -100 (near-total sterility). Reduced to -0.90 (matches max elven tier) — vampires can still reproduce with difficulty. Courtesan/Meretrix Buff(NEW v2.1i) — IST's xyz_courtesan and xyz_meretrix stats buffed 10× (skills, spouse_opinion, martial) and 4× (health, prestige, general_opinion, liege_opinion). Makes the slave graduation path actually worthwhile. Revolt Risk Fix — bdsm_kidnapped_peasants modifier corrected: 500% → 5%. Demon Kingdom Buff — Lilu/Azazel stats 30 all, fertility 200%, event_target bug resolved. Dynasty Tree Fix(NEW v2.1e) — Characters spawned via create_character with dynasty = ROOT but no parent links caused orphaned vertical chains in dynasty trees. Build script now replaces dynasty = ROOT with dynasty = none inside all create_character blocks (brace-depth tracking, trigger conditions untouched). Fixes: Demon Queen/King + Dragon children — 4 fixes in 2 files. Virgin Trait Fix — Assigned at birth for all newborns; catch-up sweep at game start for unmarried chars under 24. DWR's age-24 auto-strip removed, is_adult = yes guard added. Virgin Removal Integration(NEW v2.1d) — Virgin trait removed from both participants at all 106 sex completion points: LF Sexytimes (22), DWR dw_visits (58), DWR DWSex (16), Cheri TD (10). DWT rape already handled natively. Coming-of-Age Dedup — DWCourt.1000 disabled (no-op). LF Extras' DWTRandom.300 chain kept as active version. Siege Rape Dedup + Pregnancy — raynor.500 disabled; LF Extras' DWT.7999/8000 chain kept (better victim selection, randomized pictures). Pregnancy check added to DWT.8013 creampie ending. Prisoner Rape Spam Fix — DWTRandom.500 disabled. MTTH 180-day auto-fire per prisoner caused constant popups with multiple captives. INCproject Customizer Fix — All 52 incest traits hidden from Ruler Designer (customizer = no). BDSM Society Join Fix — BDSM.0011 overridden: slave-owners recruited by NPCs now always enter dominant path (rank 3) instead of submissive (rank 1). Society of O Opt-In Rework(NEW v2.1f) — Player and slave auto-enrollment removed. Player receives narrative invitation event (IxB.120): join as Dominant Master (rank 3), decline with 2-year cooldown, or permanent opt-out. Slaves inducted via right-click targeted decision (ixb_induct_slave). IxB.115 handles dominant trait sync for existing members. ABM Gender-Swap Pussy Fix(NEW v2.1g) — DWR potions, LF potions, TONT kitsune magic, HouseIrae curse all use set_gender = opposite but don't clean up ABM's ala_*_pussy traits. IxB.400 (yearly) and IxB.401 (on_startup mass cleanup) remove all 7 pussy traits + clear ala_pussy flag + reset pussy_size variable on non-futa males. Dom/Sub Customizer Fix — bdsm_dominant/bdsm_submissive hidden from Ruler Designer via direct source edit (auto-reapplied by build script). Old trait names coexisted with xyz_dominant/xyz_submissive as separate traits — picking them in Ruler Designer + LFSexytimesRouting event = duplicate traits. Also added old trait name checks to LFSexytimesRouting .2/.3/.4/.5 NOR triggers for existing save safety. Decision Color Prefixes — IST = Red · BDSM = Yellow · DW = Green · LF/LFE = Blue · IxB = Cyan ━ WEARANDTEAR BRIDGES IST counter increments injected into sex act events across all mods so W&T tracks all encounters regardless of source. DWT Rape (LF Extras) — 20 DWT completion events (5 chain variants × vaginal/anal/oral) LF Consensual — 22 LF Sexytimes events across 3 files (Female/Male/Futa). Both ROOT and partner get counters. DW Consensual — 58 dw_visits options + 16 DWSex options Cheri Tentacle — All 4 IST counter types simultaneously. Events: Tentacle.201/.202, Tentacle.0, Tentacle.50041 + 5 Scarlet Sisters events ━ REQUIREMENTS All 7 mods must be extracted (not zipped) in your mod/ directory. CK2 loads xyz_comp_patcher after all of them automatically. IST — Immersive Slave Training & Kidnapping bdsmSociety — BDSM Society: The House of O Luxuria Fantasia Dark World Reborn Cheri – Tentacled Dreams LF Extras ABM — A Larger Body Mod Optional: INCproject — build script hides all 52 incest traits from Ruler Designer if present. Direct source fix (auto-applied): bdsmSociety — customizer = no on bdsm_dominant/bdsm_submissive. ━ INSTALLATION Place mod files — Copy xyz_comp_patcher/ folder and xyz_comp_patcher.mod into your CK2 mod directory. Install required mods — All 7 source mods extracted in mod/. Run the build script — Requires Python 3.6+: cd <CK2 mod dir>/xyz_comp_patcher/tools/ python build_overrides.py Activate in CK2 Launcher — Enable xyz_comp_patcher. Load order is handled automatically. Verify — Start a new game. Slaves should carry xyz_slave; IST/BDSM events should display in the large parchment window. Updating: When any source mod updates, re-run python build_overrides.py. Fully re-runnable. ━ BUILD OUTPUT (v2.1) IST — 10 files · 1,939 replacements bdsmSociety — 17 files · 503 replacements Luxuria Fantasia — 71 files · 614 replacements Dark World Reborn — 82 files · 757 replacements Cheri Tentacle Dreams — 25 files · 404 replacements LF Extras — 8 files · 83 replacements ABM — 8 files · 186 replacements Total — 221 files · 4,486 replacements ━ WHAT IS NOT RENAMED tentacle_slave — Unique mechanics: health +5, immortal, opinion +10000 bdsm_society — Internal society identifier, not a character trait lf_halfdemon, lf_fallen_angel, vampire, wolf_kin — Unique to one mod, no double-stacking possible houseirae_drow, houseirae_halfelf — House Irae specific dwse_* (dragon, lizard) — DWR Submods specific lf_ghost, genie, platypi — Unique traits Society ranks, currency, quest mechanics, character flags, opinion modifiers — unchanged ━ VERSION HISTORY v2.1i — Courtesan/Meretrix Buff. xyz_courtesan stats buffed 10× (intrigue 1→10, diplomacy 4→40, spouse_opinion 10→100) and 4× (health 0.5→2, prestige 0.1→0.4, general_opinion 2→8, liege_opinion 15→60). xyz_meretrix buffed 10× (learning 1→10, stewardship 4→40, diplomacy 3→30, intrigue 2→20, spouse_opinion 20→200) and 4× (health 1→4, prestige 1→4, general_opinion 10→40, liege_opinion 25→100). Makes the slave graduation path actually worthwhile. v2.1h — Vampire Fertility Fix. DWR's vampire trait had fertility = -100 (near-total sterility). Reduced to -0.90 in dw_race_traits.txt override — matches max elven tier. v2.1g — ABM Gender-Swap Pussy Fix. DWR dw_gender_swap, LF Potions, TONT kitsune magic, HouseIrae Tamsine curse all use set_gender = opposite without cleaning up ABM's ala_*_pussy traits. New IxB.400 (yearly) and IxB.401 (on_startup mass cleanup) remove all 7 pussy traits + clear ala_pussy flag + reset pussy_size on non-futa males. v2.1f — Society of O Opt-In Rework. Auto-enrollment for player and slaves removed. IxB.110 now fires narrative invitation event (IxB.120): join as Dominant Master (rank 3), decline with 2-year cooldown, or permanent opt-out. New ixb_induct_slave targeted decision for manual slave enrollment. IxB.115 handles dominant trait sync for existing members. v2.1e — Dynasty Tree Fix. fix_create_character_dynasty_root() replaces dynasty = ROOT with dynasty = none inside all create_character blocks (brace-depth tracking). Fixes Demon Queen/King + Dragon children — 4 fixes in 2 files. v2.1d — Virgin Removal Integration. patch_virgin_removal() removes virgin trait from both participants at 106 sex completion points: LF Sexytimes (22), DWR dw_visits (58), DWR DWSex (16), Cheri TD (10). DWT rape already handled natively. v2.1c — run.bat launcher + BASE path validation. Double-click to run, no cd/placeholder needed. Clear error if CK2 mod folder not found. v2.1b — Dom/Sub customizer & routing fix. bdsm_dominant/bdsm_submissive hidden from Ruler Designer (direct source edit, auto-reapplied by build script). LFSexytimesRouting events .2/.3/.4/.5 now also check old trait names in NOR trigger — prevents duplicate dom/sub traits on existing saves. v2.1a — BDSM Society Join Fix. BDSM.0011 overridden — slave-owners recruited by NPCs always routed to dominant path (rank 3). v2.1 — Race Trait Unification. 19 mappings → 9 xyz_*. ABM added as 7th mod. Total: 73 mappings, 221 files, 4,486 replacements. v2.0h — Cheri Tentacle W&T Bridge. IST counters added to tentacle + Scarlet Sisters events. v2.0g — DW & LF Consensual W&T Bridges. 58 dw_visits + 16 DWSex + 22 LF Sexytimes events patched. v2.0f — Siege rape dedup, prisoner spam fix. raynor.500 + DWTRandom.500 disabled. Pregnancy check added. v2.0e — INCproject Customizer Fix. 52 incest traits hidden from Ruler Designer. v2.0d — Coming-of-age fix. DWCourt.1000 disabled. is_adult guard added to dw_remove_trait_virgin. v2.0c — Virgin Trait Fix. Assigned at birth + catch-up at game start. DWR age-24 strip removed. v2.0b — LF Extras integration. 6 source mods, 71 override files, 70 colored decision labels. v2.0a — CSV override fix. Renamed to 000_decision_labels.csv. BDSM prefix corrected. v2.0 — Unified Trait System. 54 trait mappings, Python build script, elven fertility fix. v1.2 — Demon Kingdom override. Colored decision labels. v1.1 — Renamed from ISTxSociety. Revolt risk fix. LF parchment textures. v1.0 — Initial release. IST/bdsmSociety/LF three-way sync. Submitter santardo Submitted 03/03/26 Category Crusader Kings 2 Requirements Edited March 5 by santardo 1
darkhardt Posted March 5 Posted March 5 (edited) As a heads up, you left the base path an absolute path to your own user directory. Worth noting for first-time installers/ non-regular python users- if they just run the script as-is it won't do anything unless their windows user is also named Henta. Edited March 5 by darkhardt spelling
santardo Posted March 5 Author Posted March 5 (edited) 3 hours ago, darkhardt said: As a heads up, you left the base path an absolute path to your own user directory. Worth noting for first-time installers/ non-regular python users- if they just run the script as-is it won't do anything unless their windows user is also named Henta. shit must have slipped in with the last update, thx for the headsup EDIT: fixed with 2.1b Edited March 5 by santardo
Heytherecthulhu Posted March 5 Posted March 5 getting this error whenever I try & run the command given. I don't know python very well (re: at all) so, forgive my comparitive illiteracy here. PS C:\Users\XXXXX> cd <CK2 mod dir>/xyz_comp_patcher/tools/python build_overrides.py At line:1 char:4 + cd <CK2 mod dir>/xyz_comp_patcher/tools/python build_overrides.py + ~ The '<' operator is reserved for future use. + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : RedirectionNotSupported I copied the command exactly as it is in your post so, idk what I am doing wrong. Still! Very cool project you got going on, hope to see it continue!
santardo Posted March 5 Author Posted March 5 (edited) 3 hours ago, Heytherecthulhu said: getting this error whenever I try & run the command given. I don't know python very well (re: at all) so, forgive my comparitive illiteracy here. PS C:\Users\XXXXX> cd <CK2 mod dir>/xyz_comp_patcher/tools/python build_overrides.py At line:1 char:4 + cd <CK2 mod dir>/xyz_comp_patcher/tools/python build_overrides.py + ~ The '<' operator is reserved for future use. + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : RedirectionNotSupported I copied the command exactly as it is in your post so, idk what I am doing wrong. Still! Very cool project you got going on, hope to see it continue! Hey, no worries! The issue is that <CK2 mod dir> is a placeholder — you need to replace it with your actual path to the mod folder. Also, cd and the Python command need to be run separately. Try this: powershell cd "C:\path\to\your\mod\xyz_comp_patcher\tools" python build_overrides.py Replace C:\path\to\your\mod\ with wherever you actually installed the mod. If you're not sure where that is, it's usually under Documents\Paradox Interactive\Crusader Kings II\mod\. EDIT: VERSION 2.1c should fix that, just use "run" that should set your mod directory V2.1c Edited March 5 by santardo
Heytherecthulhu Posted March 6 Posted March 6 14 hours ago, santardo said: Hey, no worries! The issue is that <CK2 mod dir> is a placeholder — you need to replace it with your actual path to the mod folder. Also, cd and the Python command need to be run separately. Try this: powershell cd "C:\path\to\your\mod\xyz_comp_patcher\tools" python build_overrides.py Replace C:\path\to\your\mod\ with wherever you actually installed the mod. If you're not sure where that is, it's usually under Documents\Paradox Interactive\Crusader Kings II\mod\. EDIT: VERSION 2.1c should fix that, just use "run" that should set your mod directory V2.1c WONDERFUL! Thank you! You are a gentleman, and a scholar! 1
ZiraLisa Posted March 17 Posted March 17 this sure sounds interesting, but the majority of users here are used to just downloading a mod to drop in documents. many wont know how to install or use python or how to handle any problems with install or later when some of the scripts overwrite something that break other mods. Is there perhaps a way to make a normal downloadable compilation mod that users can simply download as normal even if its large multiple files. or likely you'd need to make some youtube video tutorial
santardo Posted March 18 Author Posted March 18 20 hours ago, ZiraLisa said: this sure sounds interesting, but the majority of users here are used to just downloading a mod to drop in documents. many wont know how to install or use python or how to handle any problems with install or later when some of the scripts overwrite something that break other mods. Is there perhaps a way to make a normal downloadable compilation mod that users can simply download as normal even if its large multiple files. or likely you'd need to make some youtube video tutorial Hey ZiraLisa! You don't actually need to know Python or interact with it at all, just double click "run.bat" and it handles everything automatically. No commands, no terminal, nothing to configure. As for a pre-built "drop-in" version: that's unfortunately not really viable with how this mod works. The patcher doesn't just bundle some files — it reads your actual installed versions of all 7 source mods and generates overrides based on exactly what's there. If I shipped a pre-built version, it would only match one specific combination of mod versions, and would silently break the moment anyone is on a slightly different version of IST, DWR, LF, etc. Re-running the script whenever a source mod updates is exactly what keeps everything working correctly. So the install is really just: 1. Drop the folder in your mod directory 2. Double-click run.bat 3. Enable in launcher That's it. No YouTube tutorial needed. 😊
medieval barmaid Posted April 9 Posted April 9 i dont have ck2 installed in the normal folder so the .bat just gives an error saying "ERROR: mod directory not found", then it lists some sample directories for each type of computer: linux/win/mac so i tried moving all my mods to this directory which its telling me is the default, ran the .bat from there as well, same error. which is odd since its now literally in the folder that its telling me it cant find. tried using python manually using the lines in your directions and it wont even let me change directories with cd. just gives me some syntax error. i CAN get to it in cmd, AND run the script, but it still prints that same error as when i run the .bat i get WHY it has to be like this, due to the nature of what its doing, and the unpredictability of underlying source mods updating. but is there any way you know that i can point it to where my install is? i can get the override program to run, it just doesnt seem to know where it is rly gr8 mod/patch idea btw. this has been needed for ages. it was always stupid when id end up playing a feminine trap dominant submissive futa LF_futa (male) with tiny and gigantic tits and no penis. i always just dealt with it within the console, but this is obviously the actual solution to the problem
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now