Loading...
Searching...
No Matches
PixelCrushers.QuestMachine.PlanToQuestBuilder Class Reference

Class to build a quest from a plan created by a QuestGenerator. More...

Inheritance diagram for PixelCrushers.QuestMachine.PlanToQuestBuilder:

Public Member Functions

virtual Quest ConvertPlanToQuest (QuestEntity entity, StringField group, PlanStep goal, Motive motive, Plan plan, bool requireReturnToComplete, List< QuestContent > rewardsUIContents, List< RewardSystem > rewardSystems)
 Converts a plan generated by QuestGenerator into a quest.
 

Protected Member Functions

virtual void BuildTitle (PlanStep goal, string mainTargetDescriptor, out string title, out string questID)
 Determine the quest's title and quest ID.
 
virtual void SetMainInfo (QuestBuilder questBuilder, string questID, string title, StringField group, PlanStep goal)
 Sets the quest's main info.
 
virtual void AddOfferText (QuestBuilder questBuilder, string mainTargetEntity, string mainTargetDescriptor, string domainName, PlanStep goal, Motive motive)
 Adds the quest's offer text .
 
virtual void AddRewards (QuestBuilder questBuilder, QuestEntity entity, PlanStep goal, List< QuestContent > rewardsUIContents, List< RewardSystem > rewardSystems)
 Uses a list of reward systems to add rewards to the quest builder that are commensurate with the difficulty of the quest.
 
virtual void AddQuestHeadings (QuestBuilder questBuilder, PlanStep goal)
 Adds quest heading text to the main quest's Dialogue, Journal, and HUD categories.
 
virtual void AddQuestHeading (QuestBuilder questBuilder, QuestContentCategory category, bool addToSuccessfulList)
 Adds quest heading text to a specific UI category's active state (and possibly also its successful state).
 
virtual void AddSuccessfulText (QuestBuilder questBuilder, string mainTargetEntity, string mainTargetDescriptor, string domainName, PlanStep goal)
 Adds text to show in UIs after a quest has been successfully completed.
 
virtual QuestNode AddSteps (QuestBuilder questBuilder, string domainName, PlanStep goal, Plan plan)
 Adds the plan's steps.
 
virtual void AddStepCondition (QuestBuilder questBuilder, QuestNode conditionNode, string targetEntity, string targetDescriptor, string domainName, HashSet< string > counterNames, out string counterName, out int requiredCounterValue, PlanStep goal, PlanStep step)
 
virtual QuestMessageParticipant GetSpecifier (StringField specifierID)
 
virtual QuestMessageParticipant GetSpecifier (QuestMessageParticipant specifier, StringField specifierID)
 
virtual void AddStepNodeText (QuestBuilder questBuilder, QuestNode conditionNode, QuestStateInfo state, string targetEntity, string targetDescriptor, string domainName, string counterName, int requiredCounterValue, PlanStep step, ActionStateText actionStateText)
 Adds the text for a step.
 
virtual void AddStepNodeText (QuestBuilder questBuilder, QuestNode conditionNode, QuestStateInfo state, string targetEntity, string targetDescriptor, string domainName, string counterName, int requiredCounterValue, PlanStep step, ActionStateText actionStateText, bool isLastStepCompletion)
 Adds the text for a step.
 
virtual QuestNode AddReturnNode (QuestBuilder questBuilder, QuestNode previousNode, QuestEntity entity, string mainTargetEntity, string mainTargetDescriptor, string domainName, PlanStep goal, int rewardsContentIndex=9999)
 Adds a final "return to quest giver" step.
 
virtual void AddReturnNodeText (QuestBuilder questBuilder, QuestNode returnNode, QuestGiver questGiver, string mainTargetEntity, string mainTargetDescriptor, string domainName, PlanStep goal, string hudText)
 Adds UI content to the return node.
 
virtual void AddReturnNodeAlert (QuestBuilder questBuilder, QuestNode returnNode, List< QuestAction > actionList, string hudText)
 Adds an alert action to the return node.
 
virtual void AddReturnNodeIndicators (QuestBuilder questBuilder, QuestNode returnNode, List< QuestAction > actionList, QuestEntity entity)
 Adds actions to set up the quest giver's quest indicators to the return node.
 
virtual void AddRewardsNode (QuestBuilder questBuilder, int rewardsContentIndex=9999)
 Adds rewards text content to unconnected node at end so it appears in journal.
 
virtual string ReplaceStepTags (string s, string targetEntity, string targetDescriptor, string domainName, string counterName, int counterValue)
 Replaces special tags that are specific to generated quests.
 
virtual void AddTagsToDictionary (TagDictionary tagDictionary, PlanStep goal)
 

