99
edits
m (not quite time yet) |
(Add delegate table) |
||
Line 128: | Line 128: | ||
== Delegates == | == Delegates == | ||
Unique to conversations are their delegate attributes such as <code>IfHaveQuest="What's Eating the Watervine?"</code> or <code>GiveItem="Joppa Recoiler"</code>.<br/> | Unique to conversations are their delegate attributes such as <code>IfHaveQuest="What's Eating the Watervine?"</code> or <code>GiveItem="Joppa Recoiler"</code>.<br/> | ||
These are distinguished between two types: Predicates which control whether an element is accessible, and Actions which perform some task when the element is selected.<br/> | These are distinguished between two types (there's a secret third option explained later): Predicates which control whether an element is accessible, and Actions which perform some task when the element is selected.<br/> | ||
After the Deep Jungle update these are now for the most part agnostic as to what their parent element is. | After the Deep Jungle update these are now for the most part agnostic as to what their parent element is. | ||
Line 228: | Line 228: | ||
==Tables== | ==Tables== | ||
Below | Below are non-exhaustive tables of existing parts, events and delegates. | ||
===Delegates=== | |||
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 /> | |||
If both are applicable then it can also be invoked with <code>IfNotSpeaker</code>.<br /> | |||
{| class="wikitable" | |||
|- | |||
! Name | |||
! Type | |||
! Description | |||
! Inverse | |||
! Speaker | |||
|- | |||
| IfHaveQuest | |||
| Predicate | |||
| Continue if the player has an active or finished quest by specified ID. | |||
| Yes | |||
| No | |||
|- | |||
| IfHaveActiveQuest | |||
| Predicate | |||
| Continue if the player has an active quest by specified ID. | |||
| Yes | |||
| No | |||
|- | |||
| IfFinishedQuest | |||
| Predicate | |||
| Continue if the player has a finished quest by specified ID. | |||
| Yes | |||
| No | |||
|- | |||
| IfFinishedQuestStep | |||
| Predicate | |||
| Takes a '~' separated value of "Quest ID~Step ID" and checks if the step is completed. | |||
| Yes | |||
| No | |||
|- | |||
| IfHaveObservation | |||
| Predicate | |||
| Continue if the player knows of any gossip or lore with the specified ID. | |||
| Yes | |||
| No | |||
|- | |||
| IfHaveObservationWithTag | |||
| Predicate | |||
| Continue if the player knows of any gossip or lore with the specified tag. | |||
| Yes | |||
| No | |||
|- | |||
| IfHaveSultanNoteWithTag | |||
| Predicate | |||
| Continue if the player knows any history of a sultan with the specified tag. | |||
| Yes | |||
| No | |||
|- | |||
| IfHaveVillageNote | |||
| Predicate | |||
| Continue if the player knows any history of a village with the specified ID. | |||
| Yes | |||
| No | |||
|- | |||
| IfHaveState | |||
| Predicate | |||
| Continue if any global game state has been set by specified ID. | |||
| Yes | |||
| No | |||
|- | |||
| IfTestState | |||
| Predicate | |||
| Evaluates an expression of format "ID Operator Value", for example "SlynthSettlementFaction = Joppa", comparing the global game state to the specified value. | |||
| Yes | |||
| No | |||
|- | |||
| IfLastChoice | |||
| Predicate | |||
| Continue if the last selected choice in this conversation has the specified ID. | |||
| Yes | |||
| No | |||
|- | |||
| IfCommand | |||
| Predicate | |||
| Fires an event on the element with the specified value as its command, continue if the result is set true by a consuming part. | |||
| Yes | |||
| No | |||
|- | |||
| IfReputationAtLeast | |||
| Predicate | |||
| Continue if the player has the specified reputation level or higher, valid entries are "Loved", "Liked", "Indifferent", "Disliked", and "Hated". | |||
| Yes | |||
| No | |||
|- | |||
| IfIn100 | |||
| Predicate | |||
| Continues if the randomly rolled value is below or equal to the specified value. | |||
| No | |||
| No | |||
|- | |||
| IfGenotype | |||
| Predicate | |||
| Continues if the target is of the specified genotype. | |||
| Yes | |||
| Yes | |||
|- | |||
| IfSubtype | |||
| Predicate | |||
| Continues if the target is of the specified genotype. | |||
| Yes | |||
| Yes | |||
|- | |||
| IfTrueKin | |||
| Predicate | |||
| Continues if the target counts as a true kin and can implant cybernetics. | |||
| Yes | |||
| Yes | |||
|- | |||
| IfMutant | |||
| Predicate | |||
| Continues if the target counts as a mutant and can gain mutations. | |||
| Yes | |||
| Yes | |||
|- | |||
| IfHaveItem | |||
| Predicate | |||
| Continues if the target has an item of the specified blueprint in their inventory or equipped on their body. | |||
| Yes | |||
| Yes | |||
|- | |||
| IfWearingBlueprint | |||
| Predicate | |||
| Continues if the target has an item of the specified blueprint equipped on their body. | |||
| Yes | |||
| Yes | |||
|- | |||
| IfHaveBlueprint | |||
| Predicate | |||
| Continues if the target has an item of the specified blueprint in their inventory. | |||
| Yes | |||
| Yes | |||
|- | |||
| IfHavePart | |||
| Predicate | |||
| Continues if the target has a part by the specified class name. Mutations are a variant of a part that this is applicable to. | |||
| Yes | |||
| Yes | |||
|- | |||
| IfHaveTag | |||
| Predicate | |||
| Continues if the target's blueprint has the specified tag. | |||
| Yes | |||
| Yes | |||
|- | |||
| IfHaveProperty | |||
| Predicate | |||
| Continues if the target game object has the specified property. | |||
| Yes | |||
| Yes | |||
|- | |||
| IfHaveTagOrProperty | |||
| Predicate | |||
| Continues if the target has the specified tag or property. | |||
| Yes | |||
| Yes | |||
|- | |||
| IfLevelLessOrEqual | |||
| Predicate | |||
| Continues if the target is at or below the specified value. | |||
| Yes | |||
| Yes | |||
|- | |||
| FinishQuest | |||
| Action | |||
| Marks a quest by the specified ID as finished. This will not complete all the quest's steps. | |||
| No | |||
| No | |||
|- | |||
| FireEvent | |||
| Action | |||
| Takes a comma separated list of "EventID,Parameter1,Parameter2,Para..." and fires a constructed event on the target game object. | |||
| No | |||
| Yes | |||
|- | |||
| FireSystemsEvent | |||
| Action | |||
| Takes a comma separated list of "EventID,Parameter1,Parameter2,Para..." and fires a constructed event to all game systems. | |||
| No | |||
| No | |||
|- | |||
| SetStringState | |||
| 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. | |||
| No | |||
| No | |||
|- | |||
| SetIntState | |||
| 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. | |||
| No | |||
| No | |||
|- | |||
| AddIntState | |||
| Action | |||
| Takes a comma separated list of "GameStateID,Value" and adds the specified value to the global game state's value. | |||
| No | |||
| No | |||
|- | |||
| SetBooleanState | |||
| 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. | |||
| No | |||
| No | |||
|- | |||
| ToggleBooleanState | |||
| Action | |||
| Toggles the boolean value of the global game state by specified ID. | |||
| No | |||
| No | |||
|- | |||
| SetStringProperty | |||
| Action | |||
| Sets a string property on the target game object. | |||
| No | |||
| Yes | |||
|- | |||
| SetIntProperty | |||
| Action | |||
| Sets an int property on the target game object. | |||
| No | |||
| Yes | |||
|- | |||
| RevealObservation | |||
| Action | |||
| Reveals a piece of gossip or lore by the specified ID. | |||
| No | |||
| No | |||
|- | |||
| StartQuest | |||
| Part Generator | |||
| Adds a QuestHandler part to the parent element with the Start action and specified QuestID. | |||
| No | |||
| No | |||
|- | |||
| CompleteQuestStep | |||
| Part Generator | |||
| Adds a QuestHandler part to the parent element with the Step action and specified "QuestID~StepID". | |||
| No | |||
| No | |||
|- | |||
| GiveItem | |||
| Part Generator | |||
| Adds a ReceiveItem part to the parent element with the specified comma separated blueprints. | |||
| No | |||
| No | |||
|- | |||
| TakeItem | |||
| Part Generator | |||
| Adds a TakeItem part to the parent element with the specified comma separated blueprints. | |||
| No | |||
| No | |||
|} | |||
{{Modding Navbox}} |