Celebration Fanfare shouldn't play for known appearances in Unique Mode
Nulgar opened this issue ยท 7 comments
"Collected Things Trigger a Celebration" in Unique Mode
The fanfare is great, but in Unique Mode, it shouldn't trigger for sources where you already collected a shared Appearance. Could be controlled by a secondary option.
It can be misleading, especially when you get a random item, e.g. from a token or chest.
PS: Similarly, learning copies of already collected Battle Pets also trigger the fanfare. I would consider 1/3 being sufficiently collected for my purposes.
Lookalikes of class-specific items
If you have collected a class-specific appearance, e.g. a Tier item, but not any lookalikes, it shows these lookalikes as "collected from another appearance" on other classes, but you couldn't use this look on other classes. Similar for the PvP sets in WoD, where each faction got the other faction's looks the following season.
Could these cases be marked differently? I could imagine a yellow tint of the "known_circle" icon.
Lookalikes of class-specific items
Hmmm Unique Mode should already handle this expectation. In fact we very often get complaints asking why it doesn't consider appearances collected, and the explanation is due to the Class/Faction/Race restrictions and needing to use Main Only to get the desired outcome they are looking for.
Can you post a screenshot of an example that works contrary to this in Unique Mode (NOT with Main Only)?
Ok, hmpf, my bad, looking back at it, I may have confused indicators from Can I Mog It? with ones from ATT, and/or phrased it the wrong way around altogether.
Let's scratch that and reduce this to the Celebration sound.
Sorry, I should've circled back to the Celebration Sound, but I had a local "hotfix" that worked so far, but now you changed how the fanfare is triggered and broke that fix :D ah, I see, the function was merely moved to another file, but, let's get back to this anyway.
Let me explain again: In Unique Mode, collecting shared appearances of something you already learned from another source, or learning a copy of a pet, still triggers the collection fanfare.
For example, when buying something from the right column here:
My request is for an option to suppress this fanfare for "duplicate" appearances/pets in Unique Mode.
I don't particularly care about the jingle playing when you unlock a new source since technically a switch on the collection database is going from "I don't know this" to "I know this". Whether or not you know an appearance from a different source already at that moment would just add unnecessary lag or sometimes result in no jingle playing at all based on when the collection logic executed.
Curiously though, what was your hotfix?
For appearances:
in src\Classes\Transmog.lua
, function UniqueModeItemCollectionHelperBase
, only call PlayFanfare if newAppearancesLearned > 0
(a local variable already filled)
For pets:
in AllTheThings.lua
, function app.events.NEW_PET_ADDED
, only call PlayFanfare if C_PetJournal_GetNumCollectedInfo(speciesID) == 1
(that function does get called anyway earlier to check if it's > 0, so that could be stored in a local to avoid calling it twice)
So, the only thing I could see causing additional significant CPU time would be the check for that new option, but I assume there's caching in place to minimize the CPU cost. Not that this code would be called often, from a computer's point of view ;)
I agree with the points of this issue, and both Appearances (in Unique Modes) and Battle Pets properly only play their fanfare based on whether you have collected something new.