prefab

Prefab membership and ordering. Entry conditions select membership without hiding manual route selection.

Value shape
table
Scope
route

Technical descriptions are preserved in source English. Field names and Lua examples are unchanged.

Examples

Source example. Replace IDs and values for your route; this website does not execute Lua.

Lua · 01
prefab = { [APR.PREFAB_TYPES.Speedrun] = { index = 20, conditions = { Class = "MAGE" } } }
Lua · 02
prefab = {
    [APR.PREFAB_TYPES.Leveling] = { index = 10, conditions = { Race = { "Orc", "Troll" } } },
    [APR.PREFAB_TYPES.Speedrun] = { index = 10, conditions = { Race = { "Orc", "Troll" } } },
},

Documented parameters

Documented parametersBehavior & detailsValue shape
indexShown in the source example; this does not establish a required field.number
conditionsShown in the source example; this does not establish a required field.table
ClassShown in the source example; this does not establish a required field.string

Behavior & details

Forms shown in the documentation, not an exhaustive runtime schema. Constant runtime types are not inferred.

Route Definition Options

A file may register several independent APR.RouteQuestStepList["route-key"] = { ... } entries. Follow-up routes, prerequisites and prefabs reference these keys, not file names.

Filters and Conditions

Conditions on the same table combine with AND. Use AnyOf for alternatives, AllOf for repeated predicates and Not to invert a whole condition table.

Filters and Conditions
ScopeSupported conditions / result
Steps and parallelSteps[].conditionsAll filters below; group conditions control insertion, while a failed step filter skips that step.
Route conditions: visibilityInterfaceVersion, InterfaceVersionExact, DontHaveSpell, IsQuestReadyForTurnIn, HasAchievement, DontHaveAchievement, Faction, Race, Class, ClassNot, Event, AlliedRace, IsQuestCompleted, IsQuestUncompleted. Failure hides the route.
Route conditions: availabilityNumeric Level, MinLevel, MaxLevel, BeLvl, plus ClassSpec and Zones. Failure disables the route.
Route-level AnyOfAlternatives use step filters; failure hides the route, including failures of nested level conditions.
Conditional nextRoute / prefab entriesUse step filters; these affect the suggestion or prefab membership.
Resource conditions and Hardcore routes

Prefab entries accept either the existing numeric index or an index with native

conditions. The conditions select membership in that prefab without hiding the

route from manual selection:

Resource conditions and Hardcore routes
prefab = {
    [APR.PREFAB_TYPES.Leveling] = { index = 10, conditions = { Race = { "Orc", "Troll" } } },
    [APR.PREFAB_TYPES.Speedrun] = { index = 10, conditions = { Race = { "Orc", "Troll" } } },
},

Search the wiki

Get started with APRRoutes & compatibilityAutomation, on your termsMake the interface yoursStuck on a step?Everyday commandsCreate & share a routeQuesting with a group
Browse the wiki