99
edits
(Add note about namespaces) |
(Add most generic parts, more of these than I thought) |
||
Line 225: | Line 225: | ||
==Tables== | ==Tables== | ||
Below are non-exhaustive tables of existing parts, events and delegates. | Below are non-exhaustive tables of existing parts, events and delegates. | ||
===Parts=== | |||
Source notes the deepest element that you can expect the event to propagate from. In order, the values are Conversation -> Node -> Choice -> Text.<br/> | |||
Order notation is very approximate, as the same event will be fired multiple times on different elements during a navigation. | |||
{| class="wikitable" | |||
|- | |||
! Name | |||
! Description | |||
|- | |||
| AddSlynthCandidate | |||
| Adds the current location as a possible sanctuary for the slynth during the quest [[Landing Pads]]. | |||
---- | |||
'''Sanctuary''': Optional explicit sanctuary name to use instead of zone name.<br/> | |||
'''Plural''': Whether the explicit sanctuary name is plural. | |||
---- | |||
<code><nowiki><part Name="AddSlynthCandidate" Location="pariah caravans" Plural="true" /></nowiki></code> | |||
|- | |||
| ChangeTarget | |||
| Takes any number of predicates as parameters and changes the navigation target (GetTargetElementEvent) if all predicates match. | |||
---- | |||
'''Target''': The alternate navigation target if predicates match.<br/> | |||
'''Any''': Require one predicate to match rather than all. | |||
---- | |||
<code><nowiki><part Name="ChangeTarget" Target="ShowSonnet" IfHaveBlueprint="Sonnet" /></nowiki></code> | |||
|- | |||
| GiveArtifact | |||
| Make the player give an artifact from their inventory to continue navigation. | |||
|- | |||
| GiveReshephSecret | |||
| Share a secret from Resheph's life to gain some XP. | |||
|- | |||
| IPredicatePart | |||
| An extensible abstract part that takes predicates as parameters and can check all or any for a match. ChangeTarget derives from this, for example. | |||
|- | |||
| LibrarianGiveBook | |||
| Donate a book to the librarian to gain some XP. | |||
|- | |||
| PaxInfectLimb | |||
| Choose a limb to infect with Klanq. | |||
---- | |||
'''IfQuestActive''': Only display this element if the quest is active and the player has no infected limb. | |||
---- | |||
<code><nowiki><part Name="PaxInfectLimb" IfQuestActive="true" /></nowiki></code> | |||
|- | |||
| QuestHandler | |||
| Manipulates quest and step state. If a child text is provided it will replace the normal ending tag for that action, e.g. <code>[Accept Quest]</code>. | |||
---- | |||
'''QuestID''': The quest's ID, usually the same as its display name.<br/> | |||
'''StepID''': The ID of a step within the quest, if applicable.<br/> | |||
'''XP''': The XP awarded for completing the step, if applicable. This will override the value in Quests.xml if provided.<br/> | |||
'''Action''': Takes a string value of an action to perform on the quest and/or step; | |||
: '''Start''': Find an unstarted quest with QuestID and start it. | |||
: '''Step''': Complete a step within the quest, finishes the parent quest if all steps are completed. | |||
: '''Finish''': Finish a started quest, regardless of what steps are currently completed. | |||
: '''Complete''': Finish a started quest and mark all steps as complete if they weren't already. | |||
---- | |||
<code><nowiki><part Name="QuestHandler" Action="Step" QuestID="Fetch Argyve a Knickknack" StepID="Return to Argyve" XP="75" /></nowiki></code> | |||
|- | |||
| ReceiveItem | |||
| The player receives one or several potentially identified items. | |||
---- | |||
'''Blueprints''': A comma separated list of blueprints for the player to receive.<br/> | |||
'''Identify''': A comma separated list of blueprints to identify, of those given. "*" or "All" can be specified to identify all of them.<br/> | |||
'''Mods''': A dice roll of how many mods to apply to the received items.<br/> | |||
'''Pick''': Makes the player choose one item of those allotted, instead of receiving all of them.<br/> | |||
'''FromSpeaker''': Takes an existing item of the same blueprint from the speaker if available, instead of creating new ones. | |||
---- | |||
<code><nowiki><part Name="ReceiveItem" Pick="true" Mods="1" Blueprints="Long Sword4,Cudgel4,Dagger4,Battle Axe4" Identify="All" /></nowiki></code> | |||
|- | |||
| RequireReputation | |||
| Require the player's reputation with a specific faction to be at or above a certain level to continue. If the parent element is a choice, its text will be greyed out. | |||
---- | |||
'''Faction''': The ID of a faction within the current game.<br/> | |||
'''Level''': The name of a reputation level, valid values are: Loved, Liked, Indifferent, Disliked, and Hated. | |||
---- | |||
<code><nowiki><part Name="RequireReputation" Faction="Snapjaws" Level="Loved" /></nowiki></code> | |||
|- | |||
| SpiceContext | |||
| Replaces template variables in the spoken text with excerpts from history spice, e.g. replacing <code>=spice.commonPhrases.sacred.!random=</code> with <code>sanctified</code>. | |||
|- | |||
| Tag | |||
| Adds an ending tag to the parent element's text. Most parts with functionality will handle their own tags via <code>GetChoiceTagEvent</code>, this is mostly for informational purposes.<br/> | |||
The game makes a distinction between spoken and unspoken text for the purposes of filtering (e.g. the cawing of corvids), hence why unspoken tags should not be written together with the spoken text. | |||
---- | |||
<code><nowiki><part Name="Tag">{{g|[begin trade]}}</part></nowiki></code> | |||
|- | |||
| TakeItem | |||
| Items are taken from the player's inventory or body. | |||
---- | |||
'''Blueprints''': A comma separated list of blueprints to take.<br/> | |||
'''IDs''': A comma separated list of game object IDs to take.<br/> | |||
'''Amount''': A dice roll of how many items to take. "*" or "All" can be specified to take all of them.<br/> | |||
'''Unsellable''': Mark the taken items as unsellable.<br/> | |||
'''ClearQuest''': Clear quest properties from the taken items.<br/> | |||
'''Destroy''': Destroy the items instead of placing them inside the speakers inventory. | |||
---- | |||
<code><nowiki><part Name="TakeItem" Blueprints="Wire Strand" Amount="200" Destroy="true" /></nowiki></code> | |||
|- | |||
| TextFilter | |||
| Mutates the spoken text with a filter, e.g. the cawing of corvids or croaking of frogs. | |||
---- | |||
'''FilterID''': The ID of a filter, valid values are: Angry, Corvid, WaterBird, Fish, Frog, Leet, Lallated, Weird, and Cryptic Machine.<br/> | |||
'''Extras''': A comma separated list of additional noises to include in the filter, used in the Lallated and Weird filters currently.<br/> | |||
'''ProtectFormatting''': Outputs color protected text, currently used for Leet ampersands which are doubled to preserve them. | |||
---- | |||
<code><nowiki><part Name="TextFilter" FilterID="Lallated" Extras="*growl*,*whine*" /></nowiki></code> | |||
|- | |||
| TextInsert | |||
| Appends or prepends a text that can be either spoken or unspoken to the element. | |||
---- | |||
'''Prepend''': Add the text to the beginning instead of the end.<br/> | |||
'''Spoken''': Whether the inserted text is treated as spoken or unspoken for the purposes of filtering.<br/> | |||
'''NewLines''': A number of new lines to add as padding between the inserted text and the existing text. | |||
---- | |||
<code><nowiki><part Name="TextInsert" Spoken="false" NewLines="2">[Press Tab or T to open trade]</part></nowiki></code> | |||
|- | |||
| Trade | |||
| Opens the trade screen when navigating to the parent element. | |||
|- | |||
| VillageContext | |||
| Replaces template variables in the spoken text with excerpts from the village's history, e.g. replacing <code>=village.sacred=</code> with <code>the act of procreation</code>.<br/> | |||
Uses the faction of the speaker to find the village's historical context. | |||
---- | |||
'''GameState''': Try to get the village's historical context from the faction provided in specified game state. | |||
---- | |||
<code><nowiki><part Name="VillageContext" GameState="SlynthSettlementFaction" /></nowiki></code> | |||
|- | |||
| WaterRitualRandomMutation | |||
| Purchase a random mutation of specified category for reputation in the water ritual. | |||
---- | |||
'''Category''': A mutation category, valid values for the base game are: Physical, Mental. | |||
---- | |||
<code><nowiki><part Name="WaterRitualRandomMutation" Category="Physical">You gain =mutation.name=.</part></nowiki></code> | |||
|} | |||
===Events=== | ===Events=== | ||
Source notes the deepest element that you can expect the event to propagate from. In order, the values are Conversation -> Node -> Choice -> Text.<br/> | Source notes the deepest element that you can expect the event to propagate from. In order, the values are Conversation -> Node -> Choice -> Text.<br/> |