Decliner

Automatically declines common player interactions

File Details

7.3.2.171219.1

  • R
  • Dec 19, 2017
  • 693.04 KB
  • 1.0K
  • 7.3.0
  • Retail

File Name

Decliner.zip

Supported Versions

  • 7.3.0

====================
Dec 19, 2017 at 00:58 UTC

  • fixed sound error (oops)

====================
Dec 17, 2017 at 11:33 UTC

  • fixed trade error
  • updated sound list to current live build
  • minor code cleanup

====================
Dec 03, 2017 at 07:07 UTC

  • now blocking whispers! compatible with WIM, disabled by default
  • player links in decliner messages now have a tooltip
    • for blocked whispers, the content of the blocked whispers are in the tooltip, each line a separate whisper
    • all other events have a spam count, so if someone tries to duel you four times in a row, you'll still only see one message, but the tooltip will have the number 4
  • some localization streamlining
  • fixed nil issue with debug history (it shouldn't have happened, but added protection against it)
  • debug changes to allow recording of any new sounds, system messages, or info text that need to be blocked
  • fixed DeclinerQuery not including whispered players in the full returned table
  • PARTYINVITEXREALM was removed when all the new social stuff was put in
    • i currently have not tested any of the social invites or quick join stuff, i'm not even sure if any of that needs to be looked at
  • fixed intermittent issue with allowing players from a group you just left
  • fixed nil issue with adding/removing openinvite words
  • included a rather large list of every sound name in the game, along with a better tooltip for the random sound buttons
    • you can use it yourself: local soundname=SOUNDKITNAME[soundID]
    • probably a little overkill for a small feature, but the sound list does help a little with sound debugging

====================
Aug 30, 2017 at 00:40 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