"windrunner_shackles_focus_fire_attacks" { "challengetype" "118" "desc" "#DOTA_ChallengeDesc_WindrunnerTwoHeroShacklesFocusFireAttacks" "requiredhero" "21" "multi_query" "1" "events" { "1" { "desc" "#DOTA_ChallengeDesc_WindrunnerTwoHeroShacklesFocusFireAttacks_Sub1" "status_text" "#DOTA_ChallengeStatus_WindrunnerTwoHeroShacklesFocusFireAttacks_Sub1" "matching_type" "linear_series" "query" { "shackle_2" { "event" "modifier_add" "caster" "!hero" "modifier" "modifier_windrunner_shackle_shot" "target_must_be_hero" "1" } "separator" "2.000000" "shackle_1" { "event" "modifier_add" "caster" "!hero" "modifier" "modifier_windrunner_shackle_shot" "target_must_be_hero" "1" } } "progress_stored_in" "1" "postmatch_increments" { "storage" { "1" { "aggregator" "increment" } } } "post_tests" { "double_shackles" { "storage" "1" "compare" ">=" "amount" "" } } } "2" { "desc" "#DOTA_ChallengeDesc_WindrunnerTwoHeroShacklesFocusFireAttacks_Sub2" "status_text" "#DOTA_ChallengeStatus_WindrunnerTwoHeroShacklesFocusFireAttacks_Sub2" "matching_type" "timeblock_accumulate_after_trigger" "query" { "trigger" { "event" "ability" "ability" "windrunner_focusfire" "caster" "!hero" } "time_block_after_trigger" "20.000000" "accumulate_event" { "event" "damage" "damage_type" "physical" "attacker" "!hero" "target_must_be_hero" "1" } } "postmatch_increments" { "storage" { "1" { "aggregator" "increment" } } } "clear_storage_per_query" "0" "progress_stored_in" "1" "post_tests" { "test_focus_fire_attacks" { "storage" "1" "compare" ">=" "amount" "" } } } } "variables" { "" { "format" "int" "index" "0" } "" { "format" "int" "index" "1" } } }