// Alyx nags for episodic #include "talker/response_criteria.txt" criterion "AlyxGetToTrain" "Concept" "ConceptGetToTrain" required criterion "IsWaitForPlayerTakeGravGun1" "concept" "GravGun1Nag" "required" criterion "IsWaitForPlayerFollowLedge1" "concept" "Ledge1Nag" "required" criterion "IsWaitForPlayerInVan" "concept" "InVanNag" "required" criterion "IsWaitForPlayerPostVan" "concept" "PostVanNag" "required" criterion "IsWaitForPlayerMoveBlockedHallway" "concept" "MoveBlockedHallway" "required" criterion "NagPlayerLeaveBlockedHallway" "concept" "LeaveBlockedHallway" "required" criterion "IsWaitForPlayerTakeGravGun2" "concept" "GravGun2Nag" "required" criterion "IsWaitForPlayerBringRollermine" "concept" "BringRollermineNag" "required" criterion "IsWaitForPlayerTossRollermine" "concept" "TossRollermineNag" "required" criterion "IsWaitForPlayerTrappedStalkerPod" "concept" "TrappedStalkerNag" "required" criterion "IsWaitForPlayerDestroyStalker" "concept" "StalkerNag" "required" criterion "IsWaitForPlayerSocketBall" "concept" "BallNag" "required" criterion "IsWaitForPlayerOnElevator" "concept" "ElevatorNag" "required" criterion "IsWaitForPlayerAtExit" "concept" "ExitNag" "required" criterion "IsWaitForPlayeratScaffolding" "concept" "HelpMeNag" "required" criterion "IsWaitForPlayertoSeeAlyxSniper" "concept" "LookAtMeImASniperNag" "required" criterion "IsWaitForPlayerToGetInGarrison" "concept" "GetInGarrisonNag" "required" criterion "IsWaitForPlayerToFixElevator" "concept" "FixElevatorNag" "required" criterion "IsWaitForPlayerToGetInElevator" "concept" "GetInElevatorNag" "required" criterion "IsWaitForPlayerAtGate" "concept" "GateIsOpenNag" "required" criterion "IsWaitForPlayerToLure" "concept" "SniperLureNag" "required" criterion "IsWaitForPlayerShineFlashlight" "concept" "ShineLightOnPowerbox" "required" criterion "IsWaitForPlayerToAtWire" "concept" "FollowWireNag" "required" criterion "IsWaitForPlayerFindPowerbox" "concept" "FindPowerbox" "required" criterion "IsWaitForPlayerEvacNextGroup" "concept" "ConceptEvacNextGroup" "required" //============================================================================================================ // Ep1_citadel_00 //============================================================================================================ // Nag TakeGravGun //============================================================================================================ response "TakeGravGun1Nag" { scene "scenes/episode_1/al_citadel_takegravgunnag_01.vcd" defaultdelay scene "scenes/episode_1/al_citadel_takegravgunnag_02.vcd" defaultdelay } rule NagTakeGravGun1 { criteria IsWaitForPlayerTakeGravGun1 response TakeGravGun1Nag } //============================================================================================================ // Nag Ledge 1 //============================================================================================================ response "FollowLedge1Nag" { scene "scenes/episode_1/al_citadel_LedgeNag1_01.vcd" defaultdelay scene "scenes/episode_1/al_citadel_LedgeNag1_02.vcd" defaultdelay scene "scenes/episode_1/al_citadel_LedgeNag1_03.vcd" defaultdelay } rule NagFollowLedge1 { criteria IsWaitForPlayerFollowLedge1 response FollowLedge1Nag } //============================================================================================================ // Nag To Get in Van //============================================================================================================ response "InVanNag" { scene "scenes/episode_1/al_citadel_InVanNag_01.vcd" defaultdelay scene "scenes/episode_1/al_citadel_InVanNag_02.vcd" defaultdelay displayfirst scene "scenes/episode_1/al_citadel_InVanNag_03.vcd" defaultdelay } rule NagInVan { criteria IsWaitForPlayerInVan response InVanNag } //============================================================================================================ // Post Van //============================================================================================================ response "PostVanNag" { scene "scenes/episode_1/al_citadel_PostVanNag1_01.vcd" defaultdelay displayfirst scene "scenes/episode_1/al_citadel_PostVanNag1_02.vcd" defaultdelay scene "scenes/episode_1/al_citadel_PostVanNag1_03.vcd" defaultdelay } rule NagPostVan { criteria IsWaitForPlayerPostVan response PostVanNag } //============================================================================================================ // Move the debris from the blocked hallway //============================================================================================================ response "MoveBlockedHallway" { scene "scenes/episode_1/al_citadel_01_deadendnag_01.vcd" defaultdelay displayfirst scene "scenes/episode_1/al_citadel_01_deadendnag_02.vcd" defaultdelay scene "scenes/episode_1/al_citadel_01_deadendnag_03.vcd" defaultdelay } rule NagMoveBlockedHallway { criteria IsWaitForPlayerMoveBlockedHallway response MoveBlockedHallway } //============================================================================================================ // Player leaves the blocked hallway area //============================================================================================================ response "LeaveBlockedHallway" { scene "scenes/episode_1/al_citadel_01_deadendleave_01.vcd" defaultdelay displayfirst scene "scenes/episode_1/al_citadel_01_deadendleave_02.vcd" defaultdelay scene "scenes/episode_1/al_citadel_01_deadendleave_03.vcd" defaultdelay } rule NagLeaveBlockedHallway { criteria NagPlayerLeaveBlockedHallway response LeaveBlockedHallway } //============================================================================================================ // Nag TakeGravGun2 //============================================================================================================ response "TakeGravGun2Nag" { scene "scenes/episode_1/al_citadel_takegravgunnagb_01.vcd" defaultdelay scene "scenes/episode_1/al_citadel_takegravgunnagb_02.vcd" defaultdelay } rule NagTakeGravGun2 { criteria IsWaitForPlayerTakeGravGun2 response TakeGravGun2Nag } //============================================================================================================ // Ep1_citadel_02 //============================================================================================================ // Stalker Ball Burst Nag //============================================================================================================ response "NagStalker" { scene "scenes/episode_1/al_citadel_stillstalkers01.vcd" scene "scenes/episode_1/al_citadel_stillstalkers02.vcd" scene "scenes/episode_1/al_citadel_stillstalkers03.vcd" } rule NagStalker { criteria IsWaitForPlayerDestroyStalker response NagStalker } //============================================================================================================ // Core Ball Socket Nag //============================================================================================================ response "NagBall" { scene "scenes/episode_1/al_citadel_BallSocket01.vcd" } rule NagBall { criteria IsWaitForPlayerSocketBall response NagBall } //============================================================================================================ // Get On Elevator Nag //============================================================================================================ response "NagElevator" { scene "scenes/episode_1/al_citadel_ElevatorNag01.vcd" scene "scenes/episode_1/al_citadel_ElevatorNag02.vcd" scene "scenes/episode_1/al_citadel_ElevatorNag03.vcd" } rule NagElevator { criteria IsWaitForPlayerOnElevator response NagElevator } //============================================================================================================ // come to Exit Nag //============================================================================================================ response "NagExit" { scene "scenes/episode_1/al_citadel_ExitNag01.vcd" scene "scenes/episode_1/al_citadel_ExitNag02.vcd" scene "scenes/episode_1/al_citadel_ExitNag03.vcd" } rule NagExit { criteria IsWaitForPlayerAtExit response NagExit } //============================================================================================================ // Ep1_citadel_03 //============================================================================================================ // Rollermine Hack Nag //============================================================================================================ response "NagBringRollermine" { scene "scenes/episode_1/razortrain_alyx_BringRollermine_Nag01.vcd" scene "scenes/episode_1/razortrain_alyx_BringRollermine_Nag02.vcd" } rule NagBringRollermine { criteria IsWaitForPlayerBringRollermine response NagBringRollermine } //============================================================================================================ // Rollermine Toss Nag //============================================================================================================ response "NagTossRollermine" { scene "scenes/episode_1/razortrain_alyx_TossRollermine_Nag01.vcd" scene "scenes/episode_1/razortrain_alyx_TossRollermine_Nag02.vcd" } rule TossBringRollermine { criteria IsWaitForPlayerTossRollermine response NagTossRollermine } //============================================================================================================ // Alyx Trapped by Stalker Pod //============================================================================================================ response "NagTrappedStalkerPod" { scene "scenes/episode_1/al_stalkertrain_trapped_01.vcd" scene "scenes/episode_1/al_stalkertrain_trapped_02.vcd" scene "scenes/episode_1/al_stalkertrain_trapped_03.vcd" scene "scenes/episode_1/al_stalkertrain_trapped_04.vcd" } rule TrappedStalkerPodNag { criteria IsWaitForPlayerTrappedStalkerPod response NagTrappedStalkerPod } //============================================================================================================ // Ep1_c17_00 //============================================================================================================ // Nag FindThePowerbox //============================================================================================================ response "FindPowerboxNag" { scene "scenes/episode_1/al_c17_00_dark_findpowerboxnag_01.vcd" defaultdelay scene "scenes/episode_1/al_c17_00_dark_findpowerboxnag_02.vcd" defaultdelay // scene "scenes/episode_1/al_c17_00_dark_findpowerboxnag_03.vcd" defaultdelay Alyx saying she can hack the powerbox if you find it } rule NagFindPowerbox { criteria IsWaitForPlayerFindPowerbox NotInCombat response FindPowerboxNag } //============================================================================================================ // Nag ShineLightOnPowerbox //============================================================================================================ response "ShineLightOnPowerboxNag" { scene "scenes/episode_1/al_c17_00_dark_needlight_01.vcd" defaultdelay scene "scenes/episode_1/al_c17 _00_dark_needlight_02.vcd" defaultdelay scene "scenes/episode_1/al_c17_00_dark_needlight_03.vcd" defaultdelay } rule NagShineLightOnPowerbox { criteria IsWaitForPlayerShineFlashlight NotInCombat response ShineLightOnPowerboxNag } //============================================================================================================ // Ep1_c17_01 //============================================================================================================ // Where Alyx gets traps and requires Gordon's presence / assistance. //============================================================================================================ response "Response_HelpMeNag" { scene "scenes/episode_1/al_c17_01_comeherehelpme_nag_01.vcd" scene "scenes/episode_1/al_c17_01_comeherehelpme_nag_02.vcd" scene "scenes/episode_1/al_c17_01_comeherehelpme_nag_03.vcd" } rule Rule_HelpMeNag { criteria IsWaitForPlayeratScaffolding response Response_HelpMeNag } //============================================================================================================ // Where Alyx becomes a sniper and wants Gordon to see her. //============================================================================================================ response "Response_LookAtMeImASniperNag" { SEQUENTIAL scene "scenes/episode_1/al_c17_01_snipe_nag01.vcd" scene "scenes/episode_1/al_c17_01_snipe_nag02.vcd" } rule Rule_LookAtMeImASniperNag { criteria IsWaitForPlayertoSeeAlyxSniper response Response_LookAtMeImASniperNag } //============================================================================================================ // Ep1_c17_03 //============================================================================================================ // Where Alyx urges Gordon to get into the garisson. //============================================================================================================ response "Response_GetInGarrisonNag" { scene "scenes/episode_1/al_c17_03_GetInGarrison_nag_01.vcd" scene "scenes/episode_1/al_c17_03_GetInGarrison_nag_02.vcd" scene "scenes/episode_1/al_c17_03_GetInGarrison_nag_03.vcd" scene "scenes/episode_1/al_c17_03_GetInGarrison_nag_04.vcd" scene "scenes/episode_1/al_c17_03_GetInGarrison_nag_05.vcd" } rule Rule_GetInGarrisonNag { criteria IsWaitForPlayerToGetInGarrison SeePlayer response Response_GetInGarrisonNag } //============================================================================================================ // Where Alyx urges Gordon to back into the streets and find the missing gears. //============================================================================================================ response "Response_FixElevatorNag" { scene "scenes/episode_1/al_c17_03_FixElevator_nag_01.vcd" scene "scenes/episode_1/al_c17_03_FixElevator_nag_02.vcd" scene "scenes/episode_1/al_c17_03_FixElevator_nag_03.vcd" scene "scenes/episode_1/al_c17_03_FixElevator_nag_04.vcd" scene "scenes/episode_1/al_c17_03_FixElevator_nag_05.vcd" } rule Rule_FixElevatorNag { criteria IsWaitForPlayerToFixElevator SeePlayer response Response_FixElevatorNag } //============================================================================================================ // Where Alyx urges Gordon to get in the elevator. //============================================================================================================ response "Response_GetInElevatorNag" { scene "scenes/episode_1/al_c17_03_GetInElevator_nag_01.vcd" scene "scenes/episode_1/al_c17_03_GetInElevator_nag_02.vcd" scene "scenes/episode_1/al_c17_03_GetInElevator_nag_03.vcd" } rule Rule_GetInElevatorNag { criteria IsWaitForPlayerToGetInElevator SeePlayer response Response_GetInElevatorNag } //============================================================================================================ // Nags after gate is opened with crank. //============================================================================================================ response "Response_GateIsOpenNag" { scene "scenes/episode_1/al_c17_01_letsgonag_01.vcd" scene "scenes/episode_1/al_c17_01_letsgonag_02.vcd" scene "scenes/episode_1/al_c17_01_letsgonag_03.vcd" } rule Rule_GateIsOpenNag { criteria IsWaitForPlayerAtGate response Response_GateIsOpenNag } //============================================================================================================ // Nags for lureing out enemies so Alyx can snipe them. //============================================================================================================ //response "Response_SniperLureNag" //{ // scene "scenes/episode_1/al_c17_01_al_snipe_lurenag_01.vcd" // scene "scenes/episode_1/al_c17_01_al_snipe_lurenag_02.vcd" // scene "scenes/episode_1/al_c17_01_al_snipe_lurenag_03.vcd" //} // //rule Rule_SniperLureNag //{ // criteria AlyxIsSniperFirstEncounter // response Response_SniperLureNag //} //============================================================================================================ // Nags to remind player to follow the wire to power box //============================================================================================================ response "Response_FollowWireNag" { scene "scenes/episode_1/c17/al_elev_power_nag01.vcd" scene "scenes/episode_1/c17/al_elev_power_nag02.vcd" scene "scenes/episode_1/c17/al_elev_power_nag03.vcd" scene "scenes/episode_1/c17/al_elev_hearsomething.vcd" } rule Rule_FollowWireNag { criteria IsWaitForPlayerToAtWire response Response_FollowWireNag } //============================================================================================================ // Alyx Evac Next group - spoken when the player needs to get another group of citizens. //============================================================================================================ response "Response_AlyxEvacNextGroup" { 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 Rule_AlyxEvacNextGroup { criteria IsWaitForPlayerEvacNextGroup PlayerNear response Response_AlyxEvacNextGroup } //============================================================================================================ // Alyx Prodding you to get citizens on the train //============================================================================================================ //---------------------------------------------------------------------------- response "GetToTrain" { scene "scenes/episode_1/c17/al_evac_remind01.vcd" scene "scenes/episode_1/c17/al_evac_remind02.vcd" scene "scenes/episode_1/c17/al_evac_remind03.vcd" scene "scenes/episode_1/c17/al_evac_remind04.vcd" } rule GetToTrain { criteria AlyxGetToTrain PlayerNear response GetToTrain }