Skip to content
This repository has been archived by the owner on Sep 3, 2018. It is now read-only.

APLs 101

seanpeters86 edited this page Aug 1, 2018 · 5 revisions

Action Priority Lists

APLs are what SimC uses to tell the sim which actions to use, and how to use them. While this isn't an all encompassing document, you can check further imformation on the SimC Wiki.

ActionLists

There are 2 default action lists in SimC, precombat and default (inherited as just actions). To set actions inside of a list you use this format:

actions.actionList=spell1
actions.actionList+=/spell2

All APLs will use the 2 default action lists, and some will add others to separate the rotation into logical pieces. Take shadow for example, we currently have precombat, default, aoe, cleave, and single for the various situations.

Actions

All actions follow the syntax above as actions.actionList+=/spell_name,if=condition1|condition2&condition3 with | representing OR and & representing AND. Below you will find a list of available properties for spells used within SimC. All actions can be negated by adding ! in front of the condition, like if=!buff.shadowform.up.

Buffs

These properties are referenced with buff.spellName.PROPERTY.

Property Description Example
.react Description buff.bloodlust.react
.up Check if the buff is active buff.bloodlust.up
.down Check if the buff is inactive buff.bloodlust.down
.stack Check the amount of stacks the buff has buff.voidform.stack>=10

Cooldown

These properties are referenced with cooldown.spellName.PROPERTY.

Property Description Example
.up Check if the cooldown is ready to be used again cooldown.void_bolt.up
.charges Check how many charges the cooldown has cooldown.shadow_word_death.charges=2

Talent

These properties are referenced with talent.talentName.PROPERTY.

Property Description Example
.enabled Check if the talent is currently enabled talent.misery.enabled

DoTs

These properties are referenced with dot.spellName.PROPERTY.

Property Description Example
.refreshable Check if the DoT needs refreshing according to pandemic dot.shadow_word_pain.refreshable
.ticking Check if the DoT is currently ticking dot.shadow_word_pain.ticking
.remains Check the time remaining left on the DoT dot.shadow_word_pain.remains>travel_time

Raid Events

Property Description Example
.adds.duration Check how long the adds are alive for raid_event.adds.duration<20
.adds.in Check how long until adds are incoming raid_event.adds.in<5

Misc

Property Description Example
target.time_to_die Check the targets current TTD target.time_to_die>200
spell_targets Check how many targets the spell will hit spell_targets.mind_sear>2
chain Chain multiple casts into one chain=1
interrupt Interrupt the cast if another action becomes true interrupt=1
interrupt_immediate Interrupt. but check every 100ms interrupt_immediate=1
interrupt_if add conditions to interrupt check interrupt_if=ticks>=2
active_enemies check how many enemies are currently active active_enemies=1
run_action_list Run the specified action list run_action_list,name=single,if=X
target.health.pct Check the current health % of the target target.health.pct<35
insanity Check the status of the resource insanity>90
in_flight Check if an action with travel time is in flight action.x.in_flight
Clone this wiki locally