Quick Modding Questions Thread

Might be a dumb question to ask here but I can't for the life of me find out how to install mods for Civ VII. I've downloaded @pokiehl 's More Natural Wonders but do not know where to put the files...

Edit: is it here > C:\Users\{USER}\AppData\Local\Firaxis Games\Sid Meier's Civilization VII\mods ?
 
Last edited:
Yep, you should already see a “Mods” folder in that location! Just unzip the mod and drop it right within the Mods folder.
 
Yep, you should already see a “Mods” folder in that location! Just unzip the mod and drop it right within the Mods folder.
Lovely, thanks. Can't wait to see all those wonders :egypt:
 
1739618749372.png

Anyone know how to get a custom civ icon here?

Alternatively, which ui file deals with this component?
 
Alternatively, which ui file deals with this component?
base-standard\ui\diplo-ribbon\panel-diplo-ribbon.js and others in that directory

If you search "portrait" it should get you to the relevant code. My guess is that you'd want to somehow add entries to base-standard\data\icons\leader-icons.xml with your custom leader id and paths to your images
 
base-standard\ui\diplo-ribbon\panel-diplo-ribbon.js and others in that directory

If you search "portrait" it should get you to the relevant code. My guess is that you'd want to somehow add entries to base-standard\data\icons\leader-icons.xml with your custom leader id and paths to your images
Thanks, though my problem now is trying to get a custom civ icon to appear on the ribbon. I'm able to have it appear on the civilization selection screen though
 
I am using a few mods and they worked when I started a game, but when I just load the game to continue, some mods does not seem to be running...
Game says in main menu that they are enabled...
How do I check which mods are actually OK?
 
I am using a few mods and they worked when I started a game, but when I just load the game to continue, some mods does not seem to be running...
Game says in main menu that they are enabled...
How do I check which mods are actually OK?
Try checking the Logs folder.
 
Does anyone know if DLL modding will be a thing with Civ 7? From what I could gather all mods right now are XML.
 
How to add more unlocks to a tech?
I could do that by editing xml file directly, adding lines in <ProgressionTreeNodeUnlocks> part of progression-trees-tech.xml
By adding those two lines, the agriculture tech unlocks Great Stele wonder and gives a codex on research.
<Row ProgressionTreeNodeType="NODE_TECH_AQ_AGRICULTURE" TargetKind="KIND_CONSTRUCTIBLE" TargetType="WONDER_GREAT_STELE" UnlockDepth="1"/>
<Row ProgressionTreeNodeType="NODE_TECH_AQ_AGRICULTURE" TargetKind="KIND_MODIFIER" TargetType="MOD_AQ_CODEX" UnlockDepth="1"/>

But how can I get the same effect with a mod?
 
How to add more unlocks to a tech?
I could do that by editing xml file directly, adding lines in <ProgressionTreeNodeUnlocks> part of progression-trees-tech.xml
By adding those two lines, the agriculture tech unlocks Great Stele wonder and gives a codex on research.
<Row ProgressionTreeNodeType="NODE_TECH_AQ_AGRICULTURE" TargetKind="KIND_CONSTRUCTIBLE" TargetType="WONDER_GREAT_STELE" UnlockDepth="1"/>
<Row ProgressionTreeNodeType="NODE_TECH_AQ_AGRICULTURE" TargetKind="KIND_MODIFIER" TargetType="MOD_AQ_CODEX" UnlockDepth="1"/>

But how can I get the same effect with a mod?

Put that in a file (In my case data/progression-trees-tech.xml)
XML:
<?xml version="1.0" encoding="utf-8"?>
<Database>
    <ProgressionTreeNodeUnlocks>
        <Row ProgressionTreeNodeType="NODE_TECH_AQ_AGRICULTURE" TargetKind="KIND_CONSTRUCTIBLE" TargetType="WONDER_GREAT_STELE" UnlockDepth="1"/>
        <Row ProgressionTreeNodeType="NODE_TECH_AQ_AGRICULTURE" TargetKind="KIND_MODIFIER" TargetType="MOD_AQ_CODEX" UnlockDepth="1"/>
    </ProgressionTreeNodeUnlocks>
</Database>

in your mod's .modinfo:
XML:
<ActionGroup id="age-antiquity-main-[ur-mod-name]" scope="game" criteria="antiquity-age-current">
            <Actions>
                <UpdateDatabase>
                    <Item>data/progression-trees-tech.xml</Item>
                </UpdateDatabase>
            </Actions>
        </ActionGroup>

You can look at other mods here (or the DLC) to find the file structure of mods
 
I want to add an artifact reward in Natural History tech(and make the civic cost 1).
So I made progression-trees-culture-common.xml first:
Code:
<?xml version="1.0" encoding="utf-8"?>
<Database>
    <ProgressionTreeNodes>
        <Update>
            <Where ProgressionTreeNodeType="NODE_CIVIC_MO_MAIN_NATURAL_HISTORY"/>
            <Set Cost="1"/>
        </Update>
    </ProgressionTreeNodes>
    <ProgressionTreeNodeUnlocks>
        <Row ProgressionTreeNodeType="NODE_CIVIC_MO_MAIN_NATURAL_HISTORY" TargetKind="KIND_MODIFIER" TargetType="MOD_EX_ARTIFACT" UnlockDepth="1"/>
    </ProgressionTreeNodeUnlocks>
