Victory Objective Helpers

Loaded in Campaign Loaded in Campaign
Loaded in Battle Loaded in Battle
Loaded in Frontend Loaded in Frontend
Back to top

Objective and Payload Generators

Mission objectives are created using generator functions that follow a consistent pattern. Each function returns an objective table with a `type` field and a `conditions` table containing parameter strings.

Objectives can be simple (requiring just a type) or complex (requiring multiple parameters like regions, factions, or an amount).

generate_HAVE_AT_LEAST_X_OF_A_POOLED_RESOURCE_objective(
  
string resource_key,
  number
amount,
  [boolean
additive],
  [string
override_text]
)

Accumulate X of a pooled resource

Parameters:

1

string

Pooled resource (momentum, rampage, etc)

2

number

Amount required

3

boolean

optional, default value=nil

Count current total towards objective progress

4

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions pooled resource

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 20

generate_ALL_PLAYERS_RAZE_SACK_OR_OWN_X_SETTLEMENTS_objective(number amount)

All players collectively raze/sack/own X settlements

Parameters:

1

number

Total settlements (cooperative)

Returns:

  1. table objective and conditions cooperative settlements

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 41

generate_OCCUPY_LOOT_RAZE_OR_SACK_X_SETTLEMENTS_objective(
  
number amount,
  [boolean
port_only],
  [string
override_text]
)

Occupy, loot, raze or sack X settlements

Parameters:

1

number

Number of settlements

2

boolean

optional, default value=nil

Port settlements only

3

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions settlement actions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 54

generate_SCRIPTED_COMPLETE_SHORT_VICTORY_objective()

Complete short victory objectives

Returns:

  1. table objective and conditions scripted short victory

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 74

generate_SCRIPTED_MISSION_objective(
  
string script_key,
  [string
override_text],
  [number
total],
  [number
count],
  [boolean
count_completion]
)

Scripted condition

Parameters:

1

string

Key of the particular scripted objective associated with the mission

2

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format

3

number

optional, default value=nil

Total amount of condition completions

4

number

optional, default value=nil

Condition completion increased by

5

boolean

optional, default value=nil

Automatically set objective completed on once "count" reaches "total"

Returns:

  1. table conditions by scripted key

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 87

generate_DESTROY_FACTION_objective(
  
table factions_table,
  [boolean
confederation_valid],
  [boolean
vassalization_valid]
)

Destroy specific factions completely

Parameters:

1

table

Table of faction keys to destroy

2

boolean

optional, default value=nil

Allow confederations to count as destruction

3

boolean

optional, default value=nil

Allow vassalization to count

Returns:

  1. table objective and conditions destroy faction

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 114

generate_PERFORM_RITUAL_BY_CATEGORY_objective(
  
string ritual_category,
  [number
amount],
  [string
override_text]
)

Perform ritual by category

Parameters:

1

string

Ritual category

2

number

optional, default value=nil

Number to perform

3

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format

Returns:

  1. table objective and conditions perform ritual

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 135

generate_PERFORM_RITUAL_BY_KEY_LIST_objective(
  
string rituals_list,
  [number
amount],
  [boolean
different_types],
  [string
override_text]
)

Perform rituals by specific keys

Parameters:

1

string

List of specific ritual keys

2

number

optional, default value=nil

Number to perform

3

boolean

optional, default value=nil

Count only first completion of each ritual from the list

4

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format

Returns:

  1. table objective and conditions perform ritual

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 154

generate_CONTROL_N_REGIONS_FROM_objective(table region_list, number amount, [string override_text])

Control N regions from a pool of specific regions

Parameters:

1

table

Table of region keys

2

number

Number to control

3

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions control from regions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 180

generate_CAPTURE_REGIONS_objective(
  
table region_list,
  [number
amount],
  [string
faction],
  [string
enemy_of_faction],
  [string
subculture],
  [string
override_text],
  [boolean
abort_on_allied_capture],
  [boolean
ignore_issuer_faction]
)

Capture specified regions from enemies

Parameters:

1

table

Regions to capture

2

number

optional, default value=nil

Number of regions that must be captured

3

string

optional, default value=nil

Faction to capture from

4

string

optional, default value=nil

Capture regions from this faction's enemies

5

string

optional, default value=nil

Subculture to capture from

6

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

7

boolean

optional, default value=nil

Abort the mission if an ally captures regions

8

boolean

optional, default value=nil

Ignore issuer faction regions

Returns:

  1. table objective and conditions capture regions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 199

generate_RAZE_OR_SACK_N_DIFFERENT_SETTLEMENTS_INCLUDING_objective(
  
table region_list,
  number
amount,
  [string
enemy_of_faction],
  [string
override_text],
  [boolean
process_listed_regions_only],
  [boolean
ignore_issuer_faction],
  [boolean
prevent_fail_if_sacked_or_razed_by_other]
)

Raze or sack N different settlements including specific ones

Parameters:

1

table

Required settlements

2

number

Total to raze/sack

3

string

optional, default value=nil

Capture regions from this faction's enemies

4

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

5

boolean

optional, default value=nil

Restrict to regions specified in region_list

6

boolean

optional, default value=nil

Abort if the issuer faction captures any of the settlements

7

boolean

optional, default value=nil

Do not fail if another faction razes/sacks the settlements

Returns:

  1. table objective and conditions raze settlements

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 240

generate_OWN_AT_LEAST_ONE_SOURCE_OF_EACH_RESOURCE_objective()

Control at least one source of each strategic resource

Returns:

  1. table objective and conditions resource control

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 273

generate_END_REBELLION_objective(string region_key)

End rebellion in a region

Parameters:

1

string

Region key from campaign_map_settlements table

Returns:

  1. table objective and conditions end rebellion

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 280

generate_LIFT_BLOCKADE_objective(string region_key)

Lift a blockade from a region

Parameters:

1

string

Region to lift blockade from

Returns:

  1. table objective and conditions lift blockade

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 290

generate_FULLY_OWN_N_SEA_REGIONS_objective(number amount)

Fully control N sea regions with no contested areas
Control of sea region means controlling all adjoining port regions

Parameters:

1

number

Number of sea regions to control

Returns:

  1. table objective and conditions sea regions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 300

generate_MAKE_ALLIANCE_objective(string faction_key)

Form an alliance with a specific faction

Parameters:

1

string

Target faction key

Returns:

  1. table objective and conditions alliance

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 311

generate_MAKE_TRADE_AGREEMENT_objective(string faction_key)

Establish a trade agreement with a faction

Parameters:

1

string

Target faction key

Returns:

  1. table objective and conditions trade agreement

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 321

generate_MAKE_PEACE_objective(string faction_key)

Make peace with an enemy faction

Parameters:

1

string

Enemy faction key

Returns:

  1. table objective and conditions peace

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 331

generate_DECLARE_WAR_objective(string faction_key)

Declare war on a faction

Parameters:

1

string

Target faction key

Returns:

  1. table objective and conditions declare war

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 341

generate_SIGN_NON_AGGRESSION_PACT_objective(string faction_key)

Sign a non-aggression pact with a faction

Parameters:

1

string

Target faction key

Returns:

  1. table objective and conditions non-aggression pact

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 351

generate_BE_AT_WAR_WITH_FACTION_objective(string faction_key)

Be at war with a specific faction

Parameters:

1

string

Faction that player must be at war with

Returns:

  1. table objective and conditions war with faction

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 361

generate_BE_AT_WAR_WITH_N_FACTIONS_objective(number amount, [string faction_key])

Be at war with N factions
Ostensibly this objective supports a religion parameter, but the underlying system is deprecated so consider it not implemented

Parameters:

1

number

Number of concurrent wars to maintain

2

string

optional, default value=nil

Optional specific faction to target

Returns:

  1. table objective and conditions multiple wars

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 371

generate_MAKE_CLIENT_STATE_OF_FACTION_objective(string faction_key)

Make a faction a client state

Parameters:

1

string

Target faction to become client state

Returns:

  1. table objective and conditions client state

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 386

generate_MAINTAIN_N_CLIENT_STATES_objective(number amount)

Maintain N client state relationships

Parameters:

1

number

Number of client states to maintain

Returns:

  1. table objective and conditions client states

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 396

generate_MAINTAIN_N_ALLIANCES_objective(number amount)

Maintain N alliance agreements

Parameters:

1

number

Number of alliances to maintain

Returns:

  1. table objective and conditions alliances

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 406

generate_CONFEDERATE_FACTIONS_objective(number amount, [string faction_key])

Confederate N factions

Parameters:

1

number

Number of confederations to complete

2

string

optional, default value=nil

Optional specific faction to confederate

Returns:

  1. table objective and conditions confederations

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 416

generate_SUBJUGATE_FACTIONS_objective(number amount, [string faction_key])

Subjugate N factions via defeat, vassalization, client state, or confederation

Parameters:

1

number

Number of factions to subjugate

2

string

optional, default value=nil

Optional specific faction

Returns:

  1. table objective and conditions subjugation

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 430

generate_LIMIT_FACTION_TO_REGIONS_objective(table faction_list, string region_key)

Restrict factions to specific regions, includes both regions owned and military force locations

Parameters:

1

table

Factions to limit

2

string

Bounding region

Returns:

  1. table objective and conditions faction limit

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 444

generate_GIVE_TRIBUTE_objective(number amount, [string faction_key])

Give tribute (via diplomatic payment) to a faction

Parameters:

1

number

Amount of gold to give

2

string

optional, default value=nil

Optional target faction

Returns:

  1. table objective and conditions give tribute

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 458

generate_DEMAND_TRIBUTE_objective(number amount, [string faction_key])

Demand tribute (via diplomatic payment) from a faction

Parameters:

1

number

Amount of gold to demand

2

string

optional, default value=nil

Optional target faction

Returns:

  1. table objective and conditions demand tribute

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 472

generate_CONTROL_N_REGIONS_INCLUDING_objective(table region_list, number amount, [string override_text])

Control N regions including specific required regions
Control can be either direct ownership or via vassal/client state

Parameters:

1

table

Table of required region keys

2

number

Total regions to control

3

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions control regions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 486

generate_CONTROL_N_PROVINCES_INCLUDING_objective(
  
table province_list,
  number
amount,
  [string
override_text]
)

Control N provinces including specific ones
Control can be either direct ownership or via vassal/client state

Parameters:

1

table

Required provinces

2

number

Total to control

3

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions control provinces

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 505

generate_OWN_N_REGIONS_INCLUDING_objective(
  
table region_list,
  number
amount,
  [string
override_text],
  [string
subculture_key]
)

Own N regions including specific ones

Parameters:

1

table

Required regions

2

number

Total to own

3

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

4

string

optional, default value=nil

Subculture proxy for ownership check

Returns:

  1. table objective and conditions own regions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 524

generate_OWN_A_PORT_ADJOINING_SEA_REGIONS_INCLUDING_objective(table region_list)

Own a port adjoining specified sea regions

Parameters:

1

table

Sea regions to own a port on

Returns:

  1. table objective and conditions port near sea

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 546

generate_OWN_A_REGION_IN_N_PROVINCES_INCLUDING_objective(table province_list, number amount)

Own a region in N specified provinces

Parameters:

1

table

Provinces to control in

2

number

Number of provinces

Returns:

  1. table objective and conditions province regions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 558

generate_HOLD_ENTIRETY_OF_N_PROVINCES_INCLUDING_objective(table province_list, number amount)

Hold all regions of N provinces
Hold in this context is equivalent to control - direct ownership or client state/vassal

Parameters:

1

table

Required provinces

2

number

Total provinces

Returns:

  1. table objective and conditions entire province control

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 572

generate_KEEP_ARMY_IN_PROVINCE_objective(table province_list)

Keep military force within province boundaries

Parameters:

1

table

Provinces to stay within

Returns:

  1. table objective and conditions province containment

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 587

generate_ABANDON_N_REGIONS_INCLUDING_objective(table region_list, number amount)

Abandon/lose control of N specific regions

Parameters:

1

table

Regions to abandon

2

number

Number to abandon

Returns:

  1. table objective and conditions abandon regions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 599

generate_DO_NOT_LOSE_REGION_objective(table region_list)

Never lose control of specified regions

Parameters:

1

table

Regions to maintain control of

Returns:

  1. table objective and conditions protect regions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 613

generate_RAZE_OR_OWN_X_SETTLEMENTS_objective(number amount)

Raze or own X settlements (any)
Own here means direct control

Parameters:

1

number

Number of settlements

Returns:

  1. table objective and conditions settlements

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 625

generate_RAZE_OR_OWN_SETTLEMENTS_objective(table region_list, [string position])

Raze or own specified settlements
Map position parameter is also ostensibly supported, but implementation is incomplete, use with caution

Parameters:

1

table

List of region keys

2

string

optional, default value=nil

Map position

Returns:

  1. table objective and conditions specific settlements

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 636

generate_LOOT_OR_SACK_N_DIFFERENT_SETTLEMENTS_INCLUDING_objective(table region_list, number amount)

Loot or sack N different settlements

Parameters:

1

table

Target regions

2

number

Number to affect

Returns:

  1. table objective and conditions loot settlements

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 653

generate_OWN_N_PORTS_INCLUDING_objective(table region_list, number amount)

Own N port settlements including specific ones
Own means direct control

Parameters:

1

table

Required port regions

2

number

Total ports to own

Returns:

  1. table objective and conditions own ports

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 667

generate_CONTROL_N_PORTS_INCLUDING_objective(table region_list, number amount)

Control N port settlements
Control can be either direct ownership or via vassal/client state

Parameters:

1

table

Required ports

2

number

Total to control

