Grind
Wait until the level/XP threshold is reached; supports numbers, absolute XP and named profiles.
- Format des Werts
- number | string | table
- Geltungsbereich
- step
Technische Beschreibungen bleiben im englischen Original erhalten. Feldnamen und Lua-Beispiele sind unverändert.
Beispiele
Beispiel aus der Quelle. Ersetze IDs und Werte passend zu deiner Route; diese Website führt kein Lua aus.
Grind = 60Grind = 87.5Grind = { level = 3, xp = 325 }Grind = { level = 4, xp = -700 }Grind = { level = 60, xp = 0, questLogXP = { 4901, 4508 } }{ Grind = { level = 3, xp = 325 } }, -- Level 3 with at least 325 XP
{ Grind = { level = 4, xp = -700 } }, -- At most 700 XP remaining before level 4
{ PickUp = { 123 }, SkipForLvl = { level = 3, xp = 325 } },Verhalten und Details
Forms shown in the documentation, not an exhaustive runtime schema. Constant runtime types are not inferred.
Action / Progression Options
An action waits for completion; a failed step condition skips the step. Use one main action per step.
Main actions
Use separate SellItems and Repair steps with the same coordinates; only one main action per step.
Level requirement forms
| Form | Meaning / supported fields |
|---|---|
MinLevel = 10 | Whole level threshold. |
Grind = 87.5 | Level 87 with at least 50% XP progress. |
MinLevel = "MidnightDelves" | Named dynamic threshold from the configured active XP bonuses. |
Grind = { level = 3, xp = 325 } | Level 3 with at least 325 XP into that level. |
Grind = { level = 4, xp = -700 } | At most 700 XP remaining before level 4. |
Grind = { level = 60, xp = 0, questLogXP = { 4901, 4508 } } | Deducts the current rewards of listed, completed quests still in the player's log. Unknown XP, unfinished quests and already rewarded quests give no credit. |
SkipIfCooldown = { { itemID = 6948, operator = ">", seconds = 2, once = true } } | Skips this step when the item cooldown exceeds the threshold on entry. Use spellID for a spell. Omit once to monitor continuously, for example < 300 on a farming/waiting step. |
| Supported fields | Step Grind, Level, MinLevel, MaxLevel, SkipForLvl. Route-selection level thresholds remain numeric; BeLvl does not accept profiles or absolute XP tables. |
| Absolute XP validation | Finite integers: level >= 1, signed xp. Uses the current client's XP range for the relevant level; out-of-range targets clamp to its boundaries. Missing XP data delays completion. |
Configurable Level Profiles
Definitions live in APR-Core/config/LevelProfiles.lua. Reload after editing.
Configurable Level Profiles
| Definition / field | Meaning |
|---|---|
APR.LevelBonusSources | Reusable XP-bonus sources referenced by name in profiles. |
Source auras / isActive | Any listed active aura OR a true predicate activates the source once. Item ownership alone never activates a bonus. |
Source bonus | Percentage contributed while active. |
Source achievementBonuses | Achievement ID → percentage; highest completed tier wins, while the source must still be active. |
Source auraBonuses | Aura ID → percentage or stack-count tiers. Selects the highest active variant and highest matched stack tier; missing/restricted counts use one application. |
Source minLevel / maxLevelExclusive | Inclusive minimum and exclusive maximum; sources outside their range contribute nothing. |
Source items | Usable item IDs offered as optional reminders when the source's aura is absent. |
APR.LevelRequirementProfiles | Named profiles with bonuses = { "SourceName", ... } and levels = { [0] = 88, [20] = 87.25 }. |
Profile levels | [0] required. Greatest bonus breakpoint not exceeding the active total wins; no interpolation (12% uses 10%, if the next row is 20%). |
| Unknown source/profile | Raises an error rather than silently dropping the threshold. |
| Refresh and progression | Bonuses refresh as auras, achievements, levels and world state change. Updates do not rewind skipped steps or remove inserted parallel groups. |
Absolute XP requirements
Step fields Grind, Level, MinLevel, MaxLevel and SkipForLvl also accept
{ level = N, xp = signedInteger }. This extends the existing level resolver;
numeric levels, fractional levels and named level profiles keep their behavior.
Absolute XP requirements
{ Grind = { level = 3, xp = 325 } }, -- Level 3 with at least 325 XP
{ Grind = { level = 4, xp = -700 } }, -- At most 700 XP remaining before level 4
{ PickUp = { 123 }, SkipForLvl = { level = 3, xp = 325 } },Absolute XP requirements
A positive offset counts XP into level; a negative offset counts backwards
from reaching level. Both values must be finite integers, with level >= 1.
The resolver uses the current client's UnitXPMax while the player is at the
relevant level, so the route does not embed another client's XP table. Thresholds
outside that level's XP range are clamped to its boundaries. Missing XP data
delays completion until the total becomes available. These structures apply to
step fields only, not route visibility conditions or BeLvl.