From d2295ea8f4748dcabaab89162149fd29724f6ba9 Mon Sep 17 00:00:00 2001 From: Hekili Date: Thu, 2 Apr 2020 22:44:11 -0400 Subject: [PATCH] WW: If we just cast Tiger Palm but we refreshed before the Chi was generated, fake it. --- Classes/MonkWindwalker.lua | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Classes/MonkWindwalker.lua b/Classes/MonkWindwalker.lua index 83a59003f..66879dc3f 100644 --- a/Classes/MonkWindwalker.lua +++ b/Classes/MonkWindwalker.lua @@ -381,6 +381,8 @@ if UnitClassBase( 'player' ) == 'MONK' then end ) + local tp_chi_pending = false + -- If a Tiger Palm missed, pretend we never cast it. -- Use RegisterEvent since we're looking outside the state table. spec:RegisterEvent( "COMBAT_LOG_EVENT_UNFILTERED", function( event ) @@ -402,6 +404,10 @@ if UnitClassBase( 'player' ) == 'MONK' then prev_combo = actual_combo actual_combo = ability + if ability == "tiger_palm" then + tp_chi_pending = true + end + elseif subtype == "SPELL_DAMAGE" and spellID == 148187 then -- track the last tick. state.buff.rushing_jade_wind.last_tick = GetTime() @@ -410,6 +416,12 @@ if UnitClassBase( 'player' ) == 'MONK' then end end ) + spec:RegisterEvent( "UNIT_POWER_UPDATE", function( event, unit, power ) + if unit == "player" and power == "CHI" and state.player.lastcast == "tiger_palm" and GetTime() - state.action.tiger_palm.lastCast < 0.2 then + tp_chi_pending = false + end + end ) + spec:RegisterHook( "runHandler", function( key, noStart ) if combos[ key ] then @@ -448,6 +460,10 @@ if UnitClassBase( 'player' ) == 'MONK' then actual_combo = "none" end + if tp_chi_pending then + gain( 2, "chi" ) + end + if buff.rushing_jade_wind.up then setCooldown( "rushing_jade_wind", 0 ) end spinning_crane_kick.count = nil