Jump to content

Recommended Posts

Posted

Body Hair Traits


For men: This mod adds 7 new traits that replace the game's body hair gene, each trait visually modifies the character with one of the six vanilla's body hair genes: sparse, average, dense, sparse (low stubble), average (low stubble), dense (low stubble), and a new smooth variation with no body hair. There's very little difference between the normal variations and the "low stubble" ones. Only male characters are affected and the NPCs are seeded with a random trait (if they don't have one already) after the age of 18.

 

For men and women: Since version 1.1.0, the dynamic pubic hair trait has been added with the 3 states: Hairy Pubes, Trimmed Pubes and Shaved Pubes. This trait, unlike the Body Hair, is not congenital and it's seeded by script, it also does not change the character portrait with any gene.

 

Since version 1.3.0, a new congenital "bad trait" has been added. With "Alopecia Universalis" character will have no hair on their body. (note: if you're adding it from the Ruler Designer, you have to manually remove hair and beard.)

 

For the court: The court position "Royal Shaver" will be available for county or greater titles. The employee rules will follow the martial rules of the realm. When employed, all courtiers and the liege will slowly increase the Hairy Pubes trait to the shaved state.

 

Feel free to report bugs and give suggestions, as this is a very clunky genetic mod. Special thanks to Luther Slade and Cheri, for the seeding traits structure is just a simplified version of the Carnalitas one.

 

⚠️Compatibility: The mod should be compatible with any other mod, but if they change the body hair gene, they should be loaded after this one to avoid errors. If using a total conversion mod, the log might throw errors during the initial play, yet these should not persist. If you found any conflicts, please share.

 

----

📃 Notes from the version 1.6.0 forwards

 

The update is a 'revamp' mostly edited by Claude AI and Github's Copilot. Things changed so there's less strain caused by the scripts. The traits are no longer distributed as a simple random list or as copy of a 'father' character. Some things like the decision to shave body have been removed, though shaving pubes is still present. Religions do get doctrines about pubic shaving, but I couldn't manage to make them appear on the UI. The new architecture is described by Claude as the following:

 

Hairiness is a number now

var:bh_hair_value, 0–100, stored on every character including women, so maternal inheritance works. It is built as:

  1. baseline 50, shifted by heritage (flavour pack only)
  2. blended toward the mid-parent value at bh_heritability_value (0.62)
  3. plus noise of ±22
  4. plus a few points in the mid-twenties and again around thirty

then banded into the existing traits. Two consequences worth knowing: mixed dynasties now produce sensible intermediate children instead of copying the father's tier, and you tune the whole distribution from seven numbers in bh_script_values.txt instead of editing four random_list blocks.

The old father-only check has been replaced entirely. It also read scope:real_father in contexts where that scope did not exist, which is where most of your error log came from.

Total conversion support

The failure mode was never the logic — it was that faith:ashari resolves when the file loads, not when it runs, so no guard helps and a TC that lacks the faith gets a hard error. The fix is quarantine:

  • Faith attitudes are assigned by a heuristic over doctrines every faith is guaranteed to have (doctrine_pluralism_fundamentalist, the adultery and deviancy crime doctrines). Any map, any custom faith, no named references.
  • The flavour pack then corrects the four cases where the heuristic is wrong, and it matches on religion rather than listing forty faith keys — so reformed, hybrid and custom faiths inherit the right attitude for free, and there are four references to break instead of forty.
  • Assignment only ever touches a faith that has no attitude yet, so a faith that declares one itself is never overridden.

To run on a TC, copy optional/zz_bh_flavour_vanilla_TC.txt over common/scripted_effects/zz_bh_flavour_vanilla.txt. Do not delete it — the core calls both effects by name.

Distribution

Indo-Aryan and Iranian cultures move to the top tier (+22), where the anthropometry actually puts them; the old buckets had them mid. Turkic and Mongolic are separated from East Asian rather than sharing one bucket. Only heritage keys your 1.19 log proved valid are used. A comment in the flavour file lists the Sub-Saharan and All Under Heaven heritages worth adding once you have checked their keys against common/culture/pillars/ — until then those cultures sit at the neutral baseline, which is dull but errorless.

Religion

The -45 realm-wide opinion penalty is gone. Nobody can see this, so it is a secret now (secret_grooming_transgression), criminal under an illegal doctrine and shunned under the others, kept in sync by bh_refresh_secret_effect. bh_expose_grooming_effect is the hook for spouses, lovers, physicians and the Royal Shaver to discover it.

What stays public is what plausibly would be: piety drift and clergy opinion via faith_modifier on the trait.

Performance

Removed: ai_character_pulse, on_birthday, on_weight_changed, on_title_gain, and the every_living_character sweep at game start (which now means 20,000+ extra characters on the 1.18 map).

What remains is one yearly pulse gated on bh_is_relevant_trigger — player, any landed ruler, or anyone in a non-AI character's court — plus lazy seeding from the places that actually read the value. Most of the world is never touched.

The Royal Shaver runs from the employer on quarterly_playable_pulse, looping every_courtier: one scope per court, four times a year, instead of a trigger per character per pulse. That also kills the 89 "event queued twice with the same data" errors, which came from several on_actions firing the same event on the same character on the same day.

Decision intervals went from ai_check_interval = 3 to 24–60 with ai_check_interval_by_tier on top, and the ~20 repeated faith = { has_doctrine = ... } lookups per ai_will_do collapsed into one cached bh_faith_attitude_value.

 

----

Body Hair Trait - CK3 - Git Body Hair Trait - CK3 - Git

 

 


 

Posted
On 12/13/2022 at 5:32 AM, goebob said:

for me smooth people have red skin.

 

 

Could you share more details, like, do you have any other mods modifying the characters appearances?

Posted

Mods that modify appearance that I have, the latest Character body overhaul and the GUK Fix CBO, Community Flavour Pack?, Carnalitas and Guk Fix carnalitas?

  • 2 months later...
  • 1 year later...
Posted
2 hours ago, silverleo8497 said:

is this compatible with not so simple shaft and other nudity mods

 

Should be compatible with any mod. For safety, mods that alter the DNA of characters (like PoD and EK2) are best loaded after this one, so they override what's needed.

Posted (edited)

Thank you for sharing your nice mod!

I just wonder if we can have the options to shave body too, please?

Edited by TWolves
Posted
18 hours ago, TWolves said:

Thank you for sharing your nice mod!

I just wonder if we can have the options to shave body too, please?

 

It's planed.

  • 2 months later...
  • 2 months later...
  • 8 months later...
  • 1 year later...
Posted

Not sure if this really matters, but downloads usually have the folder and the icon with the play button, as seen in image 1, but the new update only has the folder. Can anyone confirm that it doesn't matter?

 

Carnalitas download, two items, per usual

Screenshot2026-10-05162402.png.6d96a964e2268eec11384c7eaf24fa18.png

 

 

Body hair download, 1 item, unusual.

Screenshot(3).png.cbdca47b422da1720c397eccf0eb0bf6.png

Posted (edited)
28 minutes ago, Johnny Wolf said:

Not sure if this really matters, but downloads usually have the folder and the icon with the play button, as seen in image 1, but the new update only has the folder. Can anyone confirm that it doesn't matter?

 

Carnalitas download, two items, per usual

Screenshot2026-10-05162402.png.6d96a964e2268eec11384c7eaf24fa18.png

 

 

Body hair download, 1 item, unusual.

Screenshot(3).png.cbdca47b422da1720c397eccf0eb0bf6.png

 

If you use the Irony Mod Manager, you can just right-click then 'Check new mods' and that'll generate the file. If you don't, copy the 'descriptor.mod' file that's inside this mod's folder, then paste it outside of it on the mods folder with the others, renaming it something like 'Body Hair Traits.mod'. I don't quite recall if the Paradox Launcher generates the file automatically too.

 

Edit: I've updated the file, so now it's already included

Edited by Winderig
Posted
1 hour ago, Winderig said:

 

If you use the Irony Mod Manager, you can just right-click then 'Check new mods' and that'll generate the file. If you don't, copy the 'descriptor.mod' file that's inside this mod's folder, then paste it outside of it on the mods folder with the others, renaming it something like 'Body Hair Traits.mod'. I don't quite recall if the Paradox Launcher generates the file automatically too.

 

Edit: I've updated the file, so now it's already included

Thank you for the update!

Posted

I found an interesting bug with this mod that took me combing through my 68 mods to figure out. When you load of the game most minor rulers who normally have generated children spawn without children. I only noticed it by accident but it's had some interesting consequences, but I'm also not sure how this mod did that.

Posted
12 hours ago, Johnny Wolf said:

I found an interesting bug with this mod that took me combing through my 68 mods to figure out. When you load of the game most minor rulers who normally have generated children spawn without children. I only noticed it by accident but it's had some interesting consequences, but I'm also not sure how this mod did that.

 

Are you sure it's this mod? The current version doesn't have any effect on game start. Only on random yearly pulse. Did you have a previous version of the mod folder before? Try to delete it and paste again the current one. The 1.20 changed a lot of the scripting, so currently the game is critically bugged even without mods

Posted
4 hours ago, Winderig said:

 

Are you sure it's this mod? The current version doesn't have any effect on game start. Only on random yearly pulse. Did you have a previous version of the mod folder before? Try to delete it and paste again the current one. The 1.20 changed a lot of the scripting, so currently the game is critically bugged even without mods

I uninstalled and reinstalled this mod and double checked. The population of the world in the 867 start is 30016 without your mod and 27567 with it installed. For reference this is the ruler of Gotland with and without.

 

Spoiler

Screenshot(4).png.005c4d1403ef5fdae973d636c8d4373e.png

 

Screenshot2026-10-07155047.png.ea01101b73314446564439626789d7e8.png

 

Posted
1 hour ago, Johnny Wolf said:

I uninstalled and reinstalled this mod and double checked. The population of the world in the 867 start is 30016 without your mod and 27567 with it installed. For reference this is the ruler of Gotland with and without.

 

  Reveal hidden contents

Screenshot(4).png.005c4d1403ef5fdae973d636c8d4373e.png

 

Screenshot2026-10-07155047.png.ea01101b73314446564439626789d7e8.png

 

 

What mod adds that heart icon trait? Does the error.log on the Documents folder of the game point anything out about scripts starting with "bh_"?

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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