Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ele: change prepull to avoid gcd/haste issue #3838

Merged
merged 1 commit into from
Oct 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
168 changes: 168 additions & 0 deletions sim/shaman/elemental/TestElemental.results
Original file line number Diff line number Diff line change
Expand Up @@ -1026,6 +1026,48 @@ dps_results: {
tps: 4043.3569
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-Adaptive-advanced-FullBuffs-LongMultiTarget"
value: {
dps: 9036.1897
tps: 4049.05869
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-Adaptive-advanced-FullBuffs-LongSingleTarget"
value: {
dps: 6293.2028
tps: 3481.3102
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-Adaptive-advanced-FullBuffs-ShortSingleTarget"
value: {
dps: 9423.47937
tps: 5103.37126
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-Adaptive-advanced-NoBuffs-LongMultiTarget"
value: {
dps: 4965.72812
tps: 1729.23411
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-Adaptive-advanced-NoBuffs-LongSingleTarget"
value: {
dps: 2999.71923
tps: 1528.33138
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-Adaptive-advanced-NoBuffs-ShortSingleTarget"
value: {
dps: 6016.81526
tps: 3208.77645
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-Adaptive-default-FullBuffs-LongMultiTarget"
value: {
Expand Down Expand Up @@ -1068,6 +1110,48 @@ dps_results: {
tps: 3326.00116
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-EleFireElemental-advanced-FullBuffs-LongMultiTarget"
value: {
dps: 9036.1897
tps: 4049.05869
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-EleFireElemental-advanced-FullBuffs-LongSingleTarget"
value: {
dps: 6293.2028
tps: 3481.3102
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-EleFireElemental-advanced-FullBuffs-ShortSingleTarget"
value: {
dps: 9423.47937
tps: 5103.37126
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-EleFireElemental-advanced-NoBuffs-LongMultiTarget"
value: {
dps: 4965.72812
tps: 1729.23411
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-EleFireElemental-advanced-NoBuffs-LongSingleTarget"
value: {
dps: 2999.71923
tps: 1528.33138
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-EleFireElemental-advanced-NoBuffs-ShortSingleTarget"
value: {
dps: 6016.81526
tps: 3208.77645
}
}
dps_results: {
key: "TestElemental-Settings-Orc-P1-EleFireElemental-default-FullBuffs-LongMultiTarget"
value: {
Expand Down Expand Up @@ -1110,6 +1194,48 @@ dps_results: {
tps: 3326.00116
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-Adaptive-advanced-FullBuffs-LongMultiTarget"
value: {
dps: 8809.02003
tps: 4028.52781
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-Adaptive-advanced-FullBuffs-LongSingleTarget"
value: {
dps: 6199.10254
tps: 3451.45175
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-Adaptive-advanced-FullBuffs-ShortSingleTarget"
value: {
dps: 9244.06556
tps: 5055.98685
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-Adaptive-advanced-NoBuffs-LongMultiTarget"
value: {
dps: 4768.65159
tps: 1701.48462
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-Adaptive-advanced-NoBuffs-LongSingleTarget"
value: {
dps: 2934.48351
tps: 1513.55425
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-Adaptive-advanced-NoBuffs-ShortSingleTarget"
value: {
dps: 5892.59368
tps: 3181.45207
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-Adaptive-default-FullBuffs-LongMultiTarget"
value: {
Expand Down Expand Up @@ -1152,6 +1278,48 @@ dps_results: {
tps: 3317.4338
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-EleFireElemental-advanced-FullBuffs-LongMultiTarget"
value: {
dps: 8809.02003
tps: 4028.52781
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-EleFireElemental-advanced-FullBuffs-LongSingleTarget"
value: {
dps: 6199.10254
tps: 3451.45175
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-EleFireElemental-advanced-FullBuffs-ShortSingleTarget"
value: {
dps: 9244.06556
tps: 5055.98685
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-EleFireElemental-advanced-NoBuffs-LongMultiTarget"
value: {
dps: 4768.65159
tps: 1701.48462
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-EleFireElemental-advanced-NoBuffs-LongSingleTarget"
value: {
dps: 2934.48351
tps: 1513.55425
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-EleFireElemental-advanced-NoBuffs-ShortSingleTarget"
value: {
dps: 5892.59368
tps: 3181.45207
}
}
dps_results: {
key: "TestElemental-Settings-Troll-P1-EleFireElemental-default-FullBuffs-LongMultiTarget"
value: {
Expand Down
3 changes: 3 additions & 0 deletions sim/shaman/elemental/elemental_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ func TestElemental(t *testing.T) {
{Label: "EleFireElemental", SpecOptions: PlayerOptionsAdaptiveFireElemental},
},
Rotation: core.GetAplRotation("../../../ui/elemental_shaman/apls", "default"),
OtherRotations: []core.RotationCombo{
core.GetAplRotation("../../../ui/elemental_shaman/apls", "advanced"),
},

ItemFilter: core.ItemFilter{
WeaponTypes: []proto.WeaponType{
Expand Down
26 changes: 26 additions & 0 deletions ui/elemental_shaman/apls/advanced.apl.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"enabled": true,
"type": "TypeAPL",
"prepullActions": [
{"action":{"castSpell":{"spellId":{"spellId":59159}}},"doAtValue":{"const":{"val":"-5s"}}},
{"action":{"castSpell":{"spellId":{"spellId":49238}}},"doAtValue":{"const":{"val":"-3.5s"}}},
{"action":{"castSpell":{"spellId":{"spellId":49271}}},"doAtValue":{"const":{"val":"-1.00s"}}}
],
"priorityList": [
{"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"0s"}}}},{"spellIsReady":{"spellId":{"spellId":2825,"tag":-1}}}]}},"castSpell":{"spellId":{"spellId":2825,"tag":-1}}}},
{"hide":true,"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"2s"}}}},{"spellIsReady":{"spellId":{"spellId":2825}}}]}},"castSpell":{"spellId":{"spellId":2825}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":16166}}},{"cmp":{"op":"OpGe","lhs":{"spellCastTime":{"spellId":{"spellId":49238}}},"rhs":{"const":{"val":"1.0s"}}}}]}},"castSpell":{"spellId":{"spellId":16166}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":54758}}},{"not":{"val":{"auraIsActive":{"auraId":{"spellId":2825,"tag":-1}}}}},{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"41s"}}}}]}},"castSpell":{"spellId":{"spellId":54758}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":2894}}},{"or":{"vals":[{"auraIsActive":{"auraId":{"itemId":40255}}},{"auraIsActive":{"auraId":{"itemId":40682}}},{"auraIsActive":{"auraId":{"itemId":37660}}},{"auraIsActive":{"auraId":{"itemId":45518}}},{"auraIsActive":{"auraId":{"itemId":54572}}},{"auraIsActive":{"auraId":{"itemId":54588}}},{"auraIsActive":{"auraId":{"itemId":47213}}},{"auraIsActive":{"auraId":{"itemId":45490}}},{"auraIsActive":{"auraId":{"spellId":71636}}},{"auraIsActive":{"auraId":{"itemId":50365}}},{"auraIsActive":{"auraId":{"itemId":50345}}},{"auraIsActive":{"auraId":{"itemId":50340}}},{"auraIsActive":{"auraId":{"itemId":50398}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"itemId":50353}}},"rhs":{"const":{"val":"9"}}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"itemId":50348}}},"rhs":{"const":{"val":"9"}}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":60486}}},"rhs":{"const":{"val":"10"}}}}]}}]}},"strictSequence":{"actions":[{"castSpell":{"spellId":{"spellId":33697}}},{"castSpell":{"spellId":{"itemId":50357}}},{"castSpell":{"spellId":{"spellId":2894}}}]}}},
{"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":2894}}}}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":58704}}}}},{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"120"}}}},{"cmp":{"op":"OpGe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"20s"}}}}]}},"castSpell":{"spellId":{"spellId":58704}}}},
{"action":{"condition":{"and":{"vals":[{"not":{"val":{"dotIsActive":{"spellId":{"spellId":49233}}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"3s"}}}}]}},"multidot":{"spellId":{"spellId":49233},"maxDots":3,"maxOverlap":{"const":{"val":"10ms"}}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":49271}}},{"cmp":{"op":"OpGe","lhs":{"spellCastTime":{"spellId":{"spellId":49271}}},"rhs":{"const":{"val":".92s"}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":".98s"}}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":60043}}}}}]}},"castSpell":{"spellId":{"spellId":49271}}}},
{"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"dotRemainingTime":{"spellId":{"spellId":49233}}},"rhs":{"const":{"val":".98s"}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":".98s"}}}},{"spellIsReady":{"spellId":{"spellId":60043}}}]}},"castSpell":{"spellId":{"spellId":60043}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"itemId":40211}}},{"cmp":{"op":"OpGe","lhs":{"spellCastTime":{"spellId":{"spellId":49238}}},"rhs":{"const":{"val":"1.00s"}}}}]}},"castSpell":{"spellId":{"itemId":40211}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":33697}}},{"cmp":{"op":"OpGt","lhs":{"currentTime":{}},"rhs":{"const":{"val":"60s"}}}}]}},"castSpell":{"spellId":{"spellId":33697}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"itemId":42641}}}]}},"castSpell":{"spellId":{"itemId":42641}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"itemId":41119}}},{"not":{"val":{"spellIsReady":{"spellId":{"itemId":42641}}}}}]}},"castSpell":{"spellId":{"itemId":41119}}}},
{"action":{"condition":{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"1.25s"}}}},"castSpell":{"spellId":{"spellId":49238}}}},
{"action":{"condition":{"cmp":{"op":"OpLe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":".97s"}}}},"castSpell":{"spellId":{"spellId":49236}}}}
]
}
28 changes: 2 additions & 26 deletions ui/elemental_shaman/presets.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import * as Tooltips from '../core/constants/tooltips.js';
import { Faction } from '../core/proto/common.js';

