Skip to content

Commit

Permalink
[Warrior] Rend fixes
Browse files Browse the repository at this point in the history
Update rend's crit damage bonus to be based off the (until now unused) rend dot tracker rather than the misleading, permanent, made-up rend debuff (now removed).
Also remove warrior_t::composite_target_crit_damage_bonus_multiplier() because it doesn't do anything
  • Loading branch information
Melekus committed Apr 1, 2021
1 parent b0d6a64 commit 542971f
Showing 1 changed file with 4 additions and 20 deletions.
24 changes: 4 additions & 20 deletions engine/class_modules/sc_warrior.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ struct warrior_td_t : public actor_target_data_t
dot_t* dots_rend;
buff_t* debuffs_colossus_smash;
buff_t* debuffs_exploiter;
buff_t* debuffs_rend;
buff_t* debuffs_siegebreaker;
buff_t* debuffs_demoralizing_shout;
buff_t* debuffs_taunt;
Expand Down Expand Up @@ -662,8 +661,6 @@ struct warrior_t : public player_t
double composite_melee_crit_chance() const override;
double composite_melee_crit_rating() const override;
double composite_player_critical_damage_multiplier( const action_state_t* ) const override;
double composite_target_crit_damage_bonus_multiplier( player_t* ) const
{ return 1.0; }
// double composite_leech() const override;
double resource_gain( resource_e, double, gain_t* = nullptr, action_t* = nullptr ) override;
void teleport( double yards, timespan_t duration ) override;
Expand Down Expand Up @@ -975,16 +972,16 @@ struct warrior_action_t : public Base

double composite_target_crit_damage_bonus_multiplier( player_t* target ) const override
{
double ctdm = ab::composite_target_crit_damage_bonus_multiplier( target );
double tcdbm = ab::composite_target_crit_damage_bonus_multiplier( target );

warrior_td_t* td = p()->get_target_data( target );

if ( affected_by.rend && td->debuffs_rend->check() )
if ( affected_by.rend && td->dots_rend->is_ticking() )
{
ctdm *= 1.0 + ( td->debuffs_rend->value() );
tcdbm *= 1.0 + ( p()->talents.rend->effectN( 3 ).percent() );
}

return ctdm;
return tcdbm;
}

double composite_crit_chance() const override
Expand Down Expand Up @@ -4277,16 +4274,6 @@ struct rend_t : public warrior_attack_t
hasted_ticks = true;
}

void impact( action_state_t* s ) override
{
warrior_attack_t::impact( s );

if ( result_is_hit( s->result ) )
{
td( s->target )->debuffs_rend->trigger();
}
}

bool ready() override
{
if ( p()->main_hand_weapon.type == WEAPON_NONE )
Expand Down Expand Up @@ -7140,9 +7127,6 @@ warrior_td_t::warrior_td_t( player_t* target, warrior_t& p ) : actor_target_data
p.azerite.callous_reprisal.spell() -> effectN( 1 ).trigger() -> effectN( 1 ).trigger() )
->set_default_value( p.azerite.callous_reprisal.spell() -> effectN( 1 ).percent() );

debuffs_rend = make_buff( *this , "rend" )
->set_default_value( p.talents.rend->effectN( 3 ).percent() );

debuffs_taunt = make_buff( *this, "taunt", p.find_class_spell( "Taunt" ) );

debuffs_exploiter = make_buff( *this , "exploiter", p.find_spell( 335452 ) )
Expand Down

0 comments on commit 542971f

Please sign in to comment.