Closed lologarithm closed 2 years ago
So I have a basic version of this that I'm working on in Google Sheets. It's far from complete, and really rough around the edges. I've only tested it on myself in one raid log, so it'll at least output the correct Player Details for BM Hunters.
WCL cannot provide (or does not provide) specific talent choices. The best I've been able to find over the last few years is the standard 41/20/0
format for talents. So these would have to run under the assumption of standard spec talents.
WCL provides enchants in the form of the actual ID of the enchant, whereas WoW Sim uses the Spell ID to identify enchants.
E.g: Glyph of Ferocity
WoW Sim ID: 29192 - item URL ID
WCL ID: 3003 - Enchant Item: +34 Attack Power and +16 Hit Rating (3003).
WCL provides consumables in the form of the buff ID, whereas WoWSIM uses a TypeNAME
format
e.g: WeaponImbueAdamantiteSharpeningStone
I don't really know much GO, and a lot of the process requires that you add additional UI elements to the project, which I'm unsure if that is actually going to be well received. I'm happy to keep working on this though, as I do think that it has value, it just needs some refinement / expansion once some of those roadblocks are discussed & figured out how to handle, without having to manually code all of the different id mappings.
So I just got back from vacation, and worked on this some more.
Party makeup is probably the shakiest thing I have right now, since it's based on some reliably party-wide buffs, such as:
Sanc Aura (20218), Conc Aura (19746), Battle Shout (2048), Leader of the Pack (24932), Greater Drums (24932)
.
so I have this mostly implemented in the sim already https://github.com/wowsims/tbc/blob/master/ui/raid/import_export.ts#L124
EDIT: I think we cannot do party makeup with 100% certainty (unless WCL starts to provide that)
@lologarithm I must have completely missed the experimental flag in the raid sim, so that's good to hear that it's mostly implemented!
As for party makeup, yeah it's not going to be 100% reliable, but using the auras that I listed above, I was able to get the DPS groups almost perfect, with very little moving around required. It obviously requires a bit of finessing on which auras are going to be reliable, but this was what I found to be the best indication.
I used WCL's V2 GraphQL API in my version, which used the following query:
let query = `{
reportData {
report(code: "${reportID}") {
table(dataType: Buffs, startTime: ${startTime}, endTime: ${endTime}, sourceID: ${this.id}, viewBy: Target, abilityID: ${buffId}, hostilityType: Friendlies)
}
}
}`
And only ran it on Warriors
, Paladins
, and Druids
(for the time being).
So for example using Leader of the Pack, you'd end up with a query that would look like:
{
reportData {
report(code: "rbYpNZVMcxykjFd3") {
table(dataType: Buffs, startTime: 668627, endTime: 749429, sourceID: 44, viewBy: Target, abilityID: 24932, hostilityType: Friendlies)
}
}
}
And would result in a list of the players who had that aura from sourceID: 44
, which would be:
.
Then you can just link those players together in a group, add them to a party, and continue on your way. Filtering out Player pets is also required, but that's the general idea that I was utilizing.
Here is my query so far
{"query":"{reportData { report(code: \\"${reportID}\\") { guild { name faction {id} } playerDetails(fightIDs: [${fightID}], endTime: 99999999) events(fightIDs: [${fightID}], dataType:CombatantInfo, endTime: 99999999) {data} fights(fightIDs: [${fightID}]) { startTime endTime } buffs: events(fightIDs: [${fightID}], dataType:Buffs, endTime: 99999999, abilityID: 29166){ data }}}}"}
I pull guild data to get horde/alliance (and maybe use guild name as a name for the raid group)
I pull out combatant info + player details to get names and specs. I then match the spec (X/Y/Z) to the closest spec we have pre-built.
I pull buff data right now just to see who cast innervate (to setup innervate targets). Paladin buffs for now are just using our sim defaults (each class has a priority order)
There are a few small things missing/broken
I'll reach out to you on Discord with some of my thoughts, I have some of this information readily available in my Google sheet, unrelated to the WowSim stuff.
Going to close this issue as we now have it working and released. We can create new issues if we want to track specific features to be added.
rough example here: https://pastebin.com/JyXSK8S7
this will allow an entire raid to be populated instead of requiring manual inputting
We should be able to pull items, enchants, gems, weapon oils/imbues.
buffs: