Ongoing and Unresolved Modding Issues

anansethespider

Warlord
Joined
Oct 27, 2016
Messages
288
I'm creating this thread to keep a list of the challenges I've attempted in modding Civ VI that have NOT been successful, in the hopes that someone more experienced than I can offer insight. It will be updated regularly as old issues are resolved and new ones present themselves.

CURRENT LIST

1. Displaying Trade Route Origins - On the Civilopedia page for various districts it displays the trade route yields when a city containing that district is either the destination of a domestic or international route. However, it does NOT display the trade route yields when the district is the ORIGIN of a trade route. In vanilla this doesn't matter because that number is always zero - but I've changed it in my mod, and the changed numbers still don't display. I've looked through the lua and it seems Origin effects should be displaying same as the others. So I don't understand the problem here at all.

2. Adding Boosts to New Civics - For some reason, though the code in both instances seems to be much the same, it IS POSSIBLE to add new boosts to technologies but IS NOT POSSIBLE to add new boosts to Civics. Though they show up in game, when the conditions for the boost are triggered it causes a crash.
 
Last edited:
RESOLVED ISSUES

1. AOE_REQUIRES_CLASSICAL_REQUIREMENTS - Today I spent a few hours on a real doozie that ended up being frustratingly simple (as most coding problems are). I'm posting it here cause I figure someone else will run into this problem and I can save them a whole bunch of time. The problem revolved around the aforementioned requirement, which came as part of the XML code of the game. You would think that this requirement would require a unit to be from the Classical era - that would be intuitive, right? - but, in fact, it calls up a requirement set that allows the unit to be either from the medieval or classical eras. The same is true of all similarly formatted era tags. Medieval = Medieval and Renaissance, Industrial = Industrial and Modern. Only the Information tag calls upon a set that mentions only itself.
 
yes, of course :) I just trusted that when a requirement set was named "REQUIRES_CLASSICAL" that it would in fact require classical, and so checked numerous other segments of code before even considering the possibility.
 
I haven't tried but I have successfully switched tech boosts from one tech to another.
Switching existing boosts works just fine for both civics and techs. Creating new boosts works for techs. It's creating new boosts for civics that I'm having an issue.
 
I'm just throwing this out there as a complete shot in the dark:

Could it be that you're using "Eureka" somewhere in the Civics code that should be calling for "Inspiration?"

Could it be that you're trying to define the text for it under Localized Text in English, when it in fact needs BaseGameText?

EDIT, I don't know what to tell you my friend, I just added a boost for a civic that I created. Show me the code you're using and I'll help you troubleshoot, bc it seems like adding new boosts is quite possible.
 
Last edited:
I'll be a very happy man if you figure this out for me:
Code:
INSERT INTO Boosts (CivicType, Boost, TriggerDescription, TriggerLongDescription, BoostClass, Unit1Type, Unit2Type, BuildingType, ImprovementType, BoostingTechType, BoostingCivicType, ResourceType, DistrictType, RequiresResource, RequirementSetId, GovernmentSlotType, NumItems)
    VALUES
        ("CIVIC_TRIBAL_COUNCIL", 50, "LOC_BOOST_TRIGGER_TRIBAL_COUNCIL", "LOC_BOOST_TRIGGER_LONGDESC_TRIBAL_COUNCIL", "BOOST_TRIGGER_RESEARCH_TECH", NULL, NULL, NULL, NULL, "TECH_IRRIGATION", NULL, NULL, NULL, 0, NULL, NULL, 0);
        ("CIVIC_MYSTICISM", 50, "LOC_BOOST_TRIGGER_MYTHOLOGIES", "LOC_BOOST_TRIGGER_LONGDESC_MYTHOLOGIES", "BOOST_TRIGGER_HAVE_X_DISTRICTS", NULL, NULL, NULL, NULL, NULL, NULL, NULL, "DISTRICT_HOLY_SITE", 0, NULL, NULL, 2),
        ("CIVIC_WARRIOR_CODE", 50, "LOC_BOOST_TRIGGER_WARRIOR_CODE", "LOC_BOOST_TRIGGER_LONGDESC_WARRIOR_CODE", "BOOST_TRIGGER_NUM_BARBS_KILLED", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 1),
        ("CIVIC_POLYTHEISM", 50, "LOC_BOOST_TRIGGER_POLYTHEISM", "LOC_BOOST_TRIGGER_LONGDESC_POLYTHEISM", "BOOST_TRIGGER_NUM_CITIES", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 2),
        ("CIVIC_MUSIC", 50, "LOC_BOOST_TRIGGER_MUSIC", "LOC_BOOST_TRIGGER_LONGDESC_MUSIC", "BOOST_TRIGGER_HAVE_X_BUILDINGS", NULL, NULL, "BUILDING_SHRINE", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 2),
        ("CIVIC_JURISPRUDENCE", 50, "LOC_BOOST_TRIGGER_JURISPRUDENCE", "LOC_BOOST_TRIGGER_LONGDESC_JURISPRUDENCE", "BOOST_TRIGGER_HAVE_X_BUILDINGS", NULL, NULL, "BUILDING_MONUMENT", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 3),
        ("CIVIC_THEOLOGY", 50, "LOC_BOOST_TRIGGER_ORGANIZED_RELIGION", "LOC_BOOST_TRIGGER_LONGDESC_ORGANIZED_RELIGION", "BOOST_TRIGGER_OWN_X_UNITS_OF_TYPE", "UNIT_MISSIONARY", NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 2),
        ("CIVIC_BUREAUCRACY", 50, "LOC_BOOST_TRIGGER_BUREAUCRACY", "LOC_BOOST_TRIGGER_LONGDESC_BUREAUCRACY", "BOOST_TRIGGER_HAVE_X_BUILDINGS", NULL, NULL, "BUILDING_AGORA", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 2),
        ("CIVIC_LOGISTICS", 50, "LOC_BOOST_TRIGGER_LOGISTICS", "LOC_BOOST_TRIGGER_LONGDESC_LOGISTICS", "BOOST_TRIGGER_RESEARCH_TECH", NULL, NULL, NULL, NULL, "TECH_CASTLES", NULL, NULL, NULL, 0, NULL, NULL, 0),
        ("CIVIC_PATRONAGE", 50, "LOC_BOOST_TRIGGER_PATRONAGE", "LOC_BOOST_TRIGGER_LONGDESC_PATRONAGE", "BOOST_TRIGGER_HAVE_X_BUILDINGS", NULL, NULL, "BUILDING_AMPHITHEATER", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 2),
        ("CIVIC_AESTHETICS", 50, "LOC_BOOST_TRIGGER_AESTHETICS", "LOC_BOOST_TRIGGER_LONGDESC_AESTHETICS", "BOOST_TRIGGER_CONSTRUCT_BUILDING", NULL, NULL, "BUILDING_GUILD_HALL", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0),
        ("CIVIC_PERSPECTIVE", 50, "LOC_BOOST_TRIGGER_PERSPECTIVE", "LOC_BOOST_TRIGGER_LONGDESC_PERSPECTIVE", "BOOST_TRIGGER_CONSTRUCT_BUILDING", NULL, NULL, "BUILDING_OBSERVATORY", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0),
        ("CIVIC_SCORCHED_EARTH", 50, "LOC_BOOST_TRIGGER_SCORCHED_EARTH", "LOC_BOOST_TRIGGER_LONGDESC_SCORCHED_EARTH", "BOOST_TRIGGER_PILLAGE", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0),
        ("CIVIC_LEVEE_EN_MASSE", 50, "LOC_BOOST_TRIGGER_LEVEE_EN_MASSE", "LOC_BOOST_TRIGGER_LONGDESC_LEVEE_EN_MASSE", "BOOST_TRIGGER_EMPIRE_POPULATION", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 50),
        ("CIVIC_MARXISM", 50, "LOC_BOOST_TRIGGER_MARXISM", "LOC_BOOST_TRIGGER_LONGDESC_MARXISM", "BOOST_TRIGGER_CONSTRUCT_BUILDING", NULL, NULL, "BUILDING_OPERA_HOUSE", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0),
        ("CIVIC_SOCIAL_REVOLUTION", 50, "LOC_BOOST_TRIGGER_SOCIAL_REVOLUTION", "LOC_BOOST_TRIGGER_LONGDESC_SOCIAL_REVOLUTION", "BOOST_TRIGGER_HAVE_X_GREAT_PEOPLE", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 9),
        ("CIVIC_VIRTUAL_REALITY", 50, "LOC_BOOST_TRIGGER_VIRTUAL_REALITY", "LOC_BOOST_TRIGGER_LONGDESC_VIRTUAL_REALITY", "BOOST_TRIGGER_RESEARCH_TECH", NULL, NULL, NULL, NULL, "TECH_INTERNET", NULL, NULL, NULL, 0, NULL, NULL, 0),
        ("CIVIC_ASYMMETRICAL_WARFARE", 50, "LOC_BOOST_TRIGGER_ASYMMETRICAL_WARFARE", "LOC_BOOST_TRIGGER_LONGDESC_ASYMMETRICAL_WARFARE", "BOOST_TRIGGER_RESEARCH_TECH", NULL, NULL, NULL, NULL, "TECH_GUIDANCE_SYSTEMS", NULL, NULL, NULL, 0, NULL, NULL, 0);
