@@ -80,6 +80,7 @@ using namespace helpers;
8080 // Diabolist
8181 bool diabolic_ritual = false ;
8282 bool demonic_art = false ;
83+ bool rancora_cb_bonus = false ;
8384 } triggers;
8485
8586 warlock_spell_t ( util::string_view token, warlock_t * p, const spell_data_t * s = spell_data_t ::nil() )
@@ -192,14 +193,23 @@ using namespace helpers;
192193
193194 if ( diabolist () && triggers.diabolic_ritual )
194195 {
195- timespan_t adjustment = -timespan_t::from_seconds ( p ()->hero .diabolic_ritual ->effectN ( 1 ).base_value () ) * shards_used;
196+ timespan_t adjustment = 0_ms;
197+
198+ if ( demonology () )
199+ adjustment = -timespan_t::from_seconds ( p ()->hero .diabolic_ritual ->effectN ( 1 ).base_value () ) * shards_used;
200+
201+ if ( destruction () && shards_used > 0 )
202+ adjustment = -timespan_t::from_seconds ( p ()->hero .diabolic_ritual ->effectN ( 2 ).base_value () );
196203
197204 if ( demonology () && p ()->hero .infernal_machine .ok () && p ()->warlock_pet_list .demonic_tyrants .n_active_pets () > 0 )
198205 adjustment += -p ()->hero .infernal_machine ->effectN ( 1 ).time_value ();
199206
200207 if ( destruction () && p ()->hero .infernal_machine .ok () && p ()->warlock_pet_list .infernals .n_active_pets () > 0 )
201208 adjustment += -p ()->hero .infernal_machine ->effectN ( 1 ).time_value ();
202209
210+ if ( destruction () && p ()->hero .touch_of_rancora .ok () && shards_used > 0 && triggers.rancora_cb_bonus )
211+ adjustment += -timespan_t::from_seconds ( p ()->hero .touch_of_rancora ->effectN ( 3 ).base_value () );
212+
203213 switch ( p ()->diabolic_ritual )
204214 {
205215 case 0 :
@@ -3549,6 +3559,7 @@ using namespace helpers;
35493559 affected_by.touch_of_rancora = p->hero .touch_of_rancora .ok ();
35503560
35513561 triggers.diabolic_ritual = triggers.demonic_art = p->hero .diabolic_ritual .ok ();
3562+ triggers.rancora_cb_bonus = true ;
35523563
35533564 base_dd_multiplier *= 1.0 + p->talents .improved_chaos_bolt ->effectN ( 1 ).percent ();
35543565
0 commit comments