-
Notifications
You must be signed in to change notification settings - Fork 0
victory conditions Overview
This document covers the victory system in Civilization VII, including victory types, legacy paths, defeat conditions, and scoring systems.
Civ VII has a fundamentally different victory system than previous games. Instead of a single end-game victory like Science or Culture, Civ VII uses:
- Legacy Victory - Accumulate legacy points across all three ages
- Domination Victory - Capture all cities of all other major civilizations
- Legacy Paths - Per-age victory tracks (Science, Culture, Military, Economic)
Legacy Paths replace traditional victory types - you pursue them each age to earn Legacy Points, which determine the ultimate Legacy Victory winner at game end.
| Table | Purpose |
|---|---|
Kinds |
Register KIND_VICTORY, KIND_DEFEAT
|
Types |
Register specific victory/defeat types |
VictoryClasses |
Categories of victories |
Victories |
Define victory conditions |
Defeats |
Define defeat conditions |
LegacyPathClasses |
Categories for legacy paths (Science, Culture, etc.) |
LegacyPaths |
Age-specific victory pursuits |
AgeProgressionRewards |
Rewards for legacy path milestones |
RequirementSets/Requirements |
Victory condition triggers |
Victory classes categorize the types of victories available:
<VictoryClasses>
<Row VictoryClassType="VICTORY_CLASS_DOMINATION" Name="Domination"/>
<Row VictoryClassType="VICTORY_CLASS_LEGACY" Name="Legacy"/>
<Row VictoryClassType="VICTORY_CLASS_CULTURE" Name="Culture"/>
<Row VictoryClassType="VICTORY_CLASS_ECONOMIC" Name="Economic"/>
<Row VictoryClassType="VICTORY_CLASS_MILITARY" Name="Military"/>
<Row VictoryClassType="VICTORY_CLASS_SCIENCE" Name="Science"/>
<Row VictoryClassType="VICTORY_CLASS_LIVE_EVENT" Name="LiveEvent"/>
</VictoryClasses>Capture all cities belonging to other major civilizations:
<Victories>
<Row VictoryType="VICTORY_DOMINATION"
VictoryClassType="VICTORY_CLASS_DOMINATION"
Name="LOC_VICTORY_DOMINATION_NAME"
Description="LOC_VICTORY_DOMINATION_DESCRIPTION"
RequirementSetId="REQSET_DOMINATION_VICTORY"/>
</Victories>
<!-- Requirements -->
<RequirementSets>
<Row RequirementSetId="REQSET_DOMINATION_VICTORY"
RequirementSetType="REQUIREMENTSET_TEST_ALL"/>
</RequirementSets>
<RequirementSetRequirements>
<Row RequirementSetId="REQSET_DOMINATION_VICTORY"
RequirementId="REQ_DOMINATION_VICTORY"/>
</RequirementSetRequirements>
<Requirements>
<Row RequirementId="REQ_DOMINATION_VICTORY"
RequirementType="REQUIREMENT_TEAM_DOMINATION_VICTORY"/>
</Requirements>Have the most legacy points at the end of the final age:
<Victories>
<Row VictoryType="VICTORY_LEGACY"
VictoryClassType="VICTORY_CLASS_LEGACY"
Name="LOC_VICTORY_LEGACY_NAME"
Description="LOC_VICTORY_LEGACY_DESCRIPTION"
RequirementSetId="REQSET_LEGACY_VICTORY"/>
</Victories>
<RequirementSets>
<Row RequirementSetId="REQSET_LEGACY_VICTORY"
RequirementSetType="REQUIREMENTSET_TEST_ALL"/>
</RequirementSets>
<RequirementSetRequirements>
<Row RequirementSetId="REQSET_LEGACY_VICTORY"
RequirementId="REQ_LEGACY_VICTORY"/>
</RequirementSetRequirements>
<Requirements>
<Row RequirementId="REQ_LEGACY_VICTORY"
RequirementType="REQUIREMENT_TEAM_LEGACY_VICTORY"/>
</Requirements>CREATE TABLE 'Victories' (
'VictoryType' TEXT NOT NULL,
'Description' TEXT,
'EnabledByDefault' BOOLEAN NOT NULL DEFAULT 1,
'LegacyPathClassType' TEXT NOT NULL DEFAULT "NO_LEGACY_PATH_CLASS",
'Name' TEXT NOT NULL,
'RequirementSetId' TEXT NOT NULL,
'RequiresMultipleTeams' BOOLEAN NOT NULL DEFAULT 0,
'VictoryClassType' TEXT NOT NULL,
PRIMARY KEY("VictoryType")
);| Column | Type | Description |
|---|---|---|
VictoryType |
TEXT | Unique victory identifier |
Name |
TEXT | Localization key for name |
Description |
TEXT | Localization key for description |
VictoryClassType |
TEXT | Victory category reference |
RequirementSetId |
TEXT | Trigger conditions |
EnabledByDefault |
BOOLEAN | Available without special setup |
RequiresMultipleTeams |
BOOLEAN | Only valid with 2+ teams |
LegacyPathClassType |
TEXT | Associated legacy path class |
Defeats define how players can lose the game:
<Types>
<Row Type="DEFEAT_DEFAULT" Kind="KIND_DEFEAT"/>
<Row Type="DEFEAT_RETIRE" Kind="KIND_DEFEAT"/>
<Row Type="DEFEAT_TIME" Kind="KIND_DEFEAT"/>
</Types>
<Defeats>
<Row DefeatType="DEFEAT_DEFAULT"
Name="LOC_DEFEAT_DEFAULT_NAME"
Blurb="LOC_DEFEAT_DEFAULT_TEXT"
RequirementSetId="DEFAULT_DEFEAT_REQUIREMENTS"/>
<Row DefeatType="DEFEAT_RETIRE"
Name="LOC_DEFEAT_RETIRE_NAME"
Blurb="LOC_DEFEAT_RETIRE_TEXT"/>
</Defeats>Player loses when they have no settlers and no cities:
<RequirementSets>
<Row RequirementSetId="DEFAULT_DEFEAT_REQUIREMENTS"
RequirementSetType="REQUIREMENTSET_TEST_ALL"/>
</RequirementSets>
<RequirementSetRequirements>
<Row RequirementSetId="DEFAULT_DEFEAT_REQUIREMENTS"
RequirementId="DEFAULT_DEFEAT_REQUIREMENT"/>
</RequirementSetRequirements>
<Requirements>
<Row RequirementId="DEFAULT_DEFEAT_REQUIREMENT"
RequirementType="REQUIREMENT_PLAYER_DEFAULT_DEFEAT"/>
</Requirements>
<RequirementArguments>
<Row RequirementId="DEFAULT_DEFEAT_REQUIREMENT"
Name="UnitType"
Value="UNIT_FOUNDER,UNIT_SETTLER"/>
</RequirementArguments>Legacy Paths are Civ VII's primary victory mechanism. Each age offers four paths:
- Science - Research and discovery
- Culture - Wonders and cultural achievements
- Military - Combat and conquest
- Economic - Trade and wealth
<LegacyPathClasses>
<Row LegacyPathClassType="LEGACY_PATH_CLASS_CULTURE" Name="LOC_LEGACY_PATH_CLASS_CULTURE_NAME"/>
<Row LegacyPathClassType="LEGACY_PATH_CLASS_ECONOMIC" Name="LOC_LEGACY_PATH_CLASS_ECONOMIC_NAME"/>
<Row LegacyPathClassType="LEGACY_PATH_CLASS_MILITARY" Name="LOC_LEGACY_PATH_CLASS_MILITARY_NAME"/>
<Row LegacyPathClassType="LEGACY_PATH_CLASS_SCIENCE" Name="LOC_LEGACY_PATH_CLASS_SCIENCE_NAME"/>
</LegacyPathClasses>Each age has its own set of legacy paths:
<!-- Exploration Age Legacy Paths -->
<Types>
<Row Type="LEGACY_PATH_EXPLORATION_CULTURE" Kind="KIND_VICTORY"/>
<Row Type="LEGACY_PATH_EXPLORATION_ECONOMIC" Kind="KIND_VICTORY"/>
<Row Type="LEGACY_PATH_EXPLORATION_MILITARY" Kind="KIND_VICTORY"/>
<Row Type="LEGACY_PATH_EXPLORATION_SCIENCE" Kind="KIND_VICTORY"/>
</Types>
<LegacyPaths>
<Row LegacyPathType="LEGACY_PATH_EXPLORATION_CULTURE"
Age="AGE_EXPLORATION"
LegacyPathClassType="LEGACY_PATH_CLASS_CULTURE"
Name="LOC_LEGACY_PATH_EXPLORATION_CULTURE_NAME"
Description="LOC_LEGACY_PATH_EXPLORATION_CULTURE_DESCRIPTION"/>
<Row LegacyPathType="LEGACY_PATH_EXPLORATION_ECONOMIC"
Age="AGE_EXPLORATION"
LegacyPathClassType="LEGACY_PATH_CLASS_ECONOMIC"
Name="LOC_LEGACY_PATH_EXPLORATION_ECONOMIC_NAME"
Description="LOC_LEGACY_PATH_EXPLORATION_ECONOMIC_DESCRIPTION"/>
<Row LegacyPathType="LEGACY_PATH_EXPLORATION_MILITARY"
Age="AGE_EXPLORATION"
LegacyPathClassType="LEGACY_PATH_CLASS_MILITARY"
Name="LOC_LEGACY_PATH_EXPLORATION_MILITARY_NAME"
Description="LOC_LEGACY_PATH_EXPLORATION_MILITARY_DESCRIPTION"/>
<Row LegacyPathType="LEGACY_PATH_EXPLORATION_SCIENCE"
Age="AGE_EXPLORATION"
LegacyPathClassType="LEGACY_PATH_CLASS_SCIENCE"
Name="LOC_LEGACY_PATH_EXPLORATION_SCIENCE_NAME"
Description="LOC_LEGACY_PATH_EXPLORATION_SCIENCE_DESCRIPTION"/>
</LegacyPaths>CREATE TABLE 'LegacyPaths' (
'LegacyPathType' TEXT NOT NULL,
'Age' TEXT NOT NULL,
'Description' TEXT,
'EnabledByDefault' BOOLEAN NOT NULL DEFAULT 1,
'LegacyPathClassType' TEXT NOT NULL,
'Name' TEXT NOT NULL,
PRIMARY KEY("LegacyPathType")
);Players earn rewards at milestones along their legacy path:
<AgeProgressionRewards>
<!-- Milestone 1: Attribute point -->
<Row AgeProgressionRewardType="AGE_REWARD_MILESTONE1_SCIENCE_1"
ModifierId="MOD_AGE_REWARD_MILESTONE1_SCIENCE_1"
Name="LOC_LEGACY_PATH_ATTRIBUTE_SCIENCE_REWARD_TEXT"
Description="LOC_LEGACY_PATH_ATTRIBUTE_SCIENCE_DESCRIPTION"
icon="ATTRIBUTE_SCIENTIFIC"/>
<!-- Milestone 2: Special bonus -->
<Row AgeProgressionRewardType="AGE_REWARD_MILESTONE2_SCIENCE_1"
ModifierId="MOD_AGE_REWARD_MILESTONE2_SCIENCE_1"
Name="LOC_LEGACY_PATH_ANTIQUITY_SCIENCE_MILESTONE_2_REWARD_TEXT"
Description="LOC_LEGACY_PATH_ANTIQUITY_SCIENCE_MILESTONE_2_DESCRIPTION"
icon="CARD_AT_EXP_VICTORY_SCIENTIFIC_SECOND"/>
<!-- Golden Age bonus -->
<Row AgeProgressionRewardType="AGE_REWARD_GOLDEN_AGE_SCIENCE_1"
ModifierId="MOD_AGE_REWARD_GOLDEN_AGE_SCIENCE_1"
Name="LOC_LEGACY_PATH_ANTIQUITY_SCIENCE_GOLDEN_AGE_REWARD_TEXT"
Description="LOC_LEGACY_PATH_ANTIQUITY_SCIENCE_GOLDEN_AGE_DESCRIPTION"
icon="CARD_AT_EXP_VICTORY_SCIENCE_GOLDEN_AGE"/>
<!-- Legacy Points (all ages) -->
<Row AgeProgressionRewardType="AGE_REWARD_LEGACY_POINT_SCIENCE"
ModifierId="MOD_AGE_REWARD_LEGACY_POINT_SCIENCE"
Name="LOC_LEGACY_POINT_SCIENCE_REWARD_NAME"
Description="LOC_LEGACY_POINT_SCIENCE_REWARD_DESCRIPTION"
DescriptionFinalAge="LOC_LEGACY_POINT_SCIENCE_REWARD_FINAL_AGE_DESCRIPTION"
icon="AGE_REWARD_LEGACY_POINT_SCIENCE"/>
</AgeProgressionRewards>| Milestone | Reward Type | Description |
|---|---|---|
| 1st | Attribute | +1 to associated attribute |
| 2nd | Special | Path-specific bonus |
| 3rd | Golden Age | Triggers celebration period |
| Completion | Legacy Point | +1 Legacy Point for final scoring |
The VictoryTypes table provides additional configuration for victories:
CREATE TABLE 'VictoryTypes' (
'VictoryType' TEXT NOT NULL,
'CountdownDuration' INTEGER NOT NULL DEFAULT -1,
'Description' TEXT NOT NULL,
'DominationAmount' INTEGER NOT NULL DEFAULT -1,
'DominationPercent' INTEGER NOT NULL DEFAULT -1,
'FinalAge' TEXT NOT NULL,
'Name' TEXT NOT NULL,
'PrereqRequirementSetId' TEXT,
PRIMARY KEY("VictoryType")
);| Column | Description |
|---|---|
CountdownDuration |
Turns before victory is finalized |
DominationAmount |
Fixed number of cities to capture |
DominationPercent |
Percentage of cities to capture |
FinalAge |
Age where victory is possible |
PrereqRequirementSetId |
Prerequisites to attempt this victory |
Track progress toward victory conditions:
CREATE TABLE 'VictoryScorings' (
'ScoringId' TEXT NOT NULL,
'Data' TEXT,
'Name' TEXT NOT NULL,
'Points' INTEGER NOT NULL DEFAULT 0,
'ScoringType' TEXT NOT NULL,
'StaticCarryover' BOOLEAN NOT NULL DEFAULT 0,
'VictoryType' TEXT NOT NULL,
PRIMARY KEY("ScoringId")
);| Column | Description |
|---|---|
ScoringId |
Unique identifier for this scoring entry |
ScoringType |
Type of scoring mechanism |
Points |
Points awarded for this achievement |
StaticCarryover |
Whether points carry between ages |
VictoryType |
Associated victory condition |
Define victory movies and presentations:
<VictoryCinematics>
<Row VictoryType="VICTORY_DOMINATION"
Name="LOC_VICTORY_CINEMATIC_DOMINATION"
VictoryCinematicType="CINEMATIC_DOMINATION"/>
</VictoryCinematics><?xml version="1.0" encoding="utf-8"?>
<Database>
<!-- 1. Register the type -->
<Types>
<Row Type="VICTORY_WONDER_BUILDER" Kind="KIND_VICTORY"/>
</Types>
<!-- 2. Create victory class (optional, can use existing) -->
<VictoryClasses>
<Row VictoryClassType="VICTORY_CLASS_WONDER" Name="Wonder"/>
</VictoryClasses>
<!-- 3. Define the victory -->
<Victories>
<Row VictoryType="VICTORY_WONDER_BUILDER"
VictoryClassType="VICTORY_CLASS_WONDER"
Name="LOC_VICTORY_WONDER_BUILDER_NAME"
Description="LOC_VICTORY_WONDER_BUILDER_DESCRIPTION"
RequirementSetId="REQSET_WONDER_BUILDER_VICTORY"
EnabledByDefault="false"/>
</Victories>
<!-- 4. Define victory requirements -->
<RequirementSets>
<Row RequirementSetId="REQSET_WONDER_BUILDER_VICTORY"
RequirementSetType="REQUIREMENTSET_TEST_ALL"/>
</RequirementSets>
<RequirementSetRequirements>
<Row RequirementSetId="REQSET_WONDER_BUILDER_VICTORY"
RequirementId="REQ_WONDER_BUILDER_COUNT"/>
</RequirementSetRequirements>
<Requirements>
<Row RequirementId="REQ_WONDER_BUILDER_COUNT"
RequirementType="REQUIREMENT_PLAYER_HAS_WONDER_COUNT"/>
</Requirements>
<RequirementArguments>
<Row RequirementId="REQ_WONDER_BUILDER_COUNT"
Name="Count"
Value="10"/>
</RequirementArguments>
</Database><?xml version="1.0" encoding="utf-8"?>
<Database>
<LocalizedText>
<Row Tag="LOC_VICTORY_WONDER_BUILDER_NAME" Language="en_US">
<Text>Wonder Victory</Text>
</Row>
<Row Tag="LOC_VICTORY_WONDER_BUILDER_DESCRIPTION" Language="en_US">
<Text>Build 10 Wonders to achieve a Wonder Victory!</Text>
</Row>
</LocalizedText>
</Database>LEGACY_PATH_ANTIQUITY_CULTURELEGACY_PATH_ANTIQUITY_ECONOMICLEGACY_PATH_ANTIQUITY_MILITARYLEGACY_PATH_ANTIQUITY_SCIENCE
LEGACY_PATH_EXPLORATION_CULTURELEGACY_PATH_EXPLORATION_ECONOMICLEGACY_PATH_EXPLORATION_MILITARYLEGACY_PATH_EXPLORATION_SCIENCE
LEGACY_PATH_MODERN_CULTURELEGACY_PATH_MODERN_ECONOMICLEGACY_PATH_MODERN_MILITARYLEGACY_PATH_MODERN_SCIENCE
| Requirement Type | Description |
|---|---|
REQUIREMENT_TEAM_DOMINATION_VICTORY |
Team controls all enemy cities |
REQUIREMENT_TEAM_LEGACY_VICTORY |
Team has most legacy points at game end |
REQUIREMENT_PLAYER_DEFAULT_DEFEAT |
Player has no cities or settlers |
REQUIREMENT_GAME_TURN_MAX_REACHED |
Maximum turns reached |
REQUIREMENT_PLAYER_HAS_WONDER_COUNT |
Player has built X wonders |
- Use Existing Classes - Prefer existing victory classes unless you need a truly unique category
- Requirement Sets - Design clear, testable victory conditions
- Balance - Ensure custom victories are achievable but challenging
- Localization - Provide clear, descriptive text
- Age Awareness - Consider which ages your victory should be available in
- Legacy Integration - Consider how custom victories interact with the legacy point system