Jump to content


[Fixed] Lei Shi "Hide has ended" (new bug, new fix)

  • Please log in to reply
No replies to this topic

#1 Farmbuyer


    Glass Joe

  • Members
  • 8 posts

Posted 16 September 2013 - 03:35 AM

With 5.4, something changed with how Lei Shi's Hide mechanic is implemented. I don't know exactly what; what I do know is that the "Hide has ended" announcement is now triggered as soon as she vanishes. The announcement is not repeated when she does actually reappear.

Looking at the code (as of r10185), it makes sense why. The INSTANCE_ENCOUNTER_ENGAGE_UNIT logic is trying to only announce on one of three occurrences of IEEU, but it's firing one "occurrence" too early.

I just took an alt through ToES with the following local fix in place:

--- LeiShi.lua.orig     2013-09-15 22:11:39.406412000 -0400
+++ LeiShi.lua  2013-09-15 22:11:51.126428400 -0400
@@ -303,7 +303,10 @@
 --Fires twice when boss returns, once BEFORE visible (and before we can detect unitID, so it flags unknown), then once a 2nd time after visible
 --"<233.9> [INSTANCE_ENCOUNTER_ENGAGE_UNIT] Fake Args:#nil#nil#Unknown#0xF130F6070000006C#normal#0#nil#nil#nil#nil#normal#0#nil#nil#nil#nil#normal#0#nil#nil#nil#nil#normal#0#Real Args:", -- [14168]
+       if hideActive then
                 hideActive = false
+               return
+       end
        self:UnregisterShortTermEvents()--Once boss appears, unregister event, so we ignore the next two that will happen, which will be 2nd time after reappear, and right before next Hide.

The change is pretty straightforward. The "hideActive" local variable is already being updated elsewhere, but never tested for anything, so I made use of it.

With this change, the "hide ended" message appears when it should. I had some additional print() calls in a few places to track the flow of control through the code, and there were no surprises.

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users