criterion "Isannouncer_dlc_bastion" "classname" "npc_dota_hero_announcer_dlc_bastion" weight 5 required criterion "IsEnemyannouncer_dlc_bastion" "targetclassname" "npc_dota_hero_announcer_dlc_bastion" weight 5 required criterion "IsAllyannouncer_dlc_bastion" "nearby_ally" "npc_dota_hero_announcer_dlc_bastion" weight 5 required criterion "IsAnnouncerVoice_Bastion" "announcer_voice" "npc_dota_hero_announcer_dlc_Bastion" weight 5 required Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPickYour { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_yr.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_yr_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPickYour_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsPickYour response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPickYour } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPlayerTeam_RadiantIsPickDire { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_enm.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPlayerTeam_RadiantIsPickDire_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsPlayerTeam_Radiant IsPickDire response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPlayerTeam_RadiantIsPickDire } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPlayerTeam_DireIsPickRadiant { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_enm.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPlayerTeam_DireIsPickRadiant_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsPlayerTeam_Dire IsPickRadiant response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPlayerTeam_DireIsPickRadiant } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPickDireIsPlayerTeam_Spectator { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_dire.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPickDireIsPlayerTeam_Spectator_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsPickDire IsPlayerTeam_Spectator response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPickDireIsPlayerTeam_Spectator } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPickRadiantIsPlayerTeam_Spectator { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_rad.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPickRadiantIsPlayerTeam_Spectator_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsPickRadiant IsPlayerTeam_Spectator response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsPickRadiantIsPlayerTeam_Spectator } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanYour { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ban_yr_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ban_yr_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanYour_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsBanYour response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanYour } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanDireIsPlayerTeam_Radiant { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ban_enm_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ban_enm_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanDireIsPlayerTeam_Radiant_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsBanDire IsPlayerTeam_Radiant response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanDireIsPlayerTeam_Radiant } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanRadiantIsPlayerTeam_Dire { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ban_enm_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ban_enm_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanRadiantIsPlayerTeam_Dire_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsBanRadiant IsPlayerTeam_Dire response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanRadiantIsPlayerTeam_Dire } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanDireIsPlayerTeam_Spectator { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ban_dire.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanDireIsPlayerTeam_Spectator_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsBanDire IsPlayerTeam_Spectator response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanDireIsPlayerTeam_Spectator } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanRadiantIsPlayerTeam_Spectator { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ban_rad.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanRadiantIsPlayerTeam_Spectator_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsBanRadiant IsPlayerTeam_Spectator response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsBanRadiantIsPlayerTeam_Spectator } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIs10SecToPick { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_count_pick_10.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIs10SecToPick_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion Is10SecToPick response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIs10SecToPick } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIs5SecToPick { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_count_pick_5.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIs5SecToPick_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion Is5SecToPick response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIs5SecToPick } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsReserveTime { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_time_reserve.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsReserveTime_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsReserveTime response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsReserveTime } Response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsSelectHero { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_choose_hero.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_now_select.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_team_complete_follow_01.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_team_complete_yr.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_team_complete_our.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsSelectHero_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsSelectHero response announcer_dlc_bastion_CustomIsAnnouncerVoice_BastionIsSelectHero } Response announcer_dlc_bastion_CustomIsGameStarting30IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_count_battle_30_01.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.01 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_count_battle_30_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.01 } Rule announcer_dlc_bastion_CustomIsGameStarting30IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGameStarting30 IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGameStarting30IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGameStarting10IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_count_battle_10_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_count_battle_10_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsGameStarting10IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGameStarting10 IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGameStarting10IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsPrepStartIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_battle_prepare_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_battle_prepare_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_battle_prepare_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsPrepStartIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsPrepStart IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsPrepStartIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGameStartIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_battle_begin_01.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 8 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_battle_begin_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 8 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_battle_begin_03.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 8 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_battle_begin_04.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 8 } Rule announcer_dlc_bastion_CustomIsGameStartIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGameStart IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGameStartIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsFortAttackedIsNotSpectatorIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_yr_01.vcd" nodelay noscene respeakdelay 6 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_yr_02.vcd" nodelay noscene respeakdelay 6 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_yr_03.vcd" nodelay noscene respeakdelay 6 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_yr_04.vcd" nodelay noscene respeakdelay 6 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_yr_05.vcd" nodelay noscene respeakdelay 6 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_yr_06.vcd" nodelay noscene respeakdelay 6 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_yr_07.vcd" nodelay noscene respeakdelay 6 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsFortAttackedIsNotSpectatorIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsFortAttacked IsNotSpectator IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsFortAttackedIsNotSpectatorIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsFortAttackedIsGoodAttackedIsSpectatorIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_rad_01.vcd" nodelay noscene respeakdelay 8 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_rad_02.vcd" nodelay noscene respeakdelay 8 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_rad_03.vcd" nodelay noscene respeakdelay 8 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_rad_04.vcd" nodelay noscene respeakdelay 8 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_rad_05.vcd" nodelay noscene respeakdelay 8 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_rad_06.vcd" nodelay noscene respeakdelay 8 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsFortAttackedIsGoodAttackedIsSpectatorIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsFortAttacked IsGoodAttacked IsSpectator IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsFortAttackedIsGoodAttackedIsSpectatorIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsFortAttackedIsBadAttackedIsSpectatorIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_dire_01.vcd" nodelay noscene respeakdelay 8 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_dire_02.vcd" nodelay noscene respeakdelay 8 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_dire_03.vcd" nodelay noscene respeakdelay 8 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_dire_04.vcd" nodelay noscene respeakdelay 8 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_dire_05.vcd" nodelay noscene respeakdelay 8 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_dire_06.vcd" nodelay noscene respeakdelay 8 then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsFortAttackedIsBadAttackedIsSpectatorIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsFortAttacked IsBadAttacked IsSpectator IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsFortAttackedIsBadAttackedIsSpectatorIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerAttackedIsGoodAttackedIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_rad_top_01.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_rad_top_02.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_rad_top_03.vcd" nodelay noscene respeakdelay 10 } Rule announcer_dlc_bastion_CustomIsTowerAttackedIsGoodAttackedIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerAttacked IsGoodAttacked IsSpectator IsTopLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerAttackedIsGoodAttackedIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerAttackedIsGoodAttackedIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_rad_mid_01.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_rad_mid_02.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_rad_mid_03.vcd" nodelay noscene respeakdelay 10 } Rule announcer_dlc_bastion_CustomIsTowerAttackedIsGoodAttackedIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerAttacked IsGoodAttacked IsSpectator IsMidLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerAttackedIsGoodAttackedIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerAttackedIsGoodAttackedIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_rad_bot_01.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_rad_bot_02.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_rad_bot_03.vcd" nodelay noscene respeakdelay 10 } Rule announcer_dlc_bastion_CustomIsTowerAttackedIsGoodAttackedIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerAttacked IsGoodAttacked IsSpectator IsBotLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerAttackedIsGoodAttackedIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerAttackedIsBadAttackedIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_dire_top_01.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_dire_top_02.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_dire_top_03.vcd" nodelay noscene respeakdelay 10 } Rule announcer_dlc_bastion_CustomIsTowerAttackedIsBadAttackedIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerAttacked IsBadAttacked IsSpectator IsTopLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerAttackedIsBadAttackedIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerAttackedIsBadAttackedIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_dire_mid_01.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_dire_mid_02.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_dire_mid_03.vcd" nodelay noscene respeakdelay 10 } Rule announcer_dlc_bastion_CustomIsTowerAttackedIsBadAttackedIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerAttacked IsBadAttacked IsSpectator IsMidLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerAttackedIsBadAttackedIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerAttackedIsBadAttackedIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_dire_bot_01.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_dire_bot_02.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_dire_bot_03.vcd" nodelay noscene respeakdelay 10 } Rule announcer_dlc_bastion_CustomIsTowerAttackedIsBadAttackedIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerAttacked IsBadAttacked IsSpectator IsBotLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerAttackedIsBadAttackedIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerAttackedIsNotSpectatorIsTopLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_top_01.vcd" nodelay noscene respeakdelay 7 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_top_02.vcd" nodelay noscene respeakdelay 7 then self TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_top_03.vcd" nodelay noscene respeakdelay 7 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_top_04.vcd" nodelay noscene respeakdelay 7 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_top_05.vcd" nodelay noscene respeakdelay 7 then self TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsTowerAttackedIsNotSpectatorIsTopLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerAttacked IsNotSpectator IsTopLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerAttackedIsNotSpectatorIsTopLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerAttackedIsNotSpectatorIsMidLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_mid_01.vcd" nodelay noscene respeakdelay 7 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_mid_02.vcd" nodelay noscene respeakdelay 7 then self TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_mid_03.vcd" nodelay noscene respeakdelay 7 then self TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_mid_04.vcd" nodelay noscene respeakdelay 7 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_mid_05.vcd" nodelay noscene respeakdelay 7 } Rule announcer_dlc_bastion_CustomIsTowerAttackedIsNotSpectatorIsMidLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerAttacked IsNotSpectator IsMidLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerAttackedIsNotSpectatorIsMidLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerAttackedIsNotSpectatorIsBotLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_bot_01.vcd" nodelay noscene respeakdelay 7 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_bot_02.vcd" nodelay noscene respeakdelay 7 then self TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_bot_03.vcd" nodelay noscene respeakdelay 7 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_bot_04.vcd" nodelay noscene respeakdelay 7 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_attack_yr_bot_05.vcd" nodelay noscene respeakdelay 7 then self TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsTowerAttackedIsNotSpectatorIsBotLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerAttacked IsNotSpectator IsBotLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerAttackedIsNotSpectatorIsBotLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerKilledIsTopLaneIsNotDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_yr_top_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_yr_top_02.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_NEGATIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_yr_top_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsTowerKilledIsTopLaneIsNotDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerKilled IsTopLane IsNotDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerKilledIsTopLaneIsNotDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerKilledIsMidLaneIsNotDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_yr_mid_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_yr_mid_02.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_NEGATIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_yr_mid_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsTowerKilledIsMidLaneIsNotDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerKilled IsMidLane IsNotDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerKilledIsMidLaneIsNotDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerKilledIsBotLaneIsNotDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_yr_bot_01.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_NEGATIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_yr_bot_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_yr_bot_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsTowerKilledIsBotLaneIsNotDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerKilled IsBotLane IsNotDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerKilledIsBotLaneIsNotDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsEnemyTowerKilledIsTopLaneIsNotDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_enm_top_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_enm_top_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_enm_top_03.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_POSITIVE foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsEnemyTowerKilledIsTopLaneIsNotDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsEnemyTowerKilled IsTopLane IsNotDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsEnemyTowerKilledIsTopLaneIsNotDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsEnemyTowerKilledIsMidLaneIsNotDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_enm_mid_01.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_POSITIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_enm_mid_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_enm_mid_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsEnemyTowerKilledIsMidLaneIsNotDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsEnemyTowerKilled IsMidLane IsNotDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsEnemyTowerKilledIsMidLaneIsNotDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsEnemyTowerKilledIsBotLaneIsNotDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_enm_bot_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_enm_bot_02.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_POSITIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_enm_bot_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsEnemyTowerKilledIsBotLaneIsNotDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsEnemyTowerKilled IsBotLane IsNotDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsEnemyTowerKilledIsBotLaneIsNotDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsTopLaneIsNotDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_rad_top_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_rad_top_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_rad_top_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsTopLaneIsNotDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGoodTowerKilled IsSpectator IsTopLane IsNotDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsTopLaneIsNotDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsMidLaneIsNotDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_rad_mid_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_rad_mid_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_rad_mid_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsMidLaneIsNotDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGoodTowerKilled IsSpectator IsMidLane IsNotDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsMidLaneIsNotDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsBotLaneIsNotDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_rad_bot_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_rad_bot_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_rad_bot_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsBotLaneIsNotDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGoodTowerKilled IsSpectator IsBotLane IsNotDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsBotLaneIsNotDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsTopLaneIsNotDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_dire_top_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_dire_top_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_dire_top_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsTopLaneIsNotDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBadTowerKilled IsSpectator IsTopLane IsNotDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsTopLaneIsNotDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsMidLaneIsNotDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_dire_mid_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_dire_mid_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_dire_mid_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsMidLaneIsNotDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBadTowerKilled IsSpectator IsMidLane IsNotDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsMidLaneIsNotDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsBotLaneIsNotDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_dire_bot_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_dire_bot_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_fall_dire_bot_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsBotLaneIsNotDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBadTowerKilled IsSpectator IsBotLane IsNotDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsBotLaneIsNotDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBarracksAttackedIsNotSpectatorIsTopLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_yr_top_01.vcd" nodelay noscene respeakdelay 7 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_yr_top_02.vcd" nodelay noscene respeakdelay 7 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_yr_top_03.vcd" nodelay noscene respeakdelay 7 then self TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsBarracksAttackedIsNotSpectatorIsTopLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBarracksAttacked IsNotSpectator IsTopLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBarracksAttackedIsNotSpectatorIsTopLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBarracksAttackedIsNotSpectatorIsMidLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_yr_mid_01.vcd" nodelay noscene respeakdelay 7 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_yr_mid_02.vcd" nodelay noscene respeakdelay 7 then self TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_yr_mid_03.vcd" nodelay noscene respeakdelay 7 } Rule announcer_dlc_bastion_CustomIsBarracksAttackedIsNotSpectatorIsMidLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBarracksAttacked IsNotSpectator IsMidLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBarracksAttackedIsNotSpectatorIsMidLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBarracksAttackedIsNotSpectatorIsBotLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_yr_bot_01.vcd" nodelay noscene respeakdelay 7 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_yr_bot_02.vcd" nodelay noscene respeakdelay 7 then self TLK_DOTA_FOLLOWUP_NEGATIVE_ONGOING foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_yr_bot_03.vcd" nodelay noscene respeakdelay 7 } Rule announcer_dlc_bastion_CustomIsBarracksAttackedIsNotSpectatorIsBotLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBarracksAttacked IsNotSpectator IsBotLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBarracksAttackedIsNotSpectatorIsBotLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBarracksAttackedIsGoodAttackedIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_rad_top_01.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_rad_top_02.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_rad_top_03.vcd" nodelay noscene respeakdelay 10 } Rule announcer_dlc_bastion_CustomIsBarracksAttackedIsGoodAttackedIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBarracksAttacked IsGoodAttacked IsSpectator IsTopLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBarracksAttackedIsGoodAttackedIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBarracksAttackedIsGoodAttackedIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_rad_mid_01.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_rad_mid_02.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_rad_mid_03.vcd" nodelay noscene respeakdelay 10 } Rule announcer_dlc_bastion_CustomIsBarracksAttackedIsGoodAttackedIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBarracksAttacked IsGoodAttacked IsSpectator IsMidLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBarracksAttackedIsGoodAttackedIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBarracksAttackedIsGoodAttackedIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_rad_bot_01.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_rad_bot_02.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_rad_bot_03.vcd" nodelay noscene respeakdelay 10 } Rule announcer_dlc_bastion_CustomIsBarracksAttackedIsGoodAttackedIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBarracksAttacked IsGoodAttacked IsSpectator IsBotLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBarracksAttackedIsGoodAttackedIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBarracksAttackedIsBadAttackedIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_dire_top_01.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_dire_top_02.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_dire_top_03.vcd" nodelay noscene respeakdelay 10 } Rule announcer_dlc_bastion_CustomIsBarracksAttackedIsBadAttackedIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBarracksAttacked IsBadAttacked IsSpectator IsTopLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBarracksAttackedIsBadAttackedIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBarracksAttackedIsBadAttackedIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_dire_mid_01.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_dire_mid_02.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_dire_mid_03.vcd" nodelay noscene respeakdelay 10 } Rule announcer_dlc_bastion_CustomIsBarracksAttackedIsBadAttackedIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBarracksAttacked IsBadAttacked IsSpectator IsMidLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBarracksAttackedIsBadAttackedIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBarracksAttackedIsBadAttackedIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_dire_bot_01.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_dire_bot_02.vcd" nodelay noscene respeakdelay 10 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_attack_dire_bot_03.vcd" nodelay noscene respeakdelay 10 } Rule announcer_dlc_bastion_CustomIsBarracksAttackedIsBadAttackedIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBarracksAttacked IsBadAttacked IsSpectator IsBotLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBarracksAttackedIsBadAttackedIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBarracksKilledIsTopLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_yr_top_01.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_NEGATIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_yr_top_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_yr_top_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsBarracksKilledIsTopLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBarracksKilled IsTopLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBarracksKilledIsTopLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBarracksKilledIsMidLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_yr_mid_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_yr_mid_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_yr_mid_03.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_NEGATIVE foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsBarracksKilledIsMidLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBarracksKilled IsMidLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBarracksKilledIsMidLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBarracksKilledIsBotLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_yr_bot_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_yr_bot_02.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_NEGATIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_yr_bot_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsBarracksKilledIsBotLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBarracksKilled IsBotLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBarracksKilledIsBotLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsEnemyBarracksKilledIsTopLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_enm_top_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_enm_top_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_enm_top_03.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_POSITIVE foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsEnemyBarracksKilledIsTopLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsEnemyBarracksKilled IsTopLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsEnemyBarracksKilledIsTopLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsEnemyBarracksKilledIsMidLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_enm_mid_01.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_POSITIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_enm_mid_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_enm_mid_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsEnemyBarracksKilledIsMidLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsEnemyBarracksKilled IsMidLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsEnemyBarracksKilledIsMidLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsEnemyBarracksKilledIsBotLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_enm_bot_01.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_POSITIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_enm_bot_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_enm_bot_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsEnemyBarracksKilledIsBotLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsEnemyBarracksKilled IsBotLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsEnemyBarracksKilledIsBotLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGoodBarracksKilledIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_rad_top_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_rad_top_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_rad_top_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsGoodBarracksKilledIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGoodBarracksKilled IsSpectator IsTopLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGoodBarracksKilledIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGoodBarracksKilledIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_rad_mid_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_rad_mid_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_rad_mid_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsGoodBarracksKilledIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGoodBarracksKilled IsSpectator IsMidLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGoodBarracksKilledIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGoodBarracksKilledIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_rad_bot_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_rad_bot_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_rad_bot_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsGoodBarracksKilledIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGoodBarracksKilled IsSpectator IsBotLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGoodBarracksKilledIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBadBarracksKilledIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_dire_top_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_dire_top_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_dire_top_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsBadBarracksKilledIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBadBarracksKilled IsSpectator IsTopLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBadBarracksKilledIsSpectatorIsTopLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBadBarracksKilledIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_dire_mid_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_dire_mid_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_dire_mid_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsBadBarracksKilledIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBadBarracksKilled IsSpectator IsMidLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBadBarracksKilledIsSpectatorIsMidLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBadBarracksKilledIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_dire_bot_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_dire_bot_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_rax_fall_dire_bot_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsBadBarracksKilledIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBadBarracksKilled IsSpectator IsBotLane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBadBarracksKilledIsSpectatorIsBotLaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerKilledIsTopLaneIsDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_yr_top_01.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_POSITIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_yr_top_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_yr_top_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsTowerKilledIsTopLaneIsDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerKilled IsTopLane IsDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerKilledIsTopLaneIsDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerKilledIsMidLaneIsDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_yr_mid_01.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_POSITIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_yr_mid_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_yr_mid_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsTowerKilledIsMidLaneIsDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerKilled IsMidLane IsDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerKilledIsMidLaneIsDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTowerKilledIsBotLaneIsDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_yr_bot_01.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_POSITIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_yr_bot_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_yr_bot_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsTowerKilledIsBotLaneIsDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTowerKilled IsBotLane IsDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTowerKilledIsBotLaneIsDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsEnemyTowerKilledIsTopLaneIsDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_enm_top_01.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_NEGATIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_enm_top_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_enm_top_03.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_NEGATIVE foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsEnemyTowerKilledIsTopLaneIsDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsEnemyTowerKilled IsTopLane IsDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsEnemyTowerKilledIsTopLaneIsDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsEnemyTowerKilledIsMidLaneIsDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_enm_mid_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_enm_mid_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_enm_mid_03.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_NEGATIVE foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsEnemyTowerKilledIsMidLaneIsDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsEnemyTowerKilled IsMidLane IsDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsEnemyTowerKilledIsMidLaneIsDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsEnemyTowerKilledIsBotLaneIsDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_enm_bot_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_enm_bot_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_enm_bot_03.vcd" nodelay noscene respeakdelay 10 then self TLK_DOTA_FOLLOWUP_NEGATIVE foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsEnemyTowerKilledIsBotLaneIsDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsEnemyTowerKilled IsBotLane IsDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsEnemyTowerKilledIsBotLaneIsDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsTopLaneIsDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_rad_top_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_rad_top_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_rad_top_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsTopLaneIsDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGoodTowerKilled IsSpectator IsTopLane IsDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsTopLaneIsDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsMidLaneIsDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_rad_mid_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_rad_mid_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_rad_mid_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsMidLaneIsDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGoodTowerKilled IsSpectator IsMidLane IsDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsMidLaneIsDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsBotLaneIsDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_rad_bot_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_rad_bot_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_rad_bot_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsBotLaneIsDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGoodTowerKilled IsSpectator IsBotLane IsDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGoodTowerKilledIsSpectatorIsBotLaneIsDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsTopLaneIsDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_dire_top_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_dire_top_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_dire_top_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsTopLaneIsDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBadTowerKilled IsSpectator IsTopLane IsDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsTopLaneIsDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsMidLaneIsDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_dire_mid_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_dire_mid_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_dire_mid_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsMidLaneIsDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBadTowerKilled IsSpectator IsMidLane IsDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsMidLaneIsDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsBotLaneIsDenyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_dire_bot_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_dire_bot_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_twr_deny_dire_bot_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsBotLaneIsDenyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBadTowerKilled IsSpectator IsBotLane IsDeny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBadTowerKilledIsSpectatorIsBotLaneIsDenyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomGlyphUsedBadIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_fort_dire_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_fort_dire_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_fort_dire_03.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_fort_dire_04.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_fort_dire_05.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomGlyphUsedBadIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion GlyphUsedBad IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomGlyphUsedBadIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomGlyphUsedGoodIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_fort_rad_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_fort_rad_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_fort_rad_03.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_fort_rad_04.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_fort_rad_05.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomGlyphUsedGoodIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion GlyphUsedGood IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomGlyphUsedGoodIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomCourierLostBadIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_cour_kill_dire_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_cour_kill_dire_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_cour_kill_dire_03.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_cour_kill_dire_04.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_cour_kill_dire_05.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomCourierLostBadIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion CourierLostBad IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomCourierLostBadIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomCourierLostGoodIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_cour_kill_rad_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_cour_kill_rad_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_cour_kill_rad_03.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_cour_kill_rad_04.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_cour_kill_rad_05.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomCourierLostGoodIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion CourierLostGood IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomCourierLostGoodIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsMegaCreepsIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_mega_now_we_01.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_POSITIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_mega_now_we_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_mega_now_we_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsMegaCreepsIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsMegaCreeps IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsMegaCreepsIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsEnemyMegaCreepsIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_mega_now_enm_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_mega_now_enm_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_NEGATIVE foo:0 0.5 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_mega_now_enm_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsEnemyMegaCreepsIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsEnemyMegaCreeps IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsEnemyMegaCreepsIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBadMegaCreepsIsSpectatorIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_mega_now_dire.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsBadMegaCreepsIsSpectatorIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBadMegaCreeps IsSpectator IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBadMegaCreepsIsSpectatorIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGoodMegaCreepsIsSpectatorIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_mega_now_rad.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsGoodMegaCreepsIsSpectatorIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGoodMegaCreeps IsSpectator IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGoodMegaCreepsIsSpectatorIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsRoshanKilledBadIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_roshan_fallen_dire_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_roshan_fallen_dire_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_roshan_fallen_dire_03.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_roshan_fallen_dire_04.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_roshan_fallen_dire_05.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsRoshanKilledBadIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsRoshanKilledBad IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsRoshanKilledBadIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsRoshanKilledGoodIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_roshan_fallen_rad_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_roshan_fallen_rad_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_roshan_fallen_rad_03.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_roshan_fallen_rad_04.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_roshan_fallen_rad_05.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsRoshanKilledGoodIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsRoshanKilledGood IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsRoshanKilledGoodIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsBadVictoryIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_victory_dire_01.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_victory_dire_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_victory_dire_03.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsBadVictoryIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsBadVictory IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsBadVictoryIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsGoodVictoryIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_victory_rad_01.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_victory_rad_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_victory_rad_03.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsGoodVictoryIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsGoodVictory IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsGoodVictoryIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAllPickIsAnnouncerVoice_BastionChance_50% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_01.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_04.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_05.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_06.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsAllPickIsAnnouncerVoice_BastionChance_50%_Rule { criteria Custom Isannouncer_dlc_bastion IsAllPick IsAnnouncerVoice_Bastion Chance_50% response announcer_dlc_bastion_CustomIsAllPickIsAnnouncerVoice_BastionChance_50% } Response announcer_dlc_bastion_CustomIsMorningIsAllPickIsAnnouncerVoice_BastionChance_15% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_morning.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsMorningIsAllPickIsAnnouncerVoice_BastionChance_15%_Rule { criteria Custom Isannouncer_dlc_bastion IsMorning IsAllPick IsAnnouncerVoice_Bastion Chance_15% response announcer_dlc_bastion_CustomIsMorningIsAllPickIsAnnouncerVoice_BastionChance_15% } Response announcer_dlc_bastion_CustomIsAfternoonIsAllPickIsAnnouncerVoice_BastionChance_15% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_afternoon.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsAfternoonIsAllPickIsAnnouncerVoice_BastionChance_15%_Rule { criteria Custom Isannouncer_dlc_bastion IsAfternoon IsAllPick IsAnnouncerVoice_Bastion Chance_15% response announcer_dlc_bastion_CustomIsAfternoonIsAllPickIsAnnouncerVoice_BastionChance_15% } Response announcer_dlc_bastion_CustomIsEveningIsAllPickIsAnnouncerVoice_BastionChance_15% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_evening.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsEveningIsAllPickIsAnnouncerVoice_BastionChance_15%_Rule { criteria Custom Isannouncer_dlc_bastion IsEvening IsAllPick IsAnnouncerVoice_Bastion Chance_15% response announcer_dlc_bastion_CustomIsEveningIsAllPickIsAnnouncerVoice_BastionChance_15% } Response announcer_dlc_bastion_CustomIsLateNightIsAllPickIsAnnouncerVoice_BastionChance_15% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_night.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 2 } Rule announcer_dlc_bastion_CustomIsLateNightIsAllPickIsAnnouncerVoice_BastionChance_15%_Rule { criteria Custom Isannouncer_dlc_bastion IsLateNight IsAllPick IsAnnouncerVoice_Bastion Chance_15% response announcer_dlc_bastion_CustomIsLateNightIsAllPickIsAnnouncerVoice_BastionChance_15% } Response announcer_dlc_bastion_CustomIsMidOnlyIsAnnouncerVoice_BastionChance_50% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_01.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_04.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_05.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_06.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsMidOnlyIsAnnouncerVoice_BastionChance_50%_Rule { criteria Custom Isannouncer_dlc_bastion IsMidOnly IsAnnouncerVoice_Bastion Chance_50% response announcer_dlc_bastion_CustomIsMidOnlyIsAnnouncerVoice_BastionChance_50% } Response announcer_dlc_bastion_CustomIsMorningIsMidOnlyIsAnnouncerVoice_BastionChance_20% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_morning.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsMorningIsMidOnlyIsAnnouncerVoice_BastionChance_20%_Rule { criteria Custom Isannouncer_dlc_bastion IsMorning IsMidOnly IsAnnouncerVoice_Bastion Chance_20% response announcer_dlc_bastion_CustomIsMorningIsMidOnlyIsAnnouncerVoice_BastionChance_20% } Response announcer_dlc_bastion_CustomIsAfternoonIsMidOnlyIsAnnouncerVoice_BastionChance_20% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_afternoon.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsAfternoonIsMidOnlyIsAnnouncerVoice_BastionChance_20%_Rule { criteria Custom Isannouncer_dlc_bastion IsAfternoon IsMidOnly IsAnnouncerVoice_Bastion Chance_20% response announcer_dlc_bastion_CustomIsAfternoonIsMidOnlyIsAnnouncerVoice_BastionChance_20% } Response announcer_dlc_bastion_CustomIsEveningIsMidOnlyIsAnnouncerVoice_BastionChance_20% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_evening.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsEveningIsMidOnlyIsAnnouncerVoice_BastionChance_20%_Rule { criteria Custom Isannouncer_dlc_bastion IsEvening IsMidOnly IsAnnouncerVoice_Bastion Chance_20% response announcer_dlc_bastion_CustomIsEveningIsMidOnlyIsAnnouncerVoice_BastionChance_20% } Response announcer_dlc_bastion_CustomIsLateNightIsMidOnlyIsAnnouncerVoice_BastionChance_20% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_night.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 2 } Rule announcer_dlc_bastion_CustomIsLateNightIsMidOnlyIsAnnouncerVoice_BastionChance_20%_Rule { criteria Custom Isannouncer_dlc_bastion IsLateNight IsMidOnly IsAnnouncerVoice_Bastion Chance_20% response announcer_dlc_bastion_CustomIsLateNightIsMidOnlyIsAnnouncerVoice_BastionChance_20% } Response announcer_dlc_bastion_CustomIsLeastPlayedIsAnnouncerVoice_BastionChance_50% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_01.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_04.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_05.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_06.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsLeastPlayedIsAnnouncerVoice_BastionChance_50%_Rule { criteria Custom Isannouncer_dlc_bastion IsLeastPlayed IsAnnouncerVoice_Bastion Chance_50% response announcer_dlc_bastion_CustomIsLeastPlayedIsAnnouncerVoice_BastionChance_50% } Response announcer_dlc_bastion_CustomIsMorningIsLeastPlayedIsAnnouncerVoice_BastionChance_20% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_morning.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsMorningIsLeastPlayedIsAnnouncerVoice_BastionChance_20%_Rule { criteria Custom Isannouncer_dlc_bastion IsMorning IsLeastPlayed IsAnnouncerVoice_Bastion Chance_20% response announcer_dlc_bastion_CustomIsMorningIsLeastPlayedIsAnnouncerVoice_BastionChance_20% } Response announcer_dlc_bastion_CustomIsAfternoonIsLeastPlayedIsAnnouncerVoice_BastionChance_20% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_afternoon.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsAfternoonIsLeastPlayedIsAnnouncerVoice_BastionChance_20%_Rule { criteria Custom Isannouncer_dlc_bastion IsAfternoon IsLeastPlayed IsAnnouncerVoice_Bastion Chance_20% response announcer_dlc_bastion_CustomIsAfternoonIsLeastPlayedIsAnnouncerVoice_BastionChance_20% } Response announcer_dlc_bastion_CustomIsEveningIsLeastPlayedIsAnnouncerVoice_BastionChance_20% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_evening.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsEveningIsLeastPlayedIsAnnouncerVoice_BastionChance_20%_Rule { criteria Custom Isannouncer_dlc_bastion IsEvening IsLeastPlayed IsAnnouncerVoice_Bastion Chance_20% response announcer_dlc_bastion_CustomIsEveningIsLeastPlayedIsAnnouncerVoice_BastionChance_20% } Response announcer_dlc_bastion_CustomIsLateNightIsLeastPlayedIsAnnouncerVoice_BastionChance_20% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_night.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 2 } Rule announcer_dlc_bastion_CustomIsLateNightIsLeastPlayedIsAnnouncerVoice_BastionChance_20%_Rule { criteria Custom Isannouncer_dlc_bastion IsLateNight IsLeastPlayed IsAnnouncerVoice_Bastion Chance_20% response announcer_dlc_bastion_CustomIsLateNightIsLeastPlayedIsAnnouncerVoice_BastionChance_20% } Response announcer_dlc_bastion_CustomIsLimitedHeroesIsAnnouncerVoice_BastionChance_50% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_01.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_04.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_05.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_06.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsLimitedHeroesIsAnnouncerVoice_BastionChance_50%_Rule { criteria Custom Isannouncer_dlc_bastion IsLimitedHeroes IsAnnouncerVoice_Bastion Chance_50% response announcer_dlc_bastion_CustomIsLimitedHeroesIsAnnouncerVoice_BastionChance_50% } Response announcer_dlc_bastion_CustomIsMorningIsLimitedHeroesIsAnnouncerVoice_BastionChance_20% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_morning.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsMorningIsLimitedHeroesIsAnnouncerVoice_BastionChance_20%_Rule { criteria Custom Isannouncer_dlc_bastion IsMorning IsLimitedHeroes IsAnnouncerVoice_Bastion Chance_20% response announcer_dlc_bastion_CustomIsMorningIsLimitedHeroesIsAnnouncerVoice_BastionChance_20% } Response announcer_dlc_bastion_CustomIsAfternoonIsLimitedHeroesIsAnnouncerVoice_BastionChance_20% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_afternoon.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsAfternoonIsLimitedHeroesIsAnnouncerVoice_BastionChance_20%_Rule { criteria Custom Isannouncer_dlc_bastion IsAfternoon IsLimitedHeroes IsAnnouncerVoice_Bastion Chance_20% response announcer_dlc_bastion_CustomIsAfternoonIsLimitedHeroesIsAnnouncerVoice_BastionChance_20% } Response announcer_dlc_bastion_CustomIsEveningIsLimitedHeroesIsAnnouncerVoice_BastionChance_20% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_evening.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 1 } Rule announcer_dlc_bastion_CustomIsEveningIsLimitedHeroesIsAnnouncerVoice_BastionChance_20%_Rule { criteria Custom Isannouncer_dlc_bastion IsEvening IsLimitedHeroes IsAnnouncerVoice_Bastion Chance_20% response announcer_dlc_bastion_CustomIsEveningIsLimitedHeroesIsAnnouncerVoice_BastionChance_20% } Response announcer_dlc_bastion_CustomIsLateNightIsLimitedHeroesIsAnnouncerVoice_BastionChance_20% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_welcome_night.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 2 } Rule announcer_dlc_bastion_CustomIsLateNightIsLimitedHeroesIsAnnouncerVoice_BastionChance_20%_Rule { criteria Custom Isannouncer_dlc_bastion IsLateNight IsLimitedHeroes IsAnnouncerVoice_Bastion Chance_20% response announcer_dlc_bastion_CustomIsLateNightIsLimitedHeroesIsAnnouncerVoice_BastionChance_20% } Response announcer_dlc_bastion_CustomIsAllPickIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_02.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_03.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_other_mode.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAllPickIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAllPick IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAllPickIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsLeastPlayedIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_03.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_03.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_least_played.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_least_played_02.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_yr_triple.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsLeastPlayedIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsLeastPlayed IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsLeastPlayedIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAllRandomIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_random.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAllRandomIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAllRandom IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAllRandomIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsCaptainsDraftIsDraftBeginIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_capt_draft_01.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_capt_draft_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsCaptainsDraftIsDraftBeginIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsCaptainsDraft IsDraftBegin IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsCaptainsDraftIsDraftBeginIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsCaptainsModeIsDraftBeginIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_capt_mode.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsCaptainsModeIsDraftBeginIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsCaptainsMode IsDraftBegin IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsCaptainsModeIsDraftBeginIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsRandomDraftIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_random_draft_01.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_random_draft_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsRandomDraftIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsRandomDraft IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsRandomDraftIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsSingleDraftIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_single_draft_01.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_single_draft_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsSingleDraftIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsSingleDraft IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsSingleDraftIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsDeathMatchIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_death_match_01.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_death_match_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsDeathMatchIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsDeathMatch IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsDeathMatchIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsMidOnlyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_mid_only.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsMidOnlyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsMidOnly IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsMidOnlyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsReverseCaptainsModeIsDraftBeginIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_capt_mode_reverse.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsReverseCaptainsModeIsDraftBeginIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsReverseCaptainsMode IsDraftBegin IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsReverseCaptainsModeIsDraftBeginIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsLimitedHeroesIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_02.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_limited_heroes.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_yr_triple.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsLimitedHeroesIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsLimitedHeroes IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsLimitedHeroesIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsCustomModeIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_02.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_03.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsCustomModeIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsCustomMode IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsCustomModeIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsOneVsOneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_02.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_03.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsOneVsOneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsOneVsOne IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsOneVsOneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsTenSecondsRemainingIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_count_pick_10.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsTenSecondsRemainingIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsTenSecondsRemaining IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsTenSecondsRemainingIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsFiveSecondsRemainingIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_count_pick_5.vcd" nodelay noscene } Rule announcer_dlc_bastion_CustomIsFiveSecondsRemainingIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsFiveSecondsRemaining IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsFiveSecondsRemainingIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceIdleDuringGameChance_15%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_spectat_07.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_spectat_06.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_spectat_08.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAnnounceIdleDuringGameChance_15%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceIdle DuringGame Chance_15% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceIdleDuringGameChance_15%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceIdleLateGameChance_25%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_spectat_13.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_spectat_14.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAnnounceIdleLateGameChance_25%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceIdle LateGame Chance_25% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceIdleLateGameChance_25%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceIdleDuringGameChance_10%IsSpectatorIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_spectat_15.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAnnounceIdleDuringGameChance_10%IsSpectatorIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceIdle DuringGame Chance_10% IsSpectator IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceIdleDuringGameChance_10%IsSpectatorIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceChatIsChatGLHFChance_25%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_text_glhf_01.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_text_glhf_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAnnounceChatIsChatGLHFChance_25%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceChat IsChatGLHF Chance_25% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceChatIsChatGLHFChance_25%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceChatIsChatBastionChance_5%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_text_bastion_01.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_text_bastion_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAnnounceChatIsChatBastionChance_5%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceChat IsChatBastion Chance_5% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceChatIsChatBastionChance_5%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceChatIsChatNoobChance_5%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_text_noob_01.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_text_noob_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAnnounceChatIsChatNoobChance_5%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceChat IsChatNoob Chance_5% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceChatIsChatNoobChance_5%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceChatIsChatJungleChance_15%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_text_jungle.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_text_jungle_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAnnounceChatIsChatJungleChance_15%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceChat IsChatJungle Chance_15% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceChatIsChatJungleChance_15%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceChatIsChatBackChance_15%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_text_b.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_text_b_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAnnounceChatIsChatBackChance_15%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceChat IsChatBack Chance_15% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceChatIsChatBackChance_15%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceDisconnectChance_50%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_disconnect_disconnected.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_disconnect_disconnected_02.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_disconnect_disconnected_03.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAnnounceDisconnectChance_50%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceDisconnect Chance_50% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceDisconnectChance_50%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceReconnectChance_50%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_disconnect_reconnected.vcd" nodelay noscene respeakdelay 300 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_disconnect_reconnected_02.vcd" nodelay noscene respeakdelay 300 scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_disconnect_reconnected_03.vcd" nodelay noscene respeakdelay 300 } Rule announcer_dlc_bastion_CustomIsAnnounceReconnectChance_50%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceReconnect Chance_50% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceReconnectChance_50%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceUnpauseChance_50%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pause_playerunpaused.vcd" nodelay noscene respeakdelay 120 } Rule announcer_dlc_bastion_CustomIsAnnounceUnpauseChance_50%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceUnpause Chance_50% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceUnpauseChance_50%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomMidGameOnwardIsVictimDireIsPlayerTeam_DireHeroDeathFromNeutralIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_deathbyneutral.vcd" nodelay noscene predelay 4 speakonce } Rule announcer_dlc_bastion_CustomMidGameOnwardIsVictimDireIsPlayerTeam_DireHeroDeathFromNeutralIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion MidGameOnward IsVictimDire IsPlayerTeam_Dire HeroDeath FromNeutral IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomMidGameOnwardIsVictimDireIsPlayerTeam_DireHeroDeathFromNeutralIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomMidGameOnwardIsVictimRadiantIsPlayerTeam_RadiantHeroDeathFromNeutralIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_deathbyneutral.vcd" nodelay noscene predelay 4 speakonce } Rule announcer_dlc_bastion_CustomMidGameOnwardIsVictimRadiantIsPlayerTeam_RadiantHeroDeathFromNeutralIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion MidGameOnward IsVictimRadiant IsPlayerTeam_Radiant HeroDeath FromNeutral IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomMidGameOnwardIsVictimRadiantIsPlayerTeam_RadiantHeroDeathFromNeutralIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomChance_25%HeroDeathInFountainIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_fountainkill.vcd" nodelay noscene predelay 5 speakonce } Rule announcer_dlc_bastion_CustomChance_25%HeroDeathInFountainIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion Chance_25% HeroDeath InFountain IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomChance_25%HeroDeathInFountainIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsScribblingChance_50%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_mapdrawing.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsScribblingChance_50%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsScribbling Chance_50% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsScribblingChance_50%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceQuitChance_25%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_disconnect_disconnected_player.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_exitgame.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAnnounceQuitChance_25%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceQuit Chance_25% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceQuitChance_25%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAncient_ApparitionIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_aa.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAncient_ApparitionIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyAncient_Apparition IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAncient_ApparitionIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAbaddonIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_abaddon.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAbaddonIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyAbaddon IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAbaddonIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAlchemistIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_alchemist.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAlchemistIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyAlchemist IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAlchemistIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAntimageIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_am.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAntimageIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyAntimage IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAntimageIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyArc_WardenIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_arcwarden_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyArc_WardenIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyArc_Warden IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyArc_WardenIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAbyssal_UnderlordIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_au.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAbyssal_UnderlordIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyAbyssal_Underlord IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAbyssal_UnderlordIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWinter_WyvernIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_auroth_03.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWinter_WyvernIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyWinter_Wyvern IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWinter_WyvernIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAxeIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_axe.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAxeIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyAxe IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyAxeIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_bane.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBaneIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyBane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBatriderIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_batrider.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBatriderIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyBatrider IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBatriderIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBeastmasterIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_beastmaster.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBeastmasterIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyBeastmaster IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBeastmasterIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBloodseekerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_bloodseeker.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBloodseekerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyBloodseeker IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBloodseekerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBounty_HunterIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_bountyhunter.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBounty_HunterIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyBounty_Hunter IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBounty_HunterIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBrewmasterIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_brewmaster.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBrewmasterIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyBrewmaster IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBrewmasterIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBristlebackIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_bristleback.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBristlebackIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyBristleback IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBristlebackIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBroodmotherIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_broodmother.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBroodmotherIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyBroodmother IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyBroodmotherIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyCentaurIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_centaur_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyCentaurIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyCentaur IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyCentaurIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyChaos_KnightIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_chaosknight.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyChaos_KnightIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyChaos_Knight IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyChaos_KnightIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyChenIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_chen.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyChenIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyChen IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyChenIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyClinkzIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_clinkz.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyClinkzIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyClinkz IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyClinkzIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyRattletrapIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_clockwerk.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyRattletrapIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyRattletrap IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyRattletrapIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyCrystalMaidenIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_cm.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyCrystalMaidenIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyCrystalMaiden IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyCrystalMaidenIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDark_SeerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_darkseer.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDark_SeerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyDark_Seer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDark_SeerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDazzleIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_dazzle.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDazzleIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyDazzle IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDazzleIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDisruptorIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_disruptor.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDisruptorIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyDisruptor IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDisruptorIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDragon_KnightIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_dk.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDragon_KnightIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyDragon_Knight IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDragon_KnightIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDoom_BringerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_doom.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDoom_BringerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyDoom_Bringer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDoom_BringerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDeath_ProphetIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_dp.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDeath_ProphetIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyDeath_Prophet IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDeath_ProphetIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDrowRangerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_drow.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDrowRangerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyDrowRanger IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyDrowRangerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEarth_SpiritIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_earthspirit.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEarth_SpiritIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyEarth_Spirit IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEarth_SpiritIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEmber_SpiritIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_emberspirit.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEmber_SpiritIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyEmber_Spirit IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEmber_SpiritIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEnchantressIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_enchantress.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEnchantressIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyEnchantress IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEnchantressIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEnigmaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_enigma.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEnigmaIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyEnigma IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEnigmaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEarthshakerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_es.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEarthshakerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyEarthshaker IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyEarthshakerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyElder_TitanIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_et.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyElder_TitanIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyElder_Titan IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyElder_TitanIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyFaceless_VoidIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_facelessvoid.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyFaceless_VoidIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyFaceless_Void IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyFaceless_VoidIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyShredderIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_goblinshredder_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyShredderIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyShredder IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyShredderIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyGyrocopterIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_gyrocopter.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyGyrocopterIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyGyrocopter IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyGyrocopterIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyHuskarIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_huskar.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyHuskarIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyHuskar IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyHuskarIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyInvokerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_invoker.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyInvokerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyInvoker IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyInvokerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyJakiroIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_jakiro.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyJakiroIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyJakiro IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyJakiroIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyJuggernautIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_juggernaut.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyJuggernautIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyJuggernaut IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyJuggernautIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyKeeper_of_the_LightIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_kotl.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyKeeper_of_the_LightIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyKeeper_of_the_Light IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyKeeper_of_the_LightIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyKunkkaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_kunkka.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyKunkkaIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyKunkka IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyKunkkaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLegion_CommanderIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_legioncommander.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLegion_CommanderIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyLegion_Commander IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLegion_CommanderIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLeshracIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_leshrac.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLeshracIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyLeshrac IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLeshracIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLichIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_lich.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLichIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyLich IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLichIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLife_StealerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_lifestealer.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLife_StealerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyLife_Stealer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLife_StealerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLinaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_lina.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLinaIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyLina IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLinaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLionIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_lion.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLionIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyLion IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLionIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLone_DruidIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_lonedruid.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLone_DruidIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyLone_Druid IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLone_DruidIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLunaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_luna.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLunaIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyLuna IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLunaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLycanIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_lycan.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLycanIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyLycan IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyLycanIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMagnataurIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_magnataur.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMagnataurIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyMagnataur IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMagnataurIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMedusaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_medusa.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMedusaIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyMedusa IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMedusaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMeepoIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_meepo.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMeepoIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyMeepo IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMeepoIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMiranaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_mirana.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMiranaIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyMirana IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMiranaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMorphlingIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_morphling.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMorphlingIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyMorphling IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyMorphlingIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNaga_SirenIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_naga.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNaga_SirenIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyNaga_Siren IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNaga_SirenIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNecrolyteIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_necrophos.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNecrolyteIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyNecrolyte IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNecrolyteIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyFurionIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_np.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyFurionIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyFurion IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyFurionIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNight_StalkerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_ns.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNight_StalkerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyNight_Stalker IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNight_StalkerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNyx_AssassinIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_nyx.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNyx_AssassinIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyNyx_Assassin IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNyx_AssassinIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyOutworld_DestroyerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_od.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyOutworld_DestroyerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyOutworld_Destroyer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyOutworld_DestroyerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyOgre_MagiIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_ogremagi.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyOgre_MagiIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyOgre_Magi IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyOgre_MagiIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyOmniknightIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_omni.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyOmniknightIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyOmniknight IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyOmniknightIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyOracleIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_oracle.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyOracleIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyOracle IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyOracleIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPhantom_AssassinIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_pa.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPhantom_AssassinIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyPhantom_Assassin IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPhantom_AssassinIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPhoenixIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_phoenix.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPhoenixIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyPhoenix IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPhoenixIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPhantom_LancerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_pl.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPhantom_LancerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyPhantom_Lancer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPhantom_LancerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPuckIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_puck.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPuckIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyPuck IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPuckIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPudgeIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_pudge.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPudgeIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyPudge IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPudgeIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPugnaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_pugna.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPugnaIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyPugna IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyPugnaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyQueenofPainIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_qop.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyQueenofPainIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyQueenofPain IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyQueenofPainIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyRazorIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_razor.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyRazorIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyRazor IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyRazorIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyRikiIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_riki.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyRikiIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyRiki IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyRikiIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyRubickIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_rubick.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyRubickIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyRubick IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyRubickIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySandKingIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_sandking.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySandKingIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemySandKing IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySandKingIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyShadow_DemonIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_shadowdemon.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyShadow_DemonIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyShadow_Demon IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyShadow_DemonIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNevermoreIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_shadowfiend.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNevermoreIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyNevermore IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyNevermoreIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyShadowShamanIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_shadowshaman.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyShadowShamanIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyShadowShaman IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyShadowShamanIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySilencerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_silencer.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySilencerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemySilencer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySilencerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySkywrath_MageIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_skywrath_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySkywrath_MageIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemySkywrath_Mage IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySkywrath_MageIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySlardarIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_slardar.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySlardarIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemySlardar IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySlardarIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySlarkIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_slark.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySlarkIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemySlark IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySlarkIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySniperIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_sniper.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySniperIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemySniper IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySniperIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTerrorbladeIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_soulkeeper_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTerrorbladeIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyTerrorblade IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTerrorbladeIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySpectreIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_spectre.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySpectreIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemySpectre IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySpectreIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySpirit_BreakerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_spiritbreaker.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySpirit_BreakerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemySpirit_Breaker IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySpirit_BreakerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyStormSpiritIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_stormspirit.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyStormSpiritIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyStormSpirit IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyStormSpiritIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySvenIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_sven.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySvenIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemySven IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySvenIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTemplar_AssassinIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_ta.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTemplar_AssassinIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyTemplar_Assassin IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTemplar_AssassinIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTechiesIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_techies.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTechiesIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyTechies IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTechiesIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTidehunterIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_tide.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTidehunterIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyTidehunter IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTidehunterIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTinkerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_tinker.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTinkerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyTinker IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTinkerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTinyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_tiny.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTinyIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyTiny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTinyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTreantIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_treant.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTreantIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyTreant IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTreantIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTroll_WarlordIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_trollwarlord.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTroll_WarlordIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyTroll_Warlord IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTroll_WarlordIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTuskIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_tuskkar_02.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTuskIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyTusk IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyTuskIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyUndyingIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_undying.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyUndyingIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyUndying IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyUndyingIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyUrsaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_ursa.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyUrsaIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyUrsa IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyUrsaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyVenomancerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_veno.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyVenomancerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyVenomancer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyVenomancerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyViperIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_viper.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyViperIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyViper IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyViperIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyVisageIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_visage.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyVisageIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyVisage IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyVisageIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyVengefulSpiritIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_vs.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyVengefulSpiritIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyVengefulSpirit IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyVengefulSpiritIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWarlockIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_warlock.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWarlockIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyWarlock IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWarlockIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWitchDoctorIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_wd.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWitchDoctorIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyWitchDoctor IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWitchDoctorIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWeaverIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_weaver.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWeaverIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyWeaver IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWeaverIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWispIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_wisp.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWispIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyWisp IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWispIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySkeleton_KingIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_wk.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySkeleton_KingIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemySkeleton_King IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemySkeleton_KingIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWindrunnerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_wr.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWindrunnerIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyWindrunner IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyWindrunnerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyZuusIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_zeus.vcd" nodelay noscene then self TLK_DOTA_FOLLOWUP_GENERIC foo:0 0.5 } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyZuusIsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_50% IsEnemyZuus IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_50%IsEnemyZuusIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_3%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_unknown_01.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_unknown_02.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_unknown_03.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_unknown_04.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_3%IsAnnouncerVoice_Bastion_Rule { criteria Custom Isannouncer_dlc_bastion IsAnnounceHeroPick Chance_3% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_CustomIsAnnounceHeroPickChance_3%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnouncerVoice_BastionIsSelectHero { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_choose_hero.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_now_select.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_team_complete_follow_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnouncerVoice_BastionIsSelectHero_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion IsSelectHero response announcer_dlc_bastion_Followup_GenericIsAnnouncerVoice_BastionIsSelectHero } Response announcer_dlc_bastion_Followup_GenericIsGameStarting30IsNotSpectatorChance_10%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_spectat_01.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_Followup_GenericIsGameStarting30IsNotSpectatorChance_10%IsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsGameStarting30 IsNotSpectator Chance_10% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsGameStarting30IsNotSpectatorChance_10%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsGameStarting30IsSpectatorChance_10%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_spectat_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_Followup_GenericIsGameStarting30IsSpectatorChance_10%IsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsGameStarting30 IsSpectator Chance_10% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsGameStarting30IsSpectatorChance_10%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsGameStartChance_50%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_start_01.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_start_02.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_start_04.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_start_05.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_Followup_GenericIsGameStartChance_50%IsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsGameStart Chance_50% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsGameStartChance_50%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsFortAttackedIsNotSpectatorChance_20%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_yr_follow_01.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_yr_follow_02.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_yr_follow_03.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_Followup_GenericIsFortAttackedIsNotSpectatorChance_20%IsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsFortAttacked IsNotSpectator Chance_20% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsFortAttackedIsNotSpectatorChance_20%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsFortAttackedIsSpectatorChance_20%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_rad_follow_01.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_rad_follow_02.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_dire_follow_01.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_anc_attack_dire_follow_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_Followup_GenericIsFortAttackedIsSpectatorChance_20%IsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsFortAttacked IsSpectator Chance_20% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsFortAttackedIsSpectatorChance_20%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsBadVictoryIsPlayerTeam_DireChance_50%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_victory_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_victory_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsBadVictoryIsPlayerTeam_DireChance_50%IsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsBadVictory IsPlayerTeam_Dire Chance_50% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsBadVictoryIsPlayerTeam_DireChance_50%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsBadVictoryIsPlayerTeam_RadiantChance_50%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_defeat_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_defeat_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsBadVictoryIsPlayerTeam_RadiantChance_50%IsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsBadVictory IsPlayerTeam_Radiant Chance_50% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsBadVictoryIsPlayerTeam_RadiantChance_50%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsGoodVictoryIsPlayerTeam_RadiantChance_50%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_victory_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_victory_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsGoodVictoryIsPlayerTeam_RadiantChance_50%IsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsGoodVictory IsPlayerTeam_Radiant Chance_50% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsGoodVictoryIsPlayerTeam_RadiantChance_50%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsGoodVictoryIsPlayerTeam_DireChance_50%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_defeat_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_defeat_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsGoodVictoryIsPlayerTeam_DireChance_50%IsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsGoodVictory IsPlayerTeam_Dire Chance_50% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsGoodVictoryIsPlayerTeam_DireChance_50%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAllPickIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_Followup_GenericIsAllPickIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAllPick IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAllPickIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsMidOnlyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_mid_only.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_Followup_GenericIsMidOnlyIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsMidOnly IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsMidOnlyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsLeastPlayedIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_03.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_least_played.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_least_played_02.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_Followup_GenericIsLeastPlayedIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsLeastPlayed IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsLeastPlayedIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsLimitedHeroesIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_all_pick_03.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_type_limited_heroes.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_Followup_GenericIsLimitedHeroesIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsLimitedHeroes IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsLimitedHeroesIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsGameStartTeamAllCarriesIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_team_complete_our_carry.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_Followup_GenericIsGameStartTeamAllCarriesIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsGameStart TeamAllCarries IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsGameStartTeamAllCarriesIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsGameStartTeamNoSupportIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_team_complete_our_nosupport.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_Followup_GenericIsGameStartTeamNoSupportIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsGameStart TeamNoSupport IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsGameStartTeamNoSupportIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAncient_ApparitionIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_aa_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAncient_ApparitionIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyAncient_Apparition IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAncient_ApparitionIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAbaddonIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_abaddon_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAbaddonIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyAbaddon IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAbaddonIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAlchemistIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_alchemist_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAlchemistIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyAlchemist IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAlchemistIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAntimageIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_am_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAntimageIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyAntimage IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAntimageIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyArc_WardenIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_arcwarden_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyArc_WardenIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyArc_Warden IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyArc_WardenIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWinter_WyvernIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_auroth_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWinter_WyvernIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyWinter_Wyvern IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWinter_WyvernIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAxeIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_axe_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAxeIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyAxe IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAxeIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBaneIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_bane_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBaneIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyBane IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBaneIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBatriderIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_batrider_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBatriderIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyBatrider IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBatriderIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBeastmasterIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_beastmaster_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBeastmasterIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyBeastmaster IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBeastmasterIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBloodseekerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_bloodseeker_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBloodseekerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyBloodseeker IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBloodseekerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBounty_HunterIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_bountyhunter_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBounty_HunterIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyBounty_Hunter IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBounty_HunterIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBrewmasterIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_brewmaster_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBrewmasterIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyBrewmaster IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBrewmasterIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBristlebackIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_bristleback_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBristlebackIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyBristleback IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBristlebackIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBroodmotherIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_broodmother_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBroodmotherIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyBroodmother IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyBroodmotherIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyCentaurIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_centaur_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyCentaurIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyCentaur IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyCentaurIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyChaos_KnightIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_chaosknight_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyChaos_KnightIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyChaos_Knight IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyChaos_KnightIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyChenIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_chen_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyChenIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyChen IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyChenIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyClinkzIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_clinkz_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyClinkzIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyClinkz IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyClinkzIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyRattletrapIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_clockwerk_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyRattletrapIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyRattletrap IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyRattletrapIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyCrystalMaidenIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_cm_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyCrystalMaidenIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyCrystalMaiden IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyCrystalMaidenIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDark_SeerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_darkseer_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDark_SeerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyDark_Seer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDark_SeerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDazzleIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_dazzle_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDazzleIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyDazzle IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDazzleIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDisruptorIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_disruptor_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDisruptorIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyDisruptor IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDisruptorIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDragon_KnightIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_dk_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDragon_KnightIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyDragon_Knight IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDragon_KnightIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDoom_BringerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_doombringer_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDoom_BringerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyDoom_Bringer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDoom_BringerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDeath_ProphetIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_dp_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDeath_ProphetIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyDeath_Prophet IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDeath_ProphetIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDrowRangerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_drow_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDrowRangerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyDrowRanger IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyDrowRangerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEarth_SpiritIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_earthspirit_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEarth_SpiritIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyEarth_Spirit IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEarth_SpiritIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEmber_SpiritIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_emberspirit_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEmber_SpiritIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyEmber_Spirit IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEmber_SpiritIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEnchantressIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_enchantress_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEnchantressIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyEnchantress IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEnchantressIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEnigmaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_enigma_follow_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_enigma_follow_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_unknown_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEnigmaIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyEnigma IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEnigmaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEarthshakerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_es_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEarthshakerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyEarthshaker IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyEarthshakerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyElder_TitanIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_et_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyElder_TitanIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyElder_Titan IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyElder_TitanIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyFaceless_VoidIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_facelessvoid_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyFaceless_VoidIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyFaceless_Void IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyFaceless_VoidIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyShredderIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_goblinshredder_follow.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_goblinshredder_follow_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_goblinshredder_follow_03.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyShredderIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyShredder IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyShredderIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyGyrocopterIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_gyrocopter_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyGyrocopterIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyGyrocopter IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyGyrocopterIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyHuskarIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_huskar_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyHuskarIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyHuskar IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyHuskarIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyInvokerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_invoker_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyInvokerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyInvoker IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyInvokerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyJakiroIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_jakiro_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyJakiroIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyJakiro IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyJakiroIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyJuggernautIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_juggernaut_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyJuggernautIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyJuggernaut IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyJuggernautIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyKeeper_of_the_LightIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_kotl_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyKeeper_of_the_LightIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyKeeper_of_the_Light IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyKeeper_of_the_LightIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyKunkkaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_kunkka_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyKunkkaIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyKunkka IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyKunkkaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLegion_CommanderIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_legioncommander_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLegion_CommanderIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyLegion_Commander IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLegion_CommanderIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLeshracIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_leshrac_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLeshracIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyLeshrac IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLeshracIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLichIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_lich_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLichIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyLich IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLichIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLife_StealerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_lifestealer_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLife_StealerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyLife_Stealer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLife_StealerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLinaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_lina_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLinaIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyLina IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLinaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLionIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_lion_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLionIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyLion IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLionIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLone_DruidIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_lonedruid_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLone_DruidIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyLone_Druid IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLone_DruidIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLunaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_luna_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLunaIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyLuna IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLunaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLycanIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_lycan_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLycanIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyLycan IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyLycanIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMagnataurIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_magnataur_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMagnataurIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyMagnataur IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMagnataurIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMedusaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_medusa_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMedusaIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyMedusa IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMedusaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMeepoIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_meepo_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMeepoIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyMeepo IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMeepoIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMiranaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_mirana_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMiranaIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyMirana IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMiranaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMorphlingIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_morphling_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMorphlingIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyMorphling IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyMorphlingIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNaga_SirenIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_naga_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNaga_SirenIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyNaga_Siren IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNaga_SirenIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNecrolyteIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_necrolyte_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNecrolyteIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyNecrolyte IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNecrolyteIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyFurionIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_np_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyFurionIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyFurion IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyFurionIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNight_StalkerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_ns_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNight_StalkerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyNight_Stalker IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNight_StalkerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNyx_AssassinIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_nyx_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNyx_AssassinIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyNyx_Assassin IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNyx_AssassinIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyOutworld_DestroyerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_od_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyOutworld_DestroyerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyOutworld_Destroyer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyOutworld_DestroyerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyOgre_MagiIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_ogremagi_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyOgre_MagiIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyOgre_Magi IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyOgre_MagiIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyOmniknightIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_omni_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyOmniknightIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyOmniknight IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyOmniknightIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyOracleIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_oracle_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyOracleIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyOracle IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyOracleIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPhantom_AssassinIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_pa_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPhantom_AssassinIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyPhantom_Assassin IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPhantom_AssassinIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPhoenixIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_phoenix_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPhoenixIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyPhoenix IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPhoenixIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAbyssal_UnderlordIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_pitlord_follow.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_pitlord_follow_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAbyssal_UnderlordIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyAbyssal_Underlord IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyAbyssal_UnderlordIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPhantom_LancerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_pl_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPhantom_LancerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyPhantom_Lancer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPhantom_LancerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPuckIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_puck_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPuckIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyPuck IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPuckIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPudgeIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_pudge_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPudgeIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyPudge IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPudgeIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPugnaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_pugna_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPugnaIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyPugna IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyPugnaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyQueenofPainIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_qop_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyQueenofPainIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyQueenofPain IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyQueenofPainIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyRazorIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_razor_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyRazorIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyRazor IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyRazorIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyRikiIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_riki_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyRikiIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyRiki IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyRikiIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyRubickIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_rubick_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyRubickIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyRubick IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyRubickIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySandKingIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_sandking_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySandKingIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemySandKing IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySandKingIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyShadow_DemonIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_shadowdemon_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyShadow_DemonIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyShadow_Demon IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyShadow_DemonIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNevermoreIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_shadowfiend_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNevermoreIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyNevermore IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyNevermoreIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyShadowShamanIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_shadowshaman_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyShadowShamanIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyShadowShaman IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyShadowShamanIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySilencerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_silencer_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySilencerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemySilencer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySilencerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySkywrath_MageIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_skywrath_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySkywrath_MageIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemySkywrath_Mage IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySkywrath_MageIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySlardarIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_slardar_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySlardarIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemySlardar IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySlardarIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySlarkIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_slark_follow.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_slark_follow_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySlarkIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemySlark IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySlarkIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySniperIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_sniper_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySniperIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemySniper IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySniperIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTerrorbladeIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_soulkeeper_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTerrorbladeIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyTerrorblade IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTerrorbladeIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySpectreIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_spectre_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySpectreIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemySpectre IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySpectreIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySpirit_BreakerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_spiritbreaker_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySpirit_BreakerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemySpirit_Breaker IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySpirit_BreakerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyStormSpiritIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_stormspirit_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyStormSpiritIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyStormSpirit IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyStormSpiritIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySvenIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_sven_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySvenIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemySven IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySvenIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTemplar_AssassinIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_ta_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTemplar_AssassinIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyTemplar_Assassin IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTemplar_AssassinIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTechiesIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_techies_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTechiesIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyTechies IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTechiesIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTidehunterIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_tide_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTidehunterIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyTidehunter IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTidehunterIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTinkerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_tinker_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTinkerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyTinker IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTinkerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTinyIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_tiny_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTinyIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyTiny IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTinyIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTreantIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_treant_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTreantIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyTreant IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTreantIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTroll_WarlordIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_trollwarlord_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTroll_WarlordIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyTroll_Warlord IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTroll_WarlordIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTuskIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_tuskkar_follow_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTuskIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyTusk IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyTuskIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyUndyingIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_undying_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyUndyingIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyUndying IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyUndyingIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyUrsaIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_ursa_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyUrsaIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyUrsa IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyUrsaIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyVenomancerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_veno_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyVenomancerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyVenomancer IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyVenomancerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyViperIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_viper_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyViperIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyViper IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyViperIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyVisageIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_visage_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyVisageIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyVisage IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyVisageIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyVengefulSpiritIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_vs_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyVengefulSpiritIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyVengefulSpirit IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyVengefulSpiritIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWarlockIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_warlock_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWarlockIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyWarlock IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWarlockIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWitchDoctorIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_wd_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWitchDoctorIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyWitchDoctor IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWitchDoctorIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWeaverIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_weaver_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWeaverIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyWeaver IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWeaverIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWispIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_wisp_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWispIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyWisp IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWispIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySkeleton_KingIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_wk_follow.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_wk_follow_02.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySkeleton_KingIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemySkeleton_King IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemySkeleton_KingIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWindrunnerIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_wr_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWindrunnerIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyWindrunner IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyWindrunnerIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyZuusIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_pick_zeus_follow.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyZuusIsAnnouncerVoice_Bastion_Rule { criteria Followup_Generic Isannouncer_dlc_bastion IsAnnounceHeroPick IsEnemyZuus IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_GenericIsAnnounceHeroPickIsEnemyZuusIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_NegativeChance_50%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_03.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_04.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_05.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_06.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_07.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_08.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_09.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_10.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_11.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_12.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_13.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_14.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_15.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_neg_16.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_NegativeChance_50%IsAnnouncerVoice_Bastion_Rule { criteria Followup_Negative Isannouncer_dlc_bastion Chance_50% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_NegativeChance_50%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_Negative_OngoingChance_20%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_04.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_05.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_06.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_07.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_08.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_09.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_10.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_11.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_12.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_13.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_14.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_15.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_neg_16.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_Negative_OngoingChance_20%IsAnnouncerVoice_Bastion_Rule { criteria Followup_Negative_Ongoing Isannouncer_dlc_bastion Chance_20% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_Negative_OngoingChance_20%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_Followup_PositiveChance_50%IsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_01.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_02.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_03.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_04.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_05.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_06.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_07.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_08.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_09.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_10.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_11.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_12.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_13.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_14.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_15.vcd" nodelay noscene scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_ally_pos_16.vcd" nodelay noscene } Rule announcer_dlc_bastion_Followup_PositiveChance_50%IsAnnouncerVoice_Bastion_Rule { criteria Followup_Positive Isannouncer_dlc_bastion Chance_50% IsAnnouncerVoice_Bastion response announcer_dlc_bastion_Followup_PositiveChance_50%IsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_RespawnIsAnnouncerVoice_BastionChance_25% { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_followup_respawn_1.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_followup_respawn_2.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_followup_respawn_3.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_followup_respawn_04.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_followup_respawn_05.vcd" nodelay noscene speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_followup_respawn_06.vcd" nodelay noscene speakonce } Rule announcer_dlc_bastion_RespawnIsAnnouncerVoice_BastionChance_25%_Rule { criteria Respawn Isannouncer_dlc_bastion IsAnnouncerVoice_Bastion Chance_25% response announcer_dlc_bastion_RespawnIsAnnouncerVoice_BastionChance_25% } Response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsCourierFlyingIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_store_courier_01.vcd" nodelay noscene predelay 5 speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_store_courier_02.vcd" nodelay noscene predelay 5 speakonce } Rule announcer_dlc_bastion_PurchaseDuringGameChance_50%IsCourierFlyingIsAnnouncerVoice_Bastion_Rule { criteria Purchase Isannouncer_dlc_bastion DuringGame Chance_50% IsCourierFlying IsAnnouncerVoice_Bastion response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsCourierFlyingIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsObserverWardIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_store_wards_01.vcd" nodelay noscene predelay 5 speakonce scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_store_wards_02.vcd" nodelay noscene predelay 5 speakonce } Rule announcer_dlc_bastion_PurchaseDuringGameChance_50%IsObserverWardIsAnnouncerVoice_Bastion_Rule { criteria Purchase Isannouncer_dlc_bastion DuringGame Chance_50% IsObserverWard IsAnnouncerVoice_Bastion response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsObserverWardIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsGemIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_store_gem.vcd" nodelay noscene predelay 5 speakonce } Rule announcer_dlc_bastion_PurchaseDuringGameChance_50%IsGemIsAnnouncerVoice_Bastion_Rule { criteria Purchase Isannouncer_dlc_bastion DuringGame Chance_50% IsGem IsAnnouncerVoice_Bastion response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsGemIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsEmptyBottleIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_store_bottle.vcd" nodelay noscene predelay 5 speakonce } Rule announcer_dlc_bastion_PurchaseDuringGameChance_50%IsEmptyBottleIsAnnouncerVoice_Bastion_Rule { criteria Purchase Isannouncer_dlc_bastion DuringGame Chance_50% IsEmptyBottle IsAnnouncerVoice_Bastion response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsEmptyBottleIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsDivineRapierIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_store_rapier.vcd" nodelay noscene predelay 5 speakonce } Rule announcer_dlc_bastion_PurchaseDuringGameChance_50%IsDivineRapierIsAnnouncerVoice_Bastion_Rule { criteria Purchase Isannouncer_dlc_bastion DuringGame Chance_50% IsDivineRapier IsAnnouncerVoice_Bastion response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsDivineRapierIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsDustIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_store_dust.vcd" nodelay noscene predelay 5 speakonce } Rule announcer_dlc_bastion_PurchaseDuringGameChance_50%IsDustIsAnnouncerVoice_Bastion_Rule { criteria Purchase Isannouncer_dlc_bastion DuringGame Chance_50% IsDust IsAnnouncerVoice_Bastion response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsDustIsAnnouncerVoice_Bastion } Response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsSmokeIsAnnouncerVoice_Bastion { scene "scenes/announcer_dlc_bastion/announcer_dlc_bastion_announcer_event_store_smoke.vcd" nodelay noscene predelay 5 speakonce } Rule announcer_dlc_bastion_PurchaseDuringGameChance_50%IsSmokeIsAnnouncerVoice_Bastion_Rule { criteria Purchase Isannouncer_dlc_bastion DuringGame Chance_50% IsSmoke IsAnnouncerVoice_Bastion response announcer_dlc_bastion_PurchaseDuringGameChance_50%IsSmokeIsAnnouncerVoice_Bastion }