diff --git a/engine/buff/buff.cpp b/engine/buff/buff.cpp index bc0ee9b618f..10661b0b2e6 100644 --- a/engine/buff/buff.cpp +++ b/engine/buff/buff.cpp @@ -3778,20 +3778,30 @@ damage_buff_t* damage_buff_t::parse_spell_data( const spell_data_t* spell, doubl if ( multiplier != 0.0 && direct_mod.multiplier == 1.0 && direct_mod.effect_idx == 0 ) set_direct_mod( spell, idx, multiplier ); - assert( direct_mod.multiplier == 1.0 + ( multiplier == 0.0 ? e.percent() : multiplier ) - && "Additional label modifiers do not match the existing direct effect value" ); - - direct_mod.labels.push_back( e.misc_value2() ); + if ( direct_mod.multiplier == 1.0 + ( multiplier == 0.0 ? e.percent() : multiplier ) ) + { + direct_mod.labels.push_back( e.misc_value2() ); + } + else + { + sim->print_debug( "{} ignoring label modifier of {} due to not matching existing direct effect value of {}", + *this, ( multiplier == 0.0 ? e.percent() : multiplier ), direct_mod.multiplier ); + } } else if ( e.property_type() == P_TICK_DAMAGE ) { if ( multiplier != 0.0 && periodic_mod.multiplier == 1.0 && periodic_mod.effect_idx == 0 ) set_periodic_mod( spell, idx, multiplier ); - assert( periodic_mod.multiplier == 1.0 + ( multiplier == 0.0 ? e.percent() : multiplier ) - && "Additional label modifiers do not match the existing periodic effect value" ); - - periodic_mod.labels.push_back( e.misc_value2() ); + if ( periodic_mod.multiplier == 1.0 + ( multiplier == 0.0 ? e.percent() : multiplier ) ) + { + periodic_mod.labels.push_back( e.misc_value2() ); + } + else + { + sim->print_debug( "{} ignoring label modifier of {} due to not matching existing periodic effect value of {}", + *this, ( multiplier == 0.0 ? e.percent() : multiplier ), periodic_mod.multiplier ); + } } } else if ( e.subtype() == A_ADD_FLAT_LABEL_MODIFIER && e.property_type() == P_CRIT )