Quantcast
Event changes in Legion - WoWInterface
 
Thread Tools Display Modes
11-24-15, 03:39 PM   #1
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,703
Event changes in Legion

See this thread for diffs: http://www.wowinterface.com/forums/s...ad.php?t=53455

Last edited by p3lim : 05-26-16 at 05:48 AM.
 
04-24-16, 07:09 PM   #2
galvin
A Frostmaul Preserver
Join Date: Nov 2006
Posts: 263
There any lists I can look into?
UNIT_SPELLCAST_START returns different info than live. Having a hardtime finding what it is.
 
04-24-16, 07:17 PM   #3
TOM_RUS
A Warpwood Thunder Caller
AddOn Author - Click to view addons
Join Date: Sep 2008
Posts: 95
Originally Posted by galvin View Post
There any lists I can look into?
UNIT_SPELLCAST_START returns different info than live. Having a hardtime finding what it is.
Code:
if event == "UNIT_SPELLCAST_START" then
    local unitTag, spellName, rank, lineID, spellID = ...;
end
 
04-24-16, 08:21 PM   #4
galvin
A Frostmaul Preserver
Join Date: Nov 2006
Posts: 263
SpellID is not a spellID anymore.
Here is the info I got back from the event.
This is for Solar Wrath spellID 190984

Unit: player
Name: Solar Wrath
Rank: Solar
LineID: 3-2084-1-152-190984-00001D7EA8
SpellID: 569608

Edit: With more testing the last set of digits on the lineID changes when casting over and over. There must be a function to parse the lineID. The SpellID is a random number each time. So its most likely a useless parm now.

Last edited by galvin : 04-24-16 at 08:38 PM.
 
04-25-16, 04:59 AM   #5
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by galvin View Post
SpellID is not a spellID anymore.
Here is the info I got back from the event.
This is for Solar Wrath spellID 190984

Unit: player
Name: Solar Wrath
Rank: Solar
LineID: 3-2084-1-152-190984-00001D7EA8
SpellID: 569608

Edit: With more testing the last set of digits on the lineID changes when casting over and over. There must be a function to parse the lineID. The SpellID is a random number each time. So its most likely a useless parm now.
This is retaded, we seriously have to parse a guid string just for the spellID?
 
04-25-16, 07:11 AM   #6
Nevcairiel
Premium Member
Premium Member
AddOn Author - Click to view addons
Join Date: Aug 2006
Posts: 62
We decomposed the new UNIT_SPELLCAST_* GUID some time ago, this is the layout:

3-[server id]-[instance id]-[zone uid]-[spell id]-[cast UID]

So yes, you need to parse this GUID to get the spell id. The cast UID is unique to every single spell cast.
What the last parameter is on the U_S_* events is not yet known. It looks like flags of some sort, but I was unable to determine their meaning.

The GUID has a bunch of advantages, it allows you to clearly group spell cast events together, like the appropriate start with the success or cancel, or whichever.
The previous method the old events offered was generally not very reliable.

Interestingly the FrameXML UI itself seems to not have been updated to properly use these new events.

Last edited by Nevcairiel : 04-25-16 at 07:15 AM.
 
04-25-16, 07:36 AM   #7
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by Nevcairiel View Post
The GUID has a bunch of advantages, it allows you to clearly group spell cast events together, like the appropriate start with the success or cancel, or whichever.
You could have easily do this before. Each cast has an unique cast lineID, channeled spells had 0.

Now if you dont pase the guid, and just compare as a whole. That could potentionally cause some issues:

1. You start casting a spell.
2. You zone into a new zone.
3. Every stop, success, interrupt, event will fail because the GUID wont be the same.

And since it seems like you will be forced to parse, then it will be so heavy resource wise.

Last edited by Resike : 04-25-16 at 07:42 AM.
 
04-25-16, 07:48 AM   #8
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
I recently reported a minor issue regarding the lineIDs, i wonder if this would be their potentional fix for it. But honestly this would even cause more issues then it fixes.
 
04-25-16, 07:59 AM   #9
Nimhfree
A Frostmaul Preserver
AddOn Author - Click to view addons
Join Date: Aug 2006
Posts: 264
Is this also true for UNIT_SPELLCAST_SUCCEEDED? In WoD the lineId does not return a GUID, so I assume if UNIT_SPELLCAST_SUCCEEDED has changed in Legion we need to special case processing based on release.
 
