evil-morfar / RCLootCouncil2

RCLootCouncil - addon for World of Warcraft
https://rclootcouncil.com
GNU Lesser General Public License v3.0
19 stars 29 forks source link

Send Transmog info #154

Closed SafeteeWoW closed 4 years ago

SafeteeWoW commented 6 years ago

See also issue #149

  1. I don't think this feature should be put in EU, because it happens very frequently that I need to know the transmog info so an non-upgrade piece for the raid will not be wasted.

    • I have a "Transmog" button for the raid. But most people simply clicks pass if they don't need the item, because some people don't actually care about the transmog collection. But as a ML, I don't want an item simply get wasted and I don't want to spend time asking people if anyone possibly doesn't have the appearance.
    • There is no way to know this in-game without asking the raider. There is always some other way to obtain the data of any current feature in EU, including bonus loot (by raid chat, though not 100% reliable), RCScore (by Details/Skada/Recount), etc).
    • It's relatively simple for a guild to require people to install several addons if they so desire.

    • ^ Although it's true for some people, it's very inconvenient to put some very useful features in a plugin of the addon. And don't expect people to be smart enough to install all required addons. More addons required, less likely. It adds another complexity to download and active the plugin, and lots of people will have no idea of the useful feature in the plugin because it is not in the core of the addon. Use DBM as an example. Currently DBM consists several plugins, including AntorusBurningThrone, Argus, BrokenIsles, Brawlers, etc. Each of these has its own TOC file and can be released as a separate plugin on Curseforge. However, DBM author packs all plugins relevant to the current expansion under the main addon DBM. Imagine all those plugins are released separated, it will be very painful, especially for the new-comers of the game. BigWigs does the same thing. RCLootCouncil is similar to BigWigs and DBM that addon communication is required, therefore addon compatibility between raiders is very important. More steps needed to properly configure the addon, less likely it works. Therefore, I really don't like the existence of Extra Utilities right now.
    • I know combine EU into core takes more memory and CPU, but it can be easily solved by adding settings into RC to enable/disable feature. Unlike EPGP module, EU has nothing major and can be easily combined into the core. (Why DBM still has TrialofValor/EmeraldNightmare modules in the core? Because it is more painful to have no DBM when you do need it and those modules don't take CPU (loaded on demand))
    • Reasons that EPGP module must be standalone and cant be combined into core.
      1. Much large and complex (240KB, vs EU 60KB, code+locale, no lib). For some features of EPGP modules, I need long text to explain how it works.
      2. EPGP modules is never useful to a guild that does not use EPGP as loot rule.
      3. You, evil_morfar, don't write the EPGP module.
    • ^ The above doesn't happen in EU
    • Reasons why TradeSkillMaster releases all its plugin separately. Currently, TradeSkillMaster is designed for advanced players that it requires player to watch lots of video/stream/Wki to make money out of it. This addon currently not designed to be simple to new players. But RC should be simple to new people into the game.
  2. I would like to move BonusRoll column from EU into core, because this is very very important for the loot decision, and this is true for any guild, casual or hardcore, unlike Pawn score, or #sockets equipped.

    • I hope the feature will be improve some time to also show if:
      1. The bonus cant be done because there is no more currency. (cross symbol?)
      2. The bonus roll is canceled. The raider clicks No. (stop symbol?)
      3. The bonus roll is pending. The raider is still making his decision. (funnel symbol?)
  3. Now it's time to talk about how this PR works.

    • Raider sends if the he has collected the appearance of the item being rolled to the ML.
    • ML shows the info in the Mog column in the voting frame.
      1. If the item has no appearance (Artifact relic, neck, ring, trinket), show nothing.
      2. If the item should be autopassed by the candidate, show nothing, because the appearance cannot be added to the candidate's collection even if he receives the item.
      3. Otherwise, if the candidate has collected its appearance, show green check symbol.
      4. Otherwise, if the candidate has not collected its appearance, show red cross symbol.
      5. Otherwise, if we don't know (because candidate hasn't installed the new version of RC), show question mark symbol.
      6. When ML mouseover thoses symbols, it shows "Apperance collected", "Apperance not collected" or "Apperance unknown"
  4. Current problems

    • Nothing send and shown for the tier tokens. I may implement in the future when I find an easy way to generate hardcode appearance data for tier tokens.
    • It could be little bit confusing that "Appearance collected" is displayed as green symbol. Because normally in RCLootCouncil green means you need the item, which is contradict to "Appearance Collected". Therefore, I add the tooltip to clarify this.