Returns:

  1. table objective and conditions control ports

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 682

generate_BLOCKADE_PORT_objective([string faction_key], [string region_key])

Blockade a port region

Parameters:

1

string

optional, default value=nil

Faction to blockade

2

string

optional, default value=nil

Port region to blockade

Returns:

  1. table objective and conditions blockade port

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 697

generate_BLOCKADE_X_SETTLEMENTS_objective(number amount, string faction_key)

Blockade X settlements of a faction

Parameters:

1

number

Number to blockade

2

string

Target faction

Returns:

  1. table objective and conditions blockade settlements

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 713

generate_OWN_N_UNITS_objective(
  
number amount,
  [table
unit_list],
  [boolean
naval],
  [boolean
mercenary],
  [boolean
different_types],
  [boolean
additive],
  [string
override_text]
)

Own N units with optional type filters

Parameters:

1

number

Number of units

2

table

optional, default value=nil

Specific units by key

3

boolean

optional, default value=nil

Naval units only

4

boolean

optional, default value=nil

Mercenary units only

5

boolean

optional, default value=nil

Count different types separately

6

boolean

optional, default value=nil

Count existing units towards total

7

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions own units

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 725

generate_OWN_N_NAVAL_UNITS_objective(number amount, [boolean additive])

Own N naval units

Parameters:

1

number

Number of naval units

2

boolean

optional, default value=nil

Count existing units towards total

Returns:

  1. table objective and conditions naval units

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 761

generate_RECRUIT_UNIT_objective(
  [
string unit_key],
  [string
unit_caste],
  [string
unit_category],
  [string
unit_class],
  [string
start_pos_character_id],
  [string
override_text]
)

Recruit a specific unit type

Parameters:

1

string

optional, default value=nil

Specific unit from units table

2

string

optional, default value=nil

Unit caste type

3

string

optional, default value=nil

Unit category

4

string

optional, default value=nil

Unit class

5

string

optional, default value=nil

Character to recruit for

6

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions recruit unit

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 775

generate_RECRUIT_N_UNITS_FROM_objective(
  
table unit_list,
  number
amount,
  [boolean
exclude_existing],
  [string
override_text],
  [boolean
mercenary],
  [boolean
count_unit_upgrades_as_recruitment]
)

Recruit N units from specific types

Parameters:

1

table

Pool of unit types

2

number

Number to recruit

3

boolean

optional, default value=nil

Exclude already owned

4

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

5

boolean

optional, default value=nil

Mercenary units only

6

boolean

optional, default value=nil

Count vertical upgrades into the listed unit types as recruitment

Returns:

  1. table objective and conditions recruit units

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 807

generate_RECRUIT_AGENT_objective(
  
number amount,
  [string
agent_key],
  [string
agent_subtype],
  [string
region_key]
)

Recruit N agents of optional type

Parameters:

1

number

Number of agents to recruit

2

string

optional, default value=nil

Specific agent type

3

string

optional, default value=nil

Agent subtype

4

string

optional, default value=nil

Region to recruit in

Returns:

  1. table objective and conditions recruit agent

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 837

generate_MOVE_X_AGENTS_TO_Y_REGIONS_OWNED_BY_Z_objective(
  
number num_agents,
  number
num_regions,
  [string
faction_key],
  [string
subculture_key]
)

Move X agents to Y regions owned by Z
Faction and subculture are both optional but please ensure you provide at least one for proper functioning

Parameters:

1

number

Agents to move

2

number

Regions count

3

string

optional, default value=nil

Faction ownership of regions filter

4

string

optional, default value=nil

Subculture ownership of regions filter

Returns:

  1. table objective and conditions move agents

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 859

generate_ENGAGE_FORCE_objective(
  [
string faction_key],
  [boolean
requires_victory],
  [boolean
armies_only],
  [boolean
navies_only],
  [string
enemy_of_faction_key],
  [string
cqi],
  [string
override_text]
)

Engage an enemy military force

Parameters:

1

string

optional, default value=nil

Enemy faction

2

boolean

optional, default value=nil

Must win battle

3

boolean

optional, default value=nil

Armies not navies

4

boolean

optional, default value=nil

Navies not armies

5

string

optional, default value=nil

Engage forces of enemies of this faction

6

string

optional, default value=nil

Specific enemy force cqi

7

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions engage force

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 880

generate_DEFEAT_N_ARMIES_OF_FACTION_objective(
  
number amount,
  [string
faction_key],
  [string
subculture_key],
  [string
start_pos_character_id],
  [string
victory_type]
)

Defeat N armies belonging to a faction

Parameters:

1

number

Number of armies

2

string

optional, default value=nil

Target faction

3

string

optional, default value=nil

Subculture filter

4

string

optional, default value=nil

Specific general

5

string

optional, default value=nil

Battle result type required

Returns:

  1. table objective and conditions defeat armies

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 916

generate_AMBUSH_ARMY_objective(
  
number amount,
  [string
faction_key],
  [string
subculture_key],
  [string
culture_key]
)

Ambush N armies in surprise attacks

Parameters:

1

number

Number of armies to ambush

2

string

optional, default value=nil

Faction to ambush

3

string

optional, default value=nil

Subculture filter

4

string

optional, default value=nil

Culture filter

Returns:

  1. table objective and conditions ambush armies

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 942

generate_RAID_X_REGIONS_objective(number amount, table faction_list)

Raid X regions of enemy factions

Parameters:

1

number

Number of regions to raid

2

table

Factions to raid

Returns:

  1. table objective and conditions raid regions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 964

generate_RAID_SUBCULTURE_objective(string subculture_key, [string start_pos_character_id])

Raid settlements of a specific subculture

Parameters:

1

string

Target subculture

2

string

optional, default value=nil

Raiding general

Returns:

  1. table objective and conditions raid subculture

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 978

generate_RAISE_FORCE_objective([string region_key], [boolean armies_only], [boolean navies_only])

Raise a new military force in region

Parameters:

1

string

optional, default value=nil

Region to raise in

2

boolean

optional, default value=nil

Land armies only

3

boolean

optional, default value=nil

Naval forces only

Returns:

  1. table objective and conditions raise force

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 992

generate_HAVE_N_UNITS_IN_ARMY_objective(number amount, string start_pos_character_id)

Have N units in a specific army

Parameters:

1

number

Number of units

2

string

Army commander

Returns:

  1. table objective and conditions army composition

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1012

generate_ARMY_CONTAINS_N_UNITS_OF_TYPE_objective(
  
number amount,
  string
start_pos_character_id,
  [string
unit_key],
  [string
unit_class]
)

Ensure army contains N units of a specific type

Parameters:

1

number

Number of unit types

2

string

Army commander

3

string

optional, default value=nil

Specific unit

4

string

optional, default value=nil

Unit class filter

Returns:

  1. table objective and conditions specific unit types

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1024

generate_DEFEAT_ROGUE_ARMY_objective(number amount)