Detailed Description

Class to build a quest from a plan created by a QuestGenerator.

If you want your generators to build quests differently, define a subclass. Then create an instance of the subclass and assign it to the QuestGeneratorEntity's questGenerator.planToQuestBuilder property.

Member Function Documentation

◆ AddOfferText()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddOfferText ( QuestBuilder  questBuilder,
string  mainTargetEntity,
string  mainTargetDescriptor,
string  domainName,
PlanStep  goal,
Motive  motive 
)
inlineprotectedvirtual

Adds the quest's offer text .

Parameters
questBuilderQuestBuilder.
mainTargetEntityTarget of the quest.
mainTargetDescriptorDescriptor of the target (with count).
domainNameDomain where the target is located.
goalFinal step to complete quest.
motiveMotive for goal.

◆ AddQuestHeading()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddQuestHeading ( QuestBuilder  questBuilder,
QuestContentCategory  category,
bool  addToSuccessfulList 
)
inlineprotectedvirtual

Adds quest heading text to a specific UI category's active state (and possibly also its successful state).

Parameters
questBuilderQuestBuilder.
categoryCategory for which to add text.
addToSuccessfulListIf true, add content to the successful state.

◆ AddQuestHeadings()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddQuestHeadings ( QuestBuilder  questBuilder,
PlanStep  goal 
)
inlineprotectedvirtual

Adds quest heading text to the main quest's Dialogue, Journal, and HUD categories.

Parameters
questBuilderQuestBuilder.
goalGoal step, which may contain completion text.

◆ AddReturnNode()

virtual QuestNode PixelCrushers.QuestMachine.PlanToQuestBuilder.AddReturnNode ( QuestBuilder  questBuilder,
QuestNode  previousNode,
QuestEntity  entity,
string  mainTargetEntity,
string  mainTargetDescriptor,
string  domainName,
PlanStep  goal,
int  rewardsContentIndex = 9999 
)
inlineprotectedvirtual

Adds a final "return to quest giver" step.

Returns
The return node.

Reimplemented in PixelCrushers.QuestMachine.InventoryProPlanToQuestBuilder, and PixelCrushers.QuestMachine.uSurvivalPlanToQuestBuilder.

◆ AddReturnNodeAlert()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddReturnNodeAlert ( QuestBuilder  questBuilder,
QuestNode  returnNode,
List< QuestAction actionList,
string  hudText 
)
inlineprotectedvirtual

Adds an alert action to the return node.

◆ AddReturnNodeIndicators()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddReturnNodeIndicators ( QuestBuilder  questBuilder,
QuestNode  returnNode,
List< QuestAction actionList,
QuestEntity  entity 
)
inlineprotectedvirtual

Adds actions to set up the quest giver's quest indicators to the return node.

◆ AddReturnNodeText()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddReturnNodeText ( QuestBuilder  questBuilder,
QuestNode  returnNode,
QuestGiver  questGiver,
string  mainTargetEntity,
string  mainTargetDescriptor,
string  domainName,
PlanStep  goal,
string  hudText 
)
inlineprotectedvirtual

Adds UI content to the return node.

◆ AddRewards()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddRewards ( QuestBuilder  questBuilder,
QuestEntity  entity,
PlanStep  goal,
List< QuestContent rewardsUIContents,
List< RewardSystem rewardSystems 
)
inlineprotectedvirtual

Uses a list of reward systems to add rewards to the quest builder that are commensurate with the difficulty of the quest.

Parameters
questBuilderQuestBuilder to receive reward offers.
entityQuest giver entity.
goalGoal step (determines quest difficulty).
rewardsUIContentsText to introduce rewards.
rewardSystemsReward systems from which to get rewards.

◆ AddRewardsNode()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddRewardsNode ( QuestBuilder  questBuilder,
int  rewardsContentIndex = 9999 
)
inlineprotectedvirtual

Adds rewards text content to unconnected node at end so it appears in journal.

◆ AddStepCondition()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddStepCondition ( QuestBuilder  questBuilder,
QuestNode  conditionNode,
string  targetEntity,
string  targetDescriptor,
string  domainName,
HashSet< string >  counterNames,
out string  counterName,
out int  requiredCounterValue,
PlanStep  goal,
PlanStep  step 
)
inlineprotectedvirtual

◆ AddStepNodeText() [1/2]

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddStepNodeText ( QuestBuilder  questBuilder,
QuestNode  conditionNode,
QuestStateInfo  state,
string  targetEntity,
string  targetDescriptor,
string  domainName,
string  counterName,
int  requiredCounterValue,
PlanStep  step,
ActionStateText  actionStateText 
)
inlineprotectedvirtual

