Missions/Victory Conditions

From Total War Modding
Revision as of 05:35, 3 March 2022 by Wolfy (talk | contribs)

Originally written by Wolfy.

WORK IN PROGRESS

Mission Types

Each one of the missions has to have a type associated. This type defines not only the kind of condition that has to be achieved or the default associated text, but also the structure that objective has to have in order to be loaded. However, they are not properly defiened anywhere and the best way to discover new ones is to reverse engineer them by manually testing new possibilities or by looking for new keys in past or future victory_objectives.txt files.

Again, the complete list is not available anywhere and this is the best collection available. It includes data extracted since Medieval II and includes all main games and sagas until Three Kingdoms. The list will be expanded further, if possible, once Warhammer III Assembly Kit is out. In any case, it is important to note that a lot of modders associate the objective keys to the table MISSION_TYPES, but this is not true. Not all possible types are listed in that table and not all keys in that table work as valid mission types.

List of known mission types
key description
AT_LEAST_X_RELIGION_IN_ALL_PROVINCES Example
AT_LEAST_X_RELIGION_IN_PROVINCES Example
ATTAIN_FACTION_PROGRESSION_LEVEL Example
ASSASSINATE_CHARACTER Example
ASSASSINATE_X_CHARACTERS Example
CONSTRUCT_N_BUILDINGS_FROM Example
CONSTRUCT_N_OF_A_BUILDING Example
CONSTRUCT_N_OF_A_BUILDING_CHAIN Example
CONTROL_N_PORTS_INCLUDING Example
CONTROL_N_PROVINCES_INCLUDING Example
CONTROL_N_REGIONS_INCLUDING Example
CONTROL_N_REGIONS_FROM Example
DEFEAT_N_ARMIES_OF_FACTION Example
DESTROY_ALL_WORLD_LEADERS Example
DESTROY_FACTION Example
DONT_LOSE_REGION Example
EARN_X_AMOUNT_FROM_BUILDING_WEALTH Example
EARN_X_AMOUNT_FROM_RAIDING Example
ERADICATE_FACTION Example
FIGHT_SET_PIECE_BATTLE Example
HAVE_AT_LEAST_X_MONEY Example
HAVE_AT_LEAST_X_OF_A_POOLED_RESOURCE Example
HAVE_DIPLOMATIC_RELATIONSHIP Example
HAVE_RESOURCES Example
HAVE_N_AGENTS_OF_TYPE Example
HOLD_ENTIRETY_OF_N_PROVINCES_INCLUDING Example
INCOME_AT_LEAST_X Example
LOOT_OR_SACK_N_DIFFERENT_SETTLEMENTS_INCLUDING Example
MAINTAIN_N_CLIENT_STATES Example
MAINTAIN_TRADE_WITH_N_FACTIONS Example
MEET_ALL_OTHER_OBJECTIVES_WITHIN_X_TURNS Example
MP_COMPETITIVE Example
NO_MORE_THAN_X_RELIGION_IN_ALL_PROVINCES Example
OWN_A_PORT_ADJOINING_SEA_REGIONS_INCLUDING Example
OWN_AT_LEAST_ONE_SOURCE_OF_EACH_RESOURCE Example
OWN_N_NAVAL_UNITS Example
OWN_N_PROVINCES_WITH_CULTURAL_DOMINANCE Example
OWN_N_REGIONS_INCLUDING Example
OWN_N_UNITS Example
PERFORM_RITUAL Example
RAZE_OR_SACK_N_DIFFERENT_SETTLEMENTS_INCLUDING Example
RAZE_OR_SACK_N_DIFFERENT_SETTLEMENTS_RELIGION Example
REACH_SPECIFIED_DATE Example
RESEARCH_N_TECHS_OF_TYPE_X Example
SCRIPTED Example
SUBJUGATE_FACTIONS Example
TRADE_INCOME_AT_LEAST_X Example
VASSALS_OWN_BUILDINGS Example

Usage

Every mission type has a particular usage and, sadly, it is not documented anywhere. So this should work as your reliable source. Note that some things may change or be disabled from game to game.

AT_LEAST_X_RELIGION_IN_ALL_PROVINCES

Keys

  • total: integer, 1
  • religion: <religion_key>, 1

Works on (Confirmed): Attila

Does not work on: WH3

AT_LEAST_X_RELIGION_IN_PROVINCES

Keys

  • total: integer, 1
  • religion: <religion_key>, 1
  • province: <province_key>, 1..N

Works on (Confirmed): Attila, WH2

Does not work on: WH3

ATTAIN_FACTION_PROGRESSION_LEVEL

TO BE ANALYZED / NEVER USED

ASSASSINATE_CHARACTER

TO BE ANALYZED / NEVER USED

ASSASSINATE_X_CHARACTERS

Keys

  • total: integer, 1
  • subculture: <subculture_key>, 0..1

Works on (Confirmed): WH2

BECOME_WORLD_LEADER

TO BE ANALYZED / NEVER USED

CAPTURE_X_BATTLE_CAPTIVES

Keys

  • total: integer, 1

Works on (Confirmed): WH2

COMPLETE_N_MISSIONS_OF_CATEGORY

Keys

  • total: integer, 1
  • event_category: <event_category>, 1..N

Works on (Confirmed): WH2

CONSTRUCT_BUILDING

TO BE ANALYZED / NEVER USED

CONSTRUCT_N_BUILDINGS_INCLUDING

