//============================================================================================================ // Alyx Citadel 01 speech //============================================================================================================ criterion "IsMap_ep1_citadel_01" "map" "ep1_citadel_01" weight 10 "required" //alyx context for giving you a hint upon hacking a rollermine during the roller training in citadel_01 response Alyxcitadel01RollermineHint { //alyx says a custom line after she hacks her first rollermine //which is commented out so we can emulate this behavior by firing a vcd in the map instead norepeat //scene "scenes/episode_1/al_citadel_01_rollertraining_hacked.vcd" } rule Alyxcitadel01RollermineHint { criteria IsAlyx IsEpisodic ConceptInteractionDone IsMap_ep1_citadel_01 response Alyxcitadel01RollermineHint } //============================================================================================================ // Alyx Citadel Elevator speech //============================================================================================================ criterion "ConceptElevatorNag" "Concept" "CPT_EP1_CITELEVATORNAG" required criterion "GarageAntlionHolesCovered" "AntlionHolesCovered" "1" required response "AlyxElevatorNagPlayerToStart" { scene "scenes/episode_1/al_cit_elevator_getitmoving01.vcd" nodelay 0 displayfirst speakonce scene "scenes/episode_1/al_cit_elevator_getitmoving02.vcd" nodelay 0 scene "scenes/episode_1/al_cit_elevator_getitmoving03.vcd" nodelay 0 scene "scenes/episode_1/al_cit_elevator_getitmoving04.vcd" nodelay 0 } rule AlyxElevatorNagPlayerToStart { criteria IsAlyx ConceptElevatorNag response AlyxElevatorNagPlayerToStart } //================================================================================================== // Alyx giving player hints on removing the Sniper in c17_01 //================================================================================================== response Alyxc1701SniperHint { //*wav missing!*scene "scenes/episode_1/al_c17_01_sniper_cantcomewith.vcd" //scene "scenes/episode_1/al_c17_01_sniper_takeoutsniper.vcd" scene "scenes/episode_1/al_c17_01_sniper_pinneddown.vcd" scene "scenes/episode_1/al_c17_01_sniper_cantgetthru.vcd" //scene "scenes/episode_1/al_c17_01_sniper_heygrabrollermine.vcd" //scene "scenes/episode_1/al_c17_01_sniper_bringmerollermine.vcd" } rule Alyxc1701SniperHint { criteria IsAlyx IsEpisodic ConceptTalkc1701SniperHint response Alyxc1701SniperHint } response Alyxc1701RollermineHint { //the idea is to have alyx talk about rollermines until you hack at least one. // then she'll say her SniperHint lines (above) //scene "scenes/episode_1/al_c17_01_sniper_cantcomewith.vcd" //scene "scenes/episode_1/al_c17_01_sniper_takeoutsniper.vcd" //scene "scenes/episode_1/al_c17_01_sniper_pinneddown.vcd" //scene "scenes/episode_1/al_c17_01_sniper_cantgetthru.vcd" scene "scenes/episode_1/al_c17_01_sniper_heygrabrollermine.vcd" scene "scenes/episode_1/al_c17_01_sniper_bringmerollermine.vcd" scene "scenes/episode_1/al_c17_01_sniper_DontWasteRollermine.vcd" } rule Alyxc1701RollermineHint { criteria IsAlyx IsEpisodic ConceptTalkc1701RollermineHint response Alyxc1701RollermineHint } //============================================================================================================ // Alyx Evac Citizen Speech - spoken when the player arrives escorting a group of citizens. //============================================================================================================ response "AlyxEvacCitizen" { scene "scenes/episode_1/al_c17_05_evac_cits01.vcd" scene "scenes/episode_1/al_c17_05_evac_cits02.vcd" scene "scenes/episode_1/al_c17_05_evac_cits03.vcd" } rule AlyxEvacCitizen { criteria IsAlyx ConceptTalkAlyxEVacCitizen applycontext "Evac05CitizenThanks:1:60" response AlyxEvacCitizen } //============================================================================================================ // Alyx Evac Next group - spoken when the player needs to get another group of citizens. //============================================================================================================ criterion "IsWaitForPlayerEvacNextGroup" "concept" "ConceptEvacNextGroup" "required" response "AlyxEvacNextGroup" { scene "scenes/episode_1/c17/al_evac_takestand.vcd" displayfirst scene "scenes/episode_1/al_c17_05_evac_nextgroup01.vcd" scene "scenes/episode_1/al_c17_05_evac_nextgroup02.vcd" scene "scenes/episode_1/al_c17_05_evac_nextgroup03.vcd" scene "scenes/episode_1/al_c17_05_evac_nextgroup04.vcd" scene "scenes/episode_1/al_c17_05_evac_nextgroup05.vcd" } rule AlyxEvacNextGroup { criteria IsAlyx ConceptTalkAlyxEvacNextGroup response AlyxEvacNextGroup } //============================================================================================================ // Alyx Evac Protect - spoken when the player lets evac citizens come to harm //============================================================================================================ //---------------------------------------------------------------------------- response "AlyxEvacProtect" { scene "scenes/episode_1/al_c17_05_evac_protect01.vcd" scene "scenes/episode_1/al_c17_05_evac_protect02.vcd" scene "scenes/episode_1/al_c17_05_evac_protect03.vcd" scene "scenes/episode_1/al_c17_05_evac_protect04.vcd" scene "scenes/episode_1/al_c17_05_evac_protect05.vcd" } rule AlyxEvacProtect { criteria IsAlyx IsEpisodic ConceptTalkAlyxEvacProtect PlayerNear response AlyxEvacProtect } //============================================================================================================ // Alyx Antlion Holes Covered - spoken when the player covers the holes in the garage. //============================================================================================================ //---------------------------------------------------------------------------- response "GarageAntlionHolesCoveredDeadAntlions" { scene "scenes/episode_1/c17/al_garage_hearthink.vcd" speakonce } rule GarageAntlionHolesCoveredDeadAntlions { criteria IsAlyx GarageAntlionHolesCovered NotInCombat response GarageAntlionHolesCoveredDeadAntlions } response "GarageAntlionHolesCoveredLiveAntlions" { scene "scenes/episode_1/c17/al_garage_stragglers.vcd" speakonce } rule GarageAntlionHolesCoveredLiveAntlions { criteria IsAlyx GarageAntlionHolesCovered EnemyIsAntLion response GarageAntlionHolesCoveredLiveAntlions } //============================================================================================================ // Alyx Thanking you for not killing all of the citizens you are supposed to be escorting. //============================================================================================================ //---------------------------------------------------------------------------- criterion "ConceptTalkEvacCongrats" "Concept" "TLK_ALYX_EVAC_CONGRATS" required response "EvacCongrats" { scene "scenes/episode_1/c17/al_evac_congrat01.vcd" scene "scenes/episode_1/c17/al_evac_congrat02.vcd" scene "scenes/episode_1/c17/al_evac_congrat03.vcd" scene "scenes/episode_1/c17/al_evac_congrat04.vcd" scene "scenes/episode_1/c17/al_evac_congrat05.vcd" } rule EvacCongrats { criteria IsAlyx ConceptTalkEvacCongrats PlayerNear response EvacCongrats } //============================================================================================================ // Alyx Training the player to cover the antlion holes - first time around //============================================================================================================ //---------------------------------------------------------------------------- criterion "ConceptAntLionTrainingHint" "AntlionTrainingHint" "1" required response "AntLionTrainingHints" { sequential norepeat scene "scenes/npc/alyx/al_blank.vcd" respeakdelay 20 scene "scenes/episode_1/c17/al_antlions_cutsupply.vcd" respeakdelay 30 scene "scenes/episode_1/c17/al_antlions_keepcontrol.vcd" respeakdelay 30 scene "scenes/episode_1/c17/al_antlions_runoutbullets.vcd" respeakdelay 30 } rule AntLionTrainingHints { criteria IsAlyx ConceptAntLionTrainingHint PlayerNear ConceptAlyxEnemyDead ConceptNoEnemies response AntLionTrainingHints } //============================================================================================================ // Alyx Congrats to player for covering hole //============================================================================================================ //---------------------------------------------------------------------------- criterion "ConceptAntlionGoodWork" "Concept" "AntlionGoodWork" required response "AntLionTrainingCongrats" { scene "scenes/episode_1/c17/al_antlions_plugthatway.vcd" speakonce } rule AntLionTrainingCongrats { criteria IsAlyx ConceptAntlionGoodWork PlayerNear ConceptNoEnemies response AntLionTrainingCongrats } //============================================================================================================ //Alyx plus use and nags while player should follow power line to powerbox for elevator. //============================================================================================================ //---------------------------------------------------------------------------- criterion "NotUsedNagLookForPower" "UsedNagLookForPower" "!=1" "required" weight 0 criterion "IsLookForPower" "al_hint_c1700_LookForPower" "1" "required" weight 10 criterion "HintLookForPowerNag" "concept" "TLK_FollowWireNag" "required" weight 10 response AlyxC1700aUseLookForPower { sequential scene "scenes/episode_1/c17/al_elev_power_nag05.vcd" scene "scenes/episode_1/c17/al_elev_power_nag03.vcd" scene "scenes/npc/Alyx/al_nomore.vcd" } rule AlyxC1700aUseLookForPower { criteria IsAlyx ConceptTalkUse IsLookForPower NotUsedNagLookForPower applycontext "UsedNagLookForPower:1:30,UsedAlyxResponse:1:30" response AlyxC1700aUseLookForPower } response AlyxC1700aLookForPower { norepeat sequential scene "scenes/episode_1/c17/al_elev_power_nag04.vcd" scene "scenes/episode_1/c17/al_elev_power_nag01.vcd" scene "scenes/episode_1/c17/al_elev_power_nag02.vcd" } rule AlyxC1700aLookForPower { criteria IsAlyx HintLookForPowerNag NotUsedNagLookForPower NotInCombat PlayerNear applycontext "UsedNagLookForPower:1:30,UsedAlyxResponse:1:30" response AlyxC1700aLookForPower } //============================================================================================================ //Alyx plus use while waiting for elevator //============================================================================================================ //---------------------------------------------------------------------------- criterion "IsWaitingForElevator" "al_hint_c1700_WaitForElevator" "1" "required" weight 10 response AlyxC1700aUseWaitForElevator { sequential norepeat scene "scenes/episode_1/c17/al_elev_almosthere.vcd" scene "scenes/npc/Alyx/al_nomore.vcd" } rule AlyxC1700aUseWaitForElevator { criteria IsAlyx ConceptTalkUse IsWaitingForElevator NotInCombat NotUsedAlyxResponse applycontext "UsedAlyxResponse:1:30" response AlyxC1700aUseWaitForElevator } response AlyxC1700aUseWaitForElevatorCombat { sequential norepeat scene "scenes/episode_1/c17/al_elev_anytime_loud.vcd" scene "scenes/episode_1/c17/al_elev_anyminute_loud.vcd" } rule AlyxC1700aUseWaitForElevatorCombat { criteria IsAlyx ConceptTalkUse IsWaitingForElevator InCombat NotUsedAlyxResponse applycontext "UsedAlyxResponse:1:30" response AlyxC1700aUseWaitForElevatorCombat }