• 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.

Aleriez

Colonel
59 Badges
Apr 9, 2015
1.096
13
  • Stellaris
  • Europa Universalis IV: Cradle of Civilization
  • Europa Universalis IV: Third Rome
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Snowfall
  • Europa Universalis IV: Cossacks
  • Cities: Skylines - After Dark
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Art of War
  • Sword of the Stars II
  • Europa Universalis IV: Conquest of Paradise
  • Shadowrun Returns
  • Hearts of Iron IV: No Step Back
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • BATTLETECH: Heavy Metal
  • BATTLETECH - Digital Deluxe Edition
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Surviving Mars: First Colony Edition
  • Stellaris: Lithoids
  • Cities: Skylines - Campus
  • BATTLETECH: Flashpoint
  • Crusader Kings III
  • Europa Universalis IV: Golden Century
  • Hearts of Iron IV: Expansion Pass
  • BATTLETECH: Season pass
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Pillars of Eternity
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Mare Nostrum
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Cities: Skylines - Green Cities
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • BATTLETECH
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Federations
Short summary of your issue
Gameplay - Culture tradition Maritime Mercantilism may not work as intended

Game Version
1.5.0 - 1.7.2

What OS are you playing on?
Windows

What platform are you using?
Steam

What DLC do you have installed?
Royal Court,

Do you have mods enabled?
No

Have you tried verifying your game files (Steam only)?
Yes

How much "pain" is this causing you?
8

Please explain the issue you experienced in the most condensed way possible
The description of the tradition states that I can build e.g. port 3 and 4 one era before it should be possible. That is technically not the case as I need e.g. city 2 for it to be build as you can see in the screenshots. Currently, the tradition only allows to bypass the required technology "Manorialism", but not the era. So either the description is wrong or how it works. The same is true for castles and temples.

Please explain how to reproduce the issue
Just check a barony that has a culture with the tradition Maritime Mercantilism and a port. Check what's required to build it.

Is there anything else you think could help us identify/replicate the issue?


I have attached a save game

No

Upload Attachment
File(s) attached
 

Attachments

  • 20220227121053_1.jpg
    20220227121053_1.jpg
    1,5 MB · Views: 0
  • 20220227121127_1.jpg
    20220227121127_1.jpg
    1,5 MB · Views: 0
Last edited:
  • 1Like
Reactions:
This issue is still present in 1.5.1 vanilla as far as I can tell.

For port 3 and 4 you need normally Manorialism which the tradition bypasses.
In castles to build port 3 and 4 you need Battlements innovation first and the actual upgrade of the castle.
In cities you need Manorialism first to upgrade the city.
In temples you also need Manorialism first to upgrade the temple.
 
Last edited:
  • 2
  • 1Like
Reactions:
Still present in 1.6.1.2 and a painful issue. See https://forum.paradoxplaza.com/forum/threads/a-cultural-innovation-lies.1518637/ Would be good to increase that pain number form 2 to say 8. It is very disappointing to spend a life-time prestige on adding one of these to your culture only to realise it does not really make any meaningful difference.

Probably in each case there have to be also a bypass of the core building level requirement.
 
  • 2Like
Reactions:
Do you mean the issue is resolved already? In a released version? Went looking for update, but see none, confused if I maybe mixed a point where it was fixed before.
No, it still isn't resolved in any released version.
They were talking about this:
Would be good to increase that pain number form 2 to say 8.
 
  • 1Like
Reactions:
Would be great to get at least acknowledgment form the development team that this is not working as intended and might be fixed in the future.
 
Last edited:
  • 1
Reactions:
According to they bug confirmed task form February 10% part also does not work https://forum.paradoxplaza.com/foru...t-give-tax-bonus-to-coastal-holdings.1510075/
Last time I checked, this one worked. Read the first post there.

Actually, it's ridiculous that bug report was confirmed event though it's not really a bug (just the UI not displaying the bonus in the way most people would expect).
Meanwhile, other bug reports describing real bugs (like this one) are ignored... weird.
 
Last time I checked, this one worked. Read the first post there.

Actually, it's ridiculous that bug report was confirmed event though it's not really a bug (just the UI not displaying the bonus in the way most people would expect).
Meanwhile, other bug reports describing real bugs (like this one) are ignored... weird.

Ah, got it, thank you!
 
  • 2Like
Reactions:
For port 3 and 4 you need normally Manorialism which the tradition bypasses.
In castles to build port 3 and 4 you need Battlements innovation first and the actual upgrade of the castle.
In cities you need Manorialism first to upgrade the city.
In temples you also need Manorialism first to upgrade the temple.
So, in other words, current "Maritime Mercantilism" only enables a player to upgrade ports in Castles once they have the era fortification innovation while not yet the era economic innovation. It does not do anything for cities or temples because these holdings level upgrades are necessary to build ports locked under the economic innovation anyway.

In Castles, you can:
- Upgrades 3 & 4 when you have Battlements, but did not invented Manorialism yet.
- Upgrades 5 & 6 when you have Hoardings, but did not invented Windmills yet.
- Upgrades 7 & 8 when you got Machicolations, but did not invented Cranes yet.

