Skip to content

Commit ad18795

Browse files
authored
[Warrior] Fix ravaged and update tactical edge (#11583)
1 parent f1dce59 commit ad18795

1 file changed

Lines changed: 13 additions & 9 deletions

File tree

engine/class_modules/sc_warrior.cpp

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1155,6 +1155,10 @@ struct warrior_action_t : public parse_action_effects_t<Base>
11551155
{
11561156
// Shared
11571157

1158+
// Arms and Prot both benefit from ravaged debuff
1159+
if ( ab::sim->dbc->wowv() >= wowv_t( 12, 1, 0 ) )
1160+
parse_target_effects( d_fn( &warrior_td_t::debuffs_ravaged ), p()->spell.ravager->effectN( 3 ).trigger() );
1161+
11581162
// Arms
11591163
if ( ab::sim->dbc->wowv() >= wowv_t( 12, 1, 0 ) )
11601164
parse_target_effects( d_fn( &warrior_td_t::dots_rend ), p()->spell.rend_dot );
@@ -1441,7 +1445,7 @@ struct warrior_action_t : public parse_action_effects_t<Base>
14411445
// Brute forces causes Slam (1464) and heroic strike (1269383) to have a 10% increase proc rate
14421446
if ( p()->talents.arms.brute_force.ok() && ( ab::id == 1464 || ab::id == 1269383 ) )
14431447
proc_chance += 0.10;
1444-
if ( p()->talents.arms.tactical_edge.ok() && p()->buff.tactical_edge->check() && ab::id == p()->talents.arms.mortal_strike->id() )
1448+
if ( ab::sim->dbc->wowv() < wowv_t( 12, 1, 0 ) && p()->talents.arms.tactical_edge.ok() && p()->buff.tactical_edge->check() && ab::id == p()->talents.arms.mortal_strike->id() )
14451449
proc_chance += p()->buff.tactical_edge->value();
14461450
if ( ab::rng().roll( proc_chance ) )
14471451
{
@@ -3090,7 +3094,7 @@ struct mortal_strike_t : public warrior_attack_t
30903094
p()->buff.executioners_precision->expire();
30913095
p()->buff.martial_prowess->expire();
30923096

3093-
if( !background )
3097+
if( sim->dbc->wowv() < wowv_t( 12, 1, 0 ) && !background )
30943098
p()->buff.tactical_edge->decrement();
30953099

30963100
if ( !background )
@@ -3267,7 +3271,7 @@ struct bladestorm_t : public warrior_attack_t
32673271
{
32683272
auto new_dot_duration = warrior_attack_t::composite_dot_duration( s );
32693273

3270-
if ( p() -> talents.slayer.imminent_demise -> ok() && p()->talents.shared.sudden_death->ok() )
3274+
if ( p() -> talents.slayer.imminent_demise -> ok() && p()->talents.shared.sudden_death->ok() )
32713275
{
32723276
new_dot_duration = tick_time( s ) * ( dot_duration.total_seconds() + p() -> buff.imminent_demise -> stack() );
32733277
}
@@ -3748,13 +3752,16 @@ struct colossus_smash_t : public warrior_attack_t
37483752
{
37493753
warrior_attack_t::execute();
37503754

3755+
if ( sim->dbc->wowv() >= wowv_t( 12, 1, 0 ) && p()->talents.arms.tactical_edge.ok() )
3756+
p()->buff.sudden_death->trigger( as<int>( p()->talents.arms.tactical_edge->effectN( 1 ).base_value() ) );
3757+
37513758
if ( p()->talents.arms.master_of_warfare_3.ok() && p()->buff.heroic_might_accumulator->up() )
37523759
{
37533760
p()->buff.heroic_might->trigger( p()->buff.heroic_might_accumulator->stack(), buff_t::DEFAULT_VALUE(), 1.0, p()->spell.colossus_smash_debuff->duration() );
37543761
p()->buff.heroic_might_accumulator->expire();
37553762
}
37563763

3757-
if ( p()->talents.arms.tactical_edge.ok() )
3764+
if ( sim->dbc->wowv() < wowv_t( 12, 1, 0 ) && p()->talents.arms.tactical_edge.ok() )
37583765
p()->buff.tactical_edge->trigger();
37593766

37603767
if ( p()->talents.arms.crushing_combo.ok() )
@@ -8287,7 +8294,8 @@ void warrior_t::create_buffs()
82878294
buff.sweeping_strikes = make_buff( this, "sweeping_strikes", spec.sweeping_strikes)
82888295
->set_cooldown( 0_s ); // Handled by the action
82898296

8290-
buff.tactical_edge = make_buff( this, "tactical_edge", talents.arms.tactical_edge->effectN( 1 ).trigger() )
8297+
if ( sim->dbc->wowv() < wowv_t( 12, 1, 0 ) )
8298+
buff.tactical_edge = make_buff( this, "tactical_edge", talents.arms.tactical_edge->effectN( 1 ).trigger() )
82918299
->set_default_value_from_effect( 1 )
82928300
->set_initial_stack( talents.arms.tactical_edge.ok() ? talents.arms.tactical_edge->effectN( 1 ).trigger()->max_stacks() : 1 );
82938301

@@ -9414,10 +9422,6 @@ void warrior_t::parse_player_effects()
94149422

94159423
parse_target_effects( d_fn( &warrior_td_t::debuffs_honed_reflexes ), talents.warrior.honed_reflexes->effectN( 5 ).trigger() );
94169424

9417-
// Arms and Prot both benefit from ravaged debuff
9418-
if ( sim->dbc->wowv() >= wowv_t( 12, 1, 0 ) )
9419-
parse_target_effects( d_fn( &warrior_td_t::debuffs_ravaged ), spell.ravager->effectN( 3 ).trigger() );
9420-
94219425
if ( specialization() == WARRIOR_ARMS )
94229426
{
94239427
parse_effects( buff.die_by_the_sword );

0 commit comments

Comments
 (0)