Missions/Victory Conditions: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
Originally written by [https://steamcommunity.com/id/WolfyLPDC Wolfy]. | |||
WORK IN PROGRESS | WORK IN PROGRESS | ||
Line 17: | Line 19: | ||
|- | |- | ||
| ATTAIN_FACTION_PROGRESSION_LEVEL || Example | | ATTAIN_FACTION_PROGRESSION_LEVEL || Example | ||
|- | |||
| ASSASSINATE_CHARACTER || Example | |||
|- | |- | ||
| ASSASSINATE_X_CHARACTERS || Example | | ASSASSINATE_X_CHARACTERS || Example | ||
Line 23: | Line 27: | ||
|- | |- | ||
| CONSTRUCT_N_OF_A_BUILDING || Example | | CONSTRUCT_N_OF_A_BUILDING || Example | ||
|- | |||
| CONSTRUCT_N_OF_A_BUILDING_CHAIN || Example | |||
|- | |- | ||
| CONTROL_N_PORTS_INCLUDING || Example | | CONTROL_N_PORTS_INCLUDING || Example | ||
Line 71: | Line 77: | ||
|- | |- | ||
| MP_COMPETITIVE || Example | | MP_COMPETITIVE || Example | ||
|- | |||
| NO_MORE_THAN_X_RELIGION_IN_ALL_PROVINCES || Example | |||
|- | |- | ||
| OWN_A_PORT_ADJOINING_SEA_REGIONS_INCLUDING || Example | | OWN_A_PORT_ADJOINING_SEA_REGIONS_INCLUDING || Example | ||
Line 105: | Line 113: | ||
== Usage == | == 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 === | === 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 === | === 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 === | === ATTAIN_FACTION_PROGRESSION_LEVEL === | ||
TO BE ANALYZED / NEVER USED | |||
=== ASSASSINATE_CHARACTER === | |||
TO BE ANALYZED / NEVER USED | |||
=== ASSASSINATE_X_CHARACTERS === | === ASSASSINATE_X_CHARACTERS === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
* ''subculture:'' <subculture_key>, 0..1 | |||
'''Works on (Confirmed):''' WH2 | |||
=== BECOME_WORLD_LEADER === | === BECOME_WORLD_LEADER === | ||
TO BE ANALYZED / NEVER USED | |||
=== CAPTURE_X_BATTLE_CAPTIVES === | === CAPTURE_X_BATTLE_CAPTIVES === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
'''Works on (Confirmed):''' WH2 | |||
=== COMPLETE_N_MISSIONS_OF_CATEGORY === | === COMPLETE_N_MISSIONS_OF_CATEGORY === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
* ''event_category:'' <event_category>, 1..N | |||
'''Works on (Confirmed):''' WH2 | |||
=== CONSTRUCT_BUILDING === | === CONSTRUCT_BUILDING === | ||
TO BE ANALYZED / NEVER USED | |||
=== CONSTRUCT_N_BUILDINGS_INCLUDING === | === 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 === | === 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 === | === 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 === | === CONTROL_N_PORTS_INCLUDING === | ||
TO BE ANALYZED / NEVER USED | |||
NOTE: I assume CONTROL_N_PORTS_FROM should exist too | |||
=== CONTROL_N_PROVINCES_INCLUDING === | === 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 === | === CONTROL_N_REGIONS_INCLUDING === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
* ''region:'' <region_key>, 0..N | |||
'''Works on (Confirmed):''' Attila, WH2 | |||
=== CONTROL_N_REGIONS_FROM === | === CONTROL_N_REGIONS_FROM === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
* ''region:'' <region_key>, 0..N | |||
'''Works on (Confirmed):''' WH2 | |||
=== DEFEAT_N_ARMIES_OF_FACTION === | === DEFEAT_N_ARMIES_OF_FACTION === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
* ''faction:'' <faction_key>, 0..1 | |||
'''Works on (Confirmed):''' WH2 | |||
=== DESTROY_ALL_WORLD_LEADERS === | === DESTROY_ALL_WORLD_LEADERS === | ||
TO BE ANALYZED / NEVER USED | |||
=== DESTROY_FACTION === | === DESTROY_FACTION === | ||
'''Keys''' | |||
* ''faction:'' <faction_key>, 1..N | |||
* ''confederation_valid'' 0..1 | |||
'''Works on (Confirmed):''' Attila, WH2, WH3 | |||
=== DONT_LOSE_REGION === | === DONT_LOSE_REGION === | ||
TO BE ANALYZED / NEVER USED | |||
=== EARN_X_AMOUNT_FROM_BUILDING_WEALTH === | === EARN_X_AMOUNT_FROM_BUILDING_WEALTH === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
'''Works on (Confirmed):''' Attila | |||
=== EARN_X_AMOUNT_FROM_RAIDING === | === EARN_X_AMOUNT_FROM_RAIDING === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
'''Works on (Confirmed):''' Attila, WH2 | |||
=== ERADICATE_FACTION === | === ERADICATE_FACTION === | ||
TO BE ANALYZED / NEVER USED | |||
=== FIGHT_SET_PIECE_BATTLE === | === FIGHT_SET_PIECE_BATTLE === | ||
'''Keys''' | |||
* ''set_piece_battle:'' <set_piece_battle_key>, 1 | |||
'''Works on (Confirmed):''' WH2 | |||
=== HAVE_AT_LEAST_X_MONEY === | === HAVE_AT_LEAST_X_MONEY === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
'''Works on (Confirmed):''' Attila, WH2, WH3 | |||
=== HAVE_AT_LEAST_X_OF_A_POOLED_RESOURCE === | === 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 === | === HAVE_DIPLOMATIC_RELATIONSHIP === | ||
TO BE ANALYZED / NEVER USED | |||
=== HAVE_RESOURCES === | === HAVE_RESOURCES === | ||
'''Keys''' | |||
* ''resource:'' <resource_key>, 1..N | |||
'''Works on (Confirmed):''' WH2 | |||
=== HAVE_N_AGENTS_OF_TYPE === | === 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 === | === HOLD_ENTIRETY_OF_N_PROVINCES_INCLUDING === | ||
TO BE ANALYZED / NEVER USED | |||
=== INCOME_AT_LEAST_X === | === INCOME_AT_LEAST_X === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
'''Works on (Confirmed):''' Attila, WH2 | |||
=== LOOT_OR_SACK_N_DIFFERENT_SETTLEMENTS_INCLUDING === | === 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 === | === MAINTAIN_N_CLIENT_STATES === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
'''Works on (Confirmed):''' Attila | |||
=== MAINTAIN_TRADE_WITH_N_FACTIONS === | === MAINTAIN_TRADE_WITH_N_FACTIONS === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
'''Works on (Confirmed):''' Attila, WH2, WH3 | |||
=== MEET_ALL_OTHER_OBJECTIVES_WITHIN_X_TURNS === | === MEET_ALL_OTHER_OBJECTIVES_WITHIN_X_TURNS === | ||
'''Keys''' | |||
* ''total:'' integer, 1 | |||
'''Works on (Confirmed):''' WH2 | |||
=== MP_COMPETITIVE === | === 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 === | === OWN_A_PORT_ADJOINING_SEA_REGIONS_INCLUDING === |
Revision as of 05:35, 3 March 2022
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.
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