The tooltip saying "The Tradeport line of Buildings can be constructed one Ear early" a solution might be to replace tooltip with "The Tradeport line of Buildings in Castles can be upgraded without Era economic innovation (Manorialism, Windmills, Cranes)"

Costal holding 10% increase in income works, but represented in a confusing way.

Republican vassals +10 opinion works as well.

I hope I got the details right finally.
 
  • 1
Reactions:
I hope I got the details right finally.
Sounds about right.

The tooltip saying "The Tradeport line of Buildings can be constructed one Ear early" a solution might be to replace tooltip with "The Tradeport line of Buildings in Castles can be upgraded without Era economic innovation (Manorialism, Windmills, Cranes)"
That's one option, but I prefer the original idea. It's not even hard to fix, really. It's just not in their priorities (like many other problems).
 
That's one option, but I prefer the original idea. It's not even hard to fix, really. It's just not in their priorities (like many other problems).

Yeah, I guess this is not on top of the list for the dev team. Do you know where in game files one could fix this?

I guess a fix could be to remove both economical tech AND holding level requirement from the port upgrades.
 
Do you know where in game files one could fix this?
In "common\buildings\00_common_buildings.txt".
I made a fix for it back then, the tradition felt too useless without it. Fixed some other things too while I was at it.
 

Attachments

  • fixed_guilds_ports.7z
    3,6 KB · Views: 0
  • 2
  • 1Love
Reactions:
In "common\buildings\00_common_buildings.txt".
I made a fix for it back then, the tradition felt too useless without it. Fixed some other things too while I was at it.
Thank you for sharing code! I'm new to CK3 script, looking trough these files diff vs 1.7 vanilla trying to isolate and understand changes better. This is the level 4 port can_construct part. The `next_level_trade_ports` flag set in Maritime Mercantilism culture.

Screenshot 2022-09-12 at 11.42.34 AM.png


Vanilla `can_construct` starts with
`building_requirement_castle_city_church = { LEVEL = 02 }`
This is where the cities and temples holdings scoped out. I guess each code block makes a logical AND?

Then IF NOT `next_level_trade_ports` AND has Manorialism - enables upgrade for everyone with Manorialism.
ELSE has Crop Rotation AND `next_level_trade_ports` - allows upgrades for Maritime Mercantilism.

I'm not sure what `limit = {}` does. Is it stop checking if not true? But if it is already all chained as logical AND it should work just the same. Feel like I'm missing something here.

In your version you removing level check at the top and then
IF has `next_level_trade_ports` AND holding level 1 AND Crop Rotation - allows upgrades for Maritime Mercantilism
ELSE holding level 2 AND Manorialism - enables upgrade for everyone with Manorialism.

Did I get it right?

At the beginning of the file there is this change:
Screenshot 2022-09-12 at 12.26.02 PM.png


I wonder what is practical difference in checking for barony 01 level in `can_construct` vs `can_construct_potential`?


Lastly there are AI changes, I guess these teach AI to value ports more?

Screenshot 2022-09-12 at 12.29.01 PM.png
 
  • 1Like
Reactions:
In "common\buildings\00_common_buildings.txt".
I made a fix for it back then, the tradition felt too useless without it. Fixed some other things too while I was at it.

I understand city_buildings is a separate set of changes, seems like it fixing issue with India holding types illustrations (ouch, still in 1.7) and modifies likelihood of guilds being built by AI.

What fbi_building_requirement_triggers.txt does? I could not find same file in vanilla or find same triggers in vanilla files code base. Not sure if it necessary for Maritime Mercantilism to work or not.
 
I guess each code block makes a logical AND?
Yes, usually that's the case. I read that sometimes the default operator is another one, but I'm not sure if it was for this game or Stellaris.

I'm not sure what `limit = {}` does. Is it stop checking if not true?
You might want to look there: Triggers - CK3 Wiki
But basically yeah. If limit returns true, it will use the triggers within trigger_if. Otherwise it will try trigger_else_if or trigger_else if either exists.

But if it is already all chained as logical AND it should work just the same. Feel like I'm missing something here.
Keep in mind that the whole point is not only to fix the problem, but also to have it look good in game.
Some of the modifications I did had only that purpose. Using trigger_if is very handy for that here.

In your version you removing level check at the top and then
IF has `next_level_trade_ports` AND holding level 1 AND Crop Rotation - allows upgrades for Maritime Mercantilism
ELSE holding level 2 AND Manorialism - enables upgrade for everyone with Manorialism.

Did I get it right?
Yup.

At the beginning of the file there is this change:

I wonder what is practical difference in checking for barony 01 level in `can_construct` vs `can_construct_potential`?
This just another in-game display thing. To inform the player of what is required exactly, no more no less.

Lastly there are AI changes, I guess these teach AI to value ports more?
Exactly. I really don't know why they didn't do it themselves.