Keys

  • total: integer, 1
  • building_level: <building_level>, 1..N
  • faction: <faction_key>, 1

Works on (Confirmed): Attila, WH2, WH3

CONSTRUCT_N_BUILDINGS_FROM

Keys

  • total: integer, 1
  • building_level: <building_level>, 1..N
  • faction: <faction_key>, 1

Works on (Confirmed): Attila, WH2

CONSTRUCT_N_OF_A_BUILDING

Keys

  • total: integer, 1
  • building_level: <building_level>, 1
  • faction: <faction_key>, 1

Works on (Confirmed): Attila, WH2

CONSTRUCT_N_OF_A_BUILDING_CHAIN

TO BE ANALYZED / NEVER USED

CONTROL_N_PORTS_INCLUDING

TO BE ANALYZED / NEVER USED

NOTE: I assume CONTROL_N_PORTS_FROM should exist too

CONTROL_N_PROVINCES_INCLUDING

Keys

  • total: integer, 1
  • province: <province_key>, 0..N

Works on (Confirmed): Attila, WH2, WH3

NOTE: I assume CONTROL_N_PROVINCES_FROM should exist too

CONTROL_N_REGIONS_INCLUDING

Keys

  • total: integer, 1
  • region: <region_key>, 0..N

Works on (Confirmed): Attila, WH2

CONTROL_N_REGIONS_FROM

Keys

  • total: integer, 1
  • region: <region_key>, 0..N

Works on (Confirmed): WH2

DEFEAT_N_ARMIES_OF_FACTION

Keys

  • total: integer, 1
  • faction: <faction_key>, 0..1

Works on (Confirmed): WH2

DESTROY_ALL_WORLD_LEADERS

TO BE ANALYZED / NEVER USED

DESTROY_FACTION

Keys

  • faction: <faction_key>, 1..N
  • confederation_valid 0..1

Works on (Confirmed): Attila, WH2, WH3

DONT_LOSE_REGION

TO BE ANALYZED / NEVER USED

EARN_X_AMOUNT_FROM_BUILDING_WEALTH

Keys

  • total: integer, 1

Works on (Confirmed): Attila

EARN_X_AMOUNT_FROM_RAIDING

Keys

  • total: integer, 1

Works on (Confirmed): Attila, WH2

ERADICATE_FACTION

TO BE ANALYZED / NEVER USED

FIGHT_SET_PIECE_BATTLE

Keys

  • set_piece_battle: <set_piece_battle_key>, 1

Works on (Confirmed): WH2

HAVE_AT_LEAST_X_MONEY

Keys

  • total: integer, 1

Works on (Confirmed): Attila, WH2, WH3

HAVE_AT_LEAST_X_OF_A_POOLED_RESOURCE

Keys

  • total: integer, 1
  • pooled_resource: <pooled_resource_key>, 1

Works on (Confirmed): WH2, WH3

HAVE_DIPLOMATIC_RELATIONSHIP

TO BE ANALYZED / NEVER USED

HAVE_RESOURCES

Keys

  • resource: <resource_key>, 1..N

Works on (Confirmed): WH2

HAVE_N_AGENTS_OF_TYPE

Keys

  • total: integer, 1
  • agent_subtype: <agent_subtype_key>, 1

Works on (Confirmed): Attila, WH2

HOLD_ENTIRETY_OF_N_PROVINCES_INCLUDING

TO BE ANALYZED / NEVER USED

INCOME_AT_LEAST_X

Keys

  • total: integer, 1

Works on (Confirmed): Attila, WH2

LOOT_OR_SACK_N_DIFFERENT_SETTLEMENTS_INCLUDING

Keys

  • total: integer, 1
  • region: <region_key>, 0..N

Works on (Confirmed): Attila, WH2

MAINTAIN_N_CLIENT_STATES

Keys

  • total: integer, 1

Works on (Confirmed): Attila

MAINTAIN_TRADE_WITH_N_FACTIONS

Keys

  • total: integer, 1

Works on (Confirmed): Attila, WH2, WH3

MEET_ALL_OTHER_OBJECTIVES_WITHIN_X_TURNS

Keys

  • total: integer, 1

Works on (Confirmed): WH2

MP_COMPETITIVE

TO BE ANALYZED / NEVER USED

NO_MORE_THAN_X_RELIGION_IN_ALL_PROVINCES

Keys

  • total: integer, 1
  • religion: <religion_key>, 1
  • province: <province_key>, 1..N

Works on (Confirmed): Attila

Does not work on: WH3

OWN_A_PORT_ADJOINING_SEA_REGIONS_INCLUDING

TBD

OWN_AT_LEAST_ONE_SOURCE_OF_EACH_RESOURCE

TBD

OWN_N_NAVAL_UNITS

TBD

OWN_N_PROVINCES_WITH_CULTURAL_DOMINANCE

TBD

OWN_N_REGIONS_INCLUDING

TBD

OWN_N_UNITS

TBD

PERFORM_RITUAL

TBD

RAZE_OR_SACK_N_DIFFERENT_SETTLEMENTS_INCLUDING

TBD

RAZE_OR_SACK_N_DIFFERENT_SETTLEMENTS_RELIGION

TBD

REACH_SPECIFIED_DATE

TBD

RESEARCH_N_TECHS_OF_TYPE_X

TBD

SCRIPTED

TBD

SUBJUGATE_FACTIONS

TBD

TRADE_INCOME_AT_LEAST_X

TBD

VASSALS_OWN_BUILDINGS

TBD