Adds the text for a step.

Now calls variant that has isLastStepCompletion parameter, passing false.

◆ AddStepNodeText() [2/2]

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddStepNodeText ( QuestBuilder  questBuilder,
QuestNode  conditionNode,
QuestStateInfo  state,
string  targetEntity,
string  targetDescriptor,
string  domainName,
string  counterName,
int  requiredCounterValue,
PlanStep  step,
ActionStateText  actionStateText,
bool  isLastStepCompletion 
)
inlineprotectedvirtual

Adds the text for a step.

API change: Added isLastStep.

◆ AddSteps()

virtual QuestNode PixelCrushers.QuestMachine.PlanToQuestBuilder.AddSteps ( QuestBuilder  questBuilder,
string  domainName,
PlanStep  goal,
Plan  plan 
)
inlineprotectedvirtual

Adds the plan's steps.

Parameters
questBuilderQuestBuilder.
domainNameMain target's domain.
goalGoal step.
planList of steps that end with goal step.
Returns
The last node added.

◆ AddSuccessfulText()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddSuccessfulText ( QuestBuilder  questBuilder,
string  mainTargetEntity,
string  mainTargetDescriptor,
string  domainName,
PlanStep  goal 
)
inlineprotectedvirtual

Adds text to show in UIs after a quest has been successfully completed.

Parameters
questBuilderQuestBuilder.
mainTargetEntityMain target entity that quest is about.
mainTargetDescriptorTarget descriptor (with count).
domainNameTarget's domain.
goalGoal step in quest.

◆ AddTagsToDictionary()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.AddTagsToDictionary ( TagDictionary  tagDictionary,
PlanStep  goal 
)
inlineprotectedvirtual

◆ BuildTitle()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.BuildTitle ( PlanStep  goal,
string  mainTargetDescriptor,
out string  title,
out string  questID 
)
inlineprotectedvirtual

Determine the quest's title and quest ID.

By default, it's set to goal action + main target (e.g., "Kill" + "3 Orcs").

◆ ConvertPlanToQuest()

virtual Quest PixelCrushers.QuestMachine.PlanToQuestBuilder.ConvertPlanToQuest ( QuestEntity  entity,
StringField  group,
PlanStep  goal,
Motive  motive,
Plan  plan,
bool  requireReturnToComplete,
List< QuestContent rewardsUIContents,
List< RewardSystem rewardSystems 
)
inlinevirtual

Converts a plan generated by QuestGenerator into a quest.

Parameters
entityEntity generating the quest (e.g., QuestGiver).
groupOptional quest group under which to categorize this quest.
goalFinal step to accomplish quest.
motiveMotive for the goal.
planSteps required to complete the goal step.
requireReturnToCompleteIf true, add a quest node that requires quester to return to entity.
rewardsUIContentsUI content to show in the rewards offer section.
rewardSystemsReward systems to use to
Returns

Reimplemented in PixelCrushers.QuestMachine.InventoryProPlanToQuestBuilder, and PixelCrushers.QuestMachine.uSurvivalPlanToQuestBuilder.

◆ GetSpecifier() [1/2]

virtual QuestMessageParticipant PixelCrushers.QuestMachine.PlanToQuestBuilder.GetSpecifier ( QuestMessageParticipant  specifier,
StringField  specifierID 
)
inlineprotectedvirtual

◆ GetSpecifier() [2/2]

virtual QuestMessageParticipant PixelCrushers.QuestMachine.PlanToQuestBuilder.GetSpecifier ( StringField  specifierID)
inlineprotectedvirtual

◆ ReplaceStepTags()

virtual string PixelCrushers.QuestMachine.PlanToQuestBuilder.ReplaceStepTags ( string  s,
string  targetEntity,
string  targetDescriptor,
string  domainName,
string  counterName,
int  counterValue 
)
inlineprotectedvirtual

Replaces special tags that are specific to generated quests.

Parameters
sText to modify
targetEntityTarget entity name.
targetDescriptorTarget descriptor (including count).
domainNameDomain name.
counterNameCounter name.
counterValueCounter value.
Returns

◆ SetMainInfo()

virtual void PixelCrushers.QuestMachine.PlanToQuestBuilder.SetMainInfo ( QuestBuilder  questBuilder,
string  questID,
string  title,
StringField  group,
PlanStep  goal 
)
inlineprotectedvirtual

Sets the quest's main info.

Parameters
questBuilderQuestBuilder
questIDQuest ID.
titleQuest title.
groupQuest group.
goalFinal step to accomplish the plan.

The documentation for this class was generated from the following file: