Modding:Conversations: Difference between revisions

→‎XRL.World.ConversationChoice - XML Node: <choice>: changing some node -> choice references in the choice documentation
(→‎XRL.UI.ConversationUI.HaveConversation(): add some extra headings to the beginning)
(→‎XRL.World.ConversationChoice - XML Node: <choice>: changing some node -> choice references in the choice documentation)
Line 361: Line 361:
| colspan="1" class="confluenceTd"|Called when a choice is selected, if false is returned the GotoID won't be followed and the current node will be re-rendered.
| colspan="1" class="confluenceTd"|Called when a choice is selected, if false is returned the GotoID won't be followed and the current node will be re-rendered.
|- role="header"
|- role="header"
! colspan="3" class="confluenceTd"|Filter / Test properties for Start nodes
! colspan="3" class="confluenceTd"|Filter / Test properties for Conversation Choices
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|IfWearingBlueprint
| colspan="1" class="confluenceTd"|IfWearingBlueprint
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|A single <code>BlueprintID</code> that the player must have equipped to see this start node.
| colspan="1" class="confluenceTd"|A single <code>BlueprintID</code> that the player must have equipped to see this choice.
<code>XRLCore.Core.Game.Player.Body.HasObjectEquipped(IfWearingBlueprint)</code>
<code>XRLCore.Core.Game.Player.Body.HasObjectEquipped(IfWearingBlueprint)</code>
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|IfHasBlueprint
| colspan="1" class="confluenceTd"|IfHasBlueprint
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|A single <code>BlueprintID</code> that the player must in their Inventory to see this start node.
| colspan="1" class="confluenceTd"|A single <code>BlueprintID</code> that the player must in their Inventory to see this choice.
<code>XRL.Core.XRLCore.Core.Game.Player.Body.GetPart<Parts.Inventory>().FireEvent(Event.New("HasBlueprint", "Blueprint", IfHasBlueprint))</code>
<code>XRL.Core.XRLCore.Core.Game.Player.Body.GetPart<Parts.Inventory>().FireEvent(Event.New("HasBlueprint", "Blueprint", IfHasBlueprint))</code>
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|IfHaveQuest
| colspan="1" class="confluenceTd"|IfHaveQuest
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|A string Quest ID the player must have to get this start node.
| colspan="1" class="confluenceTd"|A string Quest ID the player must have to get this choice.
<code>XRL.Core.XRLCore.Core.Game.HasQuest(IfHaveQuest)</code>
<code>XRL.Core.XRLCore.Core.Game.HasQuest(IfHaveQuest)</code>
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|IfNotHaveQuest
| colspan="1" class="confluenceTd"|IfNotHaveQuest
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|A string Quest ID the player must *NOT* have to get this start node.
| colspan="1" class="confluenceTd"|A string Quest ID the player must *NOT* have to get this choice.
<code>!XRL.Core.XRLCore.Core.Game.HasQuest(IfNotHaveQuest)</code>
<code>!XRL.Core.XRLCore.Core.Game.HasQuest(IfNotHaveQuest)</code>
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|IfFinishedQuest
| colspan="1" class="confluenceTd"|IfFinishedQuest
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|A string Quest ID the player must have completed get this start node.
| colspan="1" class="confluenceTd"|A string Quest ID the player must have completed get this choice.
<code>XRL.Core.XRLCore.Core.Game.FinishedQuest(IfFinishedQuest)</code>
<code>XRL.Core.XRLCore.Core.Game.FinishedQuest(IfFinishedQuest)</code>
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|IfNotFinishedQuest
| colspan="1" class="confluenceTd"|IfNotFinishedQuest
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|A string Quest ID the player must *NOT* have completed get this start node.
| colspan="1" class="confluenceTd"|A string Quest ID the player must *NOT* have completed get this choice.
<code>!XRL.Core.XRLCore.Core.Game.FinishedQuest(IfNotFinishedQuest)</code>
<code>!XRL.Core.XRLCore.Core.Game.FinishedQuest(IfNotFinishedQuest)</code>
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|IfFinishedQuestStep
| colspan="1" class="confluenceTd"|IfFinishedQuestStep
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|A string Quest Step ID the player must have completed get this start node.
| colspan="1" class="confluenceTd"|A string Quest Step ID the player must have completed get this choice.
<code>XRL.Core.XRLCore.Core.Game.FinishedQuestStep(IfFinishedQuestStep)</code>
<code>XRL.Core.XRLCore.Core.Game.FinishedQuestStep(IfFinishedQuestStep)</code>
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|IfNotFinishedQuestStep
| colspan="1" class="confluenceTd"|IfNotFinishedQuestStep
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|A string Quest Step ID the player must *NOT* have completed get this start node.
| colspan="1" class="confluenceTd"|A string Quest Step ID the player must *NOT* have completed get this choice.
<code>!XRL.Core.XRLCore.Core.Game.FinishedQuestStep(IfNotFinishedQuestStep)</code>
<code>!XRL.Core.XRLCore.Core.Game.FinishedQuestStep(IfNotFinishedQuestStep)</code>
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|IfHaveObservation
| colspan="1" class="confluenceTd"|IfHaveObservation
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|A string Observation ID the player must have to get this start node.
| colspan="1" class="confluenceTd"|A string Observation ID the player must have to get this choice.
<code>Qud.API.JournalAPI.HasObservation(IfHaveObservation)</code>
<code>Qud.API.JournalAPI.HasObservation(IfHaveObservation)</code>
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|IfHaveState
| colspan="1" class="confluenceTd"|IfHaveState
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|A string state flag the game must have to get this start node.
| colspan="1" class="confluenceTd"|A string state flag the game must have to get this choice.
<code>XRL.Core.XRLCore.Core.Game.HasGameState(IfHaveState)</code>
<code>XRL.Core.XRLCore.Core.Game.HasGameState(IfHaveState)</code>
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|IfNotHaveState
| colspan="1" class="confluenceTd"|IfNotHaveState
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|string
| colspan="1" class="confluenceTd"|A string state flag the game must *NOT* have to get this start node.
| colspan="1" class="confluenceTd"|A string state flag the game must *NOT* have to get this choice.
<code>!XRL.Core.XRLCore.Core.Game.HasGameState(IfNotHaveState)</code>
<code>!XRL.Core.XRLCore.Core.Game.HasGameState(IfNotHaveState)</code>
|- role="row"
|- role="row"
Line 449: Line 449:
| colspan="1" class="confluenceTd"|Test()
| colspan="1" class="confluenceTd"|Test()
| colspan="1" class="confluenceTd"|virtual bool
| colspan="1" class="confluenceTd"|virtual bool
| colspan="1" class="confluenceTd"|Tests the various If* and other requirements properties to see if the node should be chosen for a start node.
| colspan="1" class="confluenceTd"|Tests the various If* and other requirements properties to see if the choice should be accepted or the current node should re-render. Called during Visit()
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|Goto(GameObject speaker, bool peekOnly=false)
| colspan="1" class="confluenceTd"|Goto(GameObject speaker, bool peekOnly=false)
Line 461: Line 461:
| colspan="1" class="confluenceTd"|CheckSpecialRequirements(GameObject Speaker, GameObject Player)
| colspan="1" class="confluenceTd"|CheckSpecialRequirements(GameObject Speaker, GameObject Player)
| colspan="1" class="confluenceTd"|virtual bool
| colspan="1" class="confluenceTd"|virtual bool
| colspan="1" class="confluenceTd"|Called when the node is visited. Perfoms a variety of hard-coded interactions.
| colspan="1" class="confluenceTd"|Called when the choice is selected. Perfoms a variety of hard-coded interactions.
|- role="row"
|- role="row"
| colspan="1" class="confluenceTd"|Visit(GameObject Speaker, GameObject Player)
| colspan="1" class="confluenceTd"|Visit(GameObject Speaker, GameObject Player)
| colspan="1" class="confluenceTd"|virtual bool
| colspan="1" class="confluenceTd"|virtual bool
| colspan="1" class="confluenceTd"|Called when the node is visited. If false is returned, the GotoID will not be respected and the currently selected choice will re-render.
| colspan="1" class="confluenceTd"|Called when the choice is selected. If false is returned, the GotoID will not be respected and the currently selected choice will re-render.