Defeat N rogue armies

Parameters:

1

number

Rogue armies

Returns:

  1. table objective and conditions rogue armies

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1044

generate_KILL_X_ENTITIES_objective(number amount)

Kill X unit models in any combat

Parameters:

1

number

Unit models to kill

Returns:

  1. table objective and conditions entity kills

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1054

generate_KILL_X_ENTITIES_BY_objective(
  
number amount,
  string
unit_set_key,
  string
override_text,
  [boolean
include_unit_size]
)

Kill X unit models using specific unit type

Parameters:

1

number

Kills required

2

string

Unit set to use

3

string

Localised name key, in the [table]_[key]_[field] format.

4

boolean

optional, default value=nil

set true to multiply amount by unit_size_multiplier

Returns:

  1. table objective and conditions unit kills

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1064

generate_ASSASSINATE_CHARACTER_objective(
  [
string faction_key],
  [string
character_cqi],
  [string
enemy_of_faction]
)

Assassinate a specific enemy character

Parameters:

1

string

optional, default value=nil

Any character of this faction

2

string

optional, default value=nil

Specific character

3

string

optional, default value=nil

Any character from a faction that's an enemy of this faction

Returns:

  1. table objective and conditions assassinate

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1082

generate_ASSASSINATE_X_CHARACTERS_objective(
  
number amount,
  [string
agent_key],
  [string
faction_key],
  [string
subculture_key]
)

Assassinate X characters

Parameters:

1

number

Number to assassinate

2

string

optional, default value=nil

Target agent type

3

string

optional, default value=nil

Target faction

4

string

optional, default value=nil

Target subculture

Returns:

  1. table objective and conditions assassinate multiple

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1102

generate_ELIMINATE_CHARACTER_IN_BATTLE_objective(
  [
string faction_key],
  [string
character_cqi],
  [string
enemy_of_faction]
)

Eliminate a character in battle

Parameters:

1

string

optional, default value=nil

Target faction

2

string

optional, default value=nil

Specific character

3

string

optional, default value=nil

Character enemy of this faction

Returns:

  1. table objective and conditions eliminate in battle

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1124

generate_KILL_CHARACTER_BY_ANY_MEANS_objective(string family_member_cqi)

Kill a specific character by any means

Parameters:

1

string

Family member command queue index

Returns:

  1. table objective and conditions kill family

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1144

generate_HAVE_CHARACTER_WOUNDED_objective(string start_pos_character_id, [string override_text])

Have a character wounded

Parameters:

1

string

Character to wound

2

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions wound character

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1154

generate_HAVE_CHARACTER_WITHIN_RANGE_OF_POSITION_objective(
  
table position,
  number
radius,
  [string
override_text],
  [number
max_distance],
  [table
force_stance_list],
  [boolean
trigger_immediately]
)

Have a character within hex radius of position

Parameters:

1

table

Map position {x, y}

2

number

Hex radius

3

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

4

number

optional, default value=nil

Max distance to position

5

table

optional, default value=nil

Required force stances

6

boolean

optional, default value=nil

Immediate trigger

Returns:

  1. table objective and conditions position range

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1168

generate_MOVE_TO_REGION_objective(string region_key, [string start_pos_character_id])

Move a character to a specific region

Parameters:

1

string

Target region

2

string

optional, default value=nil

Army character

Returns:

  1. table objective and conditions move region

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1198

generate_MOVE_TO_PROVINCE_objective(
  
string province_key,
  [string
agent_subtype],
  [string
start_pos_character_id]
)

Move a character to a province

Parameters:

1

string

Target province

2

string

optional, default value=nil

Required agent by subtype

3

string

optional, default value=nil

Specific character

Returns:

  1. table objective and conditions move province

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1212

generate_HAVE_N_AGENTS_OF_TYPE_objective(number amount, [string agent_key], [string agent_subtype_key])

Have N agents of a specific type

Parameters:

1

number

Number of agents

2

string

optional, default value=nil

Required agent type

3

string

optional, default value=nil

Required agent subtype

Returns:

  1. table objective and conditions agent count

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1230

generate_EMBED_AGENT_objective(
  
string start_pos_character_id,
  string
agent_key,
  [string
agent_subtype_key]
)

Embed an agent in a character's court

Parameters:

1

string

Host character

2

string

Agent type to embed

3

string

optional, default value=nil

Required agent subtype

Returns:

  1. table objective and conditions embed agent

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1248

generate_PERFORM_ANY_AGENT_ACTION_objective([number amount])

Perform agent actions (block, steal tech, etc.)

Parameters:

1

number

optional, default value=nil

Number of actions

Returns:

  1. table objective and conditions agent actions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1264

generate_ACHIEVE_CHARACTER_RANK_objective(
  
number target_number,
  number
target_level,
  [string
agent_key],
  [string
agent_subtype],
  [boolean
include_generals],
  [string
start_pos_character_id]
)

Achieve character rank/experience level

Parameters:

1

number

Number of characters to level up

2

number

Target level to achieve

3

string

optional, default value=nil

Agent type

4

string

optional, default value=nil

Agent subtype

5

boolean

optional, default value=nil

Count generals

6

string

optional, default value=nil

Specific character

Returns:

  1. table objective and conditions character rank

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1276

generate_INCOME_AT_LEAST_X_objective(number amount, [boolean trade_only])

Achieve at least X income per turn

Parameters:

1

number

Income amount required

2

boolean

optional, default value=nil

Trade income only

Returns:

  1. table objective and conditions income level

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1304

generate_TRADE_INCOME_AT_LEAST_X_objective(number amount)

Achieve at least X income from trade

Parameters:

1

number

Trade income required

Returns:

  1. table objective and conditions trade income

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1318

generate_HAVE_AT_LEAST_X_MONEY_objective(number amount, [boolean additive])

Have at least X gold in treasury

Parameters:

1

number

Gold amount

2

boolean

optional, default value=nil

Current treasury counts towards total

Returns:

  1. table objective and conditions treasury

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1328

generate_EARN_X_AMOUNT_FROM_RAIDING_objective(number amount, [boolean additive])

Earn X gold from raiding

Parameters:

1

number

Gold from raids

2

boolean

optional, default value=nil

Current treasury counts towards total

Returns:

  1. table objective and conditions raid income

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1342

generate_HAVE_AT_LEAST_X_INFLUENCE_objective(number amount, [boolean additive])

Accumulate X influence (HEF feature) points

Parameters:

1

number

Influence to accumulate

2

boolean

optional, default value=nil

Current influence counts towards total

Returns:

  1. table objective and conditions influence

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1356

generate_CAPTURE_X_BATTLE_CAPTIVES_objective(number amount, [boolean additive])

Capture X prisoners from battles

Parameters:

1

number

Prisoners to capture

2

boolean

optional, default value=nil

Current captives count towards total

Returns:

  1. table objective and conditions captives

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1370

generate_HAVE_RESOURCES_objective(table resource_list)

