Interventions
Campaign interventions offer a mechanism for script to lock the UI and the progression of the game while the player is shown or taken through a sequence of scripted events. This sequence can be as short as a few seconds to trigger some advice, or as long as a cinematic or a scripted tour of a feature. If one intervention has control of the game, no other intervention may gain control until that intervention completes.
An intervention is constructed with a unique name, a trigger function (what it calls when triggered) and a priority cost. Once constructed, one or more conditions must be added to the intervention that tell it when to trigger. The intervention starts monitoring for these conditions when intervention:start is called. Should one of these conditions be met, the intervention is enqueued for triggering, and its priority cost is considered alongside that of any other interventions that also wish to trigger at this time. The intervention that is highest priority gets to trigger first - its cost is added to a cumulative cost counter, and other interventions are queued up behind it. Once the first intervention has finished the second is started, and so on, until the list of interventions that wish to trigger is exhausted or the cumulative cost exceeds a certain value (100). The trigger monitors of any interventions that didn't get to trigger are restarted so they can trigger again in future.
By default, the state of declared interventions is saved into the savegame. The system also supports transient interventions which are not saved in to the savegame - see Transient Interventions.
Interventions are useful for delivering advice or other scripted events which demand focus, such as mid-game narrative cutscenes. Without the intervention system, there would be a risk that two such pieces of script would trigger at the same time and play simultaneously.
| Loaded in Campaign |
|
| Loaded in Battle |
|
| Loaded in Frontend |
|
An intervention may be created with intervention:new, after which functions on it may be called in the form showed below.
Example - Specification:
<intervention_object>:<function_name>(<args>)
Example - Creation and Usage:
local intervention_example = intervention:new(
"example",
60,
function() trigger_example_intervention() end,
true
)
intervention_example:set_min_advice_level(2)
Once created, an intervention may optionally configured with a variety of settings (see Configuration). One or more trigger conditions can be added with intervention:add_trigger_condition. Preconditions, which are tests an intervention must pass before it's allowed to start may also be added to an intervention with intervention:add_precondition. Preconditions are checked again prior to an intervention triggering.
When set up, an intervention may be started with intervention:start. This only needs to happen once during the life-cycle of a campaign game, for an intervention that was previously started will be restarted should the script save and load. This includes interventions that have triggered and shut down, so the preconditions of each intervention must be set up to ensure that it doesn't start back up on script load unless that is desired.
Once an intervention triggers, it is imperative that it finishes, which happens when intervention:complete or intervention:cancel are called. Until one of these function is called an intervention will lock the UI and the progress of the game. However, some functions are made available that wrap common intervention templates - see the functions list in the Intervention Behaviour Wrappers section. These will automatically end the intervention at the appropriate time.
Interventions are persistent by default, which means that their details are saved into the savegame and that they are automatically re-established when the game is reloaded. Transient interventions are also supported, which are not saved into the savegame. These are intended for use for narrative events that have to pay heed to the intervention system but that are triggered in an inline fashion from other scripts.
Transient interventions can be created by setting the transient flag on the constructor function intervention:new. The campaign_manager also provides a fire-and-forget wrapper for creating transient interventions - see campaign_manager:trigger_transient_intervention.
Transient interventions, unlike persistent interventions, can share the same name (although this should be avoided if possible). Some advanced intervention functionality is not available to transient interventions, such as intervention:take_priority_over_intervention, intervention:set_turn_countdown_restart and other related functions.
The intervention system outputs extensive amount of information to the Lua - Interventions console spool.
-
intervention:new(namestring,costnumber,callbackfunction, [debug modeboolean], [is transientboolean]) -
Creates a intervention object. This should happen in the root of the script somewhere, so that the object is declared and set up by the time the first tick happens so that it can be properly restarted from a savegame.
Parameters:
1
Unique name for the intervention.
2
Priority cost for the intervention. When an intervention triggers, all interventions that wish to trigger at the same time will be sorted by cost, and triggered in that order (with the cheapest first). Once the total cost of all interventions triggered in a sequence exceeds a certain value (100) no more interventions can trigger. This mechanism prevents the player from being overly spammed with advice.
3
Callback to call when the intervention gets to trigger.
4
optional, default value=false
Activates debug mode for this intervention, causing it to output more.
5
optional, default value=false
Sets this intervention to be transient. The details of transient interventions are not saved into the savegame.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 1938
-
intervention:set_callback(callbackfunction) -
Sets or resets the trigger callback that gets called when the intervention is triggered. This must be set before
intervention:start() is called, otherwise the intervention will fail to start.Parameters:
1
callback
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2018
If preconditions are added to an intervention, it will check these when it attempts to either start or trigger. If any of its preconditions return false, the intervention shuts down and will not trigger.
-
intervention:add_precondition(functionprecondition) -
Adds a precondition function to the intervention. This function will be called by the intervention from time to time and should return
trueif the intervention is allowed to start or trigger,falseotherwise. Should the precondition returnfalsewhen the intervention calls it the intervention will shut down.
Multiple preconditions may be added to an intervention.Parameters:
1
functionprecondition
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2045
-
intervention:add_advice_key_precondition(stringadvice key) -
Precondition wrapper function that adds a precondition to the intervention that a particular advice key must not have been triggered. The intervention won't be able to start or trigger if the advice history reveals that the advice key has been triggered before. This is useful for interventions that trigger advice - by using this function to specify a precondition, an advice intervention may prevent itself from starting or triggering if the advice it intends to deliver has been heard before.
Parameters:
1
stringadvice key
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2059
-
intervention:add_precondition_unvisited_page(stringhelp page name) -
Precondition wrapper function that adds a precondition to the intervention that a particular help page must be unvisited. The intervention won't be able to start or trigger if the advice history reveals that the specified help page has been visited. This may be useful for low-priority advice scripts that don't wish to trigger if the help page on the advice topic has been seen.
Parameters:
1
stringhelp page name
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2076
-
intervention:add_player_faction_precondition(faction keystring) -
Adds a precondition to the intervention that the player's faction key must match the supplied string to be able to start or trigger.
Parameters:
1
Faction key, from the
factionsdatabase table.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2093
-
intervention:add_player_not_faction_precondition(faction keystring) -
Adds a precondition to the intervention that the player's faction key must not match the supplied string to be able to start or trigger.
Parameters:
1
Faction key, from the
factionsdatabase table.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2112
-
intervention:add_player_subculture_precondition(subculture keystring) -
Adds a precondition to the intervention that the player's faction must be the supplied subculture to be able to start or trigger. The subculture is supplied by key.
Parameters:
1
Subculture key, from the
cultures_subculturesdatabase table.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2131
-
intervention:add_player_not_subculture_precondition(subculture keystring) -
Adds a precondition to the intervention that the player's faction must not be the supplied subculture to be able to start or trigger. The subculture is supplied by key.
Parameters:
1
Subculture key, from the
cultures_subculturesdatabase table.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2150
At least one trigger condition must have been added to an intervention with intervention:add_trigger_condition before it's started, otherwise it will never be able to trigger.
-
intervention:add_trigger_condition(stringevent name, functioncondition check) -
Adds a trigger event and condition to the intervention. The supplied event is listened for and, when received, the supplied condition function is called, with the context of the received event as a single parameter. Should the condition function return true the trigger is satisfied and the intervention is enqueued for triggering.
Alternatively the valuetruemay be specified in place of a condition function - in this case, the intervention is enqueued for triggering as soon as the specified event is received.Parameters:
1
stringEvent name to listen for.
2
functionCondition check to call when the event is received. Alternatively,
truemay be specified.Returns:
nil
Example:
in_mission_advice:add_trigger_condition(
"ScriptEventFirstAttackEnemyMissionIssued",
true
);
Example:
in_money:add_trigger_condition(
"ScriptEventPlayerFactionTurnStart",
function(context)
return context:faction():treasury() < 4000;
end
);
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2185
-
intervention:set_must_trigger([booleanmust trigger], [booleanmust trigger immediately]) -
Set this intervention to trigger regardless of cost. This means that, assuming this intervention doesn't fail its precondition it is guaranteed to trigger when its trigger conditions are met. Interventions that must trigger will trigger ahead of other interventions, even if the former's assigned cost is more than the latter's. Its cost is still counted towards the maximum cost per-session, however, so if an intervention that must trigger and costs 80 points triggers, and another that costs 30 points and is not set to must trigger is queued up behind it, the second will not be able to fire as the maximum cost is exceeded.
If triggered at the same time as another intervention which is also set to disregard cost then they will trigger in order of cost priority. Both will always trigger, though, even if their combined cost is more than the maximum session allowance.
If the must trigger immediately flag is also set to true then this intervention will trigger the instant its trigger conditions pass, assuming that another intervention is not currently playing. This suppresses the grace period that normally happens when an intervention passes its trigger conditions to allow other interventions to be tested that are potentially more important. Only set this to true for interventions that convey essential narrative events.Parameters:
1
booleanoptional, default value=true
must trigger
2
booleanoptional, default value=false
must trigger immediately
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2249
-
intervention:set_should_lock_ui([booleandiregard cost]) -
Set this intervention to lock the ui whilst triggering, or not. Interventions set to not lock the ui will be sent to the back of the queue when they come to trigger. When the intervention triggers, it will not attempt to lock army movement, army attacking or the end turn button. Should the player move, attack or end the turn while an intervention is active, the queued of interventions queued up behind it will be cleared and any interventions it contained will be restarted. Interventions set to not lock the ui are therefore more liable to be cancelled and restarted than interventions that do lock the ui.
By default, interventions do not lock the ui whilst triggering. Use this function to change this behaviour.Parameters:
1
booleanoptional, default value=true
diregard cost
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2271
-
intervention:set_should_prevent_saving_game([booleandiregard cost]) -
Set this intervention to prevent the player saving the game while it's active.
By default, interventions do not lock the ui whilst triggering. Use this function to change this behaviour. Interventions set to lock the ui will also prevent the game from being saved.Parameters:
1
booleanoptional, default value=true
diregard cost
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2284
-
intervention:set_reduce_pause_before_triggering([booleansuppress pause]) -
By default, interventions wait for a short period before triggering. Use this function to suppress this wait behaviour.
Parameters:
1
booleanoptional, default value=true
suppress pause
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2297
-
intervention:set_allow_when_advice_disabled([booleanallow intervention]) -
If advice has been disabled with
campaign_manager:set_advice_enabledthen by default interventions won't attempt to play. Use this function to modify this behaviour for this intervention if required.Parameters:
1
booleanoptional, default value=true
allow intervention
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2309
-
intervention:set_min_advice_level(numbermin advice level) -
Sets the minimum player advice level setting at which this intervention will be allowed to trigger. By default this value is 0, so the intervention will trigger regardless of advice level. Valid minimum advice levels are:
0 Minimal advice - will trigger when advice level is set to minimal, low or high 1 Low advice - will trigger when advice level is set to low or high 2 High advice - will only trigger when the advice level is set to high Parameters:
1
numbermin advice level
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2321
-
intervention:set_player_turn_only([booleanplayer turn only]) -
Sets whether or not this intervention can only happen on the player's turn. By default, interventions can only trigger if it's the player's turn. Use this function to allow interventions to trigger in the end-turn sequence, which is useful for advice triggering over diplomacy or battles.
If an intervention is set to trigger on just the player's turn and it is trigger during the end-turn sequence, it will cancel itself and then trigger again when the player's turn starts.Parameters:
1
booleanoptional, default value=true
player turn only
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2334
-
intervention:set_min_turn(numberminimum turn) -
Sets the minimum number of turns since either the start of the campaign or when the advice history was last reset before this intervention is eligible to trigger. This is useful for ensuring non-essential advice is spaced out at the start of the campaign.
Parameters:
1
numberminimum turn
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2347
-
intervention:get_min_turn() -
Returns the set minimum turn value.
Returns:
numberminimum turn
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2360
-
intervention:set_wait_for_battle_complete([booleanwait for battle]) -
By default, interventions will wait for a battle sequence to complete before triggering. A battle sequence is from when the pre-battle panel opens, to when the camera returns to its gameplay position after any battle panels have closed. Use this function to allow interventions to trigger during battle sequences if required. This is useful for delivering pre-battle or post-battle advice.
Parameters:
1
booleanoptional, default value=true
wait for battle
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2369
-
intervention:set_wait_for_dilemma([booleanwait for dilemmas]) -
By default, interventions will wait for open dilemmas to be dismissed before triggering. Use this function to suppress this behaviour, if necessary. This should only be used in very specific circumstances.
Parameters:
1
booleanoptional, default value=true
wait for dilemmas
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2381
-
intervention:set_wait_for_fullscreen_panel_dismissed([booleanwait for panels]) -
By default, interventions will wait for any open blocking panels (technology, diplomacy, recruitment etc) to be dismissed before triggering. Use this function to suppress this behaviour, if necessary.
Parameters:
1
booleanoptional, default value=true
wait for panels
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2394
-
intervention:add_whitelist_event_type(stringevent type) -
Adds an event type to be whitelisted if
intervention:whitelist_eventsis called.Parameters:
1
stringevent type
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2406
-
intervention:set_completion_callback(functioncallback) -
Adds a callback to call when the intervention has completed.
Parameters:
1
functioncallback
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2419
-
intervention:add_cleanup_callback(functioncallback) -
Adds a function to be called when the intervention completes or is cancelled. If the context changes while this intervention is active it is not set to lock the ui then the intervention manager will complete the intervention while it's running. In this case, the intervention itself needs to know how to clean itself up - adding cleanup functions using this mechanism permits this.
Multiple cleanup callbacks may be added to any given intervention.Parameters:
1
functioncallback
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2427
-
intervention:get_turn_last_triggered() -
Returns the turn number of which this intervention last triggered in this campaign. If this intervention has never triggered then
-1is returned.Returns:
numberturn last triggered
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2441
-
intervention:has_ever_triggered() -
Returns whether this intervention has ever triggered in this campaign.
Returns:
booleanhas ever triggered
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2449
Restart events and checks are listened for if the intervention isn't running, assuming it has previously been started. If a restart callback event is received and the check returns true, then the intervention is restarted. Multiple restart callbacks may be added to one intervention.
-
intervention:add_restart_callback(stringevent name, functioncheck) -
Adds a restart event and conditional check. Should the event be received and the conditional check return true, then the intervention will restart. Transient interventions may not have restart callbacks added.
Parameters:
1
stringEvent name to listen for.
2
functionConditional check to test when event is received. This should be a function that returns a boolean value, and it will be passed the context of the event listened for as a single parameter. Alternatively,
truemay be specified in place of a function, in which case the intervention is restarted as soon as the event is received.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2471
-
intervention:set_turn_countdown_restart(numberturns) -
If a turn countdown restart number is set, the intervention will attempt to restart the given number of turns after stopping. This countdown also applies if the intervention fails to start. Transient interventions do not support turn countdown restarts.
Parameters:
1
numberturns
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2519
-
intervention:register_shared_turn_countdown_intervention(stringintervention name) -
Registers that this intervention shares a turn countdown with another. If this is set on an intervention then when it restarts its turn countdown it will instruct the other intervention to restart its turn countdown also. This can be useful for advice interventions that share a common purpose.
Note that interventions that take or cede priority to another (seeTaking and Ceding Priority) cannot share turn countdowns with other interventions.Parameters:
1
stringName of intervention that this intervention shares its turn countdown with. This only needs to be called on one of the two interventions.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2544
Interventions can set to explicitly take or cede priority to another. This allows client scripts to ensure that one intervention must stop or cannot run when another is started, and for the second to notify the first when it stops so that the first can eventually start.
-
intervention:take_priority_over_intervention(stringintervention name) -
Registers that this intervention takes priority over another intervention with the supplied name, so that they cannot run at the same time. If the supplied intervention attempts to start and this intervention is already started, the supplied intervention will fail to start. If this intervention starts and the supplied intervention has already started, the supplied intervention will be stopped.
Furthermore, when this intervention stops it will notify the supplied intervention, which will then start.
Only persistent interventions can take priority over another. Transient interventions do not support this mechanism.Parameters:
1
stringName of intervention to take priority over.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2582
-
intervention:give_priority_to_intervention(stringintervention name) -
Registers that this intervention cedes priority to another intervention with the supplied name, so that they cannot run at the same time. This is the reverse of
intervention:take_priority_over_intervention. If the supplied intervention starts and this intervention is already started, this intervention will be stopped. If this intervention starts and the supplied intervention has already started, this intervention will not start.
Furthermore, when the supplied intervention stops it will notify this intervention, which will then start.
Only persistent interventions can take priority over another. Transient interventions do not support this mechanism.Parameters:
1
stringName of intervention to give priority to.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2613
-
intervention:start() -
Starts the intervention. An intervention must be started in order to trigger. This only needs to be called once per-intervention through the lifetime of a campaign - if an intervention is started, and the campaign is saved and loaded, the intervention will automatically be restarted from the savegame, even if it's triggered and stopped.
Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2651
-
intervention:whitelist_events() -
Perform the whitelisting of event types that have been registered with
intervention:add_whitelist_event_type. This is intended to be called while the intervention is actually running to make pending events display suddenly.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 2870
-
intervention:complete() -
Completes the intervention when it's running. This function (or
intervention:cancel) must be called at some point after the intervention has been triggered, as they are the only way the intervention will end and relinquish control of the game. The wrapper functionsintervention:play_advice_for_intervention,intervention:scroll_camera_to_character_for_interventionandintervention:scroll_camera_to_settlement_for_interventionall call this function internally so if using one of those to control the behaviour of the intervention when triggered then this function does not need to be called.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 3100
-
intervention:cancel() -
Completes the intervention without stopping its listeners. This is useful if an intervention decides it doesn't want to trigger after all after
intervention:starthas been called.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 3130
Call one of the functions in this section when an intervention is triggered to have it behave in a standardised manner, showing advice, infotext, a mission, optionally scrolling to a target and completing where appropriate.
-
intervention:scroll_camera_to_character_for_intervention(cqi
number,advice key
string,infotext
[table],mission
[mission_manager],duration
[number],scroll callback
[function],continuation callback
[function]
) -
Scrolls the camera to a character during an intervention, showing advice and optionally showing infotext and a mission. This should only be called while this intervention is actually running after having been triggered.
Parameters:
1
numberCharacter cqi.
2
stringAdvice key.
3
tableoptional, default value=nil
Table of string infotext keys.
4
mission_manageroptional, default value=nil
Mission manager of mission to trigger, if any.
5
numberoptional, default value=nil
Duration of camera scroll in seconds. If no duration is specified then
CampaignUI.ZoomToSmoothis used for the camera movement, which produces a smoother movement thancampaign_manager:scroll_camera_with_direction.6
functionoptional, default value=nil
Callback to call when the camera movement is complete.
7
functionoptional, default value=nil
If supplied, this callback will be called when the intervention would usually complete. It will be passed this intervention object as a single argument, and takes on the responsibility for calling
intervention:completeto relinquish control.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 3305
-
intervention:scroll_camera_to_settlement_for_intervention(region key
string,advice key
string,infotext
[table],mission
[mission_manager],duration
[number],scroll callback
[function],continuation callback
[function]
) -
Scrolls the camera to a settlement during an intervention, showing advice and optionally showing infotext and a mission. This should only be called while this intervention is actually running after having been triggered.
Parameters:
1
stringRegion key.
2
stringAdvice key.
3
tableoptional, default value=nil
Table of string infotext keys.
4
mission_manageroptional, default value=nil
Mission manager of mission to trigger, if any.
5
numberoptional, default value=nil
Duration of camera scroll in seconds. If no duration is specified then
CampaignUI.ZoomToSmoothis used for the camera movement, which produces a smoother movement thancampaign_manager:scroll_camera_with_direction.6
functionoptional, default value=nil
Callback to call when the camera movement is complete.
7
functionoptional, default value=nil
If supplied, this callback will be called when the intervention would usually complete. It will be passed this intervention object as a single argument, and takes on the responsibility for calling
intervention:completeto relinquish control.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 3353
-
intervention:scroll_camera_for_intervention(region key
[string],x
number,y
number,advice key
string,infotext
[table],mission
[mission_manager],duration
[number],scroll callback
[function],continuation callback
[function]
) -
Scrolls the camera to a supplied position on the campaign map during an intervention, showing advice and optionally showing infotext and a mission. This should only be called while this intervention is actually running after having been triggered.
Parameters:
1
stringoptional, default value=nil
Target region key. If a region is supplied here the shroud over it will be lifted while the intervention is playing.
2
numberDisplay x co-ordinate of position to scroll to.
3
numberDisplay y co-ordinate of position to scroll to.
4
stringAdvice key.
5
tableoptional, default value=nil
Table of string infotext keys.
6
mission_manageroptional, default value=nil
Mission manager of mission to trigger, if any.
7
numberoptional, default value=nil
Duration of camera scroll in seconds. If no duration is specified then
CampaignUI.ZoomToSmoothis used for the camera movement, which produces a smoother movement thancampaign_manager:scroll_camera_with_direction.8
functionoptional, default value=nil
Callback to call when the camera movement is complete.
9
functionoptional, default value=nil
If supplied, this callback will be called when the intervention would usually complete. It will be passed this intervention object as a single argument, and takes on the responsibility for calling
intervention:completeto relinquish control.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 3391
-
intervention:play_advice_for_intervention(advice key
string,infotext
[table],mission
[mission_manager],mission delay
[number],continuation callback
[function]
) -
Shows advice and optionally some infotext and a mission. This should only be called while this intervention is actually running after having been triggered.
Parameters:
1
Advice key.
2
optional, default value=nil
Table of string infotext keys.
3
optional, default value=nil
Mission manager of mission to trigger, if any.
4
optional, default value=2
Delay in seconds after triggering intervention before triggering mission.
5
optional, default value=nil
If supplied, this callback will be called when the intervention would usually complete. It will be passed this intervention object as a single argument, and takes on the responsibility for calling
intervention:completeto relinquish control.Returns:
nil
defined in ../../warhammer/working_data/script/_lib/lib_campaign_intervention.lua, line 3737