The problem I'm having is really weird, because the boosts/eurekas/inspirations for Civics successfully show up in the game - all the text is correct etc, but when it's triggered it crashes every time for me.

What happens with your new boost when you trigger it?
 
Ok, I see what you're saying now. Mine crashes too as soon as the boost is triggered. I'll add it to the list :)
 
I'll be a very happy man if you figure this out for me:
Code:
INSERT INTO Boosts (CivicType, Boost, TriggerDescription, TriggerLongDescription, BoostClass, Unit1Type, Unit2Type, BuildingType, ImprovementType, BoostingTechType, BoostingCivicType, ResourceType, DistrictType, RequiresResource, RequirementSetId, GovernmentSlotType, NumItems)
    VALUES
        ("CIVIC_TRIBAL_COUNCIL", 50, "LOC_BOOST_TRIGGER_TRIBAL_COUNCIL", "LOC_BOOST_TRIGGER_LONGDESC_TRIBAL_COUNCIL", "BOOST_TRIGGER_RESEARCH_TECH", NULL, NULL, NULL, NULL, "TECH_IRRIGATION", NULL, NULL, NULL, 0, NULL, NULL, 0);
        ("CIVIC_MYSTICISM", 50, "LOC_BOOST_TRIGGER_MYTHOLOGIES", "LOC_BOOST_TRIGGER_LONGDESC_MYTHOLOGIES", "BOOST_TRIGGER_HAVE_X_DISTRICTS", NULL, NULL, NULL, NULL, NULL, NULL, NULL, "DISTRICT_HOLY_SITE", 0, NULL, NULL, 2),
        ("CIVIC_WARRIOR_CODE", 50, "LOC_BOOST_TRIGGER_WARRIOR_CODE", "LOC_BOOST_TRIGGER_LONGDESC_WARRIOR_CODE", "BOOST_TRIGGER_NUM_BARBS_KILLED", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 1),
        ("CIVIC_POLYTHEISM", 50, "LOC_BOOST_TRIGGER_POLYTHEISM", "LOC_BOOST_TRIGGER_LONGDESC_POLYTHEISM", "BOOST_TRIGGER_NUM_CITIES", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 2),
        ("CIVIC_MUSIC", 50, "LOC_BOOST_TRIGGER_MUSIC", "LOC_BOOST_TRIGGER_LONGDESC_MUSIC", "BOOST_TRIGGER_HAVE_X_BUILDINGS", NULL, NULL, "BUILDING_SHRINE", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 2),
        ("CIVIC_JURISPRUDENCE", 50, "LOC_BOOST_TRIGGER_JURISPRUDENCE", "LOC_BOOST_TRIGGER_LONGDESC_JURISPRUDENCE", "BOOST_TRIGGER_HAVE_X_BUILDINGS", NULL, NULL, "BUILDING_MONUMENT", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 3),
        ("CIVIC_THEOLOGY", 50, "LOC_BOOST_TRIGGER_ORGANIZED_RELIGION", "LOC_BOOST_TRIGGER_LONGDESC_ORGANIZED_RELIGION", "BOOST_TRIGGER_OWN_X_UNITS_OF_TYPE", "UNIT_MISSIONARY", NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 2),
        ("CIVIC_BUREAUCRACY", 50, "LOC_BOOST_TRIGGER_BUREAUCRACY", "LOC_BOOST_TRIGGER_LONGDESC_BUREAUCRACY", "BOOST_TRIGGER_HAVE_X_BUILDINGS", NULL, NULL, "BUILDING_AGORA", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 2),
        ("CIVIC_LOGISTICS", 50, "LOC_BOOST_TRIGGER_LOGISTICS", "LOC_BOOST_TRIGGER_LONGDESC_LOGISTICS", "BOOST_TRIGGER_RESEARCH_TECH", NULL, NULL, NULL, NULL, "TECH_CASTLES", NULL, NULL, NULL, 0, NULL, NULL, 0),
        ("CIVIC_PATRONAGE", 50, "LOC_BOOST_TRIGGER_PATRONAGE", "LOC_BOOST_TRIGGER_LONGDESC_PATRONAGE", "BOOST_TRIGGER_HAVE_X_BUILDINGS", NULL, NULL, "BUILDING_AMPHITHEATER", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 2),
        ("CIVIC_AESTHETICS", 50, "LOC_BOOST_TRIGGER_AESTHETICS", "LOC_BOOST_TRIGGER_LONGDESC_AESTHETICS", "BOOST_TRIGGER_CONSTRUCT_BUILDING", NULL, NULL, "BUILDING_GUILD_HALL", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0),
        ("CIVIC_PERSPECTIVE", 50, "LOC_BOOST_TRIGGER_PERSPECTIVE", "LOC_BOOST_TRIGGER_LONGDESC_PERSPECTIVE", "BOOST_TRIGGER_CONSTRUCT_BUILDING", NULL, NULL, "BUILDING_OBSERVATORY", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0),
        ("CIVIC_SCORCHED_EARTH", 50, "LOC_BOOST_TRIGGER_SCORCHED_EARTH", "LOC_BOOST_TRIGGER_LONGDESC_SCORCHED_EARTH", "BOOST_TRIGGER_PILLAGE", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0),
        ("CIVIC_LEVEE_EN_MASSE", 50, "LOC_BOOST_TRIGGER_LEVEE_EN_MASSE", "LOC_BOOST_TRIGGER_LONGDESC_LEVEE_EN_MASSE", "BOOST_TRIGGER_EMPIRE_POPULATION", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 50),
        ("CIVIC_MARXISM", 50, "LOC_BOOST_TRIGGER_MARXISM", "LOC_BOOST_TRIGGER_LONGDESC_MARXISM", "BOOST_TRIGGER_CONSTRUCT_BUILDING", NULL, NULL, "BUILDING_OPERA_HOUSE", NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 0),
        ("CIVIC_SOCIAL_REVOLUTION", 50, "LOC_BOOST_TRIGGER_SOCIAL_REVOLUTION", "LOC_BOOST_TRIGGER_LONGDESC_SOCIAL_REVOLUTION", "BOOST_TRIGGER_HAVE_X_GREAT_PEOPLE", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL, 9),
        ("CIVIC_VIRTUAL_REALITY", 50, "LOC_BOOST_TRIGGER_VIRTUAL_REALITY", "LOC_BOOST_TRIGGER_LONGDESC_VIRTUAL_REALITY", "BOOST_TRIGGER_RESEARCH_TECH", NULL, NULL, NULL, NULL, "TECH_INTERNET", NULL, NULL, NULL, 0, NULL, NULL, 0),
        ("CIVIC_ASYMMETRICAL_WARFARE", 50, "LOC_BOOST_TRIGGER_ASYMMETRICAL_WARFARE", "LOC_BOOST_TRIGGER_LONGDESC_ASYMMETRICAL_WARFARE", "BOOST_TRIGGER_RESEARCH_TECH", NULL, NULL, NULL, NULL, "TECH_GUIDANCE_SYSTEMS", NULL, NULL, NULL, 0, NULL, NULL, 0);