04-25-16, 08:29 AM   #10
Nevcairiel
Premium Member
Premium Member
AddOn Author - Click to view addons
Join Date: Aug 2006
Posts: 62
Originally Posted by Resike View Post
You could have easily do this before. Each cast has an unique cast lineID, channeled spells had 0.
The lineId was not very reliable.
Splitting a string at a pre-determined deliminator isnt actually an expensive operation, so complaining about resource costs isnt really worthwhile. The alternative probably is that the game applies this split, so nothing saved.

Originally Posted by Nimhfree View Post
Is this also true for UNIT_SPELLCAST_SUCCEEDED? In WoD the lineId does not return a GUID, so I assume if UNIT_SPELLCAST_SUCCEEDED has changed in Legion we need to special case processing based on release.
All the UNIT_SPELLCAST_ events have changed to this layout.

Last edited by Nevcairiel : 04-25-16 at 08:34 AM.
 
04-25-16, 11:37 AM   #11
sezz
A Flamescale Wyrmkin
AddOn Author - Click to view addons
Join Date: Apr 2008
Posts: 131
UI_ERROR_MESSAGE: number, message

not sure what the number means, because it's not unique - maybe a category id?

some samples:

252 Another action is in progress
50 Can't do that while moving
50 Interrupted
51 Item is not ready yet.
220 You have no target.
 
04-25-16, 01:47 PM   #12
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by Nevcairiel View Post
The lineId was not very reliable.
Splitting a string at a pre-determined deliminator isnt actually an expensive operation, so complaining about resource costs isnt really worthwhile. The alternative probably is that the game applies this split, so nothing saved.



All the UNIT_SPELLCAST_ events have changed to this layout.
I recently wrote a castbar addon, and i havn't run into any issues with the lineID method. And everything works perfectly.
Well it's not that expensive, i just don't see whats the point storing everything in a big string instead of proper values. Specially on something that gets called bazillion times.

Last edited by Resike : 04-25-16 at 01:58 PM.
 
04-25-16, 02:54 PM   #13
galvin
A Frostmaul Preserver
Join Date: Nov 2006
Posts: 263
So for a proper lineID I need to take the last set of digits from the spellGUID?

Be nice if blizzard had docs on this. Right now I use combatlogunfiltered for spell missed, energized, failed.
If the new spellGUID has all the info now, thats actually useful. But I couldn't find any lua code using the new lineID format.
 
04-26-16, 05:25 AM   #14
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by galvin View Post
So for a proper lineID I need to take the last set of digits from the spellGUID?

Be nice if blizzard had docs on this. Right now I use combatlogunfiltered for spell missed, energized, failed.
If the new spellGUID has all the info now, thats actually useful. But I couldn't find any lua code using the new lineID format.
Thats a totally different thing. These are only cover when you start/stop/fail/succeed with a spellcast. The miss/parry/dodge/evade/glacing/crusing/crit/multistrike events came after the spell hits the target. And you still gonna need different events to track those.

Last edited by Resike : 04-26-16 at 05:29 AM.
 
04-26-16, 06:37 AM   #15
galvin
A Frostmaul Preserver
Join Date: Nov 2006
Posts: 263
Since you're parsing spellID from a string. The spellID will be of type string. and you'll have to turn it into a number by doing tonumber(SpellID). Found this out yesterday why it wasn't finding the spell in my table after an hour.
 
04-26-16, 08:40 AM   #16
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
3 global calls just to get an info from the guid, and the strsplit is basically a for cycle which goes through the whole string:

Lua Code:
  1. tonumber((select(5, strsplit("-", GUID))))
 
04-26-16, 10:28 AM   #17
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,703
Originally Posted by Resike View Post
3 global calls just to get an info from the guid, and the strsplit is basically a for cycle which goes through the whole string:

Lua Code:
  1. tonumber((select(5, strsplit("-", GUID))))
You don't need to (and shouldn't) use select.
 
04-26-16, 10:41 AM   #18
Resike
A Pyroguard Emberseer
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,289
Originally Posted by p3lim View Post
You don't need to (and shouldn't) use select.
Yeah you can ditch the select for some extra variables, i only wanted to show a more compact approach.
 
04-26-16, 07:32 PM   #19
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Mod
Featured
Join Date: Oct 2006
Posts: 10,765
While more "compact", it is slower. Which especially matters in combat.
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

 
04-28-16, 11:35 PM   #20
yoshimo
An Aku'mai Servant
Join Date: May 2006
Posts: 30
Which events are used for learned appearances and for the new class spells you get when your demon hunter kills a certain quest npc?
 
 

WoWInterface » Site Forums » Archived Beta Forums » Legion Beta archived threads » Event changes in Legion

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off