-- spec --
-- version --
Display Name
SimC APL

General

Type
Main
Code Name
DemonHunterHavocDebug
Description
This is the SimC APL from the nightly build of SimC.
Specs
DemonHunterHavoc
Included Rotations
AmrDemonHunterHavorPreFight, AmrAutoAttackDemonHunter, AmrRacials
Movement Spells
FakeMoveSpell
Enable Off-GCD Checking
No
Bloodlust Early?
No
Bloodlust Late?
No

Target Priority

1

Filter
None
NPC Name
Comment

Learned Values

1

Code Name
MetamorphosisCooldown
Type
Cooldown
Spell Name
Metamorphosis
Effect Name
Switch Name
Switch Off on End
No
Default Value
= SpellCooldownSec(Metamorphosis)
Condition
None
Fight to the Death
No
Description

1

Code Name
Type
None
Spell Name
Effect Name
Switch Name
Switch Off on End
No
Default Value
None
Condition
None
Fight to the Death
No
Description

Parameters

1

Code Name
DesiredTargets
Description
This is effectively the number of "permanent" targets in the simulation.
Default Value
= 1
Lookup Report ID
Lookup View ID

1

Code Name
Description
Default Value
None
Lookup Report ID
Lookup View ID

Action Lists

1 Auto

Type
Auto
Code Name
Pet Code Name
Description
There is a variable called "Desired Targets" in the SimC APL. I am not sure where this variable is set. A quick search of the Demon Hunter class module did not turn up "desired_targets" anywhere. This will affect AoE simulations.
Pre-Fight?
No
Start Time (sec)
None
Start Condition
None
Type
Spell
Spell
Metamorphosis
Action List
Name
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
if not(HasTalent(Demonic) and HasTalent(DemonReborn))
On Condition
None
On Power Threshold
None
Off Condition
None
Off Power Threshold
None
Once?
Yes
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
Instead of doing this pre-fight, we just do it as the first action for comparison purposes.
Type
Switch
Spell
Action List
Name
WaitingForNemesis
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
None
On Condition
if HasTalent(Nemesis) and not CanUse(Nemesis) and CooldownSecRemaining(Nemesis) <= FightSecRemaining and CooldownSecRemaining(Nemesis) <= 60
On Power Threshold
None
Off Condition
if CanUse(Nemesis) or CooldownSecRemaining(Nemesis) > FightSecRemaining or CooldownSecRemaining(Nemesis) > 60
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
This is a variable that becomes true when Nemesis is on cooldown and less than 60 seconds are remaining on the cooldown and we will be able to use it again during the fight.
Type
Switch
Spell
Action List
Name
WaitingForChaosBlades
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
None
On Condition
if HasTalent(ChaosBlades) and not CanUse(ChaosBlades) and CooldownSecRemaining(ChaosBlades) <= FightSecRemaining and CooldownSecRemaining(ChaosBlades) <= 60
On Power Threshold
None
Off Condition
if CanUse(ChaosBlades) or CooldownSecRemaining(ChaosBlades) > FightSecRemaining or CooldownSecRemaining(ChaosBlades) > 60
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
This is a variable that becomes true when Chaos Blades is on cooldown and less than 60 seconds are remaining on the cooldown and we will be able to use it again during the fight.
Type
Switch
Spell
Action List
Name
PoolingForMeta
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
None
On Condition
if CooldownSecRemaining(Metamorphosis) < 6 and PowerToMax > 30 and not HasTalent(Demonic) and (IsSwitchOff(WaitingForNemesis) or CooldownSecRemaining(Nemesis) < 10) and (IsSwitchOff(WaitingForChaosBlades) or CooldownSecRemaining(ChaosBlades) < 6)
On Power Threshold
None
Off Condition
if CooldownSecRemaining(Metamorphosis) >= 6 or PowerToMax <= 30 or (IsSwitchOn(WaitingForNemesis) and CooldownSecRemaining(Nemesis) >= 10) or (IsSwitchOn(WaitingForChaosBlades) and CooldownSecRemaining(ChaosBlades) >= 6)
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
This variable turns on when we will be able to use Metamorphosis soon and have a substantial fury deficit. If we are waiting for Nemesis or Chaos Blades, we don't pool fury until they are closer to being ready.
Type
Switch
Spell
Action List
Name
UseBladeDance
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
None
On Condition
if HasTalent(FirstBlood) or HasSetBonus(20,2) or (TargetsInRadius(BladeDanceHitAoE) >= 5 or (TargetsInRadius(BladeDanceHitAoE) >= 3 and not HasTalent(ChaosCleave)))
On Power Threshold
None
Off Condition
if not(HasTalent(FirstBlood) or HasSetBonus(20,2) or (TargetsInRadius(BladeDanceHitAoE) >= 5 or (TargetsInRadius(BladeDanceHitAoE) >= 3 and not HasTalent(ChaosCleave))))
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
These are the conditions for which we would use Blade Dance/Death Sweep.
Type
Switch
Spell
Action List
Name
PoolForBladeDance
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
None
On Condition
if IsSwitchOn(UseBladeDance) and Power - 40 < SpellPowerCost(BladeDance) and (TargetsInRadius(BladeDanceHitAoE) >= 5 or (TargetsInRadius(BladeDanceHitAoE) >= 3 and not HasTalent(ChaosCleave)))
On Power Threshold
None
Off Condition
if IsSwitchOff(UseBladeDance) or Power - 40 >= SpellPowerCost(BladeDance)
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
This switch is used to stop us from using Fury on Chaos Strike/Annihilation if we are in an AoE situation in which we would use Blade Dance and doing so would drop us below the Fury needed to cast Blade Dance.
Type
Switch
Spell
Action List
Name
PoolForChaosStrike
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
None
On Condition
if HasTalent(ChaosCleave) and PowerToMax > 40 and TargetsInRange < RotationParameter(DesiredTargets) + 1 and SecondsUntilAoe(RotationParameter(DesiredTargets) + 1,8) < 2 * GlobalCooldownSec
On Power Threshold
None
Off Condition
if PowerToMax <= 40 or TargetsInRange > RotationParameter(DesiredTargets)
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
With Chaos Cleave, we save up some fury right before adds come out by using this switch.
Type
Spell
Spell
Bloodlust
Action List
Name
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
None
On Condition
None
On Power Threshold
None
Off Condition
None
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
Type
Action List
Spell
Action List
Cooldowns
Name
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
None
On Condition
None
On Power Threshold
None
Off Condition
None
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
Type
Action List
Spell
Action List
DemonicActions
Name
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
if HasTalent(Demonic) and HasTalent(DemonicAppetite) and HasTalent(BlindFury)
On Condition
None
On Power Threshold
None
Off Condition
None
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
Type
Spell
Spell
VengefulRetreat
Action List
Name
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
if (HasTalent(Prepared) or HasTalent(Momentum)) and TimerSecRemaining(PreparedTimer) = 0 and not HasBuff(Momentum)
On Condition
None
On Power Threshold
None
Off Condition
None
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
Type
Spell
Spell
FelRush
Action List
Name
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
if (HasTalent(Momentum) or HasTalent(FelMastery)) and (not HasTalent(Momentum) or (ChargesRemaining(FelRush) = 2 or CooldownSecRemaining(VengefulRetreat) > 4) and not HasBuff(Momentum)) and (not HasTalent(FelMastery) or PowerToMax >= 25) and (ChargesRemaining(FelRush) = 2 or (SecondsUntilAoe(RotationParameter(DesiredTargets) + 1,8) > 10 and SecondsUntilMove > 10))
On Condition
None
On Power Threshold
None
Off Condition
None
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
Type
Spell
Spell
FelBarrage
Action List
Name
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
if ChargesRemaining(FelBarrage) >= 5 and (HasBuff(Momentum) or not HasTalent(Momentum)) and ((TargetsInRadius(FelBarrageHit) > RotationParameter(DesiredTargets)) or SecondsUntilAoe(RotationParameter(DesiredTargets) + 1,8) > 30)
On Condition
None
On Power Threshold
None
Off Condition
None
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
Type
Spell
Spell
ThrowGlaive
Action List
Name
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
if HasTalent(Bloodlet) and (not HasTalent(Momentum) or HasBuff(Momentum)) and ChargesRemaining(ThrowGlaive) = 2
On Condition
None
On Power Threshold
None
Off Condition
None
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
Type
Spell
Spell
Felblade
Action List
Name
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
if Power < 15 and (CooldownSecRemaining(DeathSweep) < 2 * GlobalCooldownSec or CooldownSecRemaining(BladeDance) < 2 * GlobalCooldownSec)
On Condition
None
On Power Threshold
None
Off Condition
None
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
Prioritize Felblade if we have very little fury and can use death sweep or blade dance soon.
Type
Spell
Spell
DeathSweep
Action List
Name
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
if IsSwitchOn(UseBladeDance)
On Condition
None
On Power Threshold
None
Off Condition
None
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
Type
Spell
Spell
FelRush
Action List
Name
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist
Condition
if ChargesRemaining(FelRush) = 2 and not HasTalent(Momentum) and not HasTalent(FelMastery) and CurrentTarget != Krosus
On Condition
None
On Power Threshold
None
Off Condition
None
Off Power Threshold
None
Once?
No
Repeat?
No
Skip Current Target?
No
Ally Type
None
Try Other Allies?
No
Random Ally?
No
Align with Buff
Buff Align Condition
None
Buff Power Estimate
None
Interruptable?
No
Interrupt Mode
Immediately
Interrupt Condition
None
Multi-DoT Count
None
Multi-HoT Count
None
Pet Code Name
Cooldown?
No
Save for Execute
No
Save for AoE
No
AoE Count
None
AoE Radius
None
Estimated Cooldown (sec)
None
Comment
Type
Spell
Spell
FelEruption
Action List
Name
Delay (sec)
None
Debug Type
None
Debug ID
Trinket Priority
Trinket Blacklist