I understand city_buildings is a separate set of changes, seems like it fixing issue with India holding types illustrations (ouch, still in 1.7) and modifies likelihood of guilds being built by AI.
Yeah. The fact that the AI still can't upgrade Guilds if they are not a Republic still baffles me. Some mod I use made this problem painfully obvious, but this can be a problem in an unmodded game too.

What fbi_building_requirement_triggers.txt does? I could not find same file in vanilla or find same triggers in vanilla files code base. Not sure if it necessary for Maritime Mercantilism to work or not.
It doesn't exist in vanilla.
Let me try to explain this, but let me warn you: I'm not really good at it.

Scripted triggers can be used in other files to... I'm not sure how to say this... simplify (or unify maybe?) recurring triggers.
You write the triggers in there, and use "name_of_scripted_trigger = yes/no" whenever you need to use those triggers. If you need to change those specific triggers for whatever reason, you would only need to change them once, in the scripted trigger, instead of everywhere you used them.

If they were used more, we might not have that many bugged events (or at least, they might be easier to fix).

Simple example:
In the vanilla game, building upgrades require innovations. So they check the culture to see what innovations it has.
Except that for some of them, it will check the culture of the holder of the county, while for others, it will check the culture of the county. It doesn't change anything if both are the same of course, but it always annoyed me.
If they had used scripted triggers, they probably wouldn't have made such a basic mistake. So that's what I did there.

For example, building_requirement_innovation_crop_rotation doesn't exist in the base game, I added it. I also wrote it in a way that doesn't look ugly in-game.
I made it so it will check both the culture of the county and the culture of the holder if they are not the same. If one of them has the innovation, you can build the upgrade.

I didn't do that for the cultural traditions though. I was afraid it might be too powerful or make some traditions less valuable (as in too easy to exploit).
 
  • 1Love
  • 1
Reactions:
Keep in mind that the whole point is not only to fix the problem, but also to have it look good in game.
Some of the modifications I did had only that purpose. Using trigger_if is very handy for that here.

Ah, thank you. These scripting files are data structures for the UI elements and tooltips, not only for the underlying logic, this makes much more sense now. Appreciate you taking time to explain!


For example, building_requirement_innovation_crop_rotation doesn't exist in the base game, I added it. I also wrote it in a way that doesn't look ugly in-game.
I made it so it will check both the culture of the county and the culture of the holder if they are not the same. If one of them has the innovation, you can build the upgrade

I see, so it is a way to make more convenient unified parameters that you next use in the building requirements.

trigger_if = {
limit = {
culture = scope:holder.culture
}
culture = { has_innovation = innovation_crop_rotation }
}

I guess culture without scope specified here means a holding culture.
Then this is IF holding culture same as holder culture AND this culture has Corp Rotation…

trigger_else = {
OR = {
scope:holder.culture = { has_innovation = innovation_crop_rotation }
culture = { has_innovation = innovation_crop_rotation }
}
}

ELSE holder culture has Crop Rotation OR holding culture has Crop Rotation

From pure logic it seems like you need only the second pair here, it seems to cover both, but you did mention it is also about how it looks like in the game. I guess in a tooltip? I probably need to try both versions to see for myself what ugly means.

Thank you, only starting looking into how scripting for CK3 works and this is very useful!

Do you use one personal mod to track all the personal local adjustments to the game or separate in a few mods like this one? Wondering what easier to manage when vanilla gets an update.
 
  • 1Like
Reactions:
I guess culture without scope specified here means a holding culture.
Indeed.

From pure logic it seems like you need only the second pair here, it seems to cover both, but you did mention it is also about how it looks like in the game. I guess in a tooltip? I probably need to try both versions to see for myself what ugly means.
Exactly. It's what I did at first, only to realize it looked really bad in-game. IIRC, this only shows when you are missing one of the requirements and can't build the upgrade.

So if I didn't do it this way and the holder had the same culture (let's take French here) as the county, it would say something like:
"Either:
- French has Crop Rotation
- French has Crop Rotation"

Thank you, only starting looking into how scripting for CK3 works and this is very useful!

Do you use one personal mod to track all the personal local adjustments to the game or separate in a few mods like this one? Wondering what easier to manage when vanilla gets an update.
That's good to hear! (Well, good to read :) )
I try to keep it all within a single mod. I heard having too many mods can have a negative impact on performance, but I'm not sure how much (or if it's true at all really).
But I do find it easier to update that way. The little mods like this that I occasionally upload are just to offer a quick potential solution to the problem for anyone interested. The idea with those is that everyone is free to ignore them, integrate them in their own mods or propose a better solution (or even point out that it doesn't actually work sometimes).

By the way, when you want to post code / script in the forum, you can use this to keep it formatted:
1662992193131.png

Allows it to look nice like this:
Code:
building_requirement_innovation_castle_baileys = {
    trigger_if = {
        limit = {
            culture = scope:holder.culture
        }
        culture = { has_innovation = innovation_castle_baileys }
    }
    trigger_else = {
        OR = {
            scope:holder.culture = { has_innovation = innovation_castle_baileys }
            culture = { has_innovation = innovation_castle_baileys }
        }
    }
}