In case the title isn't clear, here is the issue:
2.2 Le Guin introduced pop jobs, and... attempted to implement an effort-saving system by which the game would automatically aggregate available outfits and distribute them to various jobs.
Sounds great on paper, right?
Well... it does, until you realise that non-optional automation conflicts with the game's own modding capabilities. This system is extremely invasive, limited to ONLY 5 OUTFITS, and forcefully overrides any finer adjustments you might wish to make in asset selectors - the place where I was under the impression that kind of thing was supposed to be done.
To some, this may sound like a trivial issue, but... hi! I'm Princess Stabbity, I'm one of the nutters developing mods such as Mass Effect Civilisations: Asari and Elves of Stellaris. The former totals 95 outfits and the latter is exceeding 250 with more on the way.
All of those outfits, we were hoping to be able to use in Le Guin. We were waiting for the pop job system so that we could take full advantage of it, including, of course, assigning hundreds of clothes to various jobs in the interest of making the population tab more colourful.
So you can probably imagine the annoyance we feel right now, being forcibly limited to only 5 outfits and practically no control over which job wears what. Allow me to explain why this is happening:
Almost all jobs seem to have an associated clothes_texture_index, typically the same across one stratum, with a couple of exceptions (enforcer, soldier). The index assigned to any given job determines what outfit it gets, based on the order in which outfits are listed in the species' clothes asset selector. IGNORING all triggers, so generally the results are generic and thoughtless.
And the worst part? Modders can do nothing about it without modifying vanilla pop job files (common/pop_jobs, common/pop_categories). And the modders this affects the most (portrait creators) are the LAST people who should be touching those.
Of course, this isn't just an unfounded assumption. We tested this system thoroughly and ended up making a small mod that will illustrate the issue (attached below).
This little mod adds a new species of CLOTHINGTEST that you can pick in empire creation. We used this species to test and eventually figure out how the indexing system works and what entry corresponded to which index, by manipulating the system to clothe employed pops in 5 special "outfits". Here is what the experiment concluded:
Feel free to test it as well. All you need is a planet full of CLOTHINGTEST pops, including a few unemployed to see how asset selectors do work on them.
The fastest way to do so is by using "instant_build" to build a bunch of city districts and the "populate" command to instantly overcrowd the planet. This should produce a wide variety of pops completely disregarding the asset selector, and a few unemployed obeying the selector rules to compare against.
Please, please Paradox, this cannot remain in the game. It is annoying and harmful the way it currently functions, to anyone interested in creating clothes for pop jobs, now that they exist. And on top of that is entirely REDUNDANT. The same, actually better, results can be achieved by assigning clothes based on pop job inside asset selectors. No invasive automated overrides required.
I love you but... please >.<
2.2 Le Guin introduced pop jobs, and... attempted to implement an effort-saving system by which the game would automatically aggregate available outfits and distribute them to various jobs.
Sounds great on paper, right?
Well... it does, until you realise that non-optional automation conflicts with the game's own modding capabilities. This system is extremely invasive, limited to ONLY 5 OUTFITS, and forcefully overrides any finer adjustments you might wish to make in asset selectors - the place where I was under the impression that kind of thing was supposed to be done.
To some, this may sound like a trivial issue, but... hi! I'm Princess Stabbity, I'm one of the nutters developing mods such as Mass Effect Civilisations: Asari and Elves of Stellaris. The former totals 95 outfits and the latter is exceeding 250 with more on the way.
All of those outfits, we were hoping to be able to use in Le Guin. We were waiting for the pop job system so that we could take full advantage of it, including, of course, assigning hundreds of clothes to various jobs in the interest of making the population tab more colourful.
So you can probably imagine the annoyance we feel right now, being forcibly limited to only 5 outfits and practically no control over which job wears what. Allow me to explain why this is happening:
Almost all jobs seem to have an associated clothes_texture_index, typically the same across one stratum, with a couple of exceptions (enforcer, soldier). The index assigned to any given job determines what outfit it gets, based on the order in which outfits are listed in the species' clothes asset selector. IGNORING all triggers, so generally the results are generic and thoughtless.
And the worst part? Modders can do nothing about it without modifying vanilla pop job files (common/pop_jobs, common/pop_categories). And the modders this affects the most (portrait creators) are the LAST people who should be touching those.
Of course, this isn't just an unfounded assumption. We tested this system thoroughly and ended up making a small mod that will illustrate the issue (attached below).
This little mod adds a new species of CLOTHINGTEST that you can pick in empire creation. We used this species to test and eventually figure out how the indexing system works and what entry corresponded to which index, by manipulating the system to clothe employed pops in 5 special "outfits". Here is what the experiment concluded:
Code:
# This should hopefully illustrate exactly what's wrong with the clothes_texture_index system forcefully overriding asset selectors.
testerhuman_f_clothes_01 = {
default = "gfx/models/portraits/testerhuman/wrong_outfit_.dds" #Index 1: Even though this is not assigned to any pops, the ruler jobs (and specifically, arbitrarily them) will be wearing it and I can't do anything about it
game_setup = {#will run with a limited country scope. species and government is set but the country does not actually exist
default = "gfx/models/portraits/human/human_female_clothes_admiral.dds"
}
#species scope
species = { #generic portrait for a species
default = "gfx/models/portraits/human/human_female_clothes_ruler.dds"
}
#pop scope
pop = { #for a specific pop
default = "gfx/models/portraits/testerhuman/misplaced_something.dds" #Index 2: pretty much all worker jobs will be wearing this
#Note how despite these outfits supposedly being both random and NEVER (always = no) supposed to show up,
#they all will and I will predict which pops will be erroneously using them with 100% accuracy
random = {
trigger = { always = no }
list = {
"gfx/models/portraits/testerhuman/am_i_overdressed.dds" #Index 3: most if not all specialists wear this
"gfx/models/portraits/testerhuman/is_it_slightly_breezy.dds" #Index 4: soldiers wear this
"gfx/models/portraits/testerhuman/the_latest_fashion.dds" #Index 5: this is the latest in police fashion, worn exclusively by enforcers and telepaths
}
}
#So that makes a total of 5 outfits that pop jobs can utilise. The only pops who properly use asset selector outfits as intended are... the unemployed. Let me demonstrate:
#Even though in theory the always = yes trigger should allow all pops to wear random human outfits, only the unemployed will use them. Employed pops are limited to the 5 above.
random = {
trigger = { always = yes }
list = {
"gfx/models/portraits/human/human_female_clothes_ruler2.dds"
"gfx/models/portraits/human/human_female_clothes_general.dds"
"gfx/models/portraits/human/human_female_clothes_ruler.dds"
"gfx/models/portraits/human/human_female_clothes_governor.dds"
"gfx/models/portraits/human/human_female_outfit_scientist.dds"
"gfx/models/portraits/human/human_female_clothes_royal.dds"
"gfx/models/portraits/human/human_female_clothes_admiral.dds"
}
}
}
#Meanwhile leaders are fine. They will wear whatever is assigned to them in asset selectors.
#leader scope
leader = { #scientists, generals, admirals, governor
"gfx/models/portraits/human/human_female_outfit_scientist.dds" = { leader_class = scientist }
"gfx/models/portraits/human/human_female_clothes_general.dds" = { leader_class = general }
"gfx/models/portraits/human/human_female_clothes_admiral.dds" = { leader_class = admiral }
"gfx/models/portraits/human/human_female_clothes_governor.dds" = { leader_class = governor }
}
#leader scope
ruler = { #for rulers
default = "gfx/models/portraits/human/human_female_clothes_ruler.dds"
"gfx/models/portraits/human/human_female_clothes_ruler2.dds" = { owner = { has_generic_government = yes NOT = { has_authority = auth_imperial } } }
"gfx/models/portraits/human/human_female_clothes_general.dds" = { owner = { has_militarist_government = yes NOT = { has_authority = auth_imperial } } }
"gfx/models/portraits/human/human_female_clothes_ruler.dds" = { owner = { has_spiritualist_government = yes NOT = { has_authority = auth_imperial } } }
"gfx/models/portraits/human/human_female_clothes_governor.dds" = { owner = { has_pacifist_government = yes NOT = { has_authority = auth_imperial } } }
"gfx/models/portraits/human/human_female_clothes_governor.dds" = { owner = { has_primitive_government = yes NOT = { has_authority = auth_imperial } } }
"gfx/models/portraits/human/human_female_outfit_scientist.dds" = { owner = { has_materialist_government = yes NOT = { has_authority = auth_imperial } } }
"gfx/models/portraits/human/human_female_clothes_royal.dds" = { owner = { has_authority = auth_imperial } }
}
}
Feel free to test it as well. All you need is a planet full of CLOTHINGTEST pops, including a few unemployed to see how asset selectors do work on them.
The fastest way to do so is by using "instant_build" to build a bunch of city districts and the "populate" command to instantly overcrowd the planet. This should produce a wide variety of pops completely disregarding the asset selector, and a few unemployed obeying the selector rules to compare against.
Please, please Paradox, this cannot remain in the game. It is annoying and harmful the way it currently functions, to anyone interested in creating clothes for pop jobs, now that they exist. And on top of that is entirely REDUNDANT. The same, actually better, results can be achieved by assigning clothes based on pop job inside asset selectors. No invasive automated overrides required.
I love you but... please >.<
Attachments
Last edited: