Resource icon

Community BugFix Mod 0.9.2

That's not exactly the problem though - I checked it in an actual Han game now.

The threshold doesn't actually decrease right away, so it looks like a cosmetic error - tolerable - but the next growth event is basically already free (in the sense that the food needed to grow to the next one doesn't increase - as it should).

And that becomes quite a big deal if you build a few of them.

This city has actually 10 rural tiles - which should translate to about 3 times more food needed to grow (due to the steep growth curve).

Let's put it another way: the three walls give a growth boost of more than 200% (at this point - the curve flattens a little bit later).

[Edit: This is online speed btw (to avoid confusion) - but the math should work]

Screenshot 2025-03-31 170154.png
 
Last edited:
That's not exactly the problem though - I checked it in an actual Han game now.

The threshold doesn't actually decrease right away, so it looks like a cosmetic error - tolerable - but the next growth event is basically already free (in the sense that the food needed to grow to the next one doesn't increase - as it should).

And that becomes quite a big deal if you build a few of them.

This city has actually 10 rural tiles - which should translate to about 3 times more food needed to grow (due to the steep growth curve).

Let's put it another way: the three walls give a growth boost of more than 200% (at this point - the curve flattens a little bit later).

View attachment 727762
We discussed this problem here, even if I had never tested it and I was hoping it was only a Ming Wall problem and not also a Huan wall problem. Also it seemed a problem only when the Age would have changed, thanks to your experiment I'm afraid it's a problem also in the current Age.

This is definitely bad and hope there's a way to find a fix soon, it's definitely gamebreaking for both Huan and Ming.
 
As a brute force test, I've tried to remove all special properties of the Han wall in the files (the special tags - fortification and LINK_ADJACENT - and a property called "BuildInLine") - still doesn't get counted as a rural district. District type seems to be set correctly too.
🤷‍♂️
 
<Row ConstructibleType="IMPROVEMENT_HAN_GREAT_WALL" Name="LOC_IMPROVEMENT_HAN_GREAT_WALL_NAME" Description="LOC_IMPROVEMENT_HAN_GREAT_WALL_DESCRIPTION" Tooltip="LOC_IMPROVEMENT_HAN_GREAT_WALL_TOOLTIP" ConstructibleClass="IMPROVEMENT" Cost="60" Population="0" Age="AGE_ANTIQUITY"/>

Population = "0" 🙀

Did someone at FXS write a ticket to the devs saying "Put all walls on 0 population"?

[Edit: that's a tough call for a bugfix mod though - is this intended or not? Who knows?

Almost needless to say at this point of the -um- investigation - setting the population to "1" works perfectly. Personally, I would change it - an improvement that doesn't count as a district makes no sense within the system.]
 
Last edited:
<Row ConstructibleType="IMPROVEMENT_HAN_GREAT_WALL" Name="LOC_IMPROVEMENT_HAN_GREAT_WALL_NAME" Description="LOC_IMPROVEMENT_HAN_GREAT_WALL_DESCRIPTION" Tooltip="LOC_IMPROVEMENT_HAN_GREAT_WALL_TOOLTIP" ConstructibleClass="IMPROVEMENT" Cost="60" Population="0" Age="AGE_ANTIQUITY"/>

Population = "0" 🙀

Did someone at FXS write a ticket to the devs saying "Put all walls on 0 population"?

[Edit: that's a tough call for a bugfix mod though - is this intended or not? Who knows?

Almost needless to say at this point of the -um- investigation - setting the population to "1" works perfectly. Personally, I would change it - an improvement that doesn't count as a district makes no sense within the system.]
Is it "population=1" for all the other improvements?

Anyway it's 100% unintended; something so big would have been reported for sure in the UI description; also it definitely has no sense thematically that just these 2 improvements have this special ability.

I would 100% change it both for Han and Ming.
 
Is it "population=1" for all the other improvements?
These two are the only ones, yes. Population="0" is exclusively for wonders and normal walls. ( And technically also for goodie huts)

This is something you can simply change in your original files, even, as a stop-gap. It may get overwritten with a patch, but there's no real risk of breaking something. The value is either 0 or 1.

Btw, I got one upvote in 2 hours for pointing this out in the reddit thread. :lol:
 
These two are the only ones, yes. Population="0" is exclusively for wonders and normal walls. ( And technically also for goodie huts)

This is something you can simply change in your original files, even, as a stop-gap. It may get overwritten with a patch, but there's no real risk of breaking something. The value is either 0 or 1.

Btw, I got one upvote in 2 hours for pointing this out in the reddit thread. :lol:
I don't see your comment on Reddit, maybe I just can't find it for some reason?

Anyway if this could be added to this mod it would be great, I'm not exactly sure how to do it manually and anyway it would be 1000% easier for me and my multiplayer friends to not need to ask everyone to fix this manually :lol:
 
I don't see your comment on Reddit, maybe I just can't find it for some reason?
It's here (different generic username) - but it's probably an algo problem with Reddit. If an answer comes in too late over there, people don't even see it anymore.
But this here is a better place to collect these things anyway. (And I think there's a chance that the relevant people at FXS sneak by at some point.)

I second the motion to add it to the mod, of course.
 
It's here (different generic username) - but it's probably an algo problem with Reddit. If an answer comes in too late over there, people don't even see it anymore.
But this here is a better place to collect these things anyway. (And I think there's a chance that the relevant people at FXS sneak by at some point.)

I second the motion to add it to the mod, of course.
its probably the right fix, but I think its too opionated myself. Up to Chicken really.

Found some new bugs myself, one that we probably can't fix, the AOE effect of naval commanders promotion to allow upgrading outside of borders works if you have another commander holding a unit enter that commander with the promotions radius, then leave, the effect stays. This was likely a fix they did so units wouldn't go like 2/3 when they left a commander with the +1 movement. We probably cant fix it. Another one is the Iron Cross of Prussia tradition doesnt work.Will test and get a commendation incase its some weirdness like needs to get a commendation this age. EDIT: Yeah there was definetly some weirdness, I got the Iron Cross on planes when I didnt even have any commendations. Seemed to work navally though

1743798368891.png
 
Last edited:
A brief recap below, hoping it can be usefull:

Fix that can be removed from the mod

  • Meji overbuilding bonus: 1.1.1 should have fixed this, I guess it can be removed from the Mod now

Known bugs of things that simply do not works 100% of time (if a good souls know how to fix can be added to the mod):

  • Ming wall (URGENT/ GAME BREAKER): at the start of the Modern Age, each tile with a Ming Wall reduces the city's food requirement per population by 1. While the UI still displays the correct population, the food calculation is incorrect. As a result, cities with numerous Ming Walls can grow remarkably easily in Modern Age (enough to ban the Ming for me)
  • Incense do not boost missionaries (fixed in another mod, not here): Incense boost temple production but not the missionary production. This has already been fixed thanks to @Smayo (see Community Bugfixes Extended v1.11), but I think for some reason it's not still been included in this mod
  • Mobility promotion (fixed in another mod, not here): Mobility promotion for Commanders doesn't correctly ignores Rough and Minor River terrain when packed. As the previous point, this has already been fixed in @Smayo 's mod, I guess the fix could be reported also here
  • Prussian streets everywhere in Modern Age: for absolutely no reason, at the start of modern Age ALL the roads in neutral territory get transformed in Staatseisenbahn (the prussian special road). This obviously creates many distortion, boosting tons of tiles in the empty world and promoting colonization in these tiles
  • Staatseisenbahn yield not reported in the UI when city grow: not only the previous bug is definitely annoying, but also the related UI is broken. Staatseisenbahn improves the yield in the tile, but this is not reported when you have to add a citizen in the tile (the yield magically appear from nowhere after you've decided the tile to put the citizien)
  • Civic based on Attributes: civics based on attributes counts only the attributes gained in the current age, making the second tier of ideology civics not only useless, but damaging for people who don't know this (these civics give a bonus for the attributes but also a malus)
  • Distant Land Legacy bonus working in Original Continent: I've not tested this enough, but I'm pretty sure that the Legacy bonuses you can start when an Era begin are completely broken in all (or almost all) the situation where a bonus should be given only to distant land's cities; the bonuses instead appear for ALL the cities. Also, in modern I choose the +2 population in distant land bonus and I'm almost completly sure I received way more than 2 population in every city (I received something like 5, no idea if the other 3 could have been related to something else but I'm pretty sure not)
  • Hoplites combat preview: @WarlockEngineer as already reported above (message #142 of this thread) a fix for the fact that hoplites report a wrong combat preview message when used
Known bugs of things that do not works sometimes (if a good souls know how to fix can be added to the mod):

  • Commander melee coordinated attack: this "sometimes works", but starting from something like half ancient Age seems bugged TONS of times. Basically really often the commander melee coordinated attack simply doesn't work (you click it, the commander lose all movement, but nothing happen and no friendly unit attack anyone), or moves unit which CAN'T even reach the target. This is probably a type of bug that would require many analysis anyway.

Hoping they can have a solution :sad: and in the meantime obviously thanks to all as always!!!
Is @PoundedChicken the only one that can put the code in the mod for these things?

I would definitely fix also the Han/ Ming one if possible, in my opinion is basically sure that it's not working as intended (and we already have the fix above).

The prussian tradition not working is terrible....it's really disheartening to see how many things do not work
 
Is @PoundedChicken the only one that can put the code in the mod for these things?

I would definitely fix also the Han/ Ming one if possible, in my opinion is basically sure that it's not working as intended (and we already have the fix above).

The prussian tradition not working is terrible....it's really disheartening to see how many things do not work
@PoundedChicken is the repository owner on github. You can contribute there but @PoundedChicken will need to approve and pull those changes into main distro before pushing to CivFanatics mod section.
 
Found another doozy. Some patch removed Iron granting bonuses to Ranged Units in Exploration, but kept the text. Unsure of what the right move here is, as the change was undocumented.
 
Still no news in order to add the new stuff to the mod? Maybe a parallel mod would be usefull again?

In the meatime, I'm trying to study the Civ Code. They reported me a bug that the "Legend" expansionist attribute (+50% for the gold conversion from city to town) work opposite as intended; having the attribute immediatly increase instead of reducing the cost of the city conversion.

In base standard --> data --> progression-trees-common-gameeffects there are the following lines:
Spoiler Code :


<Modifier id="MOD_ATTRIBUTE_EXPANSIONIST_LEGEND_ASHOKA_L2" collection="COLLECTION_PLAYER_CITIES" effect="EFFECT_CITY_ADJUST_TOWN_UPGRADE_DISCOUNT">
<Argument name="Percent">-50</Argument>
<String context="Description">LOC_MOD_ATTRIBUTE_EXPANSIONIST_LEGEND_ASHOKA_L2_DESCRIPTION</String>
</Modifier>

<Modifier id="MOD_ATTRIBUTE_EXPANSIONIST_LEGEND_AUGUSTUS_L2" collection="COLLECTION_PLAYER_CITIES" effect="EFFECT_CITY_ADJUST_TOWN_UPGRADE_DISCOUNT">
<Argument name="Percent">-50</Argument>
<String context="Description">LOC_MOD_ATTRIBUTE_EXPANSIONIST_LEGEND_AUGUSTUS_L2_DESCRIPTION</String>
</Modifier>

<Modifier id="MOD_ATTRIBUTE_EXPANSIONIST_LEGEND_CONFUCIUS_L1" collection="COLLECTION_PLAYER_CITIES" effect="EFFECT_CITY_ADJUST_TOWN_UPGRADE_DISCOUNT">
<Argument name="Percent">-50</Argument>
<String context="Description">LOC_MOD_ATTRIBUTE_EXPANSIONIST_LEGEND_CONFUCIUS_L1_DESCRIPTION</String>
</Modifier>

<Modifier id="MOD_ATTRIBUTE_EXPANSIONIST_LEGEND_IBN_BATTUTA_L2" collection="COLLECTION_PLAYER_CITIES" effect="EFFECT_CITY_ADJUST_TOWN_UPGRADE_DISCOUNT">
<Argument name="Percent">-50</Argument>
<String context="Description">LOC_MOD_ATTRIBUTE_EXPANSIONIST_LEGEND_IBN_BATTUTA_L2_DESCRIPTION</String>
</Modifier>

<Modifier id="MOD_ATTRIBUTE_EXPANSIONIST_LEGEND_ISABELLA_L2" collection="COLLECTION_PLAYER_CITIES" effect="EFFECT_CITY_ADJUST_TOWN_UPGRADE_DISCOUNT">
<Argument name="Percent">-50</Argument>
<String context="Description">LOC_MOD_ATTRIBUTE_EXPANSIONIST_LEGEND_ISABELLA_L2_DESCRIPTION</String>
</Modifier>

<Modifier id="MOD_ATTRIBUTE_EXPANSIONIST_LEGEND_PACHACUTI_L2" collection="COLLECTION_PLAYER_CITIES" effect="EFFECT_CITY_ADJUST_TOWN_UPGRADE_DISCOUNT">
<Argument name="Percent">-50</Argument>
<String context="Description">LOC_MOD_ATTRIBUTE_EXPANSIONIST_LEGEND_PACHACUTI_L2_DESCRIPTION</String>
</Modifier>


Changhing "-50" with "50" seems to work, now it reduces the cost instead of increasing it! Could this be added to the mod too please?
 
I'm trying to fix also that:

- Terracotta army grants a commander every age instead of only the first time
- Expansion attribute n.5 gives +1 population to all the town at the start of every age instead of simply the first time.

Does anyone know where I can find the list of " <SubjectRequirements>" the games uses? For example

<SubjectRequirements>
<Requirement type="REQUIREMENT_WONDER_IS_ACTIVE">
<Argument name="ConstructibleType">WONDER_TERRACOTTA_ARMY</Argument>
</Requirement>
</SubjectRequirements>


Where can I find the list with "REQUIREMENT_WONDER_IS_ACTIVE"?

I think at least the Terracotta army problem could be solved putting as requirement that it's currently the antiquity age, but I've no idea how to find the requirements.

Thanks if someone can help me!
 
I'm trying to fix also that:

- Terracotta army grants a commander every age instead of only the first time
- Expansion attribute n.5 gives +1 population to all the town at the start of every age instead of simply the first time.

Does anyone know where I can find the list of " <SubjectRequirements>" the games uses? For example

<SubjectRequirements>
<Requirement type="REQUIREMENT_WONDER_IS_ACTIVE">
<Argument name="ConstructibleType">WONDER_TERRACOTTA_ARMY</Argument>
</Requirement>
</SubjectRequirements>


Where can I find the list with "REQUIREMENT_WONDER_IS_ACTIVE"?

I think at least the Terracotta army problem could be solved putting as requirement that it's currently the antiquity age, but I've no idea how to find the requirements.

Thanks if someone can help me!
As far as I'm aware from my (limited) experience with Civ 6 modding, requirements tend to be implemented case-by-case rather than pulling from a universal "requirements" file, so searching is unfortunately necessary (as far as I know).

When it comes to "REQUIREMENT_WONDER_IS_ACTIVE", I couldn't find anything deeper than other wonders calling it the same way. I have no understanding of what exactly an "active" vs "inactive" wonder entails.

A very brief search did find the RequirementId "REQ_AGE_IS_ANTIQUITY" in \Base\modules\base-standard\data\unlocks.xml. I wonder if changing MOD_TERRACOTTA_ARMY_COMMANDER to this could work:
Code:
<Modifier id="MOD_TERRACOTTA_ARMY_COMMANDER" collection="COLLECTION_OWNER" effect="EFFECT_CITY_GRANT_UNIT">
        <SubjectRequirements>
            <Requirement type="REQUIREMENT_WONDER_IS_ACTIVE">
                <Argument name="ConstructibleType">WONDER_TERRACOTTA_ARMY</Argument>
            </Requirement>
            <Requirement type="REQUIREMENT_GAME_AGE_TYPE_MATCH">
                <Argument name="AgeType">AGE_ANTIQUITY</Argument>
            </Requirement>
        </SubjectRequirements>
        <Argument name="UnitType">UNIT_ARMY_COMMANDER</Argument>
        <Argument name="Amount">1</Argument>
    </Modifier>
(I don't really know what I'm doing)
 
Still no news in order to add the new stuff to the mod? Maybe a parallel mod would be usefull again?
I was wondering about creating an official CFC Mod for agreed fixes and to ensure it continues despite individuals coming and going, maybe wait until patch 1.2 next week and see what people think.
 
I was wondering about creating an official CFC Mod for agreed fixes and to ensure it continues despite individuals coming and going, maybe wait until patch 1.2 next week and see what people think.
That’d be awesome. TBH I follow this thread because I care about bugs, but I disabled the mod a few weeks back after patch. I think the civilian movement fix was made obsolete and seemed to be changing my MP values incorrectly. Didn’t do any further digging though.

I agree that the mod should fix things everyone agrees on w/o any debate whatsoever.

(Eg There’s another bugfix mod that fixes the incense > missionary bug, but it also makes commanders ignore all terrain penalties (better than a scout) - that change I’m hesitant about and want to wait for devs. They could change the description instead )

Either make the changes all a la carte or the bare minimum. I think each fix also needs to be re validated after every patch.. (think devs also fix things w/o disclosing in patch notes)
 
I was wondering about creating an official CFC Mod for agreed fixes and to ensure it continues despite individuals coming and going, maybe wait until patch 1.2 next week and see what people think.
That would be cool. Think thats what Chicken wanted from their earlier posts, but because they are the only one who can make updates on CFC, he's like an unwilling dictator.

I would also be happy to fire up Bugfixes Expanded, and maybe include the good bugfixes from this mod as a more updated one, and have some handling if both mods are on? idk. I don't want to be taking other peoples work, but also a lot of these changes are quite simple.

I'm trying to fix also that:

- Terracotta army grants a commander every age instead of only the first time
- Expansion attribute n.5 gives +1 population to all the town at the start of every age instead of simply the first time.

Does anyone know where I can find the list of " <SubjectRequirements>" the games uses? For example

<SubjectRequirements>
<Requirement type="REQUIREMENT_WONDER_IS_ACTIVE">
<Argument name="ConstructibleType">WONDER_TERRACOTTA_ARMY</Argument>
</Requirement>
</SubjectRequirements>


Where can I find the list with "REQUIREMENT_WONDER_IS_ACTIVE"?

I think at least the Terracotta army problem could be solved putting as requirement that it's currently the antiquity age, but I've no idea how to find the requirements.

Thanks if someone can help me!
I've attached a list of all the requirements in the game, all the Argument Names they can use, and examples of Values for each Argument and an example RequirementId that uses said value. If the Name and Value are NULL it means there was no example with a RequirementArguments row, so it doesnt need one. Should all be valid ones, its technically a bit modded since its part of a WIP project that loads all of the three ages together. But not got any new requirements defined, and was the easiest way to query all three ages. Statement I used in case anyone was wondering

SQL:
SELECT
    R.RequirementType,
    A.Name,
    MIN(A.Value) AS Value,
    MIN(R.RequirementId) AS Example
FROM
    Requirements AS R
LEFT JOIN
    RequirementArguments AS A ON R.RequirementId = A.RequirementId
GROUP BY
    R.RequirementType,
    A.Name;
 

Attachments

I'm trying to fix also that:

- Terracotta army grants a commander every age instead of only the first time
- Expansion attribute n.5 gives +1 population to all the town at the start of every age instead of simply the first time.

Does anyone know where I can find the list of " <SubjectRequirements>" the games uses? For example

<SubjectRequirements>
<Requirement type="REQUIREMENT_WONDER_IS_ACTIVE">
<Argument name="ConstructibleType">WONDER_TERRACOTTA_ARMY</Argument>
</Requirement>
</SubjectRequirements>


Where can I find the list with "REQUIREMENT_WONDER_IS_ACTIVE"?

I think at least the Terracotta army problem could be solved putting as requirement that it's currently the antiquity age, but I've no idea how to find the requirements.

Thanks if someone can help me!
That convert cities is a good find. Its hard to tell a lot of the time, since most often you get bounded to the minimum/maximum value for city costs.

I've also thought about the Terracotta Army fix, and I can see it being difficult. For one, how are you gonna make sure if someone has conquered and taken it in later ages that they still get the commander? Its a tricky one. The free pop on Towns one is also big, as is the Free Commander promotion. But its hard, I can see them both being unintended, but still okay fixes. Like I don't wanna editorialise the devs, I could imagine that fix going either way
 
Thanks a lot to everyone!

@FungeonKeeper reported the requirement "REQ_AGE_IS_ANTIQUITY", which would fix a good part of the problem for terracotta army (still the bug would appear if the city with terracotta army changes owner during antiquity age, but this fix would be better than nothing for sure), the only questions is "why I don't find this requirement in the Excel kindly sent by @Smayo ?".I don't understand if "REQ_AGE_IS_ANTIQUITY" is something already used by the game or not.

Tonight (European time) I'll try it to see if it works.

Also, if I understood correctly, not only the +1 population expansionist attribute repeat itself every age, but also the +1 promotion for commander militarist attribute? Basically everything happening "once in the game" instead happen "once every age" I guess.... I tried to understand how to fix it but I've no idea, also because I'm definitely someone who is self-teaching how to code and I definitely miss some basic knowledge about it :lol:

In the meantime, I agree that after the patch of 22 april we could do a "brainstorming" about what should be in the mod and what not; I REALLY hope mods fix a lot of the (MANY) bugs, but I'm losing my hope a bit more everyday.
 
Back
Top Bottom