evil-morfar commented 6 years ago
  1. It's hard to compare RCLootCouncil to other addons like DBM and TSM. The main difference with DBM and RC is DBM has a cleanly defined usage: whatever info you need to know about a boss. RC does alot of different things, and there's no clear definition of when it's "enough". TSM has the same "issue" and thus is split up in several different parts.
    The main reason for EU's existence is exactly to avoid having too many things thrown at new users. As it is, there's a lot of settings and features a lot of people don't actually use. Furthermore there's no reason to use resources on scarcely used stuff, hence the opt-in nature of EU (which unlike the other addons can't be load on demand). As for the transmog info - if people can't be bothered clicking a button, do you really think they'd appreciate the implications of adding this? Not to mention it doesn't matter if people don't care (although I still like it).
  2. So would I. As you say, unlike the other stuff in EU bonus rolls is really quite essential. The primary reason I didn't add it to the core addon is because I don't want to add any more columns without having a system for disabling/resizing columns (which currently only exists in EU). Again it comes back to the user experience, and adding more stuff with enable/disable options does not improve that (which is also why I haven't prioritised moving that from EU). This is something I'd like to change in a future version though (maybe before 3.0). I like your ideas, and already envisioned doing that - I just haven't had much time for it.
  3. I still like the idea, but I also still don't think it belongs in the core. It would add yet another comm layer, which the current system probably can't really handle many more of - not to mention the root problem is solved by people clicking a button.
  4. Luckily tier tokens won't be a problem in 8.0 :) As for the green "meaning" - I wouldn't dwell to much on that. A lot of people changes the colors (and a equally large part doesn't seem to care at all), and with a check mark that would be an entirely new symbol which holds more meaning than a text color (it's also used in other addons for transmogs, not to mention it indicates "ready" in ready checks).
SafeteeWoW commented 6 years ago
  1. As for the transmog info - if people can't be bothered clicking a button, do you really think they'd appreciate the implications of adding this? Not to mention it doesn't matter if people don't care

The goal of this PR is not doing auto button clicking for raider who care or don't care about transmog. Non-council cant see the voting frame, thus cant really see the changes by this PR. This PR is for the ML who never wants an item to be wasted.

Furthermore there's no reason to use resources on scarcely used stuff, hence the opt-in nature of EU (which unlike the other addons can't be load on demand).

  • This is more likely that the version of ML's (RC and EU) is incompatible with the raiders if they are two pieces of the addon instead of one.
  • Some scarcely used stuff should be completely removed instead of putting it in EU. I don't think EU should contain useless stuffs either.
  • "legendaries" column is useless (everyone has 2, not considering Aman'thul).
  • "ilvlUpgrade" is useless. This is not in Legion.
  • "Titanforged" column is partially useless and not working. It is incorrect to use [3337] = "Titanforged" (bonus id scan) to determine titanforged. Instead, tooltip scan should be done (Implemented in RCLootCouncil-EPGP. See Module\customGP.lua for reference)
  • sockets is a bit useful, if the guild wants to balance the luckiness of raiders. This is a small bug that this is calculating #gems instead of #sockets and it is not properly calculating if there are gears with more than 2 sockets, for example, crafted legendary. I personally don't think this is useful.

  • RCScore. I don't think anyone will use this. The formula makes no sense. Such score (DPS/HPS performance, eliminating the affects of ilvl) should be viewed by ilvl% of WarcraftLogs. There is no way to come up with a good formula to calculate those.
  • traits. Dont think this matter at the moment, but I do agree this matters in the early days of Legion expansion.
  • upgrade and Pawn. I know Pawn is a good way to determine whether a gear is an upgrade. But pawn is very misleading if you use its default stat weights instead of doing simulation on your equipped gear and enter the simulated weights. Your stat weight is highly depend on your current gear. For example, although Fire Mage prefer crits. But if your gear is full of crits, the stat weight of crit is no longer highest because everything will diminishing return when you stack it. The current EU just applied same Pawn stat weights rule to everyone with the same spec in the raid, not considering their current gear, it does not tell whether it's an actual upgrade for them or not. This is just misleading and useless. Pawn column is only useful if raider send their own custom stat weights of Pawn to ML.
  • Overall, I personally think only spec icon(already in core) and bonus rolls in EU are actually useful. So only adding bonus rolls into core is left and you agree it is essential. Then there is nothing useful left in EU, so I don't think it's worth to make a separate EU.
    1. RCv3 should have a separate file for scrollcols. There are too many duplicate code to handle scrollcols currently. lib-st is super old. I think we should add some useful custom functions into it. And I want to add the feature to resize/reorder the columns by mouse, if that is possible in WoW. Any PC application with tabs can drag the tabs to reorder it and it's just dumb that user need to enter give number index to each tab in order to reorder the tabs.
  1. It would add yet another comm layer, which the current system probably can't really handle many more of - not to mention the root problem is solved by people clicking a button.

    • The comm adds 5n+6 bytes, not too much
    • I have considered to make this feature as auto rolling transmog when clicking pass if appearance not collected. But I think ML should differ ppl who really wants the mog and ppl without the mog who don't need the mog, so I give up the idea. But the problem in my group is that most ppl don't care about mog, so most of them click pass instead of mog, so I want to differ among those ppl who don't care about transmog, who has the apperance, and who don't have appearance, so the gear is not wasted. So currently, when everyone passes, I simply throw it to some random guy, and later he says I already have the appearance and I am absolutely don't need it, is there anyone else who may need it or its appearance? I don't want this to happen and this happen fairly frequently that I don't want to spend time asking who may need the appearance.
  2. But most ppl, at least 50% I think, use and are used to the default response color. Although I agree I shouldn't worry too much about it. P.S.: Is the default response of relic buttons still grey?

evil-morfar commented 6 years ago
  1. Except it's very possible for non-council members to see the voting frame, and either way the council members still will. And no, the column shouldn't only be shown to the ML. This PR is for people interested in transmogs - imo an item is not wasted if no one wants it.

  2. Yup. It's definitely possible to do drag and drop - it's just very time consuming to do, hence the current implementation. Same goes for click resizing, albeit easier.

  3. My point here was just that the original problem is already solved, and again, imo an item is not wasted if no one wants it/can use it. The only way I see this being an issue is when a ML really cares about it, but can't get people to install another addon or don't think the issue is big enough to ask them. That's not ideal, but I care more about not bloating the core addon however.

  4. Yes.

As for the EU comments:

The warcraftlogs ilvl% is percentile based, and while it could be duplicated almost 100% in-game, that would require an up to date extract of the data the percentiles are based of (i.e. every single log from the past 2 weeks). It's doable using their API, and it might even be possible to estimate the results to avoid having to update frequently, but all in all not something I'm looking for. Instead, a much easier approach is to calculate how far a candidate is from the proven max dps, based on ilvl. In general, this would be dps / maxDpsAt(ilvl) % which is very easy to create a formula for.

The current formula is an approximation of the average dps/hps made by the top 99 percentile on warcraftlogs. It does take ilvl into account, and it's actually a pretty good approximation (only about ~0.5% off). The problem with it is specs are usually +-10% off each other which makes it very imprecise when comparing specs far from each other on the dmg meters. Furthermore there's a lot of discrepancy between fights, which makes an average estimate vary wildly from fight to fight. To this end I've made a small program that pulls the top n-percentile (most likely 99 due to data) for each fight for every ilvl of every spec. This is linearly approximated (on average this has about 0.15% error rate) and extracted as an invokeable lua function.

But most importantly: shared by all of the above: they're completely optional. Don't like, don't use it. The only reason they're in EU is because I believe not everyone will use them.