Control all specified resources

Parameters:

1

table

List of resources to control by key

Returns:

  1. table objective and conditions resource control

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1384

generate_CONSTRUCT_BUILDINGS_objective(number amount, [boolean additive])

Construct N buildings of any type

Parameters:

1

number

Number of buildings

2

boolean

optional, default value=nil

Currently constructed buildings count towards total

Returns:

  1. table objective and conditions construct

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1396

generate_CONSTRUCT_BUILDINGS_FROM_objective(
  
number amount,
  string
faction_key,
  table
building_level_list,
  [table
building_chain_list],
  [string
override_text]
)

Construct N buildings from pool of types

Parameters:

1

number

Number to construct

2

string

Building faction

3

table

Building levels by key to construct from

4

table

optional, default value=nil

Building chains by key to construct from

5

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions construct from pool

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1410

generate_CONSTRUCT_BUILDINGS_INCLUDING_objective(
  
number amount,
  string
faction_key,
  table
building_level_list,
  [table
building_chain_list],
  [string
override_text]
)

Construct buildings including specific types

Parameters:

1

number

Number to construct

2

string

Faction

3

table

Building levels by key to construct from

4

table

optional, default value=nil

Building chains by key to construct from

5

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions construct including

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1436

generate_CONSTRUCT_BUILDING_IN_PROVINCES_objective(
  
string building_level_key,
  table
province_list,
  string
faction_key,
  [string
override_text]
)

Construct a specific building in provinces

Parameters:

1

string

Building to construct

2

table

Target provinces

3

string

Building faction

4

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions building in province

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1464

generate_CONSTRUCT_BUILDING_CHAIN_IN_PROVINCES_objective(string chain_key, table province_list)

Construct a building chain in provinces

Parameters:

1

string

Building chain key

2

table

Target provinces

Returns:

  1. table objective and conditions chain in province

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1484

generate_CONSTRUCT_N_OF_A_BUILDING_objective(
  
number amount,
  string
faction_key,
  string
building_level_key,
  [boolean
additive],
  [string
override_text]
)

Construct N of a specific building

Parameters:

1

number

Number to construct

2

string

Faction

3

string

Building level

4

boolean

optional, default value=nil

Add existing buildings to total

5

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions construct building

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1498

generate_CONSTRUCT_N_OF_A_BUILDING_CHAIN_objective(
  
number amount,
  table
building_chain_list,
  [boolean
exclude_existing]
)

Construct N buildings from a chain

Parameters:

1

number

Number to construct

2

table

Building chains by key to construct from

3

boolean

optional, default value=nil

Don't count existing buildings for total

Returns:

  1. table objective and conditions construct chain

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1520

generate_CONSTRUCT_NO_BUILDINGS_OF_TYPE_objective(table building_level_key, string faction_key)

Fail if buildings of type are constructed

Parameters:

1

table

Forbidden building by key

2

string

Faction to check

Returns:

  1. table objective and conditions forbidden buildings

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1538

generate_CONSTRUCT_NO_BUILDINGS_OF_CHAIN_objective(table building_chain_key)

Fail if building chain is constructed

Parameters:

1

table

Forbidden chain by key

Returns:

  1. table objective and conditions forbidden chain

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1552

generate_VASSALS_OWN_BUILDINGS_objective(number amount, table building_level_list)

Vassal factions own N buildings

Parameters:

1

number

Number required

2

table

Building levels by key to construct from

Returns:

  1. table objective and conditions vassal buildings

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1564

generate_RESEARCH_TECHNOLOGY_objective(
  [
string technology_key],
  [string
tech_category],
  [string
override_text]
)

Research a specific technology

Parameters:

1

string

optional, default value=nil

Specific technology by key

2

string

optional, default value=nil

Technology category

3

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions research tech

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1578

generate_RESEARCH_N_TECHS_INCLUDING_objective(number amount, table technologies_list, [boolean additive])

Research N technologies including specific ones

Parameters:

1

number

Total to research

2

table

Required technologies list by key

3

boolean

optional, default value=nil

Count already researched technologies

Returns:

  1. table objective and conditions research techs

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1598

generate_COMPLETE_RITUAL_CHAIN_objective(string ritual_chain_key, [boolean is_coop])

Complete an all rituals in a ritual chain

Parameters:

1

string

Chain to complete

2

boolean

optional, default value=nil

Count ritual performs from other human factions

Returns:

  1. table objective and conditions ritual chain

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1616

generate_SEARCH_RUINS_objective([table region_list], [number amount])

Search ancient ruins for treasures (via agent action)

Parameters:

1

table

optional, default value=nil

Specific regions by key

2

number

optional, default value=nil

Number to search

Returns:

  1. table objective and conditions search ruins

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1630

generate_AT_LEAST_X_PUBLIC_ORDER_IN_ALL_PROVINCES_objective(number order_level)

Maintain at least X public order in all provinces

Parameters:

1

number

Public order required

Returns:

  1. table objective and conditions global order

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1648

generate_AT_LEAST_X_PUBLIC_ORDER_IN_PROVINCES_objective(
  
number order_level,
  table
province_list,
  [boolean
additive]
)

Maintain X public order in specific provinces

Parameters:

1

number

Public order required

2

table

Target provinces by key

3

boolean

optional, default value=nil

Count provinces already at the required public order

Returns:

  1. table objective and conditions province order

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1658

generate_COMPLETE_N_MISSIONS_OF_CATEGORY_objective(number amount, table category_list)

Complete N missions of a category

Parameters:

1

number

Missions to complete

2

table

Mission categories

Returns:

  1. table objective and conditions missions category

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1676

generate_HAVE_NO_ACTIVE_MISSIONS_OF_CATEGORY_objective(string category_key)

Have no active missions in a category

Parameters:

1

string

Mission category

Returns:

  1. table objective and conditions no missions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1690

generate_AQUIRE_MISSION_CATEGORY_WEIGHT_objective(
  
number value,
  table
category_list,
  boolean
value_minimum,
  [string
override_text]
)

Accumulate mission weight in category

Parameters:

1

number

Number of categories

2

table

Target categories

3

boolean

Weight value to achieve

4

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions mission weight

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1700

generate_ISSUE_PROVINCE_INITIATIVE_objective(number amount, [string initiative_key])

Issue N province initiatives (edicts)

Parameters:

1

number

Initiatives (edicts) to issue

2

string

optional, default value=nil

Specific initiative (edict)

Returns:

  1. table objective and conditions province initiative

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1720

generate_FIGHT_SET_PIECE_BATTLE_objective(
  
string battle_key,
  [string
start_pos_character_id],
  [string
override_text]
)

Fight a specific set piece battle

Parameters:

1

string

Set piece battle key

2

string

optional, default value=nil

Character to fight with

3

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

Returns:

  1. table objective and conditions fight battle

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1734

generate_DO_NOT_LOSE_SET_PIECE_BATTLE_objective(table battle_list)

