Skip to content

Commit 6ecfb22

Browse files
authored
[Warrior] Add wrecking and shattering throw, fix ravager buff (#10858)
1 parent 0008626 commit 6ecfb22

File tree

2 files changed

+8
-11
lines changed

2 files changed

+8
-11
lines changed

engine/class_modules/apl/apl_warrior.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,8 @@ void protection( player_t* p )
350350
generic->add_action( "shield_slam,if=(buff.burst_of_power.stack=2&buff.thunder_blast.stack<=1|buff.violent_outburst.up)|rage<=70&talent.demolish.enabled" );
351351
generic->add_action( "execute,if=rage>=70|(rage>=40&cooldown.shield_slam.remains&talent.demolish.enabled|rage>=50&cooldown.shield_slam.remains)|buff.sudden_death.up&talent.sudden_death.enabled" );
352352
generic->add_action( "shield_slam" );
353+
generic->add_action( "wrecking_throw" );
354+
generic->add_action( "shattering_throw" );
353355
generic->add_action( "thunder_blast,if=dot.rend.remains<=2&buff.violent_outburst.down" );
354356
generic->add_action( "thunder_blast" );
355357
generic->add_action( "thunder_clap,if=dot.rend.remains<=2&buff.violent_outburst.down" );

engine/class_modules/sc_warrior.cpp

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,7 +1091,8 @@ struct warrior_action_t : public parse_action_effects_t<Base>
10911091
parse_effects( p()->buff.revenge );
10921092

10931093
parse_effects( p()->buff.best_served_cold );
1094-
parse_effects( p()->buff.ravager, effect_mask_t( false ).enable( 5 ) );
1094+
if ( p()->talents.protection.ravager.ok() )
1095+
parse_effects( p()->buff.ravager, effect_mask_t( false ).enable( 5 ) );
10951096

10961097
parse_effects( p()->buff.shield_block, effect_mask_t( false ).enable( 2, 4 ) );
10971098
}
@@ -5934,8 +5935,8 @@ struct shield_slam_t : public warrior_attack_t
59345935

59355936
if ( p()->buff.shield_block->up() && p()->talents.protection.heavy_repercussions->ok() )
59365937
{
5937-
p () -> buff.shield_block -> extend_duration( p(),
5938-
timespan_t::from_seconds( p() -> talents.protection.heavy_repercussions -> effectN( 1 ).percent() ) );
5938+
p()->buff.shield_block->extend_duration( p(),
5939+
timespan_t::from_seconds( p()->talents.protection.heavy_repercussions->effectN( 1 ).percent() ) );
59395940
}
59405941

59415942
if ( p()->talents.protection.impenetrable_wall->ok() )
@@ -6812,14 +6813,8 @@ struct shield_block_t : public warrior_spell_t
68126813
{
68136814
warrior_spell_t::execute();
68146815

6815-
if ( p()->buff.shield_block->check() )
6816-
{
6817-
p()->buff.shield_block->extend_duration( p(), p() -> buff.shield_block->buff_duration() );
6818-
}
6819-
else
6820-
{
6821-
p()->buff.shield_block->trigger();
6822-
}
6816+
p()->buff.shield_block->extend_duration_or_trigger( p()->buff.shield_block->buff_duration() );
6817+
68236818
}
68246819

68256820
bool ready() override

0 commit comments

Comments
 (0)