This is by and large the biggest update that TMW has ever seen. There were so many changes that I lost track of them. Many of the changes done weren't things that you should notice as a user - they are things that makes TMW much easier to expand in the future, including different icon view types aside from the standard square icon (e.g bars). These changes are not complete either - there is still work to be done before such features can be added.
Spell Crit is now an event that can be tracked by Combat Event icons.
Implementing LibDogTag as the text manager for TMW instead of TMW's current (and very limited) system. You can now create text layouts that can be applied to an icon to dictate how the texts for that icon will be displayed. Text layouts can be shared between users, and texts can be configured in a new tab on the icon editor.
You can now select any of the 4 sound channels to play sounds to (instead of just Master and SFX).
You can now list specific totems to be checked by totem icons.
Bug Fixes:
(r489) TellMeWhen-5.0.2.lua:528 attempt to index local "h" (a nil value)
(r491) Re-re-re-re-re-re fixed meta icons that check entire groups
(r492) TellMeWhen-5.0.2.lua:1080 attempt to compare nil with number (MAYBE)
(r493) ClassColors.lua:50 Bad argument #1 to :RegisterCallback (string or function expected)
(r496) TellMeWhen-5.1.0\Modules\Texts.lua:124: attempt to concatenate field "?" (a nil value)
(r498) Condition "Mounted" is no longer event based because it seems that it doesn't update on UNIT_AURA all the time
(r499) TellMeWhen_Options.lua:1772: "}" expected (to close "{" at line 1762) near "order"
(r501) Cooldown sweeps without text shown should now always show properly after they have ran down to zero at least once
v5.0.2
Bug Fixes:
(r485) (Condition): attempt to call global "GetEclipseDirection" (a nil value)
v5.0.1
Bug Fixes:
(r483) Unit Cooldown icons checking spells by name should now function properly.
(r483) Cooldown sweeps and other icon components are no longer anonymous frames, returning to their previous nomenclature appended by an underscore and the icon's view type (Currently only "icon", more coming soon)
(r483) Fixed a faulty upgrade of the "PassThrough" setting when upgrading past 50035. Settings that already had this faulty upgrade occur may notice that the "Pass Through" setting on some of their events was toggled from checked to unchecked.
v5.0.0
Super cool changes:
All icon types have been changed to be entirely event based, meaning that they will no longer update themselves when they don't need to, resulting in a (tremendous) performance increase.
The Condition engine has been completely rewritten and is now almost entirely event driven, resulting in another (tremendous) performance increase.
Events have been completely rewritten to allow an unlimited amount of handlers to be created for an icon (instead of one text, one sound, and one animation per event per icon as previously).
You can now sort all of the icons of a group based on attributes like duration, stacks, and opacity.
Pretty cool changes:
You can now check units relative to the special condition unit '%u' (for example, '%u-target' or '%upettarget').
There is now an option (enabled by default) to color the names of units in text displays and outputs.
Added slash commands to easily enable or disable icons and groups.
Added Floating Combat Text as a text output.
Added two new animations: Icon Border and Icon Image Overlay.
You can now press tab to insert the first entry that is displayed in the suggestion list.
Really boring changes:
The icon listing in dropdowns for meta icons, condition icons, and others is now much prettier and more informative.
Enrage is now a proper dispel type, and no longer relies on a pre-defined list of enrages.
Implemented a proper class-based inheritance system for many objects (Icons, Icon Types, Groups, Condition Groups).
Icons that check units now have their units managed behind the scenes whenever possible so that icons aren't trying to check units that don't exist.
You can now drag spells and items to the Custom Texture editbox to easily insert the texture of that spell or item.
Power bars and Timer bars have been shipped out into their own files, so a completely restart will be needed if you want to use them.
Bug Fixes:
(r427) (Condition): attempt to call global 'GetPrimaryTalentTree' (a nil value)
(r428) (Condition): attempt to call global 'IsResting' (a nil value)
(r428) conditions.lua line 447: attempt to compare nil with number
(r429) Implemented a workaround for Blizzard's mismanagement of color in the Raid Warning Frame text output
(r429) TellMeWhen_Options.lua:1434: attempt to index local "icon" (a nil value)
(r429) An icon/group should no longer be treated as if it has failing conditions after it had conditions that were failing, but those conditions were removed
(r430) Fixed the list of unitIDs used to guess a unit's class
(r431) A unit's class should now be properly detected when the unit is from another server
(r434) Icon Show/Hide events should work once again
(r435) Unit substitutions should work once again
(r436) Fixed a bug causing the wrong data to be reported for Combat Event events
(r437) When a meta icon changes the icon it is checking, it should no longer stop any animations that the meta icon itself initiated (non-inherited animations)
(r439) TellMeWhen-5.0.0.lua:4227: attempt to index local "ic" (a number value)
(r441) TellMeWhen-5.0.0.lua:3572: attempt to compare nil with number
(r442) (Not really a bug fix): Added an option to TMW's main settings to temporarily disable the new update mechanism, reverting to the old method.
(r451) TellMeWhen-enUS.lua:404: nesting of [[...]] is deprecated near "["
(r452) The Resting condition should now properly update when entering a battleground/dungeon/etc while resting, and vice-versa.
(r453) Combat Event icons should no longer process any sound/text/animation events when their parent group is hidden.
(r459) TellMeWhen-5.0.0.lua:4740: attempt to index field "OnDuration" (a boolean value)
(r461) TellMeWhen.lua line 3105: attempt to index field '?' (a boolean value)
(r462) AceDB-3.0-22.lua:104 in function <Ace3\AceDB-3.0\AceDB-3.0.lua:100 table index is NaN (MAYBE)
(r464) Fixed meta icons that check entire groups
(r467) TellMeWhen-5.0.0.lua:3018: attempt to concatenate local "name" (a nil value)
(r468) Meta icons that are checking conditions show now properly update themselves when the state of their conditions change
(r469) Buff/Debuff "Number of" conditions should work properly now.
(r469) Sorting Buffs/Debuffs should now work if only one aura is being checked by the icon (the unit being checked may have more than one auras of the same name/ID, or the icon may be checking multiple units.)
(r470) Icons that are being watched by On Icon Show/Hide events should now always be registered with the icon update engine to ensure that the icons that depend on these events function as expected
(r471) TellMeWhen-5.0.0.lua:522: attempt to index local "h" (a nil value)
(r472) TellMeWhen_Options.lua:4797: attempt to concatenate local "i" (a nil value)
(r476) TellMeWhen-5.0.0.lua:457: attempt to index local "h" (a nil value)
(r477) Buff/debuff icons that sort or that exceed the efficiency threshold should now properly update and display the unit they check when requested
(r478) CLEU icons should once again not process their events when the icon or the icon's group is hidden
(r479) Attempted a fix at activation overlay borders appearing underneath the icon they are playing on
v4.8.3
Bug Fixes:
(r423) Events with conditions (Duration, Stacks changed) should now handle animations and sound properly.
v4.8.2
Bug Fixes:
(r421) You should no longer lock up when using the GCD condition
v4.8.1
Bug Fixes:
(r412) icd.lua:134 attempt to index field 'HELP' (a nil value)
(r413) Meta icons that are sorted by high duration should now diplay the first icon shown if no icons have an active timer
(r414) Combat Event icons that have spell filters without defined durations should now properly fall back to the icon-wide duration
(r416) Meta icons that are set to sort should once again sort
(r417) The icon unit setting should now always save when using the dropdown to change it
v4.8.0
New icon type: Combat Event. Displays information about combat events according to filters that you can set. Full support for events, including text output.
Rewrote the entire animation system to allow meta icons to inherit icon animations.
Text outputs now substitute a hyperlink for '%s' when appropriate.
You can now leave the unit cooldown icon's "Unit(s) to watch" field blank to track all known units.
New animation: Icon: Alpha Flash.
Icon animations can now be set to play indefinitely (or until stopped by the Icon: Stop Animations animation trigger).
Removed Entangling Roots from the CrowdControl debuff equivalency.
Bug Fixes:
(r384) Weapon enchant should now be properly detected in zhCH clients
(r384) The weapon enchant suggestion list should now properly display shaman enchants in zhTW clients
(r385) Moving/Swapping an icon that the icon editor is editing shouldn't cause the old settings to stick around
(r390) Weapon enchant icons should now always detect the current weapon enchant in a timely manner for rogue characters
(r391) Added the debuff that results from being the the target of a warrior who casts intimidating shout with the glyph to the Feared debuff equivalency
(r396) Buff/debuff icons should now set an ID as their spell checked rather than a name, allowing them to function more completely with the hyperlink feature of r395
(r397) Animations inherited by a meta icon should now properly cancel when the meta icon changes to an icon with no animations
(r398) Both ranks of Shattered Barrier should now be included in the "Rooted" equivalency
(r401) Conditions that check units should now work again (oops)
(r402) Condition:1: attempt to index global "c" (a nil value)
(r403) StaticFormats.lua line 27: bad argument #1 to 'format' (number expected, got string)
(r406) Fixed a small bug with the timers on Condition Icons
(r409) Spell durations containing a decimal should now be properly inserted via the suggestion list when durations are inserted
v4.7.3
New Feature: Animations. You can now pick animations to play when an icon event occurs, such as having the screen shake or an icon flash.
All event outlets have a "Play" button that you can test the event with.
You can now change the "Show Timer Text" option if LUI is the only addon enabled that can handle cooldown timer texts.
Changed the "Hide when slot is empty" to include hiding the icon if the slot being checked contains a shield or off-hand frill.
Implemented the "Failed Conditions" opacity setting for meta icons.
Slightly reworked the import dropdown to more accurately detect the group being edited, and to disallow importing of a data type where that data type is not being edited.
Added buttons to the icon editor to allow easy switching between recently edited icons.
Added suggestions for text substitutions.
Bug Fixes:
(r356) Attempted a fix for default.lua:70 attempt to concatenate global 'input' (a table value)
(r358) Icons tracking multiple elements whose start times are exactly the same should now properly update their timers when the first element gives yield to the second after timer expiration.
(r358) Attempted a fix for TellMeWhen_Options.lua:2163: attempt to index upvalue 'HELP' (a nil value)
(r360) If a meta icon is directly checking another meta icon, and the meta icon being checked changes the icon that is is checking, the meta icon checking the other meta icon should now properly update its inherited settings.
(r365) Buff/Debuff icons tracking the "Enrage" dispel type only should now always show the correct texture in configuration.
(r368) Lightwell glyph detection was apparently a little iffy. Added some manual checks in case the events don't fire when they should.
(r370) The "ReducedArmor" equivalency should now track raptors' "Tear Armor" debuff properly.
(r372) TellMeWhen_Options-r369.lua:278 attempt to index local "f" (a nil value)
(r378) Icon flashers should now work properly without Masque.
(r379) Fixed a bug that was preventing importing from a group in which the first icon is blank.
(r379) Fixed (kinda) the status bar when exporting large pieces of data from TMW's Ace options dialogs.
(r380) TellMeWhen-r379.lua:1803 bad argument #2 to "format" (number expected, got nil)
v4.7.2
New Icon Type: Lightwell
Condition icons now use the Custom Texture editbox to select their texture instead of the Choose Name editbox (for consistency)
You can now output text to the raid warning frame without actually sending a raid warning to your raid.
You can now export icons to an entire raid or your entire guild by typing "RAID" or "GUILD" as the name to export to.
Meta icons can now sort their components based on their current duration.
Added an option to color the border of Masque skins with the coloring applied to icons. This setting can be found under the *Global Colors* config in TMW's main options.
Bug Fixes:
(r344) Temporary fix (I hope) for the bug where OmniCC timers would randomly stop after a timer was refreshed.
(r345) TellMeWhen.lua:1467 table index is nil
(r346) The suggestion list for weapon enchants should once again function properly.
v4.7.1
Bug Fixes:
(r342) Condition icons will no longer spam their event outputs when "Only show if timer is active" is enabled.
v4.7.0
Completely redid the color system. Colors are now defined (in the main optons) globally, with the option to configure them per icon type and override the global settings.
Addded "%p" as a substitution for the name of the previously checked unit.
Unit substitutions can be used as the destination for a whisper text output.
You can right-click-drag icons anywhere on screen to anchor them to any mouse enabled frame, or to move an icon into a new group.
Added a setting to disable new version warnings.
It is now easier to delete old groups.
Added substitutions "%d" for duration and "%k" for stacks.
Added events for duration and stack changes, and expanded event settings.
Performance Increase: Icons should no longer update themselves multiple times within one update period when the update interval is set to zero and the icon is being checked by multiple metas/conditions.
You can now set a group as a component of a meta icon, causing the meta icon to check all icons that are part of the selected group.
Meta icons now support the "Always Hide" setting.
Conditions can now check "%u" as a unit, which will substitute in whatever unit the icon is currently checking.
Added conditions to check absolute and max values of resources.
Bug Fixes:
(r316) TellMeWhen_Options.lua:2831: attempt to index local "spaceControl" (a nil value)
(r321) The runic power condition should now properly track runic power instead of mana.
(r324) Meta icons should once again properly inherit colors from Masque.
(r327) TellMeWhen_Options.lua line 3189: attempt to call method 'IsVisible' (a nil value)
(r328) It should no longer be possible to have an icon shown condition check the icon that it is a child of.
(r328) Switching profiles while TMW is unlocked should no longer cause icon coloring to malfunction.
(r329) TellMeWhen-4.6.7.lua:3469: attempt to index local "settings" (a nil value)
(r332) Binding/label text should now properly clear when resetting an icon.
(r334) Fixed a bug with meta icons checking other meta icon without "Check sub-metas" enabled
(r335) TellMeWhen-4.6.7.lua:1771: attempt to index local "condition" (a number value)
(r307) Imported strings created in r307+ into r307+ will now try extra hard to fix any errors casued by Blizzard's buggy editboxes.
(r308) Event settings in the icon editor should now always updated to reflect their current setting.
(r308) Fixed buggy event button texts for zhCN and zhTW clients.
v4.6.5
Bug Fixes:
(r294) Fixed a bug where conditions were being erroneously attached to an icon/group after adding a condition and then removing all conditions.
(r294) TellMeWhen.lua line 1452: attempt to index local 'condition' (a number value)
(r296) TellMeWhen_Options.lua:2703: Missing version of data
v4.6.4
New Condition: Pet talent tree.
You can now undo and redo changes made to icon settings.
Rewrote the help module, and migrated/added some new warnings to it.
Diminishing return category mismatch warnings are now much more informative.
The condition editor is prettier now.
There is now a unique default condition type (instead of just using the health condition, which caused many issues.)
Bug Fixes:
(r270) Export strings with a pipe character should now work properly
(r271) Temporary fix for failed assertion when calling Parser:SetSpellByID(109388)
(r272) Multi-state cooldowns will now reflect the spell being displayed in their %s variable (bindings/text output).
(r273) The slot settings for Wild Mushroom icons and other totem icon variants can once again be configured without error.
(r276) Fixed a breaking typo in the enUS locale file.
(r281) TellMeWhen\Types\dr.lua:182 table index is nil
(r282) Pet talent tree localization was incorrect for some languages due to my crafty attempts to be crafty
(r290) Blank icons will no longer be erroneously added to the copy dropdown.
v4.6.3
Bug Fixes:
(r268) The button to reset icons should now work properly
v4.6.2
Item cooldowns now have their own icon type.
Added text substitutions for unit and spell names.
Stack and binding texts are much more customizable now.
Two icon events have been added:
On Unit Changed - fires when the unit for which information is being displayed on the icon changes. Only applicable to icon types that check units.
On Spell Changed - fires when the spell/item/etc for which information is being displayed on the icon changes.
You can now change the frame strata of groups under the position tab of the group settings.
Added import/export boxes/dropdowns to the group settings and profile settings.
Bug Fixes:
(r257) Fixed warnings for missing durations (they weren't showing up)
(r260) The list of chat frames that can be outputted to should now list all valid frames, shown or not.
(r261) The "Check Activation Overlay" setting for reactive icons should now function properly for spells entered as names.
v4.6.1
Bug Fixes:
(r252) Removed spam when pasting a corrupt string
(r252) Importing very old strings should now work. (Very old means pre-v4.1.4)
(r253) TellMeWhen_Options\TellMeWhen_Options.lua:2246: attempt to index global "current" (a nil value)
(r254) Changes in haste percentage without changes in haste rating will now be properly reflected in conditions (Tickets 303, 304)
(r255) Warnings should no longer incorrectly show for missing durations for icon types that do not require them
v4.6.0
You can now import and export entire groups or entire profiles.
You can now import settings from a backup created when TellMeWhen_Options loads.
Cleaned up the import/export UI area.
Internal Cooldown icons can now be triggered by a summon event (for the healing priest t12 4pc bonus).
Spell Cast conditions can now match a name.
Chat channels are now a valid text output destination.
Bug Fixes:
(r242) 1x AceConfigDialog-3.0\AceConfigDialog-3.0-54.lua:803: attempt to index field "rootframe" (a nil value)
(r245) Fixed an error 132 crash in 4.3 when using the "Finish Caching Now" button
(r246) Fixed conditions for 4.3
(r247) Temporary compatibility code to make the options function fully, with the exception of import/export functionality, until AceSerializer gets fixed.
(r250) Removed print spam when sending comm
v4.5.7
Bug Fixes:
(r235) TellMeWhen_Options-4.5.6.lua:1690 attempt to index field "IgnoreRunes" (a nil value)
(r236) Dispel types should now always function properly
v4.5.6
Moved the default icon type into its own type file, because it technically is nothing more than another icon type.
Added clarification for icon types that will accept no name to check everything.
Added a help popup for the stop watch icon.
You can now right-click an entry in the suggestion list to insert the opposite type of what is being typed in.
The option "Show timer text" no longer requires that "Show timer" be enabled. It does still require OmniCC, though.
Bug Fixes:
(r219) Implemented a method to determine if an export string has become corrupt due to the source's formatting
(r220) Fixed overlay bar frame levels
(r226) Dispel types should now work regardless of capitalization
(r230) Fixed overlapping checkboxes, and completely revamped the way that the left column in the icon editor works to prevent this from ever occurring again.
(r231) Fixed missing settings caused by the left-column overhaul
(r232) Meta icons now inherit timer settings properly
Implemented a method of determining of an import string has become corrupt by using WikiCreole formatting on Curse (and then fix it if it has been).
Bug Fixes:
(r213) The cooldown bar offset editbox now uses TellMeWhen_TimeEditBoxTemplate (and on a related note, huge time strings will now format to the year level for fun)
v4.5.4
New icon type: Rune Cooldown. Does what you would expect it to do.
Re-implemented the "Only in Combat" option for groups (since it is such a common option, having it only as a condition is a bit tricky for new users to figure out).
Bug Fixes:
(r210) Fixed frame levels that I broke in the last revision of 4.5.3.
v4.5.3
Improved configurations for units. Leaving the red '#' in will now default the unit to its full range, and there is now a tooltip showing all units being checked when holding down a modifier key, similar to the name editbox.
Added a new option to condition icons: "Only show if timer is active". If enabled, forces the icon to be hidden if there is not an active timer on the icon.
Updated Masque/ButtonFacade code again.
Bug Fixes:
(r196) I accidentally commented out the fix for the error 132 crash. Oops.
(r196) Updated for Masque r366
(r197) TellMeWhen_Options-r196.lua:3863: attempt to index global "info" (a nil value)
(r198) Updated bar edge offsets for Masque r366+
(r199) TellMeWhen.lua:1404: attempt to index field 'Font' (a nil value)
(r201) The suggestion list will now update its display when new item information is obtained from the server
(r203) TellMeWhen_Options.lua:2432: attempt to concatenate local "name" (a nil value)
(r204) Invalid itemIDs are now checked and purged from the cache when a new version of WoW is detected
(r205) Spell durations are now removed from item cooldown name data when it is parsed
(r206) The group settings interface will now longer incorrectly show in the icon editor after moving a group if the group settings tab is not selected
(r208) Loading an icon into the icon editor from a different group than the previously loaded icon while the Group Settings tab is selected will now cause the new icon's group to be loaded in the Group Settings tab
v4.5.2
Added "%m" as a text substitution for the name of the unit that you are currently mousing over.
Existing substitutions "%t" and "%f" now work in all output locations.
The change made in 4.5.0 to reactive icons and conditions has been made optional. Those checking abilities such as raging blow or execute should probably enable this option.
Parenthesis in the condition editor are prettier now
Tooltip scan conditions now use the new return values of UnitAura added in WoW 4.2, and have been appropriately renamed to "Aura Variable". The result is an increase in efficiency at the cost of a bit of accuracy in some obscure cases.
Spell caching and filtering is now between 1500% and 2000% faster. (Seriously.)
New Conditions:
GCD active
Unit Threat - Scaled
Unit Threat - Raw
Bug Fixes:
(r192) Put the final nail in the coffin of the cooldown clock framelevel bug.
v4.5.1
You can now shift-click links into the Announcement EditBox.
You can now shift-click links into the Choose Name/ID EditBox to insert a spellID/itemID.
Suggesting a spellID is now about 75% more efficient.
New text output locations:
Smart Channel
Chat Frame
Bug Fixes:
(r178) The "Ignore Runes" setting should no longer appear for item cooldown icons
(r179) Meta icons should now inherit icon properties from other icons a little better.
(r181) Attempted a possible fix to the error 132s that some people are getting when they close the icon editor after viewing the group settings tab.
(r182) ICD icons should now properly use the failed duration alpha setting when the duration requirements fail.
(r183) Fixed texture alignment in the spell breakdown tooltip that appears when hovering over the choose name/ID editbox with a modifier key pressed.
v4.5.0
Fully integrated main addon settings/group settings into the icon editor.
You can now set custom text to be displayed where a keybinding would normally be displayed in order to remind you of your keybindings directly on TMW icons.
Moving/resizing a group that is anchored to a frame other than UIParent will adjust the offsets instead of resetting the anchor to UIParent.
Reactive icons and conditions should now more accurately reflect the state of the abilities that they are checking.
Greatly increased the versatility and customizability of condition icons.
Improved rune cooldown detection.
Version warnings should be slightly less annoying.
Added monochrome as a font outline option.
Buff/debuff icons can now display the first number found in the tooltip of the aura that has been found on the icon.
New icon events:
On Alpha Increase
On Alpha Decrease
New Conditions:
Buff/Debuff - Tooltip Scan
Points in talent
Bug Fixes:
(r164) Tooltip scan conditions should now properly function with spellID input
(r170) TellMeWhen_Options-r169.lua:215: attempt to index field "?" (a nil value)
(r170) TellMeWhen_Options-r169.lua:1674: attempt to index field "?" (a nil value)
v4.4.6
Bug Fixes:
(r151) conditions.lua line 319: attempt to perform arithmetic on local 'start' (a nil value)
v4.4.4
Bug Fixes:
(r145) Totem icons now work for mushrooms/DK ghouls
(r146) Unit cooldown icons now properly sort
(r146) Fixed an extremely frustrating and elusive bug that was making it impossible to stop moving a group after you started dragging either a spell cooldown or reactive icon that was either checking an ability that was entered by spell name (IDs were fine) that the current character did not have in his/her spellbook, or checking nothing at all.
(r149) TellMeWhen\TellMeWhen-r147.lua:1136: attempt to index local "icon" (a nil value)
v4.4.3
You can now specify a custom texture to be used for an icon.
Added whisper as a text output destination.
Shuffled around some framelevels in hopes of fixing the timer bug.
Attempted to force cooldowns to reset upon entering an arena. (UNTESTED)
Added a dialog to warn users of the dangers of configuration mode.
New Conditions:
Pet attack mode
Spell cooldown duration comparison
Item Cooldown duration comparison
Buff duration comparison
Debuff duration comparison
Bug Fixes:
(r133) attempt to compare number with nil (In spell cooldown conditions)
(r136) TellMeWhen-4.4.3.lua:1630: attempt to index field "Font" (a nil value)
(r137) TellMeWhen_Options.lua:4038: attempt to index global "groups" (a nil value)
(r140) Icon's OnHide events should now properly fire when Always Hide is checked.
(r142) Using equivalencies with the new duration syntax should now cause the duration to be applied to all spells in the equivalency.
(r142) Fixed item textures in config mode.
v4.4.2
Misc. updates.
v4.4.1
New Condition: Spell autocasting
New Condition: Tracking active
New option for buff icons (mage only): Only stealable.
Added a toggle to DR icons to help work around the buggy spell refresh behavior.
Greatly improved config mode texture detection.
Added Wing Clip to the slowed equivalency.
Bug Fixes:
(r124) Inserting an equivalency via the dropdown should now properly save the text in the editbox.
v4.4.0
Dramatically changed the way that Unit Cooldown and Internal Cooldown icons handle durations. Durations are now defined per spell within an icon, instead of having the same duration for all spells within an icon. More information is available by choosing one of these types in-game.
Added some custom sounds.
Auto shot cooldown icons merged with normal cooldown icons.
New debuff equivalency: Slowed
The suggester now does its scan in about 30ms, down from about 200ms.
Unit cooldown icons now listen for abilities that reset cooldowns and properly do so when they occur.
Unit cooldown icons checking pvp trinkets should now show an actual pvp trinket texture.
New Conditions:
Unit is Unit
Unit Role
Macro conditional
Bug Fixes:
Groups that are anchored to frames that aren't created when their parent addon is loaded should now update their position once the frame that the group is anchored to is created.
Buffs with one stack were not obeying stack conditionals. This has been fixed.
(r117) icd.lua:115: attempt to perform arithmetic on local "ICDStartTime" (a nil value)
(r118) (Conditions) attempt to call global "GetRaidTargetIndex" (a nil value)
(r119) unitcooldown.lua:328: attempt to index upvalue "db" (a nil value)
(r119) Fixed a bug that was causing unitcooldowns/icd icons that use spellIDs to not work.
v4.3.0
New icon type: Diminishing Returns. Guess what this one tracks?
New icon type: Cooldown - Auto Shot.
The suggestion list just got a hell of a lot smarter.
Stack text settings are now set by group.
Significantly increased the efficiency of the icon setup process. If you have a large number of icons, you will almost certainly notice a difference.
Export strings are a little prettier when pasted.
Text outputs to addons can now specify the color and font size of the message.
Power bars for spells that use holy power should always use a max value of 3.
Bug Fixes:
(r99) buff.lua:87 attempt to perform arithmetic on upvalue 'UPD_INTV' (a nil value) Not reproduced, but the fix should work
(r99) TellMeWhen.lua:1039 bad argument #1 to 'pairs' (table expected, got nil)
(r99) Meta icons should now always inherit the proper power bar color, and icons with power bars that are checking spells/abilities with different power types (druids) should reflect this in the color.
(r100) TellMeWhen-4.2.1.2.lua:2115 attempt to perform arithmetic on local "start" (a nil value)
(r101) Condition icons should no longer be black when shown through a meta icon.
(r101) DR icons should properly function when a spell is reapplied within the last few seconds of the DR cooldown.
(r102) Buff/debuff icons that are checking multiple units with a sort method enabled should now function properly.
v4.2.1.2
Fixed: meta.lua line 80: bad argument #1 to 'tinsert' (table expected, got nil)
v4.2.1.1
Fixed a bug that was breaking meta icons until config mode was toggled on and off at least once after logging in.
v4.2.1
Unit cooldowns can now be sorted by duration.
Buffs/debuffs that are being sorted by duration now do so across all units that are being checked instead of only within each unit.
Internal Cooldown icons now have the option to not reset their cooldown to full duration if they are triggered while cooling down (mainly for the Early Frost mage talent).
Updated COMBAT_LOG_EVENT_UNFILTERED for 4.2.
When right-click-dragging icons to move them or swap them, any meta icons or icon shown conditions will now update to reflect that change.
Further categorized the ever-expanding condition type dropdown.
Some conditions that check a duration now allow a smaller increment of time to be specified.
Some conditions that had high maximum values now adjust their min/max based on the current value, allowing finer tuning with a higher (infinite) maximum.
Many icon types had their CPU efficiency increased.
Added the following text output destinations:
Grayhoof's Scrolling Combat Text
mikord's MikScrollingBattleText
ckknight's Parrot
New Conditions:
Buff/Debuff - Number of - This conditions tracks the number of a buff or debuff that are active on a unit. This is not the number of stacks, but rather the actual number of auras (3 warlocks in your raid cast 3 corruptions, etc.).
Bug fixes:
The "On Show" icon event should no longer erroneously trigger sometimes when changing zones.
Item cooldown icons use item names instead of IDs that attempt to set themselves up before the required data is available will now attempt to fix themselves once that data becomes available instead of requiring a full lock toggle.
Icon settings are now resetting to the defaults in a more correct manner before icons are copied onto them.
The suggestion list should now properly update to the current cursor position instead of the last cursor position when clicked.
The suggestion list should now take an entire entry into consideration if the cursor is clicked on the middle of it.
v4.2.0
New feature: Announcements. This allows you to announce something to WoW's chat (say, yell, party, raid, guild, emote, etc) when icon events are triggered (the same events that sounds already use).
The equivalency dropdown no longer gives you a headache when you look at it (It is now sorted alphabetically).
Fake hidden has been renamed to "Always Hide." The old functionality persists.
I spellchecked all of the English texts!
Added Ardent Defender to the defensive buff equivalency
Bug Fixes:
(r80) Fixed error: conditions.lua:276: attempt to perform arithmetic on local "start" (a nil value)
(r81) Hopefully put the final nail in the coffin of the Masque ugly texture crap.
(r82) Last minute changes without testing are bad, mmmkay? (Announcements actually work now.)
(r83) Sounds for event "On Finish" should now work a little better.
(r84) Jinx: CoE is now properly checked as part of the spell damage taken equivalency.
v4.1.4.2
Bugfix: TellMeWhen.lua:620: attempt to compare string with number
Bugfix: v4.1.4s internal version number was about 40,000 higher than it should have been. Whoops!
v4.1.4
New profiles now default to only one group instead of ten, and new/reset groups now place themselves in the center of the screen.
IMPORTANT: Because of the above change, there is a (very very small) chance that some of your groups moved. I apologize for the inconvenience. If you find that a group has been moved off the screen, type /tmw options, go to that group's config, and click the button to reset the group's position.
You can now import and export icons in string format to other users of TMW, meaning that you can share them outside of the game or to players that you are not able to whisper.
Imported icons will now be upgraded as needed to fully function with your current version of TMW. Icons received from newer versions of TMW that your current version may still have an occasional error, so please always ensure that you are upgraded to the latest version of TMW before reporting an error with importing.
New/changed conditions:
Unit Classification (Normal, Elite, Rare, Rare-Elite, World Boss)
Currencies
Lua conditions no longer require you define functions/variables in TMW.CNDT.Env, as the _index metamethod is set to _G if you are using a Lua condition.
v4.1.3
Conditions can now be set by group
IMPORTANT: Group combat, vehicle, and stance settings have migrated to conditions instead of being settings that are defined in the group options
The old dual spec and talent tree settings remain as a way to prevent groups in the same spot that serve different purposes from being displayed during config when not needed.
New/changed conditions:
Stance conditions now allow an operator to be specified. Less/greater than operators are relative to the stance's position on the slider.
Unit controlling vehicle
Buff/debuff icons now have the option to sort the auras that they find by duration.
Spell caching will not begin until the icon editor is opened. You can have a few framerates back.
Bug Fixes:
Unit cooldown icons should now have the condition alpha option, and subsequently, conditions will actually work with them.
(r66) TMW will still function upon updating ButtonFacade to Masque, but skinning buttons will not. This is only temporary while I sort out the changes with Masque.
(r67) Fixed an infinite recursion when meta icons accidentally get looped (1 checks 2, 2 checks 3, 3 checks 1) and one of them has the 'Check sub-metas' option enabled.
(r67) TMW should now be compatible with Masque (and still compatible with ButtonFacade too)
v4.1.2
You can now 'group' conditions together with parenthesis. If you have any suggestions on how to make the GUI for it look better, please let me know.
Implemented the suggestion list for conditions that take spell/item inputs.
New/changed conditions:
Buff/Debuff conditions now have a checkbox to specify whether to only check for your auras, or any auras.
Buff/Debuff duration conditions now treat infinite duration auras as having an infinite duration (greater than the maximum specifiable time of 10 minutes) instead of having a duration of 0 (absent)
Totems 1-4 (only shown if applicable to current class)
Spell in range of unit
Item in range of unit
Spell usable (mana, rage, energy, etc)
Lua (Advanced)
Bug fixes:
Error fix: TellMeWhen_Options.lua:2431: attempt to index field '?' (a nil value)
Fixed the bug with moonfire debuff tracking in 4.1
Fixed a bug with unit level conditions (attempt to compare number with string)
Added better checking for invalid parenthesis in conditions.
v4.1.1
New Condition: Unit Class
Fixed frame level issues in the meta editor
v4.1.0
Implemented sounds! It should be mostly functional, but if you find anything that is breaking or not working how it probably should, open a ticket.
Reduced CPU usage by about 20%.
Alpha can now be customized for when conditions fail, or for when duration/stack requirements are not met.
Made the meta icon editor much prettier.
New/changed conditions:
Old Buff/Debuff conditions changed to Buff/Debuff Stacks
Buff duration
Debuff duration
Cooldown and weapon enchant conditions now allow you to specify a duration
Fixes since the first revision of this version:
(r52) Fixed the alpha on unusable reactive icons
(r52) Fixed a bug where icons that were set to fake hidden would sometimes still show after leaving config
(r52) Fixed stack text on buff icons
(r53) Fixed: conditions.lua line 1220: bad argument #1 to 'gsub' (string expected, got nil)
(r53) Fixed: TellMeWhen_Options.lua:2217: attempt to index field '?' (a nil value)
(r54) Fixed the "Check sub-metas" toggle for meta icons - accidentally broke the anchor for it
(r54) Meta icons should obey conditions
(r55) Cooldowns on meta icons should properly set when the meta changes to from an icon with an active timer to one without, and then back to the first icon that has an active timer.
v4.0.4
Maybe fixed a really rare frame level bug with cooldowns?
Stance conditions work now.
Fixed debuff conditions.
Began redesigning the condition editor to make room for the options to 'group' sets of conditions with parenthesis.
Fixed a rare error in condition processing.
Fixed the "only if equipped" option for item cooldowns for the 453rd time. Why don't I just leave it alone now?
v4.0.3
For purposes of duration requirements, buffs/debuffs with an infinite duration are now considered to have a duration of 0, instead of completely ignoring this feature.
Meta icons now inherit the "Normal" color of the icon it is showing if you are using ButtonFacade.
Enhanced the overall appearance of icons in config mode. The "blank" icon texture will not appear unless you completely restart WoW.
New icon type: Condition Icon. This icon type is for simply checking the state of a condition. The icon can be set to a specific spell texture or texture path via the name editbox.
A few random bugfixes
v4.0.2
Moar efficient!
Ignore GCD settings are now on by default now. This shouldn't affect you if you manually disabled these options.
ICD icons now refresh when a stack of a buff is added.
Fixed the version warnings that were spamming people and telling them that you sent them an icon
Groups that are anchored to other groups with higher groupIDs should now properly anchor after logging in or reloading
Many old spell equivalencies were updated, and some new ones were added, thanks to Catok of Curse.
v4.0.1.4
Fixed all the errors. Sorry, guys!
Fixed totem icons
Fixed icon shown conditions
v4.0.1.3
Dispel types should now properly work for icons that surpass the efficiency threshold
Internal cooldowns will show the proper icon during config in WoW 4.1+
Textures should properly update when changing the name of an icon that remembers the previous texture (buff/debuff, icd, and others)
Weapon enchant icons should now properly obey the setting to be hidden when the slot is empty
Maybe fixed a really rare frame level bug with cooldowns?
v4.0.1.2
Groups and icons should now properly copy using the dropdown on the icon editor
Added some tooltips to icon types
Added some more name substitutions to equivalencies (so they will accept any spell named "Hex" instead of just the shaman's hex spell, etc)
v4.0.1.1
Cleaned up the condition editor
v4.0.1 beta
IMPORTANT: Instead of typing "raid" for units raid1 through raid25, you now must type "raid1-25". This will allow for much more flexibility, e.g. raid1-10.
More Efficiency! Yayyy! (New stuff, plus a fix to a bug in the icon engine that was making it check every single icon, even when they were hidden)
New option for icon cooldowns: Only if in bags. (Note that this is forcibly checked if 'Only if equipped' is checked, and an item that is equipped is considered to be in your bags.
Fixed a bunch of things that were broken
Many conditions! Now, handle them!
Fixed an issue with cooldowns looking bad on circular LBF skins
Overlay bars now go underneath the border of LBF skins
Bars and timers will be set to ignore GCD in this version. You will need to toggle this off if you don't want it. (Sorry, i screwed something up in beta9)
Fixed a bug that caused icons that shouldn't be shown to not be hidden when switching profiles or removing rows/columns.
Textures should properly reset when switching profiles.
Switched to SVN instead of manual file uploads, yay!
New feature: Suggestion list. The suggestion list will take what you type and search though all known spells/items, as well as TMW equivalencies and dispel types, to suggest what you might be looking for. For example, if you are configuring a "Spell Cast" icon type, the list will show only spells with cast times, as well as the cast equivalencies. More information regarding this feature will be in the documentation that I will hopefully start writing soon. (If someone wants to help me out with that, send me a PM)
Equivalencies are no longer case-sensitive.
Reverted failed experimentation to force spell casts to match spellIDs
Colors on the suggestion list should now be final (known player auras are now shown with a different color than known NPC auras - if you installed the first version of 4.0.1 beta, you may see a few wrong spells, but they will be updated the next time you see them)
Fixed the tooltip that appears whilst you mouseover the name editbox in the icon editor with shift held down
Fixed a missing translation
Reset your aura cache to remove incorrect entires that were put in prior to version 4.0.1 beta3
Spell cast conditions now allow you to specify if the cast must be interruptible.
Icon dropdowns for meta icons and icon shown conditions now divide the icons up by group (fix for too many icons syndrome, and to make it easier to find the one you need)
v4.0.0 beta9
Actually added mainassist and maintank to the unit dropdowns.
Fixed an obscure error caused by casts with no start time (this happened on Al'Akir, and only for a split second)
Made it impossible for the addon to destroy your settings when upgrading to beta8 from a version older than 3.0.0 after you had already upgraded one character's settings. (This wasn't happening anyway because a restart is absolutely required when upgrading to beta8 from any version)
Fixed an error that was causing Kong UI Hider to break with TMW installed and at least one group enabled.
v4.0.0 beta8
New condition: Resting.
New condition: Encounter Resource, for tracking the level of encounter-specific 'resources' like corruption on Cho'gall and sound on Atramedes.
New condition: Talent Tree, for specifying what talent tree must be active.
New conditions: Unit speed/unit run speed, for checking the current movement speed/max run speed of your target.
Toggling the 'Ignore Runes' setting should now properly toggle the 'Ignore Runes' setting.
Rune conditions should now properly save.
Merged the glaringly empty alpha/stacks/duration tab with the main tab.
The option for item cooldowns to only show if equipped is back now. Oops.
Fixed the bug that was causing icons to occasionally hide their texture in config mode.
Item cooldowns that use slotIDs should now work a little better.
Conditions and each icon type have been split off into their own file, so a complete restart of WoW will be needed when upgrading to this version.
Conditions now generate their own, single function instead of chaining a bunch of functions. They also make use of Lua's short-circuit evaluation capabilities in order to become more efficient (instead of the old way that checked EVERYTHING)
You can now define what talent trees must be active in order to show a group.
Fixed an error that was being caused by interference from Tukui.
"mainassist#" and "maintank#" are now valid units for TMW. Their implementation is a little unorthodox though, so the order of them is not guaranteed compared to be the same as the order in your unit frames if your unit frames display these units.
Added compatibility for the changes made to CLEU and pet happiness in WoW 4.1.0.