Skip to content

Commit

Permalink
[Hunter] add T19 2pc BM hotfix
Browse files Browse the repository at this point in the history
Implement 2017-02-06 T19 BM 2pc hotfix
  With the Dire Frenzy talent, the Eagletalon Battlegear Beast Mastery
  2-piece bonus should now grant your pet 10% increased damage for 15
  seconds.
Contrary to what the hotfix states the buff gets applied even *without*
Dire Frenzy talented.

For reference: https://goo.gl/pCzJ13
 the first main pet melee (47540)  at 0:35.502 is with BW up
 BW fades at 0:36.429-452 (note the 2 buffs fading from the main pet)
 the last main pet melee (32291) at 0:37.881 is without BW up
The hunter in question does not have Dire Frenzy. His BW should be 31% (no
Bestial Fury, no Unleash the Beast relics), but 47540 / 32291 is ~1.44
which is 44%. If we add in the 10% from the "second" BW it all lines up
(as 1.31 * 1.1 = 1.441 and 32291 * 1.31 * 1.1 = ~47540).
  • Loading branch information
nuoHep committed Feb 8, 2017
1 parent c39d5de commit 82a371e
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions engine/class_modules/sc_hunter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1123,6 +1123,7 @@ struct hunter_main_pet_t: public hunter_pet_t
buff_t* titans_frenzy;
buff_t* tier17_4pc_bm;
buff_t* tier18_4pc_bm;
buff_t* tier19_2pc_bm;
} buffs;

// Gains
Expand Down Expand Up @@ -1327,6 +1328,11 @@ struct hunter_main_pet_t: public hunter_pet_t
buff_creator_t( this, "tier18_4pc_bm" )
.default_value( owner -> find_spell( 178875 ) -> effectN( 2 ).percent() )
.add_invalidate( CACHE_PLAYER_DAMAGE_MULTIPLIER );

buffs.tier19_2pc_bm =
buff_creator_t( this, 211183, "tier19_2pc_bm" )
.default_value( .1 ) // XXX: ptr spell data has it as the second effect of 211183
.add_invalidate( CACHE_PLAYER_DAMAGE_MULTIPLIER );
}

virtual void init_gains() override
Expand Down Expand Up @@ -1476,6 +1482,9 @@ struct hunter_main_pet_t: public hunter_pet_t
if ( buffs.tier17_4pc_bm -> up() )
m *= 1.0 + buffs.tier17_4pc_bm -> current_value;

if ( buffs.tier19_2pc_bm -> up() )
m *= 1.0 + buffs.tier19_2pc_bm -> check_value();

// Pet combat experience
m *= 1.0 + specs.combat_experience -> effectN( 2 ).percent();

Expand Down Expand Up @@ -4742,6 +4751,12 @@ struct bestial_wrath_t: public hunter_spell_t
p() -> active.pet -> buffs.bestial_wrath -> trigger();
if ( p() -> sets.has_set_bonus( HUNTER_BEAST_MASTERY, T19, B2 ) )
{
// XXX: 2017-02-08 nuoHep:
// 2017-02-06 hotfix: "With the Dire Frenzy talent, the Eagletalon Battlegear Beast Mastery 2-piece bonus should now grant your pet 10% increased damage for 15 seconds."
// actual testing in game shows that, contrary to what the hotfix states, the buff gets applied even without Dire Frenzy talented
// for reference: https://goo.gl/pCzJ13 pet melee at 0:35.502 & 0:37.881
p() -> active.pet -> buffs.tier19_2pc_bm -> trigger();

for ( size_t i = 0; i < p() -> pets.dire_beasts.size(); i++ )
{
if ( ! p() -> pets.dire_beasts[ i ] -> is_sleeping() )
Expand Down

0 comments on commit 82a371e

Please sign in to comment.