The problem I'm having is really weird, because the boosts/eurekas/inspirations for Civics successfully show up in the game - all the text is correct etc, but when it's triggered it crashes every time for me.

What happens with your new boost when you trigger it?


So I spent the last hour or so investigating, and though I am not able to solve the problem, I can share with you what I'm thinking.

1. It's weird that the techs would work but the civics wouldn't. So I looked at the technologies.xml file and noticed it had a table for <BoostNames> that assigned numbers to each boost, while the Civics tree seems to lack this table. Maybe it has something to do with this?

2. Perhaps the BoostTriggers are types that need to be defined somewhere. Perhaps the ones that already exist are defined somewhere other than the Civics and Technologies.xml files?

3. The gameplayschema.sql shows that the Boost table has a column called BoostTriggerId. This doesn't seem to be defined for any of the Civics techs, but the BoostNames table under Technologies.xml does also have a list of numbers that it advises not to mess with, as they correspond with another list elsewhere.

4. So my conclusion at this point is that all of the boosts currently in the game are attached to their related Civics/Techs through a numbered list that matches a boost with a Civic/Tech. So the problem you're running into now is that you're putting new boosts in the game that don't know what civic/tech they're supposed to be boosting. So when the trigger occurs, the game crashes.

That's my best guess at this point. If you make any progress please come back here and let me know!
 
