Quantcast
WoWInterface - View Single Post - Detecting a spell sound or registering a callback on it
View Single Post
03-14-18, 10:11 AM   #13
Eungavi
A Theradrim Guardian
Join Date: Nov 2017
Posts: 64
So, here's what I've got so far.
(It took a time... I know... I was just lazy and didn't do any research or test for a week )

According to the log that semlar had provided, the first tick of poison bomb normally occurs about 0.5 seconds after either by envenom or rupture cast.

Here's the calculation that I've done with that log.

Code:
00:00:06.778	Rupture
00:00:07.332	Poison Bomb	+00:00:00.554
00:00:07.817	Poison Bomb	+00:00:00.485
00:00:08.319	Poison Bomb	+00:00:00.502
00:00:08.838	Poison Bomb	+00:00:00.519
00:00:09.317	Poison Bomb	+00:00:00.479
00:00:09.827	Poison Bomb	+00:00:00.510

00:00:26.173	Envenom
00:00:26.741	Poison Bomb	+00:00:00.568
00:00:27.221	Poison Bomb	+00:00:00.480
00:00:27.704	Poison Bomb	+00:00:00.483
00:00:28.240	Poison Bomb	+00:00:00.536
00:00:28.721	Poison Bomb	+00:00:00.381
00:00:29.223	Poison Bomb	+00:00:00.502

00:01:11.232	Envenom
00:01:11.779	Poison Bomb	+00:00:00.547
00:01:12.265	Poison Bomb	+00:00:00.486
00:01:12.792	Poison Bomb	+00:00:00.527
00:01:13.326	Poison Bomb	+00:00:00.534
00:01:13.770	Poison Bomb	+00:00:00.444
00:01:14.289	Poison Bomb	+00:00:00.519

00:01:18.972	Envenom
00:01:19.507	Poison Bomb	+00:00:00.535
00:01:20.013	Poison Bomb	+00:00:00.506
00:01:20.491	Poison Bomb	+00:00:00.478
00:01:21.004	Poison Bomb	+00:00:00.513
00:01:21.503	Poison Bomb	+00:00:00.499
00:01:21.991	Poison Bomb	+00:00:00.488

00:01:41.702	Rupture
00:01:42.270	Poison Bomb	+00:00:00.568
00:01:42.739	Poison Bomb	+00:00:00.469
00:01:43.242	Poison Bomb	+00:00:00.503
00:01:43.765	Poison Bomb	+00:00:00.523
00:01:44.261	Poison Bomb	+00:00:00.496
00:01:44.761	Poison Bomb	+00:00:00.500

00:02:35.440	Rupture
00:02:35.972	Poison Bomb	+00:00:00.532
00:02:36.499	Poison Bomb	+00:00:00.527
00:02:36.975	Poison Bomb	+00:00:00.476
00:02:37.474	Poison Bomb	+00:00:00.499
00:02:37.967	Poison Bomb	+00:00:00.493
00:02:38.480	Poison Bomb	+00:00:00.513

And here's the most cheaty way that I could think of...

Lua Code:
  1. local finisherTimeStamp;
  2.  
  3. local f = CreateFrame("Frame")
  4. f:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
  5. f:SetScript("OnEvent", function(self, event, ...)
  6.     if event == "COMBAT_LOG_EVENT_UNFILTERED" then
  7.         local timeStamp, subEvent, _, sourceGUID, _, _, _, destGUID, _, _, _, spellID = ...
  8.  
  9.         if sourceGUID ~= UnitGUID("player") then
  10.             return
  11.         end
  12.  
  13.         if subEvent == "SPELL_CAST_SUCCESS" and (spellID == 32645 or spellID == 1943) then
  14.             finisherTimeStamp = timeStamp
  15.         elseif subEvent == "SPELL_DAMAGE" and spellID == 192660 then
  16.             local timeStampGap = timeStamp - finisherTimeStamp
  17.  
  18.             if timeStampGap >= 0.4 and timeStampGap <= 0.6 then
  19.                 print("POISON BOMB!")
  20.             end
  21.         end
  22.     end
  23. end)

This is working fine against single training dummy. And since semlar had confirmed that the single poison bomb pool works equally against multiple targets even if they jump in late, that's not a problem. However, in case if I'm in raid or mythic+ where I could fire those finishers fast enough which didn't even spawn new poison bomb pool, but has a time stamp gap between 0.4 and 0.6 with existing pool's damage tick...

Like semlar questioned, spawning two overlapping pools are pretty rare cases, but still possible and sometimes it's quite easy to observe especially when encountering bosses or large number of trashes. However, since the poison bomb is not visible by other group members (especially by TANKS) lots and lots of pools are wasted and ultimately you'll lose tons of DPS which depresses me playing Assassination rogue

I wish WoW Dev team to revise such spells and make it more flexible (or visible) so that it could be easily tracked with Lua.

Last edited by Eungavi : 03-14-18 at 10:29 AM.
  Reply With Quote