@@ -3484,7 +3484,7 @@ std::string player_t::parse_assisted_combat_rule( const assisted_combat_rule_dat
3484
3484
{
3485
3485
const spell_data_t * spell = find_spell ( spell_id );
3486
3486
if ( !spell )
3487
- throw std::runtime_error ( fmt::format ( " Unable to find spell '{}' for assisted combat condition ' '." , spell_id, rule.id ) );
3487
+ throw std::runtime_error ( fmt::format ( " Unable to find spell '{}' for assisted combat condition '{} '." , spell_id, rule.id ) );
3488
3488
std::string spell_name = util::tokenize_fn ( spell->name_cstr () );
3489
3489
if ( spell_name.empty () )
3490
3490
return fmt::format ( " unknown_spell_{}" , spell_id );
@@ -3511,17 +3511,17 @@ std::string player_t::parse_assisted_combat_rule( const assisted_combat_rule_dat
3511
3511
// TODO: Are there any other types of passives to check here?
3512
3512
// TODO: What happens when Blizzard uses an aura here like they did with Mind Flay: Insanity?
3513
3513
}
3514
- return " " ;
3514
+ return " " ; // no check necessary because simc actions are filtered out of the spell is not known
3515
3515
case SPELL_ON_COOLDOWN:
3516
3516
assert ( v2 == 0 && v3 == 0 );
3517
3517
if ( v1 )
3518
3518
return fmt::format ( " !cooldown.{}.ready" , tokenize_spell ( v1 ) );
3519
- return " " ;
3519
+ return " " ; // no check necessary because simc actions are not ready unless their cooldown is ready
3520
3520
case SPELL_OFF_COOLDOWN:
3521
3521
assert ( v2 == 0 && v3 == 0 );
3522
3522
if ( v1 )
3523
3523
return fmt::format ( " cooldown.{}.ready" , tokenize_spell ( v1 ) );
3524
- return " " ;
3524
+ return " " ; // no check necessary because simc actions are not ready unless their cooldown is ready
3525
3525
case TARGET_DISTANCE_LESS:
3526
3526
assert ( v2 == 0 && v3 == 0 );
3527
3527
return fmt::format ( " target.distance<{}" , v1 );
@@ -3572,7 +3572,7 @@ std::string player_t::parse_assisted_combat_rule( const assisted_combat_rule_dat
3572
3572
if ( v1 )
3573
3573
// TODO: implement this expression
3574
3574
return fmt::format ( " action.{}.cost_affordable" , tokenize_spell ( v1 ) );
3575
- return " " ;
3575
+ return " " ; // no check necessary because simc actions are not ready unless their cost is affordable
3576
3576
case AURA_MISSING_TARGET:
3577
3577
assert ( v2 == 0 && v3 == 0 );
3578
3578
expr_str = aura_expr_from_spell_id ( v1, false );
@@ -3722,7 +3722,7 @@ std::string player_t::parse_assisted_combat_rule( const assisted_combat_rule_dat
3722
3722
assert ( v2 == 0 && v3 == 0 );
3723
3723
if ( v1 )
3724
3724
return fmt::format ( " spell_targets.{}>0" , tokenize_spell ( v1 ) );
3725
- return " spell_targets>0 " ;
3725
+ return " " ; // no check necessary because simc actions are not ready unless they have a target
3726
3726
case HAS_PET:
3727
3727
assert ( v1 == 0 && v2 == 0 && v3 == 0 );
3728
3728
return " pet.any.active" ;
0 commit comments