@thecrazyscot
("CIVIC_TRIBAL_COUNCIL", 50, "LOC_BOOST_TRIGGER_TRIBAL_COUNCIL", "LOC_BOOST_TRIGGER_LONGDESC_TRIBAL_COUNCIL", "BOOST_TRIGGER_RESEARCH_TECH", NULL, NULL, NULL, NULL, "TECH_IRRIGATION", NULL, NULL, NULL, 0, NULL, NULL, 0);

the 1st imput of values has a ; instead ,

that and you have " instead of '
 
So I spent the last hour or so investigating, and though I am not able to solve the problem, I can share with you what I'm thinking.

1. It's weird that the techs would work but the civics wouldn't. So I looked at the technologies.xml file and noticed it had a table for <BoostNames> that assigned numbers to each boost, while the Civics tree seems to lack this table. Maybe it has something to do with this?

2. Perhaps the BoostTriggers are types that need to be defined somewhere. Perhaps the ones that already exist are defined somewhere other than the Civics and Technologies.xml files?

3. The gameplayschema.sql shows that the Boost table has a column called BoostTriggerId. This doesn't seem to be defined for any of the Civics techs, but the BoostNames table under Technologies.xml does also have a list of numbers that it advises not to mess with, as they correspond with another list elsewhere.

4. So my conclusion at this point is that all of the boosts currently in the game are attached to their related Civics/Techs through a numbered list that matches a boost with a Civic/Tech. So the problem you're running into now is that you're putting new boosts in the game that don't know what civic/tech they're supposed to be boosting. So when the trigger occurs, the game crashes.

That's my best guess at this point. If you make any progress please come back here and let me know!
I had some of the same thoughts that you had, but I assumed that BoostNames was just where all the boosts were defined...if you look at the civic boosts you'll see that all of them are ones defined in BoostNames, so I think the devs just decided not to split them up.
I wondered about the BoostTriggerId as well, but since the Tech boosts (which go into the same table as the Civic boosts...<Boosts>) don't require it, why would the Civic boosts??

