The first settlement for the 3 roman factions is hard-coded in the .exe, i.e. Segesta, Apollonia, Syracuse for the Julii, Brutii, and Scipii, correspondingly. After that, it's all random.
You cannot change that, but can write your own background script with additional missions, though it can get very messy very fast. For example, make the Julii conquer some settlements in a predetermined order, something like... (and consider this pseudo-code, as I have not tested any of it)
Code:
; These auto-inits to 0
declare_counter missionStarted
declare_counter punishmentTypeSet
monitor_event FactionTurnStart FactionType romans_julii
and FactionIsLocal
and SenateMissionTimeRemaining = 0
and RandomPercent > 75 ; 25% chance to get a mission on new turn
if I_SettlementOwner Rome != romans_julii
and I_CompareCounter missionsStarted = 0
set_counter missionStarted 1
senate_mission_take_city major_reward Rome
end_if
if I_SettlementOwner Athens != romans_julii
and I_CompareCounter missionsStarted = 0
set_counter missionStarted 1
senate_mission_take_city moderate_reward Athens
end_if
if I_SettlementOwner Sparta != romans_julii
and I_CompareCounter missionsStarted = 0
set_counter missionStarted 1
senate_mission_take_city minor_reward Sparta
end_if
; etc.
end_monitor
monitor_event LeaderSenateMissionFailed FactionType romans_julii
and FactionIsLocal
set_counter punishmentTypeSet 0
if RandomPercent > 95
senate_mission_help_player major_fine
set_counter punishmentTypeSet 1
end_if
if I_CompareCounter punishmentTypeSet = 0
and RandomPercent > 85
senate_mission_help_player moderate_fine
set_counter punishmentTypeSet 1
end_if
if I_CompareCounter punishmentTypeSet = 0
and RandomPercent > 75
senate_mission_help_player minor_fine
set_counter punishmentTypeSet 1
end_if
if I_CompareCounter punishmentTypeSet = 0
senate_mission_help_player offices_witheld
set_counter punishmentTypeSet 1
end_if
end_monitor
Fairly little is known about scripting senate missions, except that many senate-related things are hard-coded, so if you're going to give it a try, be prepared to do a lot of testing yourself.
Available commands:
Code:
---------------------------------------------------
Identifier: senate_mission_help_player
Parameters: payback
Description: Issue a senate mission to gift the player with the payback - receipt and notification takes place at the start of the next turn
Sample use: senate_mission_help_player one_best_buildable_unit
Class: SENATE_MISSION_HELP_PLAYER
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: senate_mission_assassination
Parameters: payback, character name
Description: Issue a senate mission to assassinate the character named in the parameter list for a reward of the payback
Sample use: senate_mission_assassination minor_reward Gaius Julius
Class: SENATE_MISSION_ASSASSINATION
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: senate_mission_cease_hostilities
Parameters: payback, faction
Description: Issue a senate mission to instruct the player to cease hostilities against the named faction for a reward of the payback
Sample use: senate_mission_cease_hostilities two_minor_exotic_units Gauls
Class: SENATE_MISSION_CEASE_HOSTILITIES
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: senate_mission_declare_war
Parameters: payback, faction
Description: Issue a senate mission to instruct the player to prosecute a war against the named faction for a reward of the payback
Sample use: senate_mission_declare_war major_reward Gauls
Class: SENATE_MISSION_DECLARE_WAR
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: senate_mission_broker_peace
Parameters: payback, faction
Description: Issue a senate mission to instruct the player to prosecute a war against the named faction for a reward of the payback
Sample use: senate_mission_broker_peace major_reward Gauls
Class: SENATE_MISSION_BROKER_PEACE
Implemented: Yes
Author: Guy
---------------------------------------------------
Identifier: senate_mission_take_city
Parameters: payback, settlement name
Description: Issue a senate mission to take the settlement named in the parameter list for a reward of the payback
Sample use: senate_mission_assassination moderate_reward Tarquini
Class: SENATE_MISSION_TAKE_CITY
Implemented: Yes
Author: Guy
Senate AI can generate a few other mission types, but that's all scripting allows for.
Rewards:
- major_reward
- moderate_reward
- minor_reward
- major_exotic_unit
- two_minor_exotic_units
- two_best_buildable_units
- one_best_buildable_unit
- one_minor_exotic_unit
- one_buildable_unit
- promise_of_appointment
- senate_gratitude
- throw_games
- null_payback
- one_triarii
- two_triarii
Punishments:
- minor_fine
- moderate_fine
- major_fine
- outlaw
- censor_investigates_family
- censor_investigates_faction
- quaestor_investigates_for_corruption
- quaestor_investigates_for_financial_irregularities
- quaestor_investigates_for_accounting_irregularities
- secret_information_exposure
- offices_witheld