HLALYX:Response rules.txt

From Valve Developer Community
Jump to: navigation, search

Original Source

response_rules.txt

// This is the base rule script file for the AI response system for Expressive AI's who speak based on certain "Concepts"
// You can think of a concept as a high level state that the code is trying to convey, such as say hello, or say you're mad, etc.
//
// The format of this file is that there are five main types of commands:
// 1) #include "filename"	// This just causes the included scriptfile to be parsed and added to the database
// 2) enumeration:  this declares an enumerated type so that comparisons can be matched against the string versions of the type
// 3) response:  this specifies a response to issue.  A response consists of a weighted set of options and can recursively reference
//    other responses by name
// 4) criterion:  This is a match condition
// 5) rule:  a rule consists of one or more criteria and a response
//
// In general, the system is presented with a criteria set, which is a set of key value pairs generated by the game code and
//  various entity I/O and keyfields.  For instance, the following criteria set was created in a map with a train terminal 
// "speaker" entity wishing to fire random station announcements
//               concept = 'train_speaker' (weight 5.000000)		; the high level concept for the search request
//                   map = 'terminal_pa'							; the name of the map
//             classname = 'speaker'								; the classname and name of the "speaking" entity
//                  name = 'terminal_pa'
//                health = '10'										; the absolute health of the speaking entity
//            healthfrac = '0.000'									; the health fraction (health/maxhealth) of the speaking entity
//          playerhealth = '100'									; similar data related to the current player:
//      playerhealthfrac = '1.000'
//          playerweapon = 'none'									; the name of the weapon the player is carrying
//        playeractivity = 'ACT_WALK'								; animating activity of the player
//           playerspeed = '0.000'									; how fast the player is moving
//
// Based on such a criteria set, the system checks each rule against the set.  To do this, each criterion of the rule is
//  given a numeric score as follows:
// score = 0 if criteria doesn't match or, criterion weight * keyvalue weight if it does match
// The final score for a rule is the sum of all of the scores of its criteria.  The best rule is the one with the highest
//  score.  Once a best rule is selected, then a response is looked up based on the response definitions and the engine is
//  asked to dispatch that response.
//
// The specific syntax for the various keywords is as follows:
//
// ENUMERATIONS:
//
// enumeration <enumerationname>
// { 
//		"key1" "value1"
//		"key2" "value2"
//		...etc.
//	}
//	The code and criteria refer to enumerations with square brackets and a double colon separator, e.g.:
//  [enumerationname::key1]
//
//
// RESPONSES:
//
// Single line: 
// response <responsegroupname> [nodelay | defaultdelay | delay interval ] [speakonce] [noscene] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] responsetype parameters
// Multiple lines
// response <responsegroupname>
// {
//		[permitrepeats]   ; optional parameter, by default we visit all responses in group before repeating any
//		[sequential]	  ; optional parameter, by default we randomly choose responses, but with this we walk through the list starting at the first and going to the last
//		[norepeat]		  ; Once we've run through all of the entries, disable the response group
//		responsetype1 parameters1 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] weight nnn
//		responsetype2 parameters2 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] weight nnn
//		etc.
// }
// Where: 
//   interval		= "startnumber,endnumber" or "number" (e.g., "2.8,3.2" or "3.2")
//   responsetype	=:
//     speak		; it's an entry in sounds.txt
//     sentence		; it's a sentence name from sentences.txt
//     scene		; it's a .vcd file
//     response		; it's a reference to another response group by name
//     print      ; print the text in developer 2 (for placeholder responses)
//   nodelay		= an additional delay of 0 after speaking
//   defaultdelay	= an additional delay of 2.8 to 3.2 seconds after speaking
//   delay			= an additional delay based on a random sample from the interval after speaking. Format is "delay <interval>".
//	 predelay		= delay before speaking the response. Format is "predelay <interval>". i.e. 'predelay 3' or 'predelay "1.2,3.0"'
//   speakonce		= don't use this response more than one time (default off)
//	 noscene		= For an NPC, play the sound immediately using EmitSound, don't play it through the scene system. Good for playing sounds on dying or dead NPCs.
//   odds			= if this response is selected, if odds < 100, then there is a chance that nothing will be said (default 100)
//	 respeakdelay	= don't use this response again for at least this long (default 0)
//   soundlevel		= use this soundlevel for the speak/sentence (default SNDLVL_TALKING)
//   weight			= if there are multiple responses, this is a selection weighting so that certain responses are favored over others in the group (default 1)
//   displayfirst/displaylast : this should be the first/last item selected (ignores weight)
//	 fire			= fire an entity IO output. Parameters should be <targetname> <inputname> <delay>. example: "fire trigger_at_train enable 0"
//	 then			= queue up a speech request after this response has finished being spoken. Format is as follows:
//				then <speaker> <concept> <criteria> <delay>
//			Example:
//				scene "scenes/act2/quarantine_entrance/alyx_russell_first_dead_zombie" then self TLK_PLAYER_MAP_TALK step:3 1
//			<speaker> can be: 
//				self	= The speaker of the original scene.
//				subject	= Searches for an entity with a targetname matching the value of the "Subject" criteria key.
//				from	= Searches for an entity with a targetname matching the value of the "From" criteria key.
//				any		= Finds the highest value expresser within 1800 units of the speaker, and makes them speak.
//				all		= Makes all expressers try to speak.
//				Otherwise, if it's anything else it just tries to find an entity with a matching targetname.
//	thensimple		= queue up a speech request after this response has finished being spoken. Format is as follows:
//				thensimple <delay> <single response>
//			Example:
//				scene "scenes/act2/quarantine_entrance/alyx_russell_first_dead_zombie" thensimple 1 speak "followupline_05"
//			<single response> is any standard single line response entry (i.e. speak / scene / etc). See "responsetype" entry above.
//			Note that they can be chained together:
//				speak "vo.combine.officer.announceattack_cover_01" thensimple 1 speak "vo.combine.officer.announceattack_cover_02" thensimple 1 speak "vo.combine.officer.announceattack_cover_03"
//
// CRITERIA:
//
// criterion <criterionname> <matchkey> <matchvalue> weight nnn required
// Where:
//  matchkey matches one of the criteria in the set as shown above
//  matchvalue is a string or number value or a range, the following are all valid:
//  "0"						; numeric match to value 0
//  "1"						; numeric match to value 1
//   "weapon_smg1"			; string match to weapon_smg1 string
//   "[npcstate::idle]"		; match enumeration by looking up numeric value
//   ">0"					; match if greater than zero
//   ">10,<=50"				; match if greater than ten and less than or equal to 50
//   ">0,<[npcstate::alert]"	; match if greater than zer and les then value of enumeration for alert
//   "!=0"					; match if not equal to zero
// weight = floating point weighting for score assuming criteria match (default value 1.0)
// required:  if a rule has one or more criteria with the required flag set, then if any such criteria
//  fail, the entire rule receives a score of zero
//
// RULE:
//
// rule <rulename>
// {
//    criteria name1 [name2 name3 etc.]
//    response responsegroupname [responsegroupname2 etc.]
//    [matchonce]					; optional parameter
//	  [ <matchkey > <matchvalue> weight nnn required ]
// }
// Where:
// criteria just lies one more more criterion names from above and response list one or more of the response
// names from above (usually just one)
// matchonce (off by default): means that the rule is deactivated after the first time it is matched
// Note that additional "unnamed" criteria can be specified inline in the rule using the same syntax
// as for defining a criterion, except for the criterion keyword and the criterion name keys
//
// Interaction with entity I/O system
// CBaseEntity contains an inputfunc called "DispatchResponse" which accepts a string which is a concept name
//  Thus, a game entity can fire this input on another entity with a concept string and a criteria set will
//  be generated and searched against the entities current response system rule set.
// Right now only the speaker entity and NPC_Talker derived NPCs have any response rules loaded
// In addition, map placed entities have up to three "context" keypairs that can be specified.
// They take the form:  "key:value" (key, single colon separator, value)
// When an entity with any such context keypairs is asked to dispatch a response, the keypairs are added to the
//  criteria set passed to the rule system.  Thus, map placed entities and triggers can specify their
//  own context keypairs and these can be hooked up to response rules to do map-specific and appropriate
//  responses
// In addition, entity I/O can be used to add, remove and clear any such context keypairs via the
//   AddContext, RemoveContext, and ClearContext input functions.
// AddContext takes a keypair of the "key:value" format, while RemoveContext take just the "key"
// ClearContext removes all context keypairs
// The game .dll code can enumerate context keypairs and change them via code based methods
//
// The player and the world have their context added with the string player or world as a prefix, e.g.:
//  "playerkey:value" or "worldkey:value" to differentiate world/player context from the context of the
//  responding entity.
//
// 
// CONCEPT PRIORITIES
//
// conceptpriority <concept name> <priority>
//
// Used to specify priorities of speech concepts. By default, concepts all have a priority of 0.
// When attempting to speak, if an NPC is speaking, they'll be allowed to interrupt the current speech
// if the priority of the new speech is higher than that of the current speech. 
// 
//	Setting the conceptpriority of a concept to "nopriority" will make it exempt from the priority
//	system. It'll never interrupt any existing speech, nor will it be noted as the current priority 
//	when the concept is spoken.
//
// Examples:
//		conceptpriority COMBINE_RADIO_ON			nopriority			// Radio on/off sounds shouldn't affect/be affected by priority
//		conceptpriority COMBINE_RADIO_OFF			nopriority
//		conceptpriority COMBINESOLDIER_PAIN			-1					// Make pain sounds interruptable by all other default speech
//
//

// Base script
enumeration "NPCState"
{
	"None"		"0"
	"Idle"		"1"
	"Alert"		"2"
	"Combat"	"3"
	"Scripted"	"4"
	"PlayDead"	"5"
	"Dead"		"6"
}

response "NullResponse"


// Talker Manifests
// criterion has to be on the top as that's loaded first
#include "talker/npc_combine_criterion.txt"
#include "talker/npc_combine_charger.txt"
#include "talker/npc_combine_grunt.txt"
#include "talker/npc_combine_officer.txt"
#include "talker/npc_combine_suppressor.txt"
#include "talker/npc_combine_choreo.txt"
//#include "talker/npc_combine.txt"
#include "talker/player.txt"



npc_combine_criterion.txt

// Concept priorities
conceptpriority COMBINE_RADIO_ON			nopriority
conceptpriority COMBINE_RADIO_OFF			nopriority
conceptpriority COMBINESOLDIER_PAIN				-1
conceptpriority COMBINESOLDIER_IDLE				-2
conceptpriority COMBINESOLDIER_IDLECOMABT			-1
conceptpriority COMBINESOLDIER_INJURED				1		
conceptpriority COMBINESOLDIER_ANNOUNCEENEMY		2
conceptpriority COMBINESOLDIER_ANNOUNCEKILL		3
conceptpriority COMBINESOLDIER_PLAYERISHURT		2
conceptpriority COMBINESOLDIER_THROWING_GRENADE 	5
conceptpriority COMBINESOLDER_DEPLOYING_MANHACK 	5
conceptpriority COMBINESOLDIER_DIE 				10



// "then" concatenation test example
criterion "Concept_TestCS" "concept" "COMBINESOLDIER_TESTSTEPS" "required"
criterion "Sentence_Step2" "step" "2" "required"
criterion "Sentence_Step3" "step" "3" "required"
criterion "SoldierIsHurt" "healthfrac" "<.5" "required"
criterion "SoldierIsUnhurt" "healthfrac" ">=.5" "required"

criterion "AlyxIsKnown" "alyxisknown:1" "required"
// ent_fire !player addcontext "alyxisknown:1"

//Radio bloops on/off
criterion "ConceptRadioOn" "concept" "COMBINE_RADIO_ON" "required"
criterion "ConceptRadioOff" "concept" "COMBINE_RADIO_OFF" "required"

// Combine Classes
criterion "IsCombine" "classname" "npc_combine" "required"
criterion "IsCombineS" "classname" "npc_combine_s" "required"
criterion "IsClass_Officer" "combine_class" "officer" "required"			
criterion "IsClass_Charger" "combine_class" "charger" "required"			
criterion "IsClass_Suppressor" "combine_class" "suppressor" "required"		
criterion "IsClass_Grunt" "combine_class" "default" "required"
		

// combine action events
criterion "ConceptAnnounceAttack" "concept" "COMBINESOLDIER_ANNOUNCEATTACK" "required"
criterion "ConceptMissedMe" "concept" "COMBINESOLDIER_MISSEDME" "required"
criterion "ConceptPressAttack" "concept" "COMBINESOLDIER_PRESS_ATTACK" "required"
criterion "ConceptAttackingFromBehind" "concept" "COMBINESOLDIER_FIRING_FROM_BEHIND" "required"
criterion "ConceptDeployingManhack" "concept" "COMBINESOLDER_DEPLOYING_MANHACK" "required"
criterion "ConceptThrowingGrenade" "concept" "COMBINESOLDIER_THROWING_GRENADE" "required"
criterion "ConceptAnnounceEnemy" "concept" "COMBINESOLDIER_ANNOUNCEENEMY" "required"
criterion "ConceptAnnounceAssault" "concept" "COMBINESOLDIER_ANNOUNCEASSAULT" "required"
criterion "ConceptAnnounceKill" "concept" "COMBINESOLDIER_ANNOUNCEKILL" "required"
criterion "ConceptAnnounceCharge" "concept" "COMBINESOLDIER_ANNOUNCECHARGE" "required"
criterion "ConceptAdvancingOnTarget" "concept" "COMBINESOLDIER_ADVANCING_ON_TARGET" "required"
criterion "ConceptEstablishingLOF" "concept" "COMBINESOLDIER_ESTABLISHINGLOF" "required"
criterion "ConceptDanger" "concept" "COMBINESOLDIER_DANGER" "required"
criterion "ConceptFlank" "concept" "COMBINESOLDIER_FLANK" "required"
criterion "ConceptOnFire" "concept" "COMBINESOLDIER_ONFIRE" "required"
criterion "ConceptGasTankHit" "concept" "COMBINESOLDIER_GASTANK_HIT" "required"
criterion "ConceptLimping" "concept" "COMBINESOLDIER_LIMPING" "required"
criterion "ConceptPain" "concept" "COMBINESOLDIER_PAIN" "required"
criterion "ConceptTaunt" "concept" "COMBINESOLDIER_TAUNT" "required"
criterion "ConceptCoverMe" "concept" "COMBINESOLDIER_COVERME" "required"
criterion "ConceptLostEnemy" "concept" "COMBINESOLDIER_LOSTENEMY" "required"
criterion "ConceptOverwatch" "concept" "COMBINESOLDIER_OVERWATCH" "required"
criterion "ConceptReload" "concept" "COMBINESOLDIER_RELOAD" "required"
criterion "ConceptSuppressing" "concept" "COMBINESOLDIER_SUPPRESSING" "required"
criterion "ConceptPlayerIsHurt" "concept" "COMBINESOLDIER_PLAYERISHURT" "required"
criterion "ConceptSquadMemberLost" "concept" "COMBINESOLDIER_SQUADMEMBERLOST" "required"
criterion "ConceptDie" "concept" "COMBINESOLDIER_DIE" "required"
criterion "ConceptUnderAttack" "concept" "COMBINESOLDIER_UNDERATTACK" "required"
criterion "ConceptTakingFire" "concept" "COMBINESOLDIER_TAKINGFIRE" "required"
criterion "ConceptInjured" "concept" "COMBINESOLDIER_INJURED" "required"
criterion "ConceptLostVisual" "concept" "COMBINESOLDIER_LOSTVISUAL" "required"
criterion "ConceptAttackingCover" "concept" "COMBINESOLDIER_ATTACKINGCOVER" "required"
criterion "ConceptGetBack" "concept" "COMBINESOLDIER_GETBACK" "required"
criterion "ConceptNearPanic" "concept" "COMBINESOLDIER_NEARPANIC" "required"
criterion "ConceptRetreat" "concept" "COMBINESOLDIER_RETREAT" "required"
criterion "ConceptRetreatToReload" "concept" "COMBINESOLDIER_RETREATTORELOAD" "required"
criterion "ConceptFiring" "concept" "COMBINESOLDIER_FIRING" "required"
criterion "ConceptFindEnemy" "concept" "COMBINESOLDIER_FINDENEMY" "required"
criterion "ConceptFlushingEnemy" "concept" "COMBINESOLDIER_FLUSHINGENEMY" "required"
criterion "ConceptReconnoiterStart" "concept" "COMBINESOLDIER_RECONNOITER_START" "required"
criterion "ConceptReconnoiterSearch" "concept" "COMBINESOLDIER_RECONNOITER_SEARCH" "required"
criterion "ConceptReconnoiterFinish" "concept" "COMBINESOLDIER_RECONNOITER_FINISH" "required"
criterion "ConceptCallReinforcements" "concept" "COMBINESOLDIER_CALLREINFORCEMENTS" "required"
criterion "ConceptHearSuspicious" "concept" "COMBINESOLDIER_HEARSUSPICIOUS" "required"
criterion "ConceptOrderCall" "isordercall" "COMBINESOLDIER_ORDER_CALL" "required"
criterion "ConceptOrderResponse" "isorderresponse" "COMBINESOLDIER_ORDER_RESPONSE" "required"

// Idle 
criterion "ConceptIdleCheck" "concept" "COMBINESOLDIER_CHECK" "required"
criterion "ConceptIdleQuestion" "concept" "COMBINESOLDIER_QUESTION" "required"
criterion "ConceptIdle" "concept" "COMBINESOLDIER_IDLE" "required"
criterion "ConceptIdleCombat" "concept" "COMBINESOLDIER_IDLECOMBAT" "required"
criterion "ConceptIdleReportClear" "concept" "COMBINESOLDIER_REPORTCLEAR" "required"
criterion "ConceptIdleAnswer" "concept" "COMBINESOLDIER_ANSWER" "required"

// Target and Squad State
criterion "AnnounceIsGrenade" "announce_grenade" "1" "weight" "5" "required"
criterion "AnnounceIsManhack" "announce_manhack" "1" "weight" "5" "required"
criterion "EnemyIsPlayer" "enemy" "player" "required"
criterion "EnemyIsZombie" "enemy" "npc_zombie" "required"
criterion "EnemyIsHeadcrab" "enemy" "npc_headcrab" "required"
criterion "EnemyIsAntlion" "enemy" "npc_antlion" "required"
criterion "DangerIsGrenade" "danger_grenade" "1" "required"
criterion "LostEnemyHaveHandle" "lost_haveenemy" "1"
criterion "LostEnemyShortTime" "lost_time" "<10"
criterion "IsLastSquadMemberLeft" "num_squad_members" "1" required
criterion "HasOtherSquadMembers" "num_squad_members" ">1" required
criterion "LostSquadLeader" "lost_leader" "1" "weight" "5" required
criterion "LostSquadOfficer" "lost_combineclass" "officer"
criterion "LostSquadCharger" "lost_combineclass" "charger"
criterion "LostSquadSuppressor" "lost_combineclass" "suppressor"
criterion "LostSquadGrunt" "lost_combineclass" "default"

// Debugging criteria designed to always fail to match, used to temporarily disable rules.
criterion "EnemyIsPlayerX" "enemy" "debuggingfail" "required"



// Location Callouts
criterion "PlayerAtBricks" "worldplayerat" "bricks" "required"
criterion "PlayerAtBridge" "worldplayerat" "bridge" "required"
criterion "PlayerAtCar" "worldplayerat" "car" "required"
criterion "PlayerAtContainer" "worldplayerat" "container" "required"
criterion "PlayerAtCrane" "worldplayerat" "crane" "required"
criterion "PlayerAtDoor" "worldplayerat" "door" "required"
criterion "PlayerAtFence" "worldplayerat" "fence" "required"
criterion "PlayerAtPipes" "worldplayerat" "pipes" "required"
criterion "PlayerAtShack" "worldplayerat" "shack" "required"
criterion "PlayerAtStation" "worldplayerat" "station" "required"
criterion "PlayerAtToilet" "worldplayerat" "toilet" "required"
criterion "PlayerAtTracks" "worldplayerat" "tracks" "required"
criterion "PlayerAtTraincar" "worldplayerat" "traincar" "required"
criterion "PlayerAtTruck" "worldplayerat" "truck" "required"
criterion "PlayerAtTunnel" "worldplayerat" "tunnel" "required"
criterion "PlayerAtVan" "worldplayerat" "van" "required"
criterion "PlayerAtWall" "worldplayerat" "wall" "required"
criterion "PlayerAtWindow" "worldplayerat" "window" "required"
criterion "PlayerAtWoodpile" "worldplayerat" "woodpile" "required"

// new location markup
criterion "PlayerAtTrash" "worldplayerat" "trash" "required"
criterion "PlayerAtFront" "worldplayerat" "front"  "required"
criterion "PlayerAtWheels" "worldplayerat" "wheels" "required"
criterion "PlayerAtBehind" "worldplayerat" "behind" "required"
criterion "PlayerAtAbove" "worldplayerat" "above" "required"
criterion "PlayerAtBelow" "worldplayerat" "below" "required"
criterion "PlayerAtApartment" "worldplayerat" "apartment" "required"
criterion "PlayerAtElevator" "worldplayerat" "elevator" "required"
criterion "PlayerAtHut" "worldplayerat" "hut" "required"
criterion "PlayerAtBuilding" "worldplayerat" "building" "required"
criterion "PlayerAtBarrels" "worldplayerat" "barrels" "required"


//////////////
/// CALL & RESPONSE
/////////////

criterion "Order_EstablishLOS" "order" "establishlos" "required"
criterion "Order_Recon" "order" "recon" "required"

criterion "IsOrderCall" "order_call" "1" "required"
criterion "IsOrderResponse" "order_response" "1" "required"
criterion "ResponderIsGrunt" "responder_combine_class" "default" "required"
criterion "ResponderIsCharger" "responder_combine_class" "charger" "required"
criterion "ResponderIsSuppressor" "responder_combine_class" "suppressor" "required"
criterion "ResponderIsOfficer" "responder_combine_class" "officer" "required"


//////////////////////////
//// ORIGINAL CONCEPTS
///////////////////////////
// Question / Answer concepts
criterion "ConceptTalkAnswer" "Concept" "TLK_ANSWER" required weight 1
criterion "ConceptTalkQuestion" "Concept" "TLK_QUESTION" required // weight 1 implied
criterion "ConceptTalkAnswerCitizen" "Concept" "TLK_ANSWER_CIT" required weight 1
criterion "ConceptTalkQuestionCitizen" "Concept" "TLK_QUESTION_CIT" required 
criterion "ConceptTalkAnswerVort" "Concept" "TLK_ANSWER_VORT" required weight 1
criterion "ConceptTalkQuestionVort" "Concept" "TLK_QUESTION_VORT" required 

// General concepts
criterion "ConceptTalkIdle" "Concept" "TLK_IDLE" required
criterion "ConceptTalkStare" "Concept" "TLK_STARE" required
criterion "ConceptTalkUse" "Concept" "TLK_USE" required
criterion "ConceptTalkStartFollow" "Concept" "TLK_STARTFOLLOW" required
criterion "ConceptTalkStopFollow" "Concept" "TLK_STOPFOLLOW" required
criterion "ConceptTalkStop" "Concept" "TLK_STOP" required
criterion "ConceptTalkNoShoot" "Concept" "TLK_NOSHOOT" required
criterion "ConceptTalkHello" "Concept" "TLK_HELLO" required
criterion "ConceptTalkPHello" "Concept" "TLK_PHELLO" required
criterion "ConceptTalkPIdle" "Concept" "TLK_PIDLE" required
criterion "ConceptTalkPQuestion" "Concept" "TLK_PQUESTION" required
criterion "ConceptTalkPlayerHurt1" "Concept" "TLK_PLHURT1" required
criterion "ConceptTalkPlayerHurt2" "Concept" "TLK_PLHURT2" required
criterion "ConceptTalkPlayerHurt3" "Concept" "TLK_PLHURT3" required
criterion "ConceptTalkPlayerPushed" "Concept" "TLK_PLPUSH" required
criterion "ConceptTalkSmell" "Concept" "TLK_SMELL" required
criterion "ConceptTalkWound" "Concept" "TLK_WOUND" required
criterion "ConceptTalkMortal" "Concept" "TLK_MORTAL" required
criterion "ConceptTalkDanger" "Concept" "TLK_DANGER" required
criterion "ConceptTalkResume" "Concept" "TLK_RESUME" required
criterion "ConceptTalkHeal" "Concept" "TLK_HEAL" required
criterion "ConceptTalkTourGuideStayPut" "Concept" "TLK_TGSTAYPUT" required
criterion "ConceptTalkTourGuideFind" "Concept" "TLK_TGFIND" required
criterion "ConceptTalkTourGuideSeek" "Concept" "TLK_TGSEEK" required
criterion "ConceptTalkTourGuideLostYou" "Concept" "TLK_TGLOSTYOU" required
criterion "ConceptTalkTourGuideCatchUp" "Concept" "TLK_TGCATCHUP" required
criterion "ConceptTalkTourGuideEndTour" "Concept" "TLK_TGENDTOUR" required
criterion "ConceptTalkSelected" "Concept" "TLK_SELECTED" required
criterion "ConceptTalkCommanded" "Concept" "TLK_COMMANDED" required
criterion "ConceptTalkCommandFailed" "Concept" "TLK_COMMAND_FAILED" required
criterion "ConceptTalkBetrayed" "Concept" "TLK_BETRAYED" required
criterion "ConceptTalkGiveAmmo" "Concept" "TLK_GIVEAMMO" required
criterion "ConceptTalkAllyKilled" "Concept" "TLK_ALLY_KILLED" required
criterion "ConceptSeeCombine" "Concept" "TLK_SEE_COMBINE" required
criterion "ConceptEnemyDead" "Concept" "TLK_ENEMY_DEAD" required
criterion "ConceptTalkWatchOut" "Concept" "TLK_WATCHOUT" required
criterion "ConceptTalkAttacking" "Concept" "TLK_ATTACKING" required
criterion "ConceptTalkDeath" "Concept" "TLK_DEATH" required
criterion "ConceptTalkHelpMe" "Concept" "TLK_HELP_ME" required
criterion "ConceptTalkPlayerPhysAttack" "Concept" "TLK_PLYR_PHYSATK" required
criterion "ConceptDissolveScream" "Concept" "TLK_DISSOLVESCREAM" required
criterion "ConceptElectrocuteScream" "Concept" "TLK_ELECTROCUTESCREAM" required
criterion "ConceptNewWeapon" "Concept" "TLK_NEWWEAPON" required
criterion "ConceptShot" "Concept" "TLK_SHOT" required
criterion "ConceptPlayerReload" "Concept" "TLK_PLRELOAD" required
criterion "ConceptPlayerDead" "Concept" "TLK_PLDEAD" required
criterion "ConceptHideAndReload" "Concept" "TLK_HIDEANDRELOAD" required
criterion "ConceptStartCombat" "Concept" "TLK_STARTCOMBAT" required
criterion "ConceptJoinPlayer" "Concept" "TLK_JOINPLAYER" required

// Lead behavior
criterion "ConceptLeadStart" "Concept" "TLK_LEAD_START" required			// Spoken once when the NPC first starts to lead the player
criterion "ConceptLeadWaitOver" "Concept" "TLK_LEAD_WAITOVER" required			// Spoken when the player arrives at an NPC waiting to lead the player
criterion "ConceptLeadAttractPlayer" "Concept" "TLK_LEAD_ATTRACTPLAYER" required	// Nag spoken by a NPC waiting to lead the player, trying to attract the player
criterion "ConceptLeadCatchup" "Concept" "TLK_LEAD_CATCHUP" required			// Spoken by the NPC when the player's lagging behind
criterion "ConceptLeadComingBack" "Concept" "TLK_LEAD_COMINGBACK" required		// Spoken when the NPC comes back to find a lost player
criterion "ConceptLeadRetrieve" "Concept" "TLK_LEAD_RETRIEVE" required			// Spoken when the NPC has come back to the player, and is now resuming the lead
criterion "ConceptLeadArrival" "Concept" "TLK_LEAD_ARRIVAL" required			// Spoken when the leading NPC reaches the target point
criterion "ConceptLeadSuccess" "Concept" "TLK_LEAD_SUCCESS" required			// Spoken when the player and the leading NPC have both reached the target point
criterion "ConceptLeadMissingWeapon" "Concept" "TLK_LEAD_MISSING_WEAPON" required	// Spoken when the NPC refuses to lead the player because he's missing a weapon

// Citizen responses
criterion "ConceptCRPlayerShotGunship" "Concept" "TLK_CITIZEN_RESPONSE_SHOT_GUNSHIP" required
criterion "ConceptCRPlayerKilledGunship" "Concept" "TLK_CITIZEN_RESPONSE_KILLEd_GUNSHIP" required
criterion "ConceptCRVitalNPCDied" "Concept" "TLK_VITALNPC_DIED" required

criterion "PlayerAlive" "PlayerHealth" ">0" required
criterion "PlayerDead" "PlayerHealth" "<=0" required
criterion "PlayerWounded" "PlayerHealthFrac"	">0,<=.5"
criterion "NPCAlive" "Health" ">0" required
criterion "NPCAlert" "NPCState" ">=[NPCState::Idle],<[NPCState::Alert]"
criterion "NPCIdle" "NPCState" "[NPCState::Idle]" required
criterion "PlayerNear" "distancetoplayer" "<500" required
criterion "SeePlayer" "seeplayer" "1" required
criterion "SeenByPlayer" "seenbyplayer" "1" required
criterion "NoRecentCombat" "timesincecombat" ">25" required

criterion "ShotInLeg" "shotloc" "leg" required weight 0
criterion "ShotInArm" "shotloc" "arm" required weight 0
criterion "ShotInGut" "shotloc" "gut" required weight 0

// randomnum is actually 0-100, so these chances aren't right.
// the weight is to ensure that the rarest possible valid chance is used, assuming multiple rules with diff chances.
criterion "Chance_1%"	"randomnum" "<=1" required weight 22
criterion "Chance_2%"	"randomnum" "<=2" required weight 21
criterion "Chance_3%"	"randomnum" "<=3" required weight 20
criterion "Chance_5%"	"randomnum" "<=5" required weight 19
criterion "Chance_10%"	"randomnum" "<=10" required weight 18
criterion "Chance_15%"	"randomnum" "<=15" required weight 17
criterion "Chance_20%"	"randomnum" "<=20" required weight 16
criterion "Chance_25%"	"randomnum" "<=25" required weight 15
criterion "Chance_30%"	"randomnum" "<=30" required weight 14
criterion "Chance_35%"	"randomnum" "<=35" required weight 13
criterion "Chance_40%"	"randomnum" "<=40" required weight 12
criterion "Chance_45%"	"randomnum" "<=45" required weight 11
criterion "Chance_50%"	"randomnum" "<=50" required weight 10
criterion "Chance_55%"	"randomnum" "<=55" required weight 9
criterion "Chance_60%"	"randomnum" "<=60" required weight 8
criterion "Chance_65%"	"randomnum" "<=65" required weight 7
criterion "Chance_70%"	"randomnum" "<=70" required weight 6
criterion "Chance_75%"	"randomnum" "<=75" required weight 5

// choreo
criterion "Combine_Sees_Player_First_Time" "concept" "COMBINE_SEE_PLAYER_FIRST_TIME" weight 200 "required"
criterion "IsFirstEncounterSoldier" "first_encounter_soldiers" "1" weight 100 "required"
criterion "IsBridgeEncounterSoldierLeft" "bridge_lower_left_soldier_zombie_speech" "1" weight 100 "required"
criterion "IsBridgeEncounterSoldierRight" "bridge_lower_right_soldier_zombie_speech" "1" weight 100 "required"
criterion "ConceptBridgeEncounterZombieSpeech" "concept" "COMBINE_SECOND_ENCOUNTER_ZOMBIE" "required"
criterion "ConceptBridgeEncounterZombie2Speech" "concept" "COMBINE_SECOND_ENCOUNTER_ZOMBIE2" "required"
criterion "Choreo_PPC17_SearchingForAlyx" "concept" "COMBINESOLDIER_CHOREO_C17PP_SEARCHING" "required"
criterion "Choreo_PPC17_SuppressorIntroRetreat" "concept" "COMBINESOLDIER_CHOREO_C17PP_RETREAT" "required"
criterion "Choreo_PPC17_SuppressorIntroAmbushAttack" "concept" "COMBINESOLDIER_CHOREO_C17PP_AMBUSH" "required"
criterion "Choreo_A5Vault_InPosition" "concept" "COMBINESOLDIER_CHOREO_A5VAULT_INPOSITION" "required"
criterion "Choreo_PPC17_GruntAtElectricalBox" "concept" "COMBINESOLDIER_CHOREO_C17PP_ELECTRICALBOX" "required"
criterion "Choreo_PPC17_GruntAtBridge" "concept" "COMBINESOLDIER_CHOREO_C17PP_GRUNTBRIDGE" "required"
criterion "Choreo_PPC17_OfficerAtBridge" "concept" "COMBINESOLDIER_CHOREO_C17PP_OFFICERBRIDGE" "required"
criterion "Choreo_StationStreet_ChargerInvestigates" "concept" "COMBINESOLDIER_CHOREO_SS_CHARGERINVESTIGATES" "required"
criterion "Choreo_PPC17_GruntEnterArena1" "concept" "COMBINESOLDIER_CHOREO_C17PP_GRUNTENTERARENA1" "required"
criterion "Choreo_PPC17_GruntEnterArena2" "concept" "COMBINESOLDIER_CHOREO_C17PP_GRUNTENTERARENA2" "required"
criterion "Choreo_PPC17_SuppressorEnterArena" "concept" "COMBINESOLDIER_CHOREO_C17PP_SUPPRESSORENTERARENA" "required"
criterion "Choreo_PPC17_BatteryArenaOfficerEntry" "concept" "COMBINESOLDIER_CHOREO_C17PP_BATTERYARENAOFFICER" "required"
criterion "Choreo_TYC17_GruntGantry1" "concept" "COMBINESOLDIER_CHOREO_C17TY_GRUNTGANTRY1" "required"
criterion "Choreo_TYC17_GruntGantry2" "concept" "COMBINESOLDIER_CHOREO_C17TY_GRUNTGANTRY2" "required"
criterion "Choreo_TYC17_GruntGarbageGuy" "concept" "COMBINESOLDIER_CHOREO_C17TY_GRUNTGARBAGEGUY" "required"
criterion "Choreo_A5Vault_GruntAlertGuy" "concept" "COMBINESOLDIER_CHOREO_A5VAULT_GRUNTALERTGUY" "required"


criterion "Choreo_27_1107" "concept" "COMBINESOLDIER_CHOREO_27_1107" "required"
criterion "Choreo_27_1108" "concept" "COMBINESOLDIER_CHOREO_27_1108" "required"
criterion "Choreo_27_1109" "concept" "COMBINESOLDIER_CHOREO_27_1109" "required"
criterion "Choreo_27_1111" "concept" "COMBINESOLDIER_CHOREO_27_1111" "required"

criterion "Choreo_28_1110" "concept" "COMBINESOLDIER_CHOREO_28_1110" "required"

criterion "Choreo_29_0001" "concept" "COMBINESOLDIER_CHOREO_29_0001" "required"
criterion "Choreo_29_0002" "concept" "COMBINESOLDIER_CHOREO_29_0002" "required"
criterion "Choreo_29_0003" "concept" "COMBINESOLDIER_CHOREO_29_0003" "required"
criterion "Choreo_29_0004" "concept" "COMBINESOLDIER_CHOREO_29_0004" "required"
criterion "Choreo_29_0005" "concept" "COMBINESOLDIER_CHOREO_29_0005" "required"
criterion "Choreo_29_0006" "concept" "COMBINESOLDIER_CHOREO_29_0006" "required"
criterion "Choreo_29_0007" "concept" "COMBINESOLDIER_CHOREO_29_0007" "required"
criterion "Choreo_29_0008" "concept" "COMBINESOLDIER_CHOREO_29_0008" "required"
criterion "Choreo_29_0009" "concept" "COMBINESOLDIER_CHOREO_29_0009" "required"
criterion "Choreo_29_0010" "concept" "COMBINESOLDIER_CHOREO_29_0010" "required"
criterion "Choreo_29_0011" "concept" "COMBINESOLDIER_CHOREO_29_0011" "required"
criterion "Choreo_29_0012" "concept" "COMBINESOLDIER_CHOREO_29_0012" "required"
criterion "Choreo_29_0013" "concept" "COMBINESOLDIER_CHOREO_29_0013" "required"
criterion "Choreo_29_0014" "concept" "COMBINESOLDIER_CHOREO_29_0014" "required"
criterion "Choreo_29_0015" "concept" "COMBINESOLDIER_CHOREO_29_0015" "required"
criterion "Choreo_29_0016" "concept" "COMBINESOLDIER_CHOREO_29_0016" "required"
criterion "Choreo_29_0017" "concept" "COMBINESOLDIER_CHOREO_29_0017" "required"
criterion "Choreo_29_0018" "concept" "COMBINESOLDIER_CHOREO_29_0018" "required"
criterion "Choreo_29_0019" "concept" "COMBINESOLDIER_CHOREO_29_0019" "required"
criterion "Choreo_29_0020" "concept" "COMBINESOLDIER_CHOREO_29_0020" "required"
criterion "Choreo_29_0021" "concept" "COMBINESOLDIER_CHOREO_29_0021" "required"
criterion "Choreo_29_0022" "concept" "COMBINESOLDIER_CHOREO_29_0022" "required"
criterion "Choreo_29_0023" "concept" "COMBINESOLDIER_CHOREO_29_0023" "required"

criterion "Choreo_30_0001" "concept" "COMBINESOLDIER_CHOREO_30_0001" "required"
criterion "Choreo_30_0002" "concept" "COMBINESOLDIER_CHOREO_30_0002" "required"
criterion "Choreo_30_0003" "concept" "COMBINESOLDIER_CHOREO_30_0003" "required"
criterion "Choreo_30_0004" "concept" "COMBINESOLDIER_CHOREO_30_0004" "required"
criterion "Choreo_30_0005" "concept" "COMBINESOLDIER_CHOREO_30_0005" "required"
criterion "Choreo_30_0006" "concept" "COMBINESOLDIER_CHOREO_30_0006" "required"
criterion "Choreo_30_0007" "concept" "COMBINESOLDIER_CHOREO_30_0007" "required"
criterion "Choreo_30_0008" "concept" "COMBINESOLDIER_CHOREO_30_0008" "required"
criterion "Choreo_30_0009" "concept" "COMBINESOLDIER_CHOREO_30_0009" "required"
criterion "Choreo_30_0010" "concept" "COMBINESOLDIER_CHOREO_30_0010" "required"
criterion "Choreo_30_0011" "concept" "COMBINESOLDIER_CHOREO_30_0011" "required"
criterion "Choreo_30_0012" "concept" "COMBINESOLDIER_CHOREO_30_0012" "required"
criterion "Choreo_30_0013" "concept" "COMBINESOLDIER_CHOREO_30_0013" "required"
criterion "Choreo_30_0014" "concept" "COMBINESOLDIER_CHOREO_30_0014" "required"
criterion "Choreo_30_0015" "concept" "COMBINESOLDIER_CHOREO_30_0015" "required"
criterion "Choreo_30_0016" "concept" "COMBINESOLDIER_CHOREO_30_0016" "required"
criterion "Choreo_30_0017" "concept" "COMBINESOLDIER_CHOREO_30_0017" "required"
criterion "Choreo_30_0018" "concept" "COMBINESOLDIER_CHOREO_30_0018" "required"
criterion "Choreo_30_0019" "concept" "COMBINESOLDIER_CHOREO_30_0019" "required"
criterion "Choreo_30_0020" "concept" "COMBINESOLDIER_CHOREO_30_0020" "required"
criterion "Choreo_30_0021" "concept" "COMBINESOLDIER_CHOREO_30_0021" "required"
criterion "Choreo_30_0022" "concept" "COMBINESOLDIER_CHOREO_30_0022" "required"
criterion "Choreo_30_0023" "concept" "COMBINESOLDIER_CHOREO_30_0023" "required"
criterion "Choreo_30_0024" "concept" "COMBINESOLDIER_CHOREO_30_0024" "required"
criterion "Choreo_30_0025" "concept" "COMBINESOLDIER_CHOREO_30_0025" "required"
criterion "Choreo_30_0026" "concept" "COMBINESOLDIER_CHOREO_30_0026" "required"
criterion "Choreo_30_0027" "concept" "COMBINESOLDIER_CHOREO_30_0027" "required"



/////////////////
/// NEW
//////////////////
criterion "ConceptPrepareCharge" "Concept" "COMBINESOLDIER_PREPARECHARGE" "required"
criterion "ConceptPrepareShield" "Concept" "COMBINESOLDIER_PREPARESHIELD" "required"
criterion "ConceptSwitchingWeapons" "Concept" "COMBINESOLDIER_SWITCHINGWEAPONS" "required"
criterion "ConceptFlashSuccess" "Concept" "COMBINESOLDIER_FLASHSUCCESS" "required"
criterion "ConceptFlashFailed" "Concept" "COMBINESOLDIER_FLASHFAILED" "required"
criterion "ResponseIsPositive" "Concept" "COMBINESOLDIER_POSITIVE" "required"
criterion "ResponseIsNegative" "Concept" "COMBINESOLDIER_NEGATIVE" "required"


// sees player has stuff
criterion "PlayerHasGrenades" "worldplayer_has_grenades" "1" "required"
criterion "PlayerHasUpgrades" "worldplayer_has_upgrades" "1" "required"
criterion "PlayerHasFriends" "worldplayer_has_friends" "1" "required"
criterion "PlayerIsReloading" "worldplayer_is_reloading" "1" "required"

npc_combine_charger.txt

response Combine_RadioOn
{
	speak "combine.radioOn"
}

rule CS_Combine_RadioOn
{
	criteria		IsCombineS ConceptRadioOn 
	response		Combine_RadioOn
}

response Combine_RadioOff
{
	speak "combine.radioOff"
}

rule CS_Combine_RadioOff
{
	criteria		IsCombineS ConceptRadioOff
	response		Combine_RadioOff
}


//========================================================================================================
// CHARGER PREPARES CHARGE
//====================================================================
response CS_Charger_PreparingCharge
{
	criteria		IsCombineS IsClass_Charger ConceptPrepareCharge 
	
	speak "vo.combine.charger.preparing_charge_01"
	speak "vo.combine.charger.preparing_charge_02"
	speak "vo.combine.charger.preparing_charge_03"
	speak "vo.combine.charger.preparing_charge_04"
	speak "vo.combine.charger.preparing_charge_05"
	speak "vo.combine.charger.preparing_charge_06"
	

}


//========================================================================================================
// CHARGER PREPARES SHIELD
//====================================================================
response CS_Charger_PreparingShield
{
	criteria		IsCombineS IsClass_Charger ConceptPrepareShield 
	
	speak "vo.combine.charger.preparing_shield_01"
	speak "vo.combine.charger.preparing_shield_02"
	speak "vo.combine.charger.preparing_shield_03"
	speak "vo.combine.charger.preparing_shield_04"
	speak "vo.combine.charger.preparing_shield_05"
	speak "vo.combine.charger.preparing_shield_06"
	

}


//========================================================================================================
// CHARGER SWITCHING WEAPONS
//====================================================================
response CS_Charger_SwitchingWeapons
{
	criteria		IsCombineS IsClass_Charger ConceptSwitchingWeapons 
	
	speak "vo.combine.charger.switching_weapons_01"
	speak "vo.combine.charger.switching_weapons_02"
	speak "vo.combine.charger.switching_weapons_03"
	speak "vo.combine.charger.switching_weapons_04"
	speak "vo.combine.charger.switching_weapons_05"
	speak "vo.combine.charger.switching_weapons_06"
	

}
	
//========================================================================================================
// CHARGER FLASH SUCCESS
//====================================================================
response CS_Charger_FlashSuccess
{
	criteria		IsCombineS IsClass_Charger ConceptFlashSuccess 
	
	speak "vo.combine.charger.flash_success_01"
	speak "vo.combine.charger.flash_success_02"
	speak "vo.combine.charger.flash_success_03"
	speak "vo.combine.charger.flash_success_04"
	speak "vo.combine.charger.flash_success_05"
	speak "vo.combine.charger.flash_success_06"
	

}


//========================================================================================================
// CHARGER FLASH FAILED
//====================================================================
response CS_Charger_FlashFailed
{
	criteria		IsCombineS IsClass_Charger ConceptFlashFailed 
	
	speak "vo.combine.charger.flash_failed_01"
	speak "vo.combine.charger.flash_failed_02"
	speak "vo.combine.charger.flash_failed_03"
	speak "vo.combine.charger.flash_failed_04"
	speak "vo.combine.charger.flash_failed_05" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.flash_failed_06"
	

}


//========================================================================================================
// ADVANCING ON TARGET
//====================================================================
response CS_Charger_AdvancingOnTarget
{
	criteria		IsCombineS IsClass_Charger ConceptAdvancingOnTarget 
	
	speak "vo.combine.charger.advancing_on_target_01"
	speak "vo.combine.charger.advancing_on_target_02"
	speak "vo.combine.charger.advancing_on_target_03"
	speak "vo.combine.charger.advancing_on_target_04"
	speak "vo.combine.charger.advancing_on_target_05"
	speak "vo.combine.charger.advancing_on_target_06"
	speak "vo.combine.charger.advancing_on_target_07"
	speak "vo.combine.charger.advancing_on_target_08"
	speak "vo.combine.charger.advancing_on_target_09"
	speak "vo.combine.charger.advancing_on_target_11"
	speak "vo.combine.charger.advancing_on_target_12"
	speak "vo.combine.charger.advancing_on_target_13"
	speak "vo.combine.charger.advancing_on_target_14"
	
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.advancing_on_target_15"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.advancing_on_target_16"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.advancing_on_target_17"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.advancing_on_target_18"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.advancing_on_target_19"
			speak "vo.combine.charger.orderresponse_positive_06" thensimple 0 speak "vo.combine.charger.advancing_on_target_20"
		}
}

	
//========================================================================================================
// ANNOUNCING CHARGE
//====================================================================
response CS_Charger_Charging
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge 
	
	speak "vo.combine.charger.charging_01"
	speak "vo.combine.charger.charging_02"
	speak "vo.combine.charger.charging_03"
	speak "vo.combine.charger.charging_04"
	speak "vo.combine.charger.charging_06"
	
}

//========================================================================================================
// ANNOUNCING ATTACKS - GRENADE THROW
//====================================================================
response CS_Charger_AnnounceAttack_Grenade
{
	criteria		IsCombineS IsClass_Charger ConceptThrowingGrenade
	
	speak "vo.combine.charger.announceattack_grenade_01" 
	speak "vo.combine.charger.announceattack_grenade_02" 
	speak "vo.combine.charger.announceattack_grenade_03" 
	speak "vo.combine.charger.announceattack_grenade_04" 
	speak "vo.combine.charger.announceattack_grenade_05" 
	speak "vo.combine.charger.announceattack_grenade_06" 
	speak "vo.combine.charger.announceattack_grenade_07"
	speak "vo.combine.charger.announceattack_grenade_08" 
	speak "vo.combine.charger.announceattack_grenade_09" 
	speak "vo.combine.charger.announceattack_grenade_10"

		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.announceattack_grenade_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.announceattack_grenade_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.announceattack_grenade_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.announceattack_grenade_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.announceattack_grenade_05"
			speak "vo.combine.charger.orderresponse_positive_06" thensimple 0 speak "vo.combine.charger.announceattack_grenade_09"
		}
}


//========================================================================================================
// ANNOUNCING ENEMY
//====================================================================
response CS_Charger_AnnounceEnemy
{	
	criteria		IsCombineS IsClass_Charger ConceptAnnounceEnemy
	
	speak "vo.combine.charger.announceattack_01"
	speak "vo.combine.charger.announceattack_02"
	speak "vo.combine.charger.announceattack_03"
	speak "vo.combine.charger.announceattack_04"
	speak "vo.combine.charger.announceattack_05"
	speak "vo.combine.charger.announceattack_09"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.announceattack_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.announceattack_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.announceattack_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.announceattack_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.announceattack_05"
			speak "vo.combine.charger.orderresponse_positive_06" thensimple 0 speak "vo.combine.charger.announceattack_09"
		}
	
	
	response
	{
		criteria		EnemyIsPlayer
		speak "vo.combine.charger.announceattack_01"
		speak "vo.combine.charger.announceattack_02"
		speak "vo.combine.charger.announceattack_03"
		speak "vo.combine.charger.announceattack_04"
		speak "vo.combine.charger.announceattack_05"
		speak "vo.combine.charger.announceattack_09"
		speak "vo.combine.charger.announceattack_11"
		
		response 
		{
			criteria		AlyxIsKnown
			speak "vo.combine.charger.announceattack_alyx_01"
			speak "vo.combine.charger.announceattack_alyx_02"
			speak "vo.combine.charger.announceattack_alyx_04"
			speak "vo.combine.charger.announceattack_alyx_06"
			speak "vo.combine.charger.announceattack_alyx_07"
			speak "vo.combine.charger.announceattack_alyx_08"
			speak "vo.combine.charger.announceattack_alyx_09"
			speak "vo.combine.charger.announceattack_alyx_10"
			speak "vo.combine.charger.announceattack_alyx_11"
		}
		
		
		
		response
		{
			criteria		IsOrderResponse AlyxIsKnown
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.announceattack_alyx_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.announceattack_alyx_02"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.announceattack_alyx_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.announceattack_alyx_05"
			speak "vo.combine.charger.orderresponse_positive_06" thensimple 0 speak "vo.combine.charger.announceattack_alyx_09"
		}
		
		response
		{
			criteria		PlayerHasUpgrades 
			speak "vo.combine.charger.sees_upgrades_01"
			speak "vo.combine.charger.sees_upgrades_02"
			speak "vo.combine.charger.sees_upgrades_03"
			speak "vo.combine.charger.sees_upgrades_04"
			speak "vo.combine.charger.sees_upgrades_05"
		}
		
		response
		{
			criteria		PlayerHasGrenades
			speak "vo.combine.charger.sees_grenades_01"
			speak "vo.combine.charger.sees_grenades_02"
			speak "vo.combine.charger.sees_grenades_03"
			speak "vo.combine.charger.sees_grenades_04"
		}
	}
	
	response
	{
		criteria		EnemyIsAntlion
		speak "vo.combine.charger.announceenemy_antlion_01" 
		speak "vo.combine.charger.announceenemy_antlion_02" 
		speak "vo.combine.charger.announceenemy_antlion_03" 
		speak "vo.combine.charger.announceenemy_antlion_04" 
		speak "vo.combine.charger.announceenemy_antlion_06" 
		speak "vo.combine.charger.announceenemy_antlion_07" 
		speak "vo.combine.charger.announceenemy_antlion_10" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	}
	
	response
	{
		criteria		EnemyIsZombie
		speak "vo.combine.charger.announceenemy_zombie_01" 
		speak "vo.combine.charger.announceenemy_zombie_02" 
		speak "vo.combine.charger.announceenemy_zombie_03" 
		speak "vo.combine.charger.announceenemy_zombie_04" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
		speak "vo.combine.charger.announceenemy_zombie_05" 
		speak "vo.combine.charger.announceenemy_zombie_06" 
		speak "vo.combine.charger.announceenemy_zombie_07" 
		speak "vo.combine.charger.announceenemy_zombie_08" 
		speak "vo.combine.charger.announceenemy_zombie_09" 
		speak "vo.combine.charger.announceenemy_zombie_10" 
	}
	
	response
	{
		criteria		EnemyIsHeadcrab
		speak "vo.combine.charger.announceenemy_headcrabs_01" 
		speak "vo.combine.charger.announceenemy_headcrabs_02" 
		speak "vo.combine.charger.announceenemy_headcrabs_03" 
		speak "vo.combine.charger.announceenemy_headcrabs_04" 
		speak "vo.combine.charger.announceenemy_headcrabs_05" 
		speak "vo.combine.charger.announceenemy_headcrabs_07" 
		speak "vo.combine.charger.announceenemy_headcrabs_08" 
		speak "vo.combine.charger.announceenemy_headcrabs_10" 
	}
	
	
}

//========================================================================================================
// ANNOUNCE KILL
//============================
response CS_Charger_AnnounceKill
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceKill
	
	
		speak "vo.combine.charger.announcekill_01" 
		speak "vo.combine.charger.announcekill_02" 
		speak "vo.combine.charger.announcekill_03" 
		speak "vo.combine.charger.announcekill_04" 
		speak "vo.combine.charger.announcekill_05" 
		speak "vo.combine.charger.announcekill_06" 
		speak "vo.combine.charger.announcekill_09" 
		speak "vo.combine.charger.announcekill_11" 
		speak "vo.combine.charger.announcekill_12" 
		speak "vo.combine.charger.announcekill_13" 
		speak "vo.combine.charger.announcekill_14" 
		speak "vo.combine.charger.announcekill_15" 
		
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.announcekill_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.announcekill_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.announcekill_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.announcekill_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.announcekill_05"
			speak "vo.combine.charger.orderresponse_positive_06" thensimple 0 speak "vo.combine.charger.announcekill_09"
		}
	
	response
	{
		criteria		EnemyIsPlayer
		speak "vo.combine.charger.announcekill_player_01" 
		speak "vo.combine.charger.announcekill_player_02" 
		speak "vo.combine.charger.announcekill_player_03" 
		speak "vo.combine.charger.announcekill_player_04" 
		speak "vo.combine.charger.announcekill_player_05" 
		speak "vo.combine.charger.announcekill_player_06" 
		speak "vo.combine.charger.announcekill_player_07" 
		speak "vo.combine.charger.announcekill_player_08" 
		speak "vo.combine.charger.announcekill_01" 
		speak "vo.combine.charger.announcekill_02" 
		speak "vo.combine.charger.announcekill_03" 
		speak "vo.combine.charger.announcekill_04" 
		speak "vo.combine.charger.announcekill_05" 
		speak "vo.combine.charger.announcekill_06" 
		speak "vo.combine.charger.announcekill_09" 
		speak "vo.combine.charger.announcekill_11" 
		speak "vo.combine.charger.announcekill_12" 
		speak "vo.combine.charger.announcekill_13" 
		speak "vo.combine.charger.announcekill_14" 
		speak "vo.combine.charger.announcekill_15" 
		
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.announcekill_player_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.announcekill_player_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.announcekill_player_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.announcekill_player_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.announcekill_player_05"
			speak "vo.combine.charger.orderresponse_positive_06" thensimple 0 speak "vo.combine.charger.announcekill_player_06"
		}
		
	}
	
	response
	{
		criteria		EnemyIsAntlion
		speak "vo.combine.charger.announcekill_antlion_01" 
		speak "vo.combine.charger.announcekill_antlion_02" 
		speak "vo.combine.charger.announcekill_antlion_03" 
		speak "vo.combine.charger.announcekill_antlion_04" 
		speak "vo.combine.charger.announcekill_antlion_05" 
		speak "vo.combine.charger.announcekill_01" 
		speak "vo.combine.charger.announcekill_02" 
		speak "vo.combine.charger.announcekill_03" 
		speak "vo.combine.charger.announcekill_04" 
	}
	
	response
	{
		criteria		EnemyIsZombie
		speak "vo.combine.charger.announcekill_zombie_01" 
		speak "vo.combine.charger.announcekill_zombie_02" 
		speak "vo.combine.charger.announcekill_zombie_03" 
		speak "vo.combine.charger.announcekill_zombie_04" 
		speak "vo.combine.charger.announcekill_zombie_05" 
		speak "vo.combine.charger.announcekill_zombie_06" 
		speak "vo.combine.charger.announcekill_zombie_07" 
		speak "vo.combine.charger.announcekill_05" 
		speak "vo.combine.charger.announcekill_06" 
		speak "vo.combine.charger.announcekill_09" 
		speak "vo.combine.charger.announcekill_11" 
		
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.announcekill_zombie_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.announcekill_zombie_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.announcekill_zombie_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.announcekill_zombie_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.announcekill_zombie_05"
			speak "vo.combine.charger.orderresponse_positive_06" thensimple 0 speak "vo.combine.charger.announcekill_zombie_06"
		}
	}
	
	response
	{
		criteria		EnemyIsHeadcrab
		speak "vo.combine.charger.announcekill_headcrab_01" 
		speak "vo.combine.charger.announcekill_headcrab_02" 
		speak "vo.combine.charger.announcekill_headcrab_03" 
		speak "vo.combine.charger.announcekill_headcrab_04" 
		speak "vo.combine.charger.announcekill_headcrab_05" 
		speak "vo.combine.charger.announcekill_headcrab_06" 
		speak "vo.combine.charger.announcekill_headcrab_07" 
		speak "vo.combine.charger.announcekill_headcrab_08" 
		speak "vo.combine.charger.announcekill_headcrab_09" 
		speak "vo.combine.charger.announcekill_12" 
		speak "vo.combine.charger.announcekill_13" 
		speak "vo.combine.charger.announcekill_14" 
		speak "vo.combine.charger.announcekill_15" 
		
	}
}


//========================================================================================================
// REQUESTING COVER
//====================================================================
response CS_Charger_CoverMe
{
	criteria		IsCombineS IsClass_Charger ConceptCoverMe HasOtherSquadMembers
	
	speak "vo.combine.charger.coverme_01" predelay 1 respeakdelay 15
	speak "vo.combine.charger.coverme_02" predelay 1 respeakdelay 15
	speak "vo.combine.charger.coverme_03" predelay 1 respeakdelay 15
	speak "vo.combine.charger.coverme_04" predelay 1 respeakdelay 15
	speak "vo.combine.charger.coverme_05" predelay 1 respeakdelay 15
	speak "vo.combine.charger.coverme_07" predelay 1 respeakdelay 15
}


//========================================================================================================
// ANNOUNCING DANGER - GRENADE
//====================================================================
response CS_Charger_AnnounceDanger_Grenade
{
	criteria		IsCombineS IsClass_Charger ConceptDanger DangerIsGrenade
	
	speak "vo.combine.charger.danger_grenade_01"
	speak "vo.combine.charger.danger_grenade_02"
	speak "vo.combine.charger.danger_grenade_03"
	speak "vo.combine.charger.danger_grenade_04"
	speak "vo.combine.charger.danger_grenade_05"
	speak "vo.combine.charger.danger_grenade_06"
	speak "vo.combine.charger.danger_grenade_07"
	speak "vo.combine.charger.danger_grenade_08"
	speak "vo.combine.charger.danger_grenade_09"
	speak "vo.combine.charger.danger_grenade_10"
}


//========================================================================================================
// DEATH
//==================================

response CS_Charger_Die
{
	criteria		IsCombineS IsClass_Charger ConceptDie
	
	speak "vo.combine.charger.die_01" noscene
	speak "vo.combine.charger.die_02" noscene
	speak "vo.combine.charger.die_03" noscene
	speak "vo.combine.charger.die_04" noscene
	speak "vo.combine.charger.die_05" noscene
	speak "vo.combine.charger.die_06" noscene
	speak "vo.combine.charger.die_07" noscene
	speak "vo.combine.charger.die_08" noscene
	speak "vo.combine.charger.die_09" noscene
	speak "vo.combine.charger.die_10" noscene
	
	response
	{
		criteria		EnemyIsPlayer
		
		speak "vo.combine.charger.die_01" noscene
		speak "vo.combine.charger.die_02" noscene
		speak "vo.combine.charger.die_03" noscene
		speak "vo.combine.charger.die_04" noscene
		speak "vo.combine.charger.die_05" noscene
		speak "vo.combine.charger.die_06" noscene
		speak "vo.combine.charger.die_07" noscene
		speak "vo.combine.charger.die_08" noscene
		speak "vo.combine.charger.die_09" noscene
		speak "vo.combine.charger.die_10" noscene
		
		response 
		{
			criteria AlyxIsKnown
			
			speak "vo.combine.charger.die_by_player_18" noscene
			speak "vo.combine.charger.die_by_player_19" noscene
			speak "vo.combine.charger.die_by_player_22" noscene
			speak "vo.combine.charger.die_by_player_23" noscene
			speak "vo.combine.charger.die_01" noscene
			speak "vo.combine.charger.die_02" noscene
			speak "vo.combine.charger.die_03" noscene
			speak "vo.combine.charger.die_04" noscene
			speak "vo.combine.charger.die_05" noscene
			speak "vo.combine.charger.die_06" noscene
			speak "vo.combine.charger.die_07" noscene
			speak "vo.combine.charger.die_08" noscene
			speak "vo.combine.charger.die_09" noscene
			speak "vo.combine.charger.die_10" noscene
		}

	}
}

//========================================================================================================
// ESTABLISHING LINE OF FIRE
//====================================================================
response CS_Charger_EstablishingLOF
{
	criteria		IsCombineS IsClass_Charger ConceptEstablishingLOF
	
	speak "vo.combine.charger.establishinglof_01" respeakdelay 5
	speak "vo.combine.charger.establishinglof_02" respeakdelay 5
	speak "vo.combine.charger.establishinglof_03" respeakdelay 5
	speak "vo.combine.charger.establishinglof_04" respeakdelay 5
	speak "vo.combine.charger.establishinglof_05" respeakdelay 5
	speak "vo.combine.charger.establishinglof_06" respeakdelay 5
	speak "vo.combine.charger.establishinglof_07" respeakdelay 5
	speak "vo.combine.charger.establishinglof_08" respeakdelay 5
	speak "vo.combine.charger.establishinglof_09" respeakdelay 5
	speak "vo.combine.charger.establishinglof_10" respeakdelay 5
	speak "vo.combine.charger.establishinglof_11" respeakdelay 5
	speak "vo.combine.charger.establishinglof_12" respeakdelay 5
	speak "vo.combine.charger.establishinglof_13" respeakdelay 5
	speak "vo.combine.charger.establishinglof_14" respeakdelay 5
	speak "vo.combine.charger.establishinglof_15" respeakdelay 5
	speak "vo.combine.charger.establishinglof_16" respeakdelay 5
	speak "vo.combine.charger.establishinglof_17" respeakdelay 5
	speak "vo.combine.charger.establishinglof_18" respeakdelay 5
	speak "vo.combine.charger.establishinglof_19" respeakdelay 5
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.establishinglof_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.establishinglof_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.establishinglof_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.establishinglof_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.establishinglof_05"
			speak "vo.combine.charger.orderresponse_positive_06" thensimple 0 speak "vo.combine.charger.establishinglof_06"
		}
}



//========================================================================================================
// FLUSHING ENEMY OUT OF COVER
//====================================================================
response CS_Charger_FlushingEnemy
{
	criteria		IsCombineS IsClass_Charger ConceptFlushingEnemy 
	
	speak "vo.combine.charger.flushing_01"
	speak "vo.combine.charger.flushing_02"
	speak "vo.combine.charger.flushing_03" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.flushing_04"
	speak "vo.combine.charger.flushing_05"
	speak "vo.combine.charger.flushing_06"
	speak "vo.combine.charger.flushing_07"
}


//========================================================================================================
// GET BACK
//====================================================================
response CS_Charger_GetBack
{
	criteria		IsCombineS IsClass_Charger ConceptGetBack 
	
	speak "vo.combine.charger.getback_01" 
	speak "vo.combine.charger.getback_02" 
	speak "vo.combine.charger.getback_03"
	speak "vo.combine.charger.getback_04" 
	speak "vo.combine.charger.getback_05" 	
}


//========================================================================================================
// INJURED
//====================================================================
response CS_Charger_Injured
{
	criteria		IsCombineS IsClass_Charger ConceptInjured 
	
	speak "vo.combine.charger.injured_01" predelay 2 odds 100 respeakdelay 45
	speak "vo.combine.charger.injured_02" predelay 2 odds 100 respeakdelay 45
	speak "vo.combine.charger.injured_03" predelay 2 odds 100 respeakdelay 45
	speak "vo.combine.charger.injured_04" predelay 2 odds 100 respeakdelay 45  thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.injured_05" predelay 2 odds 100 respeakdelay 45
	speak "vo.combine.charger.injured_06" predelay 2 odds 100 respeakdelay 45
	speak "vo.combine.charger.injured_07" predelay 2 odds 100 respeakdelay 45
	
}


//========================================================================================================
// LIMPING
//====================================================================
response CS_Charger_Limping
{
	criteria		IsCombineS IsClass_Charger ConceptLimping 
	
	speak "vo.combine.charger.panting_01"
}

//========================================================================================================
// LOST ENEMY 16+ sec
//====================================================================
response CS_Charger_LostShort
{
	criteria		IsCombineS IsClass_Charger ConceptLostEnemy LostEnemyShortTime
	
	speak "vo.combine.charger.lostenemy_01"
	speak "vo.combine.charger.lostenemy_03"
	speak "vo.combine.charger.lostenemy_04"
	speak "vo.combine.charger.lostenemy_05"
	speak "vo.combine.charger.lostenemy_06"
	speak "vo.combine.charger.lostenemy_07"
	speak "vo.combine.charger.lostenemy_08"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.lostenemy_01"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.lostenemy_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.lostenemy_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.lostenemy_05"
		}
}


//========================================================================================================
// LOST VISUAL 3+ sec
//====================================================================
response CS_Charger_LostVisual
{
	criteria		IsCombineS IsClass_Charger ConceptLostVisual 
	
	speak "vo.combine.charger.lostvisual_01" respeakdelay 5
	speak "vo.combine.charger.lostvisual_02" respeakdelay 5
	speak "vo.combine.charger.lostvisual_03" respeakdelay 5
	speak "vo.combine.charger.lostvisual_04" respeakdelay 5
	speak "vo.combine.charger.lostvisual_05" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.lostvisual_06" respeakdelay 5
	speak "vo.combine.charger.lostvisual_07" respeakdelay 5
	speak "vo.combine.charger.lostvisual_08" respeakdelay 5
	speak "vo.combine.charger.lostvisual_09" respeakdelay 5
	speak "vo.combine.charger.lostvisual_10" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_search_01"
	speak "vo.combine.charger.reconnoiter_search_02"
	speak "vo.combine.charger.reconnoiter_search_03"
	speak "vo.combine.charger.reconnoiter_search_04"
	speak "vo.combine.charger.reconnoiter_search_05"
	speak "vo.combine.charger.reconnoiter_search_06"
	speak "vo.combine.charger.reconnoiter_search_07"
	speak "vo.combine.charger.reconnoiter_search_09"
	speak "vo.combine.charger.reconnoiter_search_10"
	speak "vo.combine.charger.reconnoiter_search_11"
	speak "vo.combine.charger.reconnoiter_search_12"
	speak "vo.combine.charger.reconnoiter_search_13"
	speak "vo.combine.charger.reconnoiter_search_14"
	speak "vo.combine.charger.reconnoiter_search_15"
	speak "vo.combine.charger.reconnoiter_search_16"
	speak "vo.combine.charger.reconnoiter_search_17"
	speak "vo.combine.charger.reconnoiter_search_18"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.lostvisual_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.lostvisual_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.lostvisual_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.lostvisual_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.lostvisual_05"
		}
	
	response
	{
		criteria		EnemyIsPlayer
		
		speak "vo.combine.charger.lostvisual_01" respeakdelay 5
		speak "vo.combine.charger.lostvisual_02" respeakdelay 5
		speak "vo.combine.charger.lostvisual_03" respeakdelay 5
		speak "vo.combine.charger.lostvisual_04" respeakdelay 5
		speak "vo.combine.charger.lostvisual_05" respeakdelay 5 thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
		speak "vo.combine.charger.lostvisual_06" respeakdelay 5
		speak "vo.combine.charger.lostvisual_07" respeakdelay 5
		speak "vo.combine.charger.lostvisual_08" respeakdelay 5
		speak "vo.combine.charger.lostvisual_09" respeakdelay 5
		speak "vo.combine.charger.lostvisual_10" respeakdelay 5
		
		response 
		{
			criteria AlyxIsKnown
			speak "vo.combine.charger.lostvisual_player_01" respeakdelay 5
			speak "vo.combine.charger.lostvisual_player_02" respeakdelay 5
			speak "vo.combine.charger.lostvisual_player_03" respeakdelay 5
			speak "vo.combine.charger.lostvisual_player_04" respeakdelay 5
			speak "vo.combine.charger.lostvisual_player_05" respeakdelay 5
			speak "vo.combine.charger.lostvisual_player_06" respeakdelay 5
			speak "vo.combine.charger.lostvisual_player_07" respeakdelay 5
			speak "vo.combine.charger.lostvisual_player_08" respeakdelay 5
		}
		
		response
		{
			criteria		IsOrderResponse AlyxIsKnown
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.lostvisual_player_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.lostvisual_player_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.lostvisual_player_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.lostvisual_player_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.lostvisual_player_05"
		}
	}
	
}


//========================================================================================================
// PANIC ON ENEMY NEAR
//====================================================================
response CS_Charger_NearPanic
{
	criteria		IsCombineS IsClass_Charger ConceptNearPanic
	
	speak "vo.combine.charger.nearpanic_02"
	speak "vo.combine.charger.nearpanic_03"
	speak "vo.combine.charger.nearpanic_04"
	speak "vo.combine.charger.nearpanic_05"
	speak "vo.combine.charger.nearpanic_07"
}


//========================================================================================================
// ENTERING OVERWATCH
//====================================================================

response CS_Charger_Overwatch
{
	criteria		IsCombineS IsClass_Charger ConceptOverwatch 
	
	speak "vo.combine.charger.overwatch_01" respeakdelay 5
	speak "vo.combine.charger.overwatch_02" respeakdelay 5
	speak "vo.combine.charger.overwatch_03" respeakdelay 5
	speak "vo.combine.charger.overwatch_04" respeakdelay 5
	speak "vo.combine.charger.overwatch_05" respeakdelay 5
	speak "vo.combine.charger.overwatch_06" respeakdelay 5
	speak "vo.combine.charger.overwatch_07" respeakdelay 5
	speak "vo.combine.charger.overwatch_08" respeakdelay 5
	speak "vo.combine.charger.overwatch_09" respeakdelay 5
	speak "vo.combine.charger.overwatch_10" respeakdelay 5
	speak "vo.combine.charger.overwatch_11" respeakdelay 5
	speak "vo.combine.charger.overwatch_12" respeakdelay 5
	speak "vo.combine.charger.overwatch_13" respeakdelay 5
	speak "vo.combine.charger.overwatch_14" respeakdelay 5
	speak "vo.combine.charger.overwatch_15" respeakdelay 5
	speak "vo.combine.charger.overwatch_16" respeakdelay 5
	speak "vo.combine.charger.overwatch_17" respeakdelay 5
	speak "vo.combine.charger.overwatch_18" respeakdelay 5
	speak "vo.combine.charger.overwatch_19" respeakdelay 5
	speak "vo.combine.charger.overwatch_20" respeakdelay 5
	speak "vo.combine.charger.lostenemy_01" respeakdelay 5
	speak "vo.combine.charger.lostenemy_03" respeakdelay 5
	speak "vo.combine.charger.lostenemy_04" respeakdelay 5
	speak "vo.combine.charger.lostenemy_05" respeakdelay 5
	speak "vo.combine.charger.lostenemy_06" respeakdelay 5
	speak "vo.combine.charger.lostenemy_07" respeakdelay 5
	speak "vo.combine.charger.lostenemy_08" respeakdelay 5
	speak "vo.combine.charger.lostvisual_01" respeakdelay 5
	speak "vo.combine.charger.lostvisual_02" respeakdelay 5
	speak "vo.combine.charger.lostvisual_03" respeakdelay 5
	speak "vo.combine.charger.lostvisual_04" respeakdelay 5
	speak "vo.combine.charger.lostvisual_05" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.lostvisual_06" respeakdelay 5
	speak "vo.combine.charger.lostvisual_07" respeakdelay 5
	speak "vo.combine.charger.lostvisual_08" respeakdelay 5
	speak "vo.combine.charger.lostvisual_09" respeakdelay 5
	speak "vo.combine.charger.lostvisual_10" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_01" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_03" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_04" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_05" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_06" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_08" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_09" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_10" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_11" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_12" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_13" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_14" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_15" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_16" respeakdelay 5
	speak "vo.combine.charger.reconnoiter_start_17" respeakdelay 5
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.overwatch_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.overwatch_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.overwatch_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.overwatch_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.overwatch_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.overwatch_06"
		}
}


//========================================================================================================
// PAIN 
//============================

response CS_Charger_Pain
{
	criteria		IsCombineS IsClass_Charger ConceptPain
	
	speak "vo.combine.charger.pain_01" 
	speak "vo.combine.charger.pain_02" 
	speak "vo.combine.charger.pain_03" 
	speak "vo.combine.charger.pain_04" 
	speak "vo.combine.charger.pain_05" 
	speak "vo.combine.charger.pain_06" 
	speak "vo.combine.charger.pain_07" 
	speak "vo.combine.charger.pain_08" 
	speak "vo.combine.charger.pain_09" 
	speak "vo.combine.charger.pain_10" 
	speak "vo.combine.charger.underattack_01"
	speak "vo.combine.charger.underattack_02"
	speak "vo.combine.charger.underattack_03"
	speak "vo.combine.charger.underattack_04"
	speak "vo.combine.charger.underattack_05"
	speak "vo.combine.charger.underattack_06"
	speak "vo.combine.charger.underattack_07"
	speak "vo.combine.charger.underattack_08"
	speak "vo.combine.charger.underattack_09"
	speak "vo.combine.charger.underattack_10"
	speak "vo.combine.charger.underattack_11"
	speak "vo.combine.charger.underattack_12"
}



//========================================================================================================
// PLAYER IS WOUNDED
//====================================================================
response CS_Charger_PlayerIsHurt
{
	criteria		IsCombineS IsClass_Charger ConceptPlayerIsHurt 
	
	speak "vo.combine.charger.playerishurt_01"
	speak "vo.combine.charger.playerishurt_02"
	speak "vo.combine.charger.playerishurt_03"
	speak "vo.combine.charger.playerishurt_04"
	speak "vo.combine.charger.playerishurt_05"
	speak "vo.combine.charger.playerishurt_06"
	speak "vo.combine.charger.playerishurt_07"
	speak "vo.combine.charger.playerishurt_08"
	speak "vo.combine.charger.playerishurt_09"
	speak "vo.combine.charger.playerishurt_10"
	speak "vo.combine.charger.playerishurt_11"
	speak "vo.combine.charger.playerishurt_13"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.playerishurt_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.playerishurt_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.playerishurt_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.playerishurt_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.playerishurt_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.playerishurt_06"
		}
}


//========================================================================================================
// RECONNOITER END
//====================================================================
response CS_Charger_ReconnoiterFinish
{
	criteria		IsCombineS IsClass_Charger ConceptReconnoiterFinish 
	
	speak "vo.combine.charger.reconnoiter_finish_01"
	speak "vo.combine.charger.reconnoiter_finish_02"
	speak "vo.combine.charger.reconnoiter_finish_03"
	speak "vo.combine.charger.reconnoiter_finish_04"
	speak "vo.combine.charger.reconnoiter_finish_05"
	speak "vo.combine.charger.reconnoiter_finish_06"
	speak "vo.combine.charger.reconnoiter_finish_07"
	speak "vo.combine.charger.reconnoiter_finish_08"
	speak "vo.combine.charger.reconnoiter_finish_09"
	speak "vo.combine.charger.reconnoiter_finish_10"
	speak "vo.combine.charger.reconnoiter_finish_11"
	speak "vo.combine.charger.reconnoiter_finish_12"
	speak "vo.combine.charger.reconnoiter_finish_13"
	speak "vo.combine.charger.reconnoiter_finish_14"
	speak "vo.combine.charger.reconnoiter_finish_15"
	speak "vo.combine.charger.reconnoiter_finish_16"
	speak "vo.combine.charger.reconnoiter_finish_18"
	speak "vo.combine.charger.reconnoiter_finish_19"
	speak "vo.combine.charger.reconnoiter_finish_20"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.reconnoiter_finish_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.reconnoiter_finish_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.reconnoiter_finish_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.reconnoiter_finish_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.reconnoiter_finish_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.reconnoiter_finish_06"
		}
}


//========================================================================================================
// RECONNOITER SEARCH
//====================================================================
response CS_Charger_ReconnoiterSearch
{
	criteria		IsCombineS IsClass_Charger ConceptReconnoiterSearch 
	
	speak "vo.combine.charger.reconnoiter_search_01"
	speak "vo.combine.charger.reconnoiter_search_02"
	speak "vo.combine.charger.reconnoiter_search_03"
	speak "vo.combine.charger.reconnoiter_search_04"
	speak "vo.combine.charger.reconnoiter_search_05"
	speak "vo.combine.charger.reconnoiter_search_06"
	speak "vo.combine.charger.reconnoiter_search_07"
	speak "vo.combine.charger.reconnoiter_search_09"
	speak "vo.combine.charger.reconnoiter_search_10"
	speak "vo.combine.charger.reconnoiter_search_11"
	speak "vo.combine.charger.reconnoiter_search_12"
	speak "vo.combine.charger.reconnoiter_search_13"
	speak "vo.combine.charger.reconnoiter_search_14"
	speak "vo.combine.charger.reconnoiter_search_15"
	speak "vo.combine.charger.reconnoiter_search_16"
	speak "vo.combine.charger.reconnoiter_search_17"
	speak "vo.combine.charger.reconnoiter_search_18"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.reconnoiter_search_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.reconnoiter_search_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.reconnoiter_search_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.reconnoiter_search_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.reconnoiter_search_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.reconnoiter_search_06"
		}
}


//========================================================================================================
// RECONNOITER START
//====================================================================
response CS_Charger_Reconnoiter
{
	criteria		IsCombineS IsClass_Charger ConceptReconnoiterStart 
	
	speak "vo.combine.charger.reconnoiter_start_01"
	speak "vo.combine.charger.reconnoiter_start_03"
	speak "vo.combine.charger.reconnoiter_start_04"
	speak "vo.combine.charger.reconnoiter_start_05"
	speak "vo.combine.charger.reconnoiter_start_06"
	speak "vo.combine.charger.reconnoiter_start_08"
	speak "vo.combine.charger.reconnoiter_start_09"
	speak "vo.combine.charger.reconnoiter_start_10"
	speak "vo.combine.charger.reconnoiter_start_11"
	speak "vo.combine.charger.reconnoiter_start_12"
	speak "vo.combine.charger.reconnoiter_start_13"
	speak "vo.combine.charger.reconnoiter_start_14"
	speak "vo.combine.charger.reconnoiter_start_15"
	speak "vo.combine.charger.reconnoiter_start_16"
	speak "vo.combine.charger.reconnoiter_start_17"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.reconnoiter_start_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.reconnoiter_start_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.reconnoiter_start_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.reconnoiter_start_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.reconnoiter_start_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.reconnoiter_start_06"
		}
}


//========================================================================================================
// FIND ENEMY
//====================================================================
response CS_Charger_FindEnemy
{
	criteria		IsCombineS IsClass_Charger ConceptFindEnemy 
	
	speak "vo.combine.charger.refindenemy_01" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.refindenemy_02"
	speak "vo.combine.charger.refindenemy_03" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.refindenemy_04"
	speak "vo.combine.charger.refindenemy_05"
	speak "vo.combine.charger.refindenemy_06"
	speak "vo.combine.charger.refindenemy_07"
	speak "vo.combine.charger.refindenemy_09"
	speak "vo.combine.charger.refindenemy_10" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.refindenemy_11" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.refindenemy_12"
	speak "vo.combine.charger.refindenemy_13"
	speak "vo.combine.charger.refindenemy_14"
	speak "vo.combine.charger.refindenemy_15"
	speak "vo.combine.charger.refindenemy_16"
	speak "vo.combine.charger.refindenemy_17"
	speak "vo.combine.charger.refindenemy_18"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.refindenemy_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.refindenemy_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.refindenemy_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.refindenemy_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.refindenemy_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.refindenemy_06"
		}
}

//========================================================================================================
// RELOADING
//====================================================================
response CS_Charger_Reload
{
	criteria		IsCombineS IsClass_Charger ConceptReload 
	
	speak "vo.combine.charger.reload_01" 
	speak "vo.combine.charger.reload_02"  
	speak "vo.combine.charger.reload_05" 
	speak "vo.combine.charger.reload_06" 
	speak "vo.combine.charger.reload_07" 
	speak "vo.combine.charger.reload_08" 
	speak "vo.combine.charger.reload_09" 
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.reload_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.reload_02"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.reload_07"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.reload_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.reload_06"
		}
}


//====================================================================
//		SQUAD MEMBER LOST
//====================================================================
response CS_Charger_SquadMemberLost
{
	criteria		IsCombineS IsClass_Charger ConceptSquadMemberLost 
	
	response
	{
		criteria		LostSquadcharger
		speak "vo.combine.charger.squadmemberlost_01" predelay 1
		speak "vo.combine.charger.squadmemberlost_02" predelay 1
		speak "vo.combine.charger.squadmemberlost_03" predelay 1
		speak "vo.combine.charger.squadmemberlost_05" predelay 1
		speak "vo.combine.charger.squadmemberlost_06" predelay 1
		speak "vo.combine.charger.squadmemberlost_07" predelay 1
		speak "vo.combine.charger.squadmemberlost_09" predelay 1
		speak "vo.combine.charger.squadmemberlost_10" predelay 1
		speak "vo.combine.charger.calloutentity_echoone_01" predelay 1 thensimple 1 speak "vo.combine.charger.squadmemberlost_11"
	}
	
	response
	{
		criteria		LostSquadCharger
		speak "vo.combine.charger.squadmemberlost_01" predelay 1
		speak "vo.combine.charger.squadmemberlost_02" predelay 1
		speak "vo.combine.charger.squadmemberlost_03" predelay 1
		speak "vo.combine.charger.squadmemberlost_05" predelay 1
		speak "vo.combine.charger.squadmemberlost_06" predelay 1
		speak "vo.combine.charger.squadmemberlost_07" predelay 1
		speak "vo.combine.charger.squadmemberlost_09" predelay 1
		speak "vo.combine.charger.squadmemberlost_10" predelay 1
		speak "vo.combine.charger.calloutentity_wallhammer_01" predelay 1 thensimple 1 speak "vo.combine.charger.squadmemberlost_11"
	}
	
	response
	{
		criteria		LostSquadSuppressor
		speak "vo.combine.charger.squadmemberlost_01" predelay 1
		speak "vo.combine.charger.squadmemberlost_02" predelay 1
		speak "vo.combine.charger.squadmemberlost_03" predelay 1
		speak "vo.combine.charger.squadmemberlost_05" predelay 1
		speak "vo.combine.charger.squadmemberlost_06" predelay 1
		speak "vo.combine.charger.squadmemberlost_07" predelay 1
		speak "vo.combine.charger.squadmemberlost_09" predelay 1
		speak "vo.combine.charger.squadmemberlost_10" predelay 1
		speak "vo.combine.charger.calloutentity_apf_01" predelay 1 thensimple 1 speak "vo.combine.charger.squadmemberlost_11"
	}
	
	response
	{
		criteria		LostSquadLeader
		speak "vo.combine.charger.squadmemberlost_leader_01" predelay 1
		speak "vo.combine.charger.squadmemberlost_leader_02" predelay 1
		speak "vo.combine.charger.squadmemberlost_leader_03" predelay 1
		speak "vo.combine.charger.squadmemberlost_leader_04" predelay 1
		speak "vo.combine.charger.squadmemberlost_leader_05" predelay 1
		speak "vo.combine.charger.squadmemberlost_leader_06" predelay 1
		speak "vo.combine.charger.squadmemberlost_leader_07" predelay 1
	}
	
}



//====================================================================
//		LAST MAN STANDING
//====================================================================
response CS_Charger_SquadMemberLost_LastManStanding
{
	criteria		IsCombineS IsClass_Charger ConceptSquadMemberLost IsLastSquadMemberLeft
	
	speak "vo.combine.charger.squadmemberlost_lastman_01" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_02" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_03" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_04" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_05" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_06" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_07" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_08" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_09" predelay 1
}


//========================================================================================================
// SUPPRESSING
//====================================================================
response CS_Charger_Suppressing
{
	criteria		IsCombineS IsClass_Charger ConceptSuppressing 
	
	speak "vo.combine.charger.firing_01"
	speak "vo.combine.charger.firing_02"
	speak "vo.combine.charger.firing_03"
	speak "vo.combine.charger.firing_04"
	speak "vo.combine.charger.firing_05"
	speak "vo.combine.charger.firing_06"
	speak "vo.combine.charger.firing_07"
	speak "vo.combine.charger.firing_08"
	speak "vo.combine.charger.firing_09"
	speak "vo.combine.charger.firing_10"
	speak "vo.combine.charger.announceattack_cover_01"
	speak "vo.combine.charger.announceattack_cover_02" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.announceattack_cover_03"
	speak "vo.combine.charger.announceattack_cover_04"
	speak "vo.combine.charger.announceattack_cover_05"
	speak "vo.combine.charger.announceattack_cover_06"
	speak "vo.combine.charger.announceattack_cover_07"
	speak "vo.combine.charger.announceattack_cover_08"
	speak "vo.combine.charger.announceattack_cover_09"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.firing_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.firing_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.firing_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.firing_07"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.firing_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.firing_06"
		}
}


//========================================================================================================
// I'M TAKING FIRE
//====================================================================
response CS_Charger_TakingFire
{
	criteria		IsCombineS IsClass_Charger ConceptTakingFire 
	
	speak "vo.combine.charger.takingfire_01" respeakdelay 15
	speak "vo.combine.charger.takingfire_02" respeakdelay 15
	speak "vo.combine.charger.takingfire_03" respeakdelay 15
	speak "vo.combine.charger.takingfire_04" respeakdelay 15
	speak "vo.combine.charger.takingfire_05" respeakdelay 15
	speak "vo.combine.charger.takingfire_06" respeakdelay 15
	speak "vo.combine.charger.takingfire_07" respeakdelay 15
	speak "vo.combine.charger.takingfire_08" respeakdelay 15
	speak "vo.combine.charger.takingfire_09" respeakdelay 15
	speak "vo.combine.charger.takingfire_10" respeakdelay 15
	speak "vo.combine.charger.takingfire_11" respeakdelay 15
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.takingfire_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.takingfire_02"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.takingfire_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.takingfire_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.takingfire_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.takingfire_06"
		}
}


//========================================================================================================
// SQUAD IS UNDER ATTACK
//====================================================================
response CS_Charger_UnderAttack
{
	criteria		IsCombineS IsClass_Charger ConceptUnderAttack 
	
	speak "vo.combine.charger.underattack_01"
	speak "vo.combine.charger.underattack_02"
	speak "vo.combine.charger.underattack_03"
	speak "vo.combine.charger.underattack_04"
	speak "vo.combine.charger.underattack_05"
	speak "vo.combine.charger.underattack_06"
	speak "vo.combine.charger.underattack_07"
	speak "vo.combine.charger.underattack_08"
	speak "vo.combine.charger.underattack_09"
	speak "vo.combine.charger.underattack_10"
	speak "vo.combine.charger.underattack_11"
	speak "vo.combine.charger.underattack_12"
}

	
//========================================================================================================
// ORDER RESPONSES
//====================================================================
response CS_Charger_UnableToComply
{
	criteria		IsCombineS IsClass_Charger IsOrderResponse 
	
	response
	{
		criteria		ResponseIsNegative
		speak "vo.combine.charger.unabletocommence_01"
		speak "vo.combine.charger.unabletocommence_02"
		speak "vo.combine.charger.unabletocommence_03"
		speak "vo.combine.charger.unabletocommence_04"
		speak "vo.combine.charger.unabletocommence_05"
		speak "vo.combine.charger.unabletocommence_06"
		speak "vo.combine.charger.unabletocommence_07"
	}
	
	response
	{
		criteria		ResponseIsPositive
		speak "vo.combine.charger.orderresponse_positive_01"
		speak "vo.combine.charger.orderresponse_positive_02"
		speak "vo.combine.charger.orderresponse_positive_03"
		speak "vo.combine.charger.orderresponse_positive_04"
		speak "vo.combine.charger.orderresponse_positive_05"
		speak "vo.combine.charger.orderresponse_positive_06"
	}
}


//========================================================================================================
// TAUNT
//====================================================================
response CS_Charger_Taunt
{
	criteria		IsCombineS IsClass_Charger ConceptTaunt 
	
	speak "vo.combine.charger.taunt_010"
	speak "vo.combine.charger.taunt_011"
	speak "vo.combine.charger.taunt_012"
	speak "vo.combine.charger.taunt_020"
	speak "vo.combine.charger.taunt_021"
	speak "vo.combine.charger.taunt_022"
	speak "vo.combine.charger.taunt_030"
	speak "vo.combine.charger.taunt_031"
	speak "vo.combine.charger.taunt_032"
	speak "vo.combine.charger.taunt_040"
	speak "vo.combine.charger.taunt_041"
	speak "vo.combine.charger.taunt_042"
	speak "vo.combine.charger.taunt_050"
	speak "vo.combine.charger.taunt_051"
	speak "vo.combine.charger.taunt_052"
	speak "vo.combine.charger.taunt_060"
	speak "vo.combine.charger.taunt_061"
	speak "vo.combine.charger.taunt_062"
	speak "vo.combine.charger.taunt_070"
	speak "vo.combine.charger.taunt_071"
	speak "vo.combine.charger.taunt_072"
	speak "vo.combine.charger.taunt_080"
	speak "vo.combine.charger.taunt_081"
	speak "vo.combine.charger.taunt_082"
	speak "vo.combine.charger.taunt_090"
	speak "vo.combine.charger.taunt_091"
	speak "vo.combine.charger.taunt_092"
	speak "vo.combine.charger.taunt_100"
	speak "vo.combine.charger.taunt_101"
	speak "vo.combine.charger.taunt_102"
	speak "vo.combine.charger.taunt_110"
	speak "vo.combine.charger.taunt_111"
	speak "vo.combine.charger.taunt_112"
	speak "vo.combine.charger.taunt_120"
	speak "vo.combine.charger.taunt_121"
	speak "vo.combine.charger.taunt_122"
	speak "vo.combine.charger.taunt_130"
	speak "vo.combine.charger.taunt_131"
	speak "vo.combine.charger.taunt_132"
	speak "vo.combine.charger.taunt_140"
	speak "vo.combine.charger.taunt_141"
	speak "vo.combine.charger.taunt_142"
	speak "vo.combine.charger.taunt_150"
	speak "vo.combine.charger.taunt_151"
	speak "vo.combine.charger.taunt_152"
	speak "vo.combine.charger.taunt_160"
	speak "vo.combine.charger.taunt_161"
	speak "vo.combine.charger.taunt_162"
	speak "vo.combine.charger.taunt_170"
	speak "vo.combine.charger.taunt_171"
	speak "vo.combine.charger.taunt_172"
	speak "vo.combine.charger.taunt_180"
	speak "vo.combine.charger.taunt_181"
	speak "vo.combine.charger.taunt_182"
	speak "vo.combine.charger.taunt_190"
	speak "vo.combine.charger.taunt_191"
	speak "vo.combine.charger.taunt_192"
	speak "vo.combine.charger.taunt_200"
	speak "vo.combine.charger.taunt_201"
	speak "vo.combine.charger.taunt_202"
	
}


//========================================================================================================
// HEAR SUSPICIOUS
//====================================================================
response CS_Charger_HearSuspicous
{
	criteria		IsCombineS IsClass_Charger ConceptHearSuspicious
	
	speak "vo.combine.charger.hear_suspicious_01" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.hear_suspicious_02"
	speak "vo.combine.charger.hear_suspicious_03"
	speak "vo.combine.charger.hear_suspicious_04"
	speak "vo.combine.charger.hear_suspicious_05"
	speak "vo.combine.charger.hear_suspicious_06"
}


//========================================================================================================
// ATTACKING COVER
//====================================================================
response CS_Charger_AttackingCover
{
	criteria		IsCombineS IsClass_Charger ConceptAttackingCover
	
	speak "vo.combine.charger.announceattack_cover_01"
	speak "vo.combine.charger.announceattack_cover_02" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.announceattack_cover_03"
	speak "vo.combine.charger.announceattack_cover_04"
	speak "vo.combine.charger.announceattack_cover_05"
	speak "vo.combine.charger.announceattack_cover_06"
	speak "vo.combine.charger.announceattack_cover_07"
	speak "vo.combine.charger.announceattack_cover_08"
	speak "vo.combine.charger.announceattack_cover_09"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.announceattack_cover_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.announceattack_cover_02" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.announceattack_cover_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.announceattack_cover_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.announceattack_cover_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.announceattack_cover_06"
		}
}


//========================================================================================================
// ATTACKING FROM BEHIND
//====================================================================
response CS_Charger_AttackingFromBehind
{
	criteria		IsCombineS IsClass_Charger EnemyIsPlayer ConceptAttackingFromBehind
	

	speak "vo.combine.charger.playerishurt_01" respeakdelay 7
	speak "vo.combine.charger.playerishurt_02" respeakdelay 7
	speak "vo.combine.charger.playerishurt_03" respeakdelay 7
	speak "vo.combine.charger.playerishurt_04" respeakdelay 7
	speak "vo.combine.charger.playerishurt_05" respeakdelay 7
	speak "vo.combine.charger.playerishurt_06" respeakdelay 7
	speak "vo.combine.charger.playerishurt_07" respeakdelay 7
	speak "vo.combine.charger.playerishurt_08" respeakdelay 7
	speak "vo.combine.charger.playerishurt_09" respeakdelay 7
	speak "vo.combine.charger.playerishurt_10" respeakdelay 7
	speak "vo.combine.charger.playerishurt_11" respeakdelay 7
	speak "vo.combine.charger.playerishurt_13" respeakdelay 7
	speak "vo.combine.charger.announceattack_cover_01" respeakdelay 7
	speak "vo.combine.charger.announceattack_cover_02" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"thensimple 1 speak "vo.combine.charger.calloutlocation_behind_01"
	speak "vo.combine.charger.announceattack_cover_03" respeakdelay 7
	speak "vo.combine.charger.announceattack_cover_04" respeakdelay 7
	speak "vo.combine.charger.announceattack_cover_05" respeakdelay 7
	speak "vo.combine.charger.announceattack_cover_06" respeakdelay 7
	speak "vo.combine.charger.announceattack_cover_07" respeakdelay 7
	speak "vo.combine.charger.announceattack_cover_08" respeakdelay 7
	speak "vo.combine.charger.announceattack_cover_09" respeakdelay 7
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.announceattack_cover_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.announceattack_cover_02" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.announceattack_cover_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.announceattack_cover_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.announceattack_cover_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.announceattack_cover_06"
		}
}


//========================================================================================================
// PRESS ATTACK
//====================================================================
response CS_Charger_PressAttack
{
	criteria		IsCombineS IsClass_Charger ConceptPressAttack
	
	
	speak "vo.combine.charger.preparing_charge_01" respeakdelay 7
	speak "vo.combine.charger.preparing_charge_02" respeakdelay 7
	speak "vo.combine.charger.preparing_charge_03" respeakdelay 7
	speak "vo.combine.charger.preparing_charge_04" respeakdelay 7
	speak "vo.combine.charger.preparing_charge_05" respeakdelay 7
	speak "vo.combine.charger.preparing_charge_06" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_01" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_02" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_03" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_04" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_05" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_06" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_07" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_08" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_09" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_11" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_12" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_13" respeakdelay 7
	speak "vo.combine.charger.advancing_on_target_14" respeakdelay 7
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.announceattack_cover_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.announceattack_cover_02" thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.announceattack_cover_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.announceattack_cover_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.announceattack_cover_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.announceattack_cover_06"
		}
}


//========================================================================================================
// RETREATING DUE TO DANGER
//====================================================================
response CS_Charger_Retreating
{
	criteria		IsCombineS IsClass_Charger ConceptDanger
	
	speak "vo.combine.charger.retreat_02"
	speak "vo.combine.charger.retreat_03"
	speak "vo.combine.charger.retreat_04"
	speak "vo.combine.charger.retreat_05"
	speak "vo.combine.charger.retreat_06"
	speak "vo.combine.charger.retreat_07"
	speak "vo.combine.charger.retreat_08"
	speak "vo.combine.charger.retreat_10"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.retreat_10"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.retreat_02" 
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.retreat_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.retreat_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.retreat_05"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.retreat_06"
		}
}

//========================================================================================================
// RETREATING DUE TO RELOAD
//====================================================================
response CS_Charger_RetreatToReload
{
	criteria		IsCombineS IsClass_Charger ConceptRetreatToReload
	
	speak "vo.combine.charger.reload_01" 
	speak "vo.combine.charger.reload_02" 
	speak "vo.combine.charger.reload_05" 
	speak "vo.combine.charger.reload_06" 
	speak "vo.combine.charger.reload_07" 
	speak "vo.combine.charger.reload_08" 
	speak "vo.combine.charger.reload_09" 
	
	speak "vo.combine.charger.retreat_04" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_01" 
	speak "vo.combine.charger.retreat_05" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_02"
	speak "vo.combine.charger.retreat_08" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_05"
	speak "vo.combine.charger.retreat_10" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_06"
	speak "vo.combine.charger.coverme_02" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_07"
	speak "vo.combine.charger.coverme_03" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_08" 
	speak "vo.combine.charger.coverme_07" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_09" thensimple 0 speak "vo.combine.charger.calloutcode_numbers" 
	speak "vo.combine.charger.underattack_01"respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_01" 
	speak "vo.combine.charger.underattack_02"respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_02" 
	speak "vo.combine.charger.underattack_04" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_05" 
	speak "vo.combine.charger.underattack_05" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_06" 
	speak "vo.combine.charger.underattack_06" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_07"
	speak "vo.combine.charger.underattack_07" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_08" 
	speak "vo.combine.charger.underattack_08" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_09" 
	speak "vo.combine.charger.underattack_09" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_01" 
	speak "vo.combine.charger.underattack_10" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_02" 
	speak "vo.combine.charger.underattack_12" respeakdelay 5 thensimple 2 speak "vo.combine.charger.reload_05" 
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.retreat_04"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.retreat_05" 
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.coverme_02"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.retreat_07"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.retreat_08"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.retreat_10"
		}
}



//========================================================================================================
// SEES PLAYER IS RELOADING
//====================================================================
response CS_Charger_SeesPlayerReloading
{
	criteria		IsCombineS IsClass_Charger PlayerIsReloading 
	
	speak "vo.combine.charger.sees_reloading_01"
	speak "vo.combine.charger.sees_reloading_02"
	speak "vo.combine.charger.sees_reloading_03"
	speak "vo.combine.charger.sees_reloading_04"
	speak "vo.combine.charger.sees_reloading_05"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.charger.orderresponse_positive_01" thensimple 0 speak "vo.combine.charger.sees_reloading_01"
			speak "vo.combine.charger.orderresponse_positive_02" thensimple 0 speak "vo.combine.charger.sees_reloading_02" 
			speak "vo.combine.charger.orderresponse_positive_03" thensimple 0 speak "vo.combine.charger.sees_reloading_03"
			speak "vo.combine.charger.orderresponse_positive_04" thensimple 0 speak "vo.combine.charger.sees_reloading_04"
			speak "vo.combine.charger.orderresponse_positive_05" thensimple 0 speak "vo.combine.charger.sees_reloading_05"
		}
}


//========================================================================================================
// IDLE
//===========================
response CS_Charger_Idle
{
	criteria	IsCombineS IsClass_Charger ConceptIdle
	
	speak "vo.combine.charger.idle_01" 
	speak "vo.combine.charger.idle_02" 
	speak "vo.combine.charger.idle_03" 
	speak "vo.combine.charger.idle_04" 
	speak "vo.combine.charger.idle_05" 
	speak "vo.combine.charger.idle_06" 
	speak "vo.combine.charger.idle_07" 
	speak "vo.combine.charger.idle_08" 
	speak "vo.combine.charger.idle_09" 
	speak "vo.combine.charger.idle_10" 
	speak "vo.combine.charger.idle_11" 
	speak "vo.combine.charger.idle_12" 
	speak "vo.combine.charger.idle_13" 
	speak "vo.combine.charger.idle_14" 
	speak "vo.combine.charger.idle_15" 
	speak "vo.combine.charger.idle_16" 
	speak "vo.combine.charger.idle_17" 
	speak "vo.combine.charger.idle_18" 
	speak "vo.combine.charger.idle_19" 
	speak "vo.combine.charger.idle_20" 
}

response CS_Charger_IdleCombat
{
	criteria	IsCombineS IsClass_Charger ConceptIdleCombat
	
	speak "vo.combine.charger.combat_idle_010" respeakdelay 15
	speak "vo.combine.charger.combat_idle_011" respeakdelay 15
	speak "vo.combine.charger.combat_idle_012" respeakdelay 15
	speak "vo.combine.charger.combat_idle_020" respeakdelay 15
	speak "vo.combine.charger.combat_idle_021" respeakdelay 15
	speak "vo.combine.charger.combat_idle_022" respeakdelay 15
	speak "vo.combine.charger.combat_idle_030" respeakdelay 15
	speak "vo.combine.charger.combat_idle_031" respeakdelay 15
	speak "vo.combine.charger.combat_idle_032" respeakdelay 15
	speak "vo.combine.charger.combat_idle_040" respeakdelay 15
	speak "vo.combine.charger.combat_idle_041" respeakdelay 15
	speak "vo.combine.charger.combat_idle_042" respeakdelay 15
	speak "vo.combine.charger.combat_idle_050" respeakdelay 15
	speak "vo.combine.charger.combat_idle_051" respeakdelay 15
	speak "vo.combine.charger.combat_idle_052" respeakdelay 15
	speak "vo.combine.charger.combat_idle_060" respeakdelay 15
	speak "vo.combine.charger.combat_idle_061" respeakdelay 15
	speak "vo.combine.charger.combat_idle_062" respeakdelay 15
	speak "vo.combine.charger.combat_idle_070" respeakdelay 15
	speak "vo.combine.charger.combat_idle_071" respeakdelay 15
	speak "vo.combine.charger.combat_idle_072" respeakdelay 15
	speak "vo.combine.charger.combat_idle_080" respeakdelay 15
	speak "vo.combine.charger.combat_idle_081" respeakdelay 15
	speak "vo.combine.charger.combat_idle_082" respeakdelay 15
	speak "vo.combine.charger.combat_idle_090" respeakdelay 15
	speak "vo.combine.charger.combat_idle_091" respeakdelay 15
	speak "vo.combine.charger.combat_idle_092" respeakdelay 15
	speak "vo.combine.charger.combat_idle_100" respeakdelay 15
	speak "vo.combine.charger.combat_idle_101" respeakdelay 15
	speak "vo.combine.charger.combat_idle_102" respeakdelay 15
	speak "vo.combine.charger.combat_idle_110" respeakdelay 15
	speak "vo.combine.charger.combat_idle_111" respeakdelay 15
	speak "vo.combine.charger.combat_idle_112" respeakdelay 15
	speak "vo.combine.charger.combat_idle_120" respeakdelay 15
	speak "vo.combine.charger.combat_idle_121" respeakdelay 15
	speak "vo.combine.charger.combat_idle_122" respeakdelay 15
	speak "vo.combine.charger.combat_idle_130" respeakdelay 15
	speak "vo.combine.charger.combat_idle_131" respeakdelay 15
	speak "vo.combine.charger.combat_idle_132" respeakdelay 15
	speak "vo.combine.charger.combat_idle_140" respeakdelay 15
	speak "vo.combine.charger.combat_idle_141" respeakdelay 15
	speak "vo.combine.charger.combat_idle_142" respeakdelay 15
	speak "vo.combine.charger.combat_idle_150" respeakdelay 15
	speak "vo.combine.charger.combat_idle_151" respeakdelay 15
	speak "vo.combine.charger.combat_idle_152" respeakdelay 15
	speak "vo.combine.charger.combat_idle_160" respeakdelay 15
	speak "vo.combine.charger.combat_idle_161" respeakdelay 15
	speak "vo.combine.charger.combat_idle_162" respeakdelay 15
	speak "vo.combine.charger.combat_idle_170" respeakdelay 15
	speak "vo.combine.charger.combat_idle_171" respeakdelay 15
	speak "vo.combine.charger.combat_idle_172" respeakdelay 15
	speak "vo.combine.charger.combat_idle_180" respeakdelay 15
	speak "vo.combine.charger.combat_idle_181" respeakdelay 15
	speak "vo.combine.charger.combat_idle_182" respeakdelay 15
	speak "vo.combine.charger.combat_idle_190" respeakdelay 15
	speak "vo.combine.charger.combat_idle_191" respeakdelay 15
	speak "vo.combine.charger.combat_idle_192" respeakdelay 15
	speak "vo.combine.charger.combat_idle_200" respeakdelay 15
	speak "vo.combine.charger.combat_idle_201" respeakdelay 15
	speak "vo.combine.charger.combat_idle_202" respeakdelay 15
	speak "vo.combine.charger.taunt_010"
	speak "vo.combine.charger.taunt_011"
	speak "vo.combine.charger.taunt_012"
	speak "vo.combine.charger.taunt_020"
	speak "vo.combine.charger.taunt_021"
	speak "vo.combine.charger.taunt_022"
	speak "vo.combine.charger.taunt_030"
	speak "vo.combine.charger.taunt_031"
	speak "vo.combine.charger.taunt_032"
	speak "vo.combine.charger.taunt_040"
	speak "vo.combine.charger.taunt_041"
	speak "vo.combine.charger.taunt_042"
	speak "vo.combine.charger.taunt_050"
	speak "vo.combine.charger.taunt_051"
	speak "vo.combine.charger.taunt_052"
	speak "vo.combine.charger.taunt_060"
	speak "vo.combine.charger.taunt_061"
	speak "vo.combine.charger.taunt_062"
	speak "vo.combine.charger.taunt_070"
	speak "vo.combine.charger.taunt_071"
	speak "vo.combine.charger.taunt_072"
	speak "vo.combine.charger.taunt_080"
	speak "vo.combine.charger.taunt_081"
	speak "vo.combine.charger.taunt_082"
	speak "vo.combine.charger.taunt_090"
	speak "vo.combine.charger.taunt_091"
	speak "vo.combine.charger.taunt_092"
	speak "vo.combine.charger.taunt_100"
	speak "vo.combine.charger.taunt_101"
	speak "vo.combine.charger.taunt_102"
	speak "vo.combine.charger.taunt_110"
	speak "vo.combine.charger.taunt_111"
	speak "vo.combine.charger.taunt_112"
	speak "vo.combine.charger.taunt_120"
	speak "vo.combine.charger.taunt_121"
	speak "vo.combine.charger.taunt_122"
	speak "vo.combine.charger.taunt_130"
	speak "vo.combine.charger.taunt_131"
	speak "vo.combine.charger.taunt_132"
	speak "vo.combine.charger.taunt_140"
	speak "vo.combine.charger.taunt_141"
	speak "vo.combine.charger.taunt_142"
	speak "vo.combine.charger.taunt_150"
	speak "vo.combine.charger.taunt_151"
	speak "vo.combine.charger.taunt_152"
	speak "vo.combine.charger.taunt_160"
	speak "vo.combine.charger.taunt_161"
	speak "vo.combine.charger.taunt_162"
	speak "vo.combine.charger.taunt_170"
	speak "vo.combine.charger.taunt_171"
	speak "vo.combine.charger.taunt_172"
	speak "vo.combine.charger.taunt_180"
	speak "vo.combine.charger.taunt_181"
	speak "vo.combine.charger.taunt_182"
	speak "vo.combine.charger.taunt_190"
	speak "vo.combine.charger.taunt_191"
	speak "vo.combine.charger.taunt_192"
	speak "vo.combine.charger.taunt_200"
	speak "vo.combine.charger.taunt_201"
	speak "vo.combine.charger.taunt_202"
}


//======================================================================================
// LOCATION CALLOUTS
//======================================================================================


response CS_Charger_NoSpeech
{
}

response CS_Charger_Firing
{
	criteria		IsCombineS IsClass_Charger ConceptFiring
	
	speak "vo.combine.charger.firing_01" respeakdelay 12
	speak "vo.combine.charger.firing_02" respeakdelay 12
	speak "vo.combine.charger.firing_03" respeakdelay 12
	speak "vo.combine.charger.firing_04" respeakdelay 12
	speak "vo.combine.charger.firing_05" respeakdelay 12
	speak "vo.combine.charger.firing_06" respeakdelay 12
	speak "vo.combine.charger.firing_07" respeakdelay 12
	speak "vo.combine.charger.firing_08" respeakdelay 12
	speak "vo.combine.charger.firing_09" respeakdelay 12
	speak "vo.combine.charger.firing_10" respeakdelay 12
	speak "vo.combine.charger.refindenemy_01" respeakdelay 12 thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.refindenemy_02" respeakdelay 12
	speak "vo.combine.charger.refindenemy_03" respeakdelay 12 thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.refindenemy_04" respeakdelay 12
	speak "vo.combine.charger.refindenemy_05" respeakdelay 12
	speak "vo.combine.charger.refindenemy_06" respeakdelay 12
	speak "vo.combine.charger.refindenemy_07" respeakdelay 12
	speak "vo.combine.charger.refindenemy_09" respeakdelay 12
	speak "vo.combine.charger.refindenemy_10" respeakdelay 12 thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.refindenemy_11" respeakdelay 12 thensimple 0 speak "vo.combine.charger.calloutcode_numbers"
	speak "vo.combine.charger.refindenemy_12" respeakdelay 12
	speak "vo.combine.charger.refindenemy_13" respeakdelay 12
	speak "vo.combine.charger.refindenemy_14" respeakdelay 12
	speak "vo.combine.charger.refindenemy_15" respeakdelay 12
	speak "vo.combine.charger.refindenemy_16" respeakdelay 12
	speak "vo.combine.charger.refindenemy_17" respeakdelay 12
	speak "vo.combine.charger.refindenemy_18" respeakdelay 12
	speak "vo.combine.charger.announceattack_01" respeakdelay 12
	speak "vo.combine.charger.announceattack_02" respeakdelay 12
	speak "vo.combine.charger.announceattack_03" respeakdelay 12
	speak "vo.combine.charger.announceattack_04" respeakdelay 12
	speak "vo.combine.charger.announceattack_05" respeakdelay 12
	speak "vo.combine.charger.announceattack_09" respeakdelay 12
	speak "vo.combine.charger.orderresponse_positive_01"
	speak "vo.combine.charger.orderresponse_positive_02"
	speak "vo.combine.charger.orderresponse_positive_03"
	speak "vo.combine.charger.orderresponse_positive_04"
	speak "vo.combine.charger.orderresponse_positive_05"
	speak "vo.combine.charger.orderresponse_positive_06"
	speak "vo.combine.charger.firing_110" respeakdelay 12
	speak "vo.combine.charger.firing_111" respeakdelay 12
	speak "vo.combine.charger.firing_112" respeakdelay 12
	speak "vo.combine.charger.firing_120" respeakdelay 12
	speak "vo.combine.charger.firing_121" respeakdelay 12
	speak "vo.combine.charger.firing_122" respeakdelay 12
	speak "vo.combine.charger.firing_130" respeakdelay 12
	speak "vo.combine.charger.firing_131" respeakdelay 12
	speak "vo.combine.charger.firing_132" respeakdelay 12
	speak "vo.combine.charger.firing_140" respeakdelay 12
	speak "vo.combine.charger.firing_141" respeakdelay 12
	speak "vo.combine.charger.firing_142" respeakdelay 12
	speak "vo.combine.charger.firing_150" respeakdelay 12
	speak "vo.combine.charger.firing_151" respeakdelay 12
	speak "vo.combine.charger.firing_152" respeakdelay 12
	speak "vo.combine.charger.firing_160" respeakdelay 12
	speak "vo.combine.charger.firing_161" respeakdelay 12
	speak "vo.combine.charger.firing_162" respeakdelay 12
	speak "vo.combine.charger.firing_170" respeakdelay 12
	speak "vo.combine.charger.firing_171" respeakdelay 12
	speak "vo.combine.charger.firing_172" respeakdelay 12
	speak "vo.combine.charger.firing_180" respeakdelay 12
	speak "vo.combine.charger.firing_181" respeakdelay 12
	speak "vo.combine.charger.firing_182" respeakdelay 12
	speak "vo.combine.charger.firing_190" respeakdelay 12
	speak "vo.combine.charger.firing_191" respeakdelay 12
	speak "vo.combine.charger.firing_192" respeakdelay 12
	speak "vo.combine.charger.firing_200" respeakdelay 12
	speak "vo.combine.charger.firing_201" respeakdelay 12
	speak "vo.combine.charger.firing_202" respeakdelay 12
	speak "vo.combine.charger.firing_210" respeakdelay 12
	speak "vo.combine.charger.firing_211" respeakdelay 12
	speak "vo.combine.charger.firing_212" respeakdelay 12

	
	
	response
	{
		criteria		PlayerAtBarrels
		speak "vo.combine.charger.calloutlocation_barrells_01" respeakdelay 17
	}
	
	
	response
	{
		criteria		PlayerAtBricks
		speak "vo.combine.charger.calloutlocation_bricks_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBuilding
		speak "vo.combine.charger.calloutlocation_building_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBridge
		speak "vo.combine.charger.calloutlocation_bridge_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtCar
		speak "vo.combine.charger.calloutlocation_car_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtCrane
		speak "vo.combine.charger.calloutlocation_crane_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtDoor
		speak "vo.combine.charger.calloutlocation_door_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtPipes
		speak "vo.combine.charger.calloutlocation_pipes_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtShack
		speak "vo.combine.charger.calloutlocation_shack_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTunnel
		speak "vo.combine.charger.calloutlocation_tunnel_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtHut
		speak "vo.combine.charger.calloutlocation_hut_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTrainCar
		speak "vo.combine.charger.calloutlocation_traincar_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTrainCar
		speak "vo.combine.charger.calloutlocation_traincar_01" respeakdelay 17

	}
	
	response
	{
		criteria		PlayerAtTruck
		speak "vo.combine.charger.calloutlocation_truck_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtWoodPile
		speak "vo.combine.charger.calloutlocation_woodpile_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtVan
		speak "vo.combine.charger.calloutlocation_van_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtElevator
		speak "vo.combine.charger.calloutlocation_elevator_01" respeakdelay 17
	}
	
	
	response
	{
		criteria		PlayerAtApartment
		speak "vo.combine.charger.calloutlocation_apartment_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBelow
		speak "vo.combine.charger.calloutlocation_below_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtAbove
		speak "vo.combine.charger.calloutlocation_above_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBehind
		speak "vo.combine.charger.calloutlocation_behind_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtToilet
		speak "vo.combine.charger.calloutlocation_toilet_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtWheels
		speak "vo.combine.charger.calloutlocation_wheels_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtFront
		speak "vo.combine.charger.calloutlocation_front_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTrash
		speak "vo.combine.charger.calloutlocation_trash_01" respeakdelay 17
	}
}

npc_combine_grunt.txt

//========================================================================================================
// TEST CONCATENATION
//====================================================================
response CS_Grunt_TestConcat
{
	criteria		IsCombineS IsClass_Grunt Concept_TestCS
	
	speak "vo.combine.grunt.calloutcode_one_01" thensimple 0 speak "vo.combine.grunt.calloutcode_two_01" thensimple 0 speak "vo.combine.grunt.calloutcode_three_01" thensimple 0 speak "vo.combine.grunt.calloutcode_four_01"

}


//========================================================================================================
// ADVANCING ON TARGET
//====================================================================
response CS_Grunt_AdvancingOnTarget
{
	criteria		IsCombineS IsClass_Grunt ConceptAdvancingOnTarget 
	
	speak "vo.combine.grunt.advancing_on_target_01"
	speak "vo.combine.grunt.advancing_on_target_02"
	speak "vo.combine.grunt.advancing_on_target_03"
	speak "vo.combine.grunt.advancing_on_target_04"
	speak "vo.combine.grunt.advancing_on_target_05"
	speak "vo.combine.grunt.advancing_on_target_06"
	speak "vo.combine.grunt.advancing_on_target_07"
	speak "vo.combine.grunt.advancing_on_target_08"
	speak "vo.combine.grunt.advancing_on_target_09"
	speak "vo.combine.grunt.advancing_on_target_10"
	speak "vo.combine.grunt.advancing_on_target_11"
	speak "vo.combine.grunt.advancing_on_target_12"
	speak "vo.combine.grunt.advancing_on_target_13"
	speak "vo.combine.grunt.advancing_on_target_14"
	speak "vo.combine.grunt.advancing_on_target_15"
	speak "vo.combine.grunt.advancing_on_target_16"
	speak "vo.combine.grunt.advancing_on_target_17"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.advancing_on_target_15"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.advancing_on_target_16"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.advancing_on_target_17"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.advancing_on_target_12"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.advancing_on_target_13"
			speak "vo.combine.grunt.orderresponse_positive_06" thensimple 0 speak "vo.combine.grunt.advancing_on_target_14"
		}
}

	
//========================================================================================================
// ANNOUNCING CHARGE
//====================================================================
response CS_Grunt_Charging
{
	criteria		IsCombineS IsClass_Grunt ConceptAnnounceCharge 
	
	speak "vo.combine.grunt.charging_01"
	speak "vo.combine.grunt.charging_02"
	speak "vo.combine.grunt.charging_03"
	speak "vo.combine.grunt.charging_04"
	speak "vo.combine.grunt.charging_06"
	
	speak "vo.combine.grunt.advancing_on_target_01"
	speak "vo.combine.grunt.advancing_on_target_02"
	speak "vo.combine.grunt.advancing_on_target_03"
	speak "vo.combine.grunt.advancing_on_target_04"
	speak "vo.combine.grunt.advancing_on_target_05"
	speak "vo.combine.grunt.advancing_on_target_06"
	speak "vo.combine.grunt.advancing_on_target_07"
	speak "vo.combine.grunt.advancing_on_target_08"
	speak "vo.combine.grunt.advancing_on_target_09"
	speak "vo.combine.grunt.advancing_on_target_10"
	speak "vo.combine.grunt.advancing_on_target_11"
	speak "vo.combine.grunt.advancing_on_target_12"
	speak "vo.combine.grunt.advancing_on_target_13"
	speak "vo.combine.grunt.advancing_on_target_14"
	speak "vo.combine.grunt.advancing_on_target_15"
	speak "vo.combine.grunt.advancing_on_target_16"
	speak "vo.combine.grunt.advancing_on_target_17"
	speak "vo.combine.grunt.advancing_on_target_18"
	speak "vo.combine.grunt.advancing_on_target_19"
	speak "vo.combine.grunt.advancing_on_target_20"
}

//========================================================================================================
// ANNOUNCING ATTACKS - GRENADE THROW
//====================================================================
response CS_Grunt_AnnounceAttack_Grenade
{
	criteria		IsCombineS IsClass_Grunt ConceptThrowingGrenade
	
	speak "vo.combine.grunt.announceattack_grenade_01" 
	speak "vo.combine.grunt.announceattack_grenade_02" 
	speak "vo.combine.grunt.announceattack_grenade_03" 
	speak "vo.combine.grunt.announceattack_grenade_04" 
	speak "vo.combine.grunt.announceattack_grenade_05" 
	speak "vo.combine.grunt.announceattack_grenade_06" 
	speak "vo.combine.grunt.announceattack_grenade_07"
	speak "vo.combine.grunt.announceattack_grenade_08" 
	speak "vo.combine.grunt.announceattack_grenade_09" 
	speak "vo.combine.grunt.announceattack_grenade_10"

		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.announceattack_grenade_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.announceattack_grenade_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.announceattack_grenade_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.announceattack_grenade_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.announceattack_grenade_05"
			speak "vo.combine.grunt.orderresponse_positive_06" thensimple 0 speak "vo.combine.grunt.announceattack_grenade_09"
		}
}


//========================================================================================================
// ANNOUNCING ZOMBIE
//====================================================================
response CS_Grunt_AnnounceZombie
{	
	criteria		IsCombineS IsClass_Grunt EnemyIsZombie ConceptAnnounceEnemy
	
	speak "vo.combine.grunt.announceenemy_zombie_01" 
	speak "vo.combine.grunt.announceenemy_zombie_02" 
	speak "vo.combine.grunt.announceenemy_zombie_03" 
	speak "vo.combine.grunt.announceenemy_zombie_04" 
	speak "vo.combine.grunt.announceenemy_zombie_05" 
	speak "vo.combine.grunt.announceenemy_zombie_06" 
	speak "vo.combine.grunt.announceenemy_zombie_07" 
	speak "vo.combine.grunt.announceenemy_zombie_08" 
	speak "vo.combine.grunt.announceenemy_zombie_09" 
	speak "vo.combine.grunt.announceenemy_zombie_10" 

}


//========================================================================================================
// ANNOUNCING ENEMY
//====================================================================
response CS_Grunt_AnnounceEnemy
{	
	criteria		IsCombineS IsClass_Grunt ConceptAnnounceEnemy
	
	speak "vo.combine.grunt.announceattack_01"
	speak "vo.combine.grunt.announceattack_02"
	speak "vo.combine.grunt.announceattack_03"
	speak "vo.combine.grunt.announceattack_04"
	speak "vo.combine.grunt.announceattack_05"
	speak "vo.combine.grunt.announceattack_06"
	speak "vo.combine.grunt.announceattack_07"
	speak "vo.combine.grunt.announceattack_08"
	speak "vo.combine.grunt.announceattack_09"
	speak "vo.combine.grunt.announceattack_11"
	
	response
	{
		criteria		IsOrderResponse
		speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.announceattack_01"
		speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.announceattack_02"
		speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.announceattack_03"
		speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.announceattack_04"
		speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.announceattack_05"
		speak "vo.combine.grunt.orderresponse_positive_06" thensimple 0 speak "vo.combine.grunt.announceattack_09"
	}
	
	
	response
	{
		criteria		EnemyIsPlayer AlyxIsKnown
		
			speak "vo.combine.grunt.announceattack_alyx_01"
			speak "vo.combine.grunt.announceattack_alyx_02"
			speak "vo.combine.grunt.announceattack_alyx_03"
			speak "vo.combine.grunt.announceattack_alyx_04"
			speak "vo.combine.grunt.announceattack_alyx_05"
			speak "vo.combine.grunt.announceattack_alyx_06"
			speak "vo.combine.grunt.announceattack_alyx_07"
			speak "vo.combine.grunt.announceattack_alyx_08"
			speak "vo.combine.grunt.announceattack_alyx_09"
			speak "vo.combine.grunt.announceattack_alyx_10"
			speak "vo.combine.grunt.announceattack_alyx_11"
			speak "vo.combine.grunt.announceattack_01"
			speak "vo.combine.grunt.announceattack_02"
			speak "vo.combine.grunt.announceattack_03"
			speak "vo.combine.grunt.announceattack_04"
			speak "vo.combine.grunt.announceattack_05"
			speak "vo.combine.grunt.announceattack_06"
			speak "vo.combine.grunt.announceattack_09"
			speak "vo.combine.grunt.announceattack_11"
		
		
		
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.announceattack_alyx_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.announceattack_alyx_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.announceattack_alyx_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.announceattack_alyx_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.announceattack_alyx_05"
			speak "vo.combine.grunt.orderresponse_positive_06" thensimple 0 speak "vo.combine.grunt.announceattack_alyx_09"
		}
		
		response
		{
			criteria		PlayerHasUpgrades
			speak "vo.combine.grunt.sees_upgrades_01"
			speak "vo.combine.grunt.sees_upgrades_02"
			speak "vo.combine.grunt.sees_upgrades_03"
			speak "vo.combine.grunt.sees_upgrades_04"
			speak "vo.combine.grunt.sees_upgrades_05"
		}
		
		response
		{
			criteria		PlayerHasGrenades
			speak "vo.combine.grunt.sees_grenades_01"
			speak "vo.combine.grunt.sees_grenades_02"
			speak "vo.combine.grunt.sees_grenades_03"
			speak "vo.combine.grunt.sees_grenades_04"
			speak "vo.combine.grunt.sees_grenades_05"
		}
	}
	
	response
	{
		criteria		EnemyIsAntlion
		speak "vo.combine.grunt.announceenemy_antlion_01" 
		speak "vo.combine.grunt.announceenemy_antlion_02" 
		speak "vo.combine.grunt.announceenemy_antlion_03" 
		speak "vo.combine.grunt.announceenemy_antlion_04" 
		speak "vo.combine.grunt.announceenemy_antlion_05" 
		speak "vo.combine.grunt.announceenemy_antlion_06" 
		speak "vo.combine.grunt.announceenemy_antlion_07" 
		speak "vo.combine.grunt.announceenemy_antlion_08" 
		speak "vo.combine.grunt.announceenemy_antlion_10" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	}
	
	response
	{
		criteria		EnemyIsHeadcrab
		speak "vo.combine.grunt.announceenemy_headcrabs_01" 
		speak "vo.combine.grunt.announceenemy_headcrabs_02"  thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
		speak "vo.combine.grunt.announceenemy_headcrabs_03" 
		speak "vo.combine.grunt.announceenemy_headcrabs_04" 
		speak "vo.combine.grunt.announceenemy_headcrabs_05" 
		speak "vo.combine.grunt.announceenemy_headcrabs_07" 
		speak "vo.combine.grunt.announceenemy_headcrabs_08" 
		speak "vo.combine.grunt.announceenemy_headcrabs_10" 
	}
	
}

//========================================================================================================
// ANNOUNCE KILL HEADCRAB
//============================
response CS_Grunt_AnnounceKillHeadcrab
{
	criteria	IsCombineS IsClass_Grunt EnemyIsHeadcrab ConceptAnnounceKill
	
	speak "vo.combine.grunt.announcekill_headcrab_01" 
	speak "vo.combine.grunt.announcekill_headcrab_02" 
	speak "vo.combine.grunt.announcekill_headcrab_03" 
	speak "vo.combine.grunt.announcekill_headcrab_04" 
	speak "vo.combine.grunt.announcekill_headcrab_05" 
	speak "vo.combine.grunt.announcekill_headcrab_06" 
	speak "vo.combine.grunt.announcekill_headcrab_07" 
	speak "vo.combine.grunt.announcekill_headcrab_08" 
	speak "vo.combine.grunt.announcekill_headcrab_09" 

}



//========================================================================================================
// ANNOUNCE KILL
//============================
response CS_Grunt_AnnounceKill
{
	criteria		IsCombineS IsClass_Grunt ConceptAnnounceKill
	
	
		speak "vo.combine.grunt.announcekill_01" 
		speak "vo.combine.grunt.announcekill_02" 
		speak "vo.combine.grunt.announcekill_03" 
		speak "vo.combine.grunt.announcekill_04" 
		speak "vo.combine.grunt.announcekill_05" 
		speak "vo.combine.grunt.announcekill_06" 
		speak "vo.combine.grunt.announcekill_09" 
		speak "vo.combine.grunt.announcekill_11" 
		speak "vo.combine.grunt.announcekill_12" 
		speak "vo.combine.grunt.announcekill_13" 
		speak "vo.combine.grunt.announcekill_14" 
		speak "vo.combine.grunt.announcekill_15" 
		
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.announcekill_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.announcekill_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.announcekill_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.announcekill_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.announcekill_05"
			speak "vo.combine.grunt.orderresponse_positive_06" thensimple 0 speak "vo.combine.grunt.announcekill_09"
		}
	
	response
	{
		criteria		EnemyIsPlayer
		speak "vo.combine.grunt.announcekill_player_01" 
		speak "vo.combine.grunt.announcekill_player_02" 
		speak "vo.combine.grunt.announcekill_player_03" 
		speak "vo.combine.grunt.announcekill_player_04" 
		speak "vo.combine.grunt.announcekill_player_05" 
		speak "vo.combine.grunt.announcekill_player_06" 
		speak "vo.combine.grunt.announcekill_player_07" 
		speak "vo.combine.grunt.announcekill_player_08" 
		speak "vo.combine.grunt.announcekill_player_09" 
		speak "vo.combine.grunt.announcekill_01" 
		speak "vo.combine.grunt.announcekill_02" 
		speak "vo.combine.grunt.announcekill_03" 
		speak "vo.combine.grunt.announcekill_04" 
		speak "vo.combine.grunt.announcekill_05" 
		speak "vo.combine.grunt.announcekill_06" 
		speak "vo.combine.grunt.announcekill_09" 
		speak "vo.combine.grunt.announcekill_11" 
		speak "vo.combine.grunt.announcekill_12" 
		speak "vo.combine.grunt.announcekill_13" 
		speak "vo.combine.grunt.announcekill_14" 
		speak "vo.combine.grunt.announcekill_15" 
		
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.announcekill_player_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.announcekill_player_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.announcekill_player_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.announcekill_player_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.announcekill_player_05"
			speak "vo.combine.grunt.orderresponse_positive_06" thensimple 0 speak "vo.combine.grunt.announcekill_player_06"
		}
		
	}
	
	response
	{
		criteria		EnemyIsAntlion
		speak "vo.combine.grunt.announcekill_antlion_01" 
		speak "vo.combine.grunt.announcekill_antlion_02" 
		speak "vo.combine.grunt.announcekill_antlion_03" 
		speak "vo.combine.grunt.announcekill_antlion_04" 
		speak "vo.combine.grunt.announcekill_antlion_05" 
		speak "vo.combine.grunt.announcekill_01" 
		speak "vo.combine.grunt.announcekill_02" 
		speak "vo.combine.grunt.announcekill_03" 
		speak "vo.combine.grunt.announcekill_04" 
	}
	
	response
	{
		criteria		EnemyIsZombie
		speak "vo.combine.grunt.announcekill_zombie_01" 
		speak "vo.combine.grunt.announcekill_zombie_02" 
		speak "vo.combine.grunt.announcekill_zombie_03" 
		speak "vo.combine.grunt.announcekill_zombie_04" 
		speak "vo.combine.grunt.announcekill_zombie_05" 
		speak "vo.combine.grunt.announcekill_zombie_06" 
		speak "vo.combine.grunt.announcekill_zombie_07" 
		
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.announcekill_zombie_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.announcekill_zombie_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.announcekill_zombie_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.announcekill_zombie_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.announcekill_zombie_05"
			speak "vo.combine.grunt.orderresponse_positive_06" thensimple 0 speak "vo.combine.grunt.announcekill_zombie_06"
		}
	}
	
	response
	{
		criteria		EnemyIsHeadcrab
		speak "vo.combine.grunt.announcekill_headcrab_01" 
		speak "vo.combine.grunt.announcekill_headcrab_02" 
		speak "vo.combine.grunt.announcekill_headcrab_03" 
		speak "vo.combine.grunt.announcekill_headcrab_04" 
		speak "vo.combine.grunt.announcekill_headcrab_05" 
		speak "vo.combine.grunt.announcekill_headcrab_06" 
		speak "vo.combine.grunt.announcekill_headcrab_07" 
		speak "vo.combine.grunt.announcekill_headcrab_08" 
		speak "vo.combine.grunt.announcekill_headcrab_09" 
		speak "vo.combine.grunt.announcekill_12" 
		speak "vo.combine.grunt.announcekill_13" 
		speak "vo.combine.grunt.announcekill_14" 
		speak "vo.combine.grunt.announcekill_15" 
		
	}
}


//========================================================================================================
// REQUESTING COVER
//====================================================================
response CS_Grunt_CoverMe
{
	criteria		IsCombineS IsClass_Grunt ConceptCoverMe HasOtherSquadMembers
	
	speak "vo.combine.grunt.coverme_01" predelay 1 respeakdelay 5
	speak "vo.combine.grunt.coverme_02" predelay 1 respeakdelay 5
	speak "vo.combine.grunt.coverme_03" predelay 1 respeakdelay 5
	speak "vo.combine.grunt.coverme_04" predelay 1 respeakdelay 5
	speak "vo.combine.grunt.coverme_05" predelay 1 respeakdelay 5
	speak "vo.combine.grunt.coverme_06" predelay 1 respeakdelay 5
	speak "vo.combine.grunt.coverme_07" predelay 1 respeakdelay 5 thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
}


//========================================================================================================
// ANNOUNCING DANGER - GRENADE
//====================================================================
response CS_Grunt_AnnounceDanger_Grenade
{
	criteria		IsCombineS IsClass_Grunt ConceptDanger DangerIsGrenade
	
	speak "vo.combine.grunt.danger_grenade_01"
	speak "vo.combine.grunt.danger_grenade_02"
	speak "vo.combine.grunt.danger_grenade_03"
	speak "vo.combine.grunt.danger_grenade_04"
	speak "vo.combine.grunt.danger_grenade_05"
	speak "vo.combine.grunt.danger_grenade_06"
	speak "vo.combine.grunt.danger_grenade_07"
	speak "vo.combine.grunt.danger_grenade_08" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.danger_grenade_09"
	speak "vo.combine.grunt.danger_grenade_10"
}


//========================================================================================================
// DEATH
//==================================

response CS_Grunt_Die
{
	criteria		IsCombineS IsClass_Grunt ConceptDie
	
	speak "vo.combine.grunt.die_01" noscene
	speak "vo.combine.grunt.die_02" noscene
	speak "vo.combine.grunt.die_03" noscene
	speak "vo.combine.grunt.die_04" noscene
	speak "vo.combine.grunt.die_05" noscene
	speak "vo.combine.grunt.die_06" noscene
	speak "vo.combine.grunt.die_07" noscene
	speak "vo.combine.grunt.die_08" noscene
	speak "vo.combine.grunt.die_09" noscene
	speak "vo.combine.grunt.die_10" noscene
	
	response
	{
		criteria		EnemyIsPlayer AlyxIsKnown
		
		speak "vo.combine.grunt.die_by_player_18" noscene
		speak "vo.combine.grunt.die_by_player_19" noscene
		speak "vo.combine.grunt.die_by_player_20" noscene
		speak "vo.combine.grunt.die_by_player_21" noscene
		speak "vo.combine.grunt.die_by_player_22" noscene
		speak "vo.combine.grunt.die_by_player_23" noscene
		speak "vo.combine.grunt.die_01" noscene
		speak "vo.combine.grunt.die_02" noscene
		speak "vo.combine.grunt.die_03" noscene
		speak "vo.combine.grunt.die_04" noscene
		speak "vo.combine.grunt.die_05" noscene
		speak "vo.combine.grunt.die_06" noscene
		speak "vo.combine.grunt.die_07" noscene
		speak "vo.combine.grunt.die_08" noscene
		speak "vo.combine.grunt.die_09" noscene
		speak "vo.combine.grunt.die_10" noscene
	}
}

//========================================================================================================
// ESTABLISHING LINE OF FIRE
//====================================================================
response CS_Grunt_EstablishingLOF
{
	criteria		IsCombineS IsClass_Grunt ConceptEstablishingLOF
	
	speak "vo.combine.grunt.establishinglof_01" 
	speak "vo.combine.grunt.establishinglof_02" 
	speak "vo.combine.grunt.establishinglof_03" 
	speak "vo.combine.grunt.establishinglof_04" 
	speak "vo.combine.grunt.establishinglof_05" 
	speak "vo.combine.grunt.establishinglof_06" 
	speak "vo.combine.grunt.establishinglof_07" 
	speak "vo.combine.grunt.establishinglof_08" 
	speak "vo.combine.grunt.establishinglof_09" 
	speak "vo.combine.grunt.establishinglof_10" 
	speak "vo.combine.grunt.establishinglof_11" 
	speak "vo.combine.grunt.establishinglof_12" 
	speak "vo.combine.grunt.establishinglof_13" 
	speak "vo.combine.grunt.establishinglof_14" 
	speak "vo.combine.grunt.establishinglof_15" 
	speak "vo.combine.grunt.establishinglof_17" 
	speak "vo.combine.grunt.establishinglof_18" 
	speak "vo.combine.grunt.establishinglof_19" 
	speak "vo.combine.grunt.lostvisual_01" 
	speak "vo.combine.grunt.lostvisual_02" 
	speak "vo.combine.grunt.lostvisual_03" 
	speak "vo.combine.grunt.lostvisual_04" 
	speak "vo.combine.grunt.lostvisual_05" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.lostvisual_06" 
	speak "vo.combine.grunt.lostvisual_07" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.lostvisual_08" 
	speak "vo.combine.grunt.lostvisual_09" 
	speak "vo.combine.grunt.lostvisual_10" 
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.establishinglof_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.establishinglof_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.establishinglof_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.establishinglof_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.establishinglof_05"
			speak "vo.combine.grunt.orderresponse_positive_06" thensimple 0 speak "vo.combine.grunt.establishinglof_06"
		}
}



//========================================================================================================
// FLUSHING ENEMY OUT OF COVER
//====================================================================
response CS_Grunt_FlushingEnemy
{
	criteria		IsCombineS IsClass_Grunt ConceptFlushingEnemy 
	
	speak "vo.combine.grunt.flushing_01"
	speak "vo.combine.grunt.flushing_02"
	speak "vo.combine.grunt.flushing_03" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.flushing_04"
	speak "vo.combine.grunt.flushing_05"
	speak "vo.combine.grunt.flushing_06"
	speak "vo.combine.grunt.flushing_07"
}


//========================================================================================================
// GET BACK
//====================================================================
response CS_Grunt_GetBack
{
	criteria		IsCombineS IsClass_Grunt ConceptGetBack 
	
	speak "vo.combine.grunt.getback_01" 
	speak "vo.combine.grunt.getback_02" 
	speak "vo.combine.grunt.getback_03"
	speak "vo.combine.grunt.getback_04" 
	speak "vo.combine.grunt.getback_05" 	
}


//========================================================================================================
// INJURED
//====================================================================
response CS_Grunt_Injured
{
	criteria		IsCombineS IsClass_Grunt ConceptInjured 
	
	speak "vo.combine.grunt.injured_01"
	speak "vo.combine.grunt.injured_02"
	speak "vo.combine.grunt.injured_03" 
	speak "vo.combine.grunt.injured_04" 
	speak "vo.combine.grunt.injured_05"
	speak "vo.combine.grunt.injured_06"
}


//========================================================================================================
// LIMPING
//====================================================================
response CS_Grunt_Limping
{
	criteria		IsCombineS IsClass_Grunt ConceptLimping 
	
	speak "vo.combine.grunt.panting_01"
}


//========================================================================================================
// ON FIRE
//====================================================================
response CS_Grunt_OnFire
{
	criteria		IsCombineS IsClass_Grunt ConceptGasTankHit 
	
	speak "vo.combine.grunt.onfire_010"
	speak "vo.combine.grunt.onfire_011"
	speak "vo.combine.grunt.onfire_020"
	speak "vo.combine.grunt.onfire_021"
	speak "vo.combine.grunt.onfire_030"
	speak "vo.combine.grunt.onfire_031"
	speak "vo.combine.grunt.onfire_050"
	speak "vo.combine.grunt.onfire_051"
	speak "vo.combine.grunt.onfire_060"
	speak "vo.combine.grunt.onfire_061"
	speak "vo.combine.grunt.onfire_070"
	speak "vo.combine.grunt.onfire_071"
	speak "vo.combine.grunt.onfire_080"
	speak "vo.combine.grunt.onfire_081"
	speak "vo.combine.grunt.onfire_090"
	speak "vo.combine.grunt.onfire_091"
	speak "vo.combine.grunt.onfire_100"
	speak "vo.combine.grunt.onfire_101"
}

//========================================================================================================
// LOST ENEMY 16+ sec
//====================================================================
response CS_Grunt_LostShort
{
	criteria		IsCombineS IsClass_Grunt ConceptLostEnemy LostEnemyShortTime
	
	speak "vo.combine.grunt.lostenemy_01"
	speak "vo.combine.grunt.lostenemy_03"
	speak "vo.combine.grunt.lostenemy_04"
	speak "vo.combine.grunt.lostenemy_05"
	speak "vo.combine.grunt.lostenemy_06"
	speak "vo.combine.grunt.lostenemy_07"
	speak "vo.combine.grunt.lostenemy_08"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.lostenemy_01"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.lostenemy_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.lostenemy_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.lostenemy_05"
		}
}


//========================================================================================================
// LOST VISUAL 3+ sec
//====================================================================
response CS_Grunt_LostVisual
{
	criteria		IsCombineS IsClass_Grunt ConceptLostVisual 
	
	speak "vo.combine.grunt.lostvisual_01" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_02" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_03" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_04" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_05" respeakdelay 8 thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.lostvisual_06" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_07" respeakdelay 8 thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.lostvisual_08" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_09" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_10" respeakdelay 8
	speak "vo.combine.grunt.reconnoiter_search_01"
	speak "vo.combine.grunt.reconnoiter_search_02"
	speak "vo.combine.grunt.reconnoiter_search_03"
	speak "vo.combine.grunt.reconnoiter_search_04"
	speak "vo.combine.grunt.reconnoiter_search_05"
	speak "vo.combine.grunt.reconnoiter_search_06"
	speak "vo.combine.grunt.reconnoiter_search_07"
	speak "vo.combine.grunt.reconnoiter_search_09"
	speak "vo.combine.grunt.reconnoiter_search_10"
	speak "vo.combine.grunt.reconnoiter_search_11"
	speak "vo.combine.grunt.reconnoiter_search_12"
	speak "vo.combine.grunt.reconnoiter_search_13"
	speak "vo.combine.grunt.reconnoiter_search_14"
	speak "vo.combine.grunt.reconnoiter_search_15"
	speak "vo.combine.grunt.reconnoiter_search_16"
	speak "vo.combine.grunt.reconnoiter_search_17"
	speak "vo.combine.grunt.reconnoiter_search_18"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.lostvisual_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.lostvisual_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.lostvisual_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.lostvisual_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.lostvisual_05"
		}
	
	response
	{
		criteria		EnemyIsPlayer AlyxIsKnown
		speak "vo.combine.grunt.lostvisual_player_01" respeakdelay 8
		speak "vo.combine.grunt.lostvisual_player_02" respeakdelay 8
		speak "vo.combine.grunt.lostvisual_player_03" respeakdelay 8
		speak "vo.combine.grunt.lostvisual_player_04" respeakdelay 8
		speak "vo.combine.grunt.lostvisual_player_05" respeakdelay 8
		speak "vo.combine.grunt.lostvisual_player_07" respeakdelay 8
		speak "vo.combine.grunt.lostvisual_player_08" respeakdelay 8
		
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.lostvisual_player_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.lostvisual_player_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.lostvisual_player_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.lostvisual_player_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.lostvisual_player_05"
		}
	}
	
}


//========================================================================================================
// PANIC ON ENEMY NEAR
//====================================================================
response CS_Grunt_NearPanic
{
	criteria		IsCombineS IsClass_Grunt ConceptNearPanic
	
	speak "vo.combine.grunt.nearpanic_01"
	speak "vo.combine.grunt.nearpanic_02"
	speak "vo.combine.grunt.nearpanic_03"
	speak "vo.combine.grunt.nearpanic_04"
	speak "vo.combine.grunt.nearpanic_05"
	speak "vo.combine.grunt.nearpanic_06"
	speak "vo.combine.grunt.nearpanic_07"
	speak "vo.combine.grunt.nearpanic_08"
	speak "vo.combine.grunt.nearpanic_09"
	speak "vo.combine.grunt.nearpanic_10"
}


//========================================================================================================
// ENTERING OVERWATCH
//====================================================================

response CS_Grunt_Overwatch
{
	criteria		IsCombineS IsClass_Grunt ConceptOverwatch 
	
	speak "vo.combine.grunt.overwatch_01" respeakdelay 15
	speak "vo.combine.grunt.overwatch_02" respeakdelay 15
	speak "vo.combine.grunt.overwatch_03" respeakdelay 15
	speak "vo.combine.grunt.overwatch_04" respeakdelay 15
	speak "vo.combine.grunt.overwatch_05" respeakdelay 15
	speak "vo.combine.grunt.overwatch_06" respeakdelay 15
	speak "vo.combine.grunt.overwatch_07" respeakdelay 15
	speak "vo.combine.grunt.overwatch_08" respeakdelay 15
	speak "vo.combine.grunt.overwatch_09" respeakdelay 15
	speak "vo.combine.grunt.overwatch_10" respeakdelay 15
	speak "vo.combine.grunt.overwatch_11" respeakdelay 15
	speak "vo.combine.grunt.overwatch_12" respeakdelay 15
	speak "vo.combine.grunt.overwatch_13" respeakdelay 15
	speak "vo.combine.grunt.overwatch_14" respeakdelay 15
	speak "vo.combine.grunt.overwatch_15" respeakdelay 15
	speak "vo.combine.grunt.overwatch_16" respeakdelay 15
	speak "vo.combine.grunt.overwatch_17" respeakdelay 15
	speak "vo.combine.grunt.overwatch_18" respeakdelay 15
	speak "vo.combine.grunt.overwatch_19" respeakdelay 15
	speak "vo.combine.grunt.overwatch_20" respeakdelay 15
	speak "vo.combine.grunt.lostenemy_01"
	speak "vo.combine.grunt.lostenemy_03"
	speak "vo.combine.grunt.lostenemy_04"
	speak "vo.combine.grunt.lostenemy_05"
	speak "vo.combine.grunt.lostenemy_06"
	speak "vo.combine.grunt.lostenemy_07"
	speak "vo.combine.grunt.lostenemy_08"
	speak "vo.combine.grunt.lostvisual_01" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_02" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_03" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_04" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_05" respeakdelay 8 thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.lostvisual_06" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_07" respeakdelay 8 thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.lostvisual_08" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_09" respeakdelay 8
	speak "vo.combine.grunt.lostvisual_10" respeakdelay 8
	speak "vo.combine.grunt.reconnoiter_start_01"
	speak "vo.combine.grunt.reconnoiter_start_03"
	speak "vo.combine.grunt.reconnoiter_start_04"
	speak "vo.combine.grunt.reconnoiter_start_05"
	speak "vo.combine.grunt.reconnoiter_start_06"
	speak "vo.combine.grunt.reconnoiter_start_08"
	speak "vo.combine.grunt.reconnoiter_start_09"
	speak "vo.combine.grunt.reconnoiter_start_10"
	speak "vo.combine.grunt.reconnoiter_start_11"
	speak "vo.combine.grunt.reconnoiter_start_12"
	speak "vo.combine.grunt.reconnoiter_start_13"
	speak "vo.combine.grunt.reconnoiter_start_14"
	speak "vo.combine.grunt.reconnoiter_start_15"
	speak "vo.combine.grunt.reconnoiter_start_16"
	speak "vo.combine.grunt.reconnoiter_start_17"
	speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.lostenemy_01"
	speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.lostenemy_03"
	speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.lostenemy_04"
	speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.lostenemy_05"
	speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.overwatch_01"
	speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.overwatch_02"
	speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.overwatch_03"
	speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.overwatch_04"
	speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.overwatch_05"
	speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.overwatch_06"
	
}


//========================================================================================================
// PAIN 
//============================

response CS_Grunt_Pain
{
	criteria		IsCombineS IsClass_Grunt ConceptPain
	
	speak "vo.combine.grunt.pain_01" 
	speak "vo.combine.grunt.pain_02" 
	speak "vo.combine.grunt.pain_03" 
	speak "vo.combine.grunt.pain_04" 
	speak "vo.combine.grunt.pain_05" 
	speak "vo.combine.grunt.pain_06" 
	speak "vo.combine.grunt.pain_07" 
	speak "vo.combine.grunt.pain_08" 
	speak "vo.combine.grunt.pain_09" 
	speak "vo.combine.grunt.pain_10" 
}



//========================================================================================================
// PLAYER IS WOUNDED
//====================================================================
response CS_Grunt_PlayerIsHurt
{
	criteria		IsCombineS IsClass_Grunt EnemyIsPlayer ConceptPlayerIsHurt 
	
	speak "vo.combine.grunt.playerishurt_01"
	speak "vo.combine.grunt.playerishurt_02"
	speak "vo.combine.grunt.playerishurt_03"
	speak "vo.combine.grunt.playerishurt_04"
	speak "vo.combine.grunt.playerishurt_05"
	speak "vo.combine.grunt.playerishurt_06"
	speak "vo.combine.grunt.playerishurt_07"
	speak "vo.combine.grunt.playerishurt_08"
	speak "vo.combine.grunt.playerishurt_09"
	speak "vo.combine.grunt.playerishurt_10"
	speak "vo.combine.grunt.playerishurt_11"
	speak "vo.combine.grunt.playerishurt_12"
	speak "vo.combine.grunt.playerishurt_13"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.playerishurt_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.playerishurt_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.playerishurt_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.playerishurt_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.playerishurt_05"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.playerishurt_06"
		}
}


//========================================================================================================
// RECONNOITER END
//====================================================================
response CS_Grunt_ReconnoiterFinish
{
	criteria		IsCombineS IsClass_Grunt ConceptReconnoiterFinish 
	
	speak "vo.combine.grunt.reconnoiter_finish_01"
	speak "vo.combine.grunt.reconnoiter_finish_02"
	speak "vo.combine.grunt.reconnoiter_finish_03"
	speak "vo.combine.grunt.reconnoiter_finish_04"
	speak "vo.combine.grunt.reconnoiter_finish_05"
	speak "vo.combine.grunt.reconnoiter_finish_06"
	speak "vo.combine.grunt.reconnoiter_finish_07"
	speak "vo.combine.grunt.reconnoiter_finish_08"
	speak "vo.combine.grunt.reconnoiter_finish_09"
	speak "vo.combine.grunt.reconnoiter_finish_10"
	speak "vo.combine.grunt.reconnoiter_finish_11"
	speak "vo.combine.grunt.reconnoiter_finish_12"
	speak "vo.combine.grunt.reconnoiter_finish_13"
	speak "vo.combine.grunt.reconnoiter_finish_14"
	speak "vo.combine.grunt.reconnoiter_finish_15"
	speak "vo.combine.grunt.reconnoiter_finish_16"
	speak "vo.combine.grunt.reconnoiter_finish_18"
	speak "vo.combine.grunt.reconnoiter_finish_19"
	speak "vo.combine.grunt.reconnoiter_finish_20"
		
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.reconnoiter_finish_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.reconnoiter_finish_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.reconnoiter_finish_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.reconnoiter_finish_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.reconnoiter_finish_05"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.reconnoiter_finish_06"
		}
}


//========================================================================================================
// RECONNOITER SEARCH
//====================================================================
response CS_Grunt_ReconnoiterSearch
{
	criteria		IsCombineS IsClass_Grunt ConceptReconnoiterSearch 
	
	speak "vo.combine.grunt.reconnoiter_search_01"
	speak "vo.combine.grunt.reconnoiter_search_02"
	speak "vo.combine.grunt.reconnoiter_search_03"
	speak "vo.combine.grunt.reconnoiter_search_04"
	speak "vo.combine.grunt.reconnoiter_search_05"
	speak "vo.combine.grunt.reconnoiter_search_06"
	speak "vo.combine.grunt.reconnoiter_search_07"
	speak "vo.combine.grunt.reconnoiter_search_09"
	speak "vo.combine.grunt.reconnoiter_search_10"
	speak "vo.combine.grunt.reconnoiter_search_11"
	speak "vo.combine.grunt.reconnoiter_search_12"
	speak "vo.combine.grunt.reconnoiter_search_13"
	speak "vo.combine.grunt.reconnoiter_search_14"
	speak "vo.combine.grunt.reconnoiter_search_15"
	speak "vo.combine.grunt.reconnoiter_search_16"
	speak "vo.combine.grunt.reconnoiter_search_17"
	speak "vo.combine.grunt.reconnoiter_search_18"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.reconnoiter_search_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.reconnoiter_search_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.reconnoiter_search_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.reconnoiter_search_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.reconnoiter_search_05"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.reconnoiter_search_06"
		}
}


//========================================================================================================
// RECONNOITER START
//====================================================================
response CS_Grunt_Reconnoiter
{
	criteria		IsCombineS IsClass_Grunt ConceptReconnoiterStart 
	
	speak "vo.combine.grunt.reconnoiter_start_01"
	speak "vo.combine.grunt.reconnoiter_start_03"
	speak "vo.combine.grunt.reconnoiter_start_04"
	speak "vo.combine.grunt.reconnoiter_start_05"
	speak "vo.combine.grunt.reconnoiter_start_06"
	speak "vo.combine.grunt.reconnoiter_start_08"
	speak "vo.combine.grunt.reconnoiter_start_09"
	speak "vo.combine.grunt.reconnoiter_start_10"
	speak "vo.combine.grunt.reconnoiter_start_11"
	speak "vo.combine.grunt.reconnoiter_start_12"
	speak "vo.combine.grunt.reconnoiter_start_13"
	speak "vo.combine.grunt.reconnoiter_start_14"
	speak "vo.combine.grunt.reconnoiter_start_15"
	speak "vo.combine.grunt.reconnoiter_start_16"
	speak "vo.combine.grunt.reconnoiter_start_17"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.reconnoiter_start_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.reconnoiter_start_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.reconnoiter_start_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.reconnoiter_start_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.reconnoiter_start_05"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.reconnoiter_start_06"
		}
}


//========================================================================================================
// FIND ENEMY
//====================================================================
response CS_Grunt_FindEnemy
{
	criteria		IsCombineS IsClass_Grunt ConceptFindEnemy 
	
	speak "vo.combine.grunt.refindenemy_01" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers" 
	speak "vo.combine.grunt.refindenemy_02" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers" 
	speak "vo.combine.grunt.refindenemy_03" 
	speak "vo.combine.grunt.refindenemy_04"
	speak "vo.combine.grunt.refindenemy_05"
	speak "vo.combine.grunt.refindenemy_06"
	speak "vo.combine.grunt.refindenemy_07"
	speak "vo.combine.grunt.refindenemy_08"
	speak "vo.combine.grunt.refindenemy_09"
	speak "vo.combine.grunt.refindenemy_10" 
	speak "vo.combine.grunt.refindenemy_11" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.refindenemy_12"
	speak "vo.combine.grunt.refindenemy_13"
	speak "vo.combine.grunt.refindenemy_14"
	speak "vo.combine.grunt.refindenemy_15"
	speak "vo.combine.grunt.refindenemy_16"
	speak "vo.combine.grunt.refindenemy_17"
	speak "vo.combine.grunt.refindenemy_18"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.refindenemy_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.refindenemy_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.refindenemy_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.refindenemy_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.refindenemy_05"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.refindenemy_06"
		}
}

//========================================================================================================
// RELOADING
//====================================================================
response CS_Grunt_Reload
{
	criteria		IsCombineS IsClass_Grunt ConceptReload 
	
	speak "vo.combine.grunt.reload_01" predelay 1.5
	speak "vo.combine.grunt.reload_02" predelay 1.5
	speak "vo.combine.grunt.reload_05" predelay 1.5
	speak "vo.combine.grunt.reload_06" predelay 1.5
	speak "vo.combine.grunt.reload_07" predelay 1.5
	speak "vo.combine.grunt.reload_08" predelay 1.5
	speak "vo.combine.grunt.reload_09" predelay 1.5
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.reload_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.reload_02"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.reload_07"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.reload_05"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.reload_06"
		}
}


//====================================================================
//		SQUAD MEMBER LOST
//====================================================================
response CS_Grunt_SquadMemberLost
{
	criteria		IsCombineS IsClass_Grunt ConceptSquadMemberLost 
	
	response
	{
		criteria		LostSquadGrunt
		speak "vo.combine.grunt.squadmemberlost_01" predelay 1
		speak "vo.combine.grunt.squadmemberlost_02" predelay 1
		speak "vo.combine.grunt.squadmemberlost_03" predelay 1
		speak "vo.combine.grunt.squadmemberlost_05" predelay 1
		speak "vo.combine.grunt.squadmemberlost_06" predelay 1
		speak "vo.combine.grunt.squadmemberlost_07" predelay 1
		speak "vo.combine.grunt.squadmemberlost_09" predelay 1
		speak "vo.combine.grunt.squadmemberlost_10" predelay 1
		speak "vo.combine.grunt.calloutentity_echoone_01" predelay 1 thensimple 1 speak "vo.combine.grunt.squadmemberlost_11"
	}
	
	response
	{
		criteria		LostSquadCharger
		speak "vo.combine.grunt.squadmemberlost_01" predelay 1
		speak "vo.combine.grunt.squadmemberlost_02" predelay 1
		speak "vo.combine.grunt.squadmemberlost_03" predelay 1
		speak "vo.combine.grunt.calloutentity_wallhammer_01" predelay 1 thensimple 1 speak "vo.combine.grunt.squadmemberlost_04"
		speak "vo.combine.grunt.squadmemberlost_05" predelay 1
		speak "vo.combine.grunt.squadmemberlost_06" predelay 1
		speak "vo.combine.grunt.squadmemberlost_07" predelay 1
		speak "vo.combine.grunt.squadmemberlost_09" predelay 1
		speak "vo.combine.grunt.squadmemberlost_10" predelay 1
		speak "vo.combine.grunt.calloutentity_wallhammer_01" predelay 1 thensimple 1 speak "vo.combine.grunt.squadmemberlost_11"
	}
	
	response
	{
		criteria		LostSquadSuppressor
		speak "vo.combine.grunt.squadmemberlost_01" predelay 1
		speak "vo.combine.grunt.squadmemberlost_02" predelay 1
		speak "vo.combine.grunt.squadmemberlost_03" predelay 1
		speak "vo.combine.grunt.calloutentity_apf_01" predelay 1 thensimple 1 speak "vo.combine.grunt.squadmemberlost_04"
		speak "vo.combine.grunt.squadmemberlost_05" predelay 1
		speak "vo.combine.grunt.squadmemberlost_06" predelay 1
		speak "vo.combine.grunt.squadmemberlost_07" predelay 1
		speak "vo.combine.grunt.squadmemberlost_09" predelay 1
		speak "vo.combine.grunt.squadmemberlost_10" predelay 1
		speak "vo.combine.grunt.calloutentity_apf_01" predelay 1 thensimple 1 speak "vo.combine.grunt.squadmemberlost_11"
	}
	
	response
	{
		criteria		LostSquadLeader
		speak "vo.combine.grunt.squadmemberlost_leader_01" predelay 1
		speak "vo.combine.grunt.squadmemberlost_leader_02" predelay 1
		speak "vo.combine.grunt.squadmemberlost_leader_03" predelay 1
		speak "vo.combine.grunt.squadmemberlost_leader_04" predelay 1
		speak "vo.combine.grunt.squadmemberlost_leader_05" predelay 1
		speak "vo.combine.grunt.squadmemberlost_leader_06" predelay 1
		speak "vo.combine.grunt.squadmemberlost_leader_07" predelay 1
	}
	
}



//====================================================================
//		LAST MAN STANDING
//====================================================================
response CS_Grunt_SquadMemberLost_LastManStanding
{
	criteria		IsCombineS IsClass_Grunt ConceptSquadMemberLost IsLastSquadMemberLeft
	
	speak "vo.combine.grunt.squadmemberlost_lastman_01" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_02" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_03" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_04" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_05" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_06" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_07" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_08" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_09" predelay 1
}


//========================================================================================================
// SUPPRESSING
//====================================================================
response CS_Grunt_Suppressing
{
	criteria		IsCombineS IsClass_Grunt ConceptSuppressing 
	
	speak "vo.combine.grunt.suppressing_01"
	speak "vo.combine.grunt.suppressing_02"
	speak "vo.combine.grunt.suppressing_03" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.suppressing_04"
	speak "vo.combine.grunt.suppressing_05"
	speak "vo.combine.grunt.suppressing_06"
	speak "vo.combine.grunt.suppressing_07"
	speak "vo.combine.grunt.announceattack_cover_01"
	speak "vo.combine.grunt.announceattack_cover_02" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.announceattack_cover_03"
	speak "vo.combine.grunt.announceattack_cover_04"
	speak "vo.combine.grunt.announceattack_cover_05"
	speak "vo.combine.grunt.announceattack_cover_06"
	speak "vo.combine.grunt.announceattack_cover_07"
	speak "vo.combine.grunt.announceattack_cover_08"
	speak "vo.combine.grunt.announceattack_cover_09"
	speak "vo.combine.grunt.announceattack_cover_10"

	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.suppressing_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.suppressing_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.suppressing_03" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.suppressing_07"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.suppressing_05"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.suppressing_06"
		}
}


//========================================================================================================
// MISSED ME
//====================================================================
response CS_Grunt_MissedMe
{
	criteria		IsCombineS IsClass_Grunt ConceptMissedMe 
	
	speak "vo.combine.grunt.takingfire_01" respeakdelay 15
	speak "vo.combine.grunt.takingfire_02" respeakdelay 15
	speak "vo.combine.grunt.takingfire_03" respeakdelay 15
	speak "vo.combine.grunt.takingfire_04" respeakdelay 15
	speak "vo.combine.grunt.takingfire_05" respeakdelay 15
	speak "vo.combine.grunt.takingfire_06" respeakdelay 15
	speak "vo.combine.grunt.takingfire_07" respeakdelay 15
	speak "vo.combine.grunt.takingfire_08" respeakdelay 15
	speak "vo.combine.grunt.takingfire_09" respeakdelay 15
	speak "vo.combine.grunt.takingfire_10" respeakdelay 15
	speak "vo.combine.grunt.takingfire_11" respeakdelay 15
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.takingfire_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.takingfire_02"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.takingfire_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.takingfire_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.takingfire_05"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.takingfire_06"
		}
}


//========================================================================================================
// Taking Fire 
//====================================================================
response CS_Grunt_TakingFire
{
	criteria		IsCombineS IsClass_Grunt ConceptTakingFire 
	
	speak "vo.combine.grunt.underattack_01"
	speak "vo.combine.grunt.underattack_02"
	speak "vo.combine.grunt.underattack_03" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.underattack_04"
	speak "vo.combine.grunt.underattack_05"
	speak "vo.combine.grunt.underattack_06"
	speak "vo.combine.grunt.underattack_07"
	speak "vo.combine.grunt.underattack_08"
	speak "vo.combine.grunt.underattack_09"
	speak "vo.combine.grunt.underattack_10"
	speak "vo.combine.grunt.underattack_11"
	speak "vo.combine.grunt.underattack_12"
}

//========================================================================================================
// Under Attack
//====================================================================
response CS_Grunt_UnderAttack
{
	criteria		IsCombineS IsClass_Grunt ConceptUnderAttack
	
	speak "vo.combine.grunt.underattack_01"
	speak "vo.combine.grunt.underattack_02"
	speak "vo.combine.grunt.underattack_03" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.underattack_04"
	speak "vo.combine.grunt.underattack_05"
	speak "vo.combine.grunt.underattack_06"
	speak "vo.combine.grunt.underattack_07"
	speak "vo.combine.grunt.underattack_08"
	speak "vo.combine.grunt.underattack_09"
	speak "vo.combine.grunt.underattack_10"
	speak "vo.combine.grunt.underattack_11"
	speak "vo.combine.grunt.underattack_12"
}

	
//========================================================================================================
// ORDER RESPONSES
//====================================================================
response CS_Grunt_UnableToComply
{
	criteria		IsCombineS IsClass_Grunt ConceptOrderResponse 
	
	response
	{
		criteria		ResponseIsNegative
		speak "vo.combine.grunt.unabletocommence_01"
		speak "vo.combine.grunt.unabletocommence_02"
		speak "vo.combine.grunt.unabletocommence_03"
		speak "vo.combine.grunt.unabletocommence_04"
		speak "vo.combine.grunt.unabletocommence_05"
		speak "vo.combine.grunt.unabletocommence_06"
		speak "vo.combine.grunt.unabletocommence_07"
	}
	
	response
	{
		criteria		ResponseIsPositive
		speak "vo.combine.grunt.orderresponse_positive_01"
		speak "vo.combine.grunt.orderresponse_positive_02"
		speak "vo.combine.grunt.orderresponse_positive_03"
		speak "vo.combine.grunt.orderresponse_positive_04"
		speak "vo.combine.grunt.orderresponse_positive_05"
		speak "vo.combine.grunt.orderresponse_positive_06"
	}
}


//========================================================================================================
// TAUNT
//====================================================================
response CS_Grunt_Taunt
{
	criteria		IsCombineS IsClass_Grunt ConceptTaunt 
	
	speak "vo.combine.grunt.taunt_010"
	speak "vo.combine.grunt.taunt_011"
	speak "vo.combine.grunt.taunt_012"
	speak "vo.combine.grunt.taunt_020"
	speak "vo.combine.grunt.taunt_021"
	speak "vo.combine.grunt.taunt_022"
	speak "vo.combine.grunt.taunt_030"
	speak "vo.combine.grunt.taunt_031"
	speak "vo.combine.grunt.taunt_032"
	speak "vo.combine.grunt.taunt_040"
	speak "vo.combine.grunt.taunt_041"
	speak "vo.combine.grunt.taunt_042"
	speak "vo.combine.grunt.taunt_050"
	speak "vo.combine.grunt.taunt_051"
	speak "vo.combine.grunt.taunt_052"
	speak "vo.combine.grunt.taunt_060"
	speak "vo.combine.grunt.taunt_061"
	speak "vo.combine.grunt.taunt_062"
	speak "vo.combine.grunt.taunt_070"
	speak "vo.combine.grunt.taunt_071"
	speak "vo.combine.grunt.taunt_072"
	speak "vo.combine.grunt.taunt_080"
	speak "vo.combine.grunt.taunt_081"
	speak "vo.combine.grunt.taunt_082"
	speak "vo.combine.grunt.taunt_090"
	speak "vo.combine.grunt.taunt_091"
	speak "vo.combine.grunt.taunt_092"
	speak "vo.combine.grunt.taunt_100"
	speak "vo.combine.grunt.taunt_101"
	speak "vo.combine.grunt.taunt_102"
	speak "vo.combine.grunt.taunt_110"
	speak "vo.combine.grunt.taunt_111"
	speak "vo.combine.grunt.taunt_112"
	speak "vo.combine.grunt.taunt_120"
	speak "vo.combine.grunt.taunt_121"
	speak "vo.combine.grunt.taunt_122"
	speak "vo.combine.grunt.taunt_130"
	speak "vo.combine.grunt.taunt_131"
	speak "vo.combine.grunt.taunt_132"
	speak "vo.combine.grunt.taunt_140"
	speak "vo.combine.grunt.taunt_141"
	speak "vo.combine.grunt.taunt_142"
	speak "vo.combine.grunt.taunt_150"
	speak "vo.combine.grunt.taunt_151"
	speak "vo.combine.grunt.taunt_152"
	speak "vo.combine.grunt.taunt_160"
	speak "vo.combine.grunt.taunt_161"
	speak "vo.combine.grunt.taunt_162"
	speak "vo.combine.grunt.taunt_170"
	speak "vo.combine.grunt.taunt_171"
	speak "vo.combine.grunt.taunt_172"
	speak "vo.combine.grunt.taunt_180"
	speak "vo.combine.grunt.taunt_181"
	speak "vo.combine.grunt.taunt_182"
	speak "vo.combine.grunt.taunt_190"
	speak "vo.combine.grunt.taunt_191"
	speak "vo.combine.grunt.taunt_192"
	speak "vo.combine.grunt.taunt_200"
	speak "vo.combine.grunt.taunt_201"
	speak "vo.combine.grunt.taunt_202"
	
}


//========================================================================================================
// HEAR SUSPICIOUS
//====================================================================
response CS_Grunt_HearSuspicous
{
	criteria		IsCombineS IsClass_Grunt ConceptHearSuspicious
	
	speak "vo.combine.grunt.hear_suspicious_01" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.hear_suspicious_02"
	speak "vo.combine.grunt.hear_suspicious_03"
	speak "vo.combine.grunt.hear_suspicious_04"
	speak "vo.combine.grunt.hear_suspicious_05"
	speak "vo.combine.grunt.hear_suspicious_06"
}


//========================================================================================================
// ATTACKING COVER
//====================================================================
response CS_Grunt_AttackingCover
{
	criteria		IsCombineS IsClass_Grunt ConceptAttackingCover
	
	speak "vo.combine.grunt.announceattack_cover_01"
	speak "vo.combine.grunt.announceattack_cover_02" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.announceattack_cover_03"
	speak "vo.combine.grunt.announceattack_cover_04"
	speak "vo.combine.grunt.announceattack_cover_05"
	speak "vo.combine.grunt.announceattack_cover_06"
	speak "vo.combine.grunt.announceattack_cover_07"
	speak "vo.combine.grunt.announceattack_cover_08"
	speak "vo.combine.grunt.announceattack_cover_09"
	speak "vo.combine.grunt.announceattack_cover_10"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.announceattack_cover_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.announceattack_cover_02" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.announceattack_cover_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.announceattack_cover_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.announceattack_cover_05"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.announceattack_cover_06"
		}
}


//========================================================================================================
// RETREATING
//====================================================================
response CS_Grunt_Retreating
{
	criteria		IsCombineS IsClass_Grunt ConceptDanger
	
	speak "vo.combine.grunt.retreat_01"
	speak "vo.combine.grunt.retreat_02"
	speak "vo.combine.grunt.retreat_03"
	speak "vo.combine.grunt.retreat_04"
	speak "vo.combine.grunt.retreat_05"
	speak "vo.combine.grunt.retreat_06"
	speak "vo.combine.grunt.retreat_07"
	speak "vo.combine.grunt.retreat_08"
	speak "vo.combine.grunt.retreat_09"
	speak "vo.combine.grunt.retreat_10"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.retreat_10"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.retreat_02" 
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.retreat_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.retreat_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.retreat_05"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.retreat_06"
		}
}



//========================================================================================================
// RETREATING DUE TO RELOAD
//====================================================================
response CS_Grunt_RetreatToReload
{
	criteria		IsCombineS IsClass_Grunt ConceptRetreatToReload
	
	speak "vo.combine.grunt.retreat_01" thensimple 1 speak "vo.combine.grunt.reload_01"
	speak "vo.combine.grunt.retreat_02" thensimple 1 speak "vo.combine.grunt.reload_02"
	speak "vo.combine.grunt.retreat_04" thensimple 1 speak "vo.combine.grunt.reload_04"
	speak "vo.combine.grunt.retreat_05" thensimple 1 speak "vo.combine.grunt.reload_05"
	speak "vo.combine.grunt.retreat_06" thensimple 1 speak "vo.combine.grunt.reload_06"
	speak "vo.combine.grunt.retreat_07"
	speak "vo.combine.grunt.retreat_08"
	speak "vo.combine.grunt.retreat_09"
	speak "vo.combine.grunt.retreat_10"
	speak "vo.combine.grunt.coverme_02"
	speak "vo.combine.grunt.coverme_03"
	speak "vo.combine.grunt.coverme_05"
	speak "vo.combine.grunt.coverme_06"
	speak "vo.combine.grunt.coverme_07" thensimple 1 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.underattack_01"
	speak "vo.combine.grunt.underattack_02"
	speak "vo.combine.grunt.underattack_03" thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.underattack_04"
	speak "vo.combine.grunt.underattack_05"
	speak "vo.combine.grunt.underattack_06"
	speak "vo.combine.grunt.underattack_07"
	speak "vo.combine.grunt.underattack_08"
	speak "vo.combine.grunt.underattack_09"
	speak "vo.combine.grunt.underattack_10"
	speak "vo.combine.grunt.underattack_11"
	speak "vo.combine.grunt.underattack_12"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.retreat_04"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.retreat_05" 
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.coverme_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.retreat_07"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.retreat_08"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.retreat_10"
		}
}


//========================================================================================================
// SEES RELOADING
//====================================================================
response CS_Grunt_SeesPlayerReloading
{
	criteria		IsCombineS IsClass_Grunt PlayerIsReloading 
	
	speak "vo.combine.grunt.sees_reloading_01"
	speak "vo.combine.grunt.sees_reloading_02"
	speak "vo.combine.grunt.sees_reloading_03"
	speak "vo.combine.grunt.sees_reloading_04"
	speak "vo.combine.grunt.sees_reloading_05"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.grunt.orderresponse_positive_01" thensimple 0 speak "vo.combine.grunt.sees_reloading_01"
			speak "vo.combine.grunt.orderresponse_positive_02" thensimple 0 speak "vo.combine.grunt.sees_reloading_02" 
			speak "vo.combine.grunt.orderresponse_positive_03" thensimple 0 speak "vo.combine.grunt.sees_reloading_03"
			speak "vo.combine.grunt.orderresponse_positive_04" thensimple 0 speak "vo.combine.grunt.sees_reloading_04"
			speak "vo.combine.grunt.orderresponse_positive_05" thensimple 0 speak "vo.combine.grunt.sees_reloading_05"
		}
}



//========================================================================================================
// EXERTION
//===========================
response CS_Grunt_Exert
{
	criteria		IsCombineS IsClass_Grunt ConceptGetBack 
	
	speak "vo.combine.grunt.avoids_rollerball_01" 
	speak "vo.combine.grunt.avoids_rollerball_03" 
	speak "vo.combine.grunt.avoids_rollerball_04" 
	speak "vo.combine.grunt.avoids_rollerball_05" 
	speak "vo.combine.grunt.avoids_rollerball_06" 
	speak "vo.combine.grunt.avoids_rollerball_07" 
}



//========================================================================================================
// IDLE
//===========================
response CS_Grunt_Idle
{
	criteria		IsCombineS IsClass_Grunt ConceptIdle
	
	speak "vo.combine.grunt.idle_01" respeakdelay 11
	speak "vo.combine.grunt.idle_02" respeakdelay 11
	speak "vo.combine.grunt.idle_03" respeakdelay 11
	speak "vo.combine.grunt.idle_04" respeakdelay 11
	speak "vo.combine.grunt.idle_05" respeakdelay 11
	speak "vo.combine.grunt.idle_06" respeakdelay 11
	speak "vo.combine.grunt.idle_07" respeakdelay 11
	speak "vo.combine.grunt.idle_08" respeakdelay 11
	speak "vo.combine.grunt.idle_09" respeakdelay 11
	speak "vo.combine.grunt.idle_10" respeakdelay 11
	speak "vo.combine.grunt.idle_11" respeakdelay 11
	speak "vo.combine.grunt.idle_12" respeakdelay 11
	speak "vo.combine.grunt.idle_13" respeakdelay 11
	speak "vo.combine.grunt.idle_14" respeakdelay 11
	speak "vo.combine.grunt.idle_15" respeakdelay 11
	speak "vo.combine.grunt.idle_16" respeakdelay 11
	speak "vo.combine.grunt.idle_17" respeakdelay 11
	speak "vo.combine.grunt.idle_18" respeakdelay 11
	speak "vo.combine.grunt.idle_19" respeakdelay 11
	speak "vo.combine.grunt.idle_20" respeakdelay 11
}

response CS_Grunt_IdleCombat
{
	criteria		IsCombineS IsClass_Grunt ConceptIdleCombat
	
	speak "vo.combine.grunt.combat_idle_010" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_011" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_012" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_020" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_021" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_022" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_030" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_031" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_032" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_040" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_041" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_042" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_050" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_051" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_052" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_060" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_061" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_062" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_070" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_071" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_072" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_080" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_081" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_082" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_090" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_091" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_092" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_100" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_101" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_102" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_110" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_111" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_112" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_120" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_121" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_122" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_130" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_131" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_132" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_140" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_141" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_142" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_150" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_151" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_152" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_160" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_161" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_162" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_170" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_171" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_172" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_180" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_181" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_182" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_190" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_191" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_192" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_200" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_201" respeakdelay 15
	speak "vo.combine.grunt.combat_idle_202" respeakdelay 15
	speak "vo.combine.grunt.taunt_010" respeakdelay 15
	speak "vo.combine.grunt.taunt_011" respeakdelay 15
	speak "vo.combine.grunt.taunt_012" respeakdelay 15
	speak "vo.combine.grunt.taunt_020" respeakdelay 15
	speak "vo.combine.grunt.taunt_021" respeakdelay 15
	speak "vo.combine.grunt.taunt_022" respeakdelay 15 
	speak "vo.combine.grunt.taunt_030" respeakdelay 15
	speak "vo.combine.grunt.taunt_031" respeakdelay 15
	speak "vo.combine.grunt.taunt_032" respeakdelay 15
	speak "vo.combine.grunt.taunt_040" respeakdelay 15
	speak "vo.combine.grunt.taunt_041" respeakdelay 15
	speak "vo.combine.grunt.taunt_042" respeakdelay 15
	speak "vo.combine.grunt.taunt_050" respeakdelay 15
	speak "vo.combine.grunt.taunt_051" respeakdelay 15
	speak "vo.combine.grunt.taunt_052" respeakdelay 15
	speak "vo.combine.grunt.taunt_060" respeakdelay 15
	speak "vo.combine.grunt.taunt_061" respeakdelay 15
	speak "vo.combine.grunt.taunt_062" respeakdelay 15
	speak "vo.combine.grunt.taunt_070" respeakdelay 15
	speak "vo.combine.grunt.taunt_071" respeakdelay 15
	speak "vo.combine.grunt.taunt_072" respeakdelay 15
	speak "vo.combine.grunt.taunt_080" respeakdelay 15
	speak "vo.combine.grunt.taunt_081" respeakdelay 15
	speak "vo.combine.grunt.taunt_082" respeakdelay 15
	speak "vo.combine.grunt.taunt_090" respeakdelay 15
	speak "vo.combine.grunt.taunt_091" respeakdelay 15
	speak "vo.combine.grunt.taunt_092" respeakdelay 15
	speak "vo.combine.grunt.taunt_100" respeakdelay 15
	speak "vo.combine.grunt.taunt_101" respeakdelay 15
	speak "vo.combine.grunt.taunt_102" respeakdelay 15
	speak "vo.combine.grunt.taunt_110" respeakdelay 15
	speak "vo.combine.grunt.taunt_111" respeakdelay 15
	speak "vo.combine.grunt.taunt_112" respeakdelay 15
	speak "vo.combine.grunt.taunt_120" respeakdelay 15
	speak "vo.combine.grunt.taunt_121" respeakdelay 15
	speak "vo.combine.grunt.taunt_122" respeakdelay 15
	speak "vo.combine.grunt.taunt_130" respeakdelay 15
	speak "vo.combine.grunt.taunt_131" respeakdelay 15
	speak "vo.combine.grunt.taunt_132" respeakdelay 15
	speak "vo.combine.grunt.taunt_140" respeakdelay 15
	speak "vo.combine.grunt.taunt_141" respeakdelay 15
	speak "vo.combine.grunt.taunt_142" respeakdelay 15
	speak "vo.combine.grunt.taunt_150" respeakdelay 15
	speak "vo.combine.grunt.taunt_151" respeakdelay 15
	speak "vo.combine.grunt.taunt_152" respeakdelay 15
	speak "vo.combine.grunt.taunt_160" respeakdelay 15
	speak "vo.combine.grunt.taunt_161" respeakdelay 15
	speak "vo.combine.grunt.taunt_162" respeakdelay 15
	speak "vo.combine.grunt.taunt_170" respeakdelay 15
	speak "vo.combine.grunt.taunt_171" respeakdelay 15
	speak "vo.combine.grunt.taunt_172" respeakdelay 15
	speak "vo.combine.grunt.taunt_180" respeakdelay 15
	speak "vo.combine.grunt.taunt_181" respeakdelay 15
	speak "vo.combine.grunt.taunt_182" respeakdelay 15
	speak "vo.combine.grunt.taunt_190" respeakdelay 15
	speak "vo.combine.grunt.taunt_191" respeakdelay 15
	speak "vo.combine.grunt.taunt_192" respeakdelay 15
	speak "vo.combine.grunt.taunt_200" respeakdelay 15
	speak "vo.combine.grunt.taunt_201" respeakdelay 15
	speak "vo.combine.grunt.taunt_202" respeakdelay 15
}


//======================================================================================
// FIRING LOCATION CALLOUTS
//======================================================================================


response CS_Grunt_NoSpeech
{
}

response CS_Grunt_Firing
{
	criteria		IsCombineS IsClass_Grunt ConceptFiring
	
	speak "vo.combine.grunt.firing_02" respeakdelay 12
	speak "vo.combine.grunt.firing_03" respeakdelay 12
	speak "vo.combine.grunt.firing_04" respeakdelay 12
	speak "vo.combine.grunt.firing_05" respeakdelay 12
	speak "vo.combine.grunt.firing_06" respeakdelay 12
	speak "vo.combine.grunt.firing_07" respeakdelay 12
	speak "vo.combine.grunt.firing_08" respeakdelay 12
	speak "vo.combine.grunt.firing_09" respeakdelay 12
	speak "vo.combine.grunt.firing_10" respeakdelay 12 thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.firing_110" respeakdelay 12
	speak "vo.combine.grunt.firing_111" respeakdelay 12
	speak "vo.combine.grunt.firing_112" respeakdelay 12
	speak "vo.combine.grunt.firing_120" respeakdelay 12
	speak "vo.combine.grunt.firing_121" respeakdelay 12
	speak "vo.combine.grunt.firing_122" respeakdelay 12
	speak "vo.combine.grunt.firing_130" respeakdelay 12
	speak "vo.combine.grunt.firing_131" respeakdelay 12
	speak "vo.combine.grunt.firing_132" respeakdelay 12
	speak "vo.combine.grunt.firing_140" respeakdelay 12
	speak "vo.combine.grunt.firing_141" respeakdelay 12
	speak "vo.combine.grunt.firing_142" respeakdelay 12
	speak "vo.combine.grunt.firing_150" respeakdelay 12
	speak "vo.combine.grunt.firing_151" respeakdelay 12
	speak "vo.combine.grunt.firing_152" respeakdelay 12
	speak "vo.combine.grunt.firing_160" respeakdelay 12
	speak "vo.combine.grunt.firing_161" respeakdelay 12
	speak "vo.combine.grunt.firing_162" respeakdelay 12
	speak "vo.combine.grunt.firing_170" respeakdelay 12
	speak "vo.combine.grunt.firing_171" respeakdelay 12
	speak "vo.combine.grunt.firing_172" respeakdelay 12
	speak "vo.combine.grunt.firing_180" respeakdelay 12
	speak "vo.combine.grunt.firing_181" respeakdelay 12
	speak "vo.combine.grunt.firing_182" respeakdelay 12
	speak "vo.combine.grunt.firing_190" respeakdelay 12
	speak "vo.combine.grunt.firing_191" respeakdelay 12
	speak "vo.combine.grunt.firing_192" respeakdelay 12
	speak "vo.combine.grunt.firing_200" respeakdelay 12
	speak "vo.combine.grunt.firing_201" respeakdelay 12
	speak "vo.combine.grunt.firing_202" respeakdelay 12
	speak "vo.combine.grunt.announceattack_01" respeakdelay 12
	speak "vo.combine.grunt.announceattack_02" respeakdelay 12
	speak "vo.combine.grunt.announceattack_03" respeakdelay 12
	speak "vo.combine.grunt.announceattack_04" respeakdelay 12
	speak "vo.combine.grunt.announceattack_05" respeakdelay 12
	speak "vo.combine.grunt.announceattack_06" respeakdelay 12
	speak "vo.combine.grunt.announceattack_07" respeakdelay 12
	speak "vo.combine.grunt.announceattack_08" respeakdelay 12
	speak "vo.combine.grunt.announceattack_09" respeakdelay 12
	speak "vo.combine.grunt.announceattack_11" respeakdelay 12
	speak "vo.combine.grunt.orderresponse_positive_01" respeakdelay 12
	speak "vo.combine.grunt.orderresponse_positive_02" respeakdelay 12
	speak "vo.combine.grunt.orderresponse_positive_03" respeakdelay 12
	speak "vo.combine.grunt.orderresponse_positive_04" respeakdelay 12
	speak "vo.combine.grunt.orderresponse_positive_05" respeakdelay 12
	speak "vo.combine.grunt.orderresponse_positive_06" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_01" respeakdelay 12 thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.refindenemy_02" respeakdelay 12 thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.refindenemy_03" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_04" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_05" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_06" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_07" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_08" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_09" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_10" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_11" respeakdelay 12 thensimple 0 speak "vo.combine.grunt.calloutcode_numbers"
	speak "vo.combine.grunt.refindenemy_12" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_13" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_14" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_15" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_16" respeakdelay 12
	speak "vo.combine.grunt.refindenemy_17" respeakdelay 12
	
	response
	{
		criteria		PlayerAtBarrels
		speak "vo.combine.grunt.calloutlocation_barrells_01" respeakdelay 17
	}
	
	
	response
	{
		criteria		PlayerAtBricks
		speak "vo.combine.grunt.calloutlocation_bricks_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBuilding
		speak "vo.combine.grunt.calloutlocation_building_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBridge
		speak "vo.combine.grunt.calloutlocation_bridge_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtCar
		speak "vo.combine.grunt.calloutlocation_car_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtCrane
		speak "vo.combine.grunt.calloutlocation_crane_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtDoor
		speak "vo.combine.grunt.calloutlocation_door_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtPipes
		speak "vo.combine.grunt.calloutlocation_pipes_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtShack
		speak "vo.combine.grunt.calloutlocation_shack_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTunnel
		speak "vo.combine.grunt.calloutlocation_tunnel_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtHut
		speak "vo.combine.grunt.calloutlocation_hut_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTrainCar
		speak "vo.combine.grunt.calloutlocation_traincar_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTrainCar
		speak "vo.combine.grunt.calloutlocation_traincar_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTruck
		speak "vo.combine.grunt.calloutlocation_truck_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtWoodPile
		speak "vo.combine.grunt.calloutlocation_woodpile_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtVan
		speak "vo.combine.grunt.calloutlocation_van_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtElevator
		speak "vo.combine.grunt.calloutlocation_elevator_01" respeakdelay 17
	}
	
	
	response
	{
		criteria		PlayerAtApartment
		speak "vo.combine.grunt.calloutlocation_apartment_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBelow
		speak "vo.combine.grunt.calloutlocation_below_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtAbove
		speak "vo.combine.grunt.calloutlocation_above_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBehind
		speak "vo.combine.grunt.calloutlocation_behind_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtToilet
		speak "vo.combine.grunt.calloutlocation_toilet_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtWheels
		speak "vo.combine.grunt.calloutlocation_wheels_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtFront
		speak "vo.combine.grunt.calloutlocation_front_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTrash
		speak "vo.combine.grunt.calloutlocation_trash_01" respeakdelay 17
	}
}

npc_combine_officer.txt

//========================================================================================================
// EXAMPLE OF NEW FORMAT
//====================================================================
criterion "ConceptExample" "concept" "COMBINESOLDIER_EXAMPLE" "required"
response CS_Officer_Example
{
	criteria IsCombineS IsClass_Officer ConceptExample

	response
	{
		criteria		SoldierIsHurt
		speak "vo.combine.officer.announceattack_cover_01"
	}
	response
	{
		criteria		SoldierIsUnhurt
		speak "vo.combine.officer.announceattack_cover_02" thensimple 1 speak "vo.combine.officer.announceattack_cover_01" thensimple 1 speak "vo.combine.officer.announceattack_cover_03"
	}
}


//========================================================================================================
// ADVANCING ON TARGET
//====================================================================
response CS_Officer_AdvancingOnTarget
{
	criteria		IsCombineS IsClass_Officer ConceptAdvancingOnTarget 
	
	speak "vo.combine.officer.advancing_on_target_01"
	speak "vo.combine.officer.advancing_on_target_02"
	speak "vo.combine.officer.advancing_on_target_03"
	speak "vo.combine.officer.advancing_on_target_04"
	speak "vo.combine.officer.advancing_on_target_05"
	speak "vo.combine.officer.advancing_on_target_06"
	speak "vo.combine.officer.advancing_on_target_07"
	speak "vo.combine.officer.advancing_on_target_08"
	speak "vo.combine.officer.advancing_on_target_10"
	speak "vo.combine.officer.advancing_on_target_11"
	speak "vo.combine.officer.advancing_on_target_13"
	speak "vo.combine.officer.advancing_on_target_14"
		
		response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.advancing_on_target_order_01"
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.advancing_on_target_order_02"
			speak "vo.combine.officer.advancing_on_target_order_03"
			speak "vo.combine.officer.advancing_on_target_order_04"
			speak "vo.combine.officer.advancing_on_target_order_05"
			speak "vo.combine.officer.advancing_on_target_order_06"
		}
		
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.advancing_on_target_order_01"
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.advancing_on_target_order_02"
			speak "vo.combine.officer.advancing_on_target_order_03"
			speak "vo.combine.officer.advancing_on_target_order_04"
			speak "vo.combine.officer.advancing_on_target_order_05"
			speak "vo.combine.officer.advancing_on_target_order_06"
		}
		
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.advancing_on_target_order_01"
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.advancing_on_target_order_02"
			speak "vo.combine.officer.advancing_on_target_order_03"
			speak "vo.combine.officer.advancing_on_target_order_04"
			speak "vo.combine.officer.advancing_on_target_order_05"
			speak "vo.combine.officer.advancing_on_target_order_06"
		}
}

	
//========================================================================================================
// ANNOUNCING CHARGE
//====================================================================
response CS_Officer_Charging
{
	criteria		IsCombineS IsClass_Officer ConceptAnnounceCharge 
	
	speak "vo.combine.officer.advancing_on_target_01"
	speak "vo.combine.officer.advancing_on_target_02"
	speak "vo.combine.officer.advancing_on_target_03"
	speak "vo.combine.officer.advancing_on_target_04"
	speak "vo.combine.officer.advancing_on_target_05"
	speak "vo.combine.officer.advancing_on_target_06"
	speak "vo.combine.officer.advancing_on_target_07"
	speak "vo.combine.officer.advancing_on_target_08"
	speak "vo.combine.officer.advancing_on_target_09"
	speak "vo.combine.officer.advancing_on_target_10"
	speak "vo.combine.officer.advancing_on_target_11"
	speak "vo.combine.officer.advancing_on_target_12"
	speak "vo.combine.officer.advancing_on_target_13"
	speak "vo.combine.officer.advancing_on_target_14"
}

//========================================================================================================
// ATTACKING WITH MANHACK
//====================================================================
response CS_Officer_DeployingManhack
{
	criteria		IsCombineS IsClass_Officer ConceptDeployingManhack 
	
	speak "vo.combine.officer.manhack_release_010"
	speak "vo.combine.officer.manhack_release_011"
	speak "vo.combine.officer.manhack_release_012"
	speak "vo.combine.officer.manhack_release_020"
	speak "vo.combine.officer.manhack_release_021"
	speak "vo.combine.officer.manhack_release_022"
	speak "vo.combine.officer.manhack_release_030"
	speak "vo.combine.officer.manhack_release_031"
	speak "vo.combine.officer.manhack_release_032"
	speak "vo.combine.officer.manhack_release_040"
	speak "vo.combine.officer.manhack_release_041"
	speak "vo.combine.officer.manhack_release_042"
	speak "vo.combine.officer.manhack_release_050"
	speak "vo.combine.officer.manhack_release_051"
	speak "vo.combine.officer.manhack_release_052"
	speak "vo.combine.officer.manhack_release_060"
	speak "vo.combine.officer.manhack_release_061"
	speak "vo.combine.officer.manhack_release_062"
	speak "vo.combine.officer.manhack_release_070"
	speak "vo.combine.officer.manhack_release_071"
	speak "vo.combine.officer.manhack_release_072"
	speak "vo.combine.officer.manhack_release_080"
	speak "vo.combine.officer.manhack_release_081"
	speak "vo.combine.officer.manhack_release_082"
	speak "vo.combine.officer.manhack_release_090"
	speak "vo.combine.officer.manhack_release_091"
	speak "vo.combine.officer.manhack_release_092"
	speak "vo.combine.officer.manhack_release_100"
	speak "vo.combine.officer.manhack_release_101"
	speak "vo.combine.officer.manhack_release_102"
	speak "vo.combine.officer.manhack_release_110"
	speak "vo.combine.officer.manhack_release_111"
	speak "vo.combine.officer.manhack_release_112"
}

//========================================================================================================
// ANNOUNCING ATTACKS - GRENADE THROW
//====================================================================
response CS_Officer_AnnounceAttack_Grenade
{
	criteria		IsCombineS IsClass_Officer ConceptThrowingGrenade
	
	speak "vo.combine.officer.announceattack_grenade_01" 
	speak "vo.combine.officer.announceattack_grenade_02" 
	speak "vo.combine.officer.announceattack_grenade_03" 
	speak "vo.combine.officer.announceattack_grenade_04" 
	speak "vo.combine.officer.announceattack_grenade_05" 
	speak "vo.combine.officer.announceattack_grenade_06" 
	speak "vo.combine.officer.announceattack_grenade_07"

		response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.announceattack_grenade_order_01"
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.announceattack_grenade_order_02"
			speak "vo.combine.officer.announceattack_grenade_order_03"
		}
		
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.announceattack_grenade_order_01"
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.announceattack_grenade_order_02"
			speak "vo.combine.officer.announceattack_grenade_order_03"
		}
		
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.announceattack_grenade_order_01"
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.announceattack_grenade_order_02"
			speak "vo.combine.officer.announceattack_grenade_order_03"
		}
}


//========================================================================================================
// ANNOUNCING ENEMY
//====================================================================
response CS_Officer_AnnounceEnemy
{	
	criteria		IsCombineS IsClass_Officer ConceptAnnounceEnemy
	
	speak "vo.combine.officer.announceattack_01"
	speak "vo.combine.officer.announceattack_02"
	speak "vo.combine.officer.announceattack_03"
	speak "vo.combine.officer.announceattack_04"
	speak "vo.combine.officer.announceattack_05"
	speak "vo.combine.officer.announceattack_06"
	speak "vo.combine.officer.announceattack_07"
	speak "vo.combine.officer.announceattack_09"
	
	response
	{
		criteria		IsOrderCall ResponderIsofficer
		speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.announceattack_order_01"
		speak "vo.combine.officer.announceattack_order_02"
	}
		
	response
	{
		criteria		IsOrderCall ResponderIsCharger
		speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.announceattack_order_01"
		speak "vo.combine.officer.announceattack_order_02"
	}
		
	response
	{
		criteria		IsOrderCall ResponderIsSuppressor
		speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.announceattack_order_01"
		speak "vo.combine.officer.announceattack_order_02"
	}
	
	
	response
	{
		criteria		EnemyIsPlayer
		
		speak "vo.combine.officer.announceattack_01"
		speak "vo.combine.officer.announceattack_02"
		speak "vo.combine.officer.announceattack_03"
		speak "vo.combine.officer.announceattack_04"
		speak "vo.combine.officer.announceattack_05"
		speak "vo.combine.officer.announceattack_06"
		speak "vo.combine.officer.announceattack_07"
		speak "vo.combine.officer.announceattack_09"
		
		response
		{
			criteria 	AlyxIsKnown
			speak "vo.combine.officer.announceattack_alyx_01"
			speak "vo.combine.officer.announceattack_alyx_02"
			speak "vo.combine.officer.announceattack_alyx_03"
			speak "vo.combine.officer.announceattack_alyx_04"
			speak "vo.combine.officer.announceattack_alyx_05"
			speak "vo.combine.officer.announceattack_alyx_06"
			speak "vo.combine.officer.announceattack_alyx_07"
			speak "vo.combine.officer.announceattack_alyx_08"
		}
		
		
		
		response
		{
			criteria		IsOrderCall ResponderIsofficer AlyxIsKnown
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.announceattack_alyx_order_01"
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.announceattack_alyx_order_02"
			speak "vo.combine.officer.announceattack_alyx_order_03"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger AlyxIsKnown
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.announceattack_alyx_order_01"
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.announceattack_alyx_order_02"
			speak "vo.combine.officer.announceattack_alyx_order_03"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor AlyxIsKnown
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.announceattack_alyx_order_01"
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.announceattack_alyx_order_02"
			speak "vo.combine.officer.announceattack_alyx_order_03"
		}
		
		response
		{
			criteria		PlayerHasUpgrades 
			speak "vo.combine.officer.sees_upgrades_01"
			speak "vo.combine.officer.sees_upgrades_02"
			speak "vo.combine.officer.sees_upgrades_03"
			speak "vo.combine.officer.sees_upgrades_04"
			speak "vo.combine.officer.sees_upgrades_05"
		}
		
		response
		{
			criteria		PlayerHasGrenades
			speak "vo.combine.officer.sees_grenades_01"
			speak "vo.combine.officer.sees_grenades_02"
			speak "vo.combine.officer.sees_grenades_03"
			speak "vo.combine.officer.sees_grenades_04"
			speak "vo.combine.officer.sees_grenades_05"
		}
	}
	
	
	response
	{
		criteria		EnemyIsAntlion
		speak "vo.combine.officer.announceenemy_antlion_01" 
		speak "vo.combine.officer.announceenemy_antlion_02" 
		speak "vo.combine.officer.announceenemy_antlion_03" 
		speak "vo.combine.officer.announceenemy_antlion_04" 
		speak "vo.combine.officer.announceenemy_antlion_05" 
		speak "vo.combine.officer.announceenemy_antlion_06" 
		
	}
	
	response
	{
		criteria		EnemyIsZombie
		speak "vo.combine.officer.announceenemy_zombie_01" 
		speak "vo.combine.officer.announceenemy_zombie_02" 
		speak "vo.combine.officer.announceenemy_zombie_03" 
		speak "vo.combine.officer.announceenemy_zombie_04" 
		speak "vo.combine.officer.announceenemy_zombie_05" 
		speak "vo.combine.officer.announceenemy_zombie_06" 
		speak "vo.combine.officer.announceenemy_zombie_07" 
		speak "vo.combine.officer.announceenemy_zombie_08" 
		speak "vo.combine.officer.announceenemy_zombie_09" 
		speak "vo.combine.officer.announceenemy_zombie_10" 
	}
	
	response
	{
		criteria		EnemyIsHeadcrab
		speak "vo.combine.officer.announceenemy_headcrabs_01" 
		speak "vo.combine.officer.announceenemy_headcrabs_02"  thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
		speak "vo.combine.officer.announceenemy_headcrabs_03" 
		speak "vo.combine.officer.announceenemy_headcrabs_04" 
		speak "vo.combine.officer.announceenemy_headcrabs_05" 
		speak "vo.combine.officer.announceenemy_headcrabs_08" 
		speak "vo.combine.officer.announceenemy_headcrabs_09" 
		speak "vo.combine.officer.announceenemy_headcrabs_10" 
	}
	
	
	
}

//========================================================================================================
// ANNOUNCE KILL
//============================
response CS_Officer_AnnounceKill
{
	criteria		IsCombineS IsClass_Officer ConceptAnnounceKill
	
	
		speak "vo.combine.officer.announcekill_01" 
		speak "vo.combine.officer.announcekill_02" 
		speak "vo.combine.officer.announcekill_03" 
		speak "vo.combine.officer.announcekill_04" 
		speak "vo.combine.officer.announcekill_05" 
		speak "vo.combine.officer.announcekill_06" 
		speak "vo.combine.officer.announcekill_09" 
		speak "vo.combine.officer.announcekill_11" 
		
		response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.announcekill_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_echoone_01"
			speak "vo.combine.officer.announcekill_order_02" thensimple 0 speak "vo.combine.officer.calloutentity_echoone_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.announcekill_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_wallhammer_01"
			speak "vo.combine.officer.announcekill_order_02" thensimple 0 speak "vo.combine.officer.calloutentity_wallhammer_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.announcekill_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_apf_01"
			speak "vo.combine.officer.announcekill_order_02" thensimple 0 speak "vo.combine.officer.calloutentity_apf_02"
		}
	
	response
	{
		criteria		EnemyIsPlayer
		speak "vo.combine.officer.announcekill_player_01" 
		speak "vo.combine.officer.announcekill_player_02" 
		speak "vo.combine.officer.announcekill_player_03" 
		speak "vo.combine.officer.announcekill_player_04" 
		speak "vo.combine.officer.announcekill_player_05" 
		speak "vo.combine.officer.announcekill_player_06" 
		speak "vo.combine.officer.announcekill_player_07" 

		speak "vo.combine.officer.announcekill_01" 
		speak "vo.combine.officer.announcekill_02" 
		speak "vo.combine.officer.announcekill_03" 
		speak "vo.combine.officer.announcekill_04" 
		speak "vo.combine.officer.announcekill_05" 
		speak "vo.combine.officer.announcekill_06" 
		speak "vo.combine.officer.announcekill_09" 
		speak "vo.combine.officer.announcekill_11" 
		speak "vo.combine.officer.announcekill_12" 
		speak "vo.combine.officer.announcekill_13" 
		speak "vo.combine.officer.announcekill_14" 
		speak "vo.combine.officer.announcekill_15" 
		
		response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.announcekill_player_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_echoone_01"
			speak "vo.combine.officer.announcekill_player_order_02" thensimple 0 speak "vo.combine.officer.calloutentity_echoone_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.announcekill_player_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_wallhammer_01"
			speak "vo.combine.officer.announcekill_player_order_02" thensimple 0 speak "vo.combine.officer.calloutentity_wallhammer_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.announcekill_player_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_apf_01"
			speak "vo.combine.officer.announcekill_player_order_02" thensimple 0 speak "vo.combine.officer.calloutentity_apf_02"
		}
		
	}
	
	response
	{
		criteria		EnemyIsAntlion
		speak "vo.combine.officer.announcekill_antlion_01" 
		speak "vo.combine.officer.announcekill_antlion_02" 
		speak "vo.combine.officer.announcekill_antlion_03" 
		speak "vo.combine.officer.announcekill_antlion_04" 
		speak "vo.combine.officer.announcekill_antlion_05" 
		speak "vo.combine.officer.announcekill_01" 
		speak "vo.combine.officer.announcekill_02" 
		speak "vo.combine.officer.announcekill_03" 
		speak "vo.combine.officer.announcekill_04" 
	}
	
	response
	{
		criteria		EnemyIsZombie
		speak "vo.combine.officer.announcekill_zombie_01" 
		speak "vo.combine.officer.announcekill_zombie_02" 
		speak "vo.combine.officer.announcekill_zombie_02" 
		speak "vo.combine.officer.announcekill_zombie_03" 
		speak "vo.combine.officer.announcekill_zombie_04" 
		speak "vo.combine.officer.announcekill_zombie_05" 
		speak "vo.combine.officer.announcekill_05" 
		speak "vo.combine.officer.announcekill_06" 
		speak "vo.combine.officer.announcekill_09" 
		speak "vo.combine.officer.announcekill_11" 
		
		response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.announcekill_zombie_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_echoone_01"
			speak "vo.combine.officer.announcekill_zombie_order_02" thensimple 0 speak "vo.combine.officer.calloutentity_echoone_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.announcekill_zombie_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_wallhammer_01"
			speak "vo.combine.officer.announcekill_zombie_order_02" thensimple 0 speak "vo.combine.officer.calloutentity_wallhammer_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.announcekill_zombie_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_apf_01"
			speak "vo.combine.officer.announcekill_zombie_order_02" thensimple 0 speak "vo.combine.officer.calloutentity_apf_02"
		}
	}
	
	response
	{
		criteria		EnemyIsHeadcrab
		speak "vo.combine.officer.announcekill_headcrab_01" 
		speak "vo.combine.officer.announcekill_headcrab_02" 
		speak "vo.combine.officer.announcekill_headcrab_03" 
		speak "vo.combine.officer.announcekill_headcrab_04" 
		speak "vo.combine.officer.announcekill_headcrab_05" 
		speak "vo.combine.officer.announcekill_headcrab_06" 
		speak "vo.combine.officer.announcekill_headcrab_07" 
		speak "vo.combine.officer.announcekill_headcrab_08" 
		speak "vo.combine.officer.announcekill_headcrab_09" 
		speak "vo.combine.officer.announcekill_12" 
		speak "vo.combine.officer.announcekill_13" 
		speak "vo.combine.officer.announcekill_14" 
		speak "vo.combine.officer.announcekill_15" 
		
	}
}


//========================================================================================================
// REQUESTING COVER
//====================================================================
response CS_Officer_CoverMe
{
	criteria		IsCombineS IsClass_Officer ConceptCoverMe HasOtherSquadMembers
	
	speak "vo.combine.officer.coverme_01" 
	speak "vo.combine.officer.coverme_02" 
	speak "vo.combine.officer.coverme_03" 
	speak "vo.combine.officer.coverme_04" 
	speak "vo.combine.officer.coverme_05" 
	speak "vo.combine.officer.coverme_06" 
	speak "vo.combine.officer.coverme_07" 
}


//========================================================================================================
// ANNOUNCING DANGER - GRENADE
//====================================================================
response CS_Officer_AnnounceDanger_Grenade
{
	criteria		IsCombineS IsClass_Officer ConceptDanger DangerIsGrenade
	
	speak "vo.combine.officer.danger_grenade_01"
	speak "vo.combine.officer.danger_grenade_02"
	speak "vo.combine.officer.danger_grenade_03"
	speak "vo.combine.officer.danger_grenade_04"
	speak "vo.combine.officer.danger_grenade_05"
	speak "vo.combine.officer.danger_grenade_06"
	speak "vo.combine.officer.danger_grenade_07"
	speak "vo.combine.officer.danger_grenade_08" thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.danger_grenade_09"
	speak "vo.combine.officer.danger_grenade_10"
}


//========================================================================================================
// DEATH
//==================================

response CS_Officer_Die
{
	criteria		IsCombineS IsClass_Officer ConceptDie
	
	speak "vo.combine.officer.die_01" noscene
	speak "vo.combine.officer.die_02" noscene
	speak "vo.combine.officer.die_03" noscene
	speak "vo.combine.officer.die_04" noscene
	speak "vo.combine.officer.die_05" noscene
	speak "vo.combine.officer.die_06" noscene
	speak "vo.combine.officer.die_07" noscene
	speak "vo.combine.officer.die_08" noscene
	speak "vo.combine.officer.die_09" noscene
	speak "vo.combine.officer.die_10" noscene
	
}

//========================================================================================================
// ESTABLISHING LINE OF FIRE
//====================================================================
response CS_Officer_EstablishingLOF
{
	criteria		IsCombineS IsClass_Officer ConceptEstablishingLOF
	
	speak "vo.combine.officer.establishinglof_01" respeakdelay 5
	speak "vo.combine.officer.establishinglof_02" respeakdelay 5
	speak "vo.combine.officer.establishinglof_03" respeakdelay 5
	speak "vo.combine.officer.establishinglof_04" respeakdelay 5
	speak "vo.combine.officer.establishinglof_05" respeakdelay 5
	speak "vo.combine.officer.establishinglof_06" respeakdelay 5
	speak "vo.combine.officer.establishinglof_07" respeakdelay 5
	speak "vo.combine.officer.establishinglof_08" respeakdelay 5
	speak "vo.combine.officer.establishinglof_09" respeakdelay 5
	speak "vo.combine.officer.establishinglof_10" respeakdelay 5
	speak "vo.combine.officer.establishinglof_11" respeakdelay 5
	speak "vo.combine.officer.establishinglof_12" respeakdelay 5
	speak "vo.combine.officer.establishinglof_13" respeakdelay 5
	speak "vo.combine.officer.establishinglof_14" respeakdelay 5
	speak "vo.combine.officer.establishinglof_15" respeakdelay 5
	
		response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.establishinglof_order_01"
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.establishinglof_order_02"
			speak "vo.combine.officer.establishinglof_order_03"
			speak "vo.combine.officer.establishinglof_order_04"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.establishinglof_order_01"
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.establishinglof_order_02"
			speak "vo.combine.officer.establishinglof_order_03"
			speak "vo.combine.officer.establishinglof_order_04"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.establishinglof_order_01"
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.establishinglof_order_02"
			speak "vo.combine.officer.establishinglof_order_03"
			speak "vo.combine.officer.establishinglof_order_04"
		}
}




//========================================================================================================
// FLUSHING ENEMY OUT OF COVER
//====================================================================
response CS_Officer_FlushingEnemy
{
	criteria		IsCombineS IsClass_Officer ConceptFlushingEnemy 
	
	speak "vo.combine.officer.flushing_01"
	speak "vo.combine.officer.flushing_02"
	speak "vo.combine.officer.flushing_03" thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.flushing_04"
	speak "vo.combine.officer.flushing_05"
	speak "vo.combine.officer.flushing_06"
	speak "vo.combine.officer.flushing_07"
}


//========================================================================================================
// GET BACK
//====================================================================
response CS_Officer_GetBack
{
	criteria		IsCombineS IsClass_Officer ConceptGetBack 
	
	speak "vo.combine.officer.getback_01" 
	speak "vo.combine.officer.getback_02" 
	speak "vo.combine.officer.getback_03"	
}


//========================================================================================================
// INJURED
//====================================================================
response CS_Officer_Injured
{
	criteria		IsCombineS IsClass_Officer ConceptInjured 
	
	speak "vo.combine.officer.injured_01"
	speak "vo.combine.officer.injured_02"
	speak "vo.combine.officer.injured_03" 
	speak "vo.combine.officer.injured_04" 
	speak "vo.combine.officer.injured_05"
	speak "vo.combine.officer.injured_06"
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.injured_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.injured_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.injured_order_01"
		}
}

//========================================================================================================
// LIMPING
//====================================================================
response CS_Officer_Limping
{
	criteria		IsCombineS IsClass_Officer ConceptLimping 
	
	speak "vo.combine.officer.panting_01"
}


//========================================================================================================
// LOST ENEMY 16+ sec
//====================================================================
response CS_Officer_LostShort
{
	criteria		IsCombineS IsClass_Officer ConceptLostEnemy LostEnemyShortTime
	
	speak "vo.combine.officer.lostenemy_01"
	speak "vo.combine.officer.lostenemy_02"
	speak "vo.combine.officer.lostenemy_03"
	speak "vo.combine.officer.lostenemy_04"
	speak "vo.combine.officer.lostenemy_05"
	speak "vo.combine.officer.lostenemy_06"
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.lostenemy_order_01"
			speak "vo.combine.officer.lostenemy_order_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.lostenemy_order_01"
			speak "vo.combine.officer.lostenemy_order_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.lostenemy_order_01"
			speak "vo.combine.officer.lostenemy_order_02"
		}
}


//========================================================================================================
// LOST VISUAL 3+ sec
//====================================================================
response CS_Officer_LostVisual
{
	criteria		IsCombineS IsClass_Officer ConceptLostVisual 
	
	speak "vo.combine.officer.lostvisual_01" respeakdelay 8
	speak "vo.combine.officer.lostvisual_02" respeakdelay 8
	speak "vo.combine.officer.lostvisual_03" respeakdelay 8
	speak "vo.combine.officer.lostvisual_04" respeakdelay 8
	speak "vo.combine.officer.lostvisual_05" respeakdelay 8 thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.lostvisual_06" respeakdelay 8
	speak "vo.combine.officer.lostvisual_07" respeakdelay 8 thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.lostvisual_08" respeakdelay 8
	speak "vo.combine.officer.lostvisual_09" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_01" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_02" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_03" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_04" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_05" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_06" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_07" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_09" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_10" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_11" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_12" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_13" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_14" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_15" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_16" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_17" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_search_18" respeakdelay 8
	
		response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.lostvisual_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.lostvisual_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.lostvisual_order_01"
		}
	
	response
	{
		criteria		EnemyIsPlayer
		speak "vo.combine.officer.lostvisual_01" respeakdelay 11
		speak "vo.combine.officer.lostvisual_02" respeakdelay 11
		speak "vo.combine.officer.lostvisual_03" respeakdelay 11
		speak "vo.combine.officer.lostvisual_04" respeakdelay 11
		speak "vo.combine.officer.lostvisual_05" respeakdelay 11 thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
		speak "vo.combine.officer.lostvisual_06" respeakdelay 11
		speak "vo.combine.officer.lostvisual_07" respeakdelay 11 thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
		speak "vo.combine.officer.lostvisual_08" respeakdelay 11
		speak "vo.combine.officer.lostvisual_09" respeakdelay 11
		
		response
		{
			criteria AlyxIsKnown
			speak "vo.combine.officer.lostvisual_player_01" respeakdelay 11
			speak "vo.combine.officer.lostvisual_player_02" respeakdelay 11
			speak "vo.combine.officer.lostvisual_player_03" respeakdelay 11
			speak "vo.combine.officer.lostvisual_player_04" respeakdelay 11
		}
		
		
		response
		{
			criteria		IsOrderCall ResponderIsofficer AlyxIsKnown
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.lostvisual_player_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger AlyxIsKnown
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.lostvisual_player_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor AlyxIsKnown
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.lostvisual_player_order_01"
		}
	}
	
}


//========================================================================================================
// PANIC ON ENEMY NEAR
//====================================================================
response CS_Officer_NearPanic
{
	criteria		IsCombineS IsClass_Officer ConceptNearPanic
	
	speak "vo.combine.officer.nearpanic_01"
	speak "vo.combine.officer.nearpanic_02"
	speak "vo.combine.officer.nearpanic_03"
	speak "vo.combine.officer.nearpanic_04"
	speak "vo.combine.officer.nearpanic_05"
}


//========================================================================================================
// ENTERING OVERWATCH
//====================================================================

response CS_Officer_Overwatch
{
	criteria		IsCombineS IsClass_Officer ConceptOverwatch 
	
	speak "vo.combine.officer.overwatch_01" respeakdelay 8
	speak "vo.combine.officer.overwatch_02" respeakdelay 8
	speak "vo.combine.officer.overwatch_03" respeakdelay 8
	speak "vo.combine.officer.overwatch_04" respeakdelay 8
	speak "vo.combine.officer.overwatch_05" respeakdelay 8
	speak "vo.combine.officer.overwatch_06" respeakdelay 8
	speak "vo.combine.officer.overwatch_07" respeakdelay 8
	speak "vo.combine.officer.overwatch_08" respeakdelay 8
	speak "vo.combine.officer.overwatch_09" respeakdelay 8
	speak "vo.combine.officer.overwatch_10" respeakdelay 8
	speak "vo.combine.officer.overwatch_11" respeakdelay 8
	speak "vo.combine.officer.overwatch_12" respeakdelay 8
	speak "vo.combine.officer.overwatch_13" respeakdelay 8
	speak "vo.combine.officer.overwatch_14" respeakdelay 8
	speak "vo.combine.officer.overwatch_15" respeakdelay 8
	speak "vo.combine.officer.overwatch_16" respeakdelay 8
	speak "vo.combine.officer.overwatch_17" respeakdelay 8
	speak "vo.combine.officer.overwatch_18" respeakdelay 8
	speak "vo.combine.officer.overwatch_19" respeakdelay 8
	speak "vo.combine.officer.overwatch_20" respeakdelay 8
	speak "vo.combine.officer.lostenemy_01" respeakdelay 8
	speak "vo.combine.officer.lostenemy_02" respeakdelay 8
	speak "vo.combine.officer.lostenemy_03" respeakdelay 8
	speak "vo.combine.officer.lostenemy_04" respeakdelay 8
	speak "vo.combine.officer.lostenemy_05" respeakdelay 8
	speak "vo.combine.officer.lostenemy_06" respeakdelay 8
	speak "vo.combine.officer.lostvisual_01" respeakdelay 8
	speak "vo.combine.officer.lostvisual_02" respeakdelay 8
	speak "vo.combine.officer.lostvisual_03" respeakdelay 8
	speak "vo.combine.officer.lostvisual_04" respeakdelay 8
	speak "vo.combine.officer.lostvisual_05" respeakdelay 8 thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.lostvisual_06" respeakdelay 8
	speak "vo.combine.officer.lostvisual_07" respeakdelay 8 thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.lostvisual_08" respeakdelay 8
	speak "vo.combine.officer.lostvisual_09" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_01" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_03" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_04" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_05" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_06" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_08" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_09" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_10" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_11" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_12" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_13" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_14" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_15" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_16" respeakdelay 8
	speak "vo.combine.officer.reconnoiter_start_17" respeakdelay 8
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.overwatch_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.overwatch_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.overwatch_order_01"
		}
}


//========================================================================================================
// PAIN 
//============================

response CS_Officer_Pain
{
	criteria		IsCombineS IsClass_Officer ConceptPain
	
	speak "vo.combine.officer.pain_01" 
	speak "vo.combine.officer.pain_02" 
	speak "vo.combine.officer.pain_03" 
	speak "vo.combine.officer.pain_04" 
	speak "vo.combine.officer.pain_05" 
	speak "vo.combine.officer.pain_06" 
	speak "vo.combine.officer.pain_07" 
	speak "vo.combine.officer.pain_08" 
	speak "vo.combine.officer.pain_09" 
	speak "vo.combine.officer.pain_10" 
	speak "vo.combine.officer.pain_01" thensimple 1 speak "vo.combine.officer.underattack_01"
	speak "vo.combine.officer.pain_02" thensimple 1 speak "vo.combine.officer.underattack_02"
	speak "vo.combine.officer.pain_03" thensimple 1 speak "vo.combine.officer.underattack_03"
	speak "vo.combine.officer.pain_04" thensimple 1 speak "vo.combine.officer.underattack_04"
	speak "vo.combine.officer.pain_05" thensimple 1 speak "vo.combine.officer.underattack_05"
	speak "vo.combine.officer.pain_06" thensimple 1 speak "vo.combine.officer.underattack_06"
	speak "vo.combine.officer.pain_07" thensimple 1 speak "vo.combine.officer.underattack_07"
	speak "vo.combine.officer.pain_08" thensimple 1 speak "vo.combine.officer.underattack_08"
	speak "vo.combine.officer.pain_09" thensimple 1 speak "vo.combine.officer.underattack_09"
	speak "vo.combine.officer.pain_10" thensimple 1 speak "vo.combine.officer.underattack_10"
	speak "vo.combine.officer.pain_01" thensimple 1 speak "vo.combine.officer.underattack_11"
	speak "vo.combine.officer.pain_02" thensimple 1 speak "vo.combine.officer.underattack_12"
}



//========================================================================================================
// PLAYER IS WOUNDED
//====================================================================
response CS_Officer_PlayerIsHurt
{
	criteria		IsCombineS IsClass_Officer ConceptPlayerIsHurt 
	
	speak "vo.combine.officer.playerishurt_01"
	speak "vo.combine.officer.playerishurt_02"
	speak "vo.combine.officer.playerishurt_03"
	speak "vo.combine.officer.playerishurt_04"
	speak "vo.combine.officer.playerishurt_05"
	speak "vo.combine.officer.playerishurt_06"
	speak "vo.combine.officer.playerishurt_07"
	speak "vo.combine.officer.playerishurt_08"
	speak "vo.combine.officer.playerishurt_09"
	speak "vo.combine.officer.playerishurt_10"
	speak "vo.combine.officer.playerishurt_11"
	speak "vo.combine.officer.playerishurt_12"
	speak "vo.combine.officer.playerishurt_13"
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.playerishurt_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.playerishurt_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.playerishurt_order_01"
		}
}


//========================================================================================================
// RECONNOITER END
//====================================================================
response CS_Officer_ReconnoiterFinish
{
	criteria		IsCombineS IsClass_Officer ConceptReconnoiterFinish 
	
	speak "vo.combine.officer.reconnoiter_finish_01"
	speak "vo.combine.officer.reconnoiter_finish_02"
	speak "vo.combine.officer.reconnoiter_finish_03"
	speak "vo.combine.officer.reconnoiter_finish_04"
	speak "vo.combine.officer.reconnoiter_finish_05"
	speak "vo.combine.officer.reconnoiter_finish_06"
	speak "vo.combine.officer.reconnoiter_finish_07"
	speak "vo.combine.officer.reconnoiter_finish_08"
	speak "vo.combine.officer.reconnoiter_finish_09"
	speak "vo.combine.officer.reconnoiter_finish_10"
	speak "vo.combine.officer.reconnoiter_finish_11"
	speak "vo.combine.officer.reconnoiter_finish_12"
	speak "vo.combine.officer.reconnoiter_finish_13"
	speak "vo.combine.officer.reconnoiter_finish_14"
	speak "vo.combine.officer.reconnoiter_finish_15"
	speak "vo.combine.officer.reconnoiter_finish_16"
	speak "vo.combine.officer.reconnoiter_finish_18"
	speak "vo.combine.officer.reconnoiter_finish_19"
	speak "vo.combine.officer.reconnoiter_finish_20"
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.reconnoiter_finish_order_01"
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.reconnoiter_finish_order_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.reconnoiter_finish_order_01"
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.reconnoiter_finish_order_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.reconnoiter_finish_order_01"
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.reconnoiter_finish_order_02"
		}
}


//========================================================================================================
// RECONNOITER SEARCH
//====================================================================
response CS_Officer_ReconnoiterSearch
{
	criteria		IsCombineS IsClass_Officer ConceptReconnoiterSearch 
	
	speak "vo.combine.officer.reconnoiter_search_01"
	speak "vo.combine.officer.reconnoiter_search_02"
	speak "vo.combine.officer.reconnoiter_search_03"
	speak "vo.combine.officer.reconnoiter_search_04"
	speak "vo.combine.officer.reconnoiter_search_05"
	speak "vo.combine.officer.reconnoiter_search_06"
	speak "vo.combine.officer.reconnoiter_search_07"
	speak "vo.combine.officer.reconnoiter_search_09"
	speak "vo.combine.officer.reconnoiter_search_10"
	speak "vo.combine.officer.reconnoiter_search_11"
	speak "vo.combine.officer.reconnoiter_search_12"
	speak "vo.combine.officer.reconnoiter_search_13"
	speak "vo.combine.officer.reconnoiter_search_14"
	speak "vo.combine.officer.reconnoiter_search_15"
	speak "vo.combine.officer.reconnoiter_search_16"
	speak "vo.combine.officer.reconnoiter_search_17"
	speak "vo.combine.officer.reconnoiter_search_18"
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.reconnoiter_search_order_01"
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.reconnoiter_search_order_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.reconnoiter_search_order_01"
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.reconnoiter_search_order_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.reconnoiter_search_order_01"
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.reconnoiter_search_order_02"
		}
}


//========================================================================================================
// RECONNOITER START
//====================================================================
response CS_Officer_Reconnoiter
{
	criteria		IsCombineS IsClass_Officer ConceptReconnoiterStart 
	
	speak "vo.combine.officer.reconnoiter_start_01"
	speak "vo.combine.officer.reconnoiter_start_03"
	speak "vo.combine.officer.reconnoiter_start_04"
	speak "vo.combine.officer.reconnoiter_start_05"
	speak "vo.combine.officer.reconnoiter_start_06"
	speak "vo.combine.officer.reconnoiter_start_08"
	speak "vo.combine.officer.reconnoiter_start_09"
	speak "vo.combine.officer.reconnoiter_start_10"
	speak "vo.combine.officer.reconnoiter_start_11"
	speak "vo.combine.officer.reconnoiter_start_12"
	speak "vo.combine.officer.reconnoiter_start_13"
	speak "vo.combine.officer.reconnoiter_start_14"
	speak "vo.combine.officer.reconnoiter_start_15"
	speak "vo.combine.officer.reconnoiter_start_16"
	speak "vo.combine.officer.reconnoiter_start_17"
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.reconnoiter_start_order_01"
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.reconnoiter_start_order_02"
			speak "vo.combine.officer.reconnoiter_start_order_04"
			speak "vo.combine.officer.reconnoiter_start_order_05"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.reconnoiter_start_order_01"
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.reconnoiter_start_order_02"
			speak "vo.combine.officer.reconnoiter_start_order_04"
			speak "vo.combine.officer.reconnoiter_start_order_05"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.reconnoiter_start_order_01"
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.reconnoiter_start_order_02"
			speak "vo.combine.officer.reconnoiter_start_order_04"
			speak "vo.combine.officer.reconnoiter_start_order_05"
		}
}


//========================================================================================================
// FIND ENEMY
//====================================================================
response CS_Officer_FindEnemy
{
	criteria		IsCombineS IsClass_Officer ConceptFindEnemy 
	
	speak "vo.combine.officer.refindenemy_01" thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.refindenemy_02" thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.refindenemy_03" 
	speak "vo.combine.officer.refindenemy_04"
	speak "vo.combine.officer.refindenemy_05"
	speak "vo.combine.officer.refindenemy_06"
	speak "vo.combine.officer.refindenemy_07"
	speak "vo.combine.officer.refindenemy_08"
	speak "vo.combine.officer.refindenemy_09"
	speak "vo.combine.officer.refindenemy_10" 
	speak "vo.combine.officer.refindenemy_11" thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.refindenemy_12"
	speak "vo.combine.officer.refindenemy_13"
	speak "vo.combine.officer.refindenemy_14"
	speak "vo.combine.officer.refindenemy_15"
	speak "vo.combine.officer.refindenemy_16"
	speak "vo.combine.officer.refindenemy_17"
	speak "vo.combine.officer.refindenemy_18"
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.refindenemy_order_01"
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.refindenemy_order_02"
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.refindenemy_order_03"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.refindenemy_order_01"
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.refindenemy_order_02"
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.refindenemy_order_03"

		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.refindenemy_order_01"
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.refindenemy_order_02"
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.refindenemy_order_03"
		}
}

//========================================================================================================
// RELOADING
//====================================================================
response CS_Officer_Reload
{
	criteria		IsCombineS IsClass_Officer ConceptReload 
	
	speak "vo.combine.officer.reload_01" 
	speak "vo.combine.officer.reload_02" 
	speak "vo.combine.officer.reload_03" 
	speak "vo.combine.officer.reload_05" 
	speak "vo.combine.officer.reload_06" 
	speak "vo.combine.officer.reload_07" 
	speak "vo.combine.officer.reload_08" 
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.reload_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.reload_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.reload_order_01"
		}
}


//====================================================================
//		SQUAD MEMBER LOST
//====================================================================
response CS_Officer_SquadMemberLost
{
	criteria		IsCombineS IsClass_Officer ConceptSquadMemberLost 
	
	response
	{
		criteria		LostSquadofficer
		speak "vo.combine.officer.squadmemberlost_01" predelay 1
		speak "vo.combine.officer.squadmemberlost_02" predelay 1
		speak "vo.combine.officer.squadmemberlost_03" predelay 1
		speak "vo.combine.officer.calloutentity_echoone_01" predelay 1 thensimple 1 speak "vo.combine.officer.squadmemberlost_04"
		speak "vo.combine.officer.squadmemberlost_05" predelay 1
		speak "vo.combine.officer.squadmemberlost_06" predelay 1
		speak "vo.combine.officer.squadmemberlost_07" predelay 1
		speak "vo.combine.officer.squadmemberlost_09" predelay 1
		speak "vo.combine.officer.squadmemberlost_10" predelay 1
		speak "vo.combine.officer.calloutentity_echoone_01" predelay 1 thensimple 1 speak "vo.combine.officer.squadmemberlost_11"
	}
	
	response
	{
		criteria		LostSquadCharger
		speak "vo.combine.officer.squadmemberlost_01" predelay 1
		speak "vo.combine.officer.squadmemberlost_02" predelay 1
		speak "vo.combine.officer.squadmemberlost_03" predelay 1
		speak "vo.combine.officer.calloutentity_wallhammer_01" predelay 1 thensimple 1 speak "vo.combine.officer.squadmemberlost_04"
		speak "vo.combine.officer.squadmemberlost_05" predelay 1
		speak "vo.combine.officer.squadmemberlost_06" predelay 1
		speak "vo.combine.officer.squadmemberlost_07" predelay 1
		speak "vo.combine.officer.squadmemberlost_09" predelay 1
		speak "vo.combine.officer.squadmemberlost_10" predelay 1
		speak "vo.combine.officer.calloutentity_wallhammer_01" predelay 1 thensimple 1 speak "vo.combine.officer.squadmemberlost_11"
	}
	
	response
	{
		criteria		LostSquadSuppressor
		speak "vo.combine.officer.squadmemberlost_01" predelay 1
		speak "vo.combine.officer.squadmemberlost_02" predelay 1
		speak "vo.combine.officer.squadmemberlost_03" predelay 1
		speak "vo.combine.officer.calloutentity_apf_01" predelay 1 thensimple 1 speak "vo.combine.officer.squadmemberlost_04"
		speak "vo.combine.officer.squadmemberlost_05" predelay 1
		speak "vo.combine.officer.squadmemberlost_06" predelay 1
		speak "vo.combine.officer.squadmemberlost_07" predelay 1
		speak "vo.combine.officer.squadmemberlost_09" predelay 1
		speak "vo.combine.officer.squadmemberlost_10" predelay 1
		speak "vo.combine.officer.calloutentity_apf_01" predelay 1 thensimple 1 speak "vo.combine.officer.squadmemberlost_11"
	}
	
	response
	{
		criteria		LostSquadLeader
		speak "vo.combine.officer.squadmemberlost_leader_01" predelay 1
		speak "vo.combine.officer.squadmemberlost_leader_02" predelay 1
		speak "vo.combine.officer.squadmemberlost_leader_03" predelay 1
		speak "vo.combine.officer.squadmemberlost_leader_04" predelay 1
		speak "vo.combine.officer.squadmemberlost_leader_05" predelay 1
		speak "vo.combine.officer.squadmemberlost_leader_06" predelay 1
		speak "vo.combine.officer.squadmemberlost_leader_07" predelay 1
	}
	
}



//====================================================================
//		LAST MAN STANDING
//====================================================================
response CS_Officer_SquadMemberLost_LastManStanding
{
	criteria		IsCombineS IsClass_Officer ConceptSquadMemberLost IsLastSquadMemberLeft
	
	speak "vo.combine.officer.squadmemberlost_lastman_01" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_02" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_03" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_04" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_05" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_06" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_07" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_08" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_09" predelay 1
}


//========================================================================================================
// SUPPRESSING
//====================================================================
response CS_Officer_Suppressing
{
	criteria		IsCombineS IsClass_Officer ConceptSuppressing 
	
	speak "vo.combine.officer.suppressing_01"
	speak "vo.combine.officer.suppressing_02"
	speak "vo.combine.officer.suppressing_03"
	speak "vo.combine.officer.suppressing_04"
	speak "vo.combine.officer.suppressing_05"
	speak "vo.combine.officer.suppressing_06"
	speak "vo.combine.officer.suppressing_07"
	speak "vo.combine.officer.announceattack_cover_01"
	speak "vo.combine.officer.announceattack_cover_02" thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.announceattack_cover_03"
	speak "vo.combine.officer.announceattack_cover_04"
	speak "vo.combine.officer.announceattack_cover_05"
	speak "vo.combine.officer.announceattack_cover_06"
	speak "vo.combine.officer.announceattack_cover_07"
	speak "vo.combine.officer.announceattack_cover_08"
	speak "vo.combine.officer.announceattack_cover_09"
	speak "vo.combine.officer.announceattack_cover_10"
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.suppressing_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_echoone_01" 
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.suppressing_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_wallhammer_01" 
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.suppressing_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_apf_01" 
		}
}


//========================================================================================================
// I'M TAKING FIRE
//====================================================================
response CS_Officer_TakingFire
{
	criteria		IsCombineS IsClass_Officer ConceptTakingFire 
	
	speak "vo.combine.officer.takingfire_01" respeakdelay 15
	speak "vo.combine.officer.takingfire_02" respeakdelay 15
	speak "vo.combine.officer.takingfire_03" respeakdelay 15
	speak "vo.combine.officer.takingfire_04" respeakdelay 15
	speak "vo.combine.officer.takingfire_05" respeakdelay 15
	speak "vo.combine.officer.takingfire_06" respeakdelay 15
	speak "vo.combine.officer.takingfire_07" respeakdelay 15
	speak "vo.combine.officer.takingfire_08" respeakdelay 15
	speak "vo.combine.officer.takingfire_09" respeakdelay 15
	speak "vo.combine.officer.takingfire_10" respeakdelay 15
	speak "vo.combine.officer.takingfire_11" respeakdelay 15
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.takingfire_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_echoone_01"
			speak "vo.combine.officer.takingfire_order_02" thensimple 0 speak "vo.combine.officer.calloutentity_echoone_01" 			
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.takingfire_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_wallhammer_01"
			speak "vo.combine.officer.takingfire_order_02" thensimple 0 speak "vo.combine.officer.calloutentity_wallhammer_01" 			
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.takingfire_order_01" thensimple 0 speak "vo.combine.officer.calloutentity_apf_01"
			speak "vo.combine.officer.takingfire_order_02" thensimple 0 speak "vo.combine.officer.calloutentity_apf_01" 			
		}
}


//========================================================================================================
// SQUAD IS UNDER ATTACK
//====================================================================
response CS_Officer_UnderAttack
{
	criteria		IsCombineS IsClass_Officer ConceptUnderAttack 
	
	speak "vo.combine.officer.underattack_01"
	speak "vo.combine.officer.underattack_02"
	speak "vo.combine.officer.underattack_03" thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.underattack_04"
	speak "vo.combine.officer.underattack_05"
	speak "vo.combine.officer.underattack_06"
	speak "vo.combine.officer.underattack_07"
	speak "vo.combine.officer.underattack_08"
	speak "vo.combine.officer.underattack_09"
	speak "vo.combine.officer.underattack_10"
	speak "vo.combine.officer.underattack_11"
	speak "vo.combine.officer.underattack_12"
}

	
//========================================================================================================
// ORDER RESPONSES
//====================================================================
response CS_Officer_UnableToComply
{
	criteria		IsCombineS IsClass_Officer ConceptOrderResponse 
	
	response
	{
		criteria		ResponseIsNegative
		speak "vo.combine.officer.unabletocommence_01"
		speak "vo.combine.officer.unabletocommence_02"
		speak "vo.combine.officer.unabletocommence_03"
		speak "vo.combine.officer.unabletocommence_04"
		speak "vo.combine.officer.unabletocommence_05"
		speak "vo.combine.officer.unabletocommence_06"
		speak "vo.combine.officer.unabletocommence_07"
	}
	
	response
	{
		criteria		ResponseIsPositive
		speak "vo.combine.officer.orderresponse_positive_01"
		speak "vo.combine.officer.orderresponse_positive_02"
		speak "vo.combine.officer.orderresponse_positive_03"
		speak "vo.combine.officer.orderresponse_positive_04"
		speak "vo.combine.officer.orderresponse_positive_05"
		speak "vo.combine.officer.orderresponse_positive_06"
	}
}


//========================================================================================================
// TAUNT
//====================================================================
response CS_Officer_Taunt
{
	criteria		IsCombineS IsClass_Officer ConceptTaunt 
	
	speak "vo.combine.officer.taunt_010" respeakdelay 15
	speak "vo.combine.officer.taunt_011" respeakdelay 15
	speak "vo.combine.officer.taunt_012" respeakdelay 15
	speak "vo.combine.officer.taunt_020" respeakdelay 15
	speak "vo.combine.officer.taunt_021" respeakdelay 15
	speak "vo.combine.officer.taunt_022" respeakdelay 15 
	speak "vo.combine.officer.taunt_030" respeakdelay 15
	speak "vo.combine.officer.taunt_031" respeakdelay 15
	speak "vo.combine.officer.taunt_032" respeakdelay 15
	speak "vo.combine.officer.taunt_040" respeakdelay 15
	speak "vo.combine.officer.taunt_041" respeakdelay 15
	speak "vo.combine.officer.taunt_042" respeakdelay 15
	speak "vo.combine.officer.taunt_050" respeakdelay 15
	speak "vo.combine.officer.taunt_051" respeakdelay 15
	speak "vo.combine.officer.taunt_052" respeakdelay 15
	speak "vo.combine.officer.taunt_060" respeakdelay 15
	speak "vo.combine.officer.taunt_061" respeakdelay 15
	speak "vo.combine.officer.taunt_062" respeakdelay 15
	speak "vo.combine.officer.taunt_070" respeakdelay 15
	speak "vo.combine.officer.taunt_071" respeakdelay 15
	speak "vo.combine.officer.taunt_072" respeakdelay 15
	speak "vo.combine.officer.taunt_080" respeakdelay 15
	speak "vo.combine.officer.taunt_081" respeakdelay 15
	speak "vo.combine.officer.taunt_082" respeakdelay 15
	speak "vo.combine.officer.taunt_090" respeakdelay 15
	speak "vo.combine.officer.taunt_091" respeakdelay 15
	speak "vo.combine.officer.taunt_092" respeakdelay 15
	speak "vo.combine.officer.taunt_100" respeakdelay 15
	speak "vo.combine.officer.taunt_101" respeakdelay 15
	speak "vo.combine.officer.taunt_102" respeakdelay 15
	speak "vo.combine.officer.taunt_110" respeakdelay 15
	speak "vo.combine.officer.taunt_111" respeakdelay 15
	speak "vo.combine.officer.taunt_112" respeakdelay 15
	speak "vo.combine.officer.taunt_120" respeakdelay 15
	speak "vo.combine.officer.taunt_121" respeakdelay 15
	speak "vo.combine.officer.taunt_122" respeakdelay 15
	speak "vo.combine.officer.taunt_130" respeakdelay 15
	speak "vo.combine.officer.taunt_131" respeakdelay 15
	speak "vo.combine.officer.taunt_132" respeakdelay 15
	speak "vo.combine.officer.taunt_140" respeakdelay 15
	speak "vo.combine.officer.taunt_141" respeakdelay 15
	speak "vo.combine.officer.taunt_142" respeakdelay 15
	speak "vo.combine.officer.taunt_150" respeakdelay 15
	speak "vo.combine.officer.taunt_151" respeakdelay 15
	speak "vo.combine.officer.taunt_152" respeakdelay 15
	speak "vo.combine.officer.taunt_160" respeakdelay 15
	speak "vo.combine.officer.taunt_161" respeakdelay 15
	speak "vo.combine.officer.taunt_162" respeakdelay 15
	speak "vo.combine.officer.taunt_170" respeakdelay 15
	speak "vo.combine.officer.taunt_171" respeakdelay 15
	speak "vo.combine.officer.taunt_172" respeakdelay 15
	speak "vo.combine.officer.taunt_180" respeakdelay 15
	speak "vo.combine.officer.taunt_181" respeakdelay 15
	speak "vo.combine.officer.taunt_182" respeakdelay 15
	speak "vo.combine.officer.taunt_190" respeakdelay 15
	speak "vo.combine.officer.taunt_191" respeakdelay 15
	speak "vo.combine.officer.taunt_192" respeakdelay 15
	speak "vo.combine.officer.taunt_200" respeakdelay 15
	speak "vo.combine.officer.taunt_201" respeakdelay 15
	speak "vo.combine.officer.taunt_202" respeakdelay 15
}


//========================================================================================================
// HEAR SUSPICIOUS
//====================================================================
response CS_Officer_HearSuspicous
{
	criteria		IsCombineS IsClass_Officer ConceptHearSuspicious
	
	speak "vo.combine.officer.hear_suspicious_01" thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.hear_suspicious_02"
	speak "vo.combine.officer.hear_suspicious_03"
	speak "vo.combine.officer.hear_suspicious_04"
	speak "vo.combine.officer.hear_suspicious_05"
	speak "vo.combine.officer.hear_suspicious_06"
}


//========================================================================================================
// ATTACKING PLAYER'S COVER
//====================================================================
response CS_Officer_AttackingCover
{
	criteria		IsCombineS IsClass_Officer ConceptAttackingCover
	
	speak "vo.combine.officer.announceattack_cover_01"
	speak "vo.combine.officer.announceattack_cover_02" thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.announceattack_cover_03"
	speak "vo.combine.officer.announceattack_cover_04"
	speak "vo.combine.officer.announceattack_cover_05"
	speak "vo.combine.officer.announceattack_cover_06"
	speak "vo.combine.officer.announceattack_cover_07"
	speak "vo.combine.officer.announceattack_cover_08"
	speak "vo.combine.officer.announceattack_cover_09"
	speak "vo.combine.officer.announceattack_cover_10"
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.announceattack_cover_order_01"
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.announceattack_cover_order_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.announceattack_cover_order_01"
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.announceattack_cover_order_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.announceattack_cover_order_01"
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.announceattack_cover_order_02"
		}
}


//========================================================================================================
// RETREATING
//====================================================================
response CS_Officer_Retreating
{
	criteria		IsCombineS IsClass_Officer ConceptDanger
	
	speak "vo.combine.officer.retreat_01"
	speak "vo.combine.officer.retreat_02"
	speak "vo.combine.officer.retreat_03"
	speak "vo.combine.officer.retreat_04"
	speak "vo.combine.officer.retreat_05"
	speak "vo.combine.officer.retreat_06"
	speak "vo.combine.officer.retreat_07"
	speak "vo.combine.officer.retreat_08"
	speak "vo.combine.officer.retreat_09"
	speak "vo.combine.officer.coverme_01" 
	speak "vo.combine.officer.coverme_02" 
	speak "vo.combine.officer.coverme_03" 
	speak "vo.combine.officer.coverme_04" 
	speak "vo.combine.officer.coverme_05" 
	speak "vo.combine.officer.coverme_06" 
	speak "vo.combine.officer.coverme_07"
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.retreat_order_01"
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.retreat_order_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.retreat_order_01"
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.retreat_order_02"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.retreat_order_01"
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.retreat_order_02"
		}
}

//========================================================================================================
// RETREATING DUE TO RELOAD
//====================================================================
response CS_Officer_RetreatToReload
{
	criteria		IsCombineS IsClass_Officer ConceptRetreatToReload
	
	speak "vo.combine.officer.retreat_03" 
	speak "vo.combine.officer.retreat_04" 
	speak "vo.combine.officer.retreat_05" 
	speak "vo.combine.officer.retreat_07" 
	speak "vo.combine.officer.retreat_08" 
	speak "vo.combine.officer.coverme_02"  
	speak "vo.combine.officer.coverme_03"  
	speak "vo.combine.officer.coverme_07" thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.coverme_01" 
	speak "vo.combine.officer.coverme_02" 
	speak "vo.combine.officer.coverme_03" 
	speak "vo.combine.officer.coverme_04" 
	speak "vo.combine.officer.coverme_05" 
	speak "vo.combine.officer.coverme_06" 
	speak "vo.combine.officer.underattack_01"
	speak "vo.combine.officer.underattack_02"
	speak "vo.combine.officer.underattack_03" thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.underattack_04"
	speak "vo.combine.officer.underattack_05"
	speak "vo.combine.officer.underattack_06"
	speak "vo.combine.officer.underattack_07"
	speak "vo.combine.officer.underattack_08"
	speak "vo.combine.officer.underattack_09"
	speak "vo.combine.officer.underattack_10"
	speak "vo.combine.officer.underattack_11"
	speak "vo.combine.officer.underattack_12"
	speak "vo.combine.officer.unabletocommence_01"
	speak "vo.combine.officer.unabletocommence_02"
	speak "vo.combine.officer.unabletocommence_03"
	speak "vo.combine.officer.unabletocommence_04"
	speak "vo.combine.officer.unabletocommence_05"
	speak "vo.combine.officer.unabletocommence_06"
	speak "vo.combine.officer.unabletocommence_07"

		response
		{
			criteria		IsOrderCall
			speak "vo.combine.officer.orderresponse_positive_01" thensimple 0 speak "vo.combine.officer.coverme_03"
			speak "vo.combine.officer.orderresponse_positive_02" thensimple 0 speak "vo.combine.officer.retreat_05" 
			speak "vo.combine.officer.orderresponse_positive_03" thensimple 0 speak "vo.combine.officer.retreat_04"
			speak "vo.combine.officer.orderresponse_positive_04" thensimple 0 speak "vo.combine.officer.retreat_07"
			speak "vo.combine.officer.orderresponse_positive_05" thensimple 0 speak "vo.combine.officer.retreat_08"
			speak "vo.combine.officer.orderresponse_positive_05" thensimple 0 speak "vo.combine.officer.retreat_03"
		}
}

//========================================================================================================
// SEES PLAYER IS RELOADING
//====================================================================
response CS_Officer_SeesPlayerReloading
{
	criteria		IsCombineS IsClass_Officer PlayerIsReloading 
	
	speak "vo.combine.officer.sees_reloading_01"
	speak "vo.combine.officer.sees_reloading_02"
	speak "vo.combine.officer.sees_reloading_03"
	speak "vo.combine.officer.sees_reloading_04"
	speak "vo.combine.officer.sees_reloading_05"
	
	response
		{
			criteria		IsOrderCall ResponderIsofficer
			speak "vo.combine.officer.calloutentity_echoone_01" thensimple 0 speak "vo.combine.officer.sees_reloading_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsCharger
			speak "vo.combine.officer.calloutentity_wallhammer_01" thensimple 0 speak "vo.combine.officer.sees_reloading_order_01"
		}
			
		response
		{
			criteria		IsOrderCall ResponderIsSuppressor
			speak "vo.combine.officer.calloutentity_apf_01" thensimple 0 speak "vo.combine.officer.sees_reloading_order_01"
		}
}


//========================================================================================================
// IDLE
//===========================
response CS_Officer_Idle
{
	criteria		IsCombineS IsClass_Officer ConceptIdle
	
	speak "vo.combine.officer.idle_01" respeakdelay 11
	speak "vo.combine.officer.idle_02" respeakdelay 11
	speak "vo.combine.officer.idle_03" respeakdelay 11
	speak "vo.combine.officer.idle_04" respeakdelay 11
	speak "vo.combine.officer.idle_05" respeakdelay 11
	speak "vo.combine.officer.idle_06" respeakdelay 11
	speak "vo.combine.officer.idle_07" respeakdelay 11
	speak "vo.combine.officer.idle_08" respeakdelay 11
	speak "vo.combine.officer.idle_09" respeakdelay 11
	speak "vo.combine.officer.idle_10" respeakdelay 11
	speak "vo.combine.officer.idle_11" respeakdelay 11
	speak "vo.combine.officer.idle_12" respeakdelay 11
	speak "vo.combine.officer.idle_13" respeakdelay 11
	speak "vo.combine.officer.idle_14" respeakdelay 11
	speak "vo.combine.officer.idle_15" respeakdelay 11
	speak "vo.combine.officer.idle_16" respeakdelay 11
	speak "vo.combine.officer.idle_17" respeakdelay 11
	speak "vo.combine.officer.idle_18" respeakdelay 11
	speak "vo.combine.officer.idle_19" respeakdelay 11
	speak "vo.combine.officer.idle_20" respeakdelay 11
}


response CS_Officer_IdleCombat
{
	criteria		IsCombineS IsClass_Officer ConceptIdleCombat
	
	speak "vo.combine.officer.combat_idle_010" respeakdelay 8
	speak "vo.combine.officer.combat_idle_012" respeakdelay 8
	speak "vo.combine.officer.combat_idle_020" respeakdelay 8
	speak "vo.combine.officer.combat_idle_021" respeakdelay 8
	speak "vo.combine.officer.combat_idle_022" respeakdelay 8
	speak "vo.combine.officer.combat_idle_030" respeakdelay 8
	speak "vo.combine.officer.combat_idle_031" respeakdelay 8
	speak "vo.combine.officer.combat_idle_032" respeakdelay 8
	speak "vo.combine.officer.combat_idle_040" respeakdelay 8
	speak "vo.combine.officer.combat_idle_041" respeakdelay 8
	speak "vo.combine.officer.combat_idle_042" respeakdelay 8
	speak "vo.combine.officer.combat_idle_050" respeakdelay 8
	speak "vo.combine.officer.combat_idle_051" respeakdelay 8
	speak "vo.combine.officer.combat_idle_052" respeakdelay 8
	speak "vo.combine.officer.combat_idle_060" respeakdelay 8
	speak "vo.combine.officer.combat_idle_061" respeakdelay 8
	speak "vo.combine.officer.combat_idle_062" respeakdelay 8
	speak "vo.combine.officer.combat_idle_070" respeakdelay 8
	speak "vo.combine.officer.combat_idle_071" respeakdelay 8
	speak "vo.combine.officer.combat_idle_072" respeakdelay 8
	speak "vo.combine.officer.combat_idle_080" respeakdelay 8
	speak "vo.combine.officer.combat_idle_081" respeakdelay 8
	speak "vo.combine.officer.combat_idle_082" respeakdelay 8
	speak "vo.combine.officer.combat_idle_090" respeakdelay 8
	speak "vo.combine.officer.combat_idle_091" respeakdelay 8
	speak "vo.combine.officer.combat_idle_092" respeakdelay 8
	speak "vo.combine.officer.combat_idle_100" respeakdelay 8
	speak "vo.combine.officer.combat_idle_101" respeakdelay 8
	speak "vo.combine.officer.combat_idle_102" respeakdelay 8
	speak "vo.combine.officer.combat_idle_110" respeakdelay 8
	speak "vo.combine.officer.combat_idle_111" respeakdelay 8
	speak "vo.combine.officer.combat_idle_112" respeakdelay 8
	speak "vo.combine.officer.combat_idle_120" respeakdelay 8
	speak "vo.combine.officer.combat_idle_121" respeakdelay 8
	speak "vo.combine.officer.combat_idle_122" respeakdelay 8
	speak "vo.combine.officer.combat_idle_130" respeakdelay 8
	speak "vo.combine.officer.combat_idle_131" respeakdelay 8
	speak "vo.combine.officer.combat_idle_132" respeakdelay 8
	speak "vo.combine.officer.combat_idle_140" respeakdelay 8
	speak "vo.combine.officer.combat_idle_141" respeakdelay 8
	speak "vo.combine.officer.combat_idle_142" respeakdelay 8
	speak "vo.combine.officer.combat_idle_150" respeakdelay 8
	speak "vo.combine.officer.combat_idle_151" respeakdelay 8
	speak "vo.combine.officer.combat_idle_152" respeakdelay 8
	speak "vo.combine.officer.combat_idle_160" respeakdelay 8
	speak "vo.combine.officer.combat_idle_161" respeakdelay 8
	speak "vo.combine.officer.combat_idle_162" respeakdelay 8
	speak "vo.combine.officer.combat_idle_170" respeakdelay 8
	speak "vo.combine.officer.combat_idle_171" respeakdelay 8
	speak "vo.combine.officer.combat_idle_172" respeakdelay 8
	speak "vo.combine.officer.combat_idle_180" respeakdelay 8
	speak "vo.combine.officer.combat_idle_181" respeakdelay 8
	speak "vo.combine.officer.combat_idle_182" respeakdelay 8
	speak "vo.combine.officer.combat_idle_190" respeakdelay 8
	speak "vo.combine.officer.combat_idle_191" respeakdelay 8
	speak "vo.combine.officer.combat_idle_192" respeakdelay 8
	speak "vo.combine.officer.combat_idle_200" respeakdelay 8
	speak "vo.combine.officer.combat_idle_201" respeakdelay 8
	speak "vo.combine.officer.combat_idle_202" respeakdelay 8
	speak "vo.combine.officer.taunt_010" respeakdelay 8
	speak "vo.combine.officer.taunt_011" respeakdelay 8
	speak "vo.combine.officer.taunt_012" respeakdelay 8
	speak "vo.combine.officer.taunt_020" respeakdelay 8
	speak "vo.combine.officer.taunt_021" respeakdelay 8
	speak "vo.combine.officer.taunt_022" respeakdelay 8 
	speak "vo.combine.officer.taunt_030" respeakdelay 8
	speak "vo.combine.officer.taunt_031" respeakdelay 8
	speak "vo.combine.officer.taunt_032" respeakdelay 8
	speak "vo.combine.officer.taunt_040" respeakdelay 8
	speak "vo.combine.officer.taunt_041" respeakdelay 8
	speak "vo.combine.officer.taunt_042" respeakdelay 8
	speak "vo.combine.officer.taunt_050" respeakdelay 8
	speak "vo.combine.officer.taunt_051" respeakdelay 8
	speak "vo.combine.officer.taunt_052" respeakdelay 8
	speak "vo.combine.officer.taunt_060" respeakdelay 8
	speak "vo.combine.officer.taunt_061" respeakdelay 8
	speak "vo.combine.officer.taunt_062" respeakdelay 8
	speak "vo.combine.officer.taunt_070" respeakdelay 8
	speak "vo.combine.officer.taunt_071" respeakdelay 8
	speak "vo.combine.officer.taunt_072" respeakdelay 8
	speak "vo.combine.officer.taunt_080" respeakdelay 8
	speak "vo.combine.officer.taunt_081" respeakdelay 8
	speak "vo.combine.officer.taunt_082" respeakdelay 8
	speak "vo.combine.officer.taunt_090" respeakdelay 8
	speak "vo.combine.officer.taunt_091" respeakdelay 8
	speak "vo.combine.officer.taunt_092" respeakdelay 8
	speak "vo.combine.officer.taunt_100" respeakdelay 8
	speak "vo.combine.officer.taunt_101" respeakdelay 8
	speak "vo.combine.officer.taunt_102" respeakdelay 8
	speak "vo.combine.officer.taunt_110" respeakdelay 8
	speak "vo.combine.officer.taunt_111" respeakdelay 8
	speak "vo.combine.officer.taunt_112" respeakdelay 8
	speak "vo.combine.officer.taunt_120" respeakdelay 8
	speak "vo.combine.officer.taunt_121" respeakdelay 8
	speak "vo.combine.officer.taunt_122" respeakdelay 8
	speak "vo.combine.officer.taunt_130" respeakdelay 8
	speak "vo.combine.officer.taunt_131" respeakdelay 8
	speak "vo.combine.officer.taunt_132" respeakdelay 8
	speak "vo.combine.officer.taunt_140" respeakdelay 8
	speak "vo.combine.officer.taunt_141" respeakdelay 8
	speak "vo.combine.officer.taunt_142" respeakdelay 8
	speak "vo.combine.officer.taunt_150" respeakdelay 8
	speak "vo.combine.officer.taunt_151" respeakdelay 8
	speak "vo.combine.officer.taunt_152" respeakdelay 8
	speak "vo.combine.officer.taunt_160" respeakdelay 8
	speak "vo.combine.officer.taunt_161" respeakdelay 8
	speak "vo.combine.officer.taunt_162" respeakdelay 8
	speak "vo.combine.officer.taunt_170" respeakdelay 8
	speak "vo.combine.officer.taunt_171" respeakdelay 8
	speak "vo.combine.officer.taunt_172" respeakdelay 8
	speak "vo.combine.officer.taunt_180" respeakdelay 8
	speak "vo.combine.officer.taunt_181" respeakdelay 8
	speak "vo.combine.officer.taunt_182" respeakdelay 8
	speak "vo.combine.officer.taunt_190" respeakdelay 8
	speak "vo.combine.officer.taunt_191" respeakdelay 8
	speak "vo.combine.officer.taunt_192" respeakdelay 8
	speak "vo.combine.officer.taunt_200" respeakdelay 8
	speak "vo.combine.officer.taunt_201" respeakdelay 8
	speak "vo.combine.officer.taunt_202" respeakdelay 8
}

//======================================================================================
// FIRING LOCATION CALLOUTS
//======================================================================================


response CS_Officer_NoSpeech
{
}

response CS_Officer_Firing
{
	criteria		IsCombineS IsClass_Officer ConceptFiring
	
	speak "vo.combine.officer.firing_02" respeakdelay 12
	speak "vo.combine.officer.firing_03" respeakdelay 12
	speak "vo.combine.officer.firing_04" respeakdelay 12
	speak "vo.combine.officer.firing_05" respeakdelay 12
	speak "vo.combine.officer.firing_06" respeakdelay 12
	speak "vo.combine.officer.firing_01" respeakdelay 12
	speak "vo.combine.officer.firing_110" respeakdelay 12
	speak "vo.combine.officer.firing_111" respeakdelay 12
	speak "vo.combine.officer.firing_112" respeakdelay 12
	speak "vo.combine.officer.firing_120" respeakdelay 12
	speak "vo.combine.officer.firing_121" respeakdelay 12
	speak "vo.combine.officer.firing_122" respeakdelay 12
	speak "vo.combine.officer.firing_130" respeakdelay 12
	speak "vo.combine.officer.firing_131" respeakdelay 12
	speak "vo.combine.officer.firing_132" respeakdelay 12
	speak "vo.combine.officer.firing_140" respeakdelay 12
	speak "vo.combine.officer.firing_141" respeakdelay 12
	speak "vo.combine.officer.firing_142" respeakdelay 12
	speak "vo.combine.officer.firing_150" respeakdelay 12
	speak "vo.combine.officer.firing_151" respeakdelay 12
	speak "vo.combine.officer.firing_152" respeakdelay 12
	speak "vo.combine.officer.firing_160" respeakdelay 12
	speak "vo.combine.officer.firing_161" respeakdelay 12
	speak "vo.combine.officer.firing_162" respeakdelay 12
	speak "vo.combine.officer.firing_170" respeakdelay 12
	speak "vo.combine.officer.firing_171" respeakdelay 12
	speak "vo.combine.officer.firing_172" respeakdelay 12
	speak "vo.combine.officer.firing_180" respeakdelay 12
	speak "vo.combine.officer.firing_181" respeakdelay 12
	speak "vo.combine.officer.firing_182" respeakdelay 12
	speak "vo.combine.officer.firing_190" respeakdelay 12
	speak "vo.combine.officer.firing_191" respeakdelay 12
	speak "vo.combine.officer.firing_192" respeakdelay 12
	speak "vo.combine.officer.firing_200" respeakdelay 12
	speak "vo.combine.officer.firing_201" respeakdelay 12
	speak "vo.combine.officer.firing_202" respeakdelay 12
	speak "vo.combine.officer.firing_220" respeakdelay 12
	speak "vo.combine.officer.firing_221" respeakdelay 12
	speak "vo.combine.officer.firing_222" respeakdelay 12
	speak "vo.combine.officer.announceattack_02" respeakdelay 12
	speak "vo.combine.officer.announceattack_03" respeakdelay 12
	speak "vo.combine.officer.announceattack_04" respeakdelay 12
	speak "vo.combine.officer.announceattack_05" respeakdelay 12
	speak "vo.combine.officer.announceattack_06" respeakdelay 12
	speak "vo.combine.officer.announceattack_07" respeakdelay 12
	speak "vo.combine.officer.announceattack_08" respeakdelay 12
	speak "vo.combine.officer.announceattack_09" respeakdelay 12
	speak "vo.combine.officer.announceattack_11" respeakdelay 12
	speak "vo.combine.officer.orderresponse_positive_01" respeakdelay 12
	speak "vo.combine.officer.orderresponse_positive_02" respeakdelay 12
	speak "vo.combine.officer.orderresponse_positive_03" respeakdelay 12
	speak "vo.combine.officer.orderresponse_positive_04" respeakdelay 12
	speak "vo.combine.officer.orderresponse_positive_05" respeakdelay 12
	speak "vo.combine.officer.orderresponse_positive_06" respeakdelay 12
	speak "vo.combine.officer.refindenemy_01" respeakdelay 12 thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.refindenemy_02" respeakdelay 12 thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.refindenemy_03" respeakdelay 12
	speak "vo.combine.officer.refindenemy_04" respeakdelay 12
	speak "vo.combine.officer.refindenemy_05" respeakdelay 12
	speak "vo.combine.officer.refindenemy_06" respeakdelay 12
	speak "vo.combine.officer.refindenemy_07" respeakdelay 12
	speak "vo.combine.officer.refindenemy_08" respeakdelay 12
	speak "vo.combine.officer.refindenemy_09" respeakdelay 12
	speak "vo.combine.officer.refindenemy_10" respeakdelay 12
	speak "vo.combine.officer.refindenemy_11" respeakdelay 12 thensimple 0 speak "vo.combine.officer.calloutcode_numbers"
	speak "vo.combine.officer.refindenemy_12" respeakdelay 12
	speak "vo.combine.officer.refindenemy_13" respeakdelay 12
	speak "vo.combine.officer.refindenemy_14" respeakdelay 12
	speak "vo.combine.officer.refindenemy_15" respeakdelay 12
	speak "vo.combine.officer.refindenemy_16" respeakdelay 12
	speak "vo.combine.officer.refindenemy_17" respeakdelay 12
	
	response
	{
		criteria		PlayerAtBarrels
		speak "vo.combine.officer.calloutlocation_barrells_01" respeakdelay 17
	}
	
	
	response
	{
		criteria		PlayerAtBricks
		speak "vo.combine.officer.calloutlocation_bricks_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBuilding
		speak "vo.combine.officer.calloutlocation_building_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBridge
		speak "vo.combine.officer.calloutlocation_bridge_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtCar
		speak "vo.combine.officer.calloutlocation_car_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtCrane
		speak "vo.combine.officer.calloutlocation_crane_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtDoor
		speak "vo.combine.officer.calloutlocation_door_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtPipes
		speak "vo.combine.officer.calloutlocation_pipes_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtShack
		speak "vo.combine.officer.calloutlocation_shack_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTunnel
		speak "vo.combine.officer.calloutlocation_tunnel_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtHut
		speak "vo.combine.officer.calloutlocation_hut_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTrainCar
		speak "vo.combine.officer.calloutlocation_traincar_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTrainCar
		speak "vo.combine.officer.calloutlocation_traincar_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTruck
		speak "vo.combine.officer.calloutlocation_truck_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtWoodPile
		speak "vo.combine.officer.calloutlocation_woodpile_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtVan
		speak "vo.combine.officer.calloutlocation_van_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtElevator
		speak "vo.combine.officer.calloutlocation_elevator_01" respeakdelay 17

	}
	
	
	response
	{
		criteria		PlayerAtApartment
		speak "vo.combine.officer.calloutlocation_apartment_01" respeakdelay 17

	}
	
	response
	{
		criteria		PlayerAtBelow
		speak "vo.combine.officer.calloutlocation_below_01" respeakdelay 17

	}
	
	response
	{
		criteria		PlayerAtAbove
		speak "vo.combine.officer.calloutlocation_above_01" respeakdelay 17

	}
	
	response
	{
		criteria		PlayerAtBehind
		speak "vo.combine.officer.calloutlocation_behind_01" respeakdelay 17

	}
	
	response
	{
		criteria		PlayerAtToilet
		speak "vo.combine.officer.calloutlocation_toilet_01" respeakdelay 17

	}
	
	response
	{
		criteria		PlayerAtWheels
		speak "vo.combine.officer.calloutlocation_wheels_01" respeakdelay 17

	}
	
	response
	{
		criteria		PlayerAtFront
		speak "vo.combine.officer.calloutlocation_front_01" respeakdelay 17

	}
	
	response
	{
		criteria		PlayerAtTrash
		speak "vo.combine.officer.calloutlocation_trash_01" respeakdelay 17
	}
}

npc_combine_suppressor.txt

//========================================================================================================
// ADVANCING ON TARGET
//====================================================================
response CS_Suppressor_AdvancingOnTarget
{
	criteria		IsCombineS IsClass_Suppressor ConceptAdvancingOnTarget 
	
	speak "vo.combine.suppressor.advancing_on_target_01"
	speak "vo.combine.suppressor.advancing_on_target_02"
	speak "vo.combine.suppressor.advancing_on_target_03"
	speak "vo.combine.suppressor.advancing_on_target_04"
	speak "vo.combine.suppressor.advancing_on_target_05"
	speak "vo.combine.suppressor.advancing_on_target_06"
	speak "vo.combine.suppressor.advancing_on_target_07"
	speak "vo.combine.suppressor.advancing_on_target_08"
	speak "vo.combine.suppressor.advancing_on_target_09"
	speak "vo.combine.suppressor.advancing_on_target_10"
	speak "vo.combine.suppressor.advancing_on_target_11"
	speak "vo.combine.suppressor.advancing_on_target_12"
	speak "vo.combine.suppressor.advancing_on_target_13"
	speak "vo.combine.suppressor.advancing_on_target_14"
	speak "vo.combine.suppressor.advancing_on_target_15"
	speak "vo.combine.suppressor.advancing_on_target_16"
	speak "vo.combine.suppressor.advancing_on_target_17"
	speak "vo.combine.suppressor.advancing_on_target_18"
	speak "vo.combine.suppressor.advancing_on_target_19"
	speak "vo.combine.suppressor.advancing_on_target_20"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.advancing_on_target_15"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.advancing_on_target_16"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.advancing_on_target_17"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.advancing_on_target_18"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.advancing_on_target_19"
			speak "vo.combine.suppressor.orderresponse_positive_06" thensimple 0 speak "vo.combine.suppressor.advancing_on_target_20"
		}
}

	
//========================================================================================================
// ANNOUNCING CHARGE
//====================================================================
response CS_Suppressor_Charging
{
	criteria		IsCombineS IsClass_Suppressor ConceptAnnounceCharge 
	
	speak "vo.combine.suppressor.advancing_on_target_01"
	speak "vo.combine.suppressor.advancing_on_target_02"
	speak "vo.combine.suppressor.advancing_on_target_03"
	speak "vo.combine.suppressor.advancing_on_target_04"
	speak "vo.combine.suppressor.advancing_on_target_05"
	speak "vo.combine.suppressor.advancing_on_target_06"
	speak "vo.combine.suppressor.advancing_on_target_07"
	speak "vo.combine.suppressor.advancing_on_target_08"
	speak "vo.combine.suppressor.advancing_on_target_09"
	speak "vo.combine.suppressor.advancing_on_target_10"
	speak "vo.combine.suppressor.advancing_on_target_11"
	speak "vo.combine.suppressor.advancing_on_target_12"
	speak "vo.combine.suppressor.advancing_on_target_13"
	speak "vo.combine.suppressor.advancing_on_target_14"
	speak "vo.combine.suppressor.advancing_on_target_15"
	speak "vo.combine.suppressor.advancing_on_target_16"
	speak "vo.combine.suppressor.advancing_on_target_17"
	speak "vo.combine.suppressor.advancing_on_target_18"
	speak "vo.combine.suppressor.advancing_on_target_19"
	speak "vo.combine.suppressor.advancing_on_target_20"
}

//========================================================================================================
// ANNOUNCING ATTACKS - GRENADE THROW
//====================================================================
response CS_Suppressor_AnnounceAttack_Grenade
{
	criteria		IsCombineS IsClass_Suppressor ConceptThrowingGrenade
	
	speak "vo.combine.suppressor.announceattack_grenade_01" 
	speak "vo.combine.suppressor.announceattack_grenade_02" 
	speak "vo.combine.suppressor.announceattack_grenade_03" 
	speak "vo.combine.suppressor.announceattack_grenade_04" 
	speak "vo.combine.suppressor.announceattack_grenade_05" 
	speak "vo.combine.suppressor.announceattack_grenade_06" 
	speak "vo.combine.suppressor.announceattack_grenade_07"
	speak "vo.combine.suppressor.announceattack_grenade_08" 
	speak "vo.combine.suppressor.announceattack_grenade_09" 
	speak "vo.combine.suppressor.announceattack_grenade_10" 	
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.announceattack_grenade_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.announceattack_grenade_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.announceattack_grenade_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.announceattack_grenade_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.announceattack_grenade_05"
			speak "vo.combine.suppressor.orderresponse_positive_06" thensimple 0 speak "vo.combine.suppressor.announceattack_grenade_09"
		}
}


//========================================================================================================
// ANNOUNCING ENEMY
//====================================================================
response CS_Suppressor_AnnounceEnemy
{	
	criteria		IsCombineS IsClass_Suppressor ConceptAnnounceEnemy
	
	speak "vo.combine.suppressor.announceattack_01"
	speak "vo.combine.suppressor.announceattack_02"
	speak "vo.combine.suppressor.announceattack_03"
	speak "vo.combine.suppressor.announceattack_04"
	speak "vo.combine.suppressor.announceattack_05"
	speak "vo.combine.suppressor.announceattack_06"
	speak "vo.combine.suppressor.announceattack_09"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.announceattack_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.announceattack_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.announceattack_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.announceattack_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.announceattack_05"
			speak "vo.combine.suppressor.orderresponse_positive_06" thensimple 0 speak "vo.combine.suppressor.announceattack_09"
		}
	
	
	response
	{
		criteria		EnemyIsPlayer
		speak "vo.combine.suppressor.announceattack_01"
		speak "vo.combine.suppressor.announceattack_02"
		speak "vo.combine.suppressor.announceattack_03"
		speak "vo.combine.suppressor.announceattack_04"
		speak "vo.combine.suppressor.announceattack_05"
		speak "vo.combine.suppressor.announceattack_06"
		speak "vo.combine.suppressor.announceattack_09"
		speak "vo.combine.suppressor.announceattack_11"
		
		response 
		{
			criteria AlyxIsKnown
			speak "vo.combine.suppressor.announceattack_alyx_01"
			speak "vo.combine.suppressor.announceattack_alyx_02"
			speak "vo.combine.suppressor.announceattack_alyx_03"
			speak "vo.combine.suppressor.announceattack_alyx_04"
			speak "vo.combine.suppressor.announceattack_alyx_05"
			speak "vo.combine.suppressor.announceattack_alyx_06"
			speak "vo.combine.suppressor.announceattack_alyx_07"
			speak "vo.combine.suppressor.announceattack_alyx_08"
			speak "vo.combine.suppressor.announceattack_alyx_09"
			speak "vo.combine.suppressor.announceattack_alyx_10"
			speak "vo.combine.suppressor.announceattack_alyx_11"
		}
		
		response
		{
			criteria		IsOrderResponse AlyxIsKnown
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.announceattack_alyx_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.announceattack_alyx_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.announceattack_alyx_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.announceattack_alyx_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.announceattack_alyx_05"
			speak "vo.combine.suppressor.orderresponse_positive_06" thensimple 0 speak "vo.combine.suppressor.announceattack_alyx_09"
		}
		
		response
		{
			criteria		PlayerHasUpgrades
			speak "vo.combine.suppressor.sees_upgrades_01"
			speak "vo.combine.suppressor.sees_upgrades_02"
			speak "vo.combine.suppressor.sees_upgrades_03"
			speak "vo.combine.suppressor.sees_upgrades_04"
			speak "vo.combine.suppressor.sees_upgrades_05"
		}
		
		response
		{
			criteria		PlayerHasGrenades
			speak "vo.combine.suppressor.sees_grenades_01"
			speak "vo.combine.suppressor.sees_grenades_02"
			speak "vo.combine.suppressor.sees_grenades_03"
			speak "vo.combine.suppressor.sees_grenades_04"
			speak "vo.combine.suppressor.sees_grenades_05"
		}
	}
	
	response
	{
		criteria		EnemyIsAntlion
		speak "vo.combine.suppressor.announceenemy_antlion_01" 
		speak "vo.combine.suppressor.announceenemy_antlion_02" 
		speak "vo.combine.suppressor.announceenemy_antlion_03" 
		speak "vo.combine.suppressor.announceenemy_antlion_04" 
		speak "vo.combine.suppressor.announceenemy_antlion_05" 
		speak "vo.combine.suppressor.announceenemy_antlion_06" 
		speak "vo.combine.suppressor.announceenemy_antlion_07" 
		
	}
	
	response
	{
		criteria		EnemyIsZombie
		speak "vo.combine.suppressor.announceenemy_zombie_01" 
		speak "vo.combine.suppressor.announceenemy_zombie_02" 
		speak "vo.combine.suppressor.announceenemy_zombie_03" 
		speak "vo.combine.suppressor.announceenemy_zombie_04" 
		speak "vo.combine.suppressor.announceenemy_zombie_05" 
		speak "vo.combine.suppressor.announceenemy_zombie_08" 
		speak "vo.combine.suppressor.announceenemy_zombie_09" 
		speak "vo.combine.suppressor.announceenemy_zombie_10" 
	}
	
	response
	{
		criteria		EnemyIsHeadcrab
		speak "vo.combine.suppressor.announceenemy_headcrabs_01" 
		speak "vo.combine.suppressor.announceenemy_headcrabs_02"  thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
		speak "vo.combine.suppressor.announceenemy_headcrabs_03" 
		speak "vo.combine.suppressor.announceenemy_headcrabs_04" 
		speak "vo.combine.suppressor.announceenemy_headcrabs_05" 
		speak "vo.combine.suppressor.announceenemy_headcrabs_07" 
		speak "vo.combine.suppressor.announceenemy_headcrabs_08" 
		speak "vo.combine.suppressor.announceenemy_headcrabs_10" 
	}
}

//========================================================================================================
// ANNOUNCE KILL
//============================
response CS_Suppressor_AnnounceKill
{
	criteria		IsCombineS IsClass_Suppressor ConceptAnnounceKill
	
	
		speak "vo.combine.suppressor.announcekill_01" 
		speak "vo.combine.suppressor.announcekill_02" 
		speak "vo.combine.suppressor.announcekill_03" 
		speak "vo.combine.suppressor.announcekill_04" 
		speak "vo.combine.suppressor.announcekill_05" 
		speak "vo.combine.suppressor.announcekill_06" 
		speak "vo.combine.suppressor.announcekill_09" 
		speak "vo.combine.suppressor.announcekill_11" 
		speak "vo.combine.suppressor.announcekill_12" 
		speak "vo.combine.suppressor.announcekill_13" 
		speak "vo.combine.suppressor.announcekill_14" 
		speak "vo.combine.suppressor.announcekill_15" 
		
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.announcekill_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.announcekill_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.announcekill_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.announcekill_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.announcekill_05"
			speak "vo.combine.suppressor.orderresponse_positive_06" thensimple 0 speak "vo.combine.suppressor.announcekill_09"
		}
	
	response
	{
		criteria		EnemyIsPlayer AlyxIsKnown
		speak "vo.combine.suppressor.announcekill_player_01" 
		speak "vo.combine.suppressor.announcekill_player_03" 
		speak "vo.combine.suppressor.announcekill_player_04" 
		speak "vo.combine.suppressor.announcekill_player_05" 
		speak "vo.combine.suppressor.announcekill_player_06" 
		speak "vo.combine.suppressor.announcekill_player_07" 
		speak "vo.combine.suppressor.announcekill_player_08" 
		speak "vo.combine.suppressor.announcekill_player_09" 
		speak "vo.combine.suppressor.announcekill_01" 
		speak "vo.combine.suppressor.announcekill_02" 
		speak "vo.combine.suppressor.announcekill_03" 
		speak "vo.combine.suppressor.announcekill_04" 
		speak "vo.combine.suppressor.announcekill_05" 
		speak "vo.combine.suppressor.announcekill_06" 
		speak "vo.combine.suppressor.announcekill_09" 
		speak "vo.combine.suppressor.announcekill_11" 
		speak "vo.combine.suppressor.announcekill_12" 
		speak "vo.combine.suppressor.announcekill_13" 
		speak "vo.combine.suppressor.announcekill_14" 
		speak "vo.combine.suppressor.announcekill_15" 
		
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.announcekill_player_01"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.announcekill_player_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.announcekill_player_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.announcekill_player_05"
			speak "vo.combine.suppressor.orderresponse_positive_06" thensimple 0 speak "vo.combine.suppressor.announcekill_player_06"
		}
		
	}
	
	response
	{
		criteria		EnemyIsAntlion
		speak "vo.combine.suppressor.announcekill_antlion_01" 
		speak "vo.combine.suppressor.announcekill_antlion_02" 
		speak "vo.combine.suppressor.announcekill_antlion_03" 
		speak "vo.combine.suppressor.announcekill_antlion_04" 
		speak "vo.combine.suppressor.announcekill_antlion_05" 
		speak "vo.combine.suppressor.announcekill_01" 
		speak "vo.combine.suppressor.announcekill_02" 
		speak "vo.combine.suppressor.announcekill_03" 
		speak "vo.combine.suppressor.announcekill_04" 
	}
	
	response
	{
		criteria		EnemyIsZombie
		speak "vo.combine.suppressor.announcekill_zombie_01" 
		speak "vo.combine.suppressor.announcekill_zombie_02" 
		speak "vo.combine.suppressor.announcekill_zombie_03" 
		speak "vo.combine.suppressor.announcekill_zombie_04" 
		speak "vo.combine.suppressor.announcekill_zombie_05" 
		speak "vo.combine.suppressor.announcekill_zombie_06" 
		speak "vo.combine.suppressor.announcekill_zombie_07" 
		speak "vo.combine.suppressor.announcekill_05" 
		speak "vo.combine.suppressor.announcekill_06" 
		speak "vo.combine.suppressor.announcekill_09" 
		speak "vo.combine.suppressor.announcekill_11" 
		
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.announcekill_zombie_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.announcekill_zombie_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.announcekill_zombie_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.announcekill_zombie_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.announcekill_zombie_05"
			speak "vo.combine.suppressor.orderresponse_positive_06" thensimple 0 speak "vo.combine.suppressor.announcekill_zombie_06"
		}
	}
	
	response
	{
		criteria		EnemyIsHeadcrab
		speak "vo.combine.suppressor.announcekill_headcrab_01" 
		speak "vo.combine.suppressor.announcekill_headcrab_02" 
		speak "vo.combine.suppressor.announcekill_headcrab_03" 
		speak "vo.combine.suppressor.announcekill_headcrab_04" 
		speak "vo.combine.suppressor.announcekill_headcrab_05" 
		speak "vo.combine.suppressor.announcekill_headcrab_06" 
		speak "vo.combine.suppressor.announcekill_headcrab_07" 
		speak "vo.combine.suppressor.announcekill_headcrab_08" 
		speak "vo.combine.suppressor.announcekill_headcrab_09" 
		speak "vo.combine.suppressor.announcekill_12" 
		speak "vo.combine.suppressor.announcekill_13" 
		speak "vo.combine.suppressor.announcekill_14" 
		speak "vo.combine.suppressor.announcekill_15" 
		
	}
}


//========================================================================================================
// REQUESTING COVER
//====================================================================
response CS_Suppressor_CoverMe
{
	criteria		IsCombineS IsClass_Suppressor ConceptCoverMe HasOtherSquadMembers
	
	speak "vo.combine.suppressor.coverme_01" predelay 1 respeakdelay 15
	speak "vo.combine.suppressor.coverme_02" predelay 1 respeakdelay 15
	speak "vo.combine.suppressor.coverme_03" predelay 1 respeakdelay 15
	speak "vo.combine.suppressor.coverme_04" predelay 1 respeakdelay 15
	speak "vo.combine.suppressor.coverme_05" predelay 1 respeakdelay 15
	speak "vo.combine.suppressor.coverme_06" predelay 1 respeakdelay 15
	speak "vo.combine.suppressor.coverme_07" predelay 1 respeakdelay 15
}


//========================================================================================================
// ANNOUNCING DANGER - GRENADE
//====================================================================
response CS_Suppressor_AnnounceDanger_Grenade
{
	criteria		IsCombineS IsClass_Suppressor ConceptDanger DangerIsGrenade
	
	speak "vo.combine.suppressor.danger_grenade_01"
	speak "vo.combine.suppressor.danger_grenade_02"
	speak "vo.combine.suppressor.danger_grenade_03"
	speak "vo.combine.suppressor.danger_grenade_04"
	speak "vo.combine.suppressor.danger_grenade_05"
	speak "vo.combine.suppressor.danger_grenade_06"
	speak "vo.combine.suppressor.danger_grenade_07"
	speak "vo.combine.suppressor.danger_grenade_08" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	speak "vo.combine.suppressor.danger_grenade_09"
	speak "vo.combine.suppressor.danger_grenade_10"
}


//========================================================================================================
// DEATH
//==================================

response CS_Suppressor_Die
{
	criteria		IsCombineS IsClass_Suppressor ConceptDie
	
	speak "vo.combine.suppressor.die_01" noscene
	speak "vo.combine.suppressor.die_02" noscene
	speak "vo.combine.suppressor.die_03" noscene
	speak "vo.combine.suppressor.die_04" noscene
	speak "vo.combine.suppressor.die_05" noscene
	speak "vo.combine.suppressor.die_06" noscene
	speak "vo.combine.suppressor.die_07" noscene
	speak "vo.combine.suppressor.die_08" noscene
	speak "vo.combine.suppressor.die_09" noscene
	speak "vo.combine.suppressor.die_10" noscene
	
	response
	{
		criteria		enemyisplayerx
		speak "vo.combine.suppressor.die_01" noscene
		speak "vo.combine.suppressor.die_02" noscene
		speak "vo.combine.suppressor.die_03" noscene
		speak "vo.combine.suppressor.die_04" noscene
		speak "vo.combine.suppressor.die_05" noscene
		speak "vo.combine.suppressor.die_06" noscene
		speak "vo.combine.suppressor.die_07" noscene
		speak "vo.combine.suppressor.die_08" noscene
		speak "vo.combine.suppressor.die_09" noscene
		speak "vo.combine.suppressor.die_10" noscene
		
		response
		{
			criteria		AlyxIsKnown
			speak "vo.combine.suppressor.die_by_player_18" noscene
			speak "vo.combine.suppressor.die_by_player_19" noscene
			speak "vo.combine.suppressor.die_by_player_20" noscene
			speak "vo.combine.suppressor.die_by_player_21" noscene
			speak "vo.combine.suppressor.die_by_player_22" noscene
			speak "vo.combine.suppressor.die_by_player_23" noscene
			speak "vo.combine.suppressor.die_01" noscene
			speak "vo.combine.suppressor.die_02" noscene
			speak "vo.combine.suppressor.die_03" noscene
			speak "vo.combine.suppressor.die_04" noscene
			speak "vo.combine.suppressor.die_05" noscene
			speak "vo.combine.suppressor.die_06" noscene
			speak "vo.combine.suppressor.die_07" noscene
			speak "vo.combine.suppressor.die_08" noscene
			speak "vo.combine.suppressor.die_09" noscene
			speak "vo.combine.suppressor.die_10" noscene
		}
		
	}
}

//========================================================================================================
// ESTABLISHING LINE OF FIRE
//====================================================================
response CS_Suppressor_EstablishingLOF
{
	criteria		IsCombineS IsClass_Suppressor ConceptEstablishingLOF
	
	speak "vo.combine.suppressor.establishinglof_01" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_02" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_03" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_04" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_05" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_06" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_07" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_08" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_09" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_10" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_11" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_12" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_13" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_14" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_15" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_17" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_18" respeakdelay 11
	speak "vo.combine.suppressor.establishinglof_19" respeakdelay 11
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.establishinglof_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.establishinglof_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.establishinglof_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.establishinglof_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.establishinglof_05"
			speak "vo.combine.suppressor.orderresponse_positive_06" thensimple 0 speak "vo.combine.suppressor.establishinglof_06"
		}
}



//========================================================================================================
// FLUSHING ENEMY OUT OF COVER
//====================================================================
response CS_Suppressor_FlushingEnemy
{
	criteria		IsCombineS IsClass_Suppressor ConceptFlushingEnemy 
	
	speak "vo.combine.suppressor.flushing_01"
	speak "vo.combine.suppressor.flushing_02"
	speak "vo.combine.suppressor.flushing_03" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	speak "vo.combine.suppressor.flushing_04"
	speak "vo.combine.suppressor.flushing_05"
	speak "vo.combine.suppressor.flushing_06"
	speak "vo.combine.suppressor.flushing_07"
}


//========================================================================================================
// GET BACK
//====================================================================
response CS_Suppressor_GetBack
{
	criteria		IsCombineS IsClass_Suppressor ConceptGetBack 
	
	speak "vo.combine.suppressor.getback_01" 
	speak "vo.combine.suppressor.getback_02" 
	speak "vo.combine.suppressor.getback_03"
	speak "vo.combine.suppressor.getback_04" 
	speak "vo.combine.suppressor.getback_05" 	
}


//========================================================================================================
// INJURED
//====================================================================
response CS_Suppressor_Injured
{
	criteria		IsCombineS IsClass_Suppressor ConceptInjured 
	
	speak "vo.combine.suppressor.injured_01"
	speak "vo.combine.suppressor.injured_02"
	speak "vo.combine.suppressor.injured_03" 
	speak "vo.combine.suppressor.injured_04" 
	speak "vo.combine.suppressor.injured_05"
	speak "vo.combine.suppressor.injured_06"
	speak "vo.combine.suppressor.injured_07"
}


//========================================================================================================
// LIMPING
//====================================================================
response CS_Suppressor_Limping
{
	criteria		IsCombineS IsClass_Suppressor ConceptLimping 
	
	speak "vo.combine.suppressor.panting_01"
}

//========================================================================================================
// LOST ENEMY 16+ sec
//====================================================================
response CS_Suppressor_LostShort
{
	criteria		IsCombineS IsClass_Suppressor ConceptLostEnemy LostEnemyShortTime
	
	speak "vo.combine.suppressor.lostenemy_01"
	speak "vo.combine.suppressor.lostenemy_02"
	speak "vo.combine.suppressor.lostenemy_03"
	speak "vo.combine.suppressor.lostenemy_04"
	speak "vo.combine.suppressor.lostenemy_05"
	speak "vo.combine.suppressor.lostenemy_06"
	speak "vo.combine.suppressor.lostenemy_07"
	speak "vo.combine.suppressor.lostenemy_08"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.lostenemy_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.lostenemy_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.lostenemy_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.lostenemy_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.lostenemy_05"
		}
}


//========================================================================================================
// LOST VISUAL 3+ sec
//====================================================================
response CS_Suppressor_LostVisual
{
	criteria		IsCombineS IsClass_Suppressor ConceptLostVisual 
	
	speak "vo.combine.suppressor.lostvisual_01" respeakdelay 3
	speak "vo.combine.suppressor.lostvisual_02" respeakdelay 3
	speak "vo.combine.suppressor.lostvisual_03" respeakdelay 3
	speak "vo.combine.suppressor.lostvisual_04" respeakdelay 3
	speak "vo.combine.suppressor.lostvisual_06" respeakdelay 3
	speak "vo.combine.suppressor.lostvisual_07" respeakdelay 3 thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers" respeakdelay 3
	speak "vo.combine.suppressor.lostvisual_08" respeakdelay 3
	speak "vo.combine.suppressor.lostvisual_09" respeakdelay 3
	speak "vo.combine.suppressor.lostvisual_10" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_01" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_02" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_03" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_04" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_05" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_06" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_07" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_09" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_10" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_11" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_12" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_13" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_14" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_15" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_16" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_17" respeakdelay 3
	speak "vo.combine.suppressor.reconnoiter_search_18" respeakdelay 3
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.lostvisual_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.lostvisual_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.lostvisual_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.lostvisual_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.lostvisual_05"
		}
	
	response
	{
		criteria		enemyisplayerx
		speak "vo.combine.suppressor.lostvisual_01" respeakdelay 11
		speak "vo.combine.suppressor.lostvisual_02" respeakdelay 11
		speak "vo.combine.suppressor.lostvisual_03" respeakdelay 11
		speak "vo.combine.suppressor.lostvisual_04" respeakdelay 11
		speak "vo.combine.suppressor.lostvisual_06" respeakdelay 11
		speak "vo.combine.suppressor.lostvisual_07" respeakdelay 11 thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
		speak "vo.combine.suppressor.lostvisual_08" respeakdelay 11
		speak "vo.combine.suppressor.lostvisual_09" respeakdelay 11
		speak "vo.combine.suppressor.lostvisual_10" respeakdelay 11
		
		response
		{
			criteria		AlyxIsKnown
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.lostvisual_player_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.lostvisual_player_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.lostvisual_player_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.lostvisual_player_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.lostvisual_player_05"
		}
		
		response
		{
			criteria		IsOrderResponse AlyxIsKnown
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.lostvisual_player_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.lostvisual_player_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.lostvisual_player_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.lostvisual_player_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.lostvisual_player_05"
		}
	}
	
}


//========================================================================================================
// PANIC ON ENEMY NEAR
//====================================================================
response CS_Suppressor_NearPanic
{
	criteria		IsCombineS IsClass_Suppressor ConceptNearPanic
	
	speak "vo.combine.suppressor.nearpanic_01"
	speak "vo.combine.suppressor.nearpanic_02"
	speak "vo.combine.suppressor.nearpanic_03"
	speak "vo.combine.suppressor.nearpanic_04"
	speak "vo.combine.suppressor.nearpanic_05"
	speak "vo.combine.suppressor.nearpanic_06"
	speak "vo.combine.suppressor.nearpanic_07"
	speak "vo.combine.suppressor.nearpanic_08"
	speak "vo.combine.suppressor.nearpanic_09"
	speak "vo.combine.suppressor.nearpanic_10"
}


//========================================================================================================
// ENTERING OVERWATCH
//====================================================================

response CS_Suppressor_Overwatch
{
	criteria		IsCombineS IsClass_Suppressor ConceptOverwatch 
	
	speak "vo.combine.suppressor.overwatch_01" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_02" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_03" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_04" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_05" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_06" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_07" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_08" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_09" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_10" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_11" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_12" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_13" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_14" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_15" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_16" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_17" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_18" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_19" respeakdelay 5
	speak "vo.combine.suppressor.overwatch_20" respeakdelay 5
	speak "vo.combine.suppressor.lostenemy_01" respeakdelay 5
	speak "vo.combine.suppressor.lostenemy_02" respeakdelay 5
	speak "vo.combine.suppressor.lostenemy_03" respeakdelay 5
	speak "vo.combine.suppressor.lostenemy_04" respeakdelay 5
	speak "vo.combine.suppressor.lostenemy_05" respeakdelay 5
	speak "vo.combine.suppressor.lostenemy_06" respeakdelay 5
	speak "vo.combine.suppressor.lostenemy_07" respeakdelay 5
	speak "vo.combine.suppressor.lostenemy_08" respeakdelay 5
	speak "vo.combine.suppressor.lostvisual_01" respeakdelay 5
	speak "vo.combine.suppressor.lostvisual_02" respeakdelay 5
	speak "vo.combine.suppressor.lostvisual_03" respeakdelay 5
	speak "vo.combine.suppressor.lostvisual_04" respeakdelay 5
	speak "vo.combine.suppressor.lostvisual_06" respeakdelay 5
	speak "vo.combine.suppressor.lostvisual_07" respeakdelay 5 thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	speak "vo.combine.suppressor.lostvisual_08" respeakdelay 5
	speak "vo.combine.suppressor.lostvisual_09" respeakdelay 5
	speak "vo.combine.suppressor.lostvisual_10" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_01" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_03" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_04" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_05" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_06" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_08" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_09" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_10" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_11" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_12" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_13" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_14" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_15" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_16" respeakdelay 5
	speak "vo.combine.suppressor.reconnoiter_start_17" respeakdelay 5
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.overwatch_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.overwatch_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.overwatch_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.overwatch_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.overwatch_05"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.overwatch_06"
		}
}


//========================================================================================================
// PAIN 
//============================

response CS_Suppressor_Pain
{
	criteria		IsCombineS IsClass_Suppressor ConceptPain
	
	speak "vo.combine.suppressor.pain_02" 
	speak "vo.combine.suppressor.pain_03" 
	speak "vo.combine.suppressor.pain_04" 
	speak "vo.combine.suppressor.pain_05" 
	speak "vo.combine.suppressor.pain_06" 
	speak "vo.combine.suppressor.pain_07" 
	speak "vo.combine.suppressor.pain_08" 
	speak "vo.combine.suppressor.pain_10" 
	speak "vo.combine.suppressor.pain_02" thensimple 1 speak "vo.combine.suppressor.underattack_01" respeakdelay 13
	speak "vo.combine.suppressor.pain_03" thensimple 1 speak "vo.combine.suppressor.underattack_02" respeakdelay 13
	speak "vo.combine.suppressor.pain_04" thensimple 1 speak "vo.combine.suppressor.underattack_04" respeakdelay 13
	speak "vo.combine.suppressor.pain_05" thensimple 1 speak "vo.combine.suppressor.underattack_05" respeakdelay 13
	speak "vo.combine.suppressor.pain_06" thensimple 1 speak "vo.combine.suppressor.underattack_06" respeakdelay 13
	speak "vo.combine.suppressor.pain_07" thensimple 1 speak "vo.combine.suppressor.underattack_07" respeakdelay 13
	speak "vo.combine.suppressor.pain_08" thensimple 1 speak "vo.combine.suppressor.underattack_08" respeakdelay 13
	speak "vo.combine.suppressor.pain_10" thensimple 1 speak "vo.combine.suppressor.underattack_09" respeakdelay 13
	speak "vo.combine.suppressor.pain_02" thensimple 1 speak "vo.combine.suppressor.underattack_10" respeakdelay 13
	speak "vo.combine.suppressor.pain_03" thensimple 1 speak "vo.combine.suppressor.underattack_11" respeakdelay 13
	speak "vo.combine.suppressor.pain_04" thensimple 1 speak "vo.combine.suppressor.underattack_12" respeakdelay 13
}



//========================================================================================================
// PLAYER IS WOUNDED
//====================================================================
response CS_Suppressor_PlayerIsHurt
{
	criteria		IsCombineS IsClass_Suppressor ConceptPlayerIsHurt 
	
	speak "vo.combine.suppressor.playerishurt_01"
	speak "vo.combine.suppressor.playerishurt_02"
	speak "vo.combine.suppressor.playerishurt_03"
	speak "vo.combine.suppressor.playerishurt_04"
	speak "vo.combine.suppressor.playerishurt_05"
	speak "vo.combine.suppressor.playerishurt_06"
	speak "vo.combine.suppressor.playerishurt_07"
	speak "vo.combine.suppressor.playerishurt_08"
	speak "vo.combine.suppressor.playerishurt_09"
	speak "vo.combine.suppressor.playerishurt_10"
	speak "vo.combine.suppressor.playerishurt_11"
	speak "vo.combine.suppressor.playerishurt_12"
	speak "vo.combine.suppressor.playerishurt_13"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.playerishurt_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.playerishurt_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.playerishurt_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.playerishurt_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.playerishurt_05"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.playerishurt_06"
		}
}


//========================================================================================================
// RECONNOITER END
//====================================================================
response CS_Suppressor_ReconnoiterFinish
{
	criteria		IsCombineS IsClass_Suppressor ConceptReconnoiterFinish 
	
	speak "vo.combine.suppressor.reconnoiter_finish_01"
	speak "vo.combine.suppressor.reconnoiter_finish_02"
	speak "vo.combine.suppressor.reconnoiter_finish_03"
	speak "vo.combine.suppressor.reconnoiter_finish_04"
	speak "vo.combine.suppressor.reconnoiter_finish_05"
	speak "vo.combine.suppressor.reconnoiter_finish_06"
	speak "vo.combine.suppressor.reconnoiter_finish_07"
	speak "vo.combine.suppressor.reconnoiter_finish_08"
	speak "vo.combine.suppressor.reconnoiter_finish_09"
	speak "vo.combine.suppressor.reconnoiter_finish_10"
	speak "vo.combine.suppressor.reconnoiter_finish_11"
	speak "vo.combine.suppressor.reconnoiter_finish_12"
	speak "vo.combine.suppressor.reconnoiter_finish_13"
	speak "vo.combine.suppressor.reconnoiter_finish_14"
	speak "vo.combine.suppressor.reconnoiter_finish_15"
	speak "vo.combine.suppressor.reconnoiter_finish_16"
	speak "vo.combine.suppressor.reconnoiter_finish_18"
	speak "vo.combine.suppressor.reconnoiter_finish_19"
	speak "vo.combine.suppressor.reconnoiter_finish_20"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.reconnoiter_finish_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.reconnoiter_finish_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.reconnoiter_finish_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.reconnoiter_finish_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.reconnoiter_finish_05"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.reconnoiter_finish_06"
		}
}


//========================================================================================================
// RECONNOITER SEARCH
//====================================================================
response CS_Suppressor_ReconnoiterSearch
{
	criteria		IsCombineS IsClass_Suppressor ConceptReconnoiterSearch 
	
	speak "vo.combine.suppressor.reconnoiter_search_01"
	speak "vo.combine.suppressor.reconnoiter_search_02"
	speak "vo.combine.suppressor.reconnoiter_search_03"
	speak "vo.combine.suppressor.reconnoiter_search_04"
	speak "vo.combine.suppressor.reconnoiter_search_05"
	speak "vo.combine.suppressor.reconnoiter_search_06"
	speak "vo.combine.suppressor.reconnoiter_search_07"
	speak "vo.combine.suppressor.reconnoiter_search_09"
	speak "vo.combine.suppressor.reconnoiter_search_10"
	speak "vo.combine.suppressor.reconnoiter_search_11"
	speak "vo.combine.suppressor.reconnoiter_search_12"
	speak "vo.combine.suppressor.reconnoiter_search_13"
	speak "vo.combine.suppressor.reconnoiter_search_14"
	speak "vo.combine.suppressor.reconnoiter_search_15"
	speak "vo.combine.suppressor.reconnoiter_search_16"
	speak "vo.combine.suppressor.reconnoiter_search_17"
	speak "vo.combine.suppressor.reconnoiter_search_18"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.reconnoiter_search_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.reconnoiter_search_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.reconnoiter_search_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.reconnoiter_search_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.reconnoiter_search_05"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.reconnoiter_search_06"
		}
}


//========================================================================================================
// RECONNOITER START
//====================================================================
response CS_Suppressor_Reconnoiter
{
	criteria		IsCombineS IsClass_Suppressor ConceptReconnoiterStart 
	
	speak "vo.combine.suppressor.reconnoiter_start_01"
	speak "vo.combine.suppressor.reconnoiter_start_03"
	speak "vo.combine.suppressor.reconnoiter_start_04"
	speak "vo.combine.suppressor.reconnoiter_start_05"
	speak "vo.combine.suppressor.reconnoiter_start_06"
	speak "vo.combine.suppressor.reconnoiter_start_08"
	speak "vo.combine.suppressor.reconnoiter_start_09"
	speak "vo.combine.suppressor.reconnoiter_start_10"
	speak "vo.combine.suppressor.reconnoiter_start_11"
	speak "vo.combine.suppressor.reconnoiter_start_12"
	speak "vo.combine.suppressor.reconnoiter_start_13"
	speak "vo.combine.suppressor.reconnoiter_start_14"
	speak "vo.combine.suppressor.reconnoiter_start_15"
	speak "vo.combine.suppressor.reconnoiter_start_16"
	speak "vo.combine.suppressor.reconnoiter_start_17"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.reconnoiter_start_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.reconnoiter_start_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.reconnoiter_start_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.reconnoiter_start_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.reconnoiter_start_05"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.reconnoiter_start_06"
		}
}


//========================================================================================================
// FIND ENEMY
//====================================================================
response CS_Suppressor_FindEnemy
{
	criteria		IsCombineS IsClass_Suppressor ConceptFindEnemy 
	
	speak "vo.combine.suppressor.refindenemy_01" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	speak "vo.combine.suppressor.refindenemy_02" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	speak "vo.combine.suppressor.refindenemy_03" 
	speak "vo.combine.suppressor.refindenemy_04"
	speak "vo.combine.suppressor.refindenemy_05"
	speak "vo.combine.suppressor.refindenemy_06"
	speak "vo.combine.suppressor.refindenemy_07"
	speak "vo.combine.suppressor.refindenemy_08"
	speak "vo.combine.suppressor.refindenemy_09"
	speak "vo.combine.suppressor.refindenemy_10" 
	speak "vo.combine.suppressor.refindenemy_11" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	speak "vo.combine.suppressor.refindenemy_12"
	speak "vo.combine.suppressor.refindenemy_13"
	speak "vo.combine.suppressor.refindenemy_14"
	speak "vo.combine.suppressor.refindenemy_15"
	speak "vo.combine.suppressor.refindenemy_16"
	speak "vo.combine.suppressor.refindenemy_17"
	speak "vo.combine.suppressor.refindenemy_18"
	
	response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.refindenemy_01" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.refindenemy_02" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.refindenemy_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.refindenemy_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.refindenemy_05"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.refindenemy_06"
		}
}

//========================================================================================================
// RELOADING
//====================================================================
response CS_Suppressor_Reload
{
	criteria		IsCombineS IsClass_Suppressor ConceptReload 
	
	speak "vo.combine.suppressor.reload_01" 
	speak "vo.combine.suppressor.reload_02" 
	speak "vo.combine.suppressor.reload_05" 
	speak "vo.combine.suppressor.reload_06" 
	speak "vo.combine.suppressor.reload_07" 
	speak "vo.combine.suppressor.reload_08" 
	speak "vo.combine.suppressor.reload_09" 
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.reload_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.reload_02"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.reload_07"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.reload_05"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.reload_06"
		}
}


//====================================================================
//		SQUAD MEMBER LOST
//====================================================================
response CS_Suppressor_SquadMemberLost
{
	criteria		IsCombineS IsClass_Suppressor ConceptSquadMemberLost 
	
	response
	{
		criteria		LostSquadSuppressor
		speak "vo.combine.suppressor.squadmemberlost_01" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_02" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_03" predelay 1
		speak "vo.combine.suppressor.calloutentity_echoone_01" predelay 1 thensimple 1 speak "vo.combine.suppressor.squadmemberlost_04"
		speak "vo.combine.suppressor.squadmemberlost_05" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_06" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_07" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_09" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_10" predelay 1
		speak "vo.combine.suppressor.calloutentity_echoone_01" predelay 1 thensimple 1 speak "vo.combine.suppressor.squadmemberlost_11"
	}
	
	response
	{
		criteria		LostSquadsuppressor
		speak "vo.combine.suppressor.squadmemberlost_01" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_02" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_03" predelay 1
		speak "vo.combine.suppressor.calloutentity_wallhammer_01" predelay 1 thensimple 1 speak "vo.combine.suppressor.squadmemberlost_04"
		speak "vo.combine.suppressor.squadmemberlost_05" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_06" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_07" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_09" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_10" predelay 1
		speak "vo.combine.suppressor.calloutentity_wallhammer_01" predelay 1 thensimple 1 speak "vo.combine.suppressor.squadmemberlost_11"
	}
	
	response
	{
		criteria		LostSquadSuppressor
		speak "vo.combine.suppressor.squadmemberlost_01" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_02" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_03" predelay 1
		speak "vo.combine.suppressor.calloutentity_apf_01" predelay 1 thensimple 1 speak "vo.combine.suppressor.squadmemberlost_04"
		speak "vo.combine.suppressor.squadmemberlost_05" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_06" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_07" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_09" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_10" predelay 1
		speak "vo.combine.suppressor.calloutentity_apf_01" predelay 1 thensimple 1 speak "vo.combine.suppressor.squadmemberlost_11"
	}
	
	response
	{
		criteria		LostSquadLeader
		speak "vo.combine.suppressor.squadmemberlost_leader_01" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_leader_02" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_leader_03" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_leader_04" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_leader_05" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_leader_06" predelay 1
		speak "vo.combine.suppressor.squadmemberlost_leader_07" predelay 1
	}
	
}



//====================================================================
//		LAST MAN STANDING
//====================================================================
response CS_Suppressor_SquadMemberLost_LastManStanding
{
	criteria		IsCombineS IsClass_Suppressor ConceptSquadMemberLost IsLastSquadMemberLeft
	
	speak "vo.combine.suppressor.squadmemberlost_lastman_01" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_02" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_03" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_04" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_05" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_06" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_07" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_08" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_09" predelay 1
}


//========================================================================================================
// SUPPRESSING
//====================================================================
response CS_Suppressor_Suppressing
{
	criteria		IsCombineS IsClass_Suppressor ConceptSuppressing 
	
	speak "vo.combine.suppressor.suppressing_01"
	speak "vo.combine.suppressor.suppressing_02"
	speak "vo.combine.suppressor.suppressing_03"
	speak "vo.combine.suppressor.suppressing_04"
	speak "vo.combine.suppressor.suppressing_05"
	speak "vo.combine.suppressor.suppressing_06"
	speak "vo.combine.suppressor.suppressing_07"
	
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.suppressing_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.suppressing_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.suppressing_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.suppressing_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.suppressing_05"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.suppressing_06"
		}
}


//========================================================================================================
// I'M TAKING FIRE
//====================================================================
response CS_Suppressor_TakingFire
{
	criteria		IsCombineS IsClass_Suppressor ConceptTakingFire 
	
	speak "vo.combine.suppressor.takingfire_01" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_02" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_03" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_04" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_05" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_06" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_07" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_08" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_09" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_10" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_11" respeakdelay 15
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.takingfire_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.takingfire_02"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.takingfire_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.takingfire_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.takingfire_05"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.takingfire_06"
		}
}


//========================================================================================================
// SQUAD IS UNDER ATTACK
//====================================================================
response CS_Suppressor_UnderAttack
{
	criteria		IsCombineS IsClass_Suppressor ConceptUnderAttack 
	
	speak "vo.combine.suppressor.underattack_01"
	speak "vo.combine.suppressor.underattack_02"
	speak "vo.combine.suppressor.underattack_03" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	speak "vo.combine.suppressor.underattack_04"
	speak "vo.combine.suppressor.underattack_05"
	speak "vo.combine.suppressor.underattack_06"
	speak "vo.combine.suppressor.underattack_07"
	speak "vo.combine.suppressor.underattack_08"
	speak "vo.combine.suppressor.underattack_09"
	speak "vo.combine.suppressor.underattack_10"
	speak "vo.combine.suppressor.underattack_11"
	speak "vo.combine.suppressor.underattack_12"
}

	
//========================================================================================================
// ORDER RESPONSES
//====================================================================
response CS_Suppressor_UnableToComply
{
	criteria		IsCombineS IsClass_Suppressor ConceptOrderResponse 
	
	response
	{
		criteria		ResponseIsNegative
		speak "vo.combine.suppressor.unabletocommence_01"
		speak "vo.combine.suppressor.unabletocommence_02"
		speak "vo.combine.suppressor.unabletocommence_03"
		speak "vo.combine.suppressor.unabletocommence_04"
		speak "vo.combine.suppressor.unabletocommence_05"
		speak "vo.combine.suppressor.unabletocommence_06"
		speak "vo.combine.suppressor.unabletocommence_07"
	}
	
	response
	{
		criteria		ResponseIsPositive
		speak "vo.combine.suppressor.orderresponse_positive_01"
		speak "vo.combine.suppressor.orderresponse_positive_02"
		speak "vo.combine.suppressor.orderresponse_positive_03"
		speak "vo.combine.suppressor.orderresponse_positive_04"
		speak "vo.combine.suppressor.orderresponse_positive_05"
		speak "vo.combine.suppressor.orderresponse_positive_06"
	}
}


//========================================================================================================
// TAUNT
//====================================================================
response CS_Suppressor_Taunt
{
	criteria		IsCombineS IsClass_Suppressor ConceptTaunt 
	
	speak "vo.combine.suppressor.taunt_010"
	speak "vo.combine.suppressor.taunt_011"
	speak "vo.combine.suppressor.taunt_012"
	speak "vo.combine.suppressor.taunt_020"
	speak "vo.combine.suppressor.taunt_021"
	speak "vo.combine.suppressor.taunt_022"
	speak "vo.combine.suppressor.taunt_030"
	speak "vo.combine.suppressor.taunt_031"
	speak "vo.combine.suppressor.taunt_032"
	speak "vo.combine.suppressor.taunt_040"
	speak "vo.combine.suppressor.taunt_041"
	speak "vo.combine.suppressor.taunt_042"
	speak "vo.combine.suppressor.taunt_050"
	speak "vo.combine.suppressor.taunt_051"
	speak "vo.combine.suppressor.taunt_052"
	speak "vo.combine.suppressor.taunt_060"
	speak "vo.combine.suppressor.taunt_061"
	speak "vo.combine.suppressor.taunt_062"
	speak "vo.combine.suppressor.taunt_070"
	speak "vo.combine.suppressor.taunt_071"
	speak "vo.combine.suppressor.taunt_072"
	speak "vo.combine.suppressor.taunt_080"
	speak "vo.combine.suppressor.taunt_081"
	speak "vo.combine.suppressor.taunt_082"
	speak "vo.combine.suppressor.taunt_090"
	speak "vo.combine.suppressor.taunt_091"
	speak "vo.combine.suppressor.taunt_092"
	speak "vo.combine.suppressor.taunt_100"
	speak "vo.combine.suppressor.taunt_101"
	speak "vo.combine.suppressor.taunt_102"
	speak "vo.combine.suppressor.taunt_110"
	speak "vo.combine.suppressor.taunt_111"
	speak "vo.combine.suppressor.taunt_112"
	speak "vo.combine.suppressor.taunt_120"
	speak "vo.combine.suppressor.taunt_121"
	speak "vo.combine.suppressor.taunt_122"
	speak "vo.combine.suppressor.taunt_130"
	speak "vo.combine.suppressor.taunt_131"
	speak "vo.combine.suppressor.taunt_132"
	speak "vo.combine.suppressor.taunt_140"
	speak "vo.combine.suppressor.taunt_141"
	speak "vo.combine.suppressor.taunt_142"
	speak "vo.combine.suppressor.taunt_150"
	speak "vo.combine.suppressor.taunt_151"
	speak "vo.combine.suppressor.taunt_152"
	speak "vo.combine.suppressor.taunt_160"
	speak "vo.combine.suppressor.taunt_161"
	speak "vo.combine.suppressor.taunt_162"
	speak "vo.combine.suppressor.taunt_170"
	speak "vo.combine.suppressor.taunt_171"
	speak "vo.combine.suppressor.taunt_172"
	speak "vo.combine.suppressor.taunt_180"
	speak "vo.combine.suppressor.taunt_181"
	speak "vo.combine.suppressor.taunt_182"
	speak "vo.combine.suppressor.taunt_190"
	speak "vo.combine.suppressor.taunt_191"
	speak "vo.combine.suppressor.taunt_192"
	speak "vo.combine.suppressor.taunt_200"
	speak "vo.combine.suppressor.taunt_201"
	speak "vo.combine.suppressor.taunt_202"
}


//========================================================================================================
// HEAR SUSPICIOUS
//====================================================================
response CS_Suppressor_HearSuspicous
{
	criteria		IsCombineS IsClass_Suppressor ConceptHearSuspicious
	
	speak "vo.combine.suppressor.hear_suspicious_01" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	speak "vo.combine.suppressor.hear_suspicious_02"
	speak "vo.combine.suppressor.hear_suspicious_03"
	speak "vo.combine.suppressor.hear_suspicious_04"
	speak "vo.combine.suppressor.hear_suspicious_05"
	speak "vo.combine.suppressor.hear_suspicious_06"
}


//========================================================================================================
// ATTACKING PLAYER'S COVER
//====================================================================
response CS_Suppressor_AttackingCover
{
	criteria		IsCombineS IsClass_Suppressor ConceptAttackingCover
	
	speak "vo.combine.suppressor.announceattack_cover_01"
	speak "vo.combine.suppressor.announceattack_cover_02" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	speak "vo.combine.suppressor.announceattack_cover_03"
	speak "vo.combine.suppressor.announceattack_cover_04"
	speak "vo.combine.suppressor.announceattack_cover_05"
	speak "vo.combine.suppressor.announceattack_cover_06"
	speak "vo.combine.suppressor.announceattack_cover_07"
	speak "vo.combine.suppressor.announceattack_cover_08"
	speak "vo.combine.suppressor.announceattack_cover_09"
	speak "vo.combine.suppressor.announceattack_cover_10"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.announceattack_cover_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.announceattack_cover_02" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers" thensimple 0 speak "vo.combine.suppressor.calloutcode_dash_01" thensimple 0 speak "vo.combine.suppressor_numbers"
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.announceattack_cover_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.announceattack_cover_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.announceattack_cover_05"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.announceattack_cover_06"
		}
}


//========================================================================================================
// RETREATING
//====================================================================
response CS_Suppressor_Retreating
{
	criteria		IsCombineS IsClass_Suppressor ConceptDanger
	
	speak "vo.combine.suppressor.retreat_01"
	speak "vo.combine.suppressor.retreat_02"
	speak "vo.combine.suppressor.retreat_03"
	speak "vo.combine.suppressor.retreat_04"
	speak "vo.combine.suppressor.retreat_05"
	speak "vo.combine.suppressor.retreat_06"
	speak "vo.combine.suppressor.retreat_07"
	speak "vo.combine.suppressor.retreat_08"
	speak "vo.combine.suppressor.retreat_09"
	speak "vo.combine.suppressor.retreat_10"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.retreat_10"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.retreat_02" 
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.retreat_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.retreat_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.retreat_05"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.retreat_06"
		}
}


//========================================================================================================
// RETREATING DUE TO RELOAD
//====================================================================
response CS_Suppressor_RetreatToReload
{
	criteria		IsCombineS IsClass_Suppressor ConceptRetreatToReload
	
	speak "vo.combine.suppressor.retreat_03" thensimple 2 speak "vo.combine.suppressor.reload_02" 
	speak "vo.combine.suppressor.retreat_04" thensimple 2 speak "vo.combine.suppressor.reload_01" 
	speak "vo.combine.suppressor.retreat_05" thensimple 2 speak "vo.combine.suppressor.reload_09"
	speak "vo.combine.suppressor.retreat_07" thensimple 2 speak "vo.combine.suppressor.reload_08"
	speak "vo.combine.suppressor.retreat_08" thensimple 2 speak "vo.combine.suppressor.reload_07" 
	speak "vo.combine.suppressor.coverme_02"  thensimple 2 speak "vo.combine.suppressor.reload_06"
	speak "vo.combine.suppressor.coverme_03" thensimple 2 speak "vo.combine.suppressor.reload_05" 
	speak "vo.combine.suppressor.coverme_07" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers" thensimple 2 speak "vo.combine.suppressor.reload_09"
	speak "vo.combine.suppressor.underattack_02"thensimple 2 speak "vo.combine.suppressor.reload_02" 
	speak "vo.combine.suppressor.underattack_03" thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers" thensimple 2 speak "vo.combine.suppressor.reload_09"
	speak "vo.combine.suppressor.underattack_04" thensimple 2 speak "vo.combine.suppressor.reload_01" 
	speak "vo.combine.suppressor.underattack_05" thensimple 2 speak "vo.combine.suppressor.reload_09"
	speak "vo.combine.suppressor.underattack_06" thensimple 2 speak "vo.combine.suppressor.reload_08"
	speak "vo.combine.suppressor.underattack_07" thensimple 2 speak "vo.combine.suppressor.reload_07"
	speak "vo.combine.suppressor.underattack_08" thensimple 2 speak "vo.combine.suppressor.reload_06" 
	speak "vo.combine.suppressor.underattack_09" thensimple 2 speak "vo.combine.suppressor.reload_05" 
	speak "vo.combine.suppressor.underattack_11" thensimple 2 speak "vo.combine.suppressor.reload_02" 
	speak "vo.combine.suppressor.underattack_12" thensimple 2 speak "vo.combine.suppressor.reload_01" 
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.retreat_04"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.retreat_05" 
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.coverme_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.retreat_07"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.retreat_08"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.retreat_10"
		}
}

//========================================================================================================
// SEES PLAYER IS RELOADING
//====================================================================
response CS_Suppressor_SeesPlayerReloading
{
	criteria		IsCombineS IsClass_Suppressor PlayerIsReloading 
	
	speak "vo.combine.suppressor.sees_reloading_01"
	speak "vo.combine.suppressor.sees_reloading_02"
	speak "vo.combine.suppressor.sees_reloading_03"
	speak "vo.combine.suppressor.sees_reloading_04"
	speak "vo.combine.suppressor.sees_reloading_05"
	
		response
		{
			criteria		IsOrderResponse
			speak "vo.combine.suppressor.orderresponse_positive_01" thensimple 0 speak "vo.combine.suppressor.sees_reloading_01"
			speak "vo.combine.suppressor.orderresponse_positive_02" thensimple 0 speak "vo.combine.suppressor.sees_reloading_02" 
			speak "vo.combine.suppressor.orderresponse_positive_03" thensimple 0 speak "vo.combine.suppressor.sees_reloading_03"
			speak "vo.combine.suppressor.orderresponse_positive_04" thensimple 0 speak "vo.combine.suppressor.sees_reloading_04"
			speak "vo.combine.suppressor.orderresponse_positive_05" thensimple 0 speak "vo.combine.suppressor.sees_reloading_05"
		}
}



//========================================================================================================
// IDLE
//===========================
response CS_Suppressor_Idle
{
	criteria		IsCombineS IsClass_Suppressor ConceptIdle
	
	speak "vo.combine.suppressor.idle_01" respeakdelay 11
	speak "vo.combine.suppressor.idle_02" respeakdelay 11
	speak "vo.combine.suppressor.idle_03" respeakdelay 11
	speak "vo.combine.suppressor.idle_04" respeakdelay 11
	speak "vo.combine.suppressor.idle_05" respeakdelay 11
	speak "vo.combine.suppressor.idle_06" respeakdelay 11
	speak "vo.combine.suppressor.idle_07" respeakdelay 11
	speak "vo.combine.suppressor.idle_08" respeakdelay 11
	speak "vo.combine.suppressor.idle_09" respeakdelay 11
	speak "vo.combine.suppressor.idle_10" respeakdelay 11
	speak "vo.combine.suppressor.idle_11" respeakdelay 11
	speak "vo.combine.suppressor.idle_12" respeakdelay 11
	speak "vo.combine.suppressor.idle_13" respeakdelay 11
	speak "vo.combine.suppressor.idle_14" respeakdelay 11
	speak "vo.combine.suppressor.idle_15" respeakdelay 11
	speak "vo.combine.suppressor.idle_16" respeakdelay 11
	speak "vo.combine.suppressor.idle_17" respeakdelay 11
	speak "vo.combine.suppressor.idle_18" respeakdelay 11
	speak "vo.combine.suppressor.idle_19" respeakdelay 11
	speak "vo.combine.suppressor.idle_20" respeakdelay 11
}

response CS_Suppressor_IdleCombat
{
	criteria		IsCombineS IsClass_Suppressor ConceptIdleCombat
	
	speak "vo.combine.suppressor.combat_idle_010" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_011" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_012" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_020" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_021" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_022" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_030" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_031" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_032" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_040" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_041" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_042" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_050" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_051" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_052" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_060" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_061" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_062" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_070" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_071" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_072" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_080" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_081" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_082" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_090" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_091" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_092" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_100" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_101" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_102" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_110" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_111" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_112" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_120" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_121" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_122" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_130" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_131" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_132" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_140" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_141" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_142" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_150" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_151" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_152" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_160" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_161" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_162" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_170" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_171" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_172" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_180" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_181" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_182" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_190" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_191" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_192" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_200" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_201" respeakdelay 8
	speak "vo.combine.suppressor.combat_idle_202" respeakdelay 8
}

//======================================================================================
// FIRING LOCATION CALLOUTS
//======================================================================================


response CS_suppressor_NoSpeech
{
}

response CS_Suppressor_Firing
{
	criteria		IsCombineS IsClass_Suppressor ConceptFiring
	
	speak "vo.combine.suppressor.firing_02" respeakdelay 12
	speak "vo.combine.suppressor.firing_03" respeakdelay 12
	speak "vo.combine.suppressor.firing_04" respeakdelay 12
	speak "vo.combine.suppressor.firing_05" respeakdelay 12
	speak "vo.combine.suppressor.firing_06" respeakdelay 12
	speak "vo.combine.suppressor.firing_07" respeakdelay 12
	speak "vo.combine.suppressor.firing_08" respeakdelay 12
	speak "vo.combine.suppressor.firing_09" respeakdelay 12
	speak "vo.combine.suppressor.firing_10" respeakdelay 12 thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	
	speak "vo.combine.suppressor.firing_110" respeakdelay 12
	speak "vo.combine.suppressor.firing_111" respeakdelay 12
	speak "vo.combine.suppressor.firing_112" respeakdelay 12
	speak "vo.combine.suppressor.firing_120" respeakdelay 12
	speak "vo.combine.suppressor.firing_121" respeakdelay 12
	speak "vo.combine.suppressor.firing_122" respeakdelay 12
	speak "vo.combine.suppressor.firing_130" respeakdelay 12
	speak "vo.combine.suppressor.firing_131" respeakdelay 12
	speak "vo.combine.suppressor.firing_132" respeakdelay 12
	speak "vo.combine.suppressor.firing_140" respeakdelay 12
	speak "vo.combine.suppressor.firing_141" respeakdelay 12
	speak "vo.combine.suppressor.firing_142" respeakdelay 12
	speak "vo.combine.suppressor.firing_150" respeakdelay 12
	speak "vo.combine.suppressor.firing_151" respeakdelay 12
	speak "vo.combine.suppressor.firing_152" respeakdelay 12
	speak "vo.combine.suppressor.firing_160" respeakdelay 12
	speak "vo.combine.suppressor.firing_161" respeakdelay 12
	speak "vo.combine.suppressor.firing_162" respeakdelay 12
	speak "vo.combine.suppressor.firing_170" respeakdelay 12
	speak "vo.combine.suppressor.firing_171" respeakdelay 12
	speak "vo.combine.suppressor.firing_172" respeakdelay 12
	speak "vo.combine.suppressor.firing_180" respeakdelay 12
	speak "vo.combine.suppressor.firing_181" respeakdelay 12
	speak "vo.combine.suppressor.firing_182" respeakdelay 12
	speak "vo.combine.suppressor.firing_190" respeakdelay 12
	speak "vo.combine.suppressor.firing_191" respeakdelay 12
	speak "vo.combine.suppressor.firing_192" respeakdelay 12
	speak "vo.combine.suppressor.firing_200" respeakdelay 12
	speak "vo.combine.suppressor.firing_201" respeakdelay 12
	speak "vo.combine.suppressor.firing_202" respeakdelay 12
	speak "vo.combine.suppressor.firing_230" respeakdelay 12
	speak "vo.combine.suppressor.firing_231" respeakdelay 12
	speak "vo.combine.suppressor.firing_232" respeakdelay 12
	
	speak "vo.combine.suppressor.announceattack_01" respeakdelay 12
	speak "vo.combine.suppressor.announceattack_02" respeakdelay 12
	speak "vo.combine.suppressor.announceattack_03" respeakdelay 12
	speak "vo.combine.suppressor.announceattack_04" respeakdelay 12
	speak "vo.combine.suppressor.announceattack_05" respeakdelay 12
	speak "vo.combine.suppressor.announceattack_06" respeakdelay 12
	speak "vo.combine.suppressor.announceattack_07" respeakdelay 12
	speak "vo.combine.suppressor.announceattack_08" respeakdelay 12
	speak "vo.combine.suppressor.announceattack_09" respeakdelay 12
	speak "vo.combine.suppressor.announceattack_11" respeakdelay 12
	speak "vo.combine.suppressor.orderresponse_positive_01" respeakdelay 12
	speak "vo.combine.suppressor.orderresponse_positive_02" respeakdelay 12
	speak "vo.combine.suppressor.orderresponse_positive_03" respeakdelay 12
	speak "vo.combine.suppressor.orderresponse_positive_04" respeakdelay 12
	speak "vo.combine.suppressor.orderresponse_positive_05" respeakdelay 12
	speak "vo.combine.suppressor.orderresponse_positive_06" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_01" respeakdelay 12 thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	speak "vo.combine.suppressor.refindenemy_02" respeakdelay 12 thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	speak "vo.combine.suppressor.refindenemy_03" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_04" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_05" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_06" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_07" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_08" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_09" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_10" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_11" respeakdelay 12 thensimple 0 speak "vo.combine.suppressor.calloutcode_numbers"
	speak "vo.combine.suppressor.refindenemy_12" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_13" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_14" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_15" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_16" respeakdelay 12
	speak "vo.combine.suppressor.refindenemy_17" respeakdelay 12
	
	response
	{
		criteria		PlayerAtBarrels
		speak "vo.combine.suppressor.calloutlocation_barrells_01" respeakdelay 17
	}
	
	
	response
	{
		criteria		PlayerAtBricks
		speak "vo.combine.suppressor.calloutlocation_bricks_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBuilding
		speak "vo.combine.suppressor.calloutlocation_building_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBridge
		speak "vo.combine.suppressor.calloutlocation_bridge_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtCar
		speak "vo.combine.suppressor.calloutlocation_car_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtCrane
		speak "vo.combine.suppressor.calloutlocation_crane_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtDoor
		speak "vo.combine.suppressor.calloutlocation_door_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtPipes
		speak "vo.combine.suppressor.calloutlocation_pipes_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtShack
		speak "vo.combine.suppressor.calloutlocation_shack_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTunnel
		speak "vo.combine.suppressor.calloutlocation_tunnel_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtHut
		speak "vo.combine.suppressor.calloutlocation_hut_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTrainCar
		speak "vo.combine.suppressor.calloutlocation_traincar_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTrainCar
		speak "vo.combine.suppressor.calloutlocation_traincar_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTruck
		speak "vo.combine.suppressor.calloutlocation_truck_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtWoodPile
		speak "vo.combine.suppressor.calloutlocation_woodpile_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtVan
		speak "vo.combine.suppressor.calloutlocation_van_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtElevator
		speak "vo.combine.suppressor.calloutlocation_elevator_01" respeakdelay 17
	}
	
	
	response
	{
		criteria		PlayerAtApartment
		speak "vo.combine.suppressor.calloutlocation_apartment_01" respeakdelay 17

	}
	
	response
	{
		criteria		PlayerAtBelow
		speak "vo.combine.suppressor.calloutlocation_below_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtAbove
		speak "vo.combine.suppressor.calloutlocation_above_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtBehind
		speak "vo.combine.suppressor.calloutlocation_behind_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtToilet
		speak "vo.combine.suppressor.calloutlocation_toilet_01" respeakdelay 17

	}
	
	response
	{
		criteria		PlayerAtWheels
		speak "vo.combine.suppressor.calloutlocation_wheels_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtFront
		speak "vo.combine.suppressor.calloutlocation_front_01" respeakdelay 17
	}
	
	response
	{
		criteria		PlayerAtTrash
		speak "vo.combine.suppressor.calloutlocation_trash_01" respeakdelay 17
	}
}


npc_combine_choreo.txt

response Choreo_PPC17_SearchingForAlyx
{
	criteria		IsCombineS IsClass_Officer Choreo_PPC17_SearchingForAlyx
	sequential

	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.announceattack_alyx_order_01" thensimple 0 speak "combine.radioOff" noscene
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.lostvisual_player_01" thensimple 0 speak "combine.radioOff" noscene
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.announceattack_alyx_04" thensimple 0.5 speak "vo.combine.officer.lostvisual_player_03" thensimple 0 speak "combine.radioOff" noscene	
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.lostvisual_player_04" thensimple 0.5 speak "vo.combine.officer.lostvisual_player_03" thensimple 0 speak "combine.radioOff" noscene	
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.lostvisual_player_01" thensimple 0.5 speak "vo.combine.officer.lostvisual_player_03" thensimple 0 speak "combine.radioOff" noscene
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.reconnoiter_search_01" thensimple 0.5 speak "vo.combine.officer.reconnoiter_search_02" thensimple 0 speak "combine.radioOff" noscene
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.reconnoiter_start_12" thensimple 0.5 speak "vo.combine.officer.reconnoiter_start_11" thensimple 0 speak "combine.radioOff" noscene	

}

response Choreo_PPC17_GruntAtElectricalBox
{
	criteria		IsCombineS IsClass_Grunt Choreo_PPC17_GruntAtElectricalBox
	// negative. uhhhh... no can do. sector is tracking at 43% stable. Aaaand still holding for transmission. over. Affirmative. Can do. Transmission clear...Negative on condition quicksand. Uhh... wait... No. Radials clear. Over."
	speak "combine.radioOn" thensimple 0 speak "vo.combine.grunt.unabletocommence_01" thensimple 0.5 speak "vo.combine.grunt.unabletocommence_02" thensimple 2.0 speak "vo.combine.grunt.idle_08" thensimple 0.5 speak "vo.combine.grunt.orderresponse_positive_06" thensimple 0.5 speak "vo.combine.grunt.orderresponse_positive_04" thensimple 2.0 speak "vo.combine.grunt.idle_06" thensimple 0.0 speak "combine.radioOff" noscene
	
}

response Choreo_PPC17_GruntAtBridge
{
	criteria		IsCombineS IsClass_Grunt Choreo_PPC17_GruntAtBridge
	// "affirmative. contact at sector niner four. open echo on alyx."
	speak "combine.radioOn" thensimple 0 speak "vo.combine.grunt.orderresponse_positive_06" thensimple 0.4 speak "vo.combine.grunt.refindenemy_11" thensimple 0.3 speak "vo.combine.grunt.announceattack_alyx_07" thensimple 0.0 speak "combine.radioOff" noscene	
	
}

response Choreo_PPC17_OfficerAtBridge
{
	criteria		IsCombineS IsClass_Officer Choreo_PPC17_OfficerAtBridge
	// all units sound on. report contaminate evasion.
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.hear_suspicious_06" thensimple 0.0 speak "combine.radioOff" noscene
	
}

response Choreo_StationStreet_ChargerInvestigates
{
	criteria		IsCombineS IsClass_Charger Choreo_StationStreet_ChargerInvestigates
	// all units sound on. report contaminate evasion.
	speak "combine.radioOn" thensimple 0 speak "vo.combine.charger.hear_suspicious_06" thensimple 0.3 speak "vo.combine.charger.establishinglof_13" thensimple 0.0 speak "combine.radioOff" noscene
	
}

response Choreo_PPC17_GruntEnterArena1
{
	criteria		IsCombineS IsClass_Grunt Choreo_PPC17_GruntEnterArena1
	speak "combine.radioOn" thensimple 0 speak "vo.combine.grunt.lostvisual_09" thensimple 0.3 speak "vo.combine.grunt.lostvisual_10" thensimple 0.0 speak "combine.radioOff" noscene
	
}

response Choreo_PPC17_GruntEnterArena2
{
	criteria		IsCombineS IsClass_Grunt Choreo_PPC17_GruntEnterArena2
	speak "combine.radioOn" thensimple 0 speak "vo.combine.grunt.order_response_positive_02" thensimple 0.3 speak "vo.combine.grunt.establishinglof_15" thensimple 0.0 speak "combine.radioOff" noscene
	
}

response Choreo_PPC17_SuppressorEnterArena
{
	criteria		IsCombineS IsClass_Suppressor Choreo_PPC17_SuppressorEnterArena
	speak "combine.radioOn" thensimple 0 speak "vo.combine.suppressor.order_response_positive_02" thensimple 0.3 speak "vo.combine.suppressor.establishinglof_15" thensimple 0.0 speak "combine.radioOff" noscene
}

response Choreo_PPC17_BatteryArenaOfficerEntry
{
	criteria		IsCombineS IsClass_Officer Choreo_PPC17_BatteryArenaOfficerEntry
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.advancing_on_target_order_06" thensimple 0.3 speak "vo.combine.officer.manhack_release_111" thensimple 0.0 speak "combine.radioOff" noscene
}

response Choreo_TYC17_GruntGantry1
{
	criteria		IsCombineS IsClass_Suppressor Choreo_TYC17_GruntGantry1
	speak "combine.radioOn" thensimple 0 speak "vo.combine.grunt.overwatch_19" thensimple 0.0 speak "combine.radioOff" noscene
}

response Choreo_TYC17_GruntGantry2
{
	criteria		IsCombineS IsClass_Suppressor Choreo_TYC17_GruntGantry2
	speak "combine.radioOn" thensimple 0 speak "vo.combine.grunt.overwatch_02" thensimple 0.0 speak "combine.radioOff" noscene
}

response Choreo_TYC17_GruntGarbageGuy
{
	criteria		IsCombineS IsClass_Suppressor Choreo_TYC17_GruntGarbageGuy
	speak "combine.radioOn" thensimple 0 speak "vo.combine.grunt.idle_03" thensimple 0.0 speak "combine.radioOff" noscene
}

response Choreo_SearchingForAlyx
{
	criteria		IsCombineS IsClass_Officer Choreo_PPC17_SearchingForAlyx
	sequential

	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.announceattack_alyx_order_01" thensimple 0 speak "combine.radioOff" noscene
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.lostvisual_player_01" thensimple 0 speak "combine.radioOff" noscene
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.announceattack_alyx_04" thensimple 0.5 speak "vo.combine.officer.lostvisual_player_03" thensimple 0 speak "combine.radioOff" noscene
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.lostvisual_player_04" thensimple 0.5 speak "vo.combine.officer.lostvisual_player_03" thensimple 0 speak "combine.radioOff" noscene
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.lostvisual_player_01" thensimple 0.5 speak "vo.combine.officer.lostvisual_player_03" thensimple 0 speak "combine.radioOff" noscene
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.reconnoiter_search_01" thensimple 0.5 speak "vo.combine.officer.reconnoiter_search_02" thensimple 0 speak "combine.radioOff" noscene
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.reconnoiter_start_12" thensimple 0.5 speak "vo.combine.officer.reconnoiter_start_11" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_PPC17_SuppressorIntroRetreat
{
	criteria		IsCombineS IsClass_Suppressor Choreo_PPC17_SuppressorIntroRetreat
	speak "combine.radioOn" thensimple 0 speak "vo.combine.suppressor.retreat_07" thensimple 0 speak "vo.combine.suppressor.retreat_06" thensimple 0 speak "vo.combine.suppressor.retreat_03" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_PPC17_SuppressorIntroAmbushAttack
{
	criteria		IsCombineS IsClass_Suppressor Choreo_PPC17_SuppressorIntroAmbushAttack
	speak "combine.radioOn" thensimple 0 speak "vo.combine.suppressor.laugh_06" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_A5Vault_OfficerInPosition
{
	criteria		IsCombineS IsClass_Officer Choreo_A5Vault_InPosition
	speak "combine.radioOn" thensimple 0 speak "vo.combine.officer.announceattack_07" thensimple 0.5 speak "vo.combine.officer.advancing_on_target_order_03" thensimple 0 speak  "combine.radioOff" noscene
}

response Choreo_A5Vault_ChargerInPosition
{
	criteria		IsCombineS IsClass_Charger Choreo_A5Vault_InPosition
	speak "combine.radioOn" thensimple 0 speak "vo.combine.charger.orderresponse_positive_03" thensimple 0.5 speak "vo.combine.charger.overwatch_03" thensimple 0.2 speak "vo.combine.charger.reconnoiter_search_01" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_A5Vault_GruntInPosition
{
	criteria		IsCombineS IsClass_Grunt Choreo_A5Vault_InPosition
	speak "combine.radioOn" thensimple 0 speak "vo.combine.grunt.orderresponse_positive_02"thensimple 0.3 speak "vo.combine.grunt.advancing_on_target_16" thensimple 0 speak "vo.combine.grunt.calloutcode_charlie_01" thensimple 0 speak "vo.combine.grunt.calloutcode_dash_01" thensimple 0 speak "vo.combine.grunt.calloutcode_eight_01" thensimple 0 speak "vo.combine.grunt.calloutcode_thirty_01" thensimple 0 speak "vo.combine.grunt.calloutcode_five_01" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_A5Vault_GruntAlertGuy
{
	criteria		IsCombineS IsClass_Grunt Choreo_A5Vault_GruntAlertGuy
	speak "combine.radioOn" thensimple 0 speak "vo.combine.grunt.announceattack_alyx_11" thensimple 0.5 speak "vo.combine.grunt.nearpanic_08" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0001
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0001
	speak "combine.radioOn" thensimple 0 speak "vo.29_0001" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0002
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0002
	speak "combine.radioOn" thensimple 0 speak "vo.29_0002" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0003
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0003
	speak "combine.radioOn" thensimple 0 speak "vo.29_0003" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0004
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0004
	speak "combine.radioOn" thensimple 0 speak "vo.29_0004" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0005
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0005
	speak "combine.radioOn" thensimple 0 speak "vo.29_0005" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0006
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0006
	speak "combine.radioOn" thensimple 0 speak "vo.29_0006" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0007
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0007
	speak "combine.radioOn" thensimple 0 speak "vo.29_0007" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0008
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0008
	speak "combine.radioOn" thensimple 0 speak "vo.29_0008" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0009
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0009
	speak "combine.radioOn" thensimple 0 speak "vo.29_0009" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0010
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0010
	speak "combine.radioOn" thensimple 0 speak "vo.29_0010" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0011
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0011
	speak "combine.radioOn" thensimple 0 speak "vo.29_0011" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0012
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0012
	speak "combine.radioOn" thensimple 0 speak "vo.29_0012" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0013
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0013
	speak "combine.radioOn" thensimple 0 speak "vo.29_0013" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0014
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0014
	speak "combine.radioOn" thensimple 0 speak "vo.29_0014" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0015
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0015
	speak "combine.radioOn" thensimple 0 speak "vo.29_0015" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0016
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0016
	speak "combine.radioOn" thensimple 0 speak "vo.29_0016" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0017
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0017
	speak "combine.radioOn" thensimple 0 speak "vo.29_0017" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0018
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0018
	speak "combine.radioOn" thensimple 0 speak "vo.29_0018" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0019
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0019
	speak "combine.radioOn" thensimple 0 speak "vo.29_0019" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0020
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0020
	speak "combine.radioOn" thensimple 0 speak "vo.29_0020" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0021
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0021
	speak "combine.radioOn" thensimple 0 speak "vo.29_0021" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0022
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0022
	speak "combine.radioOn" thensimple 0 speak "vo.29_0022" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_29_0023
{
	criteria		IsCombineS IsClass_Grunt Choreo_29_0023
	speak "combine.radioOn" thensimple 0 speak "vo.29_0023" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0001
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0001
	speak "combine.radioOn" thensimple 0 speak "vo.30_0001" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0002
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0002
	speak "combine.radioOn" thensimple 0 speak "vo.30_0002" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0003
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0003
	speak "combine.radioOn" thensimple 0 speak "vo.30_0003" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0004
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0004
	speak "combine.radioOn" thensimple 0 speak "vo.30_0004" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0005
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0005
	speak "combine.radioOn" thensimple 0 speak "vo.30_0005" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0006
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0006
	speak "combine.radioOn" thensimple 0 speak "vo.30_0006" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0007
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0007
	speak "combine.radioOn" thensimple 0 speak "vo.30_0007" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0008
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0008
	speak "combine.radioOn" thensimple 0 speak "vo.30_0008" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0009
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0009
	speak "combine.radioOn" thensimple 0 speak "vo.30_0009" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0010
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0010
	speak "combine.radioOn" thensimple 0 speak "vo.30_0010" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0011
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0011
	speak "combine.radioOn" thensimple 0 speak "vo.30_0011" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0012
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0012
	speak "combine.radioOn" thensimple 0 speak "vo.30_0012" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0013
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0013
	speak "combine.radioOn" thensimple 0 speak "vo.30_0013" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0014
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0014
	speak "combine.radioOn" thensimple 0 speak "vo.30_0014" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0015
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0015
	speak "combine.radioOn" thensimple 0 speak "vo.30_0015" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0016
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0016
	speak "combine.radioOn" thensimple 0 speak "vo.30_0016" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0017
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0017
	speak "combine.radioOn" thensimple 0 speak "vo.30_0018" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0018
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0018
	speak "combine.radioOn" thensimple 0 speak "vo.30_0018" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0019
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0019
	speak "combine.radioOn" thensimple 0 speak "vo.30_0019" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0020
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0020
	speak "combine.radioOn" thensimple 0 speak "vo.30_0020" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0021
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0021
	speak "combine.radioOn" thensimple 0 speak "vo.30_0021" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0022
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0022
	speak "combine.radioOn" thensimple 0 speak "vo.30_0022" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0023
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0023
	speak "combine.radioOn" thensimple 0 speak "vo.30_0023" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0024
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0024
	speak "combine.radioOn" thensimple 0 speak "vo.30_0024" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0025
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0025
	speak "combine.radioOn" thensimple 0 speak "vo.30_0025" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0026
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0026
	speak "combine.radioOn" thensimple 0 speak "vo.30_0026" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_30_0027
{
	criteria		IsCombineS IsClass_Grunt Choreo_30_0027
	speak "combine.radioOn" thensimple 0 speak "vo.30_0027" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_28_1110
{
	criteria		IsCombineS IsClass_Grunt Choreo_28_1110
	speak "combine.radioOn" thensimple 0 speak "vo.28_1110" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_27_1107
{
	criteria		IsCombineS IsClass_Grunt Choreo_27_1107
	speak "combine.radioOn" thensimple 0 speak "vo.27_1107" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_27_1108
{
	criteria		IsCombineS IsClass_Grunt Choreo_27_1108
	speak "combine.radioOn" thensimple 0 speak "vo.27_1108" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_27_1109
{
	criteria		IsCombineS IsClass_Grunt Choreo_27_1109
	speak "combine.radioOn" thensimple 0 speak "vo.27_1109" thensimple 0 speak "combine.radioOff" noscene
}

response Choreo_27_1111
{
	criteria		IsCombineS IsClass_Grunt Choreo_27_1111
	speak "combine.radioOn" thensimple 0 speak "vo.27_1111" thensimple 0 speak "combine.radioOff" noscene
}

player.txt

criterion "IsPlayer" "classname" "player" "required"
criterion "Concept_PlayerTalk" "concept" "TLK_PLAYER_MAP_TALK" "required"
criterion "Concept_PlayerPickup" "concept" "TLK_PLAYER_PICKUP" "required"
criterion "Concept_PlayerDrop" "concept" "TLK_PLAYER_DROP" "required"
criterion "Concept_PlayerPullFromBag" "concept" "TLK_PLAYER_PULL_FROM_BAG" "required"
criterion "Concept_PlayerCombat" "concept" "TLK_PLAYER_COMBAT" "required"
criterion "Concept_PlayerHurt" "concept" "TLK_PLAYER_HURT" "required"
criterion "Concept_PlayerDies" "concept" "TLK_PLAYER_DIES" "required"
criterion "Concept_PlayerDiscovery" "concept" "TLK_PLAYER_DISCOVERY" "required"
criterion "Concept_PlayerUsedGravityGloves" "concept" "TLK_PLAYER_USEDGG" "required"
criterion "Concept_PlayerUpgradeComplete" "concept" "TLK_PLAYER_UPGRADE_COMPLETE" "required"
criterion "Concept_PlayerUpgradePickup" "concept" "TLK_PLAYER_UPGRADE_PICKUP" "required"
criterion "Concept_PlayerTeleportLethal" "concept" "TLK_PLAYER_TELEPORT_LETHAL" "required"

criterion "Quarantine_AtActiveCombineShield" "quarantine_combine_shield_active" "1" "required"
criterion "Quarantine_AtDeactivatedCombineShield" "quarantine_combine_shield_active" "0" "required"
criterion "Quarantine_CommentOnShield" "quarantine_comment_on_shield" "1" "required"
criterion "Quarantine_ZombieReleased" "quarantine_zombie_released" "1" "required"
criterion "PlayerCurrency_Pickup_Small" "player_pickup_object_classname" "item_hlvr_crafting_currency_small" required
criterion "PlayerCurrency_Drop_Small" "player_drop_object_classname" "item_hlvr_crafting_currency_small" required
criterion "PlayerAmmoFourLeft"	"player_ammo_bag_clip_available" "4" required
criterion "PlayerAmmoThreeLeft"	"player_ammo_bag_clip_available" "3" required
criterion "PlayerAmmoTwoLeft"	"player_ammo_bag_clip_available" "2" required
criterion "PlayerAmmoLast"	"player_ammo_bag_clip_available" "1" required
criterion "PlayerAmmoEmpty"	"player_ammo_bag_clip_available" "0" required
criterion "PlayerNeedsFlashlight"		"player_found_flashlight" "0" required
criterion "PlayerHasResin"			"current_crafting_currency" ">0" required
criterion "PlayerHasNoResin"		"current_crafting_currency" "0" required
criterion "PlayerPickupFromWorld"	"player_pickup_from_bag" "!=1" required
criterion "PlayerPickupFromBag"		"player_pickup_from_bag" "1" required
criterion "IsPlayerHoldingPistol"		"primaryhand_active_attachment" "hlvr_weapon_energygun" required
criterion "IsPlayerHoldingShotgun"		"primaryhand_active_attachment" "hlvr_weapon_shotgun" required
criterion "IsPlayerHoldingRapidFire"	"primaryhand_active_attachment" "hlvr_weapon_rapidfire" required
criterion "IsPlayerShootingAtZombie" "player_shoot_at_target" "npc_zombie" required
criterion "IsPlayerShootingAtCloseTarget" "player_shoot_at_distance" "<=128" required
criterion "IsPlayerShootingAlmostEmptyClip" "player_shoot_bullet_count" "<=3" required
criterion "FlashlightFailureSmall" "flashlight_failure" "1" "required"
criterion "FlashlightFailureMedium" "flashlight_failure" "2" "required"
criterion "FlashlightFailureLarge" "flashlight_failure" "3" "required"															  
criterion "ItemTooHeavy" "item_too_heavy" "1" "required"
criterion "Fell" "fell" "1" "required"
criterion "Shocked" "shocked" "1" "required"
criterion "Stunned" "stunned" "1" "required"
criterion "Coughing" "cough" "1" "required"
criterion "Muffled" "muffled" "1" "required"
criterion "NotMuffled" "muffled" "!=1" "required"
criterion "PlayerPickedUpHealthPen" "player_pickup_object_classname" "item_healthvial" required
criterion "WeaponPistol" "weapon_classname" "hlvr_weapon_energygun" required
criterion "WeaponShotgun" "weapon_classname" "hlvr_weapon_shotgun" required
criterion "WeaponRapidFire" "weapon_classname" "hlvr_weapon_rapidfire" required

criterion "InCombat" "in_combat" "1" "required"
criterion "NotInCombat" "in_combat" "!=1" "required"
criterion "RecentlyInCombat" "time_since_combat" "<10" "required"
criterion "NotRecentlyInCombat" "time_since_combat" ">=10" "required"

criterion "InMap_a1_intro_world" "map" "a1_intro_world" "required"
criterion "NotInMap_a1_intro_world" "map" "!=a1_intro_world" "required"
criterion "InMap_a5_vault" "map" "a5_vault" "required"
criterion "NotInMap_a5_vault" "map" "!=a5_vault" "required"
criterion "InMap_a5_ending" "map" "a5_ending" "required"
criterion "NotInMap_a5_ending" "map" "!=a5_ending" "required"
criterion "InMap_a3_distillery" "map" "a3_distillery" "required"
criterion "NotInMap_a3_distillery" "map" "!=a3_distillery" "required"
criterion "NotInMap_a4_c17_parking_garage" "map" "!=a4_c17_parking_garage" "required"


response PlayerVO_NeedFlashlight_Response
{
	speak "alyxtemp_needflashlight_01" noscene
	speak "alyxtemp_needflashlight_02" noscene
	speak "alyxtemp_needflashlight_03" noscene
}

rule PlayerVO_NeedFlashlight_Rule
{
	criteria		IsPlayer Concept_PlayerTalk PlayerNeedsFlashlight
	response		PlayerVO_NeedFlashlight_Response
	matchonce
}


//========================================================================================================
// a2_quarantine_entrance
//========================================================================================================
criterion "InMap_a2_quarantine_entrance" "map" "a2_quarantine_entrance" "required"

criterion "Speech_AlyxRussell_FirstDeadZombie" "speech" "first_dead_zombie" "required"
response PlayerVO_a2_quarantine_entrance_FirstDeadZombie
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_FirstDeadZombie
	scene "scenes/act2/quarantine_entrance/alyx_russell_first_dead_zombie" speakonce
}

criterion "Speech_AlyxRussell_MoveWindowZombie" "speech" "move_window_zombie" "required"
response PlayerVO_a2_quarantine_entrance_MoveWindowZombie
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_MoveWindowZombie
	scene "scenes/act2/quarantine_entrance/alyx_react_moving_window_zombie.vcd" speakonce
}

criterion "Speech_AlyxRussell_Black_Mesa" "speech" "black_mesa" "required"

response PlayerVO_AlyxRussell_BlackMesa
{
	criteria		Concept_PlayerTalk Speech_AlyxRussell_Black_Mesa   
	scene "scenes/alyx_russell_conversations/black_mesa" interrupt_and_cancel speakonce
}


criterion "Speech_AlyxRussell_SeeQZoneGate" "speech" "see_qzone_gate" "required"

// if the player sneaks around and somehow skips looking at the gate, don't play this if they make it to the console
criterion "PlayerHasNotSeenCombineConsole" "player_has_seen_console" "!=1" "required"

response PlayerVO_a2_quarantine_entrance_SeeQZoneGate
{
	criteria		Concept_PlayerTalk  PlayerHasNotSeenCombineConsole Speech_AlyxRussell_SeeQZoneGate 
	scene "scenes/act2/quarantine_entrance/alyx_see_quarantine_zone_gate" interrupt_and_cancel speakonce
}


criterion "Speech_AlyxRussell_SeeQZoneGateConsole" "speech" "see_qzone_gate_console" "required"
response PlayerVO_a2_quarantine_entrance_SeeQZoneGateConsole
{
	criteria		Concept_PlayerTalk Speech_AlyxRussell_SeeQZoneGateConsole
	scene			"scenes/act2/quarantine_entrance/alyx_see_quarantine_zone_console" speakonce
	applycontext	"player_has_seen_console:1"
}

criterion "Speech_AlyxRussell_ConsoleLooking" "speech" "console_looking" "required"
response PlayerVO_a2_quarantine_entrance_ConsoleLooking
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_ConsoleLooking
	scene "scenes/act2/quarantine_entrance/alyx_russell_console_looking" interrupt_and_cancel speakonce
}

// gate opens
criterion "Speech_AlyxRussell_SeeQZoneGateOpen_Reaction" "speech" "see_qzone_gate_open_reaction" "required"
response PlayerVO_a2_quarantine_entrance_SeeQZoneGateOpenReaction
{
	criteria		Concept_PlayerTalk Speech_AlyxRussell_SeeQZoneGateOpen_Reaction
	scene "scenes/act2/quarantine_entrance/alyx_see_quarantine_zone_gate_open_reaction"  predelay 2 speakonce
}
																											
// give this a delay so the animation and music can finish
criterion "Speech_AlyxRussell_SeeQZoneGateOpen" "speech" "see_qzone_gate_open" "required"
response PlayerVO_a2_quarantine_entrance_SeeQZoneGateOpen
{
	criteria		Concept_PlayerTalk Speech_AlyxRussell_SeeQZoneGateOpen
	scene "scenes/act2/quarantine_entrance/alyx_see_quarantine_zone_gate_open" speakonce
}

criterion "Speech_AlyxRussell_XenFoliage" "speech" "see_xen_foliage" "required"
response PlayerVO_a2_quarantine_entrance_XenFoliage
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_XenFoliage
	scene "scenes/act2/quarantine_entrance/alyx_see_xen_foliage" predelay 1 interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_FirstCombineLock" "speech" "first_combine_lock" "required"
response PlayerVO_a2_quarantine_entrance_FirstCombineLock
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_FirstCombineLock
	scene "scenes/act2/quarantine_entrance/alyx_russell_first_combine_lock" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_PortaPotty" "speech" "qz_entrance_porta_potty" "required"
response PlayerVO_a2_quarantine_entrance_PortaPotty
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_PortaPotty
	scene "scenes/act2/quarantine_entrance/alyx_russell_porta_potty" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_BarnacleWarning" "speech" "barnacle_warning" "required"
response PlayerVO_a2_quarantine_entrance_BarnacleWarning
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_BarnacleWarning
	scene "scenes/act2/quarantine_entrance/alyx_russell_see_barnacle.vcd" predelay 1 interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_DeadBarnacle" "speech" "first_dead_barnacle" "required"
response PlayerVO_a2_quarantine_entrance_DeadBarnacle
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_DeadBarnacle
	scene "scenes/act2/quarantine_entrance/alyx_russell_kill_barnacle.vcd" predelay 1 interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_ShotRat" "speech" "alyx_shoot_rat" "required"
response PlayerVO_a2_quarantine_entrance_ShotRat
{
	criteria		Concept_PlayerTalk  Speech_Alyx_ShotRat
	scene "scenes/act2/quarantine_entrance/alyx_shoot_rat" predelay 0.5 speakonce
}



//========================================================================================
// a2 pistol
//========================================================================================
criterion "InMap_a2_pistol" "map" "a2_pistol" "required"


// zombie barnacle

criterion "ZombieBarnacleShot" "zombie_barnacle_eaten" "!=1" "required"
criterion "ZombieBarnacleEaten" "zombie_barnacle_eaten" "1" "required"

criterion "IgnoreZombieDeath" "ignore_zombie_death" "1" "required"
criterion "DontIgnoreZombieDeath" "ignore_zombie_death" "!=1" "required"


criterion "Speech_AlyxRussell_HearZombieBarnacle" "speech" "hear_zombie_barnacle" "required"
response PlayerVO_AlyxRussell_HearZombieBarnacle
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_HearZombieBarnacle 
	scene "scenes/act2/pistol/alyx_russell_first_zombie_intro.vcd"  predelay 1.0 interrupt_and_cancel speakonce
	
}

criterion "Speech_AlyxRussell_SeeZombieBarnacle" "speech" "see_zombie_barnacle" "required"
response PlayerVO_AlyxRussell_SeeZombieBarnacle
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_SeeZombieBarnacle 
	scene "scenes/act2/pistol/alyx_russell_first_zombie.vcd" interrupt_and_cancel speakonce
} 

criterion "Speech_AlyxRussell_ZombieBarnacleKilled" "speech" "zombie_barnacle_killed" "required"
response PlayerVO_AlyxRussell_ZombieBarnacleKilled
{
	criteria	Concept_PlayerTalk  Speech_AlyxRussell_ZombieBarnacleKilled DontIgnoreZombieDeath 
	response PlayerVO_AlyxRussell_ZombieBarnacleShot
	{
		criteria ZombieBarnacleShot
		scene "scenes/act2/pistol/alyx_russell_first_zombie_shot.vcd" interrupt_and_cancel speakonce
	}
		response PlayerVO_AlyxRussell_ZombieBarnacleEaten
	{
		criteria ZombieBarnacleEaten
		scene "scenes/act2/pistol/alyx_russell_first_zombie_eaten.vcd" interrupt_and_cancel speakonce
	}
}

criterion "HasFoundUpgradeStation" "found_upgrade_station" "1" "required"
criterion "HasNotFoundUpgradeStation" "found_upgrade_station" "!=1" "required"
criterion "Speech_AlyxRussell_FirstShotZombie" "speech" "first_shot_zombie" "required"

response PlayerVO_AlyxRussell_FirstShotZombieNoFabricator_response
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_FirstShotZombie 
	scene "scenes/responses/alyx_first_zombie_shot_no_fabricator"	predelay 1	speakonce
}

response PlayerVO_AlyxRussell_FirstShotZombie_response
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_FirstShotZombie HasFoundUpgradeStation
	scene "scenes/responses/alyx_first_zombie_shot"	predelay 1	speakonce
}

criterion "Speech_AlyxRussell_ZombieSubway" "speech" "zombie_subway" "required"

response PlayerVO_AlyxRussell_ZombieSubway
{
	criteria	Concept_PlayerTalk  Speech_AlyxRussell_ZombieSubway 
	scene "scenes/alyx_russell_conversations/alyx_russell_zombie_subway" interrupt_and_cancel  speakonce predelay 1
}

// no longer needed
//criterion "Speech_AlyxRussell_LockedInHere" "speech" "locked_in_here" "required"
//response PlayerVO_AlyxRussell_LockedInHere
//{
//	criteria	Concept_PlayerTalk  Speech_AlyxRussell_LockedInHere 
//	scene "scenes/act2/pistol/alyx_russell_locked_in_there" predelay 1.5	speakonce
//}


criterion "HasSeenSecondHeadcrab" "saw_second_headcrab" "1" "required"
criterion "HasNotSeenSecondHeadcrab" "saw_second_headcrab" "!=1" "required"
criterion "Speech_AlyxRussell_FirstHeadCrab" "speech" "first_headcrab" "required"
response PlayerVO_AlyxRussell_FirstHeadCrab
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_FirstHeadCrab
	scene "scenes/act2/pistol/alyx_russell_first_headcrab.vcd" 	cancel_existing	  speakonce
}

criterion "Speech_AlyxRussell_FirstHeadCrabMissed" "speech" "first_headcrab_missed" "required"
response PlayerVO_AlyxRussell_FirstHeadCrabMissed
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_FirstHeadCrabMissed
	scene "scenes/act2/pistol/alyx_russell_first_headcrab_if_player_doesnt_see_headcrab.vcd" 	cancel_existing	  speakonce
}



criterion "Speech_AlyxRussell_FirstHeadCrab2" "speech" "first_headcrab_2" "required"
response PlayerVO_AlyxRussell_FirstHeadCrab2
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_FirstHeadCrab2
	scene "scenes/act2/pistol/alyx_russell_first_headcrab_2.vcd" 	interrupt_and_cancel   speakonce
}

criterion "Speech_AlyxRussell_FirstHeadCrabKilled" "speech" "first_headcrab_killed" "required"

response PlayerVO_AlyxRussell_FirstHeadCrabKilled
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_FirstHeadCrabKilled 
	scene "scenes/act2/pistol/alyx_russell_first_headcrab_killed.vcd" 	speakonce interrupt_and_cancel then self TLK_PLAYER_MAP_TALK first_head_crab_killed_2:1 1	
}

criterion "FirstHeadCrabKilled" "first_headcrab_killed_context" "1" "required"
criterion "FirstHeadCrabKilled2" "first_head_crab_killed_2" "1" "required"


response PlayerVO_AlyxRussell_FirstHeadCrabKilledNoSecond
{
	criteria	Concept_PlayerTalk  HasNotSeenSecondHeadcrab FirstHeadCrabKilled2
	scene "scenes/act2/pistol/alyx_russell_first_headcrab_killed_no_second.vcd" speakonce 
}

criterion "Speech_AlyxRussell_FirstHeadCrabScare" "speech" "first_headcrab_scare" "required"
response PlayerVO_AlyxRussell_FirstHeadCrabScare
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_FirstHeadCrabScare
	scene "scenes/act2/pistol/alyx_russell_headcrab_scare.vcd" 	interrupt_and_cancel speakonce
}


criterion "Speech_AlyxRussell_SecondHeadCrabReveal" "speech" "second_headcrab_reveal" "required"
response PlayerVO_AlyxRussell_SecondHeadCrabReveal
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_SecondHeadCrabReveal FirstHeadCrabKilled
	scene "scenes/act2/pistol/alyx_russell_first_headcrab_killed_second_reveal.vcd" speakonce interrupt_and_cancel
}

//========================================================================================
// a2_hideout
//========================================================================================
criterion "InMap_a2_hideout" "map" "a2_hideout" "required"

criterion "Speech_AlyxRussell_HealthStationNoBattery" "speech" "health_station_no_battery" "required"
response PlayerVO_AlyxRussell_HealthStationNoBattery
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_HealthStationNoBattery
	scene "scenes/act2/hideout/health_station_no_battery" speakonce
}


criterion "Speech_AlyxRussell_ZombieScare" "speech" "zombie_scare" "required"
response PlayerVO_AlyxRussell_ZombieScare
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_ZombieScare
	scene "scenes/act2/hideout/zombie_jump_scare" cancel_existing speakonce
}

criterion "Speech_AlyxRussell_NewsOnDad_1" "speech" "news_on_dad_1" "required"
response PlayerVO_AlyxRussell_NewsOnDad_1
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_NewsOnDad_1
	scene "scenes/act2/hideout/news_on_dad_1"  speakonce
}


criterion "Speech_AlyxRussell_SeeEye" "speech" "see_eye" "required"
response PlayerVO_AlyxRussell_SeeEye_response
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_SeeEye
	scene "scenes/act2/hideout/eye_reveal" 	interrupt_and_cancel speakonce
}

// mural

criterion "Speech_AlyxRussell_SeeMural" "speech" "see_mural" "required"
response PlayerVO_AlyxRussell_SeeMural
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_SeeMural
	scene "scenes/act2/hideout/mural_distance" 	interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_SeeMuralClose" "speech" "see_mural_close" "required"
response PlayerVO_AlyxRussell_SeeMuralClose
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_SeeMuralClose
	scene "scenes/act2/hideout/mural_close" 	interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_SeeMuralCentral" "speech" "see_mural_central" "required"
response PlayerVO_AlyxRussell_SeeMuralCentral
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_SeeMuralCentral
	scene "scenes/act2/hideout/mural_central" 	interrupt_and_cancel  speakonce
}

criterion "Speech_AlyxRussell_SeeMuralCardboard" "speech" "see_mural_cardboard" "required"
response PlayerVO_AlyxRussell_SeeMuralCardboard
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_SeeMuralCardboard
	scene "scenes/act2/hideout/mural_cardboard" 	interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_RussellCutsOut" "speech" "russell_cuts_out" "required"
response PlayerVO_AlyxRussell_RussellCutsOut
{
	criteria	Concept_PlayerTalk Speech_AlyxRussell_RussellCutsOut
	scene "scenes/act2/hideout/russell_cuts_out" 	interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_Vort_Graffitti" "speech" "alyx_vort_graffiti" "required"
response PlayerVO_Alyx_Vort_Graffiti
{
	criteria	Concept_PlayerTalk Speech_Alyx_Vort_Graffitti
	scene "scenes/act2/hideout/alyx_react_to_vort_graffiti.vcd" speakonce
}

//========================================================================================
// a2_headcrabs_tunnel
//========================================================================================
 criterion "InMap_a2_headcrabs_tunnel" "map" "a2_headcrabs_tunnel" "required"

criterion "Speech_AlyxRussell_Russell_Cuts_Back_In_A" "speech" "russell_cuts_back_in_a" "required"
response PlayerVO_A2_Headcrabs_Tunnel_AlyxRussell_Russell_Cuts_Back_In_A
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Russell_Cuts_Back_In_A
	scene "scenes/act2/headcrabs_tunnel/russell_cuts_back_in_a" speakonce
}

criterion "Speech_AlyxRussell_Russell_Cuts_Back_In_B" "speech" "russell_cuts_back_in_b" "required"
response PlayerVO_A2_Headcrabs_Tunnel_AlyxRussell_Russell_Cuts_Back_In_B
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Russell_Cuts_Back_In_B
	scene "scenes/act2/headcrabs_tunnel/russell_cuts_back_in_b"	interrupt_and_cancel predelay 1 speakonce
}

criterion "Speech_AlyxRussell_Russell_Cuts_Back_In_C" "speech" "russell_cuts_back_in_c" "required"
response PlayerVO_A2_Headcrabs_Tunnel_AlyxRussell_Russell_Cuts_Back_In_C
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Russell_Cuts_Back_In_C
	scene "scenes/act2/headcrabs_tunnel/russell_cuts_back_in_c"	interrupt_and_cancel predelay 1	speakonce
}

criterion "Speech_AlyxRussell_News_On_Dad_2" "speech" "news_on_dad_2" "required"
response PlayerVO_A2_Headcrabs_Tunnel_AlyxRussell_News_On_Dad_2
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_News_On_Dad_2
	scene "scenes/act2/headcrabs_tunnel/news_on_dad_2" speakonce
}

criterion "Speech_AlyxRussell_Shell_Grabbed" "speech" "shell_grabbed" "required"
response PlayerVO_A2_Headcrabs_Tunnel_Alyx_PickUp_Armored_Shell
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Shell_Grabbed
	scene "scenes/act2/headcrabs_tunnel/pickup_armored_shell" speakonce
}

// these got moved to headcrabs_tunnel
criterion "Speech_AlyxRussell_DarkConvo_1" "speech" "dark_convo_1" "required"
response PlayerVO_A2_Drainage_AlyxRussell_DarkConvo_1
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_DarkConvo_1
	scene "scenes/act2/drainage/dark_convo_1" speakonce
}

criterion "Speech_AlyxRussell_DarkConvo_2" "speech" "dark_convo_2" "required"
response PlayerVO_A2_Drainage_AlyxRussell_DarkConvo_2
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_DarkConvo_2
	scene "scenes/act2/drainage/dark_convo_2"	speakonce
}

//shotgun zombie
criterion "Speech_Shotgun_Zombie_See" "speech" "shotgun_zombie_see" "required"
response PlayerVO_Shotgun_Zombie_See
{
	criteria Concept_PlayerTalk Speech_Shotgun_Zombie_See
	scene "scenes/act2/headcrabs_tunnel/shotgun_zombie_see"	 interrupt_and_cancel  speakonce
}

criterion "Speech_Shotgun_Zombie_Fall" "speech" "shotgun_zombie_fall" "required"
response PlayerVO_Shotgun_Zombie_Fall
{
	criteria Concept_PlayerTalk Speech_Shotgun_Zombie_Fall
	scene "scenes/act2/headcrabs_tunnel/shotgun_zombie_fall" interrupt_and_cancel predelay 2 speakonce
}

criterion "Speech_Shotgun_Zombie_Wall_Noises" "speech" "shotgun_zombie_wall_noise" "required"
response PlayerVO_Shotgun_Zombie_Wall_Noises
{
	criteria Concept_PlayerTalk Speech_Shotgun_Zombie_Wall_Noises
	scene "scenes/act2/headcrabs_tunnel/shotgun_zombie_wall_noise"	interrupt_and_cancel predelay 2 speakonce
}

criterion "Speech_Shotgun_Zombie_Solve_Puzzle" "speech" "shotgun_zombie_solve_puzzle" "required"
response PlayerVO_Shotgun_Zombie_Solve_Puzzle
{
	criteria Concept_PlayerTalk Speech_Shotgun_Zombie_Solve_Puzzle
	scene "scenes/act2/headcrabs_tunnel/shotgun_zombie_solve_puzzle"  interrupt_and_cancel	speakonce
}

criterion "Speech_Shotgun_Zombie_Kill_Zombies" "speech" "shotgun_zombie_kill_zombies" "required"
response PlayerVO_Shotgun_Zombie_Kill_Zombies
{
	criteria Concept_PlayerTalk Speech_Shotgun_Zombie_Kill_Zombies IsPlayerHoldingShotgun
	scene "scenes/act2/headcrabs_tunnel/shotgun_zombie_kill_zombies" interrupt_and_cancel speakonce
}	

criterion "Speech_Alyx_Dark_Response" "speech" "dark_response" "required"
response PlayerVO_Alyx_Dark_Response
{
	scene "scenes/act2/headcrabs_tunnel/darkness_response_1" interrupt_and_cancel speakonce
}	

rule PlayerVO_Alyx_Dark_Response_Rule
{
	criteria Concept_PlayerTalk Speech_Alyx_Dark_Response
	response PlayerVO_Alyx_Dark_Response
	applycontext	"darkness_response_2:1"
}

response PlayerVO_Alyx_Dark_Response_2
{
	scene "scenes/act2/headcrabs_tunnel/darkness_response_2" interrupt_and_cancel 
}	

criterion "DarknessResponse_2" "darkness_response_2" "1" "required"

rule PlayerVO_Alyx_Dark_Response_2_Rule
{
	criteria Concept_PlayerTalk Speech_Alyx_Dark_Response  DarknessResponse_2
	response PlayerVO_Alyx_Dark_Response_2
	applycontext	"darkness_response_3:1"
}

criterion "DarknessResponse_3" "darkness_response_3" "1" "required"

response PlayerVO_Alyx_Dark_Response_3
{
	criteria Concept_PlayerTalk Speech_Alyx_Dark_Response  DarknessResponse_3
	scene "scenes/act2/headcrabs_tunnel/darkness_response_3" interrupt_and_cancel
}


criterion "Speech_EnterFlashlightPit" "speech" "enter_flashlight_pit" "required"
response PlayerVO_EnterFlashlightPit
{
	criteria Concept_PlayerTalk Speech_EnterFlashlightPit
	scene "scenes/act2/headcrabs_tunnel/enter_flashlight_pit" interrupt_and_cancel speakonce
}	

criterion "Speech_FindFlashLight" "speech" "find_flashlight" "required"
response PlayerVO_FindFlashLight
{
	criteria Concept_PlayerTalk Speech_FindFlashLight
	scene "scenes/act2/headcrabs_tunnel/find_flashlight" interrupt_and_cancel speakonce
}

criterion "Speech_FlashLightOn" "speech" "flashlight_on" "required"
response PlayerVO_FlashLightOn
{
	criteria Concept_PlayerTalk Speech_FlashLightOn
	scene "scenes/act2/headcrabs_tunnel/flashlight_on" interrupt_and_cancel	 speakonce
}


criterion "Speech_HowFlashLightWorks" "speech" "how_flashlight_works" "required"
response PlayerVO_HowFlashLightWorks
{
	criteria Concept_PlayerTalk Speech_HowFlashLightWorks
	scene "scenes/act2/headcrabs_tunnel/russell_tells_alyx_how_flashlight_works" interrupt_and_cancel speakonce
}



//========================================================================================================
// a2_drainage
//========================================================================================================
criterion "InMap_A2_Drainage" "map" "a2_drainage" "required"

criterion "Speech_AlyxRussell_First_Manhack" "speech" "first_manhack" "required"
response PlayerVO_A2_Drainage_AlyxRussell_First_Manhack
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_First_Manhack
	scene "scenes/act2/drainage/manhack_intro" speakonce
}

criterion "Speech_AlyxRussell_First_Dead_Combine" "speech" "first_dead_combine" "required"
response PlayerVO_A2_Drainage_AlyxRussell_First_Dead_Combine
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_First_Dead_Combine
	scene "scenes/act2/drainage/first_dead_combine" speakonce
}

criterion "Speech_AlyxRussell_News_On_Dad_B" "speech" "news_on_dad_b" "required"
response PlayerVO_A2_Drainage_AlyxRussell_News_On_Dad_B
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_News_On_Dad_B
	scene "scenes/act2/heard_from_dad_pt2" speakonce
}

criterion "Speech_AlyxRussell_Manhacks" "speech" "alert_manhacks" "required"
response PlayerVO_A2_Drainage_AlyxRussell_Manhacks
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Manhacks
	scene "scenes/act2/drainage/manhacks" speakonce
}

criterion "Speech_AlyxRussell_OneToTen" "speech" "one_to_ten" "required"
response PlayerVO_A2_Drainage_AlyxRussell_OneToTen
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_OneToTen
	scene "scenes/alyx_russell_conversations/earth_before_scale_of_one_to_ten" speakonce
}

criterion "Speech_AlyxRussell_ThreeYearPlan" "speech" "three_year_plan" "required"
response PlayerVO_A2_Drainage_AlyxRussell_ThreeYearPlan
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_ThreeYearPlan
	scene "scenes/alyx_russell_conversations/russells_three_year_plan"	predelay 1 speakonce
}

criterion "Speech_AlyxRussell_SecretLab" "speech" "secret_lab" "required"
response PlayerVO_A2_Drainage_AlyxRussell_SecretLab
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_SecretLab
	scene "scenes/alyx_russell_conversations/alyx_secret_lab" speakonce
}

criterion "Speech_AlyxRussell_AlyxJob" "speech" "alyx_job" "required"
response PlayerVO_A2_Drainage_AlyxRussell_AlyxJob
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_AlyxJob
	scene "scenes/alyx_russell_conversations/convo_alyx_gets_a_job" speakonce
}

criterion "Speech_AlyxRussell_GunshotWarning" "speech" "gunshot_warning" "required"
response PlayerVO_A2_Drainage_AlyxRussell_GunshotWarning
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_GunshotWarning
	scene "scenes/act2/drainage/barrel_maze_gunshot" speakonce  
}


criterion "Speech_GettingDarkAgain" "speech" "getting_dark_again" "required"
response PlayerVO_GettingDarkAgain
{
	criteria Concept_PlayerTalk Speech_GettingDarkAgain
	scene "scenes/act2/drainage/getting_dark_again" interrupt_and_cancel speakonce
}


criterion "Speech_HangingCombine" "speech" "hanging_combine" "required"
response PlayerVO_HangingCombine
{
	criteria Concept_PlayerTalk Speech_HangingCombine
	scene "scenes/act2/drainage/alyx_react_hanging_dudes.vcd" predelay .5 speakonce
}




//========================================================================================================
// a2_trainyard
//========================================================================================================
criterion "Speech_ArriveFairview" "speech" "arrive_fairview" "required"

response PlayerVO_A2_Train_Yard_ArriveFairview
{
	criteria Concept_PlayerTalk Speech_ArriveFairview
	scene "scenes/act2/trainyard/arrive_at_fairview" interrupt_and_cancel speakonce
}

criterion "Speech_ArriveFairviewCombatPlatform" "speech" "arrive_fairview_combat_platform" "required"

response PlayerVO_A2_Train_Yard_ArriveFairviewCombatPlatform
{
	criteria Concept_PlayerTalk Speech_ArriveFairviewCombatPlatform
	scene "scenes/act2/trainyard/arrive_at_fairview_combat_platform" interrupt_and_cancel speakonce
}


criterion "Speech_Combine_Weapon_Banter" "speech" "combine_weapon_banter" "required"

response PlayerVO_A2_Train_Yard_Combine_Weapon_Banter
{
	criteria Concept_PlayerTalk Speech_Combine_Weapon_Banter
	scene "scenes/act2/trainyard/convo_combine_zombie_automatic_weapon_banter.vcd" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_KeepAnEyeOut" "speech" "keep_an_eye_out" "required"
response PlayerVO_A2_Trainyard_AlyxRussell_KeepAnEyeOut
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_KeepAnEyeOut
	scene "scenes/act2/trainyard/keep_an_eye_out"	interrupt_and_cancel speakonce
}

criterion "Speech_SeeCombineShootCitizen" "speech" "see_combine_shoot_citizen" "required"

response PlayerVO_A2_Train_Yard_SeeCombineShootCitizen
{
	criteria Concept_PlayerTalk Speech_SeeCombineShootCitizen
	scene "scenes/act2/trainyard/see_combine" interrupt_and_cancel speakonce
}


//========================================================================================================
// a3_station_street
//========================================================================================================
criterion "Speech_Combine_Looking_For_Us" "speech" "combine_looking_for_us" "required"
response PlayerVO_A3_Station_Street_Combine_Looking_For_Us
{
	criteria Concept_PlayerTalk Speech_Combine_Looking_For_Us
	scene "scenes/act2/trainyard/convo_combine_are_looking_for_us" speakonce
}

criterion "Speech_Russell_Pep_Talk" "speech" "russell_pep_talk" "required"
response PlayerVO_A3_Station_Street_Russell_Pep_Talk
{
	criteria Concept_PlayerTalk Speech_Russell_Pep_Talk
	scene "scenes/act2/trainyard/russell_pep_talk"	 interrupt_and_cancel  speakonce
}

//criterion "Speech_Alyx_Excuse_me" "speech" "keycard_excuse_me" "required"
//response PlayerVO_A3_Station_Street_Alyx_Excuse_Me
//{
//	criteria Concept_PlayerTalk Speech_Alyx_Excuse_me
//	scene "scenes/act3/processing_plant/excuse_me" speakonce
//}


criterion "NotRecentlyInCombatStation" "time_since_combat" ">=3" "required"
criterion "Speech_Russell_DataPod" "speech" "data_pod" "required"
response PlayerVO_A3_Station_Street_DataPod
{
	criteria Concept_PlayerTalk Speech_Russell_DataPod NotInCombat NotRecentlyInCombatStation
	scene "scenes/act3/station_street/data_pod"	interrupt_and_cancel speakonce
}

criterion "Speech_Russell_Look_Out_Window" "speech" "russell_look_out_window" "required"
response PlayerVO_A3_Station_Street_Russell_Look_Out_Window
{
	criteria Concept_PlayerTalk Speech_Russell_Look_Out_Window
	scene "scenes/act3/station_street/see_vault_prompt"	interrupt_and_cancel speakonce
}

criterion "Speech_Russell_Look_Out_Window_Reminder" "speech" "russell_look_out_window_reminder" "required"
response PlayerVO_A3_Station_Street_Russell_Look_Out_Window_Reminder
{
	criteria Concept_PlayerTalk Speech_Russell_Look_Out_Window_Reminder
	scene "scenes/act3/station_street/see_vault_reminder" speakonce
}

criterion "Speech_Russell_Keypad_Prompt" "speech" "russell_keypad_prompt" "required"
response PlayerVO_A3_Station_Street_Russell_Keypad_Prompt
{
	criteria Concept_PlayerTalk Speech_Russell_Keypad_Prompt
	scene "scenes/act3/station_street/see_vault_keypad_prompt" speakonce
}

criterion "Speech_AlyxRussell_See_Vault" "speech" "alyx_russell_see_vault" "required"
response PlayerVO_A3_Station_Street_AlyxRussell_Vault
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_See_Vault
	scene "scenes/act3/station_street/see_vault_conversation" speakonce
}

criterion "Speech_Alyx_See_Vault_Cables" "speech" "alyx_see_cables" "required"
response PlayerVO_A3_Station_Street_Alyx_Vault_See_Cables
{
	criteria Concept_PlayerTalk Speech_Alyx_See_Vault_Cables
	scene "scenes/act3/station_street/alyx_look_at_vault_lot_of_cables" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_Leaves_Vault_View" "speech" "alyx_russell_leaves_vault_view" "required"
response PlayerVO_A3_Station_Street_AlyxRussell_Leaves_Vault
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Leaves_Vault_View
	scene "scenes/act3/station_street/see_vault_refusal"   interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_NewsOnDad3" "speech" "news_on_dad_3" "required"
response PlayerVO_A3_Station_Street_AlyxRussell_NewsOnDad3
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_NewsOnDad3
	scene "scenes/act3/station_street/news_on_dad_3" interrupt_and_cancel speakonce
}

// ---- GRENADE TRAINING ----
criterion "Speech_Alyx_Open_Grenades" "speech" "open_grenades" "required"
response PlayerVO_A3_Station_Open_Grenades
{
	criteria Concept_PlayerTalk Speech_Alyx_Open_Grenades
	scene "scenes/act3/station_street/grenades_open" speakonce
}

criterion "Speech_Alyx_Barnacle_Grenade_Feed" "speech" "barnacle_grenade_feed" "required"
response PlayerVO_A3_Station_Barnacle_Grenade_Feed
{
	criteria Concept_PlayerTalk Speech_Alyx_Barnacle_Grenade_Feed
	scene "scenes/act3/station_street/barnacle_grenade_feed" interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_Barnacle_Grenade_Death" "speech" "barnacle_grenade_death" "required"
response PlayerVO_A3_Station_Barnacle_Grenade_Death
{
	criteria Concept_PlayerTalk Speech_Alyx_Barnacle_Grenade_Death
	scene "scenes/act3/station_street/barnacle_grenade_death" interrupt_and_cancel predelay 2 speakonce
}

criterion "Speech_Alyx_Zombie_Grenade_Drop" "speech" "zombie_grenade_drop" "required"
response PlayerVO_A3_Station_Zombie_Grenade_Drop
{
	criteria Concept_PlayerTalk Speech_Alyx_Zombie_Grenade_Drop
	scene "scenes/act3/station_street/zombie_grenade_drop" speakonce
}

criterion "Speech_Alyx_Zombie_Grenade_Death" "speech" "zombie_grenade_death" "required"
response PlayerVO_A3_Station_Zombie_Grenade_Death
{
	criteria Concept_PlayerTalk Speech_Alyx_Zombie_Grenade_Death
	scene "scenes/act3/station_street/zombie_grenade_death" predelay 2 speakonce
}

criterion "Speech_Alyx_Grenade_Toss_Success" "speech" "grenade_toss_success" "required"
response PlayerVO_A3_Station_Grenade_Toss_Succes
{
	criteria Concept_PlayerTalk Speech_Alyx_Grenade_Toss_Success
	scene "scenes/act3/station_street/grenade_toss_success" interrupt_and_cancel speakonce
}

// missed grenade tosses
criterion "Speech_Alyx_Grenade_Toss_Fail" "speech" "grenade_toss_fail" "required"

response PlayerVO_Grenade_Toss_Fail
{
	criteria	Concept_PlayerTalk Speech_Alyx_Grenade_Toss_Fail
	scene "scenes/act3/station_street/grenade_toss_fail_1" 
	scene "scenes/act3/station_street/grenade_toss_fail_2" 
	scene "scenes/act3/station_street/grenade_toss_fail_3" 
	scene "scenes/act3/station_street/grenade_toss_fail_4" 
	scene "scenes/act3/station_street/grenade_toss_fail_5" 
	sequential
	norepeat
}

criterion "Speech_Station_Street_CombineMonitor" "speech" "station_street_monitor" "required"
response PlayerVO_A3_Station_Street_Monitor
{
	criteria Concept_PlayerTalk Speech_Station_Street_CombineMonitor
	scene "scenes/act3/station_street/see_combine_monitor" speakonce 
}

criterion "Speech_Station_Street_Overwatch" "speech" "station_street_overwatch" "required"
response PlayerVO_A3_Station_Street_Overwatch
{
	criteria Concept_PlayerTalk Speech_Station_Street_Overwatch
	scene "scenes/act3/station_street/station_street_overwatch" speakonce 
}

criterion "Speech_AlyxRussell_Station_Puzzle_Alarm" "speech" "station_street_puzzle_alarm" "required"
response PlayerVO_A3_Station_Street_Puzzle_Alarm
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Station_Puzzle_Alarm
	scene "scenes/act3/station_street/alyx_triggers_toner_puzzle_alarm" speakonce 
}

// ---- HOTEL ----
criterion "Speech_AlyxRussell_See_Hotel" "speech" "alyx_russell_see_hotel" "required"
response PlayerVO_A3_Station_Street_AlyxRussell_See_Hotel
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_See_Hotel
	scene "scenes/act3/station_street/see_hotel" speakonce
}

criterion "Speech_AlyxRussell_See_Substation" "speech" "alyx_russell_see_substation" "required"
response PlayerVO_A3_Station_Street_AlyxRussell_See_Substation
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_See_Substation
	scene "scenes/act3/station_street/see_substation" speakonce
}

criterion "Speech_AlyxRussell_See_Substation_Cables" "speech" "alyx_russell_see_substation_cables" "required"
response PlayerVO_A3_Station_Street_AlyxRussell_See_Substation_Cables
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_See_Substation_Cables
	scene "scenes/act3/station_street/see_substation_cables" speakonce
}

criterion "Speech_AlyxRussell_Cant_Use_Elevator" "speech" "alyx_russell_cant_use_elevator" "required"
response PlayerVO_A3_Station_Street_AlyxRussell_Cant_Use_Elevator
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Cant_Use_Elevator
	scene "scenes/act3/station_street/cant_use_elevator" speakonce
}

criterion "Speech_Russell_Cant_Use_Elevator_Hint_2" "speech" "russell_cant_use_elevator_hint_2" "required"
response PlayerVO_A3_Station_Street_Russell_Cant_Use_Elevator_Hint_2
{
	criteria Concept_PlayerTalk Speech_Russell_Cant_Use_Elevator_Hint_2
	scene "scenes/act3/station_street/cant_use_elevator_hint_2" speakonce
}

criterion "Speech_AlyxRussell_Elevator_Cuts_Out" "speech" "alyx_russell_elevator_cuts_out" "required"
response PlayerVO_A3_Station_Street_AlyxRussell_Elevator_Cuts_Out
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Elevator_Cuts_Out
	scene "scenes/act3/station_street/elevator_russell_cuts_out" speakonce
}


//========================================================================================================
// a3_hotel_lobby_basement
//========================================================================================================
criterion "InMap_A3_Hotel_Lobby_Basement" "map" "a3_hotel_lobby_basement" "required"

// ---- ELEVATOR POWER GOES OUT ----
criterion "Speech_AlyxRussell_SeeElevator" "speech" "hotel_see_elevator" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_SeeElevator
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_SeeElevator 
	scene "scenes/act3/hotel_lobby_basement/see_elevator" speakonce
}

criterion "Speech_AlyxRussell_See_Hotel_Stairs" "speech" "hotel_see_stairs" "required"
criterion "Alyx_Not_Entered_Breaker_Room" "entered_breaker_room" "!=1" "required"
criterion "Alyx_Entered_Breaker_Room" "entered_breaker_room" "1" "required"

response PlayerVO_AlyxRussell_Hotel_LookAtStairs
{
	scene "scenes/act3/hotel_lobby_basement/look_at_stairs"	interrupt_and_cancel speakonce
}

rule PlayerVO_AlyxRussell_Hotel_LookAtStairs_Rule
{
	criteria		Concept_PlayerTalk Speech_AlyxRussell_See_Hotel_Stairs Alyx_Not_Entered_Breaker_Room
	response		PlayerVO_AlyxRussell_Hotel_LookAtStairs
	applycontext	"saw_hotel_stairs:1"
}

criterion "Alyx_Not_Saw_Stairs" "saw_hotel_stairs" "!=1" "required"
criterion "Alyx_Saw_Stairs" "saw_hotel_stairs" "1" "required"
criterion "Alyx_Solved_BreakerRoom" "solved_breaker_room" "1" "required"	// has completed part 1

criterion "Speech_AlyxRussell_LookForBreakerBox" "speech" "look_for_breaker_box" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_LookForBreakerBox
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_LookForBreakerBox Alyx_Not_Entered_Breaker_Room
	scene "scenes/act3/hotel_lobby_basement/look_for_breaker_box"  interrupt_and_cancel speakonce
}

// ---- ENTER BREAKER BOX ROOM ----
criterion "Speech_AlyxRussell_Enter_Breaker_Room" "speech" "enter_breaker_room" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_Enter_Breaker_Room_Stairs
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Enter_Breaker_Room Alyx_Saw_Stairs
	scene "scenes/act3/hotel_lobby_basement/breaker_room_saw_stairs"  interrupt_and_cancel speakonce
}

response PlayerVO_A3_Hotel_Lobby_Basement_Enter_Breaker_Room_No_Stairs
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Enter_Breaker_Room Alyx_Not_Saw_Stairs
	scene "scenes/act3/hotel_lobby_basement/breaker_room_no_stairs"	 interrupt_and_cancel speakonce
}

// this never fires, removing and replacing with logic in map
//response PlayerVO_A3_Hotel_Lobby_Basement_Enter_Breaker_Room_ReEnter
//{
//	criteria Concept_PlayerTalk Speech_AlyxRussell_Enter_Breaker_Room Alyx_Entered_Breaker_Room	 Alyx_Solved_BreakerRoom
//	scene "scenes/act3/hotel_lobby_basement/breaker_room_reenter"  interrupt_and_cancel speakonce
//}

criterion "Speech_AlyxRussell_Enter_Breaker_RoomSolved" "speech" "enter_breaker_room_solved" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_Enter_Breaker_Room_ReEnter_Solved
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Enter_Breaker_RoomSolved
	scene "scenes/act3/hotel_lobby_basement/breaker_room_reenter"  interrupt_and_cancel speakonce
}

// ---- TONER PART 1 STARTED ----
criterion "Speech_AlyxRussell_StartBreakerRoomToner" "speech" "start_breaker_room_toner" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_StartBreakerRoomToner
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_StartBreakerRoomToner
	scene "scenes/act3/hotel_lobby_basement/start_breaker_room_toner"	interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_WiringCommentary" "speech" "wiring_commentary" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_WiringCommentary
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_WiringCommentary
	scene "scenes/act3/hotel_lobby_basement/breaker_box_intro"	interrupt_and_cancel speakonce
}

// ---- TONER PART 1 STARTED NOT FINISHED ---
criterion "Speech_AlyxRussell_CheckElevatorEarly" "speech" "check_elevator_early" "required" // "...rats nest, elevator still not on..."
response PlayerVO_A3_Hotel_Lobby_Basement_CheckElevator
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_CheckElevatorEarly
	scene "scenes/act3/hotel_lobby_basement/check_elevator_button_after_breaker_puzzle" speakonce
}

//criterion "Speech_AlyxRussell_ElevatorPowerOff" "speech" "elevator_power_off" "required"
//response PlayerVO_A3_Hotel_Lobby_Basement_ElevatorPowerOff
//{
//	criteria Concept_PlayerTalk Speech_AlyxRussell_ElevatorPowerOff  //Alyx_Entered_Breaker_Room
//	scene "scenes/act3/hotel_lobby_basement/elevator_power_off" speakonce 
//}

// ---- TONER PART 1 COMPLETE ----
criterion "Speech_AlyxRussell_BreakerRoomSolved" "speech" "breaker_room_solved" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_BreakerRoomSolved
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_BreakerRoomSolved
	scene "scenes/act3/hotel_lobby_basement/breaker_room_solved" interrupt_and_cancel speakonce
}

// ---- TONER PART 2 COMPLETE ----
criterion "Speech_AlyxRussell_ElevatorTonerSolved" "speech" "elevator_toner_solved" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_ElevatorTonerSolved
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_ElevatorTonerSolved
	scene "scenes/act3/hotel_lobby_basement/elevator_toner_solved" interrupt_and_cancel	predelay 1 speakonce
}

// ---- PUSHED BUTTON ----
criterion "Speech_AlyxRussell_ElevatorButtonPressed" "speech" "elevator_button_pressed" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_ElevatorButtonPressed
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_ElevatorButtonPressed
	scene "scenes/act3/hotel_lobby_basement/elevator_button_pressed" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_UseLadder" "speech" "use_ladder" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_UseLadder
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_UseLadder
	scene "scenes/act3/hotel_lobby_basement/use_ladder" interrupt_and_cancel speakonce
}

// ---- PIANO ----
criterion "Speech_AlyxRussell_Use_Piano" "speech" "use_piano" "required"
criterion "FirstPianoLinePlayed" "first_piano_line_played" "1" "required"

response PlayerVO_A3_AlyxRussell_Use_Piano
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Use_Piano NotInCombat
	scene "scenes/act3/hotel/play_piano" interrupt_and_cancel speakonce
	applycontext "first_piano_line_played:1"
}

criterion "Speech_AlyxRussell_Use_Piano_Followup" "speech" "use_piano_followup" "required"
response PlayerVO_A3_AlyxRussell_Use_Piano_Followup
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Use_Piano_Followup FirstPianoLinePlayed NotInCombat
	scene "scenes/act3/hotel/play_piano_follow_up" interrupt_and_cancel speakonce predelay 3
}

// ---- XEN FOLIAGE ----
criterion "Speech_AlyxRussell_XenFoliageElevatorTop" "speech" "xen_foliage_elevator_top" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_XenFoliageElevatorTop
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_XenFoliageElevatorTop
	scene "scenes/act3/hotel_lobby_basement/xen_foliage_elevator_top" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_ClownDoorKnob" "speech" "clown_door_knob" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_ClownDoorknob
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_ClownDoorKnob
	scene "scenes/act3/hotel_lobby_basement/clown_door_knob" interrupt_and_cancel speakonce 
}

criterion "Speech_AlyxRussell_TouchBlueXen" "speech" "touch_blue_xen" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_TouchBlueXen
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_TouchBlueXen
	scene "scenes/act3/hotel_lobby_basement/touch_blue_xen" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_TouchSpikeXen" "speech" "touch_xen_spike" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_TouchSpikeXen
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_TouchSpikeXen
	scene "scenes/act3/hotel_lobby_basement/touch_xen_tentacle" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_XenPustuleIntro" "speech" "xen_pustule_intro" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_XenPustuleIntro
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_XenPustuleIntro
	scene "scenes/act3/hotel_lobby_basement/xen_pustule_intro" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_MattressMan" "speech" "mattress_man" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_MattressMan
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_MattressMan
	scene "scenes/act3/hotel_lobby_basement/mattress_man" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_MattressManClose" "speech" "mattress_man_close" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_MattressManClose
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_MattressManClose
	scene "scenes/act3/hotel_lobby_basement/mattress_man_close" interrupt_and_cancel predelay 1 speakonce
}

criterion "Speech_AlyxRussell_XenFoliageSmell" "speech" "xen_foliage_smell" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_XenFoliageSmell
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_XenFoliageSmell
	scene "scenes/act3/hotel_lobby_basement/touch_xen_foliage_smell" speakonce
}

criterion "Speech_AlyxRussell_SnatchGrenade" "speech" "snatch_grenade" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_SnatchGrenade
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_SnatchGrenade  
	scene "scenes/act3/hotel_lobby_basement/snatch_grenade" interrupt_and_cancel speakonce 
}

criterion "Speech_AlyxRussell_FirstReviverIntro" "speech" "first_reviver_intro" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_FirstReviverIntro
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_FirstReviverIntro  
	scene "scenes/act3/hotel_lobby_basement/first_reviver_intro" interrupt_and_cancel speakonce 
}

criterion "Speech_AlyxRussell_FirstReviverIntroFollowUp" "speech" "first_reviver_intro_follow_up" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_FirstReviverIntroFollowUp
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_FirstReviverIntroFollowUp  
	scene "scenes/act3/hotel_lobby_basement/first_reviver_intro_follow_up" interrupt_and_cancel speakonce 
}

criterion "Speech_AlyxRussell_FirstReviverKilled" "speech" "first_reviver_killed" "required"
criterion "PlayerPickedUpReviverHeart" "player_pickup_object_classname" "prop_reviver_heart" "required"
criterion "PlayerHoldingHeart"	"player_picked_up_heart" "1" "required"
criterion "PlayerNotTalkedAboutHeart"	"player_talked_about_heart" "!=1" "required"
criterion "ReviverDeadIntroFinished"	"reviver_dead_intro_finished" "1" "required"

// if player is holding the heart play additional line
criterion "ReviverDead_HeartCheck" "heart_check" "1" "required"

response PlayerVO_A3_Hotel_Lobby_Basement_FirstReviverKilled
{																								  
	scene "scenes/act3/hotel_lobby_basement/kill_first_reviver" speakonce then self TLK_PLAYER_MAP_TALK heart_check:1 1
}

rule PlayerVO_A3_Hotel_Lobby_Basement_FirstReviverKilled_Rule
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_FirstReviverKilled InMap_A3_Hotel_Lobby_Basement
	response PlayerVO_A3_Hotel_Lobby_Basement_FirstReviverKilled
	applycontext "reviver_dead_intro_finished:1"
}

response PlayerVO_A3_Hotel_Lobby_Basement_PickedUpReviverHeart
{
	scene "scenes/act3/hotel_lobby_basement/holding_reviver_heart"  
}																				

rule PlayerVO_A3_Hotel_Lobby_Basement_PickedUpReviverHeart_Rule
{
	criteria Concept_PlayerTalk  PlayerHoldingHeart ReviverDead_HeartCheck InMap_A3_Hotel_Lobby_Basement 
	response PlayerVO_A3_Hotel_Lobby_Basement_PickedUpReviverHeart
	applycontext "player_talked_about_heart:1"
}

response  PlayerVO_A3_Hotel_Lobby_Basement_PickedUpReviverHeartLater
{
	criteria Concept_PlayerPickup ReviverDeadIntroFinished PlayerNotTalkedAboutHeart PlayerPickedUpReviverHeart  InMap_A3_Hotel_Lobby_Basement
	scene "scenes/act3/hotel_lobby_basement/pickup_reviver_heart"  
	norepeat
}


//========================================================================================================
// a3_hotel_undergound_pit
//========================================================================================================
// ---- ELEVATOR SPOTTED ----
criterion "Speech_AlyxRussell_See_Substation_Elevator" "speech" "see_substation_elevator" "required"
response PlayerVO_A3_Hotel_Undergound_SubElevator
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_See_Substation_Elevator						
	scene "scenes/act3/hotel/see_substation_elevator" interrupt_and_cancel speakonce
}

// ---- REVIVER ----
criterion "Speech_AlyxRussell_SecondReviver_Encounter" "speech" "second_reviver_encounter" "required"
response PlayerVO_A3_Hotel_Undergound_SecondReviver_Encounter
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_SecondReviver_Encounter						
	scene "scenes/act3/hotel_underground_pit/second_reviver_encounter" speakonce
}

criterion "Speech_AlyxRussell_SecondReviver_EnterZombie" "speech" "second_reviver_enter_zombie" "required"
response PlayerVO_A3_Hotel_Undergound_SecondReviver_EnterZombie
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_SecondReviver_EnterZombie
	scene "scenes/act3/hotel_underground_pit/second_reviver_enter_zombie" cancel_existing speakonce
}

criterion "Speech_AlyxRussell_SecondReviver_Killed" "speech" "second_reviver_killed" "required"
response PlayerVO_A3_Hotel_Undergound_SecondReviver_Killed
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_SecondReviver_Killed
	scene "scenes/act3/hotel_underground_pit/second_reviver_killed" speakonce
}

// ---- ELEVATOR ----
criterion "Speech_AlyxRussell_Hotel_Found_Elevator" "speech" "underground_found_elevator" "required"
response PlayerVO_A3_Hotel_Undergound_Found_Elevator
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Hotel_Found_Elevator
	scene "scenes/act3/hotel_underground_pit/found_elevator_out_of_pit" speakonce
}

criterion "Speech_AlyxRussell_Hotel_Below_Substation" "speech" "underground_below_substation" "required"
response PlayerVO_A3_Hotel_Undergound_Below_Substation
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Hotel_Below_Substation
	scene "scenes/act3/hotel_interior_rooftop/just_below_substation" speakonce
}

// ---- ELEVATOR RIDE ----
criterion "Speech_AlyxRussell_Hotel_Dad_Back" "speech" "underground_dad_back" "required"
response PlayerVO_A3_Hotel_Undergound_Dad_Back
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Hotel_Dad_Back
	scene "scenes/act3/hotel_underground_pit/convo_alyx_russell_dad_back_by_now" speakonce
}

criterion "Speech_AlyxRussell_ShirtlessZombie" "speech" "shirtless_zombie" "required"
response PlayerVO_A3_Hotel_Lobby_Basement_ShirtlessZombie
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_ShirtlessZombie
	scene "scenes/act3/hotel_lobby_basement/shirtless_zombie" interrupt_and_cancel speakonce 
}

//========================================================================================================
// a3_hotel_interior_rooftop
//========================================================================================================
criterion "Speech_AlyxRussell_Hotel_Touch_Xen" "speech" "hotel_interior_touch_xen" "required"
response PlayerVO_A3_Hotel_Interior_Touch_Xen
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Hotel_Touch_Xen
	scene "scenes/act3/hotel/convo_xen_foliage_touching_cancer" speakonce
}

criterion "Speech_AlyxRussell_Hotel_CombineShield" "speech" "hotel_interior_combine_shield" "required"
response PlayerVO_A3_Hotel_Interior_CombineShield
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Hotel_CombineShield
	scene "scenes/act3/hotel_interior_rooftop/combine_wall_hotel" speakonce
}

criterion "Speech_AlyxRussell_Hotel_SeePowerHandle" "speech" "hotel_interior_power_handle" "required"
response PlayerVO_A3_Hotel_Interior_SeePowerHandle
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Hotel_SeePowerHandle
	scene "scenes/act3/hotel_interior_rooftop/on_see_power_handle" speakonce
}

criterion "Speech_AlyxRussell_Hotel_LightsOut" "speech" "hotel_interior_lights_out" "required"
response PlayerVO_A3_Hotel_Interior_LightsOut
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Hotel_LightsOut
	scene "scenes/act3/hotel_interior_rooftop/lights_go_out_reaction" speakonce
}

criterion "Speech_AlyxRussell_Hotel_FindRapid" "speech" "hotel_find_rapid" "required"
response PlayerVO_A3_Hotel_Interior_FindRapid
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Hotel_FindRapid
	scene "scenes/act3/hotel/find_rapidfire.vcd" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_ThirdReviver_Encounter" "speech" "third_reviver_encounter" "required"
response PlayerVO_A3_Hotel_Interior_ThirdReviver_Encounter
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_ThirdReviver_Encounter
	scene "scenes/act3/hotel_interior_rooftop/third_reviver_encounter" speakonce
}

criterion "Speech_AlyxRussell_ThirdReviver_Killed" "speech" "third_reviver_killed" "required"
response PlayerVO_A3_Hotel_Interior_ThirdReviver_Killed
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_ThirdReviver_Killed
	scene "scenes/act3/hotel_interior_rooftop/third_reviver_killed" speakonce
}


//========================================================================================================
// a3_hotel_street
//========================================================================================================

// ---- SUBSTATION ----
criterion "Speech_AlyxRussell_Substation_Arrive" "speech" "substation_arrive" "required"
response PlayerVO_A3_AlyxRussell_Substation_Arrive
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Substation_Arrive
	scene "scenes/act3/hotel_interior_rooftop/substation/arrive_at_substation" speakonce
}

criterion "Speech_AlyxRussell_Sub_Enter" "speech" "substation_enter" "required"
response PlayerVO_A3_AlyxRussell_Substation_Enter
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Sub_Enter
	scene "scenes/act3/hotel_interior_rooftop/substation/if_player_enters_vort_room" speakonce
}

criterion "Speech_AlyxRussell_Sub_Arrive_Controls" "speech" "substation_arrive_controls" "required"
response PlayerVO_A3_AlyxRussell_Substation_Arrive_Controls
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Sub_Arrive_Controls
	scene "scenes/act3/hotel_interior_rooftop/substation/arrive_at_cable_controls" speakonce
}

//criterion "Speech_AlyxRussell_Substation_Shoot_Shielding" "speech" "substation_shoot_shielding" "required"
//response PlayerVO_A3_AlyxRussell_Substation_Shoot_Shielding
//{
//	criteria Concept_PlayerTalk Speech_AlyxRussell_Substation_Shoot_Shielding
//	scene "scenes/act3/hotel_interior_rooftop/substation/if_player_shoots_shielding" speakonce
//}

// Delayed after interaction with console.  When played logic removes "substation_enter" so it doesn't trigger
criterion "Speech_AlyxRussell_Substation_Shoot_Hint" "speech" "substation_shoot_hint" "required"
response PlayerVO_A3_AlyxRussell_Substation_Shoot_Hint
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Substation_Shoot_Hint
	scene "scenes/act3/hotel_interior_rooftop/substation/shoot_the_cables_hint" speakonce
}

criterion "Speech_AlyxRussell_Substation_Shoot_Cable" "speech" "substation_shoot_cable" "required"
response PlayerVO_A3_AlyxRussell_Substation_Shoot_Cable
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Substation_Shoot_Cable
	scene "scenes/act3/hotel_interior_rooftop/substation/shoot_first_cable" speakonce
}

criterion "Speech_AlyxRussell_Substation_Deactivate" "speech" "substation_deactivate" "required"
response PlayerVO_A3_AlyxRussell_Substation_Deactivate
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Substation_Deactivate
	scene "scenes/vort_substations/vort_substation_2019_russell_cable_vo" interrupt_and_cancel speakonce
}

// ---- POST RESCUE ELEVATOR RIDE ----
criterion "Speech_AlyxRussell_Post_Hotel_Vista_2" "speech" "post_hotel_vista_2" "required"
response PlayerVO_A3_AlyxRussell_Post_Hotel_Vista_2
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Post_Hotel_Vista_2
	scene "scenes/act3/hotel/post_hotel_vista_2" speakonce
}

// ---- HOTEL STREET COMBAT ----
criterion "Speech_AlyxRussell_Overwatch_Cooperate" "speech" "overwatch_cooperate" "required"
response PlayerVO_A3_AlyxRussell_Overwatch_Cooperate
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Overwatch_Cooperate
	scene "scenes/act3/hotel/post_combat_overwatch_cooperate_response" speakonce
}

// ---- COURTYARD COMBAT ----
criterion "Speech_AlyxRussell_Post_Hotel_Vista_1" "speech" "post_hotel_vista_1" "required"
response PlayerVO_A3_AlyxRussell_Post_Hotel_Vista_1
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Post_Hotel_Vista_1
	scene "scenes/act3/hotel/post_hotel_vista_1" speakonce
}

criterion "Speech_AlyxRussell_Saying_My_Name" "speech" "saying_my_name" "required"
response PlayerVO_A3_AlyxRussell_Saying_My_Name
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Saying_My_Name
	scene "scenes/responses/alyx_first_combine_calls_out_alyx" interrupt_and_cancel speakonce
}

// ---- BRIDGE CROSSING ----
criterion "Speech_AlyxRussell_Eli_Returns" "speech" "eli_returns" "required"
response PlayerVO_A3_AlyxRussell_Eli_Returns
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Eli_Returns
	scene "scenes/act3/eli_returns" speakonce
}


//========================================================================================================
// a3_processing_plant
//========================================================================================================
criterion "Speech_AlyxRussell_Asks_About_Eli" "speech" "asks_about_eli" "required"
response PlayerVO_A3_AlyxRussell_Asks_About_Eli
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Asks_About_Eli
	scene "scenes/act3/processing_plant/convo_alyx_asks_about_eli" speakonce
}

criterion "Speech_AlyxRussell_Suppressor_Finished" "speech" "suppressor_finished" "required"
response PlayerVO_A3_AlyxRussell_Suppressor_Finished
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Suppressor_Finished
	scene "scenes/act3/processing_plant/alyx_react_suppressor_fight.vcd" speakonce
}

criterion "Speech_AlyxRussell_Post_Hotel_Vista_3" "speech" "post_hotel_vista_3" "required"
response PlayerVO_A3_AlyxRussell_Post_Hotel_Vista_3
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Post_Hotel_Vista_3
	scene "scenes/act3/hotel/post_hotel_vista_3" speakonce
}

// ---- VORT TAKEDOWN ----
criterion "Speech_AlyxRussell_Construction_Yard_Vista" "speech" "construction_yard_vista" "required"
response PlayerVO_A3_AlyxRussell_Construction_Yard_Vista
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Construction_Yard_Vista
	scene "scenes/act3/processing_plant/construction_yard_vista" speakonce
}

// ---- SMALL COURTYARD ----
criterion "Speech_AlyxRussell_Got_Company" "speech" "got_company" "required"
response PlayerVO_A3_AlyxRussell_Got_Company
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Got_Company
	scene "scenes/act3/processing_plant/russ_youve_got_company" speakonce
}

// ---- LARGE COURTYARD ----
criterion "Speech_AlyxRussell_Return_Of_The_Drone" "speech" "return_of_the_drone" "required"
response PlayerVO_A3_AlyxRussell_Return_Of_The_Drone
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Return_Of_The_Drone
	scene "scenes/act3/processing_plant/return_of_the_drone" speakonce
}

criterion "Speech_AlyxRussell_Enter_Distillery" "speech" "enter_distillery" "required"
response PlayerVO_A3_AlyxRussell_Enter_Distillery
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Enter_Distillery
	scene "scenes/act3/processing_plant/enter_distillery" interrupt_and_cancel speakonce
}


//========================================================================================================
// a3_distillery
//========================================================================================================
criterion "Speech_AlyxRussell_Vodka_Tutorial" "speech" "distillery_vodka" "required"
response PlayerVO_A3_Distillery_Vodka_Tutorial
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Vodka_Tutorial
	scene "scenes/act3/distillery/alyx_russell_vodka_tutorial" speakonce
}

criterion "Speech_AlyxRussell_Distillery_Vista" "speech" "distillery_vista" "required"
response PlayerVO_a3_distillery_vista																
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Distillery_Vista
	scene "scenes/act3/distillery/alyx_russell_distillery_vista" speakonce
}

criterion "Speech_AlyxRussell_Cuts_Out" "speech" "distillery_russell_cuts_out" "required"
response PlayerVO_A3_Distillery_AlyxRussell_Cuts_Out
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Cuts_Out
	scene "scenes/act3/distillery/alyx_russell_cuts_out" speakonce
}

criterion "Speech_AlyxRussell_Returns" "speech" "distillery_russell_returns" "required"
response PlayerVO_A3_Distillery_AlyxRussell_Returns
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Returns
	scene "scenes/act3/distillery/alyx_russell_returns" speakonce
}

criterion "Speech_AlyxRussell_Map_Data" "speech" "russell_map_data" "required"
response PlayerVO_A3_Distillery_AlyxRussell_Map_Data
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Map_Data
	scene "scenes/act3/distillery/russells_map_data" speakonce
}

criterion "Speech_AlyxRussell_Antlions_1" "speech" "russell_antlions_1" "required"
response PlayerVO_A3_Distillery_AlyxRussell_Antlions_1
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Antlions_1
	scene "scenes/act3/distillery/russell_knows_about_antlions_1" speakonce
}

criterion "Speech_Alyx_Blindzombie_Relieved_04" "speech" "alyx_blindzombie_relieved_04" "required"
response PlayerVO_A3_Distillery_Alyx_Blindzombie_Relieved_04
{
	criteria Concept_PlayerTalk Speech_Alyx_Blindzombie_Relieved_04
	scene "scenes/act3/distillery/alyx_blindzombie_relieved_04" speakonce
}

criterion "Speech_Alyx_Blindzombie_Gasp_02" "speech" "alyx_blindzombie_gasp_02" "required"
response PlayerVO_A3_Distillery_Alyx_Blindzombie_Gasp_02
{
	criteria Concept_PlayerTalk Speech_Alyx_Blindzombie_Gasp_02
	scene "scenes/act3/distillery/alyx_blindzombie_gasp_02" speakonce
}

criterion "Speech_Alyx_Blindzombie_Relieved_03" "speech" "alyx_blindzombie_relieved_03" "required"
response PlayerVO_A3_Distillery_Alyx_Blindzombie_Relieved_03
{
	criteria Concept_PlayerTalk Speech_Alyx_Blindzombie_Relieved_03
	scene "scenes/act3/distillery/alyx_blindzombie_relieved_03" speakonce
}

criterion "Speech_Alyx_Squished_Jeff" "speech" "alyx_squished_jeff" "required"
response PlayerVO_A3_Distillery_Alyx_Squished_Jeff
{
	criteria Concept_PlayerTalk Speech_Alyx_Squished_Jeff
	scene "scenes/act3/distillery/alyx_squished_jeff" speakonce
}

criterion "Speech_Alyx_Blindzombie_Relieved_02" "speech" "alyx_blindzombie_relieved_02" "required"
response PlayerVO_A3_Distillery_Alyx_Blindzombie_Relieved_02
{
	criteria Concept_PlayerTalk Speech_Alyx_Blindzombie_Relieved_02
	scene "scenes/act3/distillery/alyx_blindzombie_relieved_02" speakonce
}

criterion "Speech_Alyx_Russell_Sees_Jeff" "speech" "alyx_russell_sees_jeff" "required"
response PlayerVO_A3_Distillery_Alyx_Russell_Sees_Jeff
{
	criteria Concept_PlayerTalk Speech_Alyx_Russell_Sees_Jeff
	scene "scenes/act3/distillery/alyx_russell_sees_jeff" speakonce
}

criterion "Speech_Russell_Open_The_Plug" "speech" "russell_open_the_plug" "required"
response PlayerVO_A3_Distillery_Russell_Open_The_Plug
{
	criteria Concept_PlayerTalk Speech_Russell_Open_The_Plug
	scene "scenes/act3/distillery/russell_open_the_plug" speakonce
}

criterion "Speech_Russell_Find_Console_01" "speech" "russell_find_console_01" "required"
response PlayerVO_A3_Distillery_Russell_Find_Console_01
{
	criteria Concept_PlayerTalk Speech_Russell_Find_Console_01
	scene "scenes/act3/distillery/russell_find_console_01" speakonce
}

criterion "Speech_Russell_Find_Console_02" "speech" "russell_find_console_02" "required"
response PlayerVO_A3_Distillery_Russell_Find_Console_02
{
	criteria Concept_PlayerTalk Speech_Russell_Find_Console_02
	scene "scenes/act3/distillery/russell_find_console_02" speakonce
}

criterion "Speech_Alyx_Russell_Sees_Jeff_Whispered" "speech" "alyx_russell_sees_jeff_whispered" "required"
response PlayerVO_A3_Distillery_Alyx_Russell_Sees_Jeff_Whispered
{
	criteria Concept_PlayerTalk Speech_Alyx_Russell_Sees_Jeff_Whispered
	scene "scenes/act3/distillery/alyx_russell_sees_jeff_whispered" speakonce
}

criterion "Speech_Alyx_Russell_Battery_Insert_01" "speech" "alyx_russell_battery_insert_01" "required"
response PlayerVO_A3_Distillery_Alyx_Russell_Battery_Insert_01
{
	criteria Concept_PlayerTalk Speech_Alyx_Russell_Battery_Insert_01
	scene "scenes/act3/distillery/alyx_russell_battery_insert_01" speakonce
}

criterion "Speech_Alyx_Russell_Battery_Insert_02" "speech" "alyx_russell_battery_insert_02" "required"
response PlayerVO_A3_Distillery_Alyx_Russell_Battery_Insert_02
{
	criteria Concept_PlayerTalk Speech_Alyx_Russell_Battery_Insert_02
	scene "scenes/act3/distillery/alyx_russell_battery_insert_02" speakonce
}

criterion "Speech_Alyx_Russell_Battery_Insert_03" "speech" "alyx_russell_battery_insert_03" "required"
response PlayerVO_A3_Distillery_Alyx_Russell_Battery_Insert_03
{
	criteria Concept_PlayerTalk Speech_Alyx_Russell_Battery_Insert_03
	scene "scenes/act3/distillery/alyx_russell_battery_insert_03" speakonce
}


//========================================================================================================
// a4_c17_zoo
//========================================================================================================
criterion "InMap_A4_C17_Zoo" "map" "a4_c17_zoo" "required"

criterion "Speech_AlyxRussell_Antlions_2" "speech" "russell_antlions_2" "required"
response PlayerVO_A4_C17_Zoo_AlyxRussell_Antlions_2
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Antlions_2
	scene "scenes/act4/russell_knows_about_antlions_2"	cancel_existing speakonce
}

// start here

criterion "Speech_AlyxRussell_HoldingVodka" "speech" "radio_holding_vodka" "required"
criterion "Alyx_Holding_Vodka" "holding_vodka" "1" "required"
criterion "Alyx_Holding_Vodka_Multi" "holding_vodka_multi" "1" "required"

criterion "Alyx_Not_Holding_Vodka" "holding_vodka" "!=1" "required"
criterion "Alyx_Not_Holding_Vodka_Multi" "holding_vodka_multi" "!=1" "required"

response PlayerVO_EliPrison_No_Vodka
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_HoldingVodka Alyx_Not_Holding_Vodka Alyx_Not_Holding_Vodka_Multi
	scene	"scenes/act4/eli_prison_no_vodka" speakonce 
}

response PlayerVO_EliPrison_Holding_Vodka
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_HoldingVodka Alyx_Holding_Vodka Alyx_Not_Holding_Vodka_Multi
	scene	"scenes/act4/eli_prison_holding_vodka" speakonce 
}
																										 
response PlayerVO_EliPrison_Holding_Vodka_Multi
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_HoldingVodka Alyx_Holding_Vodka_Multi
	scene	"scenes/act4/eli_prison_holding_vodka_multi.vcd" speakonce 	
}


criterion "Speech_AlyxRussell_EliVault"  "speech" "eli_vault" "required"
response PlayerVO_EliVault
{																						   
	criteria Concept_PlayerTalk Speech_AlyxRussell_EliVault 
	scene "scenes/act4/eli_vault"  interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_Gorilla"  "speech" "zoo_gorilla" "required"
response PlayerVO_ZooGorilla
{																						   
	criteria Concept_PlayerTalk Speech_AlyxRussell_Gorilla 
	scene "scenes/act4/zoo_gorilla"  interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_EliPrison"  "speech" "eli_prison" "required"
response PlayerVO_EliPrison
{																						   
	criteria Concept_PlayerTalk Speech_AlyxRussell_EliPrison 
	scene "scenes/act4/eli_prison_2"  interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_Antlion_Experiment" "speech" "antlion_experiment" "required"
response PlayerVO_A4_C17_Water_Tower_Antlion_Experiment
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Antlion_Experiment
	scene "scenes/act4/water_tower/antlion_experiment" interrupt_and_cancel speakonce
}


criterion "Speech_Alyx_Asks_About_Data_Pod" "speech" "alyx_asks_about_data_pod" "required"
response PlayerVO_A4_Zoo_Alyx_Asks_Data_Pod
{
	criteria Concept_PlayerTalk Speech_Alyx_Asks_About_Data_Pod
	scene "scenes/act4/zoo_alyx_asks_about_datapod" interrupt_and_cancel speakonce
}


//========================================================================================================
// a4_c17_tanker_yard
//========================================================================================================
criterion "InMap_A4_C17_Tanker_Yard" "map" "a4_c17_tanker_yard" "required"

criterion "Speech_AlyxRussell_VaultGravityBeams" "speech" "vault_gravity_beams" "required"
response PlayerVO_A4_C17_Tanker_Yard_VaultGravityBeams
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_VaultGravityBeams
	scene "scenes/act4/tanker_yard/vault_gravity_beams"	interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_SeePerson" "speech" "see_person_abandoned_building" "required"
response PlayerVO_A4_C17_Tanker_Yard_SeePerson
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_SeePerson
	scene "scenes/act4/tanker_yard/see_person_abandoned_building" interrupt_and_cancel speakonce
}


criterion "Speech_AlyxRussell_RadioAboutGordon" "speech" "radio_about_gordon" "required"
response PlayerVO_A4_C17_Tanker_Yard_RadioAboutGordon
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_RadioAboutGordon
	scene "scenes/act4/radio_about_gordon"	interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_RadioWheresGordonBeen" "speech" "radio_wheres_gordon_been" "required"
response PlayerVO_A4_C17_Tanker_Yard_RadioWheresGordonBeen
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_RadioWheresGordonBeen
	scene "scenes/act4/radio_wheres_gorden_been"   interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_RadioSavingHumanity" "speech" "radio_saving_humanity" "required"
response PlayerVO_A4_C17_Tanker_Yard_RadioSavingHumanity
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_RadioSavingHumanity
	scene "scenes/act4/radio_saving_humanity" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_RadioVaultSecurity" "speech" "radio_vault_security" "required"
response PlayerVO_A4_C17_Tanker_Yard_RadioVaultSecurity
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_RadioVaultSecurity
	scene "scenes/act4/radio_about_vault_security_access_the_bridge" interrupt_and_cancel speakonce
}



criterion "Speech_AlyxRussell_Manhole_Vista_1" "speech" "manhole_vista_1" "required"
response PlayerVO_A4_C17_Tanker_Yard_AlyxRussell_Manhole_Vista_1
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Manhole_Vista_1
	scene "scenes/act4/manhole_vista_last_station_falls" speakonce
}

criterion "Speech_AlyxRussell_Manhole_Vista_2" "speech" "manhole_vista_2" "required"
response PlayerVO_A4_C17_Tanker_Yard_AlyxRussell_Manhole_Vista_2
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Manhole_Vista_2
	scene "scenes/act4/manhole_vista_part2" speakonce
}

criterion "Speech_AlyxRussell_Manhole_Vista_3" "speech" "manhole_vista_3" "required"
response PlayerVO_A4_C17_Tanker_Yard_AlyxRussell_Manhole_Vista_3
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Manhole_Vista_3
	scene "scenes/act4/manhole_vista_part3" speakonce
}

criterion "Speech_AlyxEli_Tanker_Yard_Vista" "speech" "tanker_yard_vista" "required"
response PlayerVO_A4_C17_Tanker_Yard_AlyxEli_Tanker_Yard_Vista
{
	criteria Concept_PlayerTalk Speech_AlyxEli_Tanker_Yard_Vista
	scene "scenes/act4/eli_tanker_yard_vista" speakonce
}

criterion "Speech_Alyx_Combine_Wall_Closing_Radio_Reaction" "speech" "combine_wall_closing_radio_reaction" "required"
response PlayerVO_A4_Alyx_Combine_Wall_Closing_Radio_Reaction
{
    criteria Concept_PlayerTalk Speech_Alyx_Combine_Wall_Closing_Radio_Reaction
    scene "scenes/act4/tanker_yard/combine_wall_closing_radio_reaction" interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_Substation_Collapse_Radio_Reaction1" "speech" "substation_collapse_radio_reaction1" "required"
response PlayerVO_A4_Alyx_Substation_Collapse_Radio_Reaction1
{
    criteria Concept_PlayerTalk Speech_Alyx_Substation_Collapse_Radio_Reaction1
    scene "scenes/act4/tanker_yard/substation_collapse_radio_reaction1" interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_Substation_Collapse_Radio_Reaction2" "speech" "substation_collapse_radio_reaction2" "required"
response PlayerVO_A4_Alyx_Substation_Collapse_Radio_Reaction2
{
    criteria Concept_PlayerTalk Speech_Alyx_Substation_Collapse_Radio_Reaction2
    scene "scenes/act4/tanker_yard/substation_collapse_radio_reaction2" interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_Substation_Collapse_Radio_Reaction3" "speech" "substation_collapse_radio_reaction3" "required"
response PlayerVO_A4_Alyx_Substation_Collapse_Radio_Reaction3
{
    criteria Concept_PlayerTalk Speech_Alyx_Substation_Collapse_Radio_Reaction3
    scene "scenes/act4/tanker_yard/substation_collapse_radio_reaction3" interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_Crowbar" "speech" "alyx_crowbar" "required"
response PlayerVO_A4_Alyx_Crowbar
{
    criteria Concept_PlayerTalk Speech_Alyx_Crowbar NotInCombat
    scene "scenes/act4/tanker_yard/alyx_russ_convo_about_the_crowbar" interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_Gordon_Concern" "speech" "alyx_gordon_concern" "required"
response PlayerVO_A4_Alyx_Gordon_Concern
{
    criteria Concept_PlayerTalk Speech_Alyx_Gordon_Concern NotInCombat
    scene "scenes/act4/tanker_yard/alyx_russ_convo_what_are_they_doing_to_gordon" interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_Russ_Come_Fight" "speech" "alyx_russ_come_fight" "required"
response PlayerVO_A4_Alyx_Russ_Come_Fight
{
    criteria Concept_PlayerTalk Speech_Alyx_Russ_Come_Fight
    scene "scenes/act4/tanker_yard/alyx_reaction_post_antlion_fight" interrupt_and_cancel speakonce
}

//========================================================================================================
// a4_c17_water_tower
//========================================================================================================


criterion "Speech_AlyxRussell_SeeControlRoom" "speech" "see_control_room" "required"
response PlayerVO_A4_C17_Water_Tower_SeeControlRoom
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_SeeControlRoom
	scene "scenes/act4/water_tower/see_control_room" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_ControlsDeadAhead" "speech" "controls_dead_ahead" "required"
response PlayerVO_A4_C17_Water_Tower_ControlsDeadAhead
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_ControlsDeadAhead
	scene "scenes/act4/water_tower/controls_dead_ahead" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_ButtonAppears" "speech" "button_appears" "required"
response PlayerVO_A4_C17_Water_Tower_ButtonAppears
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_ButtonAppears
	scene "scenes/act4/water_tower/button_appears" interrupt_and_cancel	speakonce
}


criterion "Speech_AlyxRussell_Water_Tower_Generator" "speech" "water_tower_see_generator" "required"
response PlayerVO_A4_C17_Water_Tower_Generator
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Water_Tower_Generator
	scene "scenes/act4/water_tower_see_generator" speakonce
}


criterion "Speech_AlyxRussell_Water_Tower_Vault_Falls" "speech" "vault_falls" "required"
response PlayerVO_A4_C17_Water_Tower_Vault_Falls
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Water_Tower_Vault_Falls
	scene "scenes/act4/vault_falls" speakonce
}

criterion "Speech_AlyxRussell_Water_Tower_Vault_Falls_No_Look" "speech" "vault_falls_no_look" "required"
response PlayerVO_A4_C17_Water_Tower_Vault_Falls_No_Look
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Water_Tower_Vault_Falls_No_Look
	scene "scenes/act4/vault_falls_no_look" speakonce
}

criterion "Speech_Alyx_Immediate_Response_To_Overwatch_Alert" "speech" "alyx_immediate_response_to_overwatch_alert" "required"
response PlayerVO_A4_Alyx_Immediate_Response_To_Overwatch_Alert
{
    criteria Concept_PlayerTalk Speech_Alyx_Immediate_Response_To_Overwatch_Alert
    scene "scenes/act4/control_room/alyx_immediate_response_to_overwatch_alert" interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_Overload_React1" "speech" "alyx_overload_react1" "required"
response PlayerVO_A4_Alyx_Overload_React1
{
    criteria Concept_PlayerTalk Speech_Alyx_Overload_React1
    scene "scenes/act4/control_room/alyx_overload_react1" interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_Overload_React2" "speech" "alyx_overload_react2" "required"
response PlayerVO_A4_Alyx_Overload_React2
{
    criteria Concept_PlayerTalk Speech_Alyx_Overload_React2
    scene "scenes/act4/control_room/alyx_overload_react2" interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_React_Something_Bad" "speech" "alyx_react_something_bad" "required"
response PlayerVO_A4_Alyx_React_Something_Bad
{
    criteria Concept_PlayerTalk Speech_Alyx_React_Something_Bad
    scene "scenes/act4/control_room/alyx_react_something_bad" interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_When_Bridge_Stops" "speech" "alyx_when_bridge_stops" "required"
response PlayerVO_A4_Alyx_When_Bridge_Stops
{
    criteria Concept_PlayerTalk Speech_Alyx_When_Bridge_Stops
    scene "scenes/act4/control_room/alyx_when_bridge_stops" interrupt_and_cancel speakonce
}

criterion "Speech_Alyx_When_Bridge_Stops_Expected_Alt" "speech" "alyx_when_bridge_stops_expected_alt" "required"
response PlayerVO_A4_Alyx_When_Bridge_Stops_Expected_Alt
{
    criteria Concept_PlayerTalk Speech_Alyx_When_Bridge_Stops_Expected_Alt
    scene "scenes/act4/control_room/alyx_when_bridge_stops_expected_alt" interrupt_and_cancel speakonce
}

criterion "Speech_Approach_Controls_Eli_Alyx_Convo" "speech" "approach_controls_eli_alyx_convo" "required"
response PlayerVO_A4_Approach_Controls_Eli_Alyx_Convo
{
    criteria Concept_PlayerTalk Speech_Approach_Controls_Eli_Alyx_Convo
    scene "scenes/act4/control_room/approach_controls_eli_alyx_convo" cancel_existing speakonce
}

criterion "Speech_Reaction_To_All_Levers_Appearing" "speech" "reaction_to_all_levers_appearing" "required"
response PlayerVO_A4_Reaction_To_All_Levers_Appearing
{
    criteria Concept_PlayerTalk Speech_Reaction_To_All_Levers_Appearing
    scene "scenes/act4/control_room/reaction_to_all_levers_appearing" interrupt_and_cancel speakonce
}

criterion "Speech_Reaction_To_All_Levers_Appearing_Dock_Vault_Alt" "speech" "reaction_to_all_levers_appearing_dock_vault_alt" "required"
response PlayerVO_A4_Reaction_To_All_Levers_Appearing_Dock_Vault_Alt
{
    criteria Concept_PlayerTalk Speech_Reaction_To_All_Levers_Appearing_Dock_Vault_Alt
    scene "scenes/act4/control_room/reaction_to_all_levers_appearing_dock_vault_alt" interrupt_and_cancel speakonce
}

criterion "Speech_Russell_Lever_Nag1" "speech" "russell_lever_nag1" "required"
response PlayerVO_A4_Russell_Lever_Nag1
{
    criteria Concept_PlayerTalk Speech_Russell_Lever_Nag1
    scene "scenes/act4/control_room/russell_lever_nag1" interrupt_and_cancel speakonce
}

criterion "Speech_Russell_Lever_Nag2" "speech" "russell_lever_nag2" "required"
response PlayerVO_A4_Russell_Lever_Nag2
{
    criteria Concept_PlayerTalk Speech_Russell_Lever_Nag2
    scene "scenes/act4/control_room/russell_lever_nag2" interrupt_and_cancel speakonce
}

criterion "Speech_Russell_Lever_Nag3" "speech" "russell_lever_nag3" "required"
response PlayerVO_A4_Russell_Lever_Nag3
{
    criteria Concept_PlayerTalk Speech_Russell_Lever_Nag3
    scene "scenes/act4/control_room/russell_lever_nag3" interrupt_and_cancel speakonce
}

criterion "Speech_Russell_Overload_React1" "speech" "russell_overload_react1" "required"
response PlayerVO_A4_Russell_Overload_React1
{
    criteria Concept_PlayerTalk Speech_Russell_Overload_React1
    scene "scenes/act4/control_room/russell_overload_react1" interrupt_and_cancel speakonce
}

criterion "Speech_Bad_Lever_Alyx_Maybe" "speech" "bad_lever_alyx_maybe" "required"
response PlayerVO_A4_Bad_Lever_Alyx_Maybe
{
    criteria Concept_PlayerTalk Speech_Bad_Lever_Alyx_Maybe
    scene "scenes/act4/control_room/lever_pull_reactions/bad_lever_alyx_maybe" interrupt_and_cancel speakonce
}

criterion "Speech_Bad_Lever_Alyx_Ooh_Ok_Definitely_Not" "speech" "bad_lever_alyx_ooh_ok_definitely_not" "required"
response PlayerVO_A4_Bad_Lever_Alyx_Ooh_Ok_Definitely_Not
{
    criteria Concept_PlayerTalk Speech_Bad_Lever_Alyx_Ooh_Ok_Definitely_Not
    scene "scenes/act4/control_room/lever_pull_reactions/bad_lever_alyx_ooh_ok_definitely_not" interrupt_and_cancel speakonce
}

criterion "Speech_Bad_Lever_Alyx_That_Doesnt_Look_Good" "speech" "bad_lever_alyx_that_doesnt_look_good" "required"
response PlayerVO_A4_Bad_Lever_Alyx_That_Doesnt_Look_Good
{
    criteria Concept_PlayerTalk Speech_Bad_Lever_Alyx_That_Doesnt_Look_Good
    scene "scenes/act4/control_room/lever_pull_reactions/bad_lever_alyx_that_doesnt_look_good" interrupt_and_cancel speakonce
}

criterion "Speech_Bad_Lever_Alyx_Thats_Not_It" "speech" "bad_lever_alyx_thats_not_it" "required"
response PlayerVO_A4_Bad_Lever_Alyx_Thats_Not_It
{
    criteria Concept_PlayerTalk Speech_Bad_Lever_Alyx_Thats_Not_It
    scene "scenes/act4/control_room/lever_pull_reactions/bad_lever_alyx_thats_not_it" interrupt_and_cancel speakonce
}

criterion "Speech_Bad_Lever_Russell_Alyx_Why_Isnt_Bridge_Moving" "speech" "bad_lever_russell_alyx_why_isnt_bridge_moving" "required"
response PlayerVO_A4_Bad_Lever_Russell_Alyx_Why_Isnt_Bridge_Moving
{
    criteria Concept_PlayerTalk Speech_Bad_Lever_Russell_Alyx_Why_Isnt_Bridge_Moving
    scene "scenes/act4/control_room/lever_pull_reactions/bad_lever_russell_alyx_why_isnt_bridge_moving" interrupt_and_cancel speakonce
}

criterion "Speech_Bad_Lever_Russell_Callout_To_Alyx" "speech" "bad_lever_russell_callout_to_alyx" "required"
response PlayerVO_A4_Bad_Lever_Russell_Callout_To_Alyx
{
    criteria Concept_PlayerTalk Speech_Bad_Lever_Russell_Callout_To_Alyx
    scene "scenes/act4/control_room/lever_pull_reactions/bad_lever_russell_callout_to_alyx" interrupt_and_cancel speakonce
}

criterion "Speech_Bad_Lever_Russell_No_Not_That_One" "speech" "bad_lever_russell_no_not_that_one" "required"
response PlayerVO_A4_Bad_Lever_Russell_No_Not_That_One
{
    criteria Concept_PlayerTalk Speech_Bad_Lever_Russell_No_Not_That_One
    scene "scenes/act4/control_room/lever_pull_reactions/bad_lever_russell_no_not_that_one" interrupt_and_cancel speakonce
}

criterion "Speech_Bad_Lever_Russell_No_Thats_Not_The_Bridge" "speech" "bad_lever_russell_no_thats_not_the_bridge" "required"
response PlayerVO_A4_Bad_Lever_Russell_No_Thats_Not_The_Bridge
{
    criteria Concept_PlayerTalk Speech_Bad_Lever_Russell_No_Thats_Not_The_Bridge
    scene "scenes/act4/control_room/lever_pull_reactions/bad_lever_russell_no_thats_not_the_bridge" interrupt_and_cancel speakonce
}

criterion "Speech_Bad_Lever_Russell_Nope" "speech" "bad_lever_russell_nope" "required"
response PlayerVO_A4_Bad_Lever_Russell_Nope
{
    criteria Concept_PlayerTalk Speech_Bad_Lever_Russell_Nope
    scene "scenes/act4/control_room/lever_pull_reactions/bad_lever_russell_nope" interrupt_and_cancel speakonce
}

criterion "Speech_Bad_Lever_Russell_Oh_God" "speech" "bad_lever_russell_oh_god" "required"
response PlayerVO_A4_Bad_Lever_Russell_Oh_God
{
    criteria Concept_PlayerTalk Speech_Bad_Lever_Russell_Oh_God
    scene "scenes/act4/control_room/lever_pull_reactions/bad_lever_russell_oh_god" interrupt_and_cancel speakonce
}

criterion "Speech_Bad_Lever_Russell_Worse_Nope" "speech" "bad_lever_russell_worse_nope" "required"
response PlayerVO_A4_Bad_Lever_Russell_Worse_Nope
{
    criteria Concept_PlayerTalk Speech_Bad_Lever_Russell_Worse_Nope
    scene "scenes/act4/control_room/lever_pull_reactions/bad_lever_russell_worse_nope" interrupt_and_cancel speakonce
}

criterion "Speech_Entering_Tower_Confirmation" "speech" "alyx_entering_tower_confirmation" "required"
response PlayerVO_A4_Entering_Tower_Confirmation
{
    criteria Concept_PlayerTalk Speech_Entering_Tower_Confirmation
    scene "scenes/act4/water_tower/alyx_entering_tower_confirmation" interrupt_and_cancel speakonce
}

criterion "Speech_Water_Tower_Post_Combat" "speech" "water_tower_post_combat" "required"
response PlayerVO_A4_Water_Tower_Post_Combat
{
    criteria Concept_PlayerTalk Speech_Water_Tower_Post_Combat
    scene "scenes/act4/water_tower/watertower_post_combat_getting_close.vcd " interrupt_and_cancel speakonce
}

criterion "Speech_Water_Tower_Last_Upgrade_Station" "speech" "last_upgrade_station" "required"
response PlayerVO_A4_Water_Tower_Last_Upgrade_Station
{
	criteria Concept_PlayerTalk Speech_Water_Tower_Last_Upgrade_Station
	scene "scenes/act4/water_tower/convo_see_last_upgrade_station.vcd" speakonce
}


//==================================================
// russell pull the lever nags
//==================================================
criterion "RussellLeverNag" "speech" "russell_lever_nag" "required"

response PlayerVO_RussellLeverNag
{
	criteria Concept_PlayerTalk RussellLeverNag
	scene "scenes/act4/control_room/russell_lever_nag1"   
	scene "scenes/act4/control_room/russell_lever_nag2"   
	scene "scenes/act4/control_room/russell_lever_nag3"   
}



//========================================================================================================
// a4_parking_garage
//========================================================================================================
criterion "Speech_AlyxRussell_Parking_AfterExplosion" "speech" "after_explosion" "required"
response PlayerVO_A4_Parking_AfterExplosion
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Parking_AfterExplosion
	scene "scenes/act4/parking_garage/after_explosion" speakonce
}

criterion "Speech_AlyxRussell_Parking_Vault_Is_Down" "speech" "vault_is_down" "required"
response PlayerVO_A4_Parking_Vault_Is_Down
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Parking_Vault_Is_Down
	scene "scenes/act4/vault_is_down" speakonce
}

criterion "Speech_AlyxRussell_Parking_Arrive_At_Gun" "speech" "arrive_at_gun" "required"
response PlayerVO_A4_Parking_Arrive_At_Gun
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Parking_Arrive_At_Gun
	scene "scenes/act4/arrive_at_gun" speakonce
}

criterion "Speech_AlyxRussell_Parking_Arrive_At_Gun_Shooting" "speech" "arrive_at_gun_shooting" "required"
response PlayerVO_A4_Parking_Arrive_At_Gun_Shooting
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Parking_Arrive_At_Gun_Shooting
	scene "scenes/act4/arrive_at_gun_shooting" speakonce
}

criterion "Speech_AlyxRussell_Parking_Deactivated_Strider" "speech" "deactivated_strider" "required"
response PlayerVO_A4_Parking_Deactivated_Strider
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Parking_Deactivated_Strider
	scene "scenes/act4/deactivated_strider" speakonce
}

criterion "ChanceToPlayGunFirstHit"  "randomnum" "<50" "required"
criterion "Speech_AlyxRussell_Parking_Gun_First_Hit" "speech" "gun_first_hit" "required"
response PlayerVO_A4_Parking_Gun_First_Hit
{
	criteria Concept_PlayerTalk ChanceToPlayGunFirstHit Speech_AlyxRussell_Parking_Gun_First_Hit
	scene "scenes/act4/gun_first_hit" speakonce
}

criterion "Speech_AlyxRussell_Parking_See_Mounted_Gun" "speech" "see_mounted_gun" "required"
response PlayerVO_A4_Parking_See_Mounted_Gun
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Parking_See_Mounted_Gun
	scene "scenes/act4/see_mounted_gun" speakonce
}

criterion "Speech_AlyxRussell_Parking_Strider_Alive" "speech" "strider_is_alive" "required"
response PlayerVO_A4_Parking_Strider_Alive
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Parking_Strider_Alive
	scene "scenes/act4/strider_is_alive" speakonce
}

criterion "Speech_AlyxRussell_Parking_Strider_Owns_Itself" "speech" "strider_owns_itself" "required"
response PlayerVO_A4_Parking_Strider_Owns_Itself
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Parking_Strider_Owns_Itself
	scene "scenes/act4/strider_owns_itself" speakonce
}


criterion "Speech_AlyxRussell_Parking_TractorBeam" "speech" "see_tractor_beam" "required"
response PlayerVO_A4_Parking_Russell_TractorBeam
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Parking_TractorBeam
	scene "scenes/act4/see_tractor_beam" speakonce
}

criterion "Speech_AlyxRussell_Parking_Russell_Goodbye" "speech" "russell_goodbye" "required"
response PlayerVO_A4_Parking_Russell_Goodbye
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Parking_Russell_Goodbye
	scene "scenes/act5/goodbye_russell" cancel_existing speakonce
}

criterion "Speech_AlyxRussell_Parking_Eli_Warning" "speech" "eli_warning" "required"
response PlayerVO_A4_Parking_Eli_Warning
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Parking_Eli_Warning
	scene "scenes/act5/eli_warning" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_StriderDies" "speech" "strider_dies" "required"
response PlayerVO_A4_Parking_StriderDies
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_StriderDies
	scene "scenes/act4/strider_dies_alyx_russell_reaction" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_Parking_Strider_ShotAt" "speech" "strider_shot_at" "required"
response PlayerVO_A4_Parking_Strider_ShotAt
{
	criteria Concept_PlayerTalk Speech_AlyxRussell_Parking_Strider_ShotAt
	scene "scenes/act4/parking_garage/strider_shot_by_gun" interrupt_and_cancel speakonce
}

//========================================================================================================
// Alyx & Russell conversations
//========================================================================================================
criterion "Speech_AlyxRussell_FirstMultiTool" "speech" "first_multitool_use" "required"

response PlayerVO_AlyxRussell_FirstMultiTool
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_FirstMultiTool
	scene "scenes/act2/quarantine_entrance/alyx_russell_first_multitool" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_FirstMultiTool_2" "speech" "first_multitool_2" "required"

response PlayerVO_AlyxRussell_FirstMultiTool_2
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_FirstMultiTool_2
	scene "scenes/act2/quarantine_entrance/alyx_russell_first_multitool_2" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_FirstMultiTool_Solve" "speech" "first_multitool_solve" "required"

response PlayerVO_AlyxRussell_FirstMultiTool_Solve
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_FirstMultiTool_Solve
	scene "scenes/act2/quarantine_entrance/alyx_russell_first_multitool_solve" speakonce
}


// health station
criterion "Speech_AlyxRussell_FirstHealthStation" "speech" "first_healthstation" "required"
criterion "HealthStationOpened" "health_station_open" "1" "required"
criterion "HealthStationClosed" "health_station_open" "!=1" "required"
		
response PlayerVO_AlyxRussell_FirstHealthStation_Rule
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_FirstHealthStation
	scene "scenes/alyx_russell_conversations/first_health_station" speakonce then self TLK_PLAYER_MAP_TALK health_station_2:1 1
	applycontext "talked_about_health_station:1"
}

criterion "TalkedAboutHealthStation" "talked_about_health_station" "1" "required"

criterion "HealthStationNext" "health_station_2" "1" "required"

response PlayerVO_AlyxRussell_FirstHealthStation_Use
{
   criteria	Concept_PlayerTalk  HealthStationNext  
   response PlayerVO_AlyxRussell_FirstHealthStation_Open
	{
		criteria	HealthStationOpened
		scene "scenes/alyx_russell_conversations/first_health_station_open" interrupt_and_cancel speakonce
	}
   response PlayerVO_AlyxRussell_FirstHealthStation_Closed
	{
		criterion	HealthStationClosed
		scene "scenes/alyx_russell_conversations/first_health_station_closed" interrupt_and_cancel speakonce
	}
}

criterion "Speech_AlyxRussell_FirstHealthStation_Healing" "speech" "first_healthstation_use" "required"
response PlayerVO_AlyxRussell_FirstHealthStation_Healing
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_FirstHealthStation_Healing TalkedAboutHealthStation
	scene "scenes/alyx_russell_conversations/first_health_station_use" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_FirstHealthStation_Done" "speech" "first_healthstation_done" "required"
response PlayerVO_AlyxRussell_FirstHealthStation_Done
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_FirstHealthStation_Done	TalkedAboutHealthStation
	scene "scenes/alyx_russell_conversations/first_health_station_done" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_PostMultiTool" "speech" "post_multitool_use" "required"
response PlayerVO_AlyxRussell_PostMultiTool
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_PostMultiTool
	scene "scenes/act2/quarantine_entrance/alyx_russell_post_multitool" interrupt_and_cancel speakonce
}


// no longer using this
// use map triggers to apply/remove this context to limit areas where the reponse happens
//criterion "CanTalkAboutGloves" "can_talk_about_gloves" "1" "required"
//response PlayerVO_AlyxRussell_GravityGloves
//{
//	criteria		IsPlayer CanTalkAboutGloves Concept_PlayerUsedGravityGloves 
//	scene "scenes/alyx_russell_conversations/gravity_gloves" speakonce 
//}

// use map triggers to apply/remove this context to limit areas where the reponse happens
criterion "CanTalkAboutGloveCounters" "can_talk_about_glove_counters" "1" "required"
response PlayerVO_AlyxRussell_GravityGloveCounters
{
	criteria		IsPlayer CanTalkAboutGloveCounters Concept_PlayerUsedGravityGloves 	NotInCombat
	scene "scenes/alyx_russell_conversations/alyx_russell_glove_counters"
	norepeat
}


//ammo hint
criterion "Speech_AlyxRussell_AmmoHint" "speech" "alyx_russell_find_ammo" "required"

response PlayerVO_AlyxRussell_AmmoHint
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_AmmoHint
	scene "scenes/act2/quarantine_entrance/alyx_russell_find_ammo" interrupt_and_cancel speakonce
}

criterion "Speech_AlyxRussell_QZoneIntro" "speech" "alyx_russell_qzone_intro" "required"

response PlayerVO_AlyxRussell_QZoneIntro
{
	criteria		Concept_PlayerTalk  Speech_AlyxRussell_QZoneIntro
	scene "scenes/act2/quarantine_entrance/alyx_russell_qzone_intro" interrupt_and_cancel  speakonce predelay 1
}

//=========================================================================================
// floppy disk
//=========================================================================================

criterion "IsDiscovery_Floppy" "modelname" "models/props_discoverable/floppy_disk_download_internet.vmdl" required

response PlayerVO_AlyxRussell_DownLoadInternet
{
	scene "scenes/alyx_russell_conversations/russell_downloaded_the_internet" interrupt_and_cancel speakonce
}

rule PlayerVO_AlyxRussell_DownLoadInternet_rule
{
	criteria		IsPlayer Concept_PlayerDiscovery IsDiscovery_Floppy
	response		PlayerVO_AlyxRussell_DownLoadInternet
	applycontext	"down_load_internet:1"
}

										 

//==================================
// health pen reactions
//==================================
criterion "UsedHealthPen" "used_health_pen" "1" "required"
criterion "NotUsedHealthPen" "used_health_pen" "!=1" "required"
criterion "Step1NotPlayed" "step_1_played" "!=1" "required"

criterion "HealthPen_Step2" "health_pen_step" "2" "required"
criterion "HealthPen_Step3" "health_pen_step" "3" "required"
criterion "HealthPen_Step4" "health_pen_step" "4" "required"

// make step 1 map dependent
// STEP 1: Starts here.
response PlayerVO_HealthPen_1_Pistol
{
	criteria	IsPlayer Concept_PlayerPickup PlayerPickupFromWorld  PlayerPickedUpHealthPen InMap_a2_pistol Step1NotPlayed	
	scene	"scenes/responses/alyx_first_healthpen_pickup_a" then self TLK_PLAYER_MAP_TALK health_pen_step:2 1	
	applycontext "step_1_played:1"
}
	
response PlayerVO_HealthPen_1_Hideout
{
	criteria	IsPlayer Concept_PlayerPickup PlayerPickupFromWorld  PlayerPickedUpHealthPen InMap_a2_hideout Step1NotPlayed	
	scene	"scenes/responses/alyx_first_healthpen_pickup_a" then self TLK_PLAYER_MAP_TALK health_pen_step:2 1	
	applycontext "step_1_played:1"
}	

response PlayerVO_HealthPen_1_Tunnels
{
	criteria	IsPlayer Concept_PlayerPickup PlayerPickupFromWorld  PlayerPickedUpHealthPen InMap_a2_headcrabs_tunnel Step1NotPlayed
	scene	"scenes/responses/alyx_first_healthpen_pickup_a" then self TLK_PLAYER_MAP_TALK health_pen_step:2 1	
	applycontext "step_1_played:1"
}

response PlayerVO_HealthPen_1_Drainage
{
	criteria	IsPlayer Concept_PlayerPickup PlayerPickupFromWorld  PlayerPickedUpHealthPen InMap_a2_drainage Step1NotPlayed	
	scene	"scenes/responses/alyx_first_healthpen_pickup_a" then self TLK_PLAYER_MAP_TALK health_pen_step:2 1	
	applycontext "step_1_played:1"

}

response PlayerVO_HealthPen_2
{
	criteria		IsPlayer Concept_PlayerTalk HealthPen_Step2 NotUsedHealthPen	
	scene			"scenes/responses/alyx_first_healthpen_pickup_b" then self TLK_PLAYER_MAP_TALK health_pen_step:3 1
}

// if player used pen during conversation
response PlayerVO_HealthPenQuickUse
{
	criteria		IsPlayer Concept_PlayerTalk HealthPen_Step2 UsedHealthPen	
	scene			"scenes/responses/alyx_healthpen_quick_use" interrupt_and_cancel
}

response PlayerVO_HealthPen_3
{
	criteria		IsPlayer Concept_PlayerTalk HealthPen_Step3 	
	scene			"scenes/responses/alyx_first_healthpen_pickup_c" then self TLK_PLAYER_MAP_TALK health_pen_step:4 1
}

rule PlayerVO_HealthPen_3_QuickUse_Rule
{
	criteria		IsPlayer Concept_PlayerTalk HealthPen_Step3 UsedHealthPen	
	response		PlayerVO_HealthPenQuickUse
}


response PlayerVO_HealthPen_4
{
	criteria		IsPlayer Concept_PlayerTalk HealthPen_Step4 	
	scene			"scenes/responses/alyx_first_healthpen_pickup_d" 
}

rule PlayerVO_HealthPen_4_QuickUse_Rule
{
	criteria		IsPlayer Concept_PlayerTalk HealthPen_Step4 UsedHealthPen	
	response		PlayerVO_HealthPenQuickUse
}

//========================================================================================================
// Resin Reactions
//========================================================================================================
criterion "HasNotPickedUpResin" "resin_picked_up" "!=1" "required"

// First pickup, doesn't matter what type
response PlayerVO_FirstResinPickup_Response
{
	criteria		IsPlayer Concept_PlayerPickup PlayerCurrency_Pickup_Small PlayerPickupFromWorld HasNotPickedUpResin
	response ResinPickupQZ
	{
		criteria InMap_a2_quarantine_entrance
		scene "scenes/act2/quarantine_entrance/alyx_russell_first_resin" interrupt_and_cancel
		applycontext "resin_picked_up:1"
	}
	response ResinPickupPistol
	{
		criteria InMap_a2_pistol
		scene "scenes/act2/quarantine_entrance/alyx_russell_first_resin" interrupt_and_cancel
		applycontext "resin_picked_up:1"
	}
}														 


//===========================================
// start hacking a trip mine 
//===========================================
criterion "Speech_StartTripmineHack" "speech" "start_tripmine_hack" "required"
response PlayerVO_StartTrimineHack
{
	criteria Concept_PlayerTalk Speech_StartTripmineHack 
	scene "scenes/responses/russell_tripmine_hack.vcd" speakonce
}


//========================================================================================================
// Upgrade Stations
//========================================================================================================
criterion "Speech_AlyxRussell_SeeUpgradeStation" "speech" "see_upgrade_station" "required"
response PlayerVO_a2_pistol_SeeUpgradeStation
{
	scene "scenes/act2/pistol/alyx_russell_first_fabricator" speakonce
}

rule PlayerVO_a2_pistol_SeeUpgradeStation
{
	criteria		Concept_PlayerTalk Speech_AlyxRussell_SeeUpgradeStation NotInCombat
	response		PlayerVO_a2_pistol_SeeUpgradeStation
	applycontext	"found_upgrade_station:1"
}	

criterion "Speech_AlyxRussell_CantAffordUpgrades" "speech" "cant_afford_upgrades" "required"
criterion "PlayerHasLowResin"			"current_crafting_currency" "<10" required
response PlayerVO_CantAffordUpgrades
{
	criteria		Concept_PlayerTalk Speech_AlyxRussell_CantAffordUpgrades PlayerHasLowResin NotInCombat

	scene "scenes/act2/pistol/player_doesnt_have_enough_resin_first_upgrade.vcd" predelay 3 speakonce
	applycontext	"found_upgrade_station:1"
}

//========================================================================================================
// Upgrade weapons
//========================================================================================================
response PlayerVO_PistolUpgrade
{
	criteria	IsPlayer  WeaponPistol Concept_PlayerUpgradePickup
	scene "scenes/responses/upgrade_pistol_1" 
	scene "scenes/responses/upgrade_pistol_2" 
	scene "scenes/responses/upgrade_pistol_3" 
	scene "scenes/responses/upgrade_pistol_4" 
	sequential
	norepeat
}


response PlayerVO_ShotgunUpgrade
{
	criteria	IsPlayer  WeaponShotgun Concept_PlayerUpgradePickup
	scene "scenes/responses/upgrade_shotgun_1" 
	scene "scenes/responses/upgrade_shotgun_2" 
	scene "scenes/responses/upgrade_shotgun_3" 
	scene "scenes/responses/upgrade_shotgun_4" 
	sequential
	norepeat
}

response PlayerVO_RapidFireUpgrade
{
	criteria	IsPlayer  WeaponRapidFire Concept_PlayerUpgradePickup
	scene "scenes/responses/upgrade_rifle_1" 
	scene "scenes/responses/upgrade_rifle_2" 
	scene "scenes/responses/upgrade_rifle_3" 
	sequential
	norepeat
}


//========================================================================================================
// Headcrab on alyx's head
//========================================================================================================

criterion "Speech_HeadCrabStruggle" "speech" "headcrab_struggle" "required"
criterion "Speech_HeadCrabPostStruggle" "speech" "post_headcrab_struggle" "required"

criterion "HeadCrabStruggleLong" "headcrab_struggle_long" "!=1" "required"
criterion "HeadCrabStruggleShort" "headcrab_struggle_long" "1" "required"

response PlayerVO_HeadCrabOnHead_Struggle
{
	criteria		Concept_PlayerTalk 	Speech_HeadCrabStruggle
	response PlayerVO_HeadCrabOnHead_Struggle_Long
	{
		criteria	HeadCrabStruggleLong
		scene "scenes/responses/headcrab_struggle_long" cancel_existing
		applycontext "headcrab_struggle_long:1"
	}
	response PlayerVO_HeadCrabOnHead_Struggle_Short
	{																									  
		criteria	HeadCrabStruggleShort
		speak "vo.01_00001" cancel_existing
		speak "vo.01_00002" cancel_existing
		speak "vo.01_00004" cancel_existing
		speak "vo.01_00010" cancel_existing
		speak "vo.01_00012" cancel_existing
	}
}

criterion "HeadCrabPostStruggleLong" "headcrab_post_struggle_long" "!=1" "required"
criterion "HeadCrabPostStruggleShort" "headcrab_post_struggle_long" "1" "required"

response PlayerVO_HeadCrabOnHead_PostStruggle
{
	criteria		Concept_PlayerTalk 	Speech_HeadCrabPostStruggle
	response PlayerVO_HeadCrabOnHead_Post_Struggle_Long
	{
		criteria	HeadCrabPostStruggleLong
		scene "scenes/responses/headcrab_post_struggle_long" interrupt_and_cancel
		applycontext "headcrab_post_struggle_long:1"
	}
	response PlayerVO_HeadCrabOnHead_Post_Struggle_Short
	{
		criteria	HeadCrabPostStruggleShort
		speak "vo.01_99956" interrupt_and_cancel 
		speak "vo.01_99957" interrupt_and_cancel 
		speak "vo.01_99966" interrupt_and_cancel 
		speak "vo.01_99970" interrupt_and_cancel 
		speak "vo.01_99975" interrupt_and_cancel 
		speak "vo.01_99976" interrupt_and_cancel 
	}
}


									
//========================================================================================================
// Inventory speech
//========================================================================================================

response PlayerVO_Pistol_ClipAmmoLow_Response
{
	criteria		IsPlayer Concept_PlayerPullFromBag PlayerPickupFromBag IsPlayerHoldingPistol 

	response
	{
		criteria NotInCombat

		response
		{
			criteria PlayerAmmoThreeLeft

			speak "vo.01_70649" noscene weight 48
			speak "vo.01_70653" noscene weight 36
			speak "vo.01_70654" noscene weight 36
			speak "vo.01_70655" noscene weight 36
			speak "vo.01_70657" noscene weight 36
			speak "vo.01_71065" noscene weight 36
			speak "vo.01_71067" noscene weight 36
			speak "vo.01_71069" noscene weight 36
			speak "vo.01_20209" noscene weight 36
			speak "vo.01_20199" noscene weight 36
			speak "vo.01_71055" noscene weight 12
			speak "vo.01_71063" noscene weight 12
			speak "vo.01_71071" noscene weight 12
			speak "vo.01_20207" noscene weight 4
		}

		response
		{
			criteria PlayerAmmoLast

			speak "vo.01_20225" noscene weight 48
			speak "vo.01_70672" noscene weight 48  
			speak "vo.01_70664" noscene weight 48
			speak "vo.01_70835" noscene weight 48
			speak "vo.01_70838" noscene weight 48  
			speak "vo.01_20229" noscene weight 36
			speak "vo.01_70666" noscene weight 36
			speak "vo.01_70671" noscene weight 36
			speak "vo.01_70677" noscene weight 36     
			speak "vo.01_70825" noscene weight 36
			speak "vo.01_70829" noscene weight 36
			speak "vo.01_70834" noscene weight 36
			speak "vo.01_70665" noscene weight 12
			speak "vo.01_70669" noscene weight 12               
		}

		response
		{
			criteria PlayerAmmoEmpty

			speak "vo.01_20259" noscene weight 48
			speak "vo.01_20269" noscene weight 48
			speak "vo.01_20249" noscene weight 36
			speak "vo.01_20255" noscene weight 36
			speak "vo.01_20263" noscene weight 36
			speak "vo.01_20267" noscene weight 36
			speak "vo.01_70840" noscene weight 36
			speak "vo.01_70846" noscene weight 36
			speak "vo.01_70849" noscene weight 36
			speak "vo.01_70854" noscene weight 36
			speak "vo.01_20257" noscene weight 12
			speak "vo.01_20261" noscene weight 12
			speak "vo.01_70858" noscene weight 12
		}
	}

	response
	{
		criteria InCombat

		response
		{
			criteria PlayerAmmoThreeLeft

			speak "vo.01_20181" noscene weight 48
			speak "vo.01_20183" noscene weight 48
			speak "vo.01_20185" noscene weight 48
			speak "vo.01_20179" noscene weight 36
			speak "vo.01_20187" noscene weight 36
			speak "vo.01_20189" noscene weight 36
			speak "vo.01_20191" noscene weight 36
			speak "vo.01_20193" noscene weight 36
			speak "vo.01_20195" noscene weight 36
			speak "vo.01_20197" noscene weight 36
		}

		response
		{
			criteria PlayerAmmoLast

			speak "vo.01_70659" noscene weight 48
			speak "vo.01_20223" noscene weight 36
			speak "vo.01_20227" noscene weight 36
			speak "vo.01_70660" noscene weight 36
			speak "vo.01_70661" noscene weight 36
			speak "vo.01_70819" noscene weight 36 
			speak "vo.01_70820" noscene weight 36
			speak "vo.01_70823" noscene weight 36
			speak "vo.01_70824" noscene weight 36
			speak "vo.01_70826" noscene weight 36
			speak "vo.01_70827" noscene weight 36
			speak "vo.01_70832" noscene weight 36 
			speak "vo.01_70662" noscene weight 12
			speak "vo.01_70663" noscene weight 12   
		}

		response
		{
			criteria PlayerAmmoEmpty

			speak "vo.01_20239" noscene weight 48
			speak "vo.01_20241" noscene weight 48
			speak "vo.01_20233" noscene weight 36
			speak "vo.01_20235" noscene weight 36
			speak "vo.01_20245" noscene weight 36
			speak "vo.01_20249" noscene weight 36                    
			speak "vo.01_20251" noscene weight 36
			speak "vo.01_20231" noscene weight 12
			speak "vo.01_20247" noscene weight 12
		}
	}
}

response PlayerVO_Shotgun_ClipAmmoLow_Response
{
	criteria		IsPlayer Concept_PlayerPullFromBag PlayerPickupFromBag IsPlayerHoldingShotgun

	response
	{
		criteria NotInCombat

		response
		{
			criteria PlayerAmmoFourLeft

			speak "vo.01_90007" noscene
			speak "vo.01_90008" noscene
			speak "vo.01_90009" noscene
			speak "vo.01_90010" noscene
			speak "vo.01_90011" noscene
			speak "vo.01_90012" noscene
			speak "vo.01_90013" noscene
			speak "vo.01_90014" noscene
			speak "vo.01_90015" noscene
		}

		response
		{
			criteria PlayerAmmoThreeLeft

			speak "vo.01_70684" noscene weight 48
			speak "vo.01_70694" noscene weight 48
			speak "vo.01_70695" noscene weight 48
			speak "vo.01_70682" noscene weight 36
			speak "vo.01_70687" noscene weight 36
			speak "vo.01_70689" noscene weight 36
			speak "vo.01_70697" noscene weight 36
			speak "vo.01_70690" noscene weight 12
			speak "vo.01_70692" noscene weight 12
			speak "vo.01_70696" noscene weight 12
			speak "vo.01_70698" noscene weight 12
		}

		response
		{
			criteria PlayerAmmoTwoLeft

			speak "vo.01_90025" noscene
			speak "vo.01_90026" noscene
			speak "vo.01_90027" noscene
			speak "vo.01_90028" noscene
			speak "vo.01_90029" noscene
			speak "vo.01_90030" noscene
			speak "vo.01_90031" noscene
			speak "vo.01_90032" noscene
			speak "vo.01_90033" noscene
			speak "vo.01_99950" noscene
			speak "vo.01_99951" noscene
		}

		response
		{
			criteria PlayerAmmoLast

			speak "vo.01_70714" noscene weight 48
			speak "vo.01_70703" noscene weight 36
			speak "vo.01_70707" noscene weight 36
			speak "vo.01_70710" noscene weight 36
			speak "vo.01_70715" noscene weight 36
			speak "vo.01_70716" noscene weight 36
			speak "vo.01_70718" noscene weight 36
			speak "vo.01_70706" noscene weight 12
			speak "vo.01_70713" noscene weight 12
			speak "vo.01_70717" noscene weight 12
			speak "vo.01_70709" noscene weight 4
		}

		response
		{
			criteria PlayerAmmoEmpty

			speak "vo.01_70735" noscene weight 48
			speak "vo.01_70736" noscene weight 48
			speak "vo.01_70733" noscene weight 36
			speak "vo.01_70840" noscene weight 36
			speak "vo.01_70846" noscene weight 36
			speak "vo.01_70849" noscene weight 36
			speak "vo.01_70854" noscene weight 36
			speak "vo.01_70734" noscene weight 12
			speak "vo.01_70858" noscene weight 12
		}
	}

	response
	{
		criteria InCombat

		response
		{
			criteria PlayerAmmoFourLeft

			speak "vo.01_90016" noscene
			speak "vo.01_90017" noscene
			speak "vo.01_90018" noscene
			speak "vo.01_90019" noscene
			speak "vo.01_90020" noscene
			speak "vo.01_90021" noscene
			speak "vo.01_90022" noscene
			speak "vo.01_90023" noscene
			speak "vo.01_90024" noscene
		}

		response
		{
			criteria PlayerAmmoThreeLeft

			speak "vo.01_70679" noscene weight 48
			speak "vo.01_70680" noscene weight 36
			speak "vo.01_70799" noscene weight 36
			speak "vo.01_70801" noscene weight 36
			speak "vo.01_70802" noscene weight 36
			speak "vo.01_70803" noscene weight 36
			speak "vo.01_70806" noscene weight 36   
		}

		response
		{
			criteria PlayerAmmoTwoLeft

			speak "vo.01_90034" noscene
			speak "vo.01_90035" noscene
			speak "vo.01_90036" noscene
			speak "vo.01_90037" noscene
			speak "vo.01_90038" noscene
			speak "vo.01_90039" noscene
			speak "vo.01_90040" noscene
			speak "vo.01_90041" noscene
			speak "vo.01_90042" noscene
			speak "vo.01_99952" noscene
			speak "vo.01_99953" noscene
			speak "vo.01_99954" noscene
			speak "vo.01_99955" noscene
		}

		response
		{
			criteria PlayerAmmoLast

			speak "vo.01_70699" noscene weight 48
			speak "vo.01_70704" noscene weight 48 
			speak "vo.01_70700" noscene weight 36
			speak "vo.01_70701" noscene weight 36
			speak "vo.01_70819" noscene weight 36 
			speak "vo.01_70820" noscene weight 36
			speak "vo.01_70823" noscene weight 36
			speak "vo.01_70824" noscene weight 36
			speak "vo.01_70826" noscene weight 36
			speak "vo.01_70827" noscene weight 36
			speak "vo.01_70832" noscene weight 36 
		}

		response
		{
			criteria PlayerAmmoEmpty

			speak "vo.01_70719" noscene weight 48
			speak "vo.01_70724" noscene weight 48
			speak "vo.01_70721" noscene weight 36
			speak "vo.01_70725" noscene weight 36
			speak "vo.01_70726" noscene weight 36
			speak "vo.01_70844" noscene weight 36
			speak "vo.01_70848" noscene weight 36 
			speak "vo.01_70723" noscene weight 12
			speak "vo.01_70727" noscene weight 12
			speak "vo.01_70728" noscene weight 4
			speak "vo.01_70845" noscene weight 4
		}
	}
}

response PlayerVO_RapidFire_ClipAmmoLow_Response
{
	criteria		IsPlayer Concept_PlayerPullFromBag PlayerPickupFromBag IsPlayerHoldingRapidFire

	response
	{
		criteria NotInCombat

		response
		{
			criteria PlayerAmmoThreeLeft

			speak "vo.01_70750" noscene weight 48
			speak "vo.01_70752" noscene weight 36
			speak "vo.01_70757" noscene weight 36
			speak "vo.01_70810" noscene weight 36
			speak "vo.01_70816" noscene weight 36
			speak "vo.01_70817" noscene weight 36
			speak "vo.01_70749" noscene weight 12
			speak "vo.01_70755" noscene weight 12
			speak "vo.01_70758" noscene weight 12
			speak "vo.01_70811" noscene weight 12
			speak "vo.01_70812" noscene weight 12
		}

		response
		{
			criteria PlayerAmmoLast

			speak "vo.01_70775" noscene weight 48
			speak "vo.01_70778" noscene weight 48
			speak "vo.01_70835" noscene weight 48
			speak "vo.01_70838" noscene weight 48
			speak "vo.01_70769" noscene weight 36
			speak "vo.01_70774" noscene weight 36
			speak "vo.01_70776" noscene weight 36
			speak "vo.01_70822" noscene weight 36
			speak "vo.01_70825" noscene weight 36
			speak "vo.01_70829" noscene weight 36
			speak "vo.01_70834" noscene weight 36
			speak "vo.01_70772" noscene weight 12
			speak "vo.01_70777" noscene weight 12
		}

		response
		{
			criteria PlayerAmmoEmpty

			speak "vo.01_70796" noscene weight 48
			speak "vo.01_70791" noscene weight 36
			speak "vo.01_70795" noscene weight 36
			speak "vo.01_70840" noscene weight 36
			speak "vo.01_70846" noscene weight 36
			speak "vo.01_70849" noscene weight 36
			speak "vo.01_70854" noscene weight 36
			speak "vo.01_70858" noscene weight 12
			speak "vo.01_70789" noscene weight 4
		}
	}

	response
	{
		criteria InCombat

		response
		{
			criteria PlayerAmmoThreeLeft

			speak "vo.01_70739" noscene weight 48
			speak "vo.01_70743" noscene weight 48
			speak "vo.01_70746" noscene weight 36
			speak "vo.01_70748" noscene weight 36
			speak "vo.01_70799" noscene weight 36
			speak "vo.01_70801" noscene weight 36
			speak "vo.01_70802" noscene weight 36
			speak "vo.01_70803" noscene weight 36
			speak "vo.01_70806" noscene weight 36
			speak "vo.01_70740" noscene weight 12
			speak "vo.01_70744" noscene weight 12
			speak "vo.01_70745" noscene weight 12
		}

		response
		{
			criteria PlayerAmmoLast

			speak "vo.01_70759" noscene weight 48
			speak "vo.01_70763" noscene weight 48
			speak "vo.01_70761" noscene weight 36
			speak "vo.01_70762" noscene weight 36
			speak "vo.01_70819" noscene weight 36 
			speak "vo.01_70820" noscene weight 36
			speak "vo.01_70823" noscene weight 36
			speak "vo.01_70824" noscene weight 36
			speak "vo.01_70826" noscene weight 36
			speak "vo.01_70827" noscene weight 36
			speak "vo.01_70832" noscene weight 36
			speak "vo.01_70760" noscene weight 12
			speak "vo.01_70764" noscene weight 12
		}

		response
		{
			criteria PlayerAmmoEmpty

			speak "vo.01_70783" noscene weight 48
			speak "vo.01_70779" noscene weight 36
			speak "vo.01_70782" noscene weight 36
			speak "vo.01_70844" noscene weight 36
			speak "vo.01_70848" noscene weight 36
			speak "vo.01_70787" noscene weight 4
			speak "vo.01_70845" noscene weight 4
		}
	}
}


//==================================================
// Player Grabbed By Barnacle
//==================================================
criterion "PlayerGrabbedByBarnacle" "speech" "player_grabbed_by_barnacle" "required"

response PlayerVO_GrabbedByBarnacle
{
	criteria	Concept_PlayerTalk PlayerGrabbedByBarnacle
	scene "scenes/responses/alyx_grabbed_by_barnacle_1" cancel_existing 
	scene "scenes/responses/alyx_grabbed_by_barnacle_2" cancel_existing
	scene "scenes/responses/alyx_grabbed_by_barnacle_3"	cancel_existing 
	scene "scenes/responses/alyx_grabbed_by_barnacle_4" cancel_existing
	scene "scenes/responses/alyx_grabbed_by_barnacle_5"	cancel_existing 
	scene "scenes/responses/alyx_grabbed_by_barnacle_6"	cancel_existing 
}	

//==================================================
// Player Released From Barnacle
//==================================================
criterion "PlayerReleasedFromBarnacle" "speech" "player_released_by_barnacle" "required"

response PlayerVO_ReleasedByBarnacle
{
	criteria	Concept_PlayerTalk PlayerReleasedFromBarnacle
	scene "scenes/responses/alyx_released_by_barnacle_1"  cancel_existing 
	scene "scenes/responses/alyx_released_by_barnacle_2"  cancel_existing 
	scene "scenes/responses/alyx_released_by_barnacle_3"  cancel_existing 
	scene "scenes/responses/alyx_released_by_barnacle_4"  cancel_existing 
	scene "scenes/responses/alyx_released_by_barnacle_5"  cancel_existing 

}


//==================================================
// Alyx shotgun struggle
//==================================================
criterion "AlyxShotgunStruggle" "speech" "alyx_shotgun_struggle" "required"

response PlayerVO_ShotgunStruggle
{
	criteria Concept_PlayerTalk AlyxShotgunStruggle
	scene "scenes\act2\headcrabs_tunnel\grabbity_glove_shotgun_struggle1.vcd" respeakdelay 2.0
	scene "scenes\act2\headcrabs_tunnel\grabbity_glove_shotgun_struggle2.vcd" respeakdelay 2.0
	scene "scenes\act2\headcrabs_tunnel\grabbity_glove_shotgun_struggle3.vcd" respeakdelay 2.0
}


//==================================================
// Alyx fail
//==================================================
criterion "AlyxFail" "speech" "alyx_fail" "required"

response PlayerVO_AlyxFail
{
	criteria Concept_PlayerTalk AlyxFail
	scene "scenes/responses/alyx_fail_1"   
  	scene "scenes/responses/alyx_fail_2"   
	scene "scenes/responses/alyx_fail_3"   
}

//==================================================
// Alyx OK
//==================================================
criterion "AlyxOK" "speech" "alyx_ok" "required"

response PlayerVO_AlyxOK
{
	criteria Concept_PlayerTalk AlyxOK
	scene "scenes/responses/alyx_ok_1"   
  	scene "scenes/responses/alyx_ok_2"   
	scene "scenes/responses/alyx_ok_3"   
}

//==================================================
// Alyx Gasp
//==================================================
criterion "AlyxGasp" "speech" "alyx_gasp" "required"

response PlayerVO_AlyxGasp
{
	criteria Concept_PlayerTalk AlyxGasp
	scene "scenes/responses/alyx_gasp_1"   
  	scene "scenes/responses/alyx_gasp_2"   
	scene "scenes/responses/alyx_gasp_3"   
}

//==================================================
// Alyx Exhale
//==================================================
criterion "AlyxExhale" "speech" "alyx_exhale" "required"

response PlayerVO_AlyxExhale
{
	criteria Concept_PlayerTalk AlyxExhale
	scene "scenes/responses/alyx_exhale_1"   
  	scene "scenes/responses/alyx_exhale_2"   
	scene "scenes/responses/alyx_exhale_3"   
}


//==================================================
// Alyx startled
//==================================================
criterion "AlyxStartled" "speech" "alyx_startled" "required"

response PlayerVO_AlyxStartled
{
	criteria Concept_PlayerTalk AlyxStartled
	scene "scenes/responses/alyx_startled_1"   
  	scene "scenes/responses/alyx_startled_2"   
	scene "scenes/responses/alyx_startled_3"   
	scene "scenes/responses/alyx_startled_4" 
	scene "scenes/responses/alyx_startled_5"      
}

//==================================================
// Alyx affirmations
//==================================================


criterion "AlyxTripMineAffirmation" "speech" "alyx_tripmine_affirmation" "required"

response PlayerVO_AlyxTripMineAffirmation
{
	criteria Concept_PlayerTalk AlyxTripMineAffirmation
	speak "vo.01_13140" respeakdelay 1.0
	speak "vo.01_60007" respeakdelay 1.0
	speak "vo.01_60009" respeakdelay 1.0  
	speak "vo.01_60011" respeakdelay 1.0    
	speak "vo.01_13141" respeakdelay 1.0    
	speak "vo.01_60013" respeakdelay 1.0    
	speak "vo.01_60015" respeakdelay 1.0    
	speak "vo.01_13142" respeakdelay 1.0    
	speak "vo.01_60017" respeakdelay 1.0    
 	speak "vo.01_13143" respeakdelay 1.0  
	speak "vo.01_13144" respeakdelay 1.0   
}

//==================================================
// Alyx Didn't Work
//==================================================
criterion "AlyxDidntWork" "speech" "alyx_didnt_work" "required"

response PlayerVO_AlyxDidntWork
{
	criteria Concept_PlayerTalk AlyxDidntWork
	speak "vo.01_01162" respeakdelay 1.0
	speak "vo.01_01164" respeakdelay 1.0
	speak "vo.01_01165" respeakdelay 1.0  
}


//==================================================
// Alyx Combat Relief
//==================================================
criterion "AlyxCombatRelief" "speech" "alyx_combat_relief" "required"

response PlayerVO_AlyxCombatRelief
{
	criteria Concept_PlayerTalk AlyxCombatRelief
	speak "vo.01_13140" 
	speak "vo.01_60007" 
	speak "vo.01_60009" 
	speak "vo.01_60011" 
	speak "vo.01_13141"
	speak "vo.01_60013"
	speak "vo.01_60015"
	speak "vo.01_13142"
	speak "vo.01_60017"
	speak "vo.01_13143"
	speak "vo.01_13144"
	speak "vo.01_13145"
	speak "vo.01_60019"
}



//==================================================
// Russell looking
//==================================================
criterion "RussellLooking" "speech" "russell_looking" "required"

response PlayerVO_RussellLooking
{
	criteria Concept_PlayerTalk RussellLooking NotInMap_a1_intro_world NotInMap_a5_vault NotInMap_a5_ending NotInMap_a3_distillery
	scene "scenes/responses/russell_looking_1"   
	scene "scenes/responses/russell_looking_2"   
	scene "scenes/responses/russell_looking_3"   
	scene "scenes/responses/russell_looking_4"   
}


//==================================================
// Russell hacking
//==================================================
criterion "RussellHacking" "speech" "russell_hacking" "required"
response PlayerVO_RussellHacking
{
	criteria Concept_PlayerTalk RussellHacking NotInMap_a1_intro_world NotInMap_a5_vault NotInMap_a5_ending NotInMap_a3_distillery
	scene "scenes/responses/russell_hacking_1"   
	scene "scenes/responses/russell_hacking_2"   
	scene "scenes/responses/russell_hacking_3"  
	scene "scenes/responses/russell_hacking_4"   
}	

criterion "RussellHackFast" "speech" "russell_hack_fast" "required"
response PlayerVO_RussellHackFast
{
	criteria Concept_PlayerTalk RussellHackFast NotInMap_a1_intro_world NotInMap_a5_vault NotInMap_a5_ending NotInMap_a3_distillery NotInMap_a4_c17_parking_garage
	speak "vo.05_04566" speakonce
}

criterion "RussellHackMidPoint" "speech" "russell_hack_mid_point" "required"
response PlayerVO_RussellHackMidPoint
{
	criteria Concept_PlayerTalk RussellHackMidPoint NotInMap_a1_intro_world NotInMap_a5_vault NotInMap_a5_ending NotInMap_a3_distillery
	speak "vo.05_04679" speakonce
}

criterion "RussellHackLastLife" "speech" "russell_hack_last_life" "required"
response PlayerVO_RussellHacklastLife
{
	criteria Concept_PlayerTalk RussellHackLastLife NotInMap_a1_intro_world NotInMap_a5_vault NotInMap_a5_ending NotInMap_a3_distillery
	speak "vo.05_04676" speakonce
}




//==================================================
// Death Responses by Russell
//==================================================
response PlayerVO_DeathWithRus
{
	criteria	IsPlayer Concept_PlayerDies NotInMap_a1_intro_world NotInMap_a5_vault NotInMap_a5_ending NotInMap_a3_distillery
	
	speak "vo.05_99003" noscene
	speak "vo.05_99004" noscene
	speak "vo.05_99005" noscene
	speak "vo.05_99006" noscene
}

//==================================================
// Death Sounds
//==================================================
response PlayerVO_Death
{
	criteria	IsPlayer Concept_PlayerDies

	response
	{
		criteria InMap_a1_intro_world

		speak "vo.01_20000" noscene
		speak "vo.01_12755" noscene
		speak "vo.01_12756" noscene
	}

	response
	{
		criteria InMap_a5_vault

		speak "vo.01_20000" noscene
		speak "vo.01_12755" noscene
		speak "vo.01_12756" noscene
	}

	response
	{
		criteria InMap_a5_ending

		speak "vo.01_20000" noscene
		speak "vo.01_12755" noscene
		speak "vo.01_12756" noscene
	}

	response
	{
		criteria InMap_a3_distillery

		speak "vo.01_20000" noscene
		speak "vo.01_12755" noscene
		speak "vo.01_12756" noscene
	}
}

//==================================================
// Pain Sounds
//==================================================
response PlayerVO_Hurt_Fell_Response
{
	speak "vo.01_12754" respeakdelay 0.7
	speak "vo.01_12755" respeakdelay 0.7
	speak "vo.01_12756" respeakdelay 0.7
}

rule PlayerVO_Hurt_Fell_Rule
{
	criteria		IsPlayer Concept_PlayerHurt Fell
	response		PlayerVO_Hurt_Fell_Response
}


response PlayerVO_Hurt_Shocked_Response
{
	speak "vo.01_12757" respeakdelay 0.7
	speak "vo.01_12758" respeakdelay 0.7
	speak "vo.01_12759" respeakdelay 0.7
}

rule PlayerVO_Hurt_Shocked_Rule
{
	criteria		IsPlayer Concept_PlayerHurt Shocked
	response		PlayerVO_Hurt_Shocked_Response
}

response PlayerVO_Pain
{
	criteria	IsPlayer Concept_PlayerHurt
	
	speak "vo.01_00001" respeakdelay 10
	speak "vo.01_00002" respeakdelay 10
	speak "vo.01_00003" respeakdelay 10
	speak "vo.01_00004" respeakdelay 10
	speak "vo.01_00005" respeakdelay 10
	speak "vo.01_00006" respeakdelay 10
	speak "vo.01_00007" respeakdelay 10
	speak "vo.01_00008" respeakdelay 10
	speak "vo.01_00009" respeakdelay 10
	speak "vo.01_00010" respeakdelay 10
	speak "vo.01_00011" respeakdelay 10
	speak "vo.01_00012" respeakdelay 10
	speak "vo.01_00013" respeakdelay 10

}

//==================================================
// Coughing
//==================================================

response PlayerVO_AlyxCough
{
	criteria		IsPlayer Concept_PlayerHurt Coughing

	response
	{
		criteria NotMuffled

		scene "scenes/responses/alyx_cough_0"
		scene "scenes/responses/alyx_cough_1"
		scene "scenes/responses/alyx_cough_2"
		scene "scenes/responses/alyx_cough_3"
		scene "scenes/responses/alyx_cough_4"
		scene "scenes/responses/alyx_cough_5"
		scene "scenes/responses/alyx_cough_6"
		scene "scenes/responses/alyx_cough_8"
		scene "scenes/responses/alyx_cough_9"
	}

	response
	{
		criteria Muffled

		scene "scenes/responses/alyx_cough_muffled_11"
		scene "scenes/responses/alyx_cough_muffled_12"
		scene "scenes/responses/alyx_cough_muffled_13"
		scene "scenes/responses/alyx_cough_muffled_14"
		scene "scenes/responses/alyx_cough_muffled_15"
		scene "scenes/responses/alyx_cough_muffled_17"
		scene "scenes/responses/alyx_cough_muffled_18"
		scene "scenes/responses/alyx_cough_muffled_19"
	}
}

//==================================================
// Stunned
//==================================================

response PlayerVO_Hurt_Stunned_Response
{
	speak "vo.01_12763" respeakdelay 0.7
	speak "vo.01_12764" respeakdelay 0.7
	speak "vo.01_12765" respeakdelay 0.7
}

rule PlayerVO_Hurt_Stunned_Rule
{
	criteria		IsPlayer Concept_PlayerHurt Stunned
	response		PlayerVO_Hurt_Stunned_Response
}

//==================================================
// Flashlight
//==================================================

response PlayerVO_CommentFlashlightFail_Small_Response
{
	speak "alyxtemp_flashlightfail_03" noscene
}

rule PlayerVO_CommentFlashlightFail_Small_Rule
{
	criteria		IsPlayer Concept_PlayerTalk FlashlightFailureSmall
	response		PlayerVO_CommentFlashlightFail_Small_Response
}

response PlayerVO_CommentFlashlightFail_Medium_Response
{
	speak "alyxtemp_flashlightfail_05" noscene
}

rule PlayerVO_CommentFlashlightFail_Medium_Rule
{
	criteria		IsPlayer Concept_PlayerTalk FlashlightFailureMedium
	response		PlayerVO_CommentFlashlightFail_Medium_Response
}

response PlayerVO_CommentFlashlightFail_Large_Response
{
	speak "alyxtemp_flashlightfail_06" noscene
	speak "alyxtemp_flashlightfail_07" noscene
}

rule PlayerVO_CommentFlashlightFail_Large_Rule
{
	criteria		IsPlayer Concept_PlayerTalk FlashlightFailureLarge
	response		PlayerVO_CommentFlashlightFail_Large_Response
}

//==================================================
// Training Gravity Glove
//==================================================

criterion "Speech_Russell_Training_GG_Intro" "concept" "hlvr_training_gg_intro" "required"
response PlayerVO_Russell_Training_GG_Intro
{
	criteria Speech_Russell_Training_GG_Intro
	scene "scenes/act1/safehouse_02/russell_glove_intro" speakonce
}

criterion "Speech_Russell_Training_GG_Aim_Rare" "concept" "hlvr_training_gg_aim_rare" "required"
response PlayerVO_Russell_Training_GG_Aim_Rare
{
	criteria Speech_Russell_Training_GG_Aim_Rare
	scene "scenes/act1/safehouse_02/russell_glove_aim_3" speakonce
}

criterion "Speech_Russell_Training_GG_Aim" "concept" "hlvr_training_gg_aim" "required"
response PlayerVO_Russell_Training_GG_Aim
{
	criteria Speech_Russell_Training_GG_Aim
	scene "scenes/act1/safehouse_02/russell_glove_aim_2"
	scene "scenes/act1/safehouse_02/russell_glove_aim_4"
	scene "scenes/act1/safehouse_02/russell_glove_aim_5"
	scene "scenes/act1/safehouse_02/russell_glove_aim_6"
	scene "scenes/act1/safehouse_02/russell_glove_aim_7"
	scene "scenes/act1/safehouse_02/russell_glove_aim_8"
	scene "scenes/act1/safehouse_02/russell_glove_aim_9"
	scene "scenes/act1/safehouse_02/russell_glove_aim_10"
}

criterion "Speech_Russell_Training_GG_Grab" "concept" "hlvr_training_gg_grab" "required"
response PlayerVO_Russell_Training_GG_Grab
{
	criteria Speech_Russell_Training_GG_Grab
	scene "scenes/act1/safehouse_02/russell_glove_grab_1"
	scene "scenes/act1/safehouse_02/russell_glove_grab_2"
	scene "scenes/act1/safehouse_02/russell_glove_grab_3"
	scene "scenes/act1/safehouse_02/russell_glove_grab_4"
	scene "scenes/act1/safehouse_02/russell_glove_grab_5"
	scene "scenes/act1/safehouse_02/russell_glove_trigger_1"
}

criterion "Speech_Russell_Training_GG_Flick" "concept" "hlvr_training_gg_flick" "required"
response PlayerVO_Russell_Training_GG_Flick
{
	criteria Speech_Russell_Training_GG_Flick
	scene "scenes/act1/safehouse_02/russell_glove_flick_1"
	scene "scenes/act1/safehouse_02/russell_glove_flick_2"
}

criterion "Speech_Russell_Training_GG_Catch" "concept" "hlvr_training_gg_catch" "required"
response PlayerVO_Russell_Training_GG_Catch
{
	criteria Speech_Russell_Training_GG_Catch
	scene "scenes/act1/safehouse_02/russell_glove_catch_1"
	scene "scenes/act1/safehouse_02/russell_glove_catch_2"
	scene "scenes/act1/safehouse_02/russell_glove_catch_3"
	scene "scenes/act1/safehouse_02/russell_glove_catch_4"
}

criterion "Speech_Russell_Training_GG_Cheer" "concept" "hlvr_training_gg_cheer" "required"
response PlayerVO_Russell_Training_GG_Cheer
{
	criteria Speech_Russell_Training_GG_Cheer
	scene "scenes/act1/safehouse_02/russell_glove_cheer_3"
	scene "scenes/act1/safehouse_02/russell_glove_cheer_4"
	scene "scenes/act1/safehouse_02/russell_glove_cheer_5"
	scene "scenes/act1/safehouse_02/russell_glove_success_1"
	scene "scenes/act1/safehouse_02/russell_glove_success_2"
	scene "scenes/act1/safehouse_02/russell_glove_success_3"
}

criterion "Speech_Russell_Training_GG_Repeat" "concept" "hlvr_training_gg_repeat" "required"
criterion "Speech_Russell_Training_GG_FirstCatch" "count" "1" "required"
criterion "Speech_Russell_Training_GG_SecondCatch" "count" "2" "required"

response PlayerVO_Russell_Training_GG_Catch_1
{
	criteria Speech_Russell_Training_GG_Repeat Speech_Russell_Training_GG_FirstCatch
	scene "scenes/act1/safehouse_02/russell_glove_cheer_1" predelay 0.25
	scene "scenes/act1/safehouse_02/russell_glove_repeat_1" predelay 0.25
}

response PlayerVO_Russell_Training_GG_Catch_2
{
	criteria Speech_Russell_Training_GG_Repeat Speech_Russell_Training_GG_SecondCatch
	scene "scenes/act1/safehouse_02/russell_glove_cheer_2" predelay 0.25
	scene "scenes/act1/safehouse_02/russell_glove_repeat_2" predelay 0.25
}

//==================================================
// Lethal Teleport Warnings
//==================================================

response PlayerVO_Alyx_Lethal_Teleport
{
	scene "scenes/alyx_russell_conversations/first_lethal_teleport_warning" speakonce
}
rule PlayerVO_Alyx_Lethal_Teleport_Rule
{
	criteria		IsPlayer Concept_PlayerTeleportLethal NotInMap_a1_intro_world NotInMap_a5_vault NotInMap_a5_ending NotInMap_a3_distillery
	response		PlayerVO_Alyx_Lethal_Teleport
	applycontext	"lethal_teleport:2"
}

criterion "Lethal_Teleport_2" "lethal_teleport" "2" "required"
response PlayerVO_Alyx_Lethal_Teleport_2
{
	speak "vo.01_12770" noscene respeakdelay 6
	speak "vo.01_12771" noscene respeakdelay 6
	speak "vo.01_12772" noscene respeakdelay 6
	speak "vo.01_12773" noscene respeakdelay 6
	speak "vo.01_12774" noscene respeakdelay 6
}
rule PlayerVO_Alyx_Lethal_Teleport_2_Rule
{
	criteria		IsPlayer Concept_PlayerTeleportLethal Lethal_Teleport_2 NotInMap_a1_intro_world NotInMap_a5_vault NotInMap_a5_ending NotInMap_a3_distillery
	response		PlayerVO_Alyx_Lethal_Teleport_2
}

rule PlayerVO_Alyx_Lethal_Teleport_Intro_World_Rule
{
	criteria		IsPlayer Concept_PlayerTeleportLethal InMap_a1_intro_world
	response		PlayerVO_Alyx_Lethal_Teleport_2
}

rule PlayerVO_Alyx_Lethal_Teleport_Vault_Rule
{
	criteria		IsPlayer Concept_PlayerTeleportLethal InMap_a5_vault
	response		PlayerVO_Alyx_Lethal_Teleport_2
}

rule PlayerVO_Alyx_Lethal_Teleport_Ending_Rule
{
	criteria		IsPlayer Concept_PlayerTeleportLethal InMap_a5_ending
	response		PlayerVO_Alyx_Lethal_Teleport_2
}

rule PlayerVO_Alyx_Lethal_Teleport_Distillery_Rule
{
	criteria		IsPlayer Concept_PlayerTeleportLethal InMap_a3_distillery
	response		PlayerVO_Alyx_Lethal_Teleport_2
}

//========================================================================================================
// EXAMPLE USAGE OF THE "then" PARAMETER TO DO MULTI STEP SPEECH WITH BRANCHING
//		Console command to trigger this in game:    player_testresponse TLK_PLAYER_DISCOVERY ""
//	    Give the player some resin with "hlvr_setresources 50 50 50 50" to see the branch in action.
//========================================================================================================
//criterion "Sentence_Step2" "step" "2" "required"
//criterion "Sentence_Step3" "step" "3" "required"

// STEP 1: Starts here.
//response PlayerVO_TestThen_Step1_Response
//{
	//scene			"scenes/act2/quarantine_entrance/alyx_see_quarantine_zone_gate" then self TLK_PLAYER_MAP_TALK step:2 1
//}
//rule PlayerVO_TestThen_Step1_Rule
//{
	//criteria		IsPlayer Concept_PlayerDiscovery
	//response		PlayerVO_TestThen_Step1_Response
//}

// STEP 2: Then this is spoken
//response PlayerVO_TestThen_Step2_Response
//{
	//scene "scenes/act2/quarantine_entrance/alyx_russell_first_dead_zombie" then self TLK_PLAYER_MAP_TALK step:3 1
//}
//rule PlayerVO_TestThen_Step2_Rule
//{
	//criteria		IsPlayer Concept_PlayerTalk Sentence_Step2
	//response		PlayerVO_TestThen_Step2_Response
//}

// STEP 3: Then branches to one of the two rules below, based on whether the player has any resin
//response PlayerVO_TestThen_Step3_HasResin_Response
//{
	//scene "scenes/act2/quarantine_entrance/alyx_russell_see_barnacle"
//}
//rule PlayerVO_TestThen_Step3_HasResin_Rule
//{
	//criteria		IsPlayer Concept_PlayerTalk Sentence_Step3 PlayerHasResin
	//response		PlayerVO_TestThen_Step3_HasResin_Response
//}

//response PlayerVO_TestThen_Step3_NoResin_Response
//{
	//scene "scenes/act2/quarantine_entrance/alyx_see_quarantine_zone_gate_open"
//}
//rule PlayerVO_TestThen_Step3_NoResin_Rule
//{
	//criteria		IsPlayer Concept_PlayerTalk Sentence_Step3 PlayerHasNoResin
	//response		PlayerVO_TestThen_Step3_NoResin_Response
//}


Unused Source

npc_combine.txt

Talker script file npc_combine.txt:

response Combine_RadioOn
{
	speak "combine.radioOn"
}

rule CS_Combine_RadioOn
{
	criteria		IsCombineS ConceptRadioOn 
	response		Combine_RadioOn
}

response Combine_RadioOff
{
	speak "combine.radioOff"
}

rule CS_Combine_RadioOff
{
	criteria		IsCombineS ConceptRadioOff
	response		Combine_RadioOff
}

//========================================================================================================
// ANNOUNCING TARGETS 
//		TARGET IS PLAYER
//====================================================================
response CS_Officer_AnnounceEnemy_Player
{
	speak "vo.combine.officer.firing_player_01"
	speak "vo.combine.officer.firing_player_02"
	speak "vo.combine.officer.firing_player_03"
	speak "vo.combine.officer.firing_player_04"
	speak "vo.combine.officer.firing_player_05"
	
	speak "vo.combine.officer.firing_01"
	speak "vo.combine.officer.firing_02"
	speak "vo.combine.officer.firing_03"
	speak "vo.combine.officer.firing_04"
	speak "vo.combine.officer.firing_05"
	speak "vo.combine.officer.firing_06"
	
	speak "vo.combine.officer.announceattack_alyx_01"
	speak "vo.combine.officer.announceattack_alyx_02"
	speak "vo.combine.officer.announceattack_alyx_03"
	speak "vo.combine.officer.announceattack_alyx_04"
	speak "vo.combine.officer.announceattack_alyx_05"
	speak "vo.combine.officer.announceattack_alyx_06"
	speak "vo.combine.officer.announceattack_alyx_07"
	speak "vo.combine.officer.announceattack_alyx_08"
	
	speak "vo.combine.officer.announceattack_01"
	speak "vo.combine.officer.announceattack_02"
	speak "vo.combine.officer.announceattack_03"
	speak "vo.combine.officer.announceattack_04"
	speak "vo.combine.officer.announceattack_05"
	speak "vo.combine.officer.announceattack_06"
	speak "vo.combine.officer.announceattack_07"
	speak "vo.combine.officer.announceattack_08"
}

rule CS_Officer_AnnounceEnemy_Player
{
	criteria		IsCombineS IsClass_Officer ConceptAnnounceEnemy AnnouncedEnemyIsPlayer
	response		CS_Officer_AnnounceEnemy_Player
}

response CS_Charger_AnnounceEnemy_Player
{
	speak "vo.combine.charger.announceattack_01"
	speak "vo.combine.charger.announceattack_02"
	speak "vo.combine.charger.announceattack_03"
	speak "vo.combine.charger.announceattack_04"
	speak "vo.combine.charger.announceattack_05"
	speak "vo.combine.charger.announceattack_06"
	speak "vo.combine.charger.announceattack_07"
	speak "vo.combine.charger.announceattack_08"
	speak "vo.combine.charger.announceattack_09"
	speak "vo.combine.charger.announceattack_10"
	speak "vo.combine.charger.announceattack_11"
}

rule CS_Charger_AnnounceEnemy_Player
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceEnemy AnnouncedEnemyIsPlayer
	response		CS_Charger_AnnounceEnemy_Player
}

response CS_Suppressor_AnnounceEnemy_Player
{
	speak "vo.combine.suppressor.announceattack_01"
	speak "vo.combine.suppressor.announceattack_02"
	speak "vo.combine.suppressor.announceattack_03"
	speak "vo.combine.suppressor.announceattack_04"
	speak "vo.combine.suppressor.announceattack_05"
	speak "vo.combine.suppressor.announceattack_06"
	speak "vo.combine.suppressor.announceattack_07"
	speak "vo.combine.suppressor.announceattack_08"
	speak "vo.combine.suppressor.announceattack_09"
	speak "vo.combine.suppressor.announceattack_10"
	speak "vo.combine.suppressor.announceattack_11"
}

rule CS_Suppressor_AnnounceEnemy_Player
{
	criteria		IsCombineS IsClass_Suppressor ConceptAnnounceEnemy AnnouncedEnemyIsPlayer
	response		CS_Suppressor_AnnounceEnemy_Player
}

response CS_Grunt_AnnounceEnemy_Player
{
	speak "vo.combine.grunt.firing_player_01"
	speak "vo.combine.grunt.firing_player_01"
	speak "vo.combine.grunt.firing_player_03"
	speak "vo.combine.grunt.firing_player_04"
	speak "vo.combine.grunt.firing_player_05"
	speak "vo.combine.grunt.firing_player_06"
	speak "vo.combine.grunt.firing_player_07"
	speak "vo.combine.grunt.firing_player_08"
}

rule CS_Grunt_AnnounceEnemy_Player
{
	criteria		IsCombineS IsClass_Grunt ConceptAnnounceEnemy AnnouncedEnemyIsPlayer
	response		CS_Grunt_AnnounceEnemy_Player
}

//========================================================================================================
// SQUAD IS UNDER ATTACK
//====================================================================
response CS_Officer_UnderAttack
{
	speak "vo.combine.officer.underattack_01"
	speak "vo.combine.officer.underattack_02"
	speak "vo.combine.officer.underattack_03"
	speak "vo.combine.officer.underattack_04"
	speak "vo.combine.officer.underattack_05"
	speak "vo.combine.officer.underattack_06"
	speak "vo.combine.officer.underattack_07"
	speak "vo.combine.officer.underattack_08"
	speak "vo.combine.officer.underattack_09"
	speak "vo.combine.officer.underattack_10"
	speak "vo.combine.officer.underattack_11"
	speak "vo.combine.officer.underattack_12"
}

rule CS_Officer_UnderAttack
{
	criteria		IsCombineS IsClass_Officer ConceptUnderAttack 
	response		CS_Officer_UnderAttack
}

response CS_Charger_UnderAttack
{
	speak "vo.combine.charger.underattack_01"
	speak "vo.combine.charger.underattack_02"
	speak "vo.combine.charger.underattack_03"
	speak "vo.combine.charger.underattack_04"
	speak "vo.combine.charger.underattack_05"
	speak "vo.combine.charger.underattack_06"
	speak "vo.combine.charger.underattack_07"
	speak "vo.combine.charger.underattack_08"
	speak "vo.combine.charger.underattack_09"
	speak "vo.combine.charger.underattack_10"
	speak "vo.combine.charger.underattack_11"
	speak "vo.combine.charger.underattack_12"
}

rule CS_Charger_UnderAttack
{
	criteria		IsCombineS IsClass_Charger ConceptUnderAttack 
	response		CS_Charger_UnderAttack
}

response CS_Suppressor_UnderAttack
{
	speak "vo.combine.suppressor.underattack_01"
	speak "vo.combine.suppressor.underattack_02"
	speak "vo.combine.suppressor.underattack_03"
	speak "vo.combine.suppressor.underattack_04"
	speak "vo.combine.suppressor.underattack_05"
	speak "vo.combine.suppressor.underattack_06"
	speak "vo.combine.suppressor.underattack_07"
	speak "vo.combine.suppressor.underattack_08"
	speak "vo.combine.suppressor.underattack_09"
	speak "vo.combine.suppressor.underattack_10"
	speak "vo.combine.suppressor.underattack_11"
	speak "vo.combine.suppressor.underattack_12"
}

rule CS_Suppressor_UnderAttack
{
	criteria		IsCombineS IsClass_Suppressor ConceptUnderAttack 
	response		CS_Suppressor_UnderAttack
}

response CS_Grunt_UnderAttack
{
	speak "vo.combine.grunt.underattack_01"
	speak "vo.combine.grunt.underattack_02"
	speak "vo.combine.grunt.underattack_03"
	speak "vo.combine.grunt.underattack_04"
	speak "vo.combine.grunt.underattack_05"
	speak "vo.combine.grunt.underattack_06"
	speak "vo.combine.grunt.underattack_07"
	speak "vo.combine.grunt.underattack_08"
	speak "vo.combine.grunt.underattack_09"
	speak "vo.combine.grunt.underattack_10"
	speak "vo.combine.grunt.underattack_11"
	speak "vo.combine.grunt.underattack_12"
}

rule CS_Grunt_UnderAttack
{
	criteria		IsCombineS IsClass_Grunt ConceptUnderAttack 
	response		CS_Grunt_UnderAttack
}

//========================================================================================================
// I'M TAKING FIRE
//====================================================================
response CS_Officer_TakingFire
{
	speak "vo.combine.officer.takingfire_01" respeakdelay 15
	speak "vo.combine.officer.takingfire_02" respeakdelay 15
	speak "vo.combine.officer.takingfire_03" respeakdelay 15
	speak "vo.combine.officer.takingfire_04" respeakdelay 15
	speak "vo.combine.officer.takingfire_05" respeakdelay 15
	speak "vo.combine.officer.takingfire_06" respeakdelay 15
	speak "vo.combine.officer.takingfire_07" respeakdelay 15
	speak "vo.combine.officer.takingfire_08" respeakdelay 15
	speak "vo.combine.officer.takingfire_09" respeakdelay 15
	speak "vo.combine.officer.takingfire_10" respeakdelay 15
}

rule CS_Officer_TakingFire
{
	criteria		IsCombineS IsClass_Officer ConceptTakingFire 
	response		CS_Officer_TakingFire
}

response CS_Charger_TakingFire
{
	speak "vo.combine.charger.takingfire_01" respeakdelay 15
	speak "vo.combine.charger.takingfire_02" respeakdelay 15
	speak "vo.combine.charger.takingfire_03" respeakdelay 15
	speak "vo.combine.charger.takingfire_04" respeakdelay 15
	speak "vo.combine.charger.takingfire_05" respeakdelay 15
	speak "vo.combine.charger.takingfire_06" respeakdelay 15
	speak "vo.combine.charger.takingfire_07" respeakdelay 15
	speak "vo.combine.charger.takingfire_08" respeakdelay 15
	speak "vo.combine.charger.takingfire_09" respeakdelay 15
	speak "vo.combine.charger.takingfire_10" respeakdelay 15
	speak "vo.combine.charger.takingfire_11" respeakdelay 15
	speak "vo.combine.charger.takingfire_12" respeakdelay 15
	speak "vo.combine.charger.takingfire_13" respeakdelay 15
	speak "vo.combine.charger.takingfire_14" respeakdelay 15
	speak "vo.combine.charger.takingfire_15" respeakdelay 15
	speak "vo.combine.charger.takingfire_16" respeakdelay 15
	speak "vo.combine.charger.takingfire_17" respeakdelay 15
}

rule CS_Charger_TakingFire
{
	criteria		IsCombineS IsClass_Charger ConceptTakingFire 
	response		CS_Charger_TakingFire
}

response CS_Suppressor_TakingFire
{
	speak "vo.combine.suppressor.takingfire_01" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_02" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_03" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_04" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_05" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_06" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_07" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_08" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_09" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_10" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_11" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_12" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_13" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_14" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_15" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_16" respeakdelay 15
	speak "vo.combine.suppressor.takingfire_17" respeakdelay 15
}

rule CS_Suppressor_TakingFire
{
	criteria		IsCombineS IsClass_Suppressor ConceptTakingFire 
	response		CS_Suppressor_TakingFire
}

response CS_Grunt_TakingFire
{
	speak "vo.combine.grunt.takingfire_01" respeakdelay 15
	speak "vo.combine.grunt.takingfire_02" respeakdelay 15
	speak "vo.combine.grunt.takingfire_03" respeakdelay 15
	speak "vo.combine.grunt.takingfire_04" respeakdelay 15
	speak "vo.combine.grunt.takingfire_05" respeakdelay 15
	speak "vo.combine.grunt.takingfire_06" respeakdelay 15
	speak "vo.combine.grunt.takingfire_07" respeakdelay 15
	speak "vo.combine.grunt.takingfire_08" respeakdelay 15
	speak "vo.combine.grunt.takingfire_09" respeakdelay 15
	speak "vo.combine.grunt.takingfire_10" respeakdelay 15
	speak "vo.combine.grunt.takingfire_11" respeakdelay 15
	speak "vo.combine.grunt.takingfire_12" respeakdelay 15
	speak "vo.combine.grunt.takingfire_13" respeakdelay 15
	speak "vo.combine.grunt.takingfire_14" respeakdelay 15
	speak "vo.combine.grunt.takingfire_15" respeakdelay 15
	speak "vo.combine.grunt.takingfire_16" respeakdelay 15
	speak "vo.combine.grunt.takingfire_17" respeakdelay 15
}

rule CS_Grunt_TakingFire
{
	criteria		IsCombineS IsClass_Grunt ConceptTakingFire 
	response		CS_Grunt_TakingFire
}

//========================================================================================================
// INJURED
//====================================================================
response CS_Officer_Injured
{
	speak "vo.combine.officer.injured_01"
	speak "vo.combine.officer.injured_02"
	speak "vo.combine.officer.injured_03"
	speak "vo.combine.officer.injured_04"
	speak "vo.combine.officer.injured_05"
	speak "vo.combine.officer.injured_06"
}

rule CS_Officer_Injured
{
	criteria		IsCombineS IsClass_Officer ConceptInjured 
	response		CS_Officer_Injured
}

response CS_Charger_Injured
{
	speak "vo.combine.charger.injured_01"
	speak "vo.combine.charger.injured_02"
	speak "vo.combine.charger.injured_03"
	speak "vo.combine.charger.injured_04"
	speak "vo.combine.charger.injured_05"
	speak "vo.combine.charger.injured_06"
	speak "vo.combine.charger.injured_07"
}

rule CS_Charger_Injured
{
	criteria		IsCombineS IsClass_Charger ConceptInjured 
	response		CS_Charger_Injured
}

response CS_Suppressor_Injured
{
	speak "vo.combine.suppressor.injured_01"
	speak "vo.combine.suppressor.injured_02"
	speak "vo.combine.suppressor.injured_03"
	speak "vo.combine.suppressor.injured_04"
	speak "vo.combine.suppressor.injured_05"
	speak "vo.combine.suppressor.injured_06"
	speak "vo.combine.suppressor.injured_07"
}

rule CS_Suppressor_Injured
{
	criteria		IsCombineS IsClass_Suppressor ConceptInjured 
	response		CS_Suppressor_Injured
}

response CS_Grunt_Injured
{
	speak "vo.combine.grunt.injured_01"
	speak "vo.combine.grunt.injured_02"
	speak "vo.combine.grunt.injured_03"
	speak "vo.combine.grunt.injured_04"
	speak "vo.combine.grunt.injured_05"
	speak "vo.combine.grunt.injured_06"
	speak "vo.combine.grunt.injured_07"
	speak "vo.combine.grunt.pain_01"
	speak "vo.combine.grunt.pain_02"
	speak "vo.combine.grunt.pain_03"
	speak "vo.combine.grunt.pain_04"
	speak "vo.combine.grunt.pain_05"
	speak "vo.combine.grunt.pain_06"
	speak "vo.combine.grunt.pain_07"
	speak "vo.combine.grunt.pain_08"
	speak "vo.combine.grunt.pain_09"
	speak "vo.combine.grunt.pain_10"
}

rule CS_Grunt_Injured
{
	criteria		IsCombineS IsClass_Grunt ConceptInjured 
	response		CS_Grunt_Injured
}

//========================================================================================================
// LOST VISUAL
//====================================================================
response CS_Officer_LostVisual
{
	speak "vo.combine.officer.lostvisual_01" respeakdelay 30
	speak "vo.combine.officer.lostvisual_02" respeakdelay 30
	speak "vo.combine.officer.lostvisual_03" respeakdelay 30
	speak "vo.combine.officer.lostvisual_04" respeakdelay 30
	speak "vo.combine.officer.lostvisual_05" respeakdelay 30
	speak "vo.combine.officer.lostvisual_06" respeakdelay 30
	speak "vo.combine.officer.lostvisual_07" respeakdelay 30
	speak "vo.combine.officer.lostvisual_08" respeakdelay 30
	speak "vo.combine.officer.lostvisual_09" respeakdelay 30
	
	speak "vo.combine.officer.lostvisual_player_01" respeakdelay 30
	speak "vo.combine.officer.lostvisual_player_02" respeakdelay 30
	speak "vo.combine.officer.lostvisual_player_03" respeakdelay 30
	speak "vo.combine.officer.lostvisual_player_04" respeakdelay 30
	
}

rule CS_Officer_LostVisual
{
	criteria		IsCombineS IsClass_Officer ConceptLostVisual 
	response		CS_Officer_LostVisual
}

response CS_Charger_LostVisual
{
	speak "vo.combine.charger.lostvisual_01" respeakdelay 30
	speak "vo.combine.charger.lostvisual_02" respeakdelay 30
	speak "vo.combine.charger.lostvisual_03" respeakdelay 30
	speak "vo.combine.charger.lostvisual_04" respeakdelay 30
	speak "vo.combine.charger.lostvisual_05" respeakdelay 30
	speak "vo.combine.charger.lostvisual_06" respeakdelay 30
	speak "vo.combine.charger.lostvisual_07" respeakdelay 30
	speak "vo.combine.charger.lostvisual_08" respeakdelay 30
	speak "vo.combine.charger.lostvisual_09" respeakdelay 30
	speak "vo.combine.charger.lostvisual_10" respeakdelay 30
	speak "vo.combine.charger.lostenemy_01" respeakdelay 30
	speak "vo.combine.charger.lostenemy_02" respeakdelay 30
	speak "vo.combine.charger.lostenemy_03" respeakdelay 30
	speak "vo.combine.charger.lostenemy_04" respeakdelay 30
	speak "vo.combine.charger.lostenemy_05" respeakdelay 30
	speak "vo.combine.charger.lostenemy_06" respeakdelay 30
	speak "vo.combine.charger.lostenemy_07" respeakdelay 30
	speak "vo.combine.charger.lostenemy_08" respeakdelay 30
}

rule CS_Charger_LostVisual
{
	criteria		IsCombineS IsClass_Charger ConceptLostVisual 
	response		CS_Charger_LostVisual
}

response CS_Suppressor_LostVisual
{
	speak "vo.combine.suppressor.lostvisual_01" respeakdelay 30
	speak "vo.combine.suppressor.lostvisual_02" respeakdelay 30
	speak "vo.combine.suppressor.lostvisual_03" respeakdelay 30
	speak "vo.combine.suppressor.lostvisual_04" respeakdelay 30
	speak "vo.combine.suppressor.lostvisual_05" respeakdelay 30
	speak "vo.combine.suppressor.lostvisual_06" respeakdelay 30
	speak "vo.combine.suppressor.lostvisual_07" respeakdelay 30
	speak "vo.combine.suppressor.lostvisual_08" respeakdelay 30
	speak "vo.combine.suppressor.lostvisual_09" respeakdelay 30
	speak "vo.combine.suppressor.lostvisual_10" respeakdelay 30
}

rule CS_Suppressor_LostVisual
{
	criteria		IsCombineS IsClass_Suppressor ConceptLostVisual 
	response		CS_Suppressor_LostVisual
}

response CS_Grunt_LostVisual
{
	speak "vo.combine.grunt.lostvisual_01" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_02" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_03" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_04" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_05" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_06" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_07" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_08" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_09" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_10" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_player_01" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_player_02" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_player_03" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_player_04" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_player_05" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_player_06" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_player_07" respeakdelay 30
	speak "vo.combine.grunt.lostvisual_player_08" respeakdelay 30
}

rule CS_Grunt_LostVisual
{
	criteria		IsCombineS IsClass_Grunt ConceptLostVisual 
	response		CS_Grunt_LostVisual
}

//========================================================================================================
// ATTACKING PLAYER'S COVER
//====================================================================
response CS_Officer_AttackingCover
{
	speak "vo.combine.officer.announceattack_cover_01"
	speak "vo.combine.officer.announceattack_cover_02"
	speak "vo.combine.officer.announceattack_cover_03"
	speak "vo.combine.officer.announceattack_cover_04"
	speak "vo.combine.officer.announceattack_cover_05"
	speak "vo.combine.officer.announceattack_cover_06"
	speak "vo.combine.officer.announceattack_cover_07"
	speak "vo.combine.officer.announceattack_cover_08"
}

rule CS_Officer_AttackingCover
{
	criteria		IsCombineS IsClass_Officer ConceptAttackingCover
	response		CS_Officer_AttackingCover
}

response CS_Charger_AttackingCover
{
	// voice lines dont exist yet, using announceattack instead. 
	//speak "vo.combine.charger.announceattack_01"
	//speak "vo.combine.charger.announceattack_02"
	//speak "vo.combine.charger.announceattack_03"
	//speak "vo.combine.charger.announceattack_04"
	//speak "vo.combine.charger.announceattack_05"
	//speak "vo.combine.charger.announceattack_06"
	//speak "vo.combine.charger.announceattack_07"
	//speak "vo.combine.charger.announceattack_08"
	//speak "vo.combine.charger.announceattack_09"
	//speak "vo.combine.charger.announceattack_10"
	//speak "vo.combine.charger.announceattack_11"
}

rule CS_Charger_AttackingCover
{
	criteria		IsCombineS IsClass_Charger ConceptAttackingCover
	response		CS_Charger_AttackingCover
}

response CS_Suppressor_AttackingCover
{
	speak "vo.combine.suppressor.attackingcover_01"
	speak "vo.combine.suppressor.attackingcover_02"
	speak "vo.combine.suppressor.attackingcover_03"
	speak "vo.combine.suppressor.attackingcover_04"
	speak "vo.combine.suppressor.attackingcover_05"
	speak "vo.combine.suppressor.attackingcover_06"
	speak "vo.combine.suppressor.attackingcover_07"
	speak "vo.combine.suppressor.attackingcover_08"
	speak "vo.combine.suppressor.attackingcover_09"
	speak "vo.combine.suppressor.attackingcover_10"
	speak "vo.combine.suppressor.attackingcover_11"
	speak "vo.combine.suppressor.attackingcover_12"
	speak "vo.combine.suppressor.attackingcover_13"
	speak "vo.combine.suppressor.attackingcover_14"
	speak "vo.combine.suppressor.attackingcover_15"
	speak "vo.combine.suppressor.attackingcover_16"

}

rule CS_Suppressor_AttackingCover
{
	criteria		IsCombineS IsClass_Suppressor ConceptAttackingCover
	response		CS_Suppressor_AttackingCover
}

response CS_Grunt_AttackingCover
{
	speak "vo.combine.grunt.announceattack_alyx_01"
	speak "vo.combine.grunt.announceattack_alyx_02"
	speak "vo.combine.grunt.announceattack_alyx_03"
	speak "vo.combine.grunt.announceattack_alyx_04"
	speak "vo.combine.grunt.announceattack_alyx_05"
	speak "vo.combine.grunt.announceattack_alyx_06"
	speak "vo.combine.grunt.announceattack_alyx_07"
	speak "vo.combine.grunt.announceattack_alyx_08"
	speak "vo.combine.grunt.announceattack_alyx_09"
	speak "vo.combine.grunt.announceattack_alyx_10"
	speak "vo.combine.grunt.announceattack_alyx_11"
}

rule CS_Grunt_AttackingCover
{
	criteria		IsCombineS IsClass_Grunt ConceptAttackingCover
	response		CS_Grunt_AttackingCover
}

//========================================================================================================
// GET BACK
//====================================================================
response CS_Officer_GetBack
{
	speak "vo.combine.officer.getback_01" 
	speak "vo.combine.officer.getback_02" 
	speak "vo.combine.officer.getback_03" 
}

rule CS_Officer_GetBack
{
	criteria		IsCombineS IsClass_Officer ConceptGetBack 
	response		CS_Officer_GetBack
}

response CS_Charger_GetBack
{
	//speak "Soldier01.Soldier1GetBack"
}

rule CS_Charger_GetBack
{
	criteria		IsCombineS IsClass_Charger ConceptGetBack 
	response		CS_Charger_GetBack
}

response CS_Suppressor_GetBack
{
	// lines not written or recorded
	//speak "Soldier07.Soldier7GetBack"
}

rule CS_Suppressor_GetBack
{
	criteria		IsCombineS IsClass_Suppressor ConceptGetBack 
	response		CS_Suppressor_GetBack
}

response CS_Grunt_GetBack
{
	speak "vo.combine.grunt.getback_01"
	speak "vo.combine.grunt.getback_02"
	speak "vo.combine.grunt.getback_03"
	speak "vo.combine.grunt.getback_04"
	speak "vo.combine.grunt.getback_05"
}

rule CS_Grunt_GetBack
{
	criteria		IsCombineS IsClass_Grunt ConceptGetBack 
	response		CS_Grunt_GetBack
}

//========================================================================================================
// PANIC ON ENEMY NEAR
//====================================================================
response CS_Officer_NearPanic_Alyx
{
	speak "vo.combine.officer.nearpanic_01"
	speak "vo.combine.officer.nearpanic_02"
	speak "vo.combine.officer.nearpanic_03"
	speak "vo.combine.officer.nearpanic_04"
	speak "vo.combine.officer.nearpanic_05"
}
rule CS_Officer_NearPanic_Alyx
{
	criteria		IsCombineS IsClass_Officer ConceptNearPanic EnemyIsPlayer
	response		CS_Officer_NearPanic_Alyx
}

response CS_Officer_NearPanic
{
	// dialog has not been recorded - emilyr. 
	//speak "Soldier05.Soldier5BackOff"
}
rule CS_Officer_NearPanic
{
	criteria		IsCombineS IsClass_Officer ConceptNearPanic 
	response		CS_Officer_NearPanic
}

response CS_Charger_NearPanic
{
	speak "vo.combine.charger.nearpanic_01"
	speak "vo.combine.charger.nearpanic_02"
	speak "vo.combine.charger.nearpanic_03"
	speak "vo.combine.charger.nearpanic_04"
	speak "vo.combine.charger.nearpanic_05"
	speak "vo.combine.charger.nearpanic_06"
	speak "vo.combine.charger.nearpanic_07"
	speak "vo.combine.charger.nearpanic_10"
}
rule CS_Charger_NearPanic
{
	criteria		IsCombineS IsClass_Charger ConceptNearPanic 
	response		CS_Charger_NearPanic
}

response CS_Charger_NearPanic_Alyx
{
	speak "vo.combine.suppressor.nearpanic_01"
	speak "vo.combine.suppressor.nearpanic_02"
	speak "vo.combine.suppressor.nearpanic_03"
	speak "vo.combine.suppressor.nearpanic_04"
	speak "vo.combine.suppressor.nearpanic_05"
	speak "vo.combine.suppressor.nearpanic_06"
	speak "vo.combine.suppressor.nearpanic_07"
	speak "vo.combine.suppressor.nearpanic_10"
}
rule CS_Charger_NearPanic_Alyx
{
	criteria		IsCombineS IsClass_Charger ConceptNearPanic EnemyIsPlayer
	response		CS_Charger_NearPanic_Alyx
}

response CS_Suppressor_NearPanic
{
	speak "Soldier07.Soldier7BackOff"
}
rule CS_Suppressor_NearPanic
{
	criteria		IsCombineS IsClass_Suppressor ConceptNearPanic 
	response		CS_Suppressor_NearPanic
}

response CS_Suppressor_NearPanic_Alyx
{
	speak "Soldier07.Soldier7ShesOnMe"
	speak "Soldier07.Soldier7BackOff"
}
rule CS_Suppressor_NearPanic_Alyx
{
	criteria		IsCombineS IsClass_Suppressor ConceptNearPanic EnemyIsPlayer
	response		CS_Suppressor_NearPanic_Alyx
}

response CS_Grunt_NearPanic
{
	speak "vo.combine.grunt.nearpanic_01"
	speak "vo.combine.grunt.nearpanic_02"
	speak "vo.combine.grunt.nearpanic_03"
	speak "vo.combine.grunt.nearpanic_04"
	speak "vo.combine.grunt.nearpanic_05"
	speak "vo.combine.grunt.nearpanic_06"
	speak "vo.combine.grunt.nearpanic_07"
	speak "vo.combine.grunt.nearpanic_08"
	speak "vo.combine.grunt.nearpanic_09"
	speak "vo.combine.grunt.nearpanic_10"
}
rule CS_Grunt_NearPanic
{
	criteria		IsCombineS IsClass_Grunt ConceptNearPanic 
	response		CS_Grunt_NearPanic
}

response CS_Grunt_NearPanic_Alyx
{
	speak "vo.combine.grunt.nearpanic_01"
	speak "vo.combine.grunt.nearpanic_02"
	speak "vo.combine.grunt.nearpanic_03"
	speak "vo.combine.grunt.nearpanic_04"
	speak "vo.combine.grunt.nearpanic_05"
	speak "vo.combine.grunt.nearpanic_06"
	speak "vo.combine.grunt.nearpanic_07"
	speak "vo.combine.grunt.nearpanic_08"
	speak "vo.combine.grunt.nearpanic_09"
	speak "vo.combine.grunt.nearpanic_10"
	
}
rule CS_Grunt_NearPanic_Alyx
{
	criteria		IsCombineS IsClass_Grunt ConceptNearPanic EnemyIsPlayer
	response		CS_Grunt_NearPanic_Alyx
}


//========================================================================================================
// FIRING
//====================================================================
response CS_Officer_Firing
{
	speak "vo.combine.officer.firing_01" respeakdelay 30
	speak "vo.combine.officer.firing_02" respeakdelay 30
	speak "vo.combine.officer.firing_03" respeakdelay 30
	speak "vo.combine.officer.firing_04" respeakdelay 30
	speak "vo.combine.officer.firing_05" respeakdelay 30
	speak "vo.combine.officer.firing_06" respeakdelay 30
	
	speak "vo.combine.officer.firing_player_01" respeakdelay 30
	speak "vo.combine.officer.firing_player_02" respeakdelay 30
	speak "vo.combine.officer.firing_player_03" respeakdelay 30
	speak "vo.combine.officer.firing_player_04" respeakdelay 30
	speak "vo.combine.officer.firing_player_05" respeakdelay 30
}

rule CS_Officer_Firing
{
	criteria		IsCombineS IsClass_Officer ConceptFiring 
	response		CS_Officer_Firing
}

response CS_Charger_Firing
{
	speak "vo.combine.charger.firing_01" respeakdelay 30
	speak "vo.combine.charger.firing_02" respeakdelay 30
	speak "vo.combine.charger.firing_03" respeakdelay 30
	speak "vo.combine.charger.firing_04" respeakdelay 30
	speak "vo.combine.charger.firing_05" respeakdelay 30
	speak "vo.combine.charger.firing_06" respeakdelay 30
	speak "vo.combine.charger.firing_07" respeakdelay 30
	speak "vo.combine.charger.firing_08" respeakdelay 30
	speak "vo.combine.charger.firing_09" respeakdelay 30
	speak "vo.combine.charger.firing_10" respeakdelay 30
}

rule CS_Charger_Firing
{
	criteria		IsCombineS IsClass_Charger ConceptFiring 
	response		CS_Charger_Firing
}

response CS_Suppressor_Firing
{
	speak "vo.combine.suppressor.firing_01" respeakdelay 30
	speak "vo.combine.suppressor.firing_02" respeakdelay 30
	speak "vo.combine.suppressor.firing_03" respeakdelay 30
	speak "vo.combine.suppressor.firing_04" respeakdelay 30
	speak "vo.combine.suppressor.firing_05" respeakdelay 30
	speak "vo.combine.suppressor.firing_06" respeakdelay 30
	speak "vo.combine.suppressor.firing_07" respeakdelay 30
	speak "vo.combine.suppressor.firing_08" respeakdelay 30
	speak "vo.combine.suppressor.firing_09" respeakdelay 30
	speak "vo.combine.suppressor.firing_10" respeakdelay 30
}

rule CS_Suppressor_Firing
{
	criteria		IsCombineS IsClass_Suppressor ConceptFiring 
	response		CS_Suppressor_Firing
}

response CS_Grunt_Firing
{
	speak "vo.combine.grunt.firing_01" respeakdelay 30
	speak "vo.combine.grunt.firing_02" respeakdelay 30
	speak "vo.combine.grunt.firing_03" respeakdelay 30
	speak "vo.combine.grunt.firing_04" respeakdelay 30
	speak "vo.combine.grunt.firing_05" respeakdelay 30
	speak "vo.combine.grunt.firing_06" respeakdelay 30
	speak "vo.combine.grunt.firing_07" respeakdelay 30
	speak "vo.combine.grunt.firing_08" respeakdelay 30
	speak "vo.combine.grunt.firing_09" respeakdelay 30
	speak "vo.combine.grunt.firing_10" respeakdelay 30
}

rule CS_Grunt_Firing
{
	criteria		IsCombineS IsClass_Grunt ConceptFiring 
	response		CS_Grunt_Firing
}

//========================================================================================================
// FIND ENEMY
//====================================================================
response CS_Officer_FindEnemy
{
	speak "vo.combine.officer.refindenemy_01"
	speak "vo.combine.officer.refindenemy_02"
	speak "vo.combine.officer.refindenemy_03"
	speak "vo.combine.officer.refindenemy_04"
	speak "vo.combine.officer.refindenemy_05"
	speak "vo.combine.officer.refindenemy_06"
	speak "vo.combine.officer.refindenemy_07"
	speak "vo.combine.officer.refindenemy_08"
	speak "vo.combine.officer.refindenemy_09"
	speak "vo.combine.officer.refindenemy_10"
	speak "vo.combine.officer.refindenemy_11"
	speak "vo.combine.officer.refindenemy_12"
	speak "vo.combine.officer.refindenemy_13"
	speak "vo.combine.officer.refindenemy_14"
}

rule CS_Officer_FindEnemy
{
	criteria		IsCombineS IsClass_Officer ConceptFindEnemy 
	response		CS_Officer_FindEnemy
}

response CS_Charger_FindEnemy
{
	speak "vo.combine.charger.refindenemy_01"
	speak "vo.combine.charger.refindenemy_02"
	speak "vo.combine.charger.refindenemy_03"
	speak "vo.combine.charger.refindenemy_04"
	speak "vo.combine.charger.refindenemy_05"
	speak "vo.combine.charger.refindenemy_06"
	speak "vo.combine.charger.refindenemy_07"
	speak "vo.combine.charger.refindenemy_08"
	speak "vo.combine.charger.refindenemy_09"
	speak "vo.combine.charger.refindenemy_10"
	speak "vo.combine.charger.refindenemy_11"
	speak "vo.combine.charger.refindenemy_12"
	speak "vo.combine.charger.refindenemy_13"
	speak "vo.combine.charger.refindenemy_14"
	speak "vo.combine.charger.refindenemy_15"
	speak "vo.combine.charger.refindenemy_16"
	speak "vo.combine.charger.refindenemy_17"
	speak "vo.combine.charger.refindenemy_18"
	speak "vo.combine.charger.refindenemy_19"
	speak "vo.combine.charger.refindenemy_20"
	speak "vo.combine.charger.refindenemy_21"
	speak "vo.combine.charger.refindenemy_22"
	speak "vo.combine.charger.refindenemy_23"
	speak "vo.combine.charger.refindenemy_24"
	speak "vo.combine.charger.refindenemy_25"
	speak "vo.combine.charger.refindenemy_26"
	speak "vo.combine.charger.refindenemy_27"
}

rule CS_Charger_FindEnemy
{
	criteria		IsCombineS IsClass_Charger ConceptFindEnemy 
	response		CS_Charger_FindEnemy
}

response CS_Suppressor_FindEnemy
{
	speak "vo.combine.suppressor.refindenemy_01"
	speak "vo.combine.suppressor.refindenemy_02"
	speak "vo.combine.suppressor.refindenemy_03"
	speak "vo.combine.suppressor.refindenemy_04"
	speak "vo.combine.suppressor.refindenemy_05"
	speak "vo.combine.suppressor.refindenemy_06"
	speak "vo.combine.suppressor.refindenemy_07"
	speak "vo.combine.suppressor.refindenemy_08"
	speak "vo.combine.suppressor.refindenemy_09"
	speak "vo.combine.suppressor.refindenemy_10"
	speak "vo.combine.suppressor.refindenemy_11"
	speak "vo.combine.suppressor.refindenemy_12"
	speak "vo.combine.suppressor.refindenemy_13"
	speak "vo.combine.suppressor.refindenemy_14"
	speak "vo.combine.suppressor.refindenemy_15"
	speak "vo.combine.suppressor.refindenemy_16"
	speak "vo.combine.suppressor.refindenemy_17"
	speak "vo.combine.suppressor.refindenemy_18"
	speak "vo.combine.suppressor.refindenemy_19"
	speak "vo.combine.suppressor.refindenemy_20"
	speak "vo.combine.suppressor.refindenemy_21"
	speak "vo.combine.suppressor.refindenemy_22"
	speak "vo.combine.suppressor.refindenemy_23"
	speak "vo.combine.suppressor.refindenemy_24"
	speak "vo.combine.suppressor.refindenemy_25"
	speak "vo.combine.suppressor.refindenemy_26"
	speak "vo.combine.suppressor.refindenemy_27"
}

rule CS_Suppressor_FindEnemy
{
	criteria		IsCombineS IsClass_Suppressor ConceptFindEnemy 
	response		CS_Suppressor_FindEnemy
}

response CS_Grunt_FindEnemy
{
	speak "Soldier04.Soldier4FindHer"
}

rule CS_Grunt_FindEnemy
{
	criteria		IsCombineS IsClass_Grunt ConceptFindEnemy 
	response		CS_Grunt_FindEnemy
}

//========================================================================================================
// FLUSHING ENEMY OUT OF COVER
//====================================================================
response CS_Officer_FlushingEnemy
{
	speak "vo.combine.officer.flushing_01"
	speak "vo.combine.officer.flushing_02"
	speak "vo.combine.officer.flushing_03"
	speak "vo.combine.officer.flushing_04"
	speak "vo.combine.officer.flushing_05"
	speak "vo.combine.officer.flushing_06"
	speak "vo.combine.officer.flushing_07"
}

rule CS_Officer_FlushingEnemy
{
	criteria		IsCombineS IsClass_Officer ConceptFlushingEnemy 
	response		CS_Officer_FlushingEnemy
}

response CS_Charger_FlushingEnemy
{
	// script has not been written yet
	//speak "Soldier01.Soldier1FlushingHerOut"
}

rule CS_Charger_FlushingEnemy
{
	criteria		IsCombineS IsClass_Charger ConceptFlushingEnemy 
	response		CS_Charger_FlushingEnemy
}

response CS_Suppressor_FlushingEnemy
{
	speak "vo.combine.suppressor.advancing_on_target_01"
	speak "vo.combine.suppressor.advancing_on_target_02"
	speak "vo.combine.suppressor.advancing_on_target_03"
	speak "vo.combine.suppressor.advancing_on_target_04"
	speak "vo.combine.suppressor.advancing_on_target_05"
	speak "vo.combine.suppressor.advancing_on_target_06"
	speak "vo.combine.suppressor.advancing_on_target_07"
	speak "vo.combine.suppressor.advancing_on_target_08"
	speak "vo.combine.suppressor.advancing_on_target_09"
	speak "vo.combine.suppressor.advancing_on_target_10"
	speak "vo.combine.suppressor.advancing_on_target_11"
	speak "vo.combine.suppressor.advancing_on_target_12"
	speak "vo.combine.suppressor.advancing_on_target_13"
	speak "vo.combine.suppressor.advancing_on_target_14"
	speak "vo.combine.suppressor.advancing_on_target_15"
	speak "vo.combine.suppressor.advancing_on_target_16"
	speak "vo.combine.suppressor.advancing_on_target_17"
	speak "vo.combine.suppressor.advancing_on_target_18"
	speak "vo.combine.suppressor.advancing_on_target_19"
	speak "vo.combine.suppressor.advancing_on_target_20"
	speak "vo.combine.suppressor.advancing_on_target_21"
	speak "vo.combine.suppressor.advancing_on_target_22"
	speak "vo.combine.suppressor.advancing_on_target_23"
	speak "vo.combine.suppressor.advancing_on_target_24"
	speak "vo.combine.suppressor.advancing_on_target_25"
	speak "vo.combine.suppressor.advancing_on_target_26"
	speak "vo.combine.suppressor.advancing_on_target_27"
}

rule CS_Suppressor_FlushingEnemy
{
	criteria		IsCombineS IsClass_Suppressor ConceptFlushingEnemy 
	response		CS_Suppressor_FlushingEnemy
}

response CS_Grunt_FlushingEnemy
{
	speak "vo.combine.grunt.flushing_01"
	speak "vo.combine.grunt.flushing_02"
	speak "vo.combine.grunt.flushing_03"
	speak "vo.combine.grunt.flushing_04"
	speak "vo.combine.grunt.flushing_05"
	speak "vo.combine.grunt.flushing_06"
	speak "vo.combine.grunt.flushing_07"
}

rule CS_Grunt_FlushingEnemy
{
	criteria		IsCombineS IsClass_Grunt ConceptFlushingEnemy 
	response		CS_Grunt_FlushingEnemy
}

//========================================================================================================
// RECONNOITER START
//====================================================================
response CS_Officer_Reconnoiter
{
	speak "vo.combine.officer.reconnoiter_start_01"
	speak "vo.combine.officer.reconnoiter_start_02"
	speak "vo.combine.officer.reconnoiter_start_03"
	speak "vo.combine.officer.reconnoiter_start_04"
	speak "vo.combine.officer.reconnoiter_start_05"
	speak "vo.combine.officer.reconnoiter_start_06"
	speak "vo.combine.officer.reconnoiter_start_07"
	speak "vo.combine.officer.reconnoiter_start_08"
	speak "vo.combine.officer.reconnoiter_start_09"
	speak "vo.combine.officer.reconnoiter_start_10"
	speak "vo.combine.officer.reconnoiter_start_11"
	speak "vo.combine.officer.reconnoiter_start_12"
	speak "vo.combine.officer.reconnoiter_start_13"
}

rule CS_Officer_Reconnoiter
{
	criteria		IsCombineS IsClass_Officer ConceptReconnoiterStart 
	response		CS_Officer_Reconnoiter
}

response CS_Charger_Reconnoiter
{
	speak "vo.combine.charger.reconnoiter_start_01"
	speak "vo.combine.charger.reconnoiter_start_02"
	speak "vo.combine.charger.reconnoiter_start_03"
	speak "vo.combine.charger.reconnoiter_start_04"
	speak "vo.combine.charger.reconnoiter_start_05"
	speak "vo.combine.charger.reconnoiter_start_06"
	speak "vo.combine.charger.reconnoiter_start_07"
	speak "vo.combine.charger.reconnoiter_start_08"
	speak "vo.combine.charger.reconnoiter_start_09"
	speak "vo.combine.charger.reconnoiter_start_10"
	speak "vo.combine.charger.reconnoiter_start_11"
	speak "vo.combine.charger.reconnoiter_start_12"
	speak "vo.combine.charger.reconnoiter_start_13"
	speak "vo.combine.charger.reconnoiter_start_14"
	speak "vo.combine.charger.reconnoiter_start_15"
	speak "vo.combine.charger.reconnoiter_start_16"
	speak "vo.combine.charger.reconnoiter_start_17"
	speak "vo.combine.charger.reconnoiter_start_18"
	speak "vo.combine.charger.reconnoiter_start_19"
	speak "vo.combine.charger.reconnoiter_start_20"
	speak "vo.combine.charger.reconnoiter_start_21"
	speak "vo.combine.charger.reconnoiter_start_22"
	speak "vo.combine.charger.reconnoiter_start_23"
	speak "vo.combine.charger.reconnoiter_start_24"
	speak "vo.combine.charger.reconnoiter_start_25"
	speak "vo.combine.charger.reconnoiter_start_26"
	speak "vo.combine.charger.reconnoiter_start_27"
	speak "vo.combine.charger.reconnoiter_start_28"
	speak "vo.combine.charger.reconnoiter_start_29"
	speak "vo.combine.charger.reconnoiter_start_30"
}

rule CS_Charger_Reconnoiter
{
	criteria		IsCombineS IsClass_Charger ConceptReconnoiterStart 
	response		CS_Charger_Reconnoiter
}

response CS_Suppressor_Reconnoiter
{
	speak "vo.combine.suppressor.coverme_01"
	speak "vo.combine.suppressor.coverme_02"
	speak "vo.combine.suppressor.coverme_03"
	speak "vo.combine.suppressor.coverme_04"
	speak "vo.combine.suppressor.coverme_05"
	speak "vo.combine.suppressor.coverme_06"
	speak "vo.combine.suppressor.coverme_07"
}

rule CS_Suppressor_Reconnoiter
{
	criteria		IsCombineS IsClass_Suppressor ConceptReconnoiterStart 
	response		CS_Suppressor_Reconnoiter
}

response CS_Grunt_Reconnoiter
{
	speak "vo.combine.grunt.reconnoiter_start_01"
	speak "vo.combine.grunt.reconnoiter_start_02"
	speak "vo.combine.grunt.reconnoiter_start_03"
	speak "vo.combine.grunt.reconnoiter_start_04"
	speak "vo.combine.grunt.reconnoiter_start_05"
	speak "vo.combine.grunt.reconnoiter_start_06"
	speak "vo.combine.grunt.reconnoiter_start_07"
	speak "vo.combine.grunt.reconnoiter_start_08"
	speak "vo.combine.grunt.reconnoiter_start_09"
	speak "vo.combine.grunt.reconnoiter_start_10"
	speak "vo.combine.grunt.reconnoiter_start_11"
	speak "vo.combine.grunt.reconnoiter_start_12"
	speak "vo.combine.grunt.reconnoiter_start_13"
	speak "vo.combine.grunt.reconnoiter_start_14"
	speak "vo.combine.grunt.reconnoiter_start_15"
	speak "vo.combine.grunt.reconnoiter_start_16"
	speak "vo.combine.grunt.reconnoiter_start_17"
	speak "vo.combine.grunt.reconnoiter_start_18"
	speak "vo.combine.grunt.reconnoiter_start_19"
	speak "vo.combine.grunt.reconnoiter_start_20"
	speak "vo.combine.grunt.reconnoiter_start_21"
	speak "vo.combine.grunt.reconnoiter_start_22"
	speak "vo.combine.grunt.reconnoiter_start_23"
	speak "vo.combine.grunt.reconnoiter_start_24"
	speak "vo.combine.grunt.reconnoiter_start_25"
	speak "vo.combine.grunt.reconnoiter_start_26"
	speak "vo.combine.grunt.reconnoiter_start_27"
	speak "vo.combine.grunt.reconnoiter_start_28"
	speak "vo.combine.grunt.reconnoiter_start_29"
	speak "vo.combine.grunt.reconnoiter_start_30"
}

rule CS_Grunt_Reconnoiter
{
	criteria		IsCombineS IsClass_Grunt ConceptReconnoiterStart 
	response		CS_Grunt_Reconnoiter
}

//========================================================================================================
// RECONNOITER SEARCH
//====================================================================
response CS_Officer_ReconnoiterSearch
{
	speak "vo.combine.officer.reconnoiter_search_01"
	speak "vo.combine.officer.reconnoiter_search_02"
	speak "vo.combine.officer.reconnoiter_search_03"
	speak "vo.combine.officer.reconnoiter_search_04"
	speak "vo.combine.officer.reconnoiter_search_05"
	speak "vo.combine.officer.reconnoiter_search_06"
	speak "vo.combine.officer.reconnoiter_search_07"
	speak "vo.combine.officer.reconnoiter_search_08"
	speak "vo.combine.officer.reconnoiter_search_09"
	speak "vo.combine.officer.reconnoiter_search_10"
	speak "vo.combine.officer.reconnoiter_search_11"
	speak "vo.combine.officer.reconnoiter_search_12"
	speak "vo.combine.officer.reconnoiter_search_13"
	speak "vo.combine.officer.reconnoiter_search_14"
	speak "vo.combine.officer.reconnoiter_search_15"
	speak "vo.combine.officer.reconnoiter_search_16"
}

rule CS_Officer_ReconnoiterSearch
{
	criteria		IsCombineS IsClass_Officer ConceptReconnoiterSearch 
	response		CS_Officer_ReconnoiterSearch
}

response CS_Charger_ReconnoiterSearch
{
	speak "vo.combine.charger.reconnoiter_search_01"
	speak "vo.combine.charger.reconnoiter_search_02"
	speak "vo.combine.charger.reconnoiter_search_03"
	speak "vo.combine.charger.reconnoiter_search_04"
	speak "vo.combine.charger.reconnoiter_search_05"
	speak "vo.combine.charger.reconnoiter_search_06"
	speak "vo.combine.charger.reconnoiter_search_07"
	speak "vo.combine.charger.reconnoiter_search_08"
	speak "vo.combine.charger.reconnoiter_search_09"
	speak "vo.combine.charger.reconnoiter_search_10"
	speak "vo.combine.charger.reconnoiter_search_11"
	speak "vo.combine.charger.reconnoiter_search_12"
	speak "vo.combine.charger.reconnoiter_search_13"
	speak "vo.combine.charger.reconnoiter_search_14"
	speak "vo.combine.charger.reconnoiter_search_15"
	speak "vo.combine.charger.reconnoiter_search_16"
	speak "vo.combine.charger.reconnoiter_search_17"
	speak "vo.combine.charger.reconnoiter_search_18"
	speak "vo.combine.charger.reconnoiter_search_19"
	speak "vo.combine.charger.reconnoiter_search_20"
	speak "vo.combine.charger.reconnoiter_search_21"
	speak "vo.combine.charger.reconnoiter_search_22"
	speak "vo.combine.charger.reconnoiter_search_23"
	speak "vo.combine.charger.reconnoiter_search_24"
	speak "vo.combine.charger.reconnoiter_search_25"
	speak "vo.combine.charger.reconnoiter_search_26"
	speak "vo.combine.charger.reconnoiter_search_27"
	speak "vo.combine.charger.reconnoiter_search_28"
	speak "vo.combine.charger.reconnoiter_search_29"
	speak "vo.combine.charger.reconnoiter_search_30"
}

rule CS_Charger_ReconnoiterSearch
{
	criteria		IsCombineS IsClass_Charger ConceptReconnoiterSearch 
	response		CS_Charger_ReconnoiterSearch
}

response CS_Suppressor_ReconnoiterSearch
{
	speak "vo.combine.suppressor.reconnoiter_search_01"
	speak "vo.combine.suppressor.reconnoiter_search_02"
	speak "vo.combine.suppressor.reconnoiter_search_03"
	speak "vo.combine.suppressor.reconnoiter_search_04"
	speak "vo.combine.suppressor.reconnoiter_search_05"
	speak "vo.combine.suppressor.reconnoiter_search_06"
	speak "vo.combine.suppressor.reconnoiter_search_07"
	speak "vo.combine.suppressor.reconnoiter_search_08"
	speak "vo.combine.suppressor.reconnoiter_search_09"
	speak "vo.combine.suppressor.reconnoiter_search_10"
	speak "vo.combine.suppressor.reconnoiter_search_11"
	speak "vo.combine.suppressor.reconnoiter_search_12"
	speak "vo.combine.suppressor.reconnoiter_search_13"
	speak "vo.combine.suppressor.reconnoiter_search_14"
	speak "vo.combine.suppressor.reconnoiter_search_15"
	speak "vo.combine.suppressor.reconnoiter_search_16"
	speak "vo.combine.suppressor.reconnoiter_search_17"
	speak "vo.combine.suppressor.reconnoiter_search_18"
	speak "vo.combine.suppressor.reconnoiter_search_19"
	speak "vo.combine.suppressor.reconnoiter_search_20"
	speak "vo.combine.suppressor.reconnoiter_search_21"
	speak "vo.combine.suppressor.reconnoiter_search_22"
	speak "vo.combine.suppressor.reconnoiter_search_23"
	speak "vo.combine.suppressor.reconnoiter_search_24"
	speak "vo.combine.suppressor.reconnoiter_search_25"
	speak "vo.combine.suppressor.reconnoiter_search_26"
	speak "vo.combine.suppressor.reconnoiter_search_27"
	speak "vo.combine.suppressor.reconnoiter_search_28"
	speak "vo.combine.suppressor.reconnoiter_search_29"
	speak "vo.combine.suppressor.reconnoiter_search_30"
}

rule CS_Suppressor_ReconnoiterSearch
{
	criteria		IsCombineS IsClass_Suppressor ConceptReconnoiterSearch 
	response		CS_Suppressor_ReconnoiterSearch
}

response CS_Grunt_ReconnoiterSearch
{
	speak "vo.combine.grunt.reconnoiter_search_01"
	speak "vo.combine.grunt.reconnoiter_search_02"
	speak "vo.combine.grunt.reconnoiter_search_03"
	speak "vo.combine.grunt.reconnoiter_search_04"
	speak "vo.combine.grunt.reconnoiter_search_05"
	speak "vo.combine.grunt.reconnoiter_search_06"
	speak "vo.combine.grunt.reconnoiter_search_07"
	speak "vo.combine.grunt.reconnoiter_search_08"
	speak "vo.combine.grunt.reconnoiter_search_09"
	speak "vo.combine.grunt.reconnoiter_search_10"
	speak "vo.combine.grunt.reconnoiter_search_11"
	speak "vo.combine.grunt.reconnoiter_search_12"
	speak "vo.combine.grunt.reconnoiter_search_13"
	speak "vo.combine.grunt.reconnoiter_search_14"
	speak "vo.combine.grunt.reconnoiter_search_15"
	speak "vo.combine.grunt.reconnoiter_search_16"
	speak "vo.combine.grunt.reconnoiter_search_17"
	speak "vo.combine.grunt.reconnoiter_search_18"
	speak "vo.combine.grunt.reconnoiter_search_19"
	speak "vo.combine.grunt.reconnoiter_search_20"
	speak "vo.combine.grunt.reconnoiter_search_21"
	speak "vo.combine.grunt.reconnoiter_search_22"
	speak "vo.combine.grunt.reconnoiter_search_23"
	speak "vo.combine.grunt.reconnoiter_search_24"
	speak "vo.combine.grunt.reconnoiter_search_25"
	speak "vo.combine.grunt.reconnoiter_search_26"
	speak "vo.combine.grunt.reconnoiter_search_27"
	speak "vo.combine.grunt.reconnoiter_search_28"
	speak "vo.combine.grunt.reconnoiter_search_29"
	speak "vo.combine.grunt.reconnoiter_search_30"
	speak "vo.combine.grunt.reconnoiter_search_31"
	speak "vo.combine.grunt.reconnoiter_search_32"
	speak "vo.combine.grunt.reconnoiter_search_33"
	speak "vo.combine.grunt.reconnoiter_search_34"
	speak "vo.combine.grunt.reconnoiter_search_35"
	speak "vo.combine.grunt.reconnoiter_search_36"
	speak "vo.combine.grunt.reconnoiter_search_37"
	
}

rule CS_Grunt_ReconnoiterSearch
{
	criteria		IsCombineS IsClass_Grunt ConceptReconnoiterSearch 
	response		CS_Grunt_ReconnoiterSearch
}

//========================================================================================================
// RECONNOITER END
//====================================================================
response CS_Officer_ReconnoiterFinish
{
	speak "vo.combine.officer.reconnoiter_finish_01"
	speak "vo.combine.officer.reconnoiter_finish_02"
	speak "vo.combine.officer.reconnoiter_finish_03"
	speak "vo.combine.officer.reconnoiter_finish_04"
	speak "vo.combine.officer.reconnoiter_finish_05"
	speak "vo.combine.officer.reconnoiter_finish_06"
	speak "vo.combine.officer.reconnoiter_finish_07"
	speak "vo.combine.officer.reconnoiter_finish_08"
	speak "vo.combine.officer.reconnoiter_finish_09"
	speak "vo.combine.officer.reconnoiter_finish_10"
	speak "vo.combine.officer.reconnoiter_finish_11"
	speak "vo.combine.officer.reconnoiter_finish_12"
	speak "vo.combine.officer.reconnoiter_finish_13"
	speak "vo.combine.officer.reconnoiter_finish_14"
	speak "vo.combine.officer.reconnoiter_finish_15"
	speak "vo.combine.officer.reconnoiter_finish_16"
	speak "vo.combine.officer.reconnoiter_finish_17"
	speak "vo.combine.officer.reconnoiter_finish_18"
}

rule CS_Officer_ReconnoiterFinish
{
	criteria		IsCombineS IsClass_Officer ConceptReconnoiterFinish 
	response		CS_Officer_ReconnoiterFinish
}

response CS_Charger_ReconnoiterFinish
{
	speak "vo.combine.charger.reconnoiter_finish_01"
	speak "vo.combine.charger.reconnoiter_finish_02"
	speak "vo.combine.charger.reconnoiter_finish_03"
	speak "vo.combine.charger.reconnoiter_finish_04"
	speak "vo.combine.charger.reconnoiter_finish_05"
	speak "vo.combine.charger.reconnoiter_finish_06"
	speak "vo.combine.charger.reconnoiter_finish_07"
	speak "vo.combine.charger.reconnoiter_finish_08"
	speak "vo.combine.charger.reconnoiter_finish_09"
	speak "vo.combine.charger.reconnoiter_finish_10"
	speak "vo.combine.charger.reconnoiter_finish_11"
	speak "vo.combine.charger.reconnoiter_finish_12"
	speak "vo.combine.charger.reconnoiter_finish_13"
	speak "vo.combine.charger.reconnoiter_finish_14"
	speak "vo.combine.charger.reconnoiter_finish_15"
	speak "vo.combine.charger.reconnoiter_finish_16"
	speak "vo.combine.charger.reconnoiter_finish_17"
	speak "vo.combine.charger.reconnoiter_finish_18"
	speak "vo.combine.charger.reconnoiter_finish_19"
	speak "vo.combine.charger.reconnoiter_finish_20"
	speak "vo.combine.charger.reconnoiter_finish_21"
	speak "vo.combine.charger.reconnoiter_finish_22"
	speak "vo.combine.charger.reconnoiter_finish_23"
	speak "vo.combine.charger.reconnoiter_finish_24"
	speak "vo.combine.charger.reconnoiter_finish_25"
	speak "vo.combine.charger.reconnoiter_finish_26"
	speak "vo.combine.charger.reconnoiter_finish_27"
	speak "vo.combine.charger.reconnoiter_finish_28"
	speak "vo.combine.charger.reconnoiter_finish_29"
	speak "vo.combine.charger.reconnoiter_finish_30"
}

rule CS_Charger_ReconnoiterFinish
{
	criteria		IsCombineS IsClass_Charger ConceptReconnoiterFinish 
	response		CS_Charger_ReconnoiterFinish
}

response CS_Suppressor_ReconnoiterFinish
{
	speak "vo.combine.suppressor.reconnoiter_finish_01"
	speak "vo.combine.suppressor.reconnoiter_finish_02"
	speak "vo.combine.suppressor.reconnoiter_finish_03"
	speak "vo.combine.suppressor.reconnoiter_finish_04"
	speak "vo.combine.suppressor.reconnoiter_finish_05"
	speak "vo.combine.suppressor.reconnoiter_finish_06"
	speak "vo.combine.suppressor.reconnoiter_finish_07"
	speak "vo.combine.suppressor.reconnoiter_finish_08"
	speak "vo.combine.suppressor.reconnoiter_finish_09"
	speak "vo.combine.suppressor.reconnoiter_finish_10"
	speak "vo.combine.suppressor.reconnoiter_finish_11"
	speak "vo.combine.suppressor.reconnoiter_finish_12"
	speak "vo.combine.suppressor.reconnoiter_finish_13"
	speak "vo.combine.suppressor.reconnoiter_finish_14"
	speak "vo.combine.suppressor.reconnoiter_finish_15"
	speak "vo.combine.suppressor.reconnoiter_finish_16"
	speak "vo.combine.suppressor.reconnoiter_finish_17"
	speak "vo.combine.suppressor.reconnoiter_finish_18"
	speak "vo.combine.suppressor.reconnoiter_finish_19"
	speak "vo.combine.suppressor.reconnoiter_finish_20"
	speak "vo.combine.suppressor.reconnoiter_finish_21"
	speak "vo.combine.suppressor.reconnoiter_finish_22"
	speak "vo.combine.suppressor.reconnoiter_finish_23"
	speak "vo.combine.suppressor.reconnoiter_finish_24"
	speak "vo.combine.suppressor.reconnoiter_finish_25"
	speak "vo.combine.suppressor.reconnoiter_finish_26"
	speak "vo.combine.suppressor.reconnoiter_finish_27"
	speak "vo.combine.suppressor.reconnoiter_finish_28"
	speak "vo.combine.suppressor.reconnoiter_finish_29"
	speak "vo.combine.suppressor.reconnoiter_finish_30"
}

rule CS_Suppressor_ReconnoiterFinish
{
	criteria		IsCombineS IsClass_Suppressor ConceptReconnoiterFinish 
	response		CS_Suppressor_ReconnoiterFinish
}

response CS_Grunt_ReconnoiterFinish
{
	speak "vo.combine.grunt.reconnoiter_finish_01"
	speak "vo.combine.grunt.reconnoiter_finish_02"
	speak "vo.combine.grunt.reconnoiter_finish_03"
	speak "vo.combine.grunt.reconnoiter_finish_04"
	speak "vo.combine.grunt.reconnoiter_finish_05"
	speak "vo.combine.grunt.reconnoiter_finish_06"
	speak "vo.combine.grunt.reconnoiter_finish_07"
	speak "vo.combine.grunt.reconnoiter_finish_08"
	speak "vo.combine.grunt.reconnoiter_finish_09"
	speak "vo.combine.grunt.reconnoiter_finish_10"
	speak "vo.combine.grunt.reconnoiter_finish_11"
	speak "vo.combine.grunt.reconnoiter_finish_12"
	speak "vo.combine.grunt.reconnoiter_finish_13"
	speak "vo.combine.grunt.reconnoiter_finish_14"
	speak "vo.combine.grunt.reconnoiter_finish_15"
	speak "vo.combine.grunt.reconnoiter_finish_16"
	speak "vo.combine.grunt.reconnoiter_finish_17"
	speak "vo.combine.grunt.reconnoiter_finish_18"
	speak "vo.combine.grunt.reconnoiter_finish_19"
	speak "vo.combine.grunt.reconnoiter_finish_20"
	speak "vo.combine.grunt.reconnoiter_finish_21"
	speak "vo.combine.grunt.reconnoiter_finish_22"
	speak "vo.combine.grunt.reconnoiter_finish_23"
	speak "vo.combine.grunt.reconnoiter_finish_24"
	speak "vo.combine.grunt.reconnoiter_finish_25"
	speak "vo.combine.grunt.reconnoiter_finish_26"
	speak "vo.combine.grunt.reconnoiter_finish_27"
	speak "vo.combine.grunt.reconnoiter_finish_28"
	speak "vo.combine.grunt.reconnoiter_finish_29"
	speak "vo.combine.grunt.reconnoiter_finish_30"
	speak "vo.combine.grunt.reconnoiter_finish_31"
	speak "vo.combine.grunt.reconnoiter_finish_32"
	speak "vo.combine.grunt.reconnoiter_finish_33"
	speak "vo.combine.grunt.reconnoiter_finish_34"
}

rule CS_Grunt_ReconnoiterFinish
{
	criteria		IsCombineS IsClass_Grunt ConceptReconnoiterFinish 
	response		CS_Grunt_ReconnoiterFinish
}


//========================================================================================================
// MOVING TOWARDS OUR ENEMY
//====================================================================
response CS_Officer_AdvancingOnTarget
{
	speak "vo.combine.officer.advancing_on_target_01"
	speak "vo.combine.officer.advancing_on_target_02"
	speak "vo.combine.officer.advancing_on_target_03"
	speak "vo.combine.officer.advancing_on_target_04"
	speak "vo.combine.officer.advancing_on_target_05"
	speak "vo.combine.officer.advancing_on_target_06"
	speak "vo.combine.officer.advancing_on_target_07"
	speak "vo.combine.officer.advancing_on_target_08"
	speak "vo.combine.officer.advancing_on_target_09"
	speak "vo.combine.officer.advancing_on_target_10"
	speak "vo.combine.officer.advancing_on_target_11"
	speak "vo.combine.officer.advancing_on_target_12"
	speak "vo.combine.officer.advancing_on_target_13"
	speak "vo.combine.officer.advancing_on_target_14"
}

rule CS_Officer_AdvancingOnTarget
{
	criteria		IsCombineS IsClass_Officer ConceptAdvancingOnTarget 
	response		CS_Officer_AdvancingOnTarget
}

response CS_Charger_AdvancingOnTarget
{
	speak "vo.combine.charger.advancing_on_target_01"
	speak "vo.combine.charger.advancing_on_target_02"
	speak "vo.combine.charger.advancing_on_target_03"
	speak "vo.combine.charger.advancing_on_target_04"
	speak "vo.combine.charger.advancing_on_target_05"
	speak "vo.combine.charger.advancing_on_target_06"
	speak "vo.combine.charger.advancing_on_target_07"
	speak "vo.combine.charger.advancing_on_target_08"
	speak "vo.combine.charger.advancing_on_target_09"
	speak "vo.combine.charger.advancing_on_target_10"
	speak "vo.combine.charger.advancing_on_target_11"
	speak "vo.combine.charger.advancing_on_target_12"
	speak "vo.combine.charger.advancing_on_target_13"
	speak "vo.combine.charger.advancing_on_target_14"
	speak "vo.combine.charger.advancing_on_target_15"
	speak "vo.combine.charger.advancing_on_target_16"
	speak "vo.combine.charger.advancing_on_target_17"
	speak "vo.combine.charger.advancing_on_target_18"
	speak "vo.combine.charger.advancing_on_target_19"
	speak "vo.combine.charger.advancing_on_target_20"
	speak "vo.combine.charger.advancing_on_target_21"
	speak "vo.combine.charger.advancing_on_target_22"
	speak "vo.combine.charger.advancing_on_target_23"
	speak "vo.combine.charger.advancing_on_target_24"
	speak "vo.combine.charger.advancing_on_target_25"
	speak "vo.combine.charger.advancing_on_target_26"
	speak "vo.combine.charger.advancing_on_target_27"
}

rule CS_Charger_AdvancingOnTarget
{
	criteria		IsCombineS IsClass_Charger ConceptAdvancingOnTarget 
	response		CS_Charger_AdvancingOnTarget
}

response CS_Suppressor_AdvancingOnTarget
{
	speak "vo.combine.suppressor.advancing_on_target_01"
	speak "vo.combine.suppressor.advancing_on_target_02"
	speak "vo.combine.suppressor.advancing_on_target_03"
	speak "vo.combine.suppressor.advancing_on_target_04"
	speak "vo.combine.suppressor.advancing_on_target_05"
	speak "vo.combine.suppressor.advancing_on_target_06"
	speak "vo.combine.suppressor.advancing_on_target_07"
	speak "vo.combine.suppressor.advancing_on_target_08"
	speak "vo.combine.suppressor.advancing_on_target_09"
	speak "vo.combine.suppressor.advancing_on_target_10"
	speak "vo.combine.suppressor.advancing_on_target_11"
	speak "vo.combine.suppressor.advancing_on_target_12"
	speak "vo.combine.suppressor.advancing_on_target_13"
	speak "vo.combine.suppressor.advancing_on_target_14"
	speak "vo.combine.suppressor.advancing_on_target_15"
	speak "vo.combine.suppressor.advancing_on_target_16"
	speak "vo.combine.suppressor.advancing_on_target_17"
	speak "vo.combine.suppressor.advancing_on_target_18"
	speak "vo.combine.suppressor.advancing_on_target_19"
	speak "vo.combine.suppressor.advancing_on_target_20"
	speak "vo.combine.suppressor.advancing_on_target_21"
	speak "vo.combine.suppressor.advancing_on_target_22"
	speak "vo.combine.suppressor.advancing_on_target_23"
	speak "vo.combine.suppressor.advancing_on_target_24"
	speak "vo.combine.suppressor.advancing_on_target_25"
	speak "vo.combine.suppressor.advancing_on_target_26"
	speak "vo.combine.suppressor.advancing_on_target_27"
}

rule CS_Suppressor_AdvancingOnTarget
{
	criteria		IsCombineS IsClass_Suppressor ConceptAdvancingOnTarget 
	response		CS_Suppressor_AdvancingOnTarget
}

response CS_Grunt_AdvancingOnTarget
{
	speak "vo.combine.grunt.advancing_on_target_01"
	speak "vo.combine.grunt.advancing_on_target_02"
	speak "vo.combine.grunt.advancing_on_target_03"
	speak "vo.combine.grunt.advancing_on_target_04"
	speak "vo.combine.grunt.advancing_on_target_05"
	speak "vo.combine.grunt.advancing_on_target_06"
	speak "vo.combine.grunt.advancing_on_target_07"
	speak "vo.combine.grunt.advancing_on_target_08"
	speak "vo.combine.grunt.advancing_on_target_09"
	speak "vo.combine.grunt.advancing_on_target_10"
	speak "vo.combine.grunt.advancing_on_target_11"
	speak "vo.combine.grunt.advancing_on_target_12"
	speak "vo.combine.grunt.advancing_on_target_13"
	speak "vo.combine.grunt.advancing_on_target_14"
	speak "vo.combine.grunt.advancing_on_target_15"
	speak "vo.combine.grunt.advancing_on_target_16"
	speak "vo.combine.grunt.advancing_on_target_17"
	speak "vo.combine.grunt.advancing_on_target_18"
	speak "vo.combine.grunt.advancing_on_target_19"
	speak "vo.combine.grunt.advancing_on_target_20"
	speak "vo.combine.grunt.advancing_on_target_21"
	speak "vo.combine.grunt.advancing_on_target_22"
	speak "vo.combine.grunt.advancing_on_target_23"
	speak "vo.combine.grunt.advancing_on_target_24"
	speak "vo.combine.grunt.advancing_on_target_25"
	speak "vo.combine.grunt.advancing_on_target_26"
	speak "vo.combine.grunt.advancing_on_target_27"
}

rule CS_Grunt_AdvancingOnTarget
{
	criteria		IsCombineS IsClass_Grunt ConceptAdvancingOnTarget 
	response		CS_Grunt_AdvancingOnTarget
}


//========================================================================================================
// ESTABLISHING LINE OF FIRE
//====================================================================
response CS_Officer_EstablishingLOF
{
	speak "vo.combine.officer.establishinglof_01" respeakdelay 30
	speak "vo.combine.officer.establishinglof_02" respeakdelay 30
	speak "vo.combine.officer.establishinglof_03" respeakdelay 30
	speak "vo.combine.officer.establishinglof_04" respeakdelay 30
	speak "vo.combine.officer.establishinglof_05" respeakdelay 30
	speak "vo.combine.officer.establishinglof_06" respeakdelay 30
	speak "vo.combine.officer.establishinglof_07" respeakdelay 30
	speak "vo.combine.officer.establishinglof_08" respeakdelay 30
	speak "vo.combine.officer.establishinglof_09" respeakdelay 30
	speak "vo.combine.officer.establishinglof_10" respeakdelay 30
	speak "vo.combine.officer.establishinglof_11" respeakdelay 30
	speak "vo.combine.officer.establishinglof_12" respeakdelay 30
	speak "vo.combine.officer.establishinglof_13" respeakdelay 30
	speak "vo.combine.officer.establishinglof_14" respeakdelay 30
	speak "vo.combine.officer.establishinglof_15" respeakdelay 30
}

rule CS_Officer_EstablishingLOF
{
	criteria		IsCombineS IsClass_Officer ConceptEstablishingLOF
	response		CS_Officer_EstablishingLOF
}

response CS_Charger_EstablishingLOF
{
	speak "vo.combine.charger.establishinglof_01" respeakdelay 30
	speak "vo.combine.charger.establishinglof_02" respeakdelay 30
	speak "vo.combine.charger.establishinglof_03" respeakdelay 30
	speak "vo.combine.charger.establishinglof_04" respeakdelay 30
	speak "vo.combine.charger.establishinglof_05" respeakdelay 30
	speak "vo.combine.charger.establishinglof_06" respeakdelay 30
	speak "vo.combine.charger.establishinglof_07" respeakdelay 30
	speak "vo.combine.charger.establishinglof_08" respeakdelay 30
	speak "vo.combine.charger.establishinglof_09" respeakdelay 30
	speak "vo.combine.charger.establishinglof_10" respeakdelay 30
	speak "vo.combine.charger.establishinglof_11" respeakdelay 30
	speak "vo.combine.charger.establishinglof_12" respeakdelay 30
	speak "vo.combine.charger.establishinglof_13" respeakdelay 30
	speak "vo.combine.charger.establishinglof_14" respeakdelay 30
	speak "vo.combine.charger.establishinglof_15" respeakdelay 30
	speak "vo.combine.charger.establishinglof_16" respeakdelay 30
	speak "vo.combine.charger.establishinglof_17" respeakdelay 30
	speak "vo.combine.charger.establishinglof_18" respeakdelay 30
	speak "vo.combine.charger.establishinglof_19" respeakdelay 30
}

rule CS_Charger_EstablishingLOF
{
	criteria		IsCombineS IsClass_Charger ConceptEstablishingLOF
	response		CS_Charger_EstablishingLOF
}

response CS_Suppressor_EstablishingLOF
{
	speak "vo.combine.suppressor.establishinglof_01" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_02" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_03" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_04" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_05" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_06" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_07" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_08" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_09" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_10" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_11" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_12" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_13" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_14" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_15" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_16" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_17" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_18" respeakdelay 30
	speak "vo.combine.suppressor.establishinglof_19" respeakdelay 30
}

rule CS_Suppressor_EstablishingLOF
{
	criteria		IsCombineS IsClass_Suppressor ConceptEstablishingLOF
	response		CS_Suppressor_EstablishingLOF
}

response CS_Grunt_EstablishingLOF
{
	speak "vo.combine.grunt.establishinglof_01" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_02" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_03" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_04" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_05" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_06" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_07" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_08" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_09" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_10" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_11" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_12" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_13" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_14" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_15" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_16" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_17" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_18" respeakdelay 30
	speak "vo.combine.grunt.establishinglof_19" respeakdelay 30
}

rule CS_Grunt_EstablishingLOF
{
	criteria		IsCombineS IsClass_Grunt ConceptEstablishingLOF
	response		CS_Grunt_EstablishingLOF
}

//========================================================================================================
// ANNOUNCING A CHARGE
//========================================================================================================
response CS_Charger_AnnounceCharge
{
	speak "vo.combine.charger.announceattack_charge_01" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_02" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_03" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_04" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_05" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_06" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_07" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_08" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_09" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_10" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_11" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_12" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_13" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_14" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_15" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_16" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_17" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_18" predelay 1.5 respeakdelay 15
	speak "vo.combine.charger.announceattack_charge_19" predelay 1.5 respeakdelay 15
}

rule CS_Charger_AnnounceCharge
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge
	response		CS_Charger_AnnounceCharge
}


//========================================================================================================
// REQUESTING COVER
//====================================================================
response CS_Officer_CoverMe
{
	speak "vo.combine.officer.coverme_01" predelay 1 respeakdelay 15
	speak "vo.combine.officer.coverme_02" predelay 1 respeakdelay 15
	speak "vo.combine.officer.coverme_03" predelay 1 respeakdelay 15
	speak "vo.combine.officer.coverme_04" predelay 1 respeakdelay 15
	speak "vo.combine.officer.coverme_05" predelay 1 respeakdelay 15
	speak "vo.combine.officer.coverme_06" predelay 1 respeakdelay 15
	speak "vo.combine.officer.coverme_07" predelay 1 respeakdelay 15
}

rule CS_Officer_CoverMe
{
	criteria		IsCombineS IsClass_Officer ConceptCoverMe HasOtherSquadMembers
	response		CS_Officer_CoverMe
}

response CS_Charger_CoverMe
{
	// coverme dialog has not been written yet. using announceattack instead. 
	speak "vo.combine.charger.announceattack_01" predelay 1 respeakdelay 15
	speak "vo.combine.charger.announceattack_02" predelay 1 respeakdelay 15
	speak "vo.combine.charger.announceattack_03" predelay 1 respeakdelay 15
	speak "vo.combine.charger.announceattack_04" predelay 1 respeakdelay 15
	speak "vo.combine.charger.announceattack_05" predelay 1 respeakdelay 15
	speak "vo.combine.charger.announceattack_06" predelay 1 respeakdelay 15
	speak "vo.combine.charger.announceattack_07" predelay 1 respeakdelay 15
	speak "vo.combine.charger.announceattack_08" predelay 1 respeakdelay 15
	speak "vo.combine.charger.announceattack_09" predelay 1 respeakdelay 15
	speak "vo.combine.charger.announceattack_10" predelay 1 respeakdelay 15
	speak "vo.combine.charger.announceattack_11" predelay 1 respeakdelay 15
}

rule CS_Charger_CoverMe
{
	criteria		IsCombineS IsClass_Charger ConceptCoverMe HasOtherSquadMembers 
	response		CS_Charger_CoverMe
}

response CS_Suppressor_CoverMe
{
	speak "vo.combine.suppressor.coverme_01" predelay 1 respeakdelay 15
	speak "vo.combine.suppressor.coverme_02" predelay 1 respeakdelay 15
	speak "vo.combine.suppressor.coverme_03" predelay 1 respeakdelay 15
	speak "vo.combine.suppressor.coverme_04" predelay 1 respeakdelay 15
	speak "vo.combine.suppressor.coverme_05" predelay 1 respeakdelay 15
	speak "vo.combine.suppressor.coverme_06" predelay 1 respeakdelay 15
	speak "vo.combine.suppressor.coverme_07" predelay 1 respeakdelay 15
}

rule CS_Suppressor_CoverMe
{
	criteria		IsCombineS IsClass_Suppressor ConceptCoverMe HasOtherSquadMembers 
	response		CS_Suppressor_CoverMe
}

response CS_Grunt_CoverMe
{
	speak "vo.combine.grunt.coverme_01" predelay 1 respeakdelay 15
	speak "vo.combine.grunt.coverme_02" predelay 1 respeakdelay 15
	speak "vo.combine.grunt.coverme_03" predelay 1 respeakdelay 15
	speak "vo.combine.grunt.coverme_04" predelay 1 respeakdelay 15
	speak "vo.combine.grunt.coverme_05" predelay 1 respeakdelay 15
	speak "vo.combine.grunt.coverme_06" predelay 1 respeakdelay 15
	speak "vo.combine.grunt.coverme_07" predelay 1 respeakdelay 15
}

rule CS_Grunt_CoverMe
{
	criteria		IsCombineS IsClass_Grunt ConceptCoverMe HasOtherSquadMembers 
	response		CS_Grunt_CoverMe
}

//========================================================================================================
// ANNOUNCING ATTACKS
//		ATTACK IS GRENADE THROW
//====================================================================
response CS_Officer_AnnounceAttack_Grenade
{
	speak "vo.combine.officer.announceattack_grenade_01" 
	speak "vo.combine.officer.announceattack_grenade_02" 
	speak "vo.combine.officer.announceattack_grenade_03" 
	speak "vo.combine.officer.announceattack_grenade_04" 
	speak "vo.combine.officer.announceattack_grenade_05" 
	speak "vo.combine.officer.announceattack_grenade_06" 
	speak "vo.combine.officer.announceattack_grenade_07" 
}

rule CS_Officer_AnnounceAttack_Grenade
{
	criteria		IsCombineS IsClass_Officer ConceptAnnounceAttack AnnounceIsGrenade
	response		CS_Officer_AnnounceAttack_Grenade
}

response CS_Charger_AnnounceAttack_Grenade
{
	// this dialog has not been written yet. 
	//speak "Soldier01.Soldier1ThrowingGrenade"
}

rule CS_Charger_AnnounceAttack_Grenade
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceAttack AnnounceIsGrenade
	response		CS_Charger_AnnounceAttack_Grenade
}

response CS_Suppressor_AnnounceAttack_Grenade
{
	// dialog not written or recorded yet
	//speak "Soldier07.Soldier7ThrowingGrenade"
}

rule CS_Suppressor_AnnounceAttack_Grenade
{
	criteria		IsCombineS IsClass_Suppressor ConceptAnnounceAttack AnnounceIsGrenade
	response		CS_Suppressor_AnnounceAttack_Grenade
}

response CS_Grunt_AnnounceAttack_Grenade
{
	speak "vo.combine.grunt.announceattack_grenade_01"
	speak "vo.combine.grunt.announceattack_grenade_02"
	speak "vo.combine.grunt.announceattack_grenade_03"
	speak "vo.combine.grunt.announceattack_grenade_04"
	speak "vo.combine.grunt.announceattack_grenade_05"
	speak "vo.combine.grunt.announceattack_grenade_06"
	speak "vo.combine.grunt.announceattack_grenade_07"
	speak "vo.combine.grunt.announceattack_grenade_08"
	speak "vo.combine.grunt.announceattack_grenade_09"
	speak "vo.combine.grunt.announceattack_grenade_10"
}

rule CS_Grunt_AnnounceAttack_Grenade
{
	criteria		IsCombineS IsClass_Grunt ConceptAnnounceAttack AnnounceIsGrenade
	response		CS_Grunt_AnnounceAttack_Grenade
}

//====================================================================
//		ATTACK IS MANHACK RELEASE
//====================================================================
response CS_Officer_AnnounceAttack_Manhack
{
	// oops - this didn't get recorded
	//speak "vo.combine.officer.announceattack_manhack_01"
	//speak "vo.combine.officer.announceattack_manhack_02"
	//speak "vo.combine.officer.announceattack_manhack_03"
	//speak "vo.combine.officer.announceattack_manhack_04"
	//speak "vo.combine.officer.announceattack_manhack_05"
	//speak "vo.combine.officer.announceattack_manhack_06"
	//speak "vo.combine.officer.announceattack_manhack_07"
	//speak "vo.combine.officer.announceattack_manhack_08"
	//speak "vo.combine.officer.announceattack_manhack_09"
	//speak "vo.combine.officer.announceattack_manhack_10"
	
	
}

rule CS_Officer_AnnounceAttack_Manhack
{
	criteria		IsCombineS IsClass_Officer ConceptAnnounceAttack AnnounceIsManhack
	response		CS_Officer_AnnounceAttack_Manhack
}

//========================================================================================================
// REFOUND AN ENEMY THAT ELUDED US
//====================================================================
response CS_Officer_overwatch
{
	speak "vo.combine.officer.refindenemy_01"
	speak "vo.combine.officer.refindenemy_02"
	speak "vo.combine.officer.refindenemy_03"
	speak "vo.combine.officer.refindenemy_04"
	speak "vo.combine.officer.refindenemy_05"
	speak "vo.combine.officer.refindenemy_06"
	speak "vo.combine.officer.refindenemy_07"
	speak "vo.combine.officer.refindenemy_08"
	speak "vo.combine.officer.refindenemy_09"
	speak "vo.combine.officer.refindenemy_10"
	speak "vo.combine.officer.refindenemy_11"
	speak "vo.combine.officer.refindenemy_12"
	speak "vo.combine.officer.refindenemy_13"
	speak "vo.combine.officer.refindenemy_14"
}

rule CS_Officer_overwatch
{
	criteria		IsCombineS IsClass_Officer ConceptOverwatch 
	response		CS_Officer_overwatch
}

//========================================================================================================
// ENTERING OVERWATCH
//====================================================================

response CS_Officer_Overwatch
{
	speak "vo.combine.officer.overwatch_01" respeakdelay 15
	speak "vo.combine.officer.overwatch_02" respeakdelay 15
	speak "vo.combine.officer.overwatch_03" respeakdelay 15
	speak "vo.combine.officer.overwatch_04" respeakdelay 15
	speak "vo.combine.officer.overwatch_05" respeakdelay 15
	speak "vo.combine.officer.overwatch_06" respeakdelay 15
	speak "vo.combine.officer.overwatch_07" respeakdelay 15
	speak "vo.combine.officer.overwatch_08" respeakdelay 15
	speak "vo.combine.officer.overwatch_09" respeakdelay 15
	speak "vo.combine.officer.overwatch_10" respeakdelay 15
	speak "vo.combine.officer.overwatch_11" respeakdelay 15
	speak "vo.combine.officer.overwatch_12" respeakdelay 15
	speak "vo.combine.officer.overwatch_13" respeakdelay 15
	speak "vo.combine.officer.overwatch_14" respeakdelay 15
	speak "vo.combine.officer.overwatch_15" respeakdelay 15
	speak "vo.combine.officer.overwatch_16" respeakdelay 15
	speak "vo.combine.officer.overwatch_17" respeakdelay 15
	speak "vo.combine.officer.overwatch_18" respeakdelay 15
	speak "vo.combine.officer.overwatch_19" respeakdelay 15
}

rule CS_Officer_overwatch
{
	criteria		IsCombineS IsClass_Officer ConceptOverwatch 
	response		CS_Officer_overwatch
}


response CS_Charger_Overwatch
{
	speak "vo.combine.grunt.overwatch_01" respeakdelay 15
	speak "vo.combine.grunt.overwatch_02" respeakdelay 15
	speak "vo.combine.grunt.overwatch_03" respeakdelay 15
	speak "vo.combine.grunt.overwatch_04" respeakdelay 15
	speak "vo.combine.grunt.overwatch_05" respeakdelay 15
	speak "vo.combine.grunt.overwatch_06" respeakdelay 15
	speak "vo.combine.grunt.overwatch_07" respeakdelay 15
	speak "vo.combine.grunt.overwatch_08" respeakdelay 15
	speak "vo.combine.grunt.overwatch_09" respeakdelay 15
	speak "vo.combine.grunt.overwatch_10" respeakdelay 15
	speak "vo.combine.grunt.overwatch_11" respeakdelay 15
	speak "vo.combine.grunt.overwatch_12" respeakdelay 15
	speak "vo.combine.grunt.overwatch_13" respeakdelay 15
	speak "vo.combine.grunt.overwatch_14" respeakdelay 15
	speak "vo.combine.grunt.overwatch_15" respeakdelay 15
	speak "vo.combine.grunt.overwatch_16" respeakdelay 15
	speak "vo.combine.grunt.overwatch_17" respeakdelay 15
	speak "vo.combine.grunt.overwatch_18" respeakdelay 15
	speak "vo.combine.grunt.overwatch_19" respeakdelay 15
	speak "vo.combine.grunt.overwatch_20" respeakdelay 15
	speak "vo.combine.grunt.overwatch_21" respeakdelay 15
	speak "vo.combine.grunt.overwatch_22" respeakdelay 15
	speak "vo.combine.grunt.overwatch_23" respeakdelay 15
	speak "vo.combine.grunt.overwatch_24" respeakdelay 15
	speak "vo.combine.grunt.overwatch_25" respeakdelay 15
	speak "vo.combine.grunt.overwatch_26" respeakdelay 15
	speak "vo.combine.grunt.overwatch_27" respeakdelay 15
}

rule CS_Charger_overwatch
{
	criteria		IsCombineS IsClass_Charger ConceptOverwatch 
	response		CS_Charger_overwatch
}

response CS_Suppressor_Overwatch
{
	speak "vo.combine.suppressor.overwatch_01"
	speak "vo.combine.suppressor.overwatch_02"
	speak "vo.combine.suppressor.overwatch_03"
	speak "vo.combine.suppressor.overwatch_04"
	speak "vo.combine.suppressor.overwatch_05"
	speak "vo.combine.suppressor.overwatch_06"
	speak "vo.combine.suppressor.overwatch_07"
	speak "vo.combine.suppressor.overwatch_08"
	speak "vo.combine.suppressor.overwatch_09"
	speak "vo.combine.suppressor.overwatch_10"
	speak "vo.combine.suppressor.overwatch_11"
	speak "vo.combine.suppressor.overwatch_12"
	speak "vo.combine.suppressor.overwatch_13"
	speak "vo.combine.suppressor.overwatch_14"
	speak "vo.combine.suppressor.overwatch_15"
	speak "vo.combine.suppressor.overwatch_16"
	speak "vo.combine.suppressor.overwatch_17"
	speak "vo.combine.suppressor.overwatch_18"
	speak "vo.combine.suppressor.overwatch_19"
	speak "vo.combine.suppressor.overwatch_20"
	speak "vo.combine.suppressor.overwatch_21"
	speak "vo.combine.suppressor.overwatch_22"
	speak "vo.combine.suppressor.overwatch_23"
	speak "vo.combine.suppressor.overwatch_24"
	speak "vo.combine.suppressor.overwatch_25"
	speak "vo.combine.suppressor.overwatch_26"
	speak "vo.combine.suppressor.overwatch_27"
}

rule CS_Suppressor_Overwatch
{
	criteria		IsCombineS IsClass_Suppressor ConceptOverwatch 
	response		CS_Suppressor_Overwatch
}

response CS_Grunt_Overwatch
{
	speak "vo.combine.grunt.overwatch_01" respeakdelay 15
	speak "vo.combine.grunt.overwatch_02" respeakdelay 15
	speak "vo.combine.grunt.overwatch_03" respeakdelay 15
	speak "vo.combine.grunt.overwatch_04" respeakdelay 15
	speak "vo.combine.grunt.overwatch_05" respeakdelay 15
	speak "vo.combine.grunt.overwatch_06" respeakdelay 15
	speak "vo.combine.grunt.overwatch_07" respeakdelay 15
	speak "vo.combine.grunt.overwatch_08" respeakdelay 15
	speak "vo.combine.grunt.overwatch_09" respeakdelay 15
	speak "vo.combine.grunt.overwatch_10" respeakdelay 15
	speak "vo.combine.grunt.overwatch_11" respeakdelay 15
	speak "vo.combine.grunt.overwatch_12" respeakdelay 15
	speak "vo.combine.grunt.overwatch_13" respeakdelay 15
	speak "vo.combine.grunt.overwatch_14" respeakdelay 15
	speak "vo.combine.grunt.overwatch_15" respeakdelay 15
	speak "vo.combine.grunt.overwatch_16" respeakdelay 15
	speak "vo.combine.grunt.overwatch_17" respeakdelay 15
	speak "vo.combine.grunt.overwatch_18" respeakdelay 15
	speak "vo.combine.grunt.overwatch_19" respeakdelay 15
	speak "vo.combine.grunt.overwatch_20" respeakdelay 15
	speak "vo.combine.grunt.overwatch_21" respeakdelay 15
	speak "vo.combine.grunt.overwatch_22" respeakdelay 15
	speak "vo.combine.grunt.overwatch_23" respeakdelay 15
	speak "vo.combine.grunt.overwatch_24" respeakdelay 15
	speak "vo.combine.grunt.overwatch_25" respeakdelay 15
	speak "vo.combine.grunt.overwatch_26" respeakdelay 15
	speak "vo.combine.grunt.overwatch_27" respeakdelay 15
}

rule CS_Grunt_Overwatch
{
	criteria		IsCombineS IsClass_Grunt ConceptOverwatch 
	response		CS_Grunt_Overwatch
}

//========================================================================================================
// SUPPRESSING
//====================================================================
response CS_Officer_Suppressing
{
	speak "vo.combine.officer.firing_01"
	speak "vo.combine.officer.firing_02"
	speak "vo.combine.officer.firing_03"
	speak "vo.combine.officer.firing_04"
}

rule CS_Officer_Suppressing
{
	criteria		IsCombineS IsClass_Officer ConceptSuppressing 
	response		CS_Officer_Suppressing
}

response CS_Charger_Suppressing
{
	speak "vo.combine.charger.suppressing_01"
	speak "vo.combine.charger.suppressing_02"
	speak "vo.combine.charger.suppressing_03"
	speak "vo.combine.charger.suppressing_04"
	speak "vo.combine.charger.suppressing_05"
	speak "vo.combine.charger.suppressing_06"
	speak "vo.combine.charger.suppressing_07"
	speak "vo.combine.charger.suppressing_08"
	speak "vo.combine.charger.suppressing_09"
	speak "vo.combine.charger.suppressing_10"
}

rule CS_Charger_Suppressing
{
	criteria		IsCombineS IsClass_Charger ConceptSuppressing 
	response		CS_Charger_Suppressing
}

response CS_Suppressor_Suppressing
{
	speak "vo.combine.suppressor.suppressing_01"
	speak "vo.combine.suppressor.suppressing_02"
	speak "vo.combine.suppressor.suppressing_03"
	speak "vo.combine.suppressor.suppressing_04"
	speak "vo.combine.suppressor.suppressing_05"
	speak "vo.combine.suppressor.suppressing_06"
	speak "vo.combine.suppressor.suppressing_07"
	speak "vo.combine.suppressor.suppressing_08"
	speak "vo.combine.suppressor.suppressing_09"
	speak "vo.combine.suppressor.suppressing_10"
}

rule CS_Suppressor_Suppressing
{
	criteria		IsCombineS IsClass_Suppressor ConceptSuppressing 
	response		CS_Suppressor_Suppressing
}

response CS_Grunt_Suppressing
{
	speak "vo.combine.grunt.suppressing_01"
	speak "vo.combine.grunt.suppressing_02"
	speak "vo.combine.grunt.suppressing_03"
	speak "vo.combine.grunt.suppressing_04"
	speak "vo.combine.grunt.suppressing_05"
	speak "vo.combine.grunt.suppressing_06"
	speak "vo.combine.grunt.suppressing_07"
	speak "vo.combine.grunt.suppressing_08"
	speak "vo.combine.grunt.suppressing_09"
	speak "vo.combine.grunt.suppressing_10"
}

rule CS_Grunt_Suppressing
{
	criteria		IsCombineS IsClass_Grunt ConceptSuppressing 
	response		CS_Grunt_Suppressing
}

//========================================================================================================
// LOST ENEMY
//		RECENTLY
//====================================================================
response CS_Officer_LostShort
{
	speak "vo.combine.officer.lostenemy_01"
	speak "vo.combine.officer.lostenemy_02"
	speak "vo.combine.officer.lostenemy_03"
	speak "vo.combine.officer.lostenemy_04"
	speak "vo.combine.officer.lostenemy_05"
	speak "vo.combine.officer.lostenemy_06"
}

rule CS_Officer_LostShort
{
	criteria		IsCombineS IsClass_Officer ConceptLostEnemy LostEnemyShortTime
	response		CS_Officer_LostShort
}

response CS_Charger_LostShort
{
	speak "vo.combine.charger.lostenemy_01"
	speak "vo.combine.charger.lostenemy_02"
	speak "vo.combine.charger.lostenemy_03"
	speak "vo.combine.charger.lostenemy_04"
	speak "vo.combine.charger.lostenemy_05"
	speak "vo.combine.charger.lostenemy_06"
	speak "vo.combine.charger.lostenemy_07"
	speak "vo.combine.charger.lostenemy_08"
}

rule CS_Charger_LostShort
{
	criteria		IsCombineS IsClass_Charger ConceptLostEnemy LostEnemyShortTime
	response		CS_Charger_LostShort
}

response CS_Suppressor_LostShort
{
	speak "vo.combine.suppressor.lostenemy_01"
	speak "vo.combine.suppressor.lostenemy_02"
	speak "vo.combine.suppressor.lostenemy_03"
	speak "vo.combine.suppressor.lostenemy_04"
	speak "vo.combine.suppressor.lostenemy_05"
	speak "vo.combine.suppressor.lostenemy_06"
	speak "vo.combine.suppressor.lostenemy_07"
	speak "vo.combine.suppressor.lostenemy_08"
}

rule CS_Suppressor_LostShort
{
	criteria		IsCombineS IsClass_Suppressor ConceptLostEnemy LostEnemyShortTime
	response		CS_Suppressor_LostShort
}

response CS_Grunt_LostShort
{
	speak "vo.combine.grunt.lostvisual_01"
	speak "vo.combine.grunt.lostvisual_02"
	speak "vo.combine.grunt.lostvisual_03"
	speak "vo.combine.grunt.lostvisual_04"
	speak "vo.combine.grunt.lostvisual_05"
	speak "vo.combine.grunt.lostvisual_06"
	speak "vo.combine.grunt.lostvisual_07"
	speak "vo.combine.grunt.lostvisual_08"
	speak "vo.combine.grunt.lostvisual_09"
	speak "vo.combine.grunt.lostvisual_10"
}

rule CS_Grunt_LostShort
{
	criteria		IsCombineS IsClass_Grunt ConceptLostEnemy LostEnemyShortTime
	response		CS_Grunt_LostShort
}

//========================================================================================================
// RELOADING
//====================================================================
response CS_Officer_Reload
{
	// dialog has not been recorded. using grunt barks instead. 
	speak "vo.combine.officer.reload_01" predelay 0.5
	speak "vo.combine.officer.reload_02" predelay 0.5
	speak "vo.combine.officer.reload_03" predelay 0.5
	speak "vo.combine.officer.reload_04" predelay 0.5
	speak "vo.combine.officer.reload_05" predelay 0.5
	speak "vo.combine.officer.reload_06" predelay 0.5
	speak "vo.combine.officer.reload_07" predelay 0.5
	speak "vo.combine.officer.reload_08" predelay 0.5
}

rule CS_Officer_Reload
{
	criteria		IsCombineS IsClass_Officer ConceptReload 
	response		CS_Officer_Reload
}

response CS_Charger_Reload
{
	speak "vo.combine.charger.reload_01" predelay 0.5
	speak "vo.combine.charger.reload_02" predelay 0.5
	speak "vo.combine.charger.reload_03" predelay 0.5
	speak "vo.combine.charger.reload_04" predelay 0.5
	speak "vo.combine.charger.reload_05" predelay 0.5
	speak "vo.combine.charger.reload_06" predelay 0.5
	speak "vo.combine.charger.reload_07" predelay 0.5
	speak "vo.combine.charger.reload_08" predelay 0.5
	speak "vo.combine.charger.reload_09" predelay 0.5
}

rule CS_Charger_Reload
{
	criteria		IsCombineS IsClass_Charger ConceptReload 
	response		CS_Charger_Reload
}

response CS_Suppressor_Reload
{
	speak "vo.combine.suppressor.reload_01" predelay 0.5
	speak "vo.combine.suppressor.reload_02" predelay 0.5
	speak "vo.combine.suppressor.reload_03" predelay 0.5
	speak "vo.combine.suppressor.reload_04" predelay 0.5
	speak "vo.combine.suppressor.reload_05" predelay 0.5
	speak "vo.combine.suppressor.reload_06" predelay 0.5
	speak "vo.combine.suppressor.reload_07" predelay 0.5
	speak "vo.combine.suppressor.reload_08" predelay 0.5
	speak "vo.combine.suppressor.reload_09" predelay 0.5
}

rule CS_Suppressor_Reload
{
	criteria		IsCombineS IsClass_Suppressor ConceptReload 
	response		CS_Suppressor_Reload
}

response CS_Grunt_Reload
{
	speak "vo.combine.grunt.reload_01" predelay 0.5
	speak "vo.combine.grunt.reload_02" predelay 0.5
	speak "vo.combine.grunt.reload_03" predelay 0.5
	speak "vo.combine.grunt.reload_04" predelay 0.5
	speak "vo.combine.grunt.reload_05" predelay 0.5
	speak "vo.combine.grunt.reload_06" predelay 0.5
	speak "vo.combine.grunt.reload_07" predelay 0.5
	speak "vo.combine.grunt.reload_08" predelay 0.5
	speak "vo.combine.grunt.reload_09" predelay 0.5
}

rule CS_Grunt_Reload
{
	criteria		IsCombineS IsClass_Grunt ConceptReload 
	response		CS_Grunt_Reload
}

//========================================================================================================
// ANNOUNCING DANGER
//		DANGER IS GRENADE
//====================================================================
response CS_Officer_AnnounceDanger_Grenade
{
	speak "vo.combine.officer.danger_grenade_01"
	speak "vo.combine.officer.danger_grenade_02"
	speak "vo.combine.officer.danger_grenade_03"
	speak "vo.combine.officer.danger_grenade_04"
	speak "vo.combine.officer.danger_grenade_05"
	speak "vo.combine.officer.danger_grenade_06"
	speak "vo.combine.officer.danger_grenade_07"
	speak "vo.combine.officer.danger_grenade_08"
	speak "vo.combine.officer.danger_grenade_09"
	speak "vo.combine.officer.danger_grenade_10"
}

rule CS_Officer_AnnounceDanger_Grenade
{
	criteria		IsCombineS IsClass_Officer ConceptDanger DangerIsGrenade
	response		CS_Officer_AnnounceDanger_Grenade
}

response CS_Charger_AnnounceDanger_Grenade
{
	speak "vo.combine.charger.danger_grenade_01"
	speak "vo.combine.charger.danger_grenade_02"
	speak "vo.combine.charger.danger_grenade_03"
	speak "vo.combine.charger.danger_grenade_04"
	speak "vo.combine.charger.danger_grenade_05"
	speak "vo.combine.charger.danger_grenade_06"
	speak "vo.combine.charger.danger_grenade_07"
	speak "vo.combine.charger.danger_grenade_08"
	speak "vo.combine.charger.danger_grenade_09"
	speak "vo.combine.charger.danger_grenade_10"
}

rule CS_Charger_AnnounceDanger_Grenade
{
	criteria		IsCombineS IsClass_Charger ConceptDanger DangerIsGrenade
	response		CS_Charger_AnnounceDanger_Grenade
}

response CS_Suppressor_AnnounceDanger_Grenade
{
	speak "vo.combine.suppressor.danger_grenade_01"
	speak "vo.combine.suppressor.danger_grenade_02"
	speak "vo.combine.suppressor.danger_grenade_03"
	speak "vo.combine.suppressor.danger_grenade_04"
	speak "vo.combine.suppressor.danger_grenade_05"
	speak "vo.combine.suppressor.danger_grenade_06"
	speak "vo.combine.suppressor.danger_grenade_07"
	speak "vo.combine.suppressor.danger_grenade_08"
	speak "vo.combine.suppressor.danger_grenade_09"
	speak "vo.combine.suppressor.danger_grenade_10"
}

rule CS_Suppressor_AnnounceDanger_Grenade
{
	criteria		IsCombineS IsClass_Suppressor ConceptDanger DangerIsGrenade
	response		CS_Suppressor_AnnounceDanger_Grenade
}

response CS_Grunt_AnnounceDanger_Grenade
{
	speak "vo.combine.grunt.danger_grenade_01"
	speak "vo.combine.grunt.danger_grenade_02"
	speak "vo.combine.grunt.danger_grenade_03"
	speak "vo.combine.grunt.danger_grenade_04"
	speak "vo.combine.grunt.danger_grenade_05"
	speak "vo.combine.grunt.danger_grenade_06"
	speak "vo.combine.grunt.danger_grenade_07"
	speak "vo.combine.grunt.danger_grenade_08"
	speak "vo.combine.grunt.danger_grenade_09"
	speak "vo.combine.grunt.danger_grenade_10"
}

rule CS_Grunt_AnnounceDanger_Grenade
{
	criteria		IsCombineS IsClass_Grunt ConceptDanger DangerIsGrenade
	response		CS_Grunt_AnnounceDanger_Grenade
}


//========================================================================================================
// PLAYER IS WOUNDED
//====================================================================
response CS_Officer_PlayerIsHurt
{
	speak "vo.combine.officer.playerishurt_01"
	speak "vo.combine.officer.playerishurt_02"
	speak "vo.combine.officer.playerishurt_03"
	speak "vo.combine.officer.playerishurt_04"
	speak "vo.combine.officer.playerishurt_05"
	speak "vo.combine.officer.playerishurt_06"
	speak "vo.combine.officer.playerishurt_07"
	speak "vo.combine.officer.playerishurt_08"
	speak "vo.combine.officer.playerishurt_09"
	speak "vo.combine.officer.playerishurt_10"
	speak "vo.combine.officer.playerishurt_11"
	speak "vo.combine.officer.playerishurt_12"
}

rule CS_Officer_PlayerIsHurt
{
	criteria		IsCombineS IsClass_Officer ConceptPlayerIsHurt 
	response		CS_Officer_PlayerIsHurt
}

response CS_Charger_PlayerIsHurt
{
	speak "vo.combine.charger.playerishurt_01"
	speak "vo.combine.charger.playerishurt_02"
	speak "vo.combine.charger.playerishurt_03"
	speak "vo.combine.charger.playerishurt_04"
	speak "vo.combine.charger.playerishurt_05"
	speak "vo.combine.charger.playerishurt_06"
	speak "vo.combine.charger.playerishurt_07"
	speak "vo.combine.charger.playerishurt_08"
	speak "vo.combine.charger.playerishurt_09"
	speak "vo.combine.charger.playerishurt_10"
	speak "vo.combine.charger.playerishurt_11"
	speak "vo.combine.charger.playerishurt_12"
	speak "vo.combine.charger.playerishurt_13"
}

rule CS_Charger_PlayerIsHurt
{
	criteria		IsCombineS IsClass_Charger ConceptPlayerIsHurt 
	response		CS_Charger_PlayerIsHurt
}

response CS_Suppressor_PlayerIsHurt
{
	speak "vo.combine.suppressor.playerishurt_01"
	speak "vo.combine.suppressor.playerishurt_02"
	speak "vo.combine.suppressor.playerishurt_03"
	speak "vo.combine.suppressor.playerishurt_04"
	speak "vo.combine.suppressor.playerishurt_05"
	speak "vo.combine.suppressor.playerishurt_06"
	speak "vo.combine.suppressor.playerishurt_07"
	speak "vo.combine.suppressor.playerishurt_08"
	speak "vo.combine.suppressor.playerishurt_09"
	speak "vo.combine.suppressor.playerishurt_10"
	speak "vo.combine.suppressor.playerishurt_11"
	speak "vo.combine.suppressor.playerishurt_12"
	speak "vo.combine.suppressor.playerishurt_13"
}

rule CS_Suppressor_PlayerIsHurt
{
	criteria		IsCombineS IsClass_Suppressor ConceptPlayerIsHurt 
	response		CS_Suppressor_PlayerIsHurt
}

response CS_Grunt_PlayerIsHurt
{
	speak "vo.combine.grunt.playerishurt_01"
	speak "vo.combine.grunt.playerishurt_02"
	speak "vo.combine.grunt.playerishurt_03"
	speak "vo.combine.grunt.playerishurt_04"
	speak "vo.combine.grunt.playerishurt_05"
	speak "vo.combine.grunt.playerishurt_06"
	speak "vo.combine.grunt.playerishurt_07"
	speak "vo.combine.grunt.playerishurt_08"
	speak "vo.combine.grunt.playerishurt_09"
	speak "vo.combine.grunt.playerishurt_10"
	speak "vo.combine.grunt.playerishurt_11"
	speak "vo.combine.grunt.playerishurt_12"
	speak "vo.combine.grunt.playerishurt_13"
}

rule CS_Grunt_PlayerIsHurt
{
	criteria		IsCombineS IsClass_Grunt ConceptPlayerIsHurt 
	response		CS_Grunt_PlayerIsHurt
}

//========================================================================================================
// SQUAD MEMBER LOST
//		SQUAD MEMBER WAS LEADER
//====================================================================
response CS_Officer_SquadMemberLost_Leader
{
	// dialog has not been recorded
	// officer can't comment on their own death?

}

rule CS_Officer_SquadMemberLost_Leader
{
	criteria		IsCombineS IsClass_Officer ConceptSquadMemberLost LostSquadLeader
	response		CS_Officer_SquadMemberLost_Leader
}

response CS_Charger_SquadMemberLost_Leader
{
	speak "vo.combine.charger.squadmemberlost_leader_01" predelay 1
	speak "vo.combine.charger.squadmemberlost_leader_02" predelay 1
	speak "vo.combine.charger.squadmemberlost_leader_03" predelay 1
	speak "vo.combine.charger.squadmemberlost_leader_04" predelay 1
	speak "vo.combine.charger.squadmemberlost_leader_05" predelay 1
	speak "vo.combine.charger.squadmemberlost_leader_06" predelay 1
	speak "vo.combine.charger.squadmemberlost_leader_07" predelay 1
}

rule CS_Charger_SquadMemberLost_Leader
{
	criteria		IsCombineS IsClass_Charger ConceptSquadMemberLost LostSquadLeader
	response		CS_Charger_SquadMemberLost_Leader
}

response CS_Suppressor_SquadMemberLost_Leader
{
	speak "vo.combine.suppressor.squadmemberlost_leader_01" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_leader_02" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_leader_03" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_leader_04" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_leader_05" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_leader_06" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_leader_07" predelay 1
}

rule CS_Suppressor_SquadMemberLost_Leader
{
	criteria		IsCombineS IsClass_Suppressor ConceptSquadMemberLost LostSquadLeader
	response		CS_Suppressor_SquadMemberLost_Leader
}

response CS_Grunt_SquadMemberLost_Leader
{
	speak "vo.combine.grunt.squadmemberlost_leader_01" predelay 1
	speak "vo.combine.grunt.squadmemberlost_leader_02" predelay 1
	speak "vo.combine.grunt.squadmemberlost_leader_03" predelay 1
	speak "vo.combine.grunt.squadmemberlost_leader_04" predelay 1
	speak "vo.combine.grunt.squadmemberlost_leader_05" predelay 1
	speak "vo.combine.grunt.squadmemberlost_leader_06" predelay 1
	speak "vo.combine.grunt.squadmemberlost_leader_07" predelay 1
}

rule CS_Grunt_SquadMemberLost_Leader
{
	criteria		IsCombineS IsClass_Grunt ConceptSquadMemberLost LostSquadLeader
	response		CS_Grunt_SquadMemberLost_Leader
}

//====================================================================
//		LAST MAN STANDING
//====================================================================
response CS_Officer_SquadMemberLost_LastManStanding
{
	speak "vo.combine.officer.squadmemberlost_lastman_01" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_02" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_03" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_04" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_05" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_06" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_07" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_08" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_09" predelay 1
	speak "vo.combine.officer.squadmemberlost_lastman_10" predelay 1
}

rule CS_Officer_SquadMemberLost_LastManStanding
{
	criteria		IsCombineS IsClass_Officer ConceptSquadMemberLost IsLastSquadMemberLeft
	response		CS_Officer_SquadMemberLost_LastManStanding
}

response CS_Charger_SquadMemberLost_LastManStanding
{
	speak "vo.combine.charger.squadmemberlost_lastman_01" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_02" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_03" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_04" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_05" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_06" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_07" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_08" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_09" predelay 1
	speak "vo.combine.charger.squadmemberlost_lastman_10" predelay 1
}

rule CS_Charger_SquadMemberLost_LastManStanding
{
	criteria		IsCombineS IsClass_Charger ConceptSquadMemberLost IsLastSquadMemberLeft
	response		CS_Charger_SquadMemberLost_LastManStanding
}

response CS_Suppressor_SquadMemberLost_LastManStanding
{
	speak "vo.combine.suppressor.squadmemberlost_lastman_01" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_02" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_03" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_04" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_05" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_06" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_07" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_08" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_09" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_lastman_10" predelay 1
}

rule CS_Suppressor_SquadMemberLost_LastManStanding
{
	criteria		IsCombineS IsClass_Suppressor ConceptSquadMemberLost IsLastSquadMemberLeft
	response		CS_Suppressor_SquadMemberLost_LastManStanding
}

response CS_Grunt_SquadMemberLost_LastManStanding
{
	speak "vo.combine.grunt.squadmemberlost_lastman_01" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_02" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_03" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_04" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_05" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_06" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_07" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_08" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_09" predelay 1
	speak "vo.combine.grunt.squadmemberlost_lastman_10" predelay 1
}

rule CS_Grunt_SquadMemberLost_LastManStanding
{
	criteria		IsCombineS IsClass_Grunt ConceptSquadMemberLost IsLastSquadMemberLeft
	response		CS_Grunt_SquadMemberLost_LastManStanding
}

//====================================================================
//		SQUAD MEMBER LOST GENERAL
//====================================================================
response CS_Officer_SquadMemberLost
{
	// dialog has not been recorded. using grunt vo instead.
	speak "vo.combine.officer.squadmemberlost_01" predelay 1
	speak "vo.combine.officer.squadmemberlost_02" predelay 1
	speak "vo.combine.officer.squadmemberlost_03" predelay 1
	speak "vo.combine.officer.squadmemberlost_04" predelay 1
	speak "vo.combine.officer.squadmemberlost_05" predelay 1
	speak "vo.combine.officer.squadmemberlost_06" predelay 1
	speak "vo.combine.officer.squadmemberlost_07" predelay 1
	speak "vo.combine.officer.squadmemberlost_08" predelay 1
	speak "vo.combine.officer.squadmemberlost_09" predelay 1
	speak "vo.combine.officer.squadmemberlost_10" predelay 1
	speak "vo.combine.officer.squadmemberlost_11" predelay 1
}

rule CS_Officer_SquadMemberLost
{
	criteria		IsCombineS IsClass_Officer ConceptSquadMemberLost 
	response		CS_Officer_SquadMemberLost
}

response CS_Charger_SquadMemberLost
{
	speak "vo.combine.charger.squadmemberlost_01" predelay 1
	speak "vo.combine.charger.squadmemberlost_02" predelay 1
	speak "vo.combine.charger.squadmemberlost_03" predelay 1
	speak "vo.combine.charger.squadmemberlost_04" predelay 1
	speak "vo.combine.charger.squadmemberlost_05" predelay 1
	speak "vo.combine.charger.squadmemberlost_06" predelay 1
	speak "vo.combine.charger.squadmemberlost_07" predelay 1
	speak "vo.combine.charger.squadmemberlost_08" predelay 1
	speak "vo.combine.charger.squadmemberlost_09" predelay 1
	speak "vo.combine.charger.squadmemberlost_10" predelay 1
	speak "vo.combine.charger.squadmemberlost_11" predelay 1
}

rule CS_Charger_SquadMemberLost
{
	criteria		IsCombineS IsClass_Charger ConceptSquadMemberLost 
	response		CS_Charger_SquadMemberLost
}

response CS_Suppressor_SquadMemberLost
{
	speak "vo.combine.suppressor.squadmemberlost_01" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_02" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_03" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_04" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_05" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_06" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_07" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_08" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_09" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_10" predelay 1
	speak "vo.combine.suppressor.squadmemberlost_11" predelay 1
}

rule CS_Suppressor_SquadMemberLost
{
	criteria		IsCombineS IsClass_Suppressor ConceptSquadMemberLost 
	response		CS_Suppressor_SquadMemberLost
}

response CS_Grunt_SquadMemberLost
{
	speak "vo.combine.grunt.squadmemberlost_01" predelay 1
	speak "vo.combine.grunt.squadmemberlost_02" predelay 1
	speak "vo.combine.grunt.squadmemberlost_03" predelay 1
	speak "vo.combine.grunt.squadmemberlost_04" predelay 1
	speak "vo.combine.grunt.squadmemberlost_05" predelay 1
	speak "vo.combine.grunt.squadmemberlost_06" predelay 1
	speak "vo.combine.grunt.squadmemberlost_07" predelay 1
	speak "vo.combine.grunt.squadmemberlost_08" predelay 1
	speak "vo.combine.grunt.squadmemberlost_09" predelay 1
	speak "vo.combine.grunt.squadmemberlost_10" predelay 1
	speak "vo.combine.grunt.squadmemberlost_11" predelay 1
}

rule CS_Grunt_SquadMemberLost
{
	criteria		IsCombineS IsClass_Grunt ConceptSquadMemberLost 
	response		CS_Grunt_SquadMemberLost
}

//====================================================================
//		OFFICER CALL FOR REINFORCEMENTS
//====================================================================
response CS_Officer_CallReinforcements
{
	// oops this didn't get recorded
	//speak "vo.combine.officer.callreinforcements_01"
	//speak "vo.combine.officer.callreinforcements_02"
	//speak "vo.combine.officer.callreinforcements_03"
	//speak "vo.combine.officer.callreinforcements_04"
	//speak "vo.combine.officer.callreinforcements_05"
	//speak "vo.combine.officer.callreinforcements_06"
	//speak "vo.combine.officer.callreinforcements_07"
	//speak "vo.combine.officer.callreinforcements_08"
	//speak "vo.combine.officer.callreinforcements_09"
	//speak "vo.combine.officer.callreinforcements_10"
}

rule CS_Officer_CallReinforcements
{
	criteria		IsCombineS IsClass_Officer ConceptCallReinforcements 
	response		CS_Officer_CallReinforcements
}




//====================================================================
//		CALL & RESPONSE SYSTEM FOR OFFICER->SOLDIER ORDERS
//====================================================================


//------------------------------------------------
// ORDER: ESTABLISH LOS GENERAL

response CS_Officer_OrderCall_EstablishLOS
{

	speak "vo.combine.officer.establishinglof_order_03" 
	speak "vo.combine.officer.establishinglof_order_04" 
}

rule CS_Officer_OrderCall_EstablishLOS
{
	criteria		IsCombineS IsClass_Officer ConceptOrderCall  Order_EstablishLOS
	response		CS_Officer_OrderCall_EstablishLOS
}

//------------------------------------------------
// ORDER: ESTABLISH LOS CHARGER

response CS_Officer_OrderCall_EstablishLOS
{

	speak "vo.combine.officer.establishinglof_order_01" 
	speak "vo.combine.officer.establishinglof_order_02" 
}

rule CS_Officer_OrderCall_EstablishLOS
{
	criteria		IsCombineS IsClass_Officer ConceptOrderCall  Order_EstablishLOS
	response		CS_Officer_OrderCall_EstablishLOS
}

//------------------------------------------------
// ORDER: ESTABLISH LOS SUPPRESSOR

response CS_Officer_OrderCall_EstablishLOS
{

	speak "vo.combine.officer.establishinglof_order_01" 
	speak "vo.combine.officer.establishinglof_order_02" 
}

rule CS_Officer_OrderCall_EstablishLOS
{
	criteria		IsCombineS IsClass_Officer ConceptOrderCall  Order_EstablishLOS
	response		CS_Officer_OrderCall_EstablishLOS
}

//------------------------------------------------
// ORDER: ESTABLISH LOS GRUNT

response CS_Officer_OrderCall_EstablishLOS
{

	speak "vo.combine.officer.establishinglof_order_01" 
	speak "vo.combine.officer.establishinglof_order_02" 
}

rule CS_Officer_OrderCall_EstablishLOS
{
	criteria		IsCombineS IsClass_Officer ConceptOrderCall  Order_EstablishLOS
	response		CS_Officer_OrderCall_EstablishLOS
}

//------------------------------------------------

response CS_Charger_CS_Charger_OrderResponse_EstablishLOS
{
	speak "vo.combine.charger.establishinglof_01" 
	speak "vo.combine.charger.establishinglof_02" 
	speak "vo.combine.charger.establishinglof_03" 
	speak "vo.combine.charger.establishinglof_04" 
	speak "vo.combine.charger.establishinglof_05" 
	speak "vo.combine.charger.establishinglof_06" 
	speak "vo.combine.charger.establishinglof_07" 
	speak "vo.combine.charger.establishinglof_08" 
	speak "vo.combine.charger.establishinglof_09" 
	speak "vo.combine.charger.establishinglof_10" 
	speak "vo.combine.charger.establishinglof_11" 
	speak "vo.combine.charger.establishinglof_12" 
	speak "vo.combine.charger.establishinglof_13" 
	speak "vo.combine.charger.establishinglof_14" 
	speak "vo.combine.charger.establishinglof_15" 
	speak "vo.combine.charger.establishinglof_16" 
	speak "vo.combine.charger.establishinglof_17" 
	speak "vo.combine.charger.establishinglof_18" 
	speak "vo.combine.charger.establishinglof_19" 
}

rule CS_Charger_CS_Charger_OrderResponse_EstablishLOS
{
	criteria		IsCombineS IsClass_Charger ConceptOrderResponse  Order_EstablishLOS 
	response		CS_Charger_CS_Charger_OrderResponse_EstablishLOS
}

response CS_Suppressor_CS_Charger_OrderResponse_EstablishLOS
{
	speak "vo.combine.suppressor.establishinglof_01" 
	speak "vo.combine.suppressor.establishinglof_02" 
	speak "vo.combine.suppressor.establishinglof_03" 
	speak "vo.combine.suppressor.establishinglof_04" 
	speak "vo.combine.suppressor.establishinglof_05" 
	speak "vo.combine.suppressor.establishinglof_06" 
	speak "vo.combine.suppressor.establishinglof_07" 
	speak "vo.combine.suppressor.establishinglof_08" 
	speak "vo.combine.suppressor.establishinglof_09" 
	speak "vo.combine.suppressor.establishinglof_10" 
	speak "vo.combine.suppressor.establishinglof_11" 
	speak "vo.combine.suppressor.establishinglof_12" 
	speak "vo.combine.suppressor.establishinglof_13" 
	speak "vo.combine.suppressor.establishinglof_14" 
	speak "vo.combine.suppressor.establishinglof_15" 
	speak "vo.combine.suppressor.establishinglof_16" 
	speak "vo.combine.suppressor.establishinglof_17" 
	speak "vo.combine.suppressor.establishinglof_18" 
	speak "vo.combine.suppressor.establishinglof_19" 
}

rule CS_Suppressor_CS_Charger_OrderResponse_EstablishLOS
{
	criteria		IsCombineS IsClass_Suppressor ConceptOrderResponse  Order_EstablishLOS  
	response		CS_Suppressor_CS_Charger_OrderResponse_EstablishLOS
}

response CS_Grunt_CS_Charger_OrderResponse_EstablishLOS
{
	speak "vo.combine.grunt.establishinglof_01" 
	speak "vo.combine.grunt.establishinglof_02" 
	speak "vo.combine.grunt.establishinglof_03" 
	speak "vo.combine.grunt.establishinglof_04" 
	speak "vo.combine.grunt.establishinglof_05" 
	speak "vo.combine.grunt.establishinglof_06" 
	speak "vo.combine.grunt.establishinglof_07" 
	speak "vo.combine.grunt.establishinglof_08" 
	speak "vo.combine.grunt.establishinglof_09" 
	speak "vo.combine.grunt.establishinglof_10" 
	speak "vo.combine.grunt.establishinglof_11" 
	speak "vo.combine.grunt.establishinglof_12" 
	speak "vo.combine.grunt.establishinglof_13" 
	speak "vo.combine.grunt.establishinglof_14" 
	speak "vo.combine.grunt.establishinglof_15" 
	speak "vo.combine.grunt.establishinglof_16" 
	speak "vo.combine.grunt.establishinglof_17" 
	speak "vo.combine.grunt.establishinglof_18" 
	speak "vo.combine.grunt.establishinglof_19" 
}

rule CS_Grunt_CS_Charger_OrderResponse_EstablishLOS
{
	criteria		IsCombineS IsClass_Grunt ConceptOrderResponse  Order_EstablishLOS  
	response		CS_Grunt_CS_Charger_OrderResponse_EstablishLOS
}

//============================
// ORDER: RECON

response CS_Officer_OrderCall_Recon
{
	speak "vo.combine.officer.findenemy_01"
	speak "vo.combine.officer.findenemy_02"
	speak "vo.combine.officer.findenemy_03"
	speak "vo.combine.officer.findenemy_04"
	speak "vo.combine.officer.findenemy_05"
	speak "vo.combine.officer.findenemy_06"
	speak "vo.combine.officer.findenemy_07"
	speak "vo.combine.officer.findenemy_08"
	speak "vo.combine.officer.findenemy_09"
	speak "vo.combine.officer.findenemy_10"
}

rule CS_Officer_OrderCall_Recon
{
	criteria		IsCombineS IsClass_Officer ConceptOrderCall Order_Recon
	response		CS_Officer_OrderCall_Recon
}

// -- 

response CS_Charger_CS_Charger_OrderResponse_Recon
{
	speak "vo.combine.charger.reconnoiter_start_01"
	speak "vo.combine.charger.reconnoiter_start_02" 
	speak "vo.combine.charger.reconnoiter_start_03" 
	speak "vo.combine.charger.reconnoiter_start_04" 
	speak "vo.combine.charger.reconnoiter_start_05" 
	speak "vo.combine.charger.reconnoiter_start_06" 
	speak "vo.combine.charger.reconnoiter_start_07" 
	speak "vo.combine.charger.reconnoiter_start_08" 
	speak "vo.combine.charger.reconnoiter_start_09" 
	speak "vo.combine.charger.reconnoiter_start_10" 
}

rule CS_Charger_CS_Charger_OrderResponse_Recon
{
	criteria		IsCombineS IsClass_Charger ConceptOrderResponse Order_Recon 
	response		CS_Charger_CS_Charger_OrderResponse_Recon
}

response CS_Suppressor_CS_Charger_OrderResponse_Recon
{
	speak "vo.combine.suppressor.refindenemy_01" 
	speak "vo.combine.suppressor.refindenemy_02" 
	speak "vo.combine.suppressor.refindenemy_03" 
	speak "vo.combine.suppressor.refindenemy_04" 
	speak "vo.combine.suppressor.refindenemy_05" 
	speak "vo.combine.suppressor.refindenemy_06" 
	speak "vo.combine.suppressor.refindenemy_07" 
	speak "vo.combine.suppressor.refindenemy_08" 
	speak "vo.combine.suppressor.refindenemy_09" 
	speak "vo.combine.suppressor.refindenemy_10" 
	speak "vo.combine.suppressor.refindenemy_11" 
	speak "vo.combine.suppressor.refindenemy_12" 
	speak "vo.combine.suppressor.refindenemy_13" 
	speak "vo.combine.suppressor.refindenemy_14" 
	speak "vo.combine.suppressor.refindenemy_15" 
	speak "vo.combine.suppressor.refindenemy_16" 
	speak "vo.combine.suppressor.refindenemy_17" 
	speak "vo.combine.suppressor.refindenemy_18" 
	speak "vo.combine.suppressor.refindenemy_19" 
}

rule CS_Suppressor_CS_Charger_OrderResponse_Recon
{
	criteria		IsCombineS IsClass_Suppressor ConceptOrderResponse  Order_Recon  
	response		CS_Suppressor_CS_Charger_OrderResponse_Recon
}

response CS_Grunt_CS_Charger_OrderResponse_Recon
{
	speak "vo.combine.grunt.reconnoiter_start_01"
	speak "vo.combine.grunt.reconnoiter_start_02" 
	speak "vo.combine.grunt.reconnoiter_start_03" 
	speak "vo.combine.grunt.reconnoiter_start_04" 
	speak "vo.combine.grunt.reconnoiter_start_05" 
	speak "vo.combine.grunt.reconnoiter_start_06" 
	speak "vo.combine.grunt.reconnoiter_start_07" 
	speak "vo.combine.grunt.reconnoiter_start_08" 
	speak "vo.combine.grunt.reconnoiter_start_09" 
	speak "vo.combine.grunt.reconnoiter_start_10"
}

rule CS_Grunt_CS_Charger_OrderResponse_Recon
{
	criteria		IsCombineS IsClass_Grunt ConceptOrderResponse  Order_Recon  
	response		CS_Grunt_CS_Charger_OrderResponse_Recon
}





//========================================================================================================
//---------
response CSAnnounceEnemy_Citizen
{
	speak "combine_soldier_combine_monst_citizens_01" noscene
}

rule CSAnnounceEnemy_Citizen
{
	criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsCitizen
	response		CSAnnounceEnemy_Citizen
}

//---------
response CSAnnounceEnemy_PlayerAlly
{
	speak "combine_soldier_combine_monst_character_01" noscene
}

rule CSAnnounceEnemy_PlayerAlly
{
	criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayerAlly
	response		CSAnnounceEnemy_PlayerAlly
}

//---------
response CSAnnounceEnemy_Antlion
{
	speak "combine_soldier_combine_monst_bugs_01" noscene
}

rule CSAnnounceEnemy_Antlion
{
	criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsAntlion
	response		CSAnnounceEnemy_Antlion
}

//---------
response CSAnnounceEnemy_Zombie
{
	speak "combine_soldier_combine_monst_zombies_01" noscene
	speak "combine_soldier_combine_monst_zombies_02" noscene
}

rule CSAnnounceEnemy_Zombie
{
	criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsZombie
	response		CSAnnounceEnemy_Zombie
}

//---------
response CSAnnounceEnemy_HeadcrabBarnacle
{
	speak "combine_soldier_combine_monst_parasites_01" noscene
}

rule CSAnnounceEnemy_HeadcrabBarnacle
{
	criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsHeadcrabBarnacle
	response		CSAnnounceEnemy_HeadcrabBarnacle
}

//========================================================================================================
response CSAnnounceAssault
{
}

rule CSAnnounceAssault
{
	criteria		IsCombineS ConceptAnnounceAssault
	response		CSAnnounceAssault
}

//========================================================================================================
response CSAnnounceKill_Player
{
}

rule CSAnnounceKill_Player
{
	criteria		IsCombineS ConceptAnnounceKill KillIsPlayer
	response		CSAnnounceKill_Player
}

//---------
response CS_Charger_AnnounceKill
{
	speak "vo.combine.charger.announcekill_01" noscene
	speak "vo.combine.charger.announcekill_02" noscene
	speak "vo.combine.charger.announcekill_03" noscene
	speak "vo.combine.charger.announcekill_04" noscene
	speak "vo.combine.charger.announcekill_05" noscene
	speak "vo.combine.charger.announcekill_06" noscene
	speak "vo.combine.charger.announcekill_07" noscene
	speak "vo.combine.charger.announcekill_08" noscene
	speak "vo.combine.charger.announcekill_09" noscene
	speak "vo.combine.charger.announcekill_10" noscene
	speak "vo.combine.charger.announcekill_11" noscene
	speak "vo.combine.charger.announcekill_12" noscene
	speak "vo.combine.charger.announcekill_13" noscene
	speak "vo.combine.charger.announcekill_14" noscene
	speak "vo.combine.charger.announcekill_15" noscene
}

rule CS_Charger_AnnounceKill
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceKill
	response		CS_Charger_AnnounceKill
}

response CS_Grunt_AnnounceKill
{
	speak "vo.combine.grunt.announcekill_01" noscene
	speak "vo.combine.grunt.announcekill_02" noscene
	speak "vo.combine.grunt.announcekill_03" noscene
	speak "vo.combine.grunt.announcekill_04" noscene
	speak "vo.combine.grunt.announcekill_05" noscene
	speak "vo.combine.grunt.announcekill_06" noscene
	speak "vo.combine.grunt.announcekill_07" noscene
	speak "vo.combine.grunt.announcekill_08" noscene
	speak "vo.combine.grunt.announcekill_09" noscene
	speak "vo.combine.grunt.announcekill_10" noscene
	speak "vo.combine.grunt.announcekill_11" noscene
	speak "vo.combine.grunt.announcekill_12" noscene
	speak "vo.combine.grunt.announcekill_13" noscene
	speak "vo.combine.grunt.announcekill_14" noscene
	speak "vo.combine.grunt.announcekill_15" noscene
}

rule CS_Grunt_AnnounceKill
{
	criteria		IsCombineS IsClass_Grunt ConceptAnnounceKill
	response		CS_Grunt_AnnounceKill
}

//========================================================================================================
response CSDanger_General
{
}

rule CSDanger_General
{
	criteria		IsCombineS ConceptDanger
	response		CSDanger_General
}

//========================================================================================================
// Pain VO
//============================

response CS_Officer_Pain
{
	speak "vo.combine.officer.pain_01" noscene
	speak "vo.combine.officer.pain_02" noscene
	speak "vo.combine.officer.pain_03" noscene
	speak "vo.combine.officer.pain_04" noscene
	speak "vo.combine.officer.pain_05" noscene
	speak "vo.combine.officer.pain_06" noscene
	speak "vo.combine.officer.pain_07" noscene
	speak "vo.combine.officer.pain_08" noscene
	speak "vo.combine.officer.pain_09" noscene
	speak "vo.combine.officer.pain_10" noscene
}

rule CS_Officer_Pain
{
	criteria		IsCombineS IsClass_Officer ConceptPain
	response		CS_Officer_Pain
}


response CS_Charger_Pain
{
	speak "vo.combine.charger.pain_01" noscene
	speak "vo.combine.charger.pain_02" noscene
	speak "vo.combine.charger.pain_03" noscene
	speak "vo.combine.charger.pain_04" noscene
	speak "vo.combine.charger.pain_05" noscene
	speak "vo.combine.charger.pain_06" noscene
	speak "vo.combine.charger.pain_07" noscene
	speak "vo.combine.charger.pain_08" noscene
	speak "vo.combine.charger.pain_09" noscene
	speak "vo.combine.charger.pain_10" noscene
}

rule CS_Charger_Pain
{
	criteria		IsCombineS IsClass_Charger ConceptPain
	response		CS_Charger_Pain
}

response CS_Suppressor_Pain
{
	speak "vo.combine.suppressor.pain_01" noscene
	speak "vo.combine.suppressor.pain_02" noscene
	speak "vo.combine.suppressor.pain_03" noscene
	speak "vo.combine.suppressor.pain_04" noscene
	speak "vo.combine.suppressor.pain_05" noscene
	speak "vo.combine.suppressor.pain_06" noscene
	speak "vo.combine.suppressor.pain_07" noscene
	speak "vo.combine.suppressor.pain_08" noscene
	speak "vo.combine.suppressor.pain_09" noscene
	speak "vo.combine.suppressor.pain_10" noscene
}

rule CS_Suppressor_Pain
{
	criteria		IsCombineS IsClass_Suppressor ConceptPain
	response		CS_Suppressor_Pain
}

response CS_Grunt_Pain
{
	speak "vo.combine.grunt.pain_01" noscene
	speak "vo.combine.grunt.pain_02" noscene
	speak "vo.combine.grunt.pain_03" noscene
	speak "vo.combine.grunt.pain_04" noscene
	speak "vo.combine.grunt.pain_05" noscene
	speak "vo.combine.grunt.pain_06" noscene
	speak "vo.combine.grunt.pain_07" noscene
	speak "vo.combine.grunt.pain_08" noscene
	speak "vo.combine.grunt.pain_09" noscene
	speak "vo.combine.grunt.pain_10" noscene
}

rule CS_Grunt_Pain
{
	criteria		IsCombineS IsClass_Grunt ConceptPain
	response		CS_Grunt_Pain
}

//========================================================================================================
// Death
//==================================
response CS_Charger_Die
{
	speak "vo.combine.charger.die_01" noscene
	speak "vo.combine.charger.die_02" noscene
	speak "vo.combine.charger.die_03" noscene
	speak "vo.combine.charger.die_04" noscene
	speak "vo.combine.charger.die_05" noscene
	speak "vo.combine.charger.die_06" noscene
	speak "vo.combine.charger.die_07" noscene
	speak "vo.combine.charger.die_08" noscene
	speak "vo.combine.charger.die_09" noscene
	speak "vo.combine.charger.die_10" noscene
	speak "vo.combine.charger.die_11" noscene
	speak "vo.combine.charger.die_12" noscene
	speak "vo.combine.charger.die_13" noscene
	speak "vo.combine.charger.die_14" noscene
	speak "vo.combine.charger.die_15" noscene
	speak "vo.combine.charger.die_16" noscene
	speak "vo.combine.charger.die_17" noscene
}

rule CS_Charger_Die
{
	criteria		IsCombineS IsClass_Charger ConceptDie
	response		CS_Charger_Die
}

response CS_Officer_Die
{
	speak "vo.combine.officer.die_01" noscene
	speak "vo.combine.officer.die_02" noscene
	speak "vo.combine.officer.die_03" noscene
	speak "vo.combine.officer.die_04" noscene
	speak "vo.combine.officer.die_05" noscene
	speak "vo.combine.officer.die_06" noscene
	speak "vo.combine.officer.die_07" noscene
	speak "vo.combine.officer.die_08" noscene
	speak "vo.combine.officer.die_09" noscene
	speak "vo.combine.officer.die_10" noscene
	speak "vo.combine.officer.die_11" noscene
	speak "vo.combine.officer.die_12" noscene
	speak "vo.combine.officer.die_13" noscene
	speak "vo.combine.officer.die_14" noscene
	speak "vo.combine.officer.die_15" noscene
	speak "vo.combine.officer.die_16" noscene
	speak "vo.combine.officer.die_17" noscene
}

rule CS_Officer_Die
{
	criteria		IsCombineS IsClass_Officer ConceptDie
	response		CS_Officer_Die
}

response CS_Suppressor_Die
{
	speak "vo.combine.suppressor.die_01" noscene
	speak "vo.combine.suppressor.die_02" noscene
	speak "vo.combine.suppressor.die_03" noscene
	speak "vo.combine.suppressor.die_04" noscene
	speak "vo.combine.suppressor.die_05" noscene
	speak "vo.combine.suppressor.die_06" noscene
	speak "vo.combine.suppressor.die_07" noscene
	speak "vo.combine.suppressor.die_08" noscene
	speak "vo.combine.suppressor.die_09" noscene
	speak "vo.combine.suppressor.die_10" noscene
	speak "vo.combine.suppressor.die_11" noscene
	speak "vo.combine.suppressor.die_12" noscene
	speak "vo.combine.suppressor.die_13" noscene
	speak "vo.combine.suppressor.die_14" noscene
	speak "vo.combine.suppressor.die_15" noscene
	speak "vo.combine.suppressor.die_16" noscene
	speak "vo.combine.suppressor.die_17" noscene
}

rule CS_Suppressor_Die
{
	criteria		IsCombineS IsClass_Suppressor ConceptDie
	response		CS_Suppressor_Die
}

response CS_Grunt_Die
{
	speak "vo.combine.grunt.die_01" noscene
	speak "vo.combine.grunt.die_02" noscene
	speak "vo.combine.grunt.die_03" noscene
	speak "vo.combine.grunt.die_04" noscene
	speak "vo.combine.grunt.die_05" noscene
	speak "vo.combine.grunt.die_06" noscene
	speak "vo.combine.grunt.die_07" noscene
	speak "vo.combine.grunt.die_08" noscene
	speak "vo.combine.grunt.die_09" noscene
	speak "vo.combine.grunt.die_10" noscene
	speak "vo.combine.grunt.die_11" noscene
	speak "vo.combine.grunt.die_12" noscene
	speak "vo.combine.grunt.die_13" noscene
	speak "vo.combine.grunt.die_14" noscene
	speak "vo.combine.grunt.die_15" noscene
	speak "vo.combine.grunt.die_16" noscene
	speak "vo.combine.grunt.die_17" noscene
}

rule CS_Grunt_Die
{
	criteria		IsCombineS IsClass_Grunt ConceptDie
	response		CS_Grunt_Die
}

//======================================================================================
// a2_trainyard specific lines
//======================================================================================

response CombineVO_Soldier_Sees_Player_First_Time_Response
{
	speak "SoldierDecontamination.UnknownFemale" noscene
}
rule CombineVO_Soldier_Sees_Player_First_Time_Rule
{
	criteria		Combine_Sees_Player_First_Time
	response		CombineVO_Soldier_Sees_Player_First_Time_Response
	matchonce
}

response CS_Soldier_NoSpeech
{
}
rule CS_FirstEncounterGrunt_AnnounceEnemy_Player
{
	criteria		IsFirstEncounterSoldier ConceptAnnounceEnemy
	response		CS_Soldier_NoSpeech
}
rule CS_FirstEncounterGrunt_Firing
{
	criteria		IsFirstEncounterSoldier ConceptFiring
	response		CS_Soldier_NoSpeech
}


response CS_BridgeEncounterLeft
{
	speak "SoldierDecontamination.NecroticTarget" noscene
}
rule CS_BridgeEncounterLeft
{
	criteria		IsBridgeEncounterSoldierLeft ConceptBridgeEncounterZombieSpeech
	response		CS_BridgeEncounterLeft
}

response CS_BridgeEncounterRight
{
	speak "SoldierDecontamination.NeutralizingRight" noscene
}
rule CS_BridgeEncounterRight
{
	criteria		IsBridgeEncounterSoldierRight ConceptBridgeEncounterZombieSpeech
	response		CS_BridgeEncounterRight
}
response CS_BridgeEncounterRight2
{
	speak "SoldierDecontamination.NeutralizingRight" noscene
}
rule CS_BridgeEncounterRight2
{
	criteria		IsBridgeEncounterSoldierRight ConceptBridgeEncounterZombie2Speech
	response		CS_BridgeEncounterRight2
}



//======================================================================================
// a3_c17_processing_plant specific lines
//======================================================================================

//--------------------------------------------------------------------------------------
// Advancing On Player At Location
//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtBricks
{
	speak "vo.combine.charger.a3_c17_tenements_bricks_01" noscene
	speak "vo.combine.charger.a3_c17_tenements_bricks_02" noscene
	speak "vo.combine.charger.a3_c17_tenements_bricks_03" noscene
}
rule CS_AdvancingTargetAtBricks
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtBricks
	response		CS_AdvancingTargetAtBricks
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtBridge
{
	// dialog has not been written yet
	//speak "ConstructionYard.soldier_context_advancing_target_at_bridge_01" noscene
	//speak "ConstructionYard.soldier_context_advancing_target_by_bridge_01" noscene
}
rule CS_AdvancingTargetAtBridge
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtBridge
	response		CS_AdvancingTargetAtBridge
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtCar
{
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_01" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_02" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_03" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_04" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_05" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_06" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_07" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_08" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_09" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_10" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_11" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_12" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_13" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_14" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_15" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_car_16" noscene
}
rule CS_AdvancingTargetAtCar
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtCar
	response		CS_AdvancingTargetAtCar
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtContainer
{
	// dialog has not been written
}
rule CS_AdvancingTargetAtContainer
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtContainer
	response		CS_AdvancingTargetAtContainer
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtCrane
{
	speak "vo.combine.grunt.a3_c17_processing_plant_crane_01" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_crane_02" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_crane_03" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_crane_04" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_crane_05" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_crane_06" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_crane_07" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_crane_08" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_crane_09" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_crane_10" noscene
}
rule CS_AdvancingTargetAtCrane
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtCrane
	response		CS_AdvancingTargetAtCrane
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtDoor
{
	speak "vo.combine.grunt.antlions_door_01" noscene
}
rule CS_AdvancingTargetAtDoor
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtDoor
	response		CS_AdvancingTargetAtDoor
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtFence
{
	speak "vo.combine.grunt.antlions_fence_01" noscene
	speak "vo.combine.grunt.antlions_fence_02" noscene
}
rule CS_AdvancingTargetAtFence
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtFence
	response		CS_AdvancingTargetAtFence
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtPipes
{
	speak "vo.combine.grunt.antlions_pipes_02" noscene
	speak "vo.combine.grunt.antlions_pipes_03" noscene
}
rule CS_AdvancingTargetAtPipes
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtPipes
	response		CS_AdvancingTargetAtPipes
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtShack
{
	speak "vo.combine.grunt.antlions_shack_01" noscene
	speak "vo.combine.grunt.antlions_shack_02" noscene
	speak "vo.combine.grunt.antlions_shack_03" noscene
	speak "vo.combine.grunt.antlions_shack_04" noscene
	speak "vo.combine.grunt.antlions_shack_05" noscene
	speak "vo.combine.grunt.antlions_shack_06" noscene
	speak "vo.combine.grunt.antlions_shack_07" noscene
	speak "vo.combine.grunt.antlions_shack_08" noscene
}
rule CS_AdvancingTargetAtShack
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtShack
	response		CS_AdvancingTargetAtShack
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtStation
{
	// dialog not written or recorded yet
}
rule CS_AdvancingTargetAtStation
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtStation
	response		CS_AdvancingTargetAtStation
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtToilet
{
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_01" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_02" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_03" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_04" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_05" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_06" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_07" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_08" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_09" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_10" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_11" noscene
}
rule CS_AdvancingTargetAtToilet
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtToilet
	response		CS_AdvancingTargetAtToilet
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtTracks
{
	// dialog not written or recorded yet
	//speak "ConstructionYard.soldier_context_advancing_target_at_tracks_01" noscene
}
rule CS_AdvancingTargetAtTracks
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtTracks
	response		CS_AdvancingTargetAtTracks
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtTraincar
{
	
	// dialog not written or recoded yet
	//speak "ConstructionYard.soldier_context_advancing_target_at_traincar_01" noscene
	//speak "ConstructionYard.soldier_context_advancing_target_by_traincar_01" noscene
}
rule CS_AdvancingTargetAtTraincar
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtTraincar
	response		CS_AdvancingTargetAtTraincar
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtTruck
{
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_truck_01" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_truck_02" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_truck_03" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_truck_04" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_truck_05" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_truck_06" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_truck_07" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_truck_08" noscene
}
rule CS_AdvancingTargetAtTruck
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtTruck
	response		CS_AdvancingTargetAtTruck
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtTunnel
{
	// dialog not written or recoded yet
	//speak "ConstructionYard.soldier_context_advancing_target_at_tunnel_01" noscene
}
rule CS_AdvancingTargetAtTunnel
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtTunnel
	response		CS_AdvancingTargetAtTunnel
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtVan
{
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_01" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_02" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_03" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_04" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_05" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_06" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_07" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_08" noscene
}
rule CS_AdvancingTargetAtVan
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtVan
	response		CS_AdvancingTargetAtVan
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtWall
{
	// dialog not written or recoded yet
	//speak "ConstructionYard.soldier_context_advancing_target_at_wall_01" noscene
}
rule CS_AdvancingTargetAtWall
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtWall
	response		CS_AdvancingTargetAtWall
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtWindow
{
	// dialog not written or recoded yet
	//speak "ConstructionYard.soldier_context_advancing_target_at_window_01" noscene
}
rule CS_AdvancingTargetAtWindow
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtWindow
	response		CS_AdvancingTargetAtWindow
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetAtWoodpile
{
	speak "vo.combine.grunt.antlions_woodpile_01" noscene
	speak "vo.combine.grunt.antlions_woodpile_02" noscene
	speak "vo.combine.grunt.antlions_woodpile_03" noscene
}
rule CS_AdvancingTargetAtWoodpile
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerAtWoodpile
	response		CS_AdvancingTargetAtWoodpile
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetBehindWall
{
	// dialog not written or recoded yet
	//speak "ConstructionYard.soldier_context_advancing_target_behind_wall_01" noscene
}
rule CS_AdvancingTargetBehindWall
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerBehindWall
	response		CS_AdvancingTargetBehindWall
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetInToilet
{
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_01" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_02" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_03" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_04" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_05" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_06" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_07" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_08" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_09" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_10" noscene
	speak "vo.combine.grunt.a3_c17_processing_plant_toilet_11" noscene
}
rule CS_AdvancingTargetInToilet
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerInToilet
	response		CS_AdvancingTargetInToilet
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetInTraincar
{
	// dialog not written or recoded yet
	//speak "ConstructionYard.soldier_context_advancing_target_in_traincar_01" noscene
}
rule CS_AdvancingTargetInTraincar
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerInTraincar
	response		CS_AdvancingTargetInTraincar
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetInTunnel
{
	// dialog not written or recoded yet
	//speak "ConstructionYard.soldier_context_advancing_target_in_tunnel_01" noscene
}
rule CS_AdvancingTargetInTunnel
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerInTunnel
	response		CS_AdvancingTargetInTunnel
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetInVan
{
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_01" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_02" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_03" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_04" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_05" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_06" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_07" noscene
	speak "vo.combine.grunt.a3_hotel_interior_rooftop_van_08" noscene
}
rule CS_AdvancingTargetInVan
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerInVan
	response		CS_AdvancingTargetInVan
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetOnBridge
{
	// dialog not written or recoded yet
	// speak "ConstructionYard.soldier_context_advancing_target_on_bridge_01" noscene
}
rule CS_AdvancingTargetOnBridge
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerOnBridge
	response		CS_AdvancingTargetOnBridge
}

//--------------------------------------------------------------------------------------
response CS_AdvancingTargetOnTraincar
{
	// dialog not written or recoded yet
	//speak "ConstructionYard.soldier_context_advancing_target_on_traincar_01" noscene
}
rule CS_AdvancingTargetOnTraincar
{
	criteria		IsCombineS ConceptAdvancingOnTarget EnemyIsPlayer PlayerOnTraincar
	response		CS_AdvancingTargetOnTraincar
}

//--------------------------------------------------------------------------------------
// Charging Player at location 
//--------------------------------------------------------------------------------------
response CS_ChargingBricks
{
	speak "vo.combine.charger.a3_c17_tenements_bricks_01" noscene
	speak "vo.combine.charger.a3_c17_tenements_bricks_02" noscene
	speak "vo.combine.charger.a3_c17_tenements_bricks_03" noscene
}
rule CS_ChargingBricks
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtBricks
	response		CS_ChargingBricks
}

//--------------------------------------------------------------------------------------
response CS_ChargingBridge
{
	// dialog not written or recoded yet
	//speak "ConstructionYard.soldier_context_charging_bridge_01" noscene
}
rule CS_ChargingBridge
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtBridge
	response		CS_ChargingBridge
}

//--------------------------------------------------------------------------------------
response CS_ChargingCar
{
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_01" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_02" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_03" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_04" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_05" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_06" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_07" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_08" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_09" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_10" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_11" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_12" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_13" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_14" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_15" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_car_16" noscene
}
rule CS_ChargingCar
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtCar
	response		CS_ChargingCar
}

//--------------------------------------------------------------------------------------
response CS_ChargingContainer
{
	speak "vo.combine.charger.a3_c17_processing_plant_block_01" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_block_02" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_block_03" noscene
}
rule CS_ChargingContainer
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtContainer
	response		CS_ChargingContainer
}

//--------------------------------------------------------------------------------------
response CS_ChargingCrane
{
	speak "vo.combine.charger.a3_c17_processing_plant_crane_01" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_crane_02" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_crane_03" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_crane_04" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_crane_05" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_crane_06" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_crane_07" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_crane_08" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_crane_09" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_crane_10" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_crane_11" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_crane_12" noscene
}
rule CS_ChargingCrane
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtCrane
	response		CS_ChargingCrane
}

//--------------------------------------------------------------------------------------
response CS_ChargingDoor
{
	speak "vo.combine.charger.antlions_door_01" noscene
	speak "vo.combine.charger.antlions_door_02" noscene
}
rule CS_ChargingDoor
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtDoor
	response		CS_ChargingDoor
}

//--------------------------------------------------------------------------------------
response CS_ChargingFence
{
	// dialog not written or recorded yet
	//speak "ConstructionYard.soldier_context_charging_fence_01" noscene
}
rule CS_ChargingFence
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtFence
	response		CS_ChargingFence
}

//--------------------------------------------------------------------------------------
response CS_ChargingPipes
{
	speak "vo.combine.charger.antlions_pipes_02" noscene
	speak "vo.combine.charger.antlions_pipes_03" noscene
	speak "vo.combine.charger.antlions_pipes_01" noscene
	speak "vo.combine.charger.antlions_pipes_02" noscene
	speak "vo.combine.charger.antlions_pipes_03" noscene
}
rule CS_ChargingPipes
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtPipes
	response		CS_ChargingPipes
}

//--------------------------------------------------------------------------------------
response CS_ChargingShack
{
	speak "vo.combine.charger.antlions_shack_01" noscene
	speak "vo.combine.charger.antlions_shack_02" noscene
	speak "vo.combine.charger.antlions_shack_03" noscene
	speak "vo.combine.charger.antlions_shack_04" noscene
	speak "vo.combine.charger.antlions_shack_05" noscene
	speak "vo.combine.charger.antlions_shack_06" noscene
	speak "vo.combine.charger.antlions_shack_07" noscene
	speak "vo.combine.charger.antlions_shack_08" noscene
}
rule CS_ChargingShack
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtShack
	response		CS_ChargingShack
}

//--------------------------------------------------------------------------------------
response CS_ChargingStation
{
	// dialog not written or recorded yet
	//speak "ConstructionYard.soldier_context_charging_station_01" noscene
}
rule CS_ChargingStation
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtStation
	response		CS_ChargingStation
}

//--------------------------------------------------------------------------------------
response CS_ChargingToilet
{
	speak "vo.combine.charger.a3_c17_processing_plant_toilet_01" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_toilet_02" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_toilet_03" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_toilet_04" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_toilet_05" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_toilet_06" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_toilet_07" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_toilet_08" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_toilet_09" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_toilet_10" noscene
	speak "vo.combine.charger.a3_c17_processing_plant_toilet_11" noscene
}
rule CS_ChargingToilet
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtToilet
	response		CS_ChargingToilet
}

//--------------------------------------------------------------------------------------
response CS_ChargingTracks
{
	// dialog not written or recorded yet
	//speak "ConstructionYard.soldier_context_charging_tracks_01" noscene
}
rule CS_ChargingTracks
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtTracks
	response		CS_ChargingTracks
}

//--------------------------------------------------------------------------------------
response CS_ChargingTraincar
{
	// dialog not written or recorded yet
	//speak "ConstructionYard.soldier_context_charging_traincar_01" noscene
}
rule CS_ChargingTraincar
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtTraincar
	response		CS_ChargingTraincar
}

//--------------------------------------------------------------------------------------
response CS_ChargingTruck
{
	speak "vo.combine.charger.a3_hotel_interior_rooftop_truck_01" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_truck_02" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_truck_03" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_truck_04" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_truck_05" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_truck_06" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_truck_07" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_truck_08" noscene
}
rule CS_ChargingTruck
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtTruck
	response		CS_ChargingTruck
}

//--------------------------------------------------------------------------------------
response CS_ChargingTunnel
{
	// dialog not written or recorded yet
	//speak "ConstructionYard.soldier_context_charging_tunnel_01" noscene
}
rule CS_ChargingTunnel
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtTunnel
	response		CS_ChargingTunnel
}

//--------------------------------------------------------------------------------------
response CS_ChargingVan
{
	speak "vo.combine.charger.a3_hotel_interior_rooftop_van_01" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_van_02" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_van_03" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_van_04" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_van_05" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_van_06" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_van_07" noscene
	speak "vo.combine.charger.a3_hotel_interior_rooftop_van_08" noscene
}
rule CS_ChargingVan
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtVan
	response		CS_ChargingVan
}

//--------------------------------------------------------------------------------------
response CS_ChargingWall
{
	// dialog not written or recorded yet
	//speak "ConstructionYard.soldier_context_charging_wall_01" noscene
}
rule CS_ChargingWall
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtWall
	response		CS_ChargingWall
}

//--------------------------------------------------------------------------------------
response CS_ChargingWindow
{
	// dialog not written or recorded yet
	//speak "ConstructionYard.soldier_context_charging_window_01" noscene
}
rule CS_ChargingWindow
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtWindow
	response		CS_ChargingWindow
}

//--------------------------------------------------------------------------------------
response CS_ChargingWoodpile
{
	speak "vo.combine.charger.antlions_woodpile_01" noscene
	speak "vo.combine.charger.antlions_woodpile_02" noscene
	speak "vo.combine.charger.antlions_woodpile_03" noscene
}
rule CS_ChargingWoodpile
{
	criteria		IsCombineS IsClass_Charger ConceptAnnounceCharge EnemyIsPlayer PlayerAtWoodpile
	response		CS_ChargingWoodpile
}

//~ //--------------------------------------------------------------------------------------
//~ // Cover me at location
//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtBricks
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_bricks_01" noscene
//~ }
//~ rule CS_CoverMeAtBricks
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtBricks
	//~ response		CS_CoverMeAtBricks
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtBridge
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_bridge_01" noscene
	//~ speak "ConstructionYard.soldier_context_cover_me_by_bridge_01" noscene
//~ }
//~ rule CS_CoverMeAtBridge
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtBridge
	//~ response		CS_CoverMeAtBridge
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtCar
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_by_car_01" noscene
//~ }
//~ rule CS_CoverMeAtCar
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtCar
	//~ response		CS_CoverMeAtCar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtContainer
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_container_01" noscene
//~ }
//~ rule CS_CoverMeAtContainer
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtContainer
	//~ response		CS_CoverMeAtContainer
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtCrane
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_crane_01" noscene
//~ }
//~ rule CS_CoverMeAtCrane
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtCrane
	//~ response		CS_CoverMeAtCrane
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtDoor
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_door_01" noscene
//~ }
//~ rule CS_CoverMeAtDoor
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtDoor
	//~ response		CS_CoverMeAtDoor
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtFence
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_fence_01" noscene
	//~ speak "ConstructionYard.soldier_context_cover_me_by_fence_01" noscene
//~ }
//~ rule CS_CoverMeAtFence
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtFence
	//~ response		CS_CoverMeAtFence
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtPipes
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_pipes_01" noscene
	//~ speak "ConstructionYard.soldier_context_cover_me_by_pipes_01" noscene
//~ }
//~ rule CS_CoverMeAtPipes
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtPipes
	//~ response		CS_CoverMeAtPipes
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtShack
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_shack_01" noscene
//~ }
//~ rule CS_CoverMeAtShack
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtShack
	//~ response		CS_CoverMeAtShack
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtStation
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_station_01" noscene
//~ }
//~ rule CS_CoverMeAtStation
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtStation
	//~ response		CS_CoverMeAtStation
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtToilet
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_toilet_01" noscene
//~ }
//~ rule CS_CoverMeAtToilet
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtToilet
	//~ response		CS_CoverMeAtToilet
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtTracks
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_tracks_01" noscene
//~ }
//~ rule CS_CoverMeAtTracks
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtTracks
	//~ response		CS_CoverMeAtTracks
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtTraincar
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_traincar_01" noscene
	//~ speak "ConstructionYard.soldier_context_cover_me_by_traincar_01" noscene
//~ }
//~ rule CS_CoverMeAtTraincar
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtTraincar
	//~ response		CS_CoverMeAtTraincar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtTruck
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_truck_01" noscene
	//~ speak "ConstructionYard.soldier_context_cover_me_by_truck_01" noscene
//~ }
//~ rule CS_CoverMeAtTruck
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtTruck
	//~ response		CS_CoverMeAtTruck
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtTunnel
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_tunnel_01" noscene
//~ }
//~ rule CS_CoverMeAtTunnel
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtTunnel
	//~ response		CS_CoverMeAtTunnel
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtVan
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_van_01" noscene
//~ }
//~ rule CS_CoverMeAtVan
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtVan
	//~ response		CS_CoverMeAtVan
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtWall
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_wall_01" noscene
//~ }
//~ rule CS_CoverMeAtWall
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtWall
	//~ response		CS_CoverMeAtWall
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtWindow
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_window_01" noscene
//~ }
//~ rule CS_CoverMeAtWindow
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtWindow
	//~ response		CS_CoverMeAtWindow
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeAtWoodpile
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_at_woodpile_01" noscene
//~ }
//~ rule CS_CoverMeAtWoodpile
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsAtWoodpile
	//~ response		CS_CoverMeAtWoodpile
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeBehindWall
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_behind_wall_01" noscene
//~ }
//~ rule CS_CoverMeBehindWall
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsBehindWall
	//~ response		CS_CoverMeBehindWall
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeInTunnel
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_in_tunnel_01" noscene
//~ }
//~ rule CS_CoverMeInTunnel
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsInTunnel
	//~ response		CS_CoverMeInTunnel
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeOnBridge
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_on_bridge_01" noscene
//~ }
//~ rule CS_CoverMeOnBridge
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsOnBridge
	//~ response		CS_CoverMeOnBridge
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_CoverMeOnTraincar
//~ {
	//~ speak "ConstructionYard.soldier_context_cover_me_on_traincar_01" noscene
//~ }
//~ rule CS_CoverMeOnTraincar
//~ {
	//~ criteria		IsCombineS ConceptCoverMe HasOtherSquadMembers IsOnTraincar
	//~ response		CS_CoverMeOnTraincar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ // Enemy spotted at location
//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtBricks
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_bricks_01" noscene
//~ }
//~ rule CS_EnemySpottedAtBricks
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtBricks
	//~ response		CS_EnemySpottedAtBricks
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtBridge
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_bridge_01" noscene
//~ }
//~ rule CS_EnemySpottedAtBridge
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtBridge
	//~ response		CS_EnemySpottedAtBridge
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtCar
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_by_car_01" noscene
//~ }
//~ rule CS_EnemySpottedAtCar
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtCar
	//~ response		CS_EnemySpottedAtCar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtContainer
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_container_01" noscene
//~ }
//~ rule CS_EnemySpottedAtContainer
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtContainer
	//~ response		CS_EnemySpottedAtContainer
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtCrane
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_crane_01" noscene
//~ }
//~ rule CS_EnemySpottedAtCrane
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtCrane
	//~ response		CS_EnemySpottedAtCrane
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtDoor
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_door_01" noscene
//~ }
//~ rule CS_EnemySpottedAtDoor
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtDoor
	//~ response		CS_EnemySpottedAtDoor
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtFence
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_fence_01" noscene
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_by_fence_01" noscene
//~ }
//~ rule CS_EnemySpottedAtFence
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtFence
	//~ response		CS_EnemySpottedAtFence
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtPipes
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_pipes_01" noscene
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_by_pipes_01" noscene
//~ }
//~ rule CS_EnemySpottedAtPipes
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtPipes
	//~ response		CS_EnemySpottedAtPipes
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtShack
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_shack_01" noscene
//~ }
//~ rule CS_EnemySpottedAtShack
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtShack
	//~ response		CS_EnemySpottedAtShack
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtStation
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_station_01" noscene
//~ }
//~ rule CS_EnemySpottedAtStation
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtStation
	//~ response		CS_EnemySpottedAtStation
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtToilet
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_toilet_01" noscene
//~ }
//~ rule CS_EnemySpottedAtToilet
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtToilet
	//~ response		CS_EnemySpottedAtToilet
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtTracks
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_tracks_01" noscene
//~ }
//~ rule CS_EnemySpottedAtTracks
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtTracks
	//~ response		CS_EnemySpottedAtTracks
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtTraincar
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_by_traincar_01" noscene
//~ }
//~ rule CS_EnemySpottedAtTraincar
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtTraincar
	//~ response		CS_EnemySpottedAtTraincar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtTruck
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_truck_01" noscene
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_by_truck_01" noscene
//~ }
//~ rule CS_EnemySpottedAtTruck
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtTruck
	//~ response		CS_EnemySpottedAtTruck
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtVan
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_van_01" noscene
//~ }
//~ rule CS_EnemySpottedAtVan
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtVan
	//~ response		CS_EnemySpottedAtVan
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtWall
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_wall_01" noscene
//~ }
//~ rule CS_EnemySpottedAtWall
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtWall
	//~ response		CS_EnemySpottedAtWall
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtWindow
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_window_01" noscene
//~ }
//~ rule CS_EnemySpottedAtWindow
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtWindow
	//~ response		CS_EnemySpottedAtWindow
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedAtWoodpile
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_at_woodpile_01" noscene
//~ }
//~ rule CS_EnemySpottedAtWoodpile
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerAtWoodpile
	//~ response		CS_EnemySpottedAtWoodpile
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedBehindWall
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_behind_wall_01" noscene
//~ }
//~ rule CS_EnemySpottedBehindWall
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerBehindWall
	//~ response		CS_EnemySpottedBehindWall
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedInToilet
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_in_toilet_01" noscene
//~ }
//~ rule CS_EnemySpottedInToilet
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerInToilet
	//~ response		CS_EnemySpottedInToilet
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedInTraincar
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_in_traincar_01" noscene
//~ }
//~ rule CS_EnemySpottedInTraincar
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerInTraincar
	//~ response		CS_EnemySpottedInTraincar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedInTunnel
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_in_tunnel_01" noscene
//~ }
//~ rule CS_EnemySpottedInTunnel
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerInTunnel
	//~ response		CS_EnemySpottedInTunnel
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedInVan
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_in_van_01" noscene
//~ }
//~ rule CS_EnemySpottedInVan
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerInVan
	//~ response		CS_EnemySpottedInVan
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedOnBridge
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_on_bridge_01" noscene
//~ }
//~ rule CS_EnemySpottedOnBridge
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerOnBridge
	//~ response		CS_EnemySpottedOnBridge
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_EnemySpottedOnTraincar
//~ {
	//~ speak "ConstructionYard.soldier_context_enemy_spotted_on_traincar_01" noscene
//~ }
//~ rule CS_EnemySpottedOnTraincar
//~ {
	//~ criteria		IsCombineS ConceptAnnounceEnemy AnnouncedEnemyIsPlayer PlayerOnTraincar
	//~ response		CS_EnemySpottedOnTraincar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ // Holding Position At Location
//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtBricks
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_bricks_01" noscene
//~ }
//~ rule CS_HoldingPositionAtBricks
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtBricks
	//~ response		CS_HoldingPositionAtBricks
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtBridge
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_bridge_01" noscene
	//~ speak "ConstructionYard.soldier_context_holding_position_by_bridge_01" noscene
//~ }
//~ rule CS_HoldingPositionAtBridge
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtBridge
	//~ response		CS_HoldingPositionAtBridge
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtCar
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_by_car_01" noscene
//~ }
//~ rule CS_HoldingPositionAtCar
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtCar
	//~ response		CS_HoldingPositionAtCar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtContainer
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_container_01" noscene
	//~ speak "ConstructionYard.soldier_context_holding_position_by_container_01" noscene
//~ }
//~ rule CS_HoldingPositionAtContainer
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtContainer
	//~ response		CS_HoldingPositionAtContainer
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtCrane
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_crane_01" noscene
//~ }
//~ rule CS_HoldingPositionAtCrane
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtCrane
	//~ response		CS_HoldingPositionAtCrane
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtDoor
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_door_01" noscene
	//~ speak "ConstructionYard.soldier_context_holding_position_by_door_01" noscene
//~ }
//~ rule CS_HoldingPositionAtDoor
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtDoor
	//~ response		CS_HoldingPositionAtDoor
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtFence
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_fence_01" noscene
	//~ speak "ConstructionYard.soldier_context_holding_position_by_fence_01" noscene
//~ }
//~ rule CS_HoldingPositionAtFence
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtFence
	//~ response		CS_HoldingPositionAtFence
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtPipes
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_pipes_01" noscene
	//~ speak "ConstructionYard.soldier_context_holding_position_by_pipes_01" noscene
//~ }
//~ rule CS_HoldingPositionAtPipes
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtPipes
	//~ response		CS_HoldingPositionAtPipes
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtShack
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_shack_01" noscene
//~ }
//~ rule CS_HoldingPositionAtShack
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtShack
	//~ response		CS_HoldingPositionAtShack
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtStation
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_station_01" noscene
//~ }
//~ rule CS_HoldingPositionAtStation
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtStation
	//~ response		CS_HoldingPositionAtStation
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtToilet
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_toilet_01" noscene
//~ }
//~ rule CS_HoldingPositionAtToilet
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtToilet
	//~ response		CS_HoldingPositionAtToilet
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtTracks
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_tracks_01" noscene
//~ }
//~ rule CS_HoldingPositionAtTracks
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtTracks
	//~ response		CS_HoldingPositionAtTracks
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtTraincar
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_traincar_01" noscene
	//~ speak "ConstructionYard.soldier_context_holding_position_by_traincar_01" noscene
//~ }
//~ rule CS_HoldingPositionAtTraincar
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtTraincar
	//~ response		CS_HoldingPositionAtTraincar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtTruck
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_truck_01" noscene
	//~ speak "ConstructionYard.soldier_context_holding_position_by_truck_01" noscene
//~ }
//~ rule CS_HoldingPositionAtTruck
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtTruck
	//~ response		CS_HoldingPositionAtTruck
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtTunnel
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_tunnel_01" noscene
//~ }
//~ rule CS_HoldingPositionAtTunnel
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtTunnel
	//~ response		CS_HoldingPositionAtTunnel
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtVan
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_van_01" noscene
//~ }
//~ rule CS_HoldingPositionAtVan
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtVan
	//~ response		CS_HoldingPositionAtVan
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtWall
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_wall_01" noscene
//~ }
//~ rule CS_HoldingPositionAtWall
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtWall
	//~ response		CS_HoldingPositionAtWall
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtWindow
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_window_01" noscene
//~ }
//~ rule CS_HoldingPositionAtWindow
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtWindow
	//~ response		CS_HoldingPositionAtWindow
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionAtWoodpile
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_at_woodpile_01" noscene
//~ }
//~ rule CS_HoldingPositionAtWoodpile
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsAtWoodpile
	//~ response		CS_HoldingPositionAtWoodpile
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionBehindWall
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_behind_wall_01" noscene
//~ }
//~ rule CS_HoldingPositionBehindWall
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsBehindWall
	//~ response		CS_HoldingPositionBehindWall
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionInToilet
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_in_toilet_01" noscene
//~ }
//~ rule CS_HoldingPositionInToilet
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsInToilet
	//~ response		CS_HoldingPositionInToilet
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionInTraincar
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_in_traincar_01" noscene
//~ }
//~ rule CS_HoldingPositionInTraincar
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsInTraincar
	//~ response		CS_HoldingPositionInTraincar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionInTunnel
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_in_tunnel_01" noscene
//~ }
//~ rule CS_HoldingPositionInTunnel
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsInTunnel
	//~ response		CS_HoldingPositionInTunnel
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionOnBridge
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_on_bridge_01" noscene
//~ }
//~ rule CS_HoldingPositionOnBridge
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsOnBridge
	//~ response		CS_HoldingPositionOnBridge
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_HoldingPositionOnTraincar
//~ {
	//~ speak "ConstructionYard.soldier_context_holding_position_on_traincar_01" noscene
//~ }
//~ rule CS_HoldingPositionOnTraincar
//~ {
	//~ criteria		IsCombineS ConceptOverwatch IsOnTraincar
	//~ response		CS_HoldingPositionOnTraincar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ // Lost visual of enemy at location
//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtBricks
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_bricks_01" noscene
//~ }
//~ rule CS_LostVisualAtBricks
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtBricks
	//~ response		CS_LostVisualAtBricks
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtBridge
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_bridge_01" noscene
//~ }
//~ rule CS_LostVisualAtBridge
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtBridge
	//~ response		CS_LostVisualAtBridge
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtCar
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_by_car_01" noscene
//~ }
//~ rule CS_LostVisualAtCar
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtCar
	//~ response		CS_LostVisualAtCar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtContainer
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_container_01" noscene
//~ }
//~ rule CS_LostVisualAtContainer
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtContainer
	//~ response		CS_LostVisualAtContainer
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtCrane
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_crane_01" noscene
//~ }
//~ rule CS_LostVisualAtCrane
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtCrane
	//~ response		CS_LostVisualAtCrane
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtDoor
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_door_01" noscene
//~ }
//~ rule CS_LostVisualAtDoor
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtDoor
	//~ response		CS_LostVisualAtDoor
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtFence
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_fence_01" noscene
	//~ speak "ConstructionYard.soldier_context_lost_visual_by_fence_01" noscene
//~ }
//~ rule CS_LostVisualAtFence
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtFence
	//~ response		CS_LostVisualAtFence
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtPipes
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_pipes_01" noscene
	//~ speak "ConstructionYard.soldier_context_lost_visual_by_pipes_01" noscene
//~ }
//~ rule CS_LostVisualAtPipes
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtPipes
	//~ response		CS_LostVisualAtPipes
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtShack
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_shack_01" noscene
//~ }
//~ rule CS_LostVisualAtShack
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtShack
	//~ response		CS_LostVisualAtShack
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtStation
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_station_01" noscene
//~ }
//~ rule CS_LostVisualAtStation
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtStation
	//~ response		CS_LostVisualAtStation
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtToilet
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_toilet_01" noscene
//~ }
//~ rule CS_LostVisualAtToilet
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtToilet
	//~ response		CS_LostVisualAtToilet
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtTracks
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_tracks_01" noscene
//~ }
//~ rule CS_LostVisualAtTracks
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtTracks
	//~ response		CS_LostVisualAtTracks
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtTraincar
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_by_traincar_01" noscene
//~ }
//~ rule CS_LostVisualAtTraincar
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtTraincar
	//~ response		CS_LostVisualAtTraincar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtTruck
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_truck_01" noscene
	//~ speak "ConstructionYard.soldier_context_lost_visual_by_truck_01" noscene
//~ }
//~ rule CS_LostVisualAtTruck
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtTruck
	//~ response		CS_LostVisualAtTruck
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtVan
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_van_01" noscene
//~ }
//~ rule CS_LostVisualAtVan
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtVan
	//~ response		CS_LostVisualAtVan
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtWall
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_wall_01" noscene
//~ }
//~ rule CS_LostVisualAtWall
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtWall
	//~ response		CS_LostVisualAtWall
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtWindow
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_window_01" noscene
//~ }
//~ rule CS_LostVisualAtWindow
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtWindow
	//~ response		CS_LostVisualAtWindow
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualAtWoodpile
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_at_woodpile_01" noscene
//~ }
//~ rule CS_LostVisualAtWoodpile
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerAtWoodpile
	//~ response		CS_LostVisualAtWoodpile
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualBehindWall
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_behind_wall_01" noscene
//~ }
//~ rule CS_LostVisualBehindWall
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerBehindWall
	//~ response		CS_LostVisualBehindWall
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualInToilet
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_in_toilet_01" noscene
//~ }
//~ rule CS_LostVisualInToilet
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerInToilet
	//~ response		CS_LostVisualInToilet
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualInTraincar
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_in_traincar_01" noscene
//~ }
//~ rule CS_LostVisualInTraincar
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerInTraincar
	//~ response		CS_LostVisualInTraincar
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualInTunnel
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_in_tunnel_01" noscene
//~ }
//~ rule CS_LostVisualInTunnel
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerInTunnel
	//~ response		CS_LostVisualInTunnel
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualInVan
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_in_van_01" noscene
//~ }
//~ rule CS_LostVisualInVan
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerInVan
	//~ response		CS_LostVisualInVan
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualOnBridge
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_on_bridge_01" noscene
//~ }
//~ rule CS_LostVisualOnBridge
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerOnBridge
	//~ response		CS_LostVisualOnBridge
//~ }

//~ //--------------------------------------------------------------------------------------
//~ response CS_LostVisualOnTraincar
//~ {
	//~ speak "ConstructionYard.soldier_context_lost_visual_on_traincar_01" noscene
//~ }
//~ rule CS_LostVisualOnTraincar
//~ {
	//~ criteria		IsCombineS ConceptLostVisual EnemyIsPlayer PlayerOnTraincar
	//~ response		CS_LostVisualOnTraincar
//~ }




//========================================================================================================
// EXAMPLE USAGE OF THE "then" PARAMETER TO DO MULTI STEP SPEECH 
//		Console command to trigger this in game (while looking at a combine soldier):    npc_speak COMBINESOLDIER_TESTSTEPS
//		Damage the soldier to 50% of their health to see the branch in action.
//========================================================================================================


// STEP 1: Starts here.
response CS_TestThen_Step1_Response
{
	speak "vo.combine.charger.underattack_01" noscene then self COMBINESOLDIER_TESTSTEPS step:2 2
}
rule CS_TestThen_Step1_Rule
{
	criteria		IsCombineS Concept_TestCS
	response		CS_TestThen_Step1_Response
}

// STEP 2: Then this is spoken
response CS_TestThen_Step2_Response
{
	speak "vo.combine.charger.announceattack_01" noscene then self COMBINESOLDIER_TESTSTEPS step:3 2
}
rule CS_TestThen_Step2_Rule
{
	criteria		IsCombineS Concept_TestCS Sentence_Step2
	response		CS_TestThen_Step2_Response
}

// STEP 3: Then branches to one of the two rules below, based on whether the soldier has >50% health
response CS_TestThen_Step3_Hurt_Response
{
	speak "vo.combine.charger.takingfire_01" noscene
}
rule CS_TestThen_Step3_Hurt_Rule
{
	criteria		IsCombineS Concept_TestCS Sentence_Step3 SoldierIsHurt
	response		CS_TestThen_Step3_Hurt_Response
}

response CS_TestThen_Step3_Unhurt_Response
{
	speak "vo.combine.charger.announcekill_01" noscene
}
rule CS_TestThen_Step3_Unhurt_Rule
{
	criteria		IsCombineS Concept_TestCS Sentence_Step3 SoldierIsUnhurt
	response		CS_TestThen_Step3_Unhurt_Response
}