-
-
Notifications
You must be signed in to change notification settings - Fork 222
Priorities and Optimization
Hekili edited this page Oct 25, 2024
·
3 revisions
The information on this page is intended for power users who write new priorities or customize their priorities. For the everyday user, you DO NOT need to import/revise the addon's default priorities.
In general, Hekili's priorities are translated or adapted from SimulationCraft to ensure that its recommendations will match up. Some expressions and syntax are automatically translated at import, but other nuances may require manual editing.
The following items must be manually translated before importing into the addon:
SimC Syntax | Addon Syntax | Reason |
---|---|---|
target_if=[min:/max:/]condition, if=other_condition
|
With min: or max: cycle_targets=1, if=(condition)&(other_condition) Without min: or max: cycle_targets=1, if=other_condition
|
Target selection involves a complicated system behind the scenes. Logic for target cycling must be built into the specialization itself, rather than the priority. An important nuance is that a target_if condition that includes max: or min: will always end up selecting a target (even current target), but a target_if without max /min may fail for all targets and exclude them.Example: target_if=debuff.flame_shock.refreshable, if=time>0 translates to cycle_targets=1, if=(debuff.flame_shock.refreshable)&(time>0) ...preserving both the refreshable and time requirements.Example: target_if=min:debuff.flame_shock.remains, if=time=0 translates to cycle_targets=1, if=time=0 ...because min:debuff.flame_shock.remains will not exclude any targets.(Yes, weird.) |