Modding:Conversations: Difference between revisions

1,288 bytes added ,  23:20, 18 February 2022
Add IfUnderstood and ConversationState delegates
(Add note about base conversation)
(Add IfUnderstood and ConversationState delegates)
Line 305: Line 305:
===Delegates===
===Delegates===
An Inverse predicate can be invoked with <code>IfNot</code> to negate its value.<br />
An Inverse predicate can be invoked with <code>IfNot</code> to negate its value.<br />
A Speaker delegate can be invoked with <code>IfSpeaker</code> to target the speaker game object.<br />
A Speaker delegate can be invoked with <code>IfSpeaker</code>/<code>SetSpeaker</code> to target the speaker game object.<br />
If both are applicable then it can also be invoked with <code>IfNotSpeaker</code>.<br />
If both are applicable then it can also be invoked with <code>IfNotSpeaker</code>.<br />
{| class="wikitable"
{| class="wikitable"
Line 372: Line 372:
| Predicate
| Predicate
| Evaluates an expression of format "ID Operator Value", for example "SlynthSettlementFaction = Joppa", comparing the global game state to the specified value.
| Evaluates an expression of format "ID Operator Value", for example "SlynthSettlementFaction = Joppa", comparing the global game state to the specified value.
| Yes
| No
|-
| IfHaveConversationState
| Predicate
| Continue if any local conversation state has been set by specified ID.
| Yes
| Yes
| No
| No
Line 408: Line 414:
| Predicate
| Predicate
| Continue if the current zone's name contains the specified value, e.g. "Grit Gate".
| Continue if the current zone's name contains the specified value, e.g. "Grit Gate".
| Yes
| No
|-
| IfUnderstood
| Predicate
| Continue if the player has seen and understands the specified blueprint.
| Yes
| Yes
| No
| No
Line 497: Line 509:
| FireEvent
| FireEvent
| Action
| Action
| Takes a comma separated list of "EventID,Parameter1,Parameter2,Para..." and fires a constructed event on the target game object.
| Constructs an event from a comma and colon separated list of "EventID,Parameter1:Value1,Parameter2:Value2,Para..." then fires it on the target game object.
| No
| No
| Yes
| Yes
Line 503: Line 515:
| FireSystemsEvent
| FireSystemsEvent
| Action
| Action
| Takes a comma separated list of "EventID,Parameter1,Parameter2,Para..." and fires a constructed event to all game systems.
| Constructs an event from a comma and colon separated list of "EventID,Parameter1:Value1,Parameter2:Value2,Para..." then fires it on all game systems.
| No
| No
| No
| No
Line 509: Line 521:
| SetStringState
| SetStringState
| Action
| Action
| Takes a comma separated list of "GameStateID,Value" and sets the global game state to the specified value. If no value is specified the state is removed.
| Takes a comma separated list of "StateID,Value" and sets the global game state to the specified string value. If no value is specified the state is removed.
| No
| No
| No
| No
Line 515: Line 527:
| SetIntState
| SetIntState
| Action
| Action
| Takes a comma separated list of "GameStateID,Value" and sets the global game state to the specified value. If no value is specified the state is removed.
| Takes a comma separated list of "StateID,Value" and sets the global game state to the specified int value. If no value is specified the state is removed.
| No
| No
| No
| No
Line 521: Line 533:
| AddIntState
| AddIntState
| Action
| Action
| Takes a comma separated list of "GameStateID,Value" and adds the specified value to the global game state's value.
| Takes a comma separated list of "StateID,Value" and adds the specified value to the global game state's value.
| No
| No
| No
| No
Line 527: Line 539:
| SetBooleanState
| SetBooleanState
| Action
| Action
| Takes a comma separated list of "GameStateID,Value" and sets the global game state to the specified value. If no value is specified the state is removed.
| Takes a comma separated list of "StateID,Value" and sets the global game state to the specified boolean value. If no value is specified the state is removed.
| No
| No
| No
| No
Line 533: Line 545:
| ToggleBooleanState
| ToggleBooleanState
| Action
| Action
| Toggles the boolean value of the global game state by specified ID.
| Toggles the boolean value of the global game state by specified ID. If no value existed prior, it will be set to true.
| No
| No
| No
| No
Line 539: Line 551:
| SetStringProperty
| SetStringProperty
| Action
| Action
| Sets a string property on the target game object.
| Takes a comma separated list of "PropertyID,Value" and sets a string property on the target game object to the specified value. If no value is specified the property is removed.
| No
| No
| Yes
| Yes
Line 545: Line 557:
| SetIntProperty
| SetIntProperty
| Action
| Action
| Sets an int property on the target game object.
| Takes a comma separated list of "PropertyID,Value" and sets an int property on the target game object to the specified value. If no value is specified the property is removed.
| No
| No
| Yes
| Yes
|-
| SetStringConversationState
| Action
| Takes a comma separated list of "StateID,Value" and sets the temporary conversation state to the specified string value. If no value is specified the state is removed.
| No
| No
|-
| SetIntConversationState
| Action
| Takes a comma separated list of "StateID,Value" and sets the temporary conversation state to the specified int value. If no value is specified the state is removed.
| No
| No
|-
| SetBooleanConversationState
| Action
| Takes a comma separated list of "StateID,Value" and sets the temporary conversation state to the specified boolean value. If no value is specified the state is removed.
| No
| No
|-
|-
| RevealObservation
| RevealObservation