@thecrazyscot
("CIVIC_TRIBAL_COUNCIL", 50, "LOC_BOOST_TRIGGER_TRIBAL_COUNCIL", "LOC_BOOST_TRIGGER_LONGDESC_TRIBAL_COUNCIL", "BOOST_TRIGGER_RESEARCH_TECH", NULL, NULL, NULL, NULL, "TECH_IRRIGATION", NULL, NULL, NULL, 0, NULL, NULL, 0);

the 1st imput of values has a ; instead ,

that and you have " instead of '
Heh...sorry, yeah that's a remnant from when I was going through and testing them one by one, the actual code I tried to run for all of them does not have the rogue ;

And FYI civ doesn't care about " vs ' as I've found out through using both of them.
 
FYI Double quotes are used for delimted identifiers and single quotes for strings, thats how it was in Civ 5, I am sticking to that theory(SQL Standard) untill it is proven otherwise.

I hate to nitpick, but this mis-usage is being propagated by many modders here, even very advanced ones. The weird quoting seems to have evolved from Firaxis' pseudo-SQL XML, and it is not at all correct. It's not just an aesthetic issue. Sure, it works. Until it doesn't. And then you will be scratching your head.

Here's an example pasted from a tutorial thread:

Code:
INSERT INTO "ArtDefine_UnitInfos" ('Type','DamageStates','Formation')
SELECT ("ART_DEF_UNIT_WW1_FIGHTER_GERMANY"), "DamageStates", "Formation"
FROM "ArtDefine_UnitInfos" WHERE (Type = "ART_DEF_UNIT_WW1_FIGHTER");
Doesn't matter if you can't follow the SELECT statement (these can make my head spin). The problem is that I can't tell what is a table or column and what is a string literal. The compiler is pretty loose so it gets through it (this time), but only due to blind luck. The correct quoting is like this:

Code:
INSERT INTO ArtDefine_UnitInfos (Type,DamageStates,Formation)
SELECT ('ART_DEF_UNIT_WW1_FIGHTER_GERMANY'), DamageStates, Formation
FROM ArtDefine_UnitInfos WHERE (Type = 'ART_DEF_UNIT_WW1_FIGHTER');
It looks neater, doesn't it? But that's not the main problem here. Here are the basic rules for quotes.
  1. Use single-quotes (not double quotes!) around string literals. This is the SQL standard.
  2. Don't quote table or column names that are already defined. (You would use single quotes in a CREATE TABLE statement because the table and column names are string literals at that time.)
  3. The purpose of double quotes in SQL is when you want to use a key word as a table or column name (square brackets also do this). For example, I could create a table called "INSERT" and then I would say INSERT INTO "INSERT"... But that would be pretty stupid. Since there is no reason for you to use a reserved keyword for a table or column name, there is no reason for you to ever use a double quote.
But, you say, "So what, it works fine so leave me alone." Here is where things can go badly wrong: If the string literal just happens to be the same as a column or table name, then your double quoting will screw you over. The SQlite interpreter will interpret it a column or table rather than a string literal.

It's worth a quick look at the SQlite FAQ if you are going to add much SQL code.
Taken from this Civ5 thread.
 
Heh...sorry, yeah that's a remnant from when I was going through and testing them one by one, the actual code I tried to run for all of them does not have the rogue ;

And FYI civ doesn't care about " vs ' as I've found out through using both of them.

right on mate! commas are always my error i get on the 1st test run. 8P.....


As far as the boosts not working, what does the boosts class look like? did you make new ones, or are these the base game class?
 
right on mate! commas are always my error i get on the 1st test run. 8P.....

As far as the boosts not working, what does the boosts class look like? did you make new ones, or are these the base game class?
I just used the existing boost classes since according to a dev code comment (if I recall correctly?) the boost classes themselves are tied to something hardcoded.
 
right on. I only asked because I assume the effect part of the boosts are hard coded.

I myself had a hell of a time getting boosts to work in the ToT modpack. I had to settle using great people.

I trust your code is good because your a good modder, as you said above that was old test code which is fixed.

do you a copy of the file that i can look at?
 
Top Bottom