You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

965 lines
38 KiB

commit b092925522e93f7dc841c85d1d410671679ba3f4
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Mar 28 18:41:56 2017 -0400
7.2: Update some PTR data to live.
commit 49d6017332d1d05f0ff9d0908205b2ef4a9daf0c
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Mar 28 18:40:03 2017 -0400
7.2: Update Paladin Defaults
commit 3bf3cce2818118cc4a356d93bb3cb9c1461c352f
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Mar 28 18:29:44 2017 -0400
7.2: So much stuff.
This update note is objectively bad.
commit de640f1f8ced7fc6463ab6a9335c96d6ba723c7a
Author: Hekili <Hekili@users.noreply.github.com>
Date: Sat Mar 18 23:30:31 2017 -0400
ALPHA: Try event-driven (with 0.05 ICD) updates instead of interval updates.
+ Add resource.time_to_XX calculation.
commit 5cbec630ff5d800987bd91140db622507f6d752e
Author: Hekili <Hekili@users.noreply.github.com>
Date: Sat Mar 18 10:52:15 2017 -0400
Fixes for run_action_list, call_action_list, ...
o When an action list's criteria is checked, it will not use padded
criteria (i.e., recheck in 0.1s, half-GCD, etc.) because this has caused
the addon to test inferior action lists before their criteria are met
(blocking higher priority lists).
o Added 0.05s of padding to regenerated resource prediction time. Wew
lads!
commit 218a68f4bdca3a9c745e9c1e012e41eb4d74d3c0
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Mar 14 00:22:14 2017 -0400
Improved Debugging, Incremental Fixes
+ The debug system will now allow you to generate a text-log of its
decision-making process for clearer debugging. There will be some
iterating on this.
+ The 'Pause' key will generate a snapshot that can be viewed through
/hekili. The 'Pause' key can be set to *just* take a snapshot instead
of freezing the display.
+ Energy/Focus abilities default to a CPU-intensive decision-making
process to help offset issues with resource regeneration. This can be
disabled by checking "Low Impact Mode" under general settings.
+ Added 'Fatigued' to the list of Bloodlust-blocking auras.
commit 33b10ee32a612e0aa8b745f507d36dec4c02207a
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 27 00:24:55 2017 -0500
FIXES
o Reset the delay after advance to the cast time of a selected action
(failing to do so could cause distortions in the predicted game state,
i.e. if the addon had a delay of 0.5s to refresh a buff that was falling
off in 0.75s, when the addon advanced 0.5s then tried to update, it
would result in checking buff duration at 0.5s + 0.5s and the buff would
already be down). Discussing time offsets is a pain in the ass and I
understand why Murozond would want to destroy the timeline.
o Time Script and Conditions debugging will have more accurate and
useful information.
o Added 'time_to_max_charges' attribute to cooldowns.
o Removed an error() call that just annoyed me; it should've known
better than to mess with me.
o Removed more tick-based regen stuff, just using time seems to work
better.
commit 08b86c4d6376002b929da7e210b2cc3cf11b7d90
Author: Hekili <Hekili@users.noreply.github.com>
Date: Sat Feb 25 18:20:32 2017 -0500
Debug Info, Resource Ticks
o Fix for debug tooltip; show the amount of resources when an entry is
recommended.
o Turn off tick-based resource regeneration prediction for a bit.
commit 369dcbaf04526c4afe68f1a4674cbf235092eecc
Author: Hekili <Hekili@users.noreply.github.com>
Date: Sat Feb 25 01:31:14 2017 -0500
Pet stuff, channel stuff.
commit 8800504c77628b000c1da9fc225ab6f0f9d0fd26
Author: Hekili <Hekili@users.noreply.github.com>
Date: Fri Feb 24 22:42:10 2017 -0500
Display Updates, Forced Updates, Remove Rounding
o Display Updates will happen more frequently (even if the
recommendations haven't been refreshed). This helps text timers work
properly.
o Talent-swapping and cooldown toggling will force immediate
recommendation updates.
o Remove a lot of rounding that wasn't needed after the refresh bug was
found.
commit 18efb2692f835c0438045b91098bdebb740d34ad
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 20 13:08:53 2017 -0500
Masque Fixes
+ The addon should properly update Masque textures for modularized specs
(Monks, Hunters).
+ If you disable Masque, the icon texture should return to the right
size (P.S. HOW DARE YOU RESIZE MY ICON TEXTURES, MASQUE).
commit 7f17cd43524ddf6954995779f31aefd1723aeeec
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 20 11:51:50 2017 -0500
Range-check and Judgment
+ Add 'range' value to abilities; when set, the range-coloring will use
the specified spellID instead of the action spellID for range-checking.
+ Use range on Hand of Reckoning for Judgment since IsSpellInRange()
returns bad data for Judgment.
commit 81464635ed47db3bc9bfde5269f01e434e8fff18
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 20 11:44:57 2017 -0500
Fix Consecration buff 'uptime' calculation.
commit 8942edd1dcda679703965ab1557b8b5911ab139a
Author: Hekili <Hekili@users.noreply.github.com>
Date: Sun Feb 19 23:04:14 2017 -0500
Elemental Fixes
SHAMAN
o Earthquake consumes Echoes of the Great Sundering.
o Update APLs, Frost Shock was inadvertently used in place of Lightning
Bolt in the Lightning Rod action list.
CORE
o Use proper throttling so the addon updates as scheduled (unless an
event occurs to trigger a faster update).
STATE
+ Add 'refreshable' attribute to buffs/debuffs/dots (used in Hunter
APL).
+ Cache 'timeToReady' calculations to reduce CPU usage.
commit 1f794d6301ca263fe592c1c2814d24fc3114af74
Author: Hekili <Hekili@users.noreply.github.com>
Date: Fri Feb 17 17:33:01 2017 -0500
Stormbringer can stack to 2.
commit f408de897c96d0a92957167bb45958ca2ab6f76b
Author: Hekili <Hekili@users.noreply.github.com>
Date: Fri Feb 17 17:32:10 2017 -0500
Revert "LibArtifactData-1.0"
This reverts commit 929f6b1a90ae5feaf742fe216a71de709498dea7.
commit 8ac79b849b9ba208c0d2f8c577fcb4009095fa28
Author: Hekili <Hekili@users.noreply.github.com>
Date: Fri Feb 17 09:13:48 2017 -0500
Resource Regen Fixes
You should probably not gain resources at 10x their regeneration rate.
commit 944cd2db9548c14f56f996e6b47abdcd82477b12
Author: Hekili <Hekili@users.noreply.github.com>
Date: Fri Feb 17 08:25:04 2017 -0500
FIX: Energy Time to Max Calculation
commit eef19670d3833f5783ae5cf7bf68eabb813743f3
Author: Hekili <Hekili@users.noreply.github.com>
Date: Thu Feb 16 19:44:40 2017 -0500
Shaman Fixes
o More tweaking to Elemental APLs.
o Default Elemental AOE display will assume a minimum of 2 targets,
rather than 3.
o Enhancement APL will use `true_active_enemies` value to determine
whether to apply/refresh Crash Lightning buff (so that if you set to
single-target mode for a fight like Mythic Botanist, it will still
encourage you to activate Crash Lightning for the buff).
commit 929f6b1a90ae5feaf742fe216a71de709498dea7
Author: Hekili <Hekili@users.noreply.github.com>
Date: Thu Feb 16 19:29:40 2017 -0500
LibArtifactData-1.0
o Going to try trusting LibArtifactData to stop leaving an empty
artifact frame open...
commit 7a7300738496cb22565b55a3913be7f607cb89ba
Author: Hekili <Hekili@users.noreply.github.com>
Date: Thu Feb 16 19:20:42 2017 -0500
FIXES: WW Monk, Focus/Energy
o Arcane Torrent flagged as offGCD, will not interfere with WW Hit
Combo.
o Focus/Energy modeling will be ignored if your class module doesn't
have focus/energy models.
o Go away, new target system, you're not happening yet.
commit 2fe6e7fc50a6808e03cb1bd047a47b1a416ea707
Author: Hekili <Hekili@users.noreply.github.com>
Date: Sun Feb 12 21:09:10 2017 -0500
UPDATES, FIXES
Shaman: Fix `maelstrom` in Elemental APLs to use `maelstrom.current`.
o Fix cycle_targets indicators in some Elemental APLs.
- Retire broken SimC import APLs.
Scripts:
o Time Scripts will round delays to the thousandth of a second.
State:
o Fix for resource meta-functions (they were not being used; I don't
know that I use them anyway but now they'll work if I do).
o Resource `time_to_max` expr will try to factor resource regeneration
better (tick-based).
o When advancing the clock, resources will be generated if the clock
advances to the regeneration point (would previously only regenerate if
the clock passes the regen tick).
Targets: Insert initial framework for tracking buffs/health of enemies
live, this will be used to allow improved target-cycle recommendations.
Utils:
+ roundUp function now uses math instead of string functions for
efficiency's sake.
commit e2cdb4995e1a80b675d2c7196bd67939f1102f47
Author: Hekili <Hekili@users.noreply.github.com>
Date: Thu Feb 9 10:53:52 2017 -0500
Improve imported action list version-tagging.
Don't ask.
commit ece2be03b2176610328411971b83f9293ec5c6d5
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Feb 7 22:50:07 2017 -0500
Round TimeScripts up to the hundredth of a second.
commit ccfe3733e430b568bde8690ee95ca752568f676f
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Feb 7 16:10:48 2017 -0500
Assorted Timing Fixes
+ Registered more interrupts as interrupts; this enables them to ignore
the GCD. (Other offGCD abilities will wait for the GCD to prevent
queue-jumping.)
+ More resource regen tuning (uses worst case timing for abilities that
are waiting for resources).
commit 5d0dc5e7ed9831d53cefc6721dd7dccb39bdac66
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Feb 7 13:25:39 2017 -0500
Disable Recommendation Window
- It's too CPU intensive.
commit c4713816d4658d6c48a15b6d77214e5bb6964e78
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Feb 7 13:21:07 2017 -0500
Changes
- Revert query_time to not factor latency.
o more tweaking of resource regeneration
+ Recommendation Window is getting changed to Clash...
commit fe25e54ea55977fd139acc48e74b077ca4711a7c
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Feb 7 09:51:01 2017 -0500
More prediction stuff.
Classes: Keep a list of artifacts -- these are immune to the BG/arena
disabling of set_bonuses.
State: Abilities can use a custom spend() function for cases where
padding resources is needed.
commit 10dc56f5b879cf2a2309b2f06724cfa0969a0fc8
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 6 21:48:36 2017 -0500
Fix energy prediction some more.
commit 1b88831a23578c0e3d1da8aa7cbf1bbdef7eeac4
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 6 19:22:21 2017 -0500
More resource prediction updates.
+ Ticking resources will generate more consistent with their ticks when
the clock advances.
commit 76379768baf7586ef5665ddd718e627b64ef10a3
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 6 18:54:57 2017 -0500
Power forecasting adjustments.
+ The addon now keeps track of an average tick rate for energy/focus.
When predicting how long it will take for an ability to have enough
resources, the addon will project to the next tick.
commit 2017c86944c20b0eb6c726ca57b1917877fb2d8d
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 6 18:12:25 2017 -0500
Remove extraneous /
commit 4d4bc82c1a9daa03b76577ebd704616c2d42ab8b
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 6 18:11:55 2017 -0500
More resource prediction tuning...
commit b8d13a3488924e8a3d5cde81618cdfc398412bcf
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 6 18:03:58 2017 -0500
More Fixes
1. Turn off Flicker Protection, getting reports of freezing.
2. Detect BGs/Arenas and turn off set-bonuses in those settings
(equipped.X will fail except for Artifacts).
3. Track UNIT_POWER_FREQUENT ticks and round energy gains to the next
tick.
commit 97ddad64812f9feab90457cced7fcb2b260d3b13
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 6 11:31:28 2017 -0500
FIXES
CORE
+ spendResources() comes *before* runHandler() so that the handler
doesn't change the amount of resources to spend. For instance,
runHandler could remove Divine Purpose or The Fires of Justice, which
would change the cost of Divine Storm or Templar's Verdict.
+ Tweak the flicker protection a little bit.
STATE
+ Slight cleanup to timeToReady().
commit c6b3fcf5d5a490d38c86735f6f70da5f580a92da
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 6 10:11:43 2017 -0500
FIX: Tiny error in flicker-protection code.
commit 2912bff1c292a8e7249be1e1841a64d2ae90a01e
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Feb 6 01:01:55 2017 -0500
Assorted Fixes, Improvements for Hunter Support
Classes: Block a 'pseudo-start' of combat for actions that are "in-air"
and projected to land.
+ Add Netherwinds to the list of Bloodlust buffs.
Core: Initial implementation of "flicker protection."
+ Basically, if it sees that the addon's last several recommendations
have flickered between the newest actions and something else, it just
won't bother updating. Will be iterating on this.
Events: Spells that have been cast and are projected to land will
default to a 0.05 travel time.
State: 'query_time' will now incorporate latency into its
recommendation. This will result in the addon making recommendations
based on a slightly later game-state.
+ Holy Power is treated like a regenerating resource when Liadrin's Fury
Unleashed is equipped and AW/Crusade is up. THIS NEEDS TESTING.
+ Tried to improve ability "timeToReady" calculations for Survival
Hunters when using Spitting Cobra.
commit e08f75682d33de3028b13802bc6cb9d9c5a6b9b1
Author: Hekili <Hekili@users.noreply.github.com>
Date: Wed Feb 1 22:25:59 2017 -0500
Paladin: Import updates for Retribution APLs.
commit fa58f4651b5456718e9c386bea65a447dd0e45fc
Author: Hekili <Hekili@users.noreply.github.com>
Date: Wed Feb 1 18:09:26 2017 -0500
Elemental: Recommend Stormkeeper more often in one of the Ele builds.
commit 4111653b17642a66a731119e01110b9f722f1948
Author: Hekili <Hekili@users.noreply.github.com>
Date: Wed Feb 1 17:53:19 2017 -0500
Improve keybinding detection and labeling.
commit a4bf55dca02774bac6f4e0903106a7ce4bd636e0
Author: Hekili <Hekili@users.noreply.github.com>
Date: Sun Jan 29 20:26:30 2017 -0500
Harder, Faster, Better, Stronger
Events: The addon will respond more quickly to events that impact
ability recommendations. This may require further tuning on a per-spec
basis, to make sure all abilities with a travel time are flagged
appropriately.
+ The addon will now gather keybindings using the default API. This
*should* work for any bar mod, but I'm not going to test them
personally.
Paladins: You can now specify the maximum amount of Holy Power that
you'll allow Wake of Ashes to waste. The addon will not recommend Wake
of Ashes if you have more than the specified amount of Holy Power (and
have the Ashes to Ashes trait).
Core: The addon will do a better job of purging ancient profiles so it
will, you know, work.
+ Display updates will occur more frequently (so Monk/Hunter timers will
be less...lurchy?).
+ The addon will attempt to detect and display ability keybindings.
Options: Default Nameplate Detection Range increased to 8.
+ Recommendation Window added, allows you to specify that an ability has
to be available for at least X seconds (by default, 0.1) in order to be
recommend. This *may* reduce some ability flicker.
+ Each display has its own independent settings for keybinds (show/don't
show, upper/lowercase).
o Renamed the "Blizzard Overlay" to "Overlay Glow" for slight clarity
improvement.
State: Keep track of latency, may factor it into buff.X.up,
buff.X.remains and similar criteria going forward.
- Removed the 0.05s padding from timeToReady() for focus/energy based
classes.
commit 7197fb8ff0f6cb7c31c4e05047fd33bb3c7ec589
Author: Hekili <Hekili@users.noreply.github.com>
Date: Sat Jan 28 11:15:47 2017 -0500
Tweaks and Fixes
Classes: Store item keys when storing gearsets.
- Hunters gain 15 Focus from Arcane Torrent.
Core and Scripts: Removed old override and delay arguments from
checkScript.
+ Added 'recheck' as arg4 to checkScript. recheck tells the addon to
see if the same script passes after `recheck' seconds, ostensibly to
confirm that the action will be recommended for at least that much time.
o recheck will need further config option support through the UI, it is
not yet used.
State: Check GetSpellCharges() using spellID rather than spell name,
mainly to fix Storm, Earth, and Fire but will surely impact other
things.
o Built in padding on energy/focus regen reduced to 0.05s from 0.1s.
commit 39a10f34f6839a9d28962246fbf3e6bce8d21b87
Author: Hekili <Hekili@users.noreply.github.com>
Date: Fri Jan 20 20:55:58 2017 -0500
7.1.5.2 work-in-progress
Shaman: Add Lava Surge buff for Elemental. Add Lava Surge/Lava Burst
interaction.
Core: Allow texture overrides. Allow time offsets to show for Hunters.
Scripts: Allow basic duplicate checking to see if action criteria is
met over a window period (not presently used).
State: Improve basic pet mechanics.
+ Fix an error with regard to unit IDs in debuffs.
+ Remove maelstrom hook from the state table.
commit e340209b759dfe64e73bc9760279b12902ddbfa3
Author: Hekili <Hekili@users.noreply.github.com>
Date: Thu Jan 12 22:43:19 2017 -0500
Elemental Improvements
+ Flagged abilities that don't start combat as passive.
+ Iterated on Elemental APLs. Combined the SimC and SEL and left the
result in SEL lists. Some spells were missing from the SEL lists.
Should be an improvement.
Core: Prevent an error with setting delay text on Monk abilities that
are not yet ready.
Events: Force an early refresh on UNIT_SPELLCAST_START to help caster
modules (just Ele for now).
commit f38c119a4fe8a37a99d255be8ccb82e430daa735
Author: Hekili <Hekili@users.noreply.github.com>
Date: Wed Jan 11 22:04:01 2017 -0500
Cleanups, fixes...
Classes: When initiating fake combat, start it just before a cast
finishes because reasons.
Shaman: New Class Settings.
+ Aggressive Stormkeeper: Used in handwritten Elemental playlists to
recommend Stormkeeper closer to "on cooldown."
+ Predict Melee: Used by the addon engine to decide whether to try to
predict Maelstrom generated by your weapon swings.
+ Predict Fury of Air: Used by the addon engine to decide whether to
try to predict Maelstrom lost by Fury of Air.
o Fix for Lava Burst generating 12 Maelstrom.
o Moved MP swing generation and FoA expenditure prediction into
Shaman.lua and added options to turn it on/off.
+ Wrote new APLs based off the guides at Storm, Earth, and Lava for
Elemental Shamans.
+ Added some class settings for Elemental and Enhancement.
o Corrected some MP generation stuff for Elementals.
+ Fix Totem Mastery to apply the invented 'totem_mastery' buff.
+ New default APLs, Enhancement APLs support more class settings.
Core: Set spell textures by spell ID rather than by spell name due to
localization.
Options: Add a bunch of options regarding target detection, fix some
other stuff.
Targets: Make target detection work with new addon settings.
commit 585101b326c6b0c8aa0c9315a1ac70793fd84679
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Jan 10 22:02:13 2017 -0500
Paladin: Fix spell ID for Crusade.
commit 2d87503b1703debf4f38e773f77818211ae07506
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Jan 10 17:08:43 2017 -0500
7.1.5: Fix for false cooldown recovery bonuses applied when advancing the clock.
commit c058201b6f7cf464a120904c36b4d357a89dce93
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Jan 10 13:30:43 2017 -0500
Paladin: Fix judgment_override.
commit 333e37be7153458c8473b1854b43e066228b67bf
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Jan 10 12:14:25 2017 -0500
Second fix for 'casting' debuff on enemies who are casting (and removing it properly when interrupting).
commit 170dda70c3bb45a0b0ee19b39c4f315de3204e32
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Jan 10 12:00:32 2017 -0500
Fix for 'casting' debuff on enemies who are casting.
commit b28f7455cce7b913904c8e004f79b0815d68f68d
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Jan 10 11:30:13 2017 -0500
Make the addon actually, you know, load...
commit db22036fa1cf3388c30f52763ca1d220fccc6835
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Jan 10 11:22:11 2017 -0500
7.1.5 - Lock in PTR to live changes, fix broken version detection.
commit ce1203457218280b7fcc4dfd7c087eefc5564784
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Jan 10 02:09:03 2017 -0500
7.1.5...
OK, lots and lots of stuff. Basically, this is the big update that
hopefully makes 7.1.5 work for Enhancement, Elemental (suuuper beta),
Windwalker, Brewmaster, Retribution, and Protection.
Shaman:
+ Improved Totem Mastery detection, has its own buff now, can check the
remaining time more effectively.
+ Moved fake buffs to ID -100 and lower.
+ Aftershock refunds 0.3 MP.
- Removed "Prioritize Buffs" setting as its no longer relevant to the
Enhancement APL.
+ Added "Fury of Air: Maelstrom Padding" setting so that you can keep
yourself from overspending Maelstrom when you're keeping Fury of Air up.
o Left the "Maelstrom: Boulderfist" setting but it's not actually used
for the moment.
- Removed/hid the "Maelstrom: Crash Lightning" setting since it's not
relevant to the current APL.
+ Fixed Ascendance ID for Elemental.
+ Made Boulderfist benefit from Gathering of the Maelstrom.
+ Updated Earth Elemental CD and duration.
+ Earth Shock, Earthquake, Elemental Blast, Flame Shock, Frost Shock,
Icefury, Lava Beam, etc. will spend a stack of Elemental Focus.
+ Frost Shock will spend a stack of Icefury.
+ Icefury will generate 24 MP.
+ Fury of Air will cost 3 MP.
+ Gave Lightning Bolt a VERY HIGH travel time to see if that stabilizes
some MP forecasting.
+ LB + Power of the Maelstrom generates 14 MP. Hopefully. I'm hoping
it's guaranteeing an Overload and not just giving 2x MP if you're lucky
enough to Overload. Needs testing.
+ Overcharge LB cooldown is 12 * haste.
+ Rockbiter gives 20 MP + Gathering of the Maelstrom bonus.
+ Rockbiter will actually apply Landslide now.
+ Storm Elemental CD/duration halved.
+ Totem Mastery is no longer usable if 15 seconds remain on its buffs
(i.e., you're in-range of the totems and duration is still > 15s).
+ New default APLs. Pray for Omarion.
Paladins:
o Changed Blade of Wrath's talent ID???
o Judgment's duration is 8 seconds. Feign function disabled in favor of
new travel-time prediction.
o Liadrin's Fury Unleashed gives 1 HP every 4 sec (was 2.5 sec).
+ Try to model haste gains from Crusade when spending HP.
o NEED TO MODEL HASTE LOSS FROM CRUSADE DROPPING IN STATE.ADVANCE().
o Divine Intervention reduces Divine Shield CD by 20%.
o Execution Sentence costs 0 HP with Divine Purpose, otherwise TFoJ
reduces by 1.
o Execution Sentence removes DP first, then TFoJ. Not both.
- Greater Blessing of Might is gone.
o Judgment has a travel time of 30 yd/sec.
o Word of Glory spending accounts for Divine Purpose, TFoJ.
o Modified WoG's heal.
o New defaults displays/APLs.
Classes:
+ Support new prev.#.ability syntax for new APLs.
+ Improve weapon swing projections at start of combat (improves
Maelstrom projections).
+ Add 'casting' as a debuff since some APLs check for
target.debuff.casting.up.
+ Added 'run_action_list' which jumps to another action list and does
not return to the caller.
+ Trimmed potion listing, made potion.usable() check if you have any
potions to use.
+ Started with retireDefaults( .. ) which will eventually wipe old
defaults instead of leaving them in your profile.
Core:
o Indentation cleanup.
o TODO: ADD CHAIN LIGHTNING/LAVA BEAM TO ICON CACHE.
o Cleanups for time/ready scripts, modifications to make cycle_targets
work a bit better (and more automatically).
o Delay text added for Monks since they may be waiting to use something
that's usable based on energy regeneration.
Events:
+ Track casts on/off/regardless-of GCD status.
+ Watch Fury of Air ticks for Maelstrom projection purposes.
Options:
+ Made some "modifiers" more user-friendly, but the interface is shit.
Will update again soon.
+ Improved the importer a lot, but still a long ways to go.
commit e80e03f4e88c495ecfb9f72cd85b30cc0e0cc43a
Author: Hekili <Hekili@users.noreply.github.com>
Date: Wed Dec 7 22:40:32 2016 -0500
Reversions, Bugfixes
CLASSES
o Potions belong on the 'potions' toggle rather than 'cooldowns'.
STATE
o Revert cooldown.X.remains change due to issues.
CORE
o Advance to the end of GCD after each cycle again, until a better
solution is found.
commit 2cfd1e270ec6cc931b7d68a6da80add594d821c9
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Dec 6 22:28:08 2016 -0500
BETA: Fixes to latest beta, Paladin, Shaman.
PALADIN
o Fix toggle for Artifact Ability (under 'toggle' rather than
'settings').
SHAMAN
o Fix Aftershock refunds to not cause an error.
STATE
o Trying modification to target counts; if the addon has detected more
enemies than nameplates have shown, trust the addon's detection. We'll
see how this goes. (Should fix issues when Blizzard bugs out on hitbox
sizes, i.e. EN Dragons).
o Instead of advancing to the end of the GCD, trying cooldown.X.remains
returning X's remaining CD or the remaining GCD, whichever is greater.
Should apply only to offGCD abilities. Makes the addon more friendly to
weaving offGCD stuff like interrupts.
UI
o Fix an outstanding bug with the notification panel creating a dead
spot for mouse interaction.
commit 501ab17c88b70ebb0f4db7b8ac5220fcff598080
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Dec 6 13:44:26 2016 -0500
Elemental: Fix Earthquake, Stormstrike, Windstrike
commit 35b7a8a5eaef5af8862d7b2094654b8738775674
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Dec 6 13:28:05 2016 -0500
Elemental Shaman Support, Legendaries, Bugfixes, Engine Improvements...
CLASSES: Add support for Xavaric's Magnum Opus shield buff.
SHAMAN: Add initial Elemental Shaman support. May be missing some
artifact and legendary mechanics.
+ Elemental Shaman: *WARNING* SimulationCraft importing does not work
for the default APL at this time. This will have to wait for an
importer overhaul, since the current importer does not support
'target_if'.
+ Elemental Shamans: nameplate targets will not be used because you
cannot reliably detect the number of targets clustered at range. This
means targets won't be counted until you hit them.
+ Eye of the Twisting Nether: Added to many damaging abilities. Can
count your Twisting Nether buffs with twisting_nether.count (i.e., if
you want to wait to pop a cooldown until you have all your buffs up).
+ Legendaries: Implement mechanics from class/spec legendaries. Not
sure if Spiritual Journey will work right, yet.
CORE:
o Abilities that are channeled will run their handlers at the start of
their cast rather than the end.
+ Added a delay counter on the upper left of primary icons. This counts
down to let you know that an ability may be ready, but the addon
recommends waiting to use it. This is useful for stuff like 'use Tiger
Palm at 65 Energy' but you actually have only 40. May need to make this
'optional' or at least prettier.
EVENTS:
+ Add preliminary support for tracking what spells are 'in the air',
i.e., were cast but have not yet landed. This will be used to improve
recommendations following abilities that have a travel time and effects
that fire when the spell hits (rather than when the spell was cast).
ARTIFACT DATA:
o Attempt to prevent the artifact API bug, yet again.
OPTIONS:
o Use [[ ]] for storing display/list default names so that `/hekili
makedefaults' doesn't freak out with names that have apostrophes.
o Add a new importer warning for APLs that can't be properly read.
SCRIPTS
o storeValues() will always clear the table before exiting if there are
no new elements to store.
STATE
o spendCharges() will set a cooldown to 0 if you're left with at least 1
charge.
o The calculated haste / spell_haste / melee_haste values will now use
values from the state.stat table, which allows ability handlers that
update haste values to impact project cast times/GCD times/etc.
+ Added 'refreshable' option that returns true if a debuff with the same
name as the tested ability has less than 30% of the debuff's duration.
This could use more finesse.
+ reset(): Wipe modified stat values and get fresh values during future
queries.
- reset(): Use global_cooldown wherever class.gcd was previously used.
o reset(): Don't advance to the end of the GCD any longer; may help
with recommendations for stuff that was off-GCD.
+ advance(): Advance times will be rounded to the ceiling of the
hundredth second (0.01). 1.505 becomes 1.51 as does 1.501. This helps
improve consistency of recommendations (reducing flicker) and also
addresses an issue where abilities that would be recommended based on a
calculated future time (i.e., reaching a cap or energy level) wouldn't
actually pass the threshold by some infinitesimal margin so we were
spending a charge before we gained it.
+ advance(): Add hook to allow class/spec modules to do extra stuff
after advance() completes its work. The first usage of this is to try
to support Spiritual Journey's Feral Spirit cooldown reduction.
+ isReady(): Check timeToReady() for all actions that are being tested
using Time Scripts.
UI
+ When showing the values used in a diagnostic tooltip (Debug enabled
and Paused), show each element in alphabetical order for easier reading
).
+ Add font strings for delays, keybindings (still not supported yet).
Delay and KB is at 67% of prmary font size; should probably make these
into options at a later date.
UTILS
o Moved orderedPairs here so I can use it the editor and tooltips or
wherever else I might want.
commit b892fb5f9717d00f62ec5d26a00bb6c2cf20ab7e
Author: Hekili <Hekili@users.noreply.github.com>
Date: Wed Nov 30 10:47:09 2016 -0500
Update Paladin default displays.
commit f979fccc52cc3ba802cb6826ed205ade13c6572c
Author: Hekili <Hekili@users.noreply.github.com>
Date: Wed Nov 30 10:46:41 2016 -0500
Fix for Default Imports
*BUGFIX*
The default display export strings were incorrectly storing which action
lists were attached to them. This worked okay for most people who don't
have custom or old action lists, but not for others. This should fix
the bug and default settings should properly be recovered at
login/reload.
commit d0d803553cc3111597ed4bcb53c5ce802ea7540f
Author: Hekili <Hekili@users.noreply.github.com>
Date: Wed Nov 30 00:26:58 2016 -0500
New Specialization Support (Protection Paladin) and New Script Type!
Initial support for Protection Paladins. It's possible and even likely
that some buff IDs are incorrect and some mechanics are not yet modeled
correctly. We'll see!
*Protection Paladins*
Protection stuff includes new Class Settings for toggling defensives
on/off ('use_defensives' in scripts), set a health threshold for
Hand/Light of the Protector self-heals (if met, 'use_self_heals' is
true), set a damage threshold for how much incoming damage you must be
receiving before Shield of the Righteous is recommended defensively (the
default action list still avoids capping SotR charges).
*New Script Type: Time*
While the default SimC like scripts are sufficient in the vast majority
of cases, sometimes it is more important to calculate *when* an action
list entry should be ready rather than if it is ready now (or when the
ability's cooldown/resources are available).
Example: You have 8 seconds remaining before Shield of the Righteous
will reach 3 charges. You want Shield of the Righteous to be used when
you are capped on charges, so you aren't wasting charge time gained from
Judgment.
SimC-like Conditions:
cooldown.shield_of_the_righteous.charges=cooldown.shield_of_the_righteous.charges_max
This will be false UNTIL you've reached 3 charges.
Time Script:
(cooldown.shield_of_the_righteous.charges_max-cooldown.shield_of_the_righteous.charges_fractional)*action.shield_of_the_righteous.recharge
This will find out how much remaining charge is required and multiply by
recharge time (which should equal 8 seconds, based on the case we
provided).
Using the Time Script will tell the addon to anticipate that Shield of
the Righteous *will be* ready in 8 seconds, instead of the default
behavior of saying "no, it's not ready yet" and then checking again
after something else has been recommended.
Time Scripts have access to additional values to help with
decision-making: 'delay' is the time until the ability is off-cooldown
or until you will have resources (based on resource regeneration) --
whichever is greater. 'spend' is the amount of resources required to
use the ability. 'spend_type' is the type of resources spent by the
ability.
Time Scripts are heavily restricted -- you can't write full functions
and you cannot access the global environment. You can provide an
equation that gives a numeric value, and use simple conditions like:
holy_power.current>1 and 2 or 0
...which would equal 2 if you have more than one Holy Power, or 0 if you
have 1 or fewer Holy Power.
*Double Checking*
If no ability's criteria is successful in your action lists, the addon
will now advance by 1s and try again. It will do this twice before
giving up on providing you with a recommendation.
*BUGFIXES*
- Recommending an offGCD ability will no longer trick the addon engine
into thinking that the GCD was reset.
commit dac5f6c486ca6ff377bb06d647895e75b9093e8e
Author: Hekili <Hekili@users.noreply.github.com>
Date: Tue Nov 29 01:38:52 2016 -0500
Additional support for Paladin abilities.
Corrected 'repentence' to 'repentance'.
Added many previously unsupported or unlisted abilities available to
Retribution Paladins.
Added hook in state.spend() to support Crusade gaining stacks from
expending holy power.
Added 'target.is_undead' and 'target.is_demon' -- used internally to
apply Wake of Ashes stun.
Added support for healing spells actually healing (so that if you
recommend Flash of Light based on current health, your predicted health
value changes and something else would get recommended next).
Cleaned up some descriptions in the /hekili options UI. Auto/Manual
given more descriptive names.
Fix stat.spell_power to actually give a useful value.
commit c2b3d260b60af8d1c04f707dc18348d2e2350fe2
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Nov 28 19:23:11 2016 -0500
Clear up some import confusion.
Told GitHub to ignore some libraries that the Curse packager will
manage.
commit 3f24786b17d37f025652e7bcfd46b00b039f4c7d
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Nov 28 19:12:04 2016 -0500
Initial GitHub upload of Hekili for 7.1.0 (with some PTR support).
commit 39ae038d02fae9b088100c5749474c4bd5d33da2
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Nov 28 18:57:36 2016 -0500
:space_invader: Added .gitattributes & .gitignore files
commit cf46692a79904a78c9c597dfb65669605959dda6
Author: Hekili <Hekili@users.noreply.github.com>
Date: Mon Nov 28 18:56:24 2016 -0500
Initial commit