Decliner

Automatically declines common player interactions

File Details

7.3.0.170830.1

  • R
  • Aug 30, 2017
  • 33.18 KB
  • 502
  • 7.3.0
  • Retail

File Name

Decliner.zip

Supported Versions

  • 7.3.0

====================
Aug 30, 2017 at 00:42 UTC

  • 7.3: PlaySoundKitID is gone, PlaySound now uses IDs instead of strings
  • updated French translation (thank you, aktaurus)
    • i don't remember crediting a past German translator here, so thank you pas06 for those German phrases
  • removed group accounting redundancy
  • reformatted system message matching to use userlink instead of displayed text
  • fixed Prat issue
  • other minor changes

====================
Jun 24, 2017 at 02:10 UTC

  • fixed error logic in Query and reformatted usage error for all three functions

====================
Jun 20, 2017 at 00:10 UTC

  • new global table, declinerhistory, which converts declinerlog into an indexed list of past interactions, more info at the top of dclcore.lua
    • declinerhistory does not automatically clear with size like declinerlog does, may need to include some sort of prune in the future, or you can clear it with /run declinerhistory={}
    • keep in mind that declinerhistory will rebuild itself using declinerlog, but clearing it will lose all interactions no longer in declinerlog
  • DeclinerQuery() and DeclinerTrack() with no arguments now return their entire table of players
    • DeclinerTrack() now has "players" and "all" options, more info also at the top of dclcore.lua
  • fixed channel invite bug, not sure how that happened
  • fixed bug where a single trade could slip through in specific circumstances
  • streamlined register function
  • found out why group_roster_update wasn't reliable (oops) but i'm keeping the system message redundancy
  • both sound easter eggs are kept enabled even when their columns are disabled (individually or everything)

====================
Jun 17, 2017 at 00:56 UTC

  • more robust frame pool, now relying on it for clearing decline blocks instead of a 0.05 sec delay
  • now including whispers in DeclinerQuery()
  • directly taking over UIErrorsFrame boolean function to filter duel and trade messages, as well as filtering LibSink
    • at some point in the past, pet duel declined messages stopped showing
  • various changes and reorganization

====================
Jun 02, 2017 at 03:04 UTC

  • IsInGroup() is apparently not reliable, it has returned false while in a group, so removed it and IsInGuild() and am now relying on group and guild counts above 0 to determine group and guild status
  • redundant group accounting using join/leave messages, ensuring the group is properly stored in memory
  • similar refinements to friends and bnet storage
  • added DeclinerQuery() to query Decliner's memory of players, more info at the top of dclcore.lua
  • fixed specific/account setting saves, specific data will be wiped
  • refined pattern stripping
  • normalization of name-realm data
  • frame pool for sound filtering
  • more verbose log entries
  • various minor changes
  • keeping only the last 10 versions in changelog

====================
May 01, 2017 at 12:19 UTC

  • removed all dropdown code due to raidframe taints, replaced with custom popup menu
  • new account/character settings option, defaults to account
  • "Battle.net" is now "Blizzard Services"
  • expanded error for DeclinerAllowed()
  • account for 255 character limit in log messages
  • use ValueToBoolean for CVAR_UPDATE
  • improved sound easter egg by effectively future-proofing available sounds, ensuring a sound is always played, and a live tooltip
  • removed interface options double hack
  • other minor changes

====================
Sep 15, 2016 at 20:52 UTC

  • if a number is used to trigger open invites, it now only counts in a message by itself
    • there were a bunch of false positives with the default "1" provided, such as in item links and talking about the 7.1 patch
  • fixed error when client sound is off

====================
Aug 29, 2016 at 02:55 UTC

  • now tracking group, guild, and all friends locally, and independently of allowed checks, leading to much faster declined decisions
    • only online players are tracked
  • due to a much faster bouncer, hiding frames then showing them is no longer necessary
  • therefore, no longer hijacking cancel/close/decline functions from frames
  • finally, new way of blocking sounds without changing any blizzard frames
  • the changes above ultimately fix the general blame taint issue in #6 since Decliner no longer touches any blizzard frames
  • now tracking realms, uniquely identifying players
  • addon loaded message now compatible with !sh
  • DeclinerAllowed now raises a defined error if the first argument is not a string
  • DeclinerPlayerTrack is now a function named DeclinerTrack
  • refined loading process
  • more visual feedback when disabling options
  • rearranged option columns (the action columns such as all the channel invite options, duel request options, etc)
  • another pass at UIErrorsFrame and system message filtering efficiency
  • myriad of other minor changes

====================
Jul 19, 2016 at 22:01 UTC

  • removed WoD compatibilities, now fully updated for legion
  • more code reformatting
  • string and filtering efficiency for chat messages and open invites
  • transparency note for usage of CHAT_MSG_ADDON due to recent problems with scammers
  • simple fix for option commands not opening the correct addon options panel instead of double workaround
  • sound easter eggs now tell you the sound id they played in their tooltip, along with an icon to reflect if it exists or not

====================
Jul 04, 2016 at 02:35 UTC

  • fixed bug that may allow some interactions if one was in a party
  • fixed intermittent error with declined trades
  • major reformat of entire code to localize as many elements as possible
  • reorganized whisper and spam tracking, information now available in the DeclinerPlayerTrack table
    • code comments for DeclinerAllowed and DeclinerPlayerTrack fleshed out and now located at the top of dclcore.lua
  • more elaborate debugging, now with a log viewable in the savedvariables file. to view ingame, /dump Decliner_SV.log
  • no longer relying on Ambiguate()
  • simplified UI_INFO_MESSAGE filtering
  • now printing notification if someone invites you while you're in a group, spam controlled normally. the "in a group" message was already blocked before if it came from a stranger