Do not lose specific set piece battles

Parameters:

1

table

Required battles to win by key

Returns:

  1. table objective and conditions keep battles

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1752

generate_RAZE_OR_SACK_N_DIFFERENT_SETTLEMENTS_OF_SUBCULTURE_objective(
  
number amount,
  string
subculture_key,
  [boolean
any_faction]
)

Raze or sack N settlements of a specific subculture

Parameters:

1

number

Number to raze/sack

2

string

Subculture to target

3

boolean

optional, default value=nil

Count any faction doing the raze/sack

Returns:

  1. table objective and conditions subculture settlements

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1764

generate_ENSURE_FACTIONS_HAVE_NO_MILITARY_PRESENCE_objective(number amount, table faction_list)

Factions have no military presence at all

Parameters:

1

number

How many factions

2

table

Factions to ensure have no presence, by key

Returns:

  1. table objective and conditions eliminate presence

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1780

generate_SPEND_AT_LEAST_X_OF_A_POOLED_RESOURCE_objective(
  
number amount,
  string
resource_key,
  [string
override_text],
  [string
pooled_resource_factor_key_list]
)

Spend at least X of a pooled resource

Parameters:

1

number

Amount of resource to spend

2

string

Pooled resource key

3

string

optional, default value=nil] string override_text, Localised name key, in the [table]_[key]_[field

Localised name key, in the [table]_[key]_[field] format.

4

string

optional, default value=nil

Optional pooled resource factor to track instead of all factors of the resource. Both single factor and table of factors are accepted

Returns:

  1. table objective and conditions spend pooled resource

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1794

Back to top

Old and potentially deprecated objectives

These objectives are implemented, but the underlying systems they reference may no longer be supported.

Use with caution and verify functionality in the current game context.

generate_MAINTAIN_TRADE_WITH_N_FACTIONS_objective(number amount)

Maintain active trade with N factions
Relies on trade route system

Parameters:

1

number

Number of trade agreements to maintain

Returns:

  1. table objective and conditions maintain trade

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1825

generate_ACHIEVE_VICTORY_objective()

Complete all other victory objectives to achieve overall victory

Returns:

  1. table objective and conditions achieved victory

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1836

generate_ACHIEVE_GLOBAL_FOOD_SURPLUS_objective()

Achieve a global food (pre-pooled resource system) surplus

Returns:

  1. table objective and conditions global food surplus

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1843

generate_END_CIVIL_WAR_objective()

End a civil war (old politics system) faction split

Returns:

  1. table objective and conditions end civil war

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1850

generate_STAY_HORDE_objective()

Maintain horde status throughout campaign

Returns:

  1. table objective and conditions stay horde

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1857

generate_MP_COMPETITIVE_objective()

Unused, cannot be completed

Returns:

  1. table objective and conditions multiplayer

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1864

generate_LIBERATE_N_REGIONS_TO_FACTION_objective()

Liberate N regions to allied faction (requires separate implementation)

Returns:

  1. table objective and conditions liberate regions

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1871

generate_ATTAIN_FACTION_LEVEL_objective(number level)

Attain a specific faction level

Parameters:

1

number

Faction level to achieve

Returns:

  1. table objective and conditions faction level

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1878

generate_DEPLOY_N_AGENTS_TO_REGIONS_objective(table agent_list, table region_list, number amount)

Deploy N agents to specified regions

Parameters:

1

table

Agent types

2

table

Target regions

3

number

Total deployments

Returns:

  1. table objective and conditions deploy agents

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1888

generate_DEPLOY_AGENT_TYPE_IN_PROVINCE_objective(string province_key, table agent_list)

Deploy agent type in a province

Parameters:

1

string

Target province

2

table

Agent types to deploy

Returns:

  1. table objective and conditions agent in province

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1906

generate_DEPLOY_X_AGENTS_TO_Y_REGIONS_OWNED_BY_Z_objective(
  
number num_agents,
  number
num_regions,
  [string
faction_key],
  [string
subculture_key]
)

Deploy X agents to Y regions owned by faction Z

Parameters:

1

number

Number of agents to deploy

2

number

Number of regions to use

3

string

optional, default value=nil

Owning faction filter

4

string

optional, default value=nil

Subculture filter

Returns:

  1. table objective and conditions deploy with filter

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1920

generate_BRIBE_FORCE_objective(string faction_key)

Bribe an enemy military force (via agent actions)

Parameters:

1

string

Target faction

Returns:

  1. table objective and conditions bribe force

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1940

generate_SABOTAGE_FORCE_objective([string faction_key])

Sabotage an enemy military force

Parameters:

1

string

optional, default value=nil

Target faction

Returns:

  1. table objective and conditions sabotage force

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1951

generate_DEMORALISE_FORCE_objective([string faction_key])

Demoralise an enemy military force

Parameters:

1

string

optional, default value=nil

Target faction

Returns:

  1. table objective and conditions demoralise force

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1963

generate_TRIGGER_WAAAGH_objective(number amount)

Trigger N WAAAGH events

Parameters:

1

number

WAAAGH events

Returns:

  1. table objective and conditions waaagh events

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1975

generate_SABOTAGE_BUILDING_objective([string region_key], [string faction_key])

Sabotage a building in a region (via agent action or payload)

Parameters:

1

string

optional, default value=nil

Region key

2

string

optional, default value=nil

Faction filter

Returns:

  1. table objective and conditions sabotage building

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 1986

generate_BRIBE_GARRISON_objective([string region_key], [string faction_key])

Bribe a garrison in a region (via agent action or payload)

Parameters:

1

string

optional, default value=nil

Region key

2

string

optional, default value=nil

Garrison faction

Returns:

  1. table objective and conditions bribe garrison

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2002

generate_INCITE_REVOLT_objective(string region_key, [string faction_key])

Incite a revolt in a settlement

Parameters:

1

string

Target region

2

string

optional, default value=nil

Current owner

Returns:

  1. table objective and conditions incite revolt

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2016

generate_HINDER_SETTLEMENT_objective([string subculture_key], [string region_key])

Hinder development of a settlement

Parameters:

1

string

optional, default value=nil

Settlement subculture

2

string

optional, default value=nil

Settlement region

Returns:

  1. table objective and conditions hinder settlement

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2030

generate_ASSIGN_CHARACTER_TO_OFFICE_objective(string position_key, [string character_key])

Assign a character to a government post

Parameters:

1

string

Ministerial position key

2

string

optional, default value=nil

Character to assign

Returns:

  1. table objective and conditions assign post

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2046

generate_EARN_X_AMOUNT_FROM_BUILDING_WEALTH_objective(number amount)

Earn X gold from wealth generation

Parameters:

1

number

Gold from wealth

Returns:

  1. table objective and conditions wealth income

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2060

generate_COMPLETE_N_QUEST_CHAINS_objective(number amount)

Complete N quest chains

Parameters:

1

number

Quest chains

Returns:

  1. table objective and conditions quest chains

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2070

generate_REACH_SPECIFIED_DATE_objective(number year, number week)

Reach a specific date on campaign calendar

Parameters:

1

number

Target year

2

number

Week of year (1-52)

Returns:

  1. table objective and conditions reach date

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2080

generate_MEET_ALL_OTHER_OBJECTIVES_WITHIN_X_TURNS_objective(number turns)

Complete all other objectives within X turns

Parameters:

1

number

Turn limit

Returns:

  1. table objective and conditions time limit

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2092

update_mission_entity_completion_states(
  
table full_entity_list table of all required entities to be shown in mission UI.,
  table
completed_entity_list table of entities which should be marked completed. Initially can be set as empty table.,
  string
entity_type Entity type to show. Supported types - object,
  string
mission_key Mission key to update.,
  string
script_key Script key to update.
)

Utility function to show and mark completion states in mission UI of different entity types. Allows passing objects or entity keys as arguments.

Parameters:

1

table

full_entity_list table of all required entities to be shown in mission UI.

2

table

completed_entity_list table of entities which should be marked completed. Initially can be set as empty table.

3

string

region_key, province_key, faction_key, character_cqi.

4

string

mission_key Mission key to update.

5

string

script_key Script key to update.

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2125

victory_objectives_scripted_listeners.add_listener_SCRIPTED_CONSTRUCT_BUILDINGS_IN_REGION(
  
string listener_name Name of created listener.,
  string
mission_key Mission key of objective to create listener for.,
  string
script_key Script key of objective to create listener for.,
  string
faction_key Faction key for whom mission is created.,
  string
region_key Region to construct buildings in.,
  table
building_level_list table of buildings to construct.
)

Creates listener for scripted mission objective to build specific buildings in specified region. Mission objective override_text has to contain names of the buildings.
Listener creates region entity button in objective description to click on and zoom into region. Entity button will be marked completed once all buildings are constructed/owned.

Parameters:

1

string

listener_name Name of created listener.

2

string

mission_key Mission key of objective to create listener for.

3

string

script_key Script key of objective to create listener for.

4

string

faction_key Faction key for whom mission is created.

5

string

region_key Region to construct buildings in.

6

table

building_level_list table of buildings to construct.

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2156

victory_objectives_scripted_listeners.add_listener_SCRIPTED_CONSTRUCT_BUILDINGS_IN_MULTIPLE_REGIONS(
  
string listener_name Name of created listener.,
  string
mission_key Mission key of objective to create listener for.,
  string
script_key Script key of objective to create listener for.,
  string
faction_key Faction key for whom mission is created.,
  table
region_to_building_levels_list table of regions and related building_level_keys to construct. {{region_x_key = {"building_level_1",
  [number
total Total amount of buildings to construct to complete objective.]
)

Creates listener for scripted mission objective to build specific buildings in specified regions. Mission objective override_text has to contain names of the buildings.
Listener creates region entity buttons in objective description to click on and zoom into region. Entity button will be marked completed once all buildings in this region are constructed/owned.

Parameters:

1

string

listener_name Name of created listener.

2

string

mission_key Mission key of objective to create listener for.

3

string

script_key Script key of objective to create listener for.

4

string

faction_key Faction key for whom mission is created.

5

table

"building_level_2"}, {region_y_key = {"building_level_1"}}}

6

number

optional, default value=nil

total Total amount of buildings to construct to complete objective.

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2218

victory_objectives_scripted_listeners.add_listener_SCRIPTED_CONSTRUCT_N_OF_A_FOREIGN_SLOT_BUILDING(
  
string listener_name Name of created listener.,
  string
mission_key Mission key of objective to create listener for.,
  string
script_key Script key of objective to create listener for.,
  string
faction_key Faction key for whom mission is created.,
  string
building_level_key Building level key to construct.
)

Creates a listener for a scripted mission objective to construct multiple instances of a building in foreign slots.

Parameters:

1

string

listener_name Name of created listener.

2

string

mission_key Mission key of objective to create listener for.

3

string

script_key Script key of objective to create listener for.

4

string

faction_key Faction key for whom mission is created.

5

string

building_level_key Building level key to construct.

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2310

victory_objectives_scripted_listeners.add_listener_SCRIPTED_CONSTRUCT_N_OF_A_MILITARY_FORCE_BUILDING(
  
string listener_name Name of created listener.,
  string
mission_key Mission key of objective to create listener for.,
  string
script_key Script key of objective to create listener for.,
  string
faction_key Faction key for whom mission is created.,
  string
building_level_key Building level key to construct.
)

Creates a listener for a scripted mission objective to construct multiple instances of a building in military force slots (e.g. horde camps).

Parameters:

1

string

listener_name Name of created listener.

2

string

mission_key Mission key of objective to create listener for.

3

string

script_key Script key of objective to create listener for.

4

string

faction_key Faction key for whom mission is created.

5

string

building_level_key Building level key to construct.

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2353

victory_objectives_scripted_listeners.add_listener_SCRIPTED_PERFORM_RITUALS_IN_REGIONS(
  
string listener_name Name of created listener.,
  string
mission_key Mission key of objective to create listener for.,
  string
script_key Script key of objective to create listener for.,
  string
faction_key Faction key for whom mission is created.,
  table
region_to_ritual_key_list table containing pairs with named fields {region_key = "region_key",
  number
required_amount total amount of rituals to complete for objective completion,
  boolean
use_ritual_target if set to true - ritual target region will be used to determine if competed ritual was targeted at linked regions.
)

Creates listener for scripted mission objective to perform rituals linked to specific regions. Mission objective override_text has to contain names of the rituals.
Listener creates regions entity buttons in objective description to click on and zoom into. Entity buttons will be marked when corresponding ritual is completed.

Parameters:

1

string

listener_name Name of created listener.

2

string

mission_key Mission key of objective to create listener for.

3

string

script_key Script key of objective to create listener for.

4

string

faction_key Faction key for whom mission is created.

5

table

ritual_key = "ritual_key"}

6

number

required_amount total amount of rituals to complete for objective completion

7

boolean

use_ritual_target if set to true - ritual target region will be used to determine if competed ritual was targeted at linked regions.

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2400

victory_objectives_scripted_listeners.add_listener_SCRIPTED_RANKUP_N_UNITS(
  
string listener_name Name of created listener.,
  string
mission_key Mission key of objective to create listener for.,
  string
script_key Script key of objective to create listener for.,
  string
faction_key Faction key for whom mission is created.,
  table
unit_list table containing unit keys.,
  number
required_rank required unit rank for ojective.
)

Creates listener for scripted mission objective to rank up units. Mission has to be set up with counter and override_text has to contain names of the units.

Parameters:

1

string

listener_name Name of created listener.

2

string

mission_key Mission key of objective to create listener for.

3

string

script_key Script key of objective to create listener for.

4

string

faction_key Faction key for whom mission is created.

5

table

unit_list table containing unit keys.

6

number

required_rank required unit rank for ojective.

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2472

victory_objectives_scripted_listeners.add_listener_SCRIPTED_PERFORM_UNIQUE_RITUALS(
  
string listener_name Name of created listener.,
  string
mission_key Mission key of objective to create listener for.,
  string
script_key Script key of objective to create listener for.,
  string
faction_key Faction key for whom mission is created.,
  table
string ritual_key_list_or_prefix either a table of ritual keys or string - common part of ritual keys to check against with string.starts_with,
  [string
upgraded_suffix ritual key suffix for upgraded version of ritual]
)

Creates listener for scripted mission objective to perform unique rituals. Mission has to be set up with counter and override_text has to specify ritual names or category.

Parameters:

1

string

listener_name Name of created listener.

2

string

mission_key Mission key of objective to create listener for.

3

string

script_key Script key of objective to create listener for.

4

string

faction_key Faction key for whom mission is created.

5

table

string ritual_key_list_or_prefix either a table of ritual keys or string - common part of ritual keys to check against with string.starts_with

6

string

optional, default value=nil

usually "_upgraded". If specified - both upgraded and default versions of ritual will be considered as the same ritual and contribute towards objective completion only once.

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2495

victory_objectives_scripted_listeners.add_listener_SCRIPTED_PERFORM_RITUALS_FROM_CATEGORIES(
  
string listener_name Name of created listener.,
  string
mission_key Mission key of objective to create listener for.,
  string
script_key Script key of objective to create listener for.,
  string
faction_key Faction key for whom mission is created.,
  table
string ritual_category_list_or_common either a table of ritual category keys or string - common part of ritual category keys to check against with string.find
)

Creates listener for scripted mission objective to perform rituals from a list of categories. Mission has to be set up with counter and override_text has to specify ritual category.

Parameters:

1

string

listener_name Name of created listener.

2

string

mission_key Mission key of objective to create listener for.

3

string

script_key Script key of objective to create listener for.

4

string

faction_key Faction key for whom mission is created.

5

table

string ritual_category_list_or_common either a table of ritual category keys or string - common part of ritual category keys to check against with string.find

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2539

victory_objectives_scripted_listeners.add_listener_SCRIPTED_RANK_UP_AGENTS(
  
string listener_name Name of created listener.,
  string
mission_key Mission key of objective to create listener for.,
  string
script_key Script key of objective to create listener for.,
  string
faction_key Faction key for whom mission is created.,
  table
character_subtype_key_list Table of character subtype keys to rank up.,
  number
required_rank required agent rank for ojective.,
  number
total total amount of agents to maintaion.,
  [boolean
should_maintain setting to true modifies objective to subtract completion progress if mortal agent who reached specified rank died.],
  [string
mission_text_description Localised name key],
  [boolean
unique_only Set true to count only unique agent subtypes provided in character_subtype_key_list]
)

Creates listener for scripted mission objective to reach specified ranks with agents of specified subtype. Mission has to be set up with counter and override_text has to specify agent names or their category.

Parameters:

1

string

listener_name Name of created listener.

2

string

mission_key Mission key of objective to create listener for.

3

string

script_key Script key of objective to create listener for.

4

string

faction_key Faction key for whom mission is created.

5

table

character_subtype_key_list Table of character subtype keys to rank up.

6

number

required_rank required agent rank for ojective.

7

number

total total amount of agents to maintaion.

8

boolean

optional, default value=nil

should_maintain setting to true modifies objective to subtract completion progress if mortal agent who reached specified rank died.

9

string

optional, default value=nil] string mission_text_description Localised name key, in the [table]_[key]_[field

in the [table]_[key]_[field] format. Relevant only when setting should_maintain to true.

10

boolean

optional, default value=nil

unique_only Set true to count only unique agent subtypes provided in character_subtype_key_list

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2571

victory_objectives_scripted_listeners.add_listener_SCRIPTED_DEFEAT_LEGENDARY_LORDS(
  
string listener_name Name of created listener.,
  string
mission_key Mission key of objective to create listener for.,
  string
script_key Script key of objective to create listener for.,
  string
faction_key Faction key for whom mission is created.,
  [boolean
unique_only Set true to count unique Legendary Lords kills only.],
  [string
culture Culture of defeated Legendary Lords.]
)

Creates listener for scripted mission objective to defeat legendary lords in battle. Mission has to be set up with counter.

Parameters:

1

string

listener_name Name of created listener.

2

string

mission_key Mission key of objective to create listener for.

3

string

script_key Script key of objective to create listener for.

4

string

faction_key Faction key for whom mission is created.

5

boolean

optional, default value=nil

unique_only Set true to count unique Legendary Lords kills only.

6

string

optional, default value=nil

culture Culture of defeated Legendary Lords.

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2663

victory_objectives_scripted_listeners.add_listener_SCRIPTED_CONFEDERATE_FACTIONS_OF_CULTURE(
  
string listener_name Name of created listener.,
  string
mission_key Mission key of objective to create listener for.,
  string
script_key Script key of objective to create listener for.,
  string
faction_key Faction key for whom mission is created.,
  number
total Amount of factions to confederate.,
  string
culture Culture of factions to confederate.,
  [boolean
different_culture False by default]
)

Creates listener for scripted mission objective to confederate factions of specific culture. If all factions of specified culture have died before objective was completed - objective will be automatically completed.

Parameters:

1

string

listener_name Name of created listener.

2

string

mission_key Mission key of objective to create listener for.

3

string

script_key Script key of objective to create listener for.

4

string

faction_key Faction key for whom mission is created.

5

number

total Amount of factions to confederate.

6

string

culture Culture of factions to confederate.

7

boolean

optional, default value=nil

set true if culture of mission owner differs from culture to confederate.

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2725

victory_objectives_scripted_listeners.add_listener_SCRIPTED_CONFEDERATE_VASSALISE_OR_DESTROY_X_FACTIONS(
  
string listener_name Name of created listener.,
  string
mission_key Mission key of objective to create listener for.,
  string
script_key Script key of objective to create listener for.,
  string
faction_key Faction key for whom mission is created.,
  table
faction_key_list Table of faction keys to target.,
  number
total Number of factions from the list to confederate/vassalise/destroy.
)

Creates listener for scripted mission objective to confederate, vassalise or destroy X factions.

Parameters:

1

string

listener_name Name of created listener.

2

string

mission_key Mission key of objective to create listener for.

3

string

script_key Script key of objective to create listener for.

4

string

faction_key Faction key for whom mission is created.

5

table

faction_key_list Table of faction keys to target.

6

number

total Number of factions from the list to confederate/vassalise/destroy.

Returns:

  1. nil

defined in ../../../warhammer/working_data/script/campaign/main_warhammer/victory_objectives_config_utils.lua, line 2789

Last updated 9/11/2026 3:00:54 PM