</Database>
And the game loads fine with this change.
But thing is, there's no effect that gives artifact on tech or civic research. So I tried to copy effect from earlier age.

And I found this in progression-trees-tech-gameeffects.xml:
Code:
    <Modifier id="MOD_EX_RELIC" collection="COLLECTION_OWNER" effect="EFFECT_GRANT_GREAT_WORK" run-once="true" permanent="true">
        <SubjectRequirements>
            <Requirement type="REQUIREMENT_PLAYER_IS_MAJOR"/>
        </SubjectRequirements>
        <Argument name="Amount">1</Argument>
        <Argument name="ObjectType">GREATWORKOBJECT_RELIC</Argument>
        <String context="Description">LOC_MOD_EXPLORATION_RELIC_DESCRIPTION</String>
    </Modifier>

I tried to copy that, and below is my version for mod
Code:
<?xml version="1.0" encoding="utf-8"?>
<Database>
    <Modifier id="MOD_EX_ARTIFACT" collection="COLLECTION_OWNER" effect="EFFECT_GRANT_GREAT_WORK" run-once="true" permanent="true">
        <SubjectRequirements>
            <Requirement type="REQUIREMENT_PLAYER_IS_MAJOR"/>
        </SubjectRequirements>
        <Argument name="Amount">1</Argument>
        <Argument name="ObjectType">GREATWORKOBJECT_ARTIFACT</Argument>
        <String context="Description">LOC_MOD_TECH_MO_EMBARKATION_DESCRIPTION</String>
    </Modifier>
</Database>
And... content configuration validation failed. What should I do?
 
Check the logs. If youre on windows its in AppData/Local/Firaxis Games/Sid Meier’s Civilization VII/Logs

It will likely be the Database one.

Itll point out the specific error
Thanks! I should've used <GameEffects xmlns="GameEffects"></GameEffects> rather than database. It works now.
 
I'm trying to add a fourth option for disaster settings to set to OFF. I figure I just need to insert a new type, and adjust everything else accordingly. Eg.

Code:
<?xml version="1.0" encoding="utf-8"?>
<Database>
    <Types>
        <Row Type="REALISM_SETTING_OFF" Kind="KIND_REALISM_SETTING"/>
    </Types>

    <DomainValues>
        <Row Domain="StandardDisasterIntensities" Value="REALISM_SETTING_OFF" Name="LOC_ADVANCED_OPTIONS_OFF" Description="LOC_ADVANCED_OPTIONS_OFF" SortIndex="1"/>
    </DomainValues>

    <RealismSettings>
        <Row RealismSettingType="REALISM_SETTING_OFF" Name="LOC_REALISM_SETTING_OFF_NAME" PercentVolcanoesActive="0"/>
    </RealismSettings>

    <RandomEventFrequencies>
        <Row RandomEventType="RANDOM_EVENT_FLOOD_MODERATE" RealismSettingType="REALISM_SETTING_OFF" OccurrencesPerAge="0"/>
        etc....
    </RandomEventFrequencies>
</Database>

+ Text file

Then, I figured this would need to be updated sooner in the modinfo file, so I setup as:
Code:
        <ActionGroup id="shell" scope="shell" criteria="always">
            <ImportFiles>              
            </ImportFiles>
            <UpdateDatabase>
                <Item>xml/disasters.xml</Item>
            </UpdateDatabase>
            <UpdateText>
                <Item>xml/disasters_text.xml</Item>
            </UpdateText>
        </ActionGroup>

No luck however. Any suggestions? Thanks in advance!
 
Does anyone know if there is a way to change the 3D model displayed on the game map of a Wonder? I've looked through the xml files and haven't seen it referenced (unless it is somehow related to the stuff in the icons folder)?
 
I'm trying to override a number of function prototypes via a mod. When I first got the game, I made the changes I wanted by editing the base game files directly but that's obviously not sustainable and I'll lose the changes if/when the game updates those functions.

I've got my text loading correctly but for the life of me, my javascript file won't run. Modding.log shows that the js file is Registering but none of the changes show up in-game.

This is the basic idea. I'm sure there's something I'm doing wrong. Maybe I'm accessing TreeCard incorrectly? I'm not getting any errors in any of the log files or in-game.

JavaScript:
import {TreeCard} from '/base-standard/ui/tree-grid/tree-card.js';

TreeCard.prototype.updateUnlockData = function () {
    // CODE
};
 
Hello, I am trying to find where global state changes occur within the game. I am practicing modding by making a pause button, I need to listen for the GameStateChange to being paused so that I can bring up an overlay which says Game Paused. Currently, I am using a polling system, but that is terrible. Using the screen-pause-menu, changes are only listened to when that screen is up which is not going to work for the other players in the game.
 
I'm trying to override a number of function prototypes via a mod. When I first got the game, I made the changes I wanted by editing the base game files directly but that's obviously not sustainable and I'll lose the changes if/when the game updates those functions.

I've got my text loading correctly but for the life of me, my javascript file won't run. Modding.log shows that the js file is Registering but none of the changes show up in-game.

This is the basic idea. I'm sure there's something I'm doing wrong. Maybe I'm accessing TreeCard incorrectly? I'm not getting any errors in any of the log files or in-game.

JavaScript:
import {TreeCard} from '/base-standard/ui/tree-grid/tree-card.js';

TreeCard.prototype.updateUnlockData = function () {
    // CODE
};
I'm facing similar problems :(
 
Back
Top Bottom