Hello, noob modder here. I'm trying to make some balance modifications to my game, one of which is that great person points (GPP) should come from specialists rather than districts and buildings themselves.
Removing GPP from districts/buildings was easy enough. To add GPP yields for specialists, I found that there is a table called District_CitizenGreatPersonPoints in Districts.xml, which seems to be empty/unused in the vanilla game. Using the following SQL query, I was able to add specialist GPP yields to the campus district:
This seems to work, or rather it almost does. Working the tiles does indeed yield GPP, but for some reason the yields are always twice what they should be. If PointsPerTurn is set to 1, then each specialist yields 2 GPP, so working the district with two citizens yields 4 GPP instead of 2. As a test, I tried setting PointsPerTurn to 3, after which each specialist provided 6 GPP. If PointsPerTurn is set to a value below 1 instead, then the specialists yield no GPP at all.
It seems to me that at some point the game rounds the value of PointsPerTurn down to the nearest integer and then doubles it. I'm wondering why this would happen? FWIW, I've also added the change to the civilopedia using the code for district GPP, and there the yields are displayed correctly. Has anyone else run into this problem before? I couldn't find anything online. Is this a most likely a bug, or is there something else influencing the yields that I'm missing?
Removing GPP from districts/buildings was easy enough. To add GPP yields for specialists, I found that there is a table called District_CitizenGreatPersonPoints in Districts.xml, which seems to be empty/unused in the vanilla game. Using the following SQL query, I was able to add specialist GPP yields to the campus district:
Code:
INSERT INTO District_CitizenGreatPersonPoints (DistrictType, GreatPersonClassType, PointsPerTurn) VALUES ('DISTRICT_CAMPUS', 'GREAT_PERSON_CLASS_SCIENTIST', 1);
This seems to work, or rather it almost does. Working the tiles does indeed yield GPP, but for some reason the yields are always twice what they should be. If PointsPerTurn is set to 1, then each specialist yields 2 GPP, so working the district with two citizens yields 4 GPP instead of 2. As a test, I tried setting PointsPerTurn to 3, after which each specialist provided 6 GPP. If PointsPerTurn is set to a value below 1 instead, then the specialists yield no GPP at all.
It seems to me that at some point the game rounds the value of PointsPerTurn down to the nearest integer and then doubles it. I'm wondering why this would happen? FWIW, I've also added the change to the civilopedia using the code for district GPP, and there the yields are displayed correctly. Has anyone else run into this problem before? I couldn't find anything online. Is this a most likely a bug, or is there something else influencing the yields that I'm missing?
Last edited: