Skip to content

Commit

Permalink
Merge pull request #3420 from wowsims/apl
Browse files Browse the repository at this point in the history
Release alpha APL for remaining dps and tank sims
  • Loading branch information
jimmyt857 authored Aug 6, 2023
2 parents c8bff6d + 8bbf98e commit f40006b
Show file tree
Hide file tree
Showing 27 changed files with 45 additions and 36 deletions.
1 change: 1 addition & 0 deletions sim/druid/demoralizing_roar.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ func (druid *Druid) registerDemoralizingRoarSpell() {
ActionID: core.ActionID{SpellID: 48560},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskEmpty,
Flags: core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 10,
Expand Down
2 changes: 1 addition & 1 deletion sim/druid/lacerate.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func (druid *Druid) registerLacerateSpell() {
ActionID: core.ActionID{SpellID: 48568},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 15 - float64(druid.Talents.ShreddingAttacks),
Expand Down
2 changes: 1 addition & 1 deletion sim/druid/swipe.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ func (druid *Druid) registerSwipeCatSpell() {
ActionID: core.ActionID{SpellID: 62078},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL,

EnergyCost: core.EnergyCostOptions{
Cost: 50 - float64(druid.Talents.Ferocity),
Expand Down
19 changes: 11 additions & 8 deletions sim/shaman/heals.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ func (shaman *Shaman) registerAncestralHealingSpell() {
ActionID: core.ActionID{SpellID: 52752},
SpellSchool: core.SpellSchoolNature,
ProcMask: core.ProcMaskSpellHealing,
Flags: core.SpellFlagHelpful,
Flags: core.SpellFlagHelpful | core.SpellFlagAPL,
DamageMultiplier: 1 * (1 + .02*float64(shaman.Talents.Purification)),
CritMultiplier: 1,
ThreatMultiplier: 1 - (float64(shaman.Talents.HealingGrace) * 0.05),
Expand Down Expand Up @@ -40,7 +40,7 @@ func (shaman *Shaman) registerLesserHealingWaveSpell() {
ActionID: core.ActionID{SpellID: 49276},
SpellSchool: core.SpellSchoolNature,
ProcMask: core.ProcMaskSpellHealing,
Flags: core.SpellFlagHelpful,
Flags: core.SpellFlagHelpful | core.SpellFlagAPL,

ManaCost: core.ManaCostOptions{
BaseCost: 0.15,
Expand Down Expand Up @@ -102,7 +102,7 @@ func (shaman *Shaman) registerRiptideSpell() {
ActionID: core.ActionID{SpellID: 61301},
SpellSchool: core.SpellSchoolNature,
ProcMask: core.ProcMaskSpellHealing,
Flags: core.SpellFlagHelpful,
Flags: core.SpellFlagHelpful | core.SpellFlagAPL,

ManaCost: core.ManaCostOptions{
BaseCost: 0.18,
Expand Down Expand Up @@ -191,7 +191,7 @@ func (shaman *Shaman) registerHealingWaveSpell() {
ActionID: core.ActionID{SpellID: 49273},
SpellSchool: core.SpellSchoolNature,
ProcMask: core.ProcMaskSpellHealing,
Flags: core.SpellFlagHelpful,
Flags: core.SpellFlagHelpful | core.SpellFlagAPL,

ManaCost: core.ManaCostOptions{
BaseCost: 0.15,
Expand Down Expand Up @@ -258,14 +258,17 @@ func (shaman *Shaman) registerEarthShieldSpell() {
}

shaman.EarthShield = shaman.RegisterSpell(core.SpellConfig{
ActionID: actionID,
ActionID: actionID,
SpellSchool: core.SpellSchoolNature,
ProcMask: core.ProcMaskEmpty,
Flags: core.SpellFlagHelpful | core.SpellFlagAPL,

Cast: core.CastConfig{
DefaultCast: core.Cast{
GCD: core.GCDDefault,
},
},
SpellSchool: core.SpellSchoolNature,
ProcMask: core.ProcMaskEmpty,

BonusCritRating: float64(shaman.Talents.TidalMastery) * 1 * core.CritRatingPerCritChance,
DamageMultiplier: 1 + 0.05*float64(shaman.Talents.ImprovedShields) + 0.05*float64(shaman.Talents.ImprovedEarthShield) + bonusHeal,
ThreatMultiplier: 1,
Expand Down Expand Up @@ -323,7 +326,7 @@ func (shaman *Shaman) registerChainHealSpell() {
ActionID: core.ActionID{SpellID: 55459},
SpellSchool: core.SpellSchoolNature,
ProcMask: core.ProcMaskSpellHealing,
Flags: core.SpellFlagHelpful,
Flags: core.SpellFlagHelpful | core.SpellFlagAPL,

ManaCost: core.ManaCostOptions{
FlatCost: 0.19*shaman.BaseMana - manaDiscount,
Expand Down
2 changes: 1 addition & 1 deletion sim/shaman/lavalash.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func (shaman *Shaman) registerLavaLashSpell() {
ActionID: core.ActionID{SpellID: 60103},
SpellSchool: core.SpellSchoolFire,
ProcMask: core.ProcMaskMeleeOHSpecial,
Flags: core.SpellFlagMeleeMetrics,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagAPL,

ManaCost: core.ManaCostOptions{
BaseCost: 0.04,
Expand Down
1 change: 1 addition & 0 deletions sim/shaman/lightning_shield.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ func (shaman *Shaman) registerLightningShieldSpell() {

shaman.LightningShield = shaman.RegisterSpell(core.SpellConfig{
ActionID: actionID,
Flags: core.SpellFlagAPL,
Cast: core.CastConfig{
DefaultCast: core.Cast{
GCD: core.GCDDefault,
Expand Down
2 changes: 1 addition & 1 deletion sim/shaman/stormstrike.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ func (shaman *Shaman) registerStormstrikeSpell() {
ActionID: StormstrikeActionID,
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagAPL,

ManaCost: core.ManaCostOptions{
BaseCost: 0.08,
Expand Down
1 change: 1 addition & 0 deletions sim/warrior/berserker_rage.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ func (warrior *Warrior) registerBerserkerRageSpell() {

warrior.BerserkerRage = warrior.RegisterSpell(core.SpellConfig{
ActionID: actionID,
Flags: core.SpellFlagAPL,

Cast: core.CastConfig{
DefaultCast: core.Cast{
Expand Down
6 changes: 4 additions & 2 deletions sim/warrior/bloodthirst.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func (warrior *Warrior) registerBloodthirstSpell(cdTimer *core.Timer) {
ActionID: core.ActionID{SpellID: 23881},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | SpellFlagBloodsurge,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | SpellFlagBloodsurge | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 20,
Expand Down Expand Up @@ -46,7 +46,9 @@ func (warrior *Warrior) registerBloodthirstSpell(cdTimer *core.Timer) {
core.StartDelayedAction(sim, core.DelayedActionOptions{
DoAt: sim.CurrentTime + warrior.Bloodthirst.CD.Duration,
OnAction: func(_ *core.Simulation) {
if warrior.Bloodthirst.CanCast(sim, target) {
if warrior.IsUsingAPL {
warrior.Rotation.DoNextAction(sim)
} else if warrior.Bloodthirst.CanCast(sim, target) {
warrior.Bloodthirst.Cast(sim, target)
}
},
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/concussion_blow.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func (warrior *Warrior) registerConcussionBlowSpell() {
ActionID: core.ActionID{SpellID: 12809},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 15 - float64(warrior.Talents.FocusedRage),
Expand Down
1 change: 1 addition & 0 deletions sim/warrior/demoralizing_shout.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ func (warrior *Warrior) registerDemoralizingShoutSpell() {
ActionID: core.ActionID{SpellID: 25203},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskEmpty,
Flags: core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 10 - float64(warrior.Talents.FocusedRage),
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/devastate.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ func (warrior *Warrior) registerDevastateSpell() {
ActionID: core.ActionID{SpellID: 47498},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 15 - float64(warrior.Talents.FocusedRage) - float64(warrior.Talents.Puncture),
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/execute.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ func (warrior *Warrior) registerExecuteSpell() {
ActionID: core.ActionID{SpellID: 47471},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 15 -
Expand Down
4 changes: 2 additions & 2 deletions sim/warrior/heroic_strike_cleave.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ func (warrior *Warrior) registerHeroicStrikeSpell() {
ActionID: core.ActionID{SpellID: 47450},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagNoOnCastComplete | SpellFlagBloodsurge,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagNoOnCastComplete | SpellFlagBloodsurge | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 15 - float64(warrior.Talents.ImprovedHeroicStrike) - float64(warrior.Talents.FocusedRage),
Expand Down Expand Up @@ -58,7 +58,7 @@ func (warrior *Warrior) registerCleaveSpell() {
ActionID: core.ActionID{SpellID: 47520},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 20 - float64(warrior.Talents.FocusedRage),
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/mortal_strike.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ func (warrior *Warrior) registerMortalStrikeSpell(cdTimer *core.Timer) {
ActionID: core.ActionID{SpellID: 47486},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 30,
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/overpower.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func (warrior *Warrior) registerOverpowerSpell(cdTimer *core.Timer) {
ActionID: core.ActionID{SpellID: 7384},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 5 - float64(warrior.Talents.FocusedRage),
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/rend.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ func (warrior *Warrior) RegisterRendSpell(rageThreshold float64, healthThreshold
ActionID: core.ActionID{SpellID: 47465},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagNoOnCastComplete,
Flags: core.SpellFlagNoOnCastComplete | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 10 - float64(warrior.Talents.FocusedRage),
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/revenge.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func (warrior *Warrior) registerRevengeSpell(cdTimer *core.Timer) {
ActionID: actionID,
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 5 - float64(warrior.Talents.FocusedRage),
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/shield_slam.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ func (warrior *Warrior) registerShieldSlamSpell() {
ActionID: core.ActionID{SpellID: 47488},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial, // TODO: Is this right?
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 20 - float64(warrior.Talents.FocusedRage),
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/shockwave.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ func (warrior *Warrior) registerShockwaveSpell() {
ActionID: core.ActionID{SpellID: 46968},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskRangedSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 15 - float64(warrior.Talents.FocusedRage),
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/shouts.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ const ShoutExpirationThreshold = time.Second * 3
func (warrior *Warrior) makeShoutSpellHelper(actionID core.ActionID, extraDuration time.Duration) *core.Spell {
return warrior.RegisterSpell(core.SpellConfig{
ActionID: actionID,
Flags: core.SpellFlagNoOnCastComplete,
Flags: core.SpellFlagNoOnCastComplete | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 10,
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/slam.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ func (warrior *Warrior) registerSlamSpell() {
ActionID: core.ActionID{SpellID: 47475},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 15 - float64(warrior.Talents.FocusedRage),
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/stances.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ func (warrior *Warrior) makeStanceSpell(stance Stance, aura *core.Aura, stanceCD

return warrior.RegisterSpell(core.SpellConfig{
ActionID: actionID,
Flags: core.SpellFlagNoOnCastComplete,
Flags: core.SpellFlagNoOnCastComplete | core.SpellFlagAPL,

Cast: core.CastConfig{
CD: core.Cooldown{
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/sunder_armor.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ func (warrior *Warrior) newSunderArmorSpell(isDevastateEffect bool) *core.Spell
ActionID: core.ActionID{SpellID: 47467},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 15 - float64(warrior.Talents.FocusedRage) - float64(warrior.Talents.Puncture),
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/thunder_clap.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ func (warrior *Warrior) registerThunderClapSpell() {
ActionID: core.ActionID{SpellID: 47502},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskRangedSpecial,
Flags: core.SpellFlagIncludeTargetBonusDamage,
Flags: core.SpellFlagIncludeTargetBonusDamage | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 20 -
Expand Down
2 changes: 1 addition & 1 deletion sim/warrior/whirlwind.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func (warrior *Warrior) registerWhirlwindSpell() {
ActionID: core.ActionID{SpellID: 1680},
SpellSchool: core.SpellSchoolPhysical,
ProcMask: core.ProcMaskMeleeMHSpecial,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | SpellFlagBloodsurge,
Flags: core.SpellFlagMeleeMetrics | core.SpellFlagIncludeTargetBonusDamage | SpellFlagBloodsurge | core.SpellFlagAPL,

RageCost: core.RageCostOptions{
Cost: 25 - float64(warrior.Talents.FocusedRage),
Expand Down
10 changes: 5 additions & 5 deletions ui/core/launched_sims.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,23 +42,23 @@ export const simLaunchStatuses: Record<Spec, LaunchStatus> = {
export const aplLaunchStatuses: Record<Spec, LaunchStatus> = {
[Spec.SpecBalanceDruid]: LaunchStatus.Alpha,
[Spec.SpecFeralDruid]: LaunchStatus.Alpha,
[Spec.SpecFeralTankDruid]: LaunchStatus.Unlaunched,
[Spec.SpecFeralTankDruid]: LaunchStatus.Alpha,
[Spec.SpecRestorationDruid]: LaunchStatus.Unlaunched,
[Spec.SpecElementalShaman]: LaunchStatus.Alpha,
[Spec.SpecEnhancementShaman]: LaunchStatus.Unlaunched,
[Spec.SpecEnhancementShaman]: LaunchStatus.Alpha,
[Spec.SpecRestorationShaman]: LaunchStatus.Unlaunched,
[Spec.SpecHunter]: LaunchStatus.Alpha,
[Spec.SpecMage]: LaunchStatus.Alpha,
[Spec.SpecRogue]: LaunchStatus.Alpha,
[Spec.SpecHolyPaladin]: LaunchStatus.Unlaunched,
[Spec.SpecProtectionPaladin]: LaunchStatus.Unlaunched,
[Spec.SpecProtectionPaladin]: LaunchStatus.Alpha,
[Spec.SpecRetributionPaladin]: LaunchStatus.Alpha,
[Spec.SpecHealingPriest]: LaunchStatus.Unlaunched,
[Spec.SpecShadowPriest]: LaunchStatus.Alpha,
[Spec.SpecSmitePriest]: LaunchStatus.Alpha,
[Spec.SpecWarlock]: LaunchStatus.Alpha,
[Spec.SpecWarrior]: LaunchStatus.Unlaunched,
[Spec.SpecProtectionWarrior]: LaunchStatus.Unlaunched,
[Spec.SpecWarrior]: LaunchStatus.Alpha,
[Spec.SpecProtectionWarrior]: LaunchStatus.Alpha,
[Spec.SpecDeathknight]: LaunchStatus.Alpha,
[Spec.SpecTankDeathknight]: LaunchStatus.Alpha,
};
Expand Down

0 comments on commit f40006b

Please sign in to comment.