import DefaultApl from './apls/default.apl.json';
import AdvancedApl from './apls/advanced.apl.json';

// Preset options for this spec.
// Eventually we will import these values for the raid sim too, so its good to
Expand Down Expand Up @@ -255,31 +256,6 @@ export const ROTATION_PRESET_ADVANCED = {
name: 'Advanced APL',
rotation: SavedRotation.create({
specRotationOptionsJson: ElementalShamanRotation.toJsonString(DefaultRotation),
rotation: APLRotation.fromJsonString(`{
"enabled": true,
"type": "TypeAPL",
"prepullActions": [
{"action":{"castSpell":{"spellId":{"spellId":59159}}},"doAtValue":{"const":{"val":"-3.75s"}}},
{"action":{"castSpell":{"spellId":{"spellId":49238}}},"doAtValue":{"const":{"val":"-2.50s"}}},
{"action":{"castSpell":{"spellId":{"spellId":49271}}},"doAtValue":{"const":{"val":"-1.03s"}}}
],
"priorityList": [
{"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"0s"}}}},{"spellIsReady":{"spellId":{"spellId":2825,"tag":-1}}}]}},"castSpell":{"spellId":{"spellId":2825,"tag":-1}}}},
{"hide":true,"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"2s"}}}},{"spellIsReady":{"spellId":{"spellId":2825}}}]}},"castSpell":{"spellId":{"spellId":2825}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":16166}}},{"cmp":{"op":"OpGe","lhs":{"spellCastTime":{"spellId":{"spellId":49238}}},"rhs":{"const":{"val":"1.0s"}}}}]}},"castSpell":{"spellId":{"spellId":16166}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":54758}}},{"not":{"val":{"auraIsActive":{"auraId":{"spellId":2825,"tag":-1}}}}},{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"41s"}}}}]}},"castSpell":{"spellId":{"spellId":54758}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":2894}}},{"or":{"vals":[{"auraIsActive":{"auraId":{"itemId":40255}}},{"auraIsActive":{"auraId":{"itemId":40682}}},{"auraIsActive":{"auraId":{"itemId":37660}}},{"auraIsActive":{"auraId":{"itemId":45518}}},{"auraIsActive":{"auraId":{"itemId":54572}}},{"auraIsActive":{"auraId":{"itemId":54588}}},{"auraIsActive":{"auraId":{"itemId":47213}}},{"auraIsActive":{"auraId":{"itemId":45490}}},{"auraIsActive":{"auraId":{"spellId":71636}}},{"auraIsActive":{"auraId":{"itemId":50365}}},{"auraIsActive":{"auraId":{"itemId":50345}}},{"auraIsActive":{"auraId":{"itemId":50340}}},{"auraIsActive":{"auraId":{"itemId":50398}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"itemId":50353}}},"rhs":{"const":{"val":"9"}}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"itemId":50348}}},"rhs":{"const":{"val":"9"}}}},{"cmp":{"op":"OpEq","lhs":{"auraNumStacks":{"auraId":{"spellId":60486}}},"rhs":{"const":{"val":"10"}}}}]}}]}},"strictSequence":{"actions":[{"castSpell":{"spellId":{"spellId":33697}}},{"castSpell":{"spellId":{"itemId":50357}}},{"castSpell":{"spellId":{"spellId":2894}}}]}}},
{"action":{"condition":{"and":{"vals":[{"not":{"val":{"auraIsActive":{"auraId":{"spellId":2894}}}}},{"not":{"val":{"dotIsActive":{"spellId":{"spellId":58704}}}}},{"cmp":{"op":"OpGe","lhs":{"currentTime":{}},"rhs":{"const":{"val":"120"}}}},{"cmp":{"op":"OpGe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"20s"}}}}]}},"castSpell":{"spellId":{"spellId":58704}}}},
{"action":{"condition":{"and":{"vals":[{"not":{"val":{"dotIsActive":{"spellId":{"spellId":49233}}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"3s"}}}}]}},"multidot":{"spellId":{"spellId":49233},"maxDots":3,"maxOverlap":{"const":{"val":"10ms"}}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":49271}}},{"cmp":{"op":"OpGe","lhs":{"spellCastTime":{"spellId":{"spellId":49271}}},"rhs":{"const":{"val":".92s"}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":".98s"}}}},{"not":{"val":{"spellIsReady":{"spellId":{"spellId":60043}}}}}]}},"castSpell":{"spellId":{"spellId":49271}}}},
{"action":{"condition":{"and":{"vals":[{"cmp":{"op":"OpGt","lhs":{"dotRemainingTime":{"spellId":{"spellId":49233}}},"rhs":{"const":{"val":".98s"}}}},{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":".98s"}}}},{"spellIsReady":{"spellId":{"spellId":60043}}}]}},"castSpell":{"spellId":{"spellId":60043}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"itemId":40211}}},{"cmp":{"op":"OpGe","lhs":{"spellCastTime":{"spellId":{"spellId":49238}}},"rhs":{"const":{"val":"1.00s"}}}}]}},"castSpell":{"spellId":{"itemId":40211}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"spellId":33697}}},{"cmp":{"op":"OpGt","lhs":{"currentTime":{}},"rhs":{"const":{"val":"60s"}}}}]}},"castSpell":{"spellId":{"spellId":33697}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"itemId":42641}}}]}},"castSpell":{"spellId":{"itemId":42641}}}},
{"action":{"condition":{"and":{"vals":[{"spellIsReady":{"spellId":{"itemId":41119}}},{"not":{"val":{"spellIsReady":{"spellId":{"itemId":42641}}}}}]}},"castSpell":{"spellId":{"itemId":41119}}}},
{"action":{"condition":{"cmp":{"op":"OpGt","lhs":{"remainingTime":{}},"rhs":{"const":{"val":"1.25s"}}}},"castSpell":{"spellId":{"spellId":49238}}}},
{"action":{"condition":{"cmp":{"op":"OpLe","lhs":{"remainingTime":{}},"rhs":{"const":{"val":".97s"}}}},"castSpell":{"spellId":{"spellId":49236}}}}
]
}`),
rotation: APLRotation.fromJsonString(JSON.stringify(AdvancedApl)),
}),
}
Loading