conditions
Route selection rules; see the supported scopes in Filters and Conditions.
- Formato do valor
- table
- Escopo
- route
As descrições técnicas são mantidas no inglês original. Os nomes dos campos e os exemplos em Lua não são alterados.
Exemplos
Exemplo das fontes. Substitua IDs e valores de acordo com sua rota; este site não executa Lua.
Lua · 01
conditions = { Level = 80, Faction = "Alliance" }Lua · 02
conditions = { IsQuestOnQuest = 93384, IsQuestReadyForTurnIn = 93384, IsQuestUncompleted = 93384 }Lua · 03
APR.RouteQuestStepList["Forever-Training-Example"] = {
label = "Training example",
gameVersion = "forever",
mapID = 1411,
conditions = { Faction = "Horde", Class = "MAGE" },
steps = {
{
LearnSkill = { spellID = 7411 },
MinLevel = 5,
SkipForPrimaryProfessions = 2,
Coord = { x = -4960.0, y = -791.3 },
Zone = 1411,
},
{ PickUp = { 96873 }, Skill = { skillID = 333, rank = 1 }, Zone = 1411 },
{ RouteCompleted = true },
},
}Parâmetros documentados
| Parâmetros documentados | Comportamento e detalhes | Formato do valor |
|---|---|---|
Level | Shown in the source example; this does not establish a required field. | number | string | table |
Faction | Shown in the source example; this does not establish a required field. | string |
Comportamento e detalhes
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.
Parallel reward groups
| Case | Required behavior / syntax |
|---|---|
| Ready, unturned-in quest | conditions = { IsQuestOnQuest = 93384, IsQuestReadyForTurnIn = 93384, IsQuestUncompleted = 93384 } |
| Reward available above a threshold | Use MinLevel, rather than BeLvl, and add Zones when activation should wait for a visit to the reward map. |
| Independent rewards | Use separate groups for independently available hand-ins; a single Done list waits for every quest. |
| Pending hand-ins | Automatic turn-ins listed in pending groups wait for activation; manual turn-ins and the modifier override remain available. |
| Side objectives | Use Fillers during other steps; add a Qpart before Done for unfinished objectives. |
| Character restrictions | Keep shared eligibility on the route; child steps and prefabs need only additional restrictions. |
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
| Scope | Supported conditions / result |
|---|---|
Steps and parallelSteps[].conditions | All filters below; group conditions control insertion, while a failed step filter skips that step. |
Route conditions: visibility | InterfaceVersion, InterfaceVersionExact, DontHaveSpell, IsQuestReadyForTurnIn, HasAchievement, DontHaveAchievement, Faction, Race, Class, ClassNot, Event, AlliedRace, IsQuestCompleted, IsQuestUncompleted. Failure hides the route. |
Route conditions: availability | Numeric Level, MinLevel, MaxLevel, BeLvl, plus ClassSpec and Zones. Failure disables the route. |
Route-level AnyOf | Alternatives use step filters; failure hides the route, including failures of nested level conditions. |
Conditional nextRoute / prefab entries | Use step filters; these affect the suggestion or prefab membership. |
Example Route
APR.RouteQuestStepList["Forever-Training-Example"] = {
label = "Training example",
gameVersion = "forever",
mapID = 1411,
conditions = { Faction = "Horde", Class = "MAGE" },
steps = {
{
LearnSkill = { spellID = 7411 },
MinLevel = 5,
SkipForPrimaryProfessions = 2,
Coord = { x = -4960.0, y = -791.3 },
Zone = 1411,
},
{ PickUp = { 96873 }, Skill = { skillID = 333, rank = 1 }, Zone = 1411 },
{ RouteCompleted = true },
},
}