This document covers the functionality of the revamped Journey System.
The Journey system is based around the “ /Game/Systems/Progression/BP_AC_ExilesJourney “ component attached to player characters. This component handles both Journeys and Achievements.
In order to complete Journey Steps, the easiest way is to call the this blueprint to resolve the journey steps, or by a Component call.
Note that the Component to get is NOT “BP AC JourneySystem” - rather, it is “NewExilesJourneyComponent” - this is the code-class parent to that blueprint, and this should be used when getting the component.
When resolving a Journey-step, it’s possible to use either the RowName in the JourneyStep table or the LegacyTrigger Name-variable in the same table.
In the MapDataTable, a new column exists called “First Journey”. This determines which journey in the DT_NewJourney table is set up when players first enter the respective map/s.
/Game/Systems/Progression/DT_NewJourney
RowName
The order of Rownames is the order used for sorting the Journey in the Journey Book UI.
Title + Image + Description
The Title and Image are displayed in the Journey Book UI.
Journey Steps
This is the RowName for all the Journeysteps that this Journey should contain. This data comes from the rownames in the “/Game/Systems/Progression/DT_NewJourneySteps” table.
Map Restriction
Players need to be on the correct map in order to obtain the journey. If this is empty, it means that any map is eligible.
Unlocking Journeys can be done in four ways (Unlocking Feats, Levelling up, finding a map marker, or completing a Journey). A journey can only be unlocked once and never goes away unless the character is deleted. These criterias are all "OR" criterias, meaning that meeting any of the criteria will unlock the journey.
Unlocked by Feat
This is an INT-array. Buying/Unlocking a feat can unlock a Journey.
Unlocked at Level
This is an INT-variable. Players can unlock journeys by simply levelling up.
Unlocked by Finding Map Marker
This is a NAME-array that compares the entry to a localized text variable in the Map Markers Data-table.
Completion Reward
We want to reward players for completing an entire journey. The rewards from completing a journey can be multiple different things, and all rewards are handed out to the player.
Reward Item |
INT ARRAY - Item Template ID |
Reward Item Amounts |
INT ARRAY - Number of items we want to give to the player |
Reward Feats |
INT ARRAY - If we want to unlock a Feat for the player as a reward |
Unlock these Journeys when Completed |
NAME ARRAY - This needs to be an array so that, if we want to, we can give players multiple new journeys to discover. This name refers to the Journey Row-Name for the journey that is discovered. |
Start Hidden
If this boolean is TRUE, the journey is not shown in the Journey Book UI until the prerequirements for it are met.
Suggested Next Journey
If this field has a journey name in it, and the option for autopicking next journey is on, the journey system will switch to this when a journey is completed.
Prereq Override
Should you want custom text to appear as a requirement for the journey, filling in this will override the normal prereq text.
CanBeSkipped
If this is ticked, it means players can skip the journey and not receive the reward
RowName
This is the rowname used by the JourneyTable when it lists all the journey steps it should contain.
Title
This is the player-facing title of the Journey-step as it appears in the Journey Tracker and in the Journeybook sidepanel when inspecting journeys.
Description
This is the descriptive text shown to the player when they have the journey active in the Journey Tracker.
Icon
This is an icon that is displayed next to the Journeystep in the Journeybook sidepanel when inspecting a journey.
XP
This is the amount of XP given out when completing a single journey step.
Legacy Trigger
This, or the RowName, may be used as a NAME variable for resolving journey-steps.
Reward Achievement
This is the NAME variable for any achievement to be granted on completing the journey-step.
Num Repeats
If this is more than 0, the step will repeat that many extra times. A value of “1” therefore makes it so that players need to go through the step twice.
Several new tables have been made to aid with solving journey steps. These tables typically use gameplay tags and RowNames to solve which journey-step should resolve based on criterias in the table.
/Game/Systems/Progression/DT_JourneyBuildplaceable
/Game/Systems/Progression/DT_JourneyGetItem
/Game/Systems/Progression/DT_NewJourney
/Game/Systems/Progression/DT_NewJourneyAttribute
/Game/Systems/Progression/DT_NewJourneyHarvest
/Game/Systems/Progression/DT_NewJourneyKill
/Game/Systems/Progression/DT_NewJourneyLevelThrall
/Game/Systems/Progression/DT_NewJourneyPutItemInPlaceable
/Game/Systems/Progression/DT_NewJourneyPutThrallInPlaceable
/Game/Systems/Progression/DT_NewJourneySteps
/Game/Systems/Progression/DT_NewJourneyStepToFeat
The following tables have been deprecated and are no longer in use
/Game/Systems/Progression/DT_ExilesJourney
/Game/Systems/Progression/DT_ExilesJourneyXPTable
/Game/Systems/Progression/JourneyLookups/JourneyLookups_EpicArmor
/Game/Systems/Progression/JourneyLookups/JourneyLookups_NorthernArmor
/Game/Systems/Progression/JourneyLookups/JourneyLookups_RaiderArmor
There is an excel tool available: