First version of the SOurce SDK 2013
This commit is contained in:
120
sp/game/mod_hl2/scripts/talker/npc_alyx.txt
Normal file
120
sp/game/mod_hl2/scripts/talker/npc_alyx.txt
Normal file
@@ -0,0 +1,120 @@
|
||||
//============================================================================================================
|
||||
// Alyx criteria
|
||||
criterion "IsAlyx" "classname" "npc_alyx" "required"
|
||||
//============================================================================================================
|
||||
|
||||
//============================================================================================================
|
||||
// Alyx Combat speech
|
||||
//============================================================================================================
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
response "AlyxDanger"
|
||||
{
|
||||
scene "scenes/npc/Alyx/getback01.vcd"
|
||||
scene "scenes/npc/Alyx/getback02.vcd"
|
||||
scene "scenes/npc/Alyx/getdown01.vcd"
|
||||
scene "scenes/npc/Alyx/watchout01.vcd"
|
||||
scene "scenes/npc/Alyx/watchout02.vcd"
|
||||
}
|
||||
rule AlyxDanger
|
||||
{
|
||||
criteria IsAlyx ConceptTalkDanger
|
||||
response AlyxDanger
|
||||
}
|
||||
|
||||
response AlyxShot
|
||||
{
|
||||
scene "scenes/npc/Alyx/gasp02.vcd"
|
||||
scene "scenes/npc/Alyx/gasp03.vcd"
|
||||
scene "scenes/npc/Alyx/hurt04.vcd"
|
||||
scene "scenes/npc/Alyx/hurt05.vcd"
|
||||
scene "scenes/npc/Alyx/hurt06.vcd"
|
||||
scene "scenes/npc/Alyx/hurt08.vcd"
|
||||
scene "scenes/npc/Alyx/uggh01.vcd"
|
||||
}
|
||||
|
||||
rule AlyxShot
|
||||
{
|
||||
criteria IsAlyx ConceptShot
|
||||
response AlyxShot
|
||||
}
|
||||
|
||||
|
||||
response AlyxEnemyDead
|
||||
{
|
||||
scene "scenes/npc/Alyx/brutal02.vcd" respeakdelay 300
|
||||
}
|
||||
|
||||
rule AlyxEnemyDead
|
||||
{
|
||||
criteria IsAlyx ConceptEnemyDead
|
||||
response AlyxEnemyDead
|
||||
}
|
||||
|
||||
response AlyxHideAndReload
|
||||
{
|
||||
scene "scenes/npc/Alyx/coverme01.vcd"
|
||||
scene "scenes/npc/Alyx/coverme02.vcd"
|
||||
scene "scenes/npc/Alyx/coverme03.vcd"
|
||||
}
|
||||
|
||||
rule AlyxHideAndReload
|
||||
{
|
||||
criteria IsAlyx ConceptHideAndReload PlayerNear
|
||||
response AlyxHideAndReload
|
||||
}
|
||||
|
||||
response AlyxTalkPlayerPushed
|
||||
{
|
||||
scene "scenes/npc/Alyx/excuseme01.vcd"
|
||||
scene "scenes/npc/Alyx/excuseme02.vcd"
|
||||
scene "scenes/npc/Alyx/excuseme03.vcd"
|
||||
}
|
||||
|
||||
rule AlyxTalkPlayerPushed
|
||||
{
|
||||
criteria IsAlyx ConceptTalkPlayerPushed SeenByPlayer NoRecentCombat
|
||||
response AlyxTalkPlayerPushed
|
||||
}
|
||||
|
||||
response AlyxPlayerReload
|
||||
{
|
||||
scene "scenes/npc/Alyx/youreload01.vcd"
|
||||
scene "scenes/npc/Alyx/youreload02.vcd"
|
||||
}
|
||||
|
||||
rule AlyxPlayerReload
|
||||
{
|
||||
criteria ConceptPlayerReload IsAlyx PlayerNear SeePlayer
|
||||
response AlyxPlayerReload
|
||||
}
|
||||
|
||||
response AlyxWatchOut
|
||||
{
|
||||
scene "scenes/npc/Alyx/lookout01.vcd"
|
||||
scene "scenes/npc/Alyx/lookout03.vcd"
|
||||
}
|
||||
|
||||
rule AlyxWatchOut
|
||||
{
|
||||
criteria IsAlyx ConceptTalkWatchout
|
||||
response AlyxWatchout
|
||||
}
|
||||
|
||||
response AlyxPlayerDead
|
||||
{
|
||||
scene "scenes/npc/Alyx/ohno_startle01.vcd"
|
||||
scene "scenes/npc/Alyx/ohno_startle02.vcd"
|
||||
scene "scenes/npc/Alyx/ohno_startle03.vcd"
|
||||
}
|
||||
|
||||
rule AlyxPlayerDead
|
||||
{
|
||||
criteria IsAlyx ConceptPlayerDead
|
||||
response AlyxWatchout
|
||||
matchonce
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//============================================================================================================
|
||||
915
sp/game/mod_hl2/scripts/talker/npc_citizen.txt
Normal file
915
sp/game/mod_hl2/scripts/talker/npc_citizen.txt
Normal file
@@ -0,0 +1,915 @@
|
||||
//============================================================================================================
|
||||
// Citizen criteria
|
||||
//============================================================================================================
|
||||
criterion "IsCitizen" "classname" "npc_citizen" "required"
|
||||
criterion "IsRPGUser" "attacking_with_weapon" "weapon_rpg" required
|
||||
criterion "EnemyIsSniper" "enemy" "npc_sniper" required
|
||||
criterion "EnemyIsStrider" "enemy" "npc_strider" required
|
||||
criterion "HurtByFire" "hurt_by_fire" "1" required
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Hello speech
|
||||
//============================================================================================================
|
||||
response "CitizenHello"
|
||||
{
|
||||
scene "scenes/npc/$gender01/abouttime01.vcd"
|
||||
scene "scenes/npc/$gender01/abouttime02.vcd"
|
||||
scene "scenes/npc/$gender01/ahgordon01.vcd"
|
||||
scene "scenes/npc/$gender01/ahgordon02.vcd"
|
||||
scene "scenes/npc/$gender01/docfreeman01.vcd"
|
||||
scene "scenes/npc/$gender01/docfreeman02.vcd"
|
||||
scene "scenes/npc/$gender01/freeman.vcd"
|
||||
scene "scenes/npc/$gender01/hellodrfm01.vcd"
|
||||
scene "scenes/npc/$gender01/hellodrfm02.vcd"
|
||||
scene "scenes/npc/$gender01/heydoc01.vcd"
|
||||
scene "scenes/npc/$gender01/heydoc02.vcd"
|
||||
scene "scenes/npc/$gender01/hi01.vcd"
|
||||
scene "scenes/npc/$gender01/hi02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenHello
|
||||
{
|
||||
criteria IsCitizen ConceptTalkHello IsGordonCriminal NPCIdle PlayerNear SeePlayer
|
||||
response CitizenHello
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Idle speech
|
||||
//============================================================================================================
|
||||
response "CitizenTalkStare"
|
||||
{
|
||||
scene "scenes/npc/$gender01/doingsomething.vcd"
|
||||
scene "scenes/npc/$gender01/getgoingsoon.vcd"
|
||||
scene "scenes/npc/$gender01/waitingsomebody.vcd"
|
||||
}
|
||||
|
||||
rule CitizenTalkStare
|
||||
{
|
||||
criteria IsCitizen ConceptTalkStare IsGordonCriminal NPCIdle
|
||||
response CitizenTalkStare
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenTalkPlayerPushed"
|
||||
{
|
||||
scene "scenes/npc/$gender01/sorryfm01.vcd"
|
||||
scene "scenes/npc/$gender01/sorryfm02.vcd"
|
||||
scene "scenes/npc/$gender01/sorrydoc01.vcd"
|
||||
scene "scenes/npc/$gender01/sorrydoc02.vcd"
|
||||
scene "scenes/npc/$gender01/sorrydoc04.vcd"
|
||||
scene "scenes/npc/$gender01/excuseme01.vcd"
|
||||
scene "scenes/npc/$gender01/excuseme02.vcd"
|
||||
scene "scenes/npc/$gender01/pardonme01.vcd"
|
||||
scene "scenes/npc/$gender01/pardonme02.vcd"
|
||||
scene "scenes/npc/$gender01/sorry01.vcd"
|
||||
scene "scenes/npc/$gender01/sorry02.vcd"
|
||||
scene "scenes/npc/$gender01/sorry03.vcd"
|
||||
scene "scenes/npc/$gender01/outofyourway01.vcd"
|
||||
scene "scenes/npc/$gender01/outofyourway02.vcd"
|
||||
scene "scenes/npc/$gender01/whoops01.vcd"
|
||||
}
|
||||
|
||||
rule CitizenTalkPlayerPushed
|
||||
{
|
||||
criteria IsCitizen ConceptTalkPlayerPushed SeenByPlayer NoRecentCombat
|
||||
response CitizenTalkPlayerPushed
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Questions & Responses speech
|
||||
//============================================================================================================
|
||||
response "CitizenQuestion"
|
||||
{
|
||||
scene "scenes/npc/$gender01/question01.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question02.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question03.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question04.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question05.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question06.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question07.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question08.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question09.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question10.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question11.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question12.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question13.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question14.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question15.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question16.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question17.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question18.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question19.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question20.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question21.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question22.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question23.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question25.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question26.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question27.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question28.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question29.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question30.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question31.vcd" delay 1
|
||||
}
|
||||
|
||||
rule CitizenQuestion
|
||||
{
|
||||
criteria IsCitizen ConceptTalkQuestion IsGordonCriminal PlayerAlive
|
||||
response CitizenQuestion
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenAnswer"
|
||||
{
|
||||
scene "scenes/npc/$gender01/answer01.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer02.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer03.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer04.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer05.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer07.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer08.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer09.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer10.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer11.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer12.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer13.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer14.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer15.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer16.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer17.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer18.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer19.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer20.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer21.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer22.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer23.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer24.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer25.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer26.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer27.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer28.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer29.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer30.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer31.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer32.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer33.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer34.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer35.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer36.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer37.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer38.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer39.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer40.vcd" delay 2
|
||||
}
|
||||
//---------------------
|
||||
rule CitizenAnswer
|
||||
{
|
||||
criteria IsCitizen ConceptTalkAnswer IsGordonCriminal PlayerAlive
|
||||
response CitizenAnswer
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Questions & Responses with Vortigaunts in Scene
|
||||
//============================================================================================================
|
||||
response "CitizenQuestionVort"
|
||||
{
|
||||
scene "scenes/npc/$gender01/vquestion01.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/vquestion02.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/vquestion03.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/vquestion04.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/vquestion05.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/vquestion06.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/vquestion07.vcd" delay 1
|
||||
|
||||
}
|
||||
|
||||
rule CitizenQuestionVort
|
||||
{
|
||||
criteria IsCitizen ConceptTalkQuestionVort IsGordonCriminal NPCIdle PlayerAlive
|
||||
response CitizenQuestionVort
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenAnswerVort"
|
||||
{
|
||||
scene "scenes/npc/$gender01/vanswer01.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer02.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer03.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer04.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer05.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer06.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer07.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer08.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer09.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer10.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer11.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer12.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer13.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer14.vcd" delay 2
|
||||
|
||||
}
|
||||
|
||||
rule CitizenAnswerVort
|
||||
{
|
||||
criteria IsCitizen ConceptTalkAnswerVort IsGordonCriminal NPCIdle PlayerAlive
|
||||
response CitizenAnswerVort
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Mourning the player's death
|
||||
//============================================================================================================
|
||||
|
||||
response "CitizenMournQ"
|
||||
{
|
||||
scene "scenes/npc/$gender01/gordead_ques01.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques02.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques03a.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques03b.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques04.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques05.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques06.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques07.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques08.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques09.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques10.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques11.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques12.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques13.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques14.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques15.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques16.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques17.vcd"
|
||||
}
|
||||
|
||||
rule CitizenMournQ
|
||||
{
|
||||
criteria IsCitizen ConceptTalkQuestion IsGordonCriminal PlayerDead
|
||||
response CitizenMournQ
|
||||
matchonce
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenMournA"
|
||||
{
|
||||
scene "scenes/npc/$gender01/gordead_ans01.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans02.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans03.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans04.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans05.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans06.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans07.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans08.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans09.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans10.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans11.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans12.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans13.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans14.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans15.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans16.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans17.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans18.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans19.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans20.vcd"
|
||||
}
|
||||
|
||||
rule CitizenMournA
|
||||
{
|
||||
criteria IsCitizen ConceptTalkAnswer IsGordonCriminal PlayerDead
|
||||
response CitizenMournA
|
||||
matchonce
|
||||
}
|
||||
|
||||
response "CitizenMournAll"
|
||||
{
|
||||
response CitizenMournQ
|
||||
response CitizenMournA
|
||||
}
|
||||
|
||||
rule CitizenMourn
|
||||
{
|
||||
criteria IsCitizen ConceptPlayerDead IsGordonCriminal PlayerDead
|
||||
response CitizenMournAll
|
||||
matchonce
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
response "CitizenHeal"
|
||||
{
|
||||
scene "scenes/npc/$gender01/health01.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/health02.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/health03.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/health04.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/health05.vcd" delay 1
|
||||
}
|
||||
|
||||
rule CitizenHeal
|
||||
{
|
||||
criteria IsCitizen ConceptTalkHeal
|
||||
response CitizenHeal
|
||||
}
|
||||
//---------------------------
|
||||
response "CitizenGiveAmmo"
|
||||
{
|
||||
scene "scenes/npc/$gender01/ammo01.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/ammo02.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/ammo03.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/ammo04.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/ammo05.vcd" delay 1
|
||||
}
|
||||
|
||||
rule CitizenGiveAmmo
|
||||
{
|
||||
criteria IsCitizen ConceptTalkGiveAmmo
|
||||
response CitizenGiveAmmo
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Combat speech
|
||||
//============================================================================================================
|
||||
response "CitizenDanger"
|
||||
{
|
||||
permitrepeats
|
||||
scene "scenes/npc/$gender01/watchout.vcd" weight 1
|
||||
scene "scenes/npc/$gender01/uhoh.vcd" weight 1.1
|
||||
scene "scenes/npc/$gender01/lookoutfm01.vcd" weight .9
|
||||
scene "scenes/npc/$gender01/startle01.vcd" weight 1.1
|
||||
scene "scenes/npc/$gender01/startle02.vcd" weight 1.1
|
||||
scene "scenes/npc/$gender01/getdown02.vcd" weight 1
|
||||
}
|
||||
|
||||
rule CitizenDanger
|
||||
{
|
||||
criteria IsCitizen ConceptTalkDanger
|
||||
response CitizenDanger
|
||||
}
|
||||
|
||||
response CitizenDangerBig
|
||||
{
|
||||
permitrepeats
|
||||
scene "scenes/npc/$gender01/strider_run.vcd"
|
||||
scene "scenes/npc/$gender01/gethellout.vcd"
|
||||
response CitizenDanger weight 12 // 6 * 2
|
||||
}
|
||||
|
||||
rule CitizenDangerBig
|
||||
{
|
||||
criteria IsCitizen ConceptTalkDanger EnemyIsStrider
|
||||
response CitizenDangerBig
|
||||
}
|
||||
|
||||
response "CitizenMortarDanger"
|
||||
{
|
||||
scene "scenes/npc/$gender01/watchout.vcd"
|
||||
scene "scenes/npc/$gender01/headsup01.vcd"
|
||||
scene "scenes/npc/$gender01/getdown02.vcd"
|
||||
scene "scenes/npc/$gender01/headsup02.vcd"
|
||||
scene "scenes/npc/$gender01/incoming02.vcd"
|
||||
scene "scenes/npc/$gender01/takecover02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenMortarDanger
|
||||
{
|
||||
criteria IsCitizen ConceptTalkDanger EnemyIsMortar
|
||||
response CitizenMortarDanger
|
||||
}
|
||||
|
||||
response "CitizenSniperDanger"
|
||||
{
|
||||
scene "scenes/npc/$gender01/uhoh.vcd"
|
||||
scene "scenes/npc/$gender01/startle01.vcd"
|
||||
scene "scenes/npc/$gender01/startle02.vcd"
|
||||
scene "scenes/npc/$gender01/getdown02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenSniperDanger
|
||||
{
|
||||
criteria IsCitizen ConceptTalkDanger EnemyIsSniper
|
||||
response CitizenSniperDanger
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Reloads Weapon
|
||||
//============================================================================================================
|
||||
response "CitizenHideAndReload"
|
||||
{
|
||||
scene "scenes/npc/$gender01/coverwhilereload01.vcd"
|
||||
scene "scenes/npc/$gender01/coverwhilereload02.vcd"
|
||||
scene "scenes/npc/$gender01/gottareload01.vcd"
|
||||
// print "Gotta reload!"
|
||||
}
|
||||
|
||||
rule CitizenHideAndReload
|
||||
{
|
||||
criteria IsCitizen ConceptHideAndReload
|
||||
response CitizenHideAndReload
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Reminds Player to Reload
|
||||
//============================================================================================================
|
||||
response "CitizenPlayerReload"
|
||||
{
|
||||
scene "scenes/npc/$gender01/dontforgetreload01.vcd"
|
||||
scene "scenes/npc/$gender01/reloadfm01.vcd"
|
||||
scene "scenes/npc/$gender01/reloadfm02.vcd"
|
||||
scene "scenes/npc/$gender01/youdbetterreload01.vcd"
|
||||
// print "You better reload, Doc."
|
||||
}
|
||||
|
||||
rule CitizenPlayerReload
|
||||
{
|
||||
criteria ConceptPlayerReload IsCitizen PlayerNear SeePlayer
|
||||
response CitizenPlayerReload
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenNewWeapon"
|
||||
{
|
||||
scene "scenes/npc/$gender01/nice.vcd"
|
||||
scene "scenes/npc/$gender01/nice01.vcd"
|
||||
scene "scenes/npc/$gender01/nice02.vcd"
|
||||
scene "scenes/npc/$gender01/thislldonicely.vcd"
|
||||
scene "scenes/npc/$gender01/yeah01.vcd"
|
||||
scene "scenes/npc/$gender01/fantastic01.vcd"
|
||||
scene "scenes/npc/$gender01/fantastic02.vcd"
|
||||
scene "scenes/npc/$gender01/finally.vcd"
|
||||
scene "scenes/npc/$gender01/oneforme.vcd"
|
||||
scene "scenes/npc/$gender01/evenodds.vcd"
|
||||
}
|
||||
|
||||
rule CitizenNewWeapon
|
||||
{
|
||||
criteria IsCitizen ConceptNewWeapon
|
||||
response CitizenNewWeapon
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response CitizenOuch
|
||||
{
|
||||
permitrepeats
|
||||
scene "scenes/npc/$gender01/ow01.vcd"
|
||||
scene "scenes/npc/$gender01/ow02.vcd"
|
||||
speak npc_citizen.die weight 9 // there are nine waves in there
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenMortalWound
|
||||
{
|
||||
scene "scenes/npc/$gender01/imhurt01.vcd"
|
||||
scene "scenes/npc/$gender01/imhurt02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenMortalWound
|
||||
{
|
||||
criteria IsCitizen ConceptTalkMortal
|
||||
response CitizenMortalWound
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
rule CitizenWound
|
||||
{
|
||||
criteria IsCitizen ConceptTalkWound
|
||||
response CitizenOuch
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenWoundFire
|
||||
{
|
||||
scene "scenes/npc/$gender01/ow01.vcd"
|
||||
scene "scenes/npc/$gender01/no01.vcd"
|
||||
scene "scenes/npc/$gender01/no02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenWoundFire
|
||||
{
|
||||
criteria IsCitizen ConceptTalkWound HurtByFire
|
||||
response CitizenWoundFire
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenShotArm"
|
||||
{
|
||||
permitrepeats
|
||||
scene "scenes/npc/$gender01/myarm01.vcd"
|
||||
scene "scenes/npc/$gender01/myarm02.vcd"
|
||||
response CitizenOuch weight 8
|
||||
}
|
||||
|
||||
rule CitizenShotArm
|
||||
{
|
||||
criteria IsCitizen ConceptShot ShotInArm
|
||||
response CitizenShotArm
|
||||
}
|
||||
|
||||
response "CitizenShotLeg"
|
||||
{
|
||||
permitrepeats
|
||||
scene "scenes/npc/$gender01/myleg01.vcd"
|
||||
scene "scenes/npc/$gender01/myleg02.vcd"
|
||||
response CitizenOuch weight 8
|
||||
}
|
||||
|
||||
|
||||
rule CitizenShotLeg
|
||||
{
|
||||
criteria IsCitizen ConceptShot ShotInLeg
|
||||
response CitizenShotLeg
|
||||
}
|
||||
|
||||
response "CitizenShotGut"
|
||||
{
|
||||
permitrepeats
|
||||
scene "scenes/npc/$gender01/mygut01.vcd"
|
||||
scene "scenes/npc/$gender01/mygut02.vcd"
|
||||
scene "scenes/npc/$gender01/hitingut01.vcd"
|
||||
scene "scenes/npc/$gender01/hitingut02.vcd"
|
||||
response CitizenOuch weight 16
|
||||
}
|
||||
|
||||
rule CitizenShotGut
|
||||
{
|
||||
criteria IsCitizen ConceptShot ShotInGut
|
||||
response CitizenShotGut
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response CitizenWatchOut
|
||||
{
|
||||
scene "scenes/npc/$gender01/lookoutfm01.vcd"
|
||||
scene "scenes/npc/$gender01/lookoutfm02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenWatchOut
|
||||
{
|
||||
criteria IsCitizen ConceptTalkWatchout
|
||||
response CitizenWatchout
|
||||
}
|
||||
|
||||
response CitizenWatchOutUp
|
||||
{
|
||||
scene "scenes/npc/$gender01/upthere01.vcd"
|
||||
scene "scenes/npc/$gender01/upthere02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenWatchOutUp
|
||||
{
|
||||
criteria IsCitizen ConceptTalkWatchout
|
||||
"dangerloc" "above" required
|
||||
response CitizenWatchOutUp
|
||||
}
|
||||
|
||||
response CitizenWatchOutBehind
|
||||
{
|
||||
scene "scenes/npc/$gender01/behindyou01.vcd"
|
||||
scene "scenes/npc/$gender01/behindyou02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenWatchOutBehind
|
||||
{
|
||||
criteria IsCitizen ConceptTalkWatchout
|
||||
"dangerloc" "behind" required
|
||||
response CitizenWatchOutBehind
|
||||
}
|
||||
|
||||
response CitizenWatchOutFar
|
||||
{
|
||||
scene "scenes/npc/$gender01/overthere01.vcd"
|
||||
scene "scenes/npc/$gender01/overthere02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenWatchOutFar
|
||||
{
|
||||
criteria IsCitizen ConceptTalkWatchout
|
||||
"dangerloc" "far" required
|
||||
response CitizenWatchOutFar
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenEnemyDead"
|
||||
{
|
||||
scene "scenes/npc/$gender01/gotone01.vcd"
|
||||
scene "scenes/npc/$gender01/gotone02.vcd"
|
||||
// scene "scenes/npc/$gender01/likethemapples.vcd"
|
||||
scene "scenes/npc/$gender01/likethat.vcd"
|
||||
}
|
||||
|
||||
rule CitizenEnemyDead
|
||||
{
|
||||
criteria IsCitizen ConceptEnemyDead
|
||||
response CitizenEnemyDead
|
||||
rescenedelay 3
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenNoShoot"
|
||||
{
|
||||
scene "scenes/npc/$gender01/onyourside.vcd"
|
||||
scene "scenes/npc/$gender01/stopitfm.vcd"
|
||||
scene "scenes/npc/$gender01/watchwhat.vcd"
|
||||
|
||||
}
|
||||
|
||||
rule CitizenNoShoot
|
||||
{
|
||||
criteria IsCitizen ConceptTalkNoShoot
|
||||
response CitizenNoShoot
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenBetrayed"
|
||||
{
|
||||
scene "scenes/npc/$gender01/heretohelp01.vcd"
|
||||
scene "scenes/npc/$gender01/heretohelp02.vcd"
|
||||
scene "scenes/npc/$gender01/wetrustedyou01.vcd"
|
||||
scene "scenes/npc/$gender01/wetrustedyou02.vcd"
|
||||
scene "scenes/npc/$gender01/notthemanithought01.vcd"
|
||||
scene "scenes/npc/$gender01/notthemanithought02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenBetrayed
|
||||
{
|
||||
criteria IsCitizen ConceptTalkBetrayed
|
||||
response CitizenBetrayed
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenAllyKilled"
|
||||
{
|
||||
scene "scenes/npc/$gender01/ohno.vcd"
|
||||
scene "scenes/npc/$gender01/goodgod.vcd"
|
||||
scene "scenes/npc/$gender01/startle01.vcd"
|
||||
scene "scenes/npc/$gender01/startle02.vcd"
|
||||
scene "scenes/npc/$gender01/no01.vcd"
|
||||
scene "scenes/npc/$gender01/no02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenAllyKilled
|
||||
{
|
||||
criteria IsCitizen ConceptTalkAllyKilled
|
||||
response CitizenAllyKilled
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenCombineGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/combine01.vcd"
|
||||
scene "scenes/npc/$gender01/combine02.vcd"
|
||||
}
|
||||
|
||||
response CitizenCombine
|
||||
{
|
||||
response CitizenCombineGroup respeakdelay 300
|
||||
}
|
||||
|
||||
rule CitizenStartCombatCombine
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_combine_s required
|
||||
response CitizenCombine
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenHeadcrabGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/headcrabs01.vcd"
|
||||
scene "scenes/npc/$gender01/headcrabs02.vcd"
|
||||
}
|
||||
|
||||
response CitizenHeadcrab
|
||||
{
|
||||
response CitizenHeadcrabGroup respeakdelay 300
|
||||
}
|
||||
|
||||
rule CitizenStartCombatHeadcrab
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_headcrab required
|
||||
response CitizenHeadcrab
|
||||
}
|
||||
|
||||
rule CitizenStartCombatHeadcrabFast
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_headcrab_fast required
|
||||
response CitizenHeadcrab
|
||||
}
|
||||
|
||||
rule CitizenStartCombatHeadcrabBlack
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_headcrab_black required
|
||||
response CitizenHeadcrab
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenZombieGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/zombies01.vcd"
|
||||
scene "scenes/npc/$gender01/zombies02.vcd"
|
||||
}
|
||||
|
||||
response CitizenZombie
|
||||
{
|
||||
response CitizenZombieGroup respeakdelay 300
|
||||
}
|
||||
|
||||
rule CitizenStartCombatZombie
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_zombie required
|
||||
response CitizenZombie
|
||||
}
|
||||
|
||||
rule CitizenStartCombatZombieTorso
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_zombie_torso required
|
||||
response CitizenZombie
|
||||
}
|
||||
|
||||
rule CitizenStartCombatZombieFast
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_fastzombie required
|
||||
response CitizenZombie
|
||||
}
|
||||
|
||||
rule CitizenStartCombatZombiePoison
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_poisonzombie required
|
||||
response CitizenZombie
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenScannersGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/scanners01.vcd"
|
||||
scene "scenes/npc/$gender01/scanners02.vcd"
|
||||
}
|
||||
|
||||
response CitizenScanners
|
||||
{
|
||||
response CitizenScannersGroup respeakdelay 300
|
||||
}
|
||||
|
||||
|
||||
rule CitizenStartCombatScanners
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_cscanner required
|
||||
response CitizenScanners
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenStrider
|
||||
{
|
||||
scene "scenes/npc/$gender01/strider.vcd" respeakdelay 300
|
||||
}
|
||||
|
||||
rule CitizenStartCombatStrider
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_strider required
|
||||
response CitizenStrider
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenManhacksGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/itsamanhack01.vcd"
|
||||
scene "scenes/npc/$gender01/itsamanhack02.vcd"
|
||||
scene "scenes/npc/$gender01/herecomehacks01.vcd"
|
||||
scene "scenes/npc/$gender01/herecomehacks02.vcd"
|
||||
scene "scenes/npc/$gender01/thehacks01.vcd"
|
||||
scene "scenes/npc/$gender01/thehacks02.vcd"
|
||||
scene "scenes/npc/$gender01/hacks01.vcd"
|
||||
scene "scenes/npc/$gender01/hacks02.vcd"
|
||||
}
|
||||
|
||||
response CitizenManhacks
|
||||
{
|
||||
response CitizenManhacksGroup respeakdelay 300
|
||||
}
|
||||
|
||||
rule CitizenStartCombatManhacks
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_manhack required
|
||||
response CitizenManhacks
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response "CitizenMetroGroup"
|
||||
{
|
||||
scene "scenes/npc/$gender01/cps01.vcd"
|
||||
scene "scenes/npc/$gender01/cps02.vcd"
|
||||
scene "scenes/npc/$gender01/civilprotection01.vcd"
|
||||
scene "scenes/npc/$gender01/civilprotection02.vcd"
|
||||
}
|
||||
|
||||
response CitizenMetro
|
||||
{
|
||||
response CitizenMetroGroup respeakdelay 300
|
||||
}
|
||||
|
||||
|
||||
rule CitizenStartCombatMetro
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_metropolice required
|
||||
response CitizenMetro
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen misc speech
|
||||
//============================================================================================================
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenFiringRPG"
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
rule CitizenFiringRPG
|
||||
{
|
||||
criteria IsCitizen IsRPGUser
|
||||
response CitizenFiringRPG
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Leader speech (a citizen that's leading the player somewhere)
|
||||
//============================================================================================================
|
||||
response "CitizenLeadWaitOver"
|
||||
{
|
||||
scene "scenes/npc/$gender01/gotone02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenLeadWaitOver
|
||||
{
|
||||
criteria ConceptLeadWaitOver
|
||||
response CitizenLeadWaitOver
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenLeadAttractPlayer"
|
||||
{
|
||||
scene "scenes/npc/$gender01/overhere01.vcd"
|
||||
}
|
||||
|
||||
rule CitizenLeadAttractPlayer
|
||||
{
|
||||
criteria IsCitizen ConceptLeadAttractPlayer
|
||||
response CitizenLeadAttractPlayer
|
||||
}
|
||||
|
||||
response "CitizenSeeCombine"
|
||||
{
|
||||
scene "scenes/npc/$gender01/combine01.vcd"
|
||||
}
|
||||
|
||||
rule CitizenSeeCombine
|
||||
{
|
||||
criteria IsCitizen ConceptSeeCombine
|
||||
response CitizenSeeCombine
|
||||
respeakdelay 45
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen responding to the player 'attacking' them with a physics object
|
||||
//============================================================================================================
|
||||
response "CitizenPlayerPhysAttack"
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
rule CitizenPlayerPhysAttack
|
||||
{
|
||||
criteria IsCitizen ConceptTalkPlayerPhysAttack
|
||||
response CitizenPlayerPhysAttack
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
#include "talker/npc_citizen_commandermode.txt"
|
||||
#include "talker/npc_citizen_terminal.txt"
|
||||
#include "talker/npc_citizen_tenement.txt"
|
||||
#include "talker/npc_citizen_coast.txt"
|
||||
#include "talker/npc_citizen_canals.txt"
|
||||
#include "talker/npc_citizen_c17.txt"
|
||||
467
sp/game/mod_hl2/scripts/talker/npc_citizen_commandermode.txt
Normal file
467
sp/game/mod_hl2/scripts/talker/npc_citizen_commandermode.txt
Normal file
@@ -0,0 +1,467 @@
|
||||
//============================================================================================================
|
||||
// Commander mode criteria
|
||||
//============================================================================================================
|
||||
criterion "IsOnlySelected" "numselected" "1" required
|
||||
criterion "NotOnlySelected" "numselected" ">1" required
|
||||
criterion "Is_03_first" "name" "citizen_c17_03_first" required
|
||||
|
||||
criterion "UseRadio" "useradio" "1" required
|
||||
|
||||
criterion "SquadNearPlayer" "distancetoplayer" "<240" required
|
||||
criterion "SquadNotNearPlayer" "distancetoplayer" ">=240" required
|
||||
criterion "SquadNearCommandPoint" "commandpoint_dist_to_npc" "<240" required
|
||||
criterion "SquadNotNearCommandPoint" "commandpoint_dist_to_npc" ">=240" required
|
||||
criterion "CommandPointNearPlayer" "commandpoint_dist_to_player" "<144" required
|
||||
criterion "CommandPointNotNearPlayer" "commandpoint_dist_to_player" ">=144" required
|
||||
criterion "JoinSquadIndividual" "numjoining" "1" required
|
||||
criterion "JoinSquadMultiple" "numjoining" ">1" required
|
||||
criterion "TrailingReinforcement" "reinforcement" "1" required
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode selection speech
|
||||
//============================================================================================================
|
||||
response "CitizenSelected"
|
||||
{
|
||||
scene "scenes/npc/$gender01/ok01.vcd"
|
||||
scene "scenes/npc/$gender01/ok02.vcd"
|
||||
scene "scenes/npc/$gender01/okimready01.vcd"
|
||||
scene "scenes/npc/$gender01/okimready02.vcd"
|
||||
scene "scenes/npc/$gender01/okimready03.vcd"
|
||||
scene "scenes/npc/$gender01/readywhenyouare01.vcd"
|
||||
scene "scenes/npc/$gender01/readywhenyouare02.vcd"
|
||||
|
||||
}
|
||||
|
||||
rule CitizenSelected
|
||||
{
|
||||
criteria IsCitizen ConceptTalkSelected
|
||||
response CitizenSelected
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenGroupSelectedRadio"
|
||||
{
|
||||
}
|
||||
|
||||
rule CitizenGroupSelectedRadio
|
||||
{
|
||||
criteria IsCitizen ConceptTalkSelected NotOnlySelected UseRadio
|
||||
response CitizenGroupSelectedRadio
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenSoloSelectedRadio"
|
||||
{
|
||||
}
|
||||
|
||||
rule CitizenSoloSelectedRadio
|
||||
{
|
||||
criteria IsCitizen ConceptTalkSelected UseRadio
|
||||
response CitizenSoloSelectedRadio
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode orders speech
|
||||
//============================================================================================================
|
||||
|
||||
response CitizenSquadNearToFarIndividual
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm04.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm05.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm06.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm04"
|
||||
// speak "npc_citizen.squad_affirm05"
|
||||
// speak "npc_citizen.squad_affirm06"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
scene "scenes/npc/$gender01/letsgo01.vcd"
|
||||
scene "scenes/npc/$gender01/letsgo02.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadNearToFarGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm05.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm06.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away03.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm05"
|
||||
// speak "npc_citizen.squad_affirm06"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
// speak "npc_citizen.squad_away01"
|
||||
// speak "npc_citizen.squad_away02"
|
||||
// speak "npc_citizen.squad_away03"
|
||||
scene "scenes/npc/$gender01/letsgo01.vcd"
|
||||
scene "scenes/npc/$gender01/letsgo02.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadFarToNearIndividual
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
//scene "scenes/npc/$gender01/squad_approach04.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
// speak "npc_citizen.squad_approach04"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadFarToNearGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
scene "scenes/npc/$gender01/squad_approach01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_approach02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_approach03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_approach04.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
// speak "npc_citizen.squad_approach01"
|
||||
// speak "npc_citizen.squad_approach02"
|
||||
// speak "npc_citizen.squad_approach03"
|
||||
// speak "npc_citizen.squad_approach04"
|
||||
scene "scenes/npc/$gender01/letsgo01.vcd"
|
||||
scene "scenes/npc/$gender01/letsgo02.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadNearToNear
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
scene "scenes/npc/$gender01/illstayhere01.vcd"
|
||||
scene "scenes/npc/$gender01/holddownspot01.vcd"
|
||||
scene "scenes/npc/$gender01/holddownspot02.vcd"
|
||||
scene "scenes/npc/$gender01/imstickinghere01.vcd"
|
||||
scene "scenes/npc/$gender01/littlecorner01.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadFarToFarIndividual
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm04.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm04"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadFarToFarGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away03.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
// speak "npc_citizen.squad_away01"
|
||||
// speak "npc_citizen.squad_away02"
|
||||
// speak "npc_citizen.squad_away03"
|
||||
scene "scenes/npc/$gender01/letsgo01.vcd"
|
||||
scene "scenes/npc/$gender01/letsgo02.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadGeneral
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm05.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm06.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm05"
|
||||
// speak "npc_citizen.squad_affirm06"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenCommanded
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded
|
||||
response CitizenSquadGeneral
|
||||
}
|
||||
|
||||
rule CitizenCommandedNearToFarIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded IsOnlySelected SquadNearPlayer CommandPointNotNearPlayer
|
||||
response CitizenSquadNearToFarIndividual
|
||||
}
|
||||
|
||||
rule CitizenCommandedNearToFarGroup
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded NotOnlySelected SquadNearPlayer CommandPointNotNearPlayer
|
||||
response CitizenSquadNearToFarGroup
|
||||
}
|
||||
|
||||
rule CitizenCommandedFarToNearIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded IsOnlySelected SquadNotNearPlayer CommandPointNearPlayer
|
||||
response CitizenSquadFarToNearIndividual
|
||||
}
|
||||
|
||||
rule CitizenCommandedFarToNearGroup
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded NotOnlySelected SquadNotNearPlayer CommandPointNearPlayer
|
||||
response CitizenSquadFarToNearGroup
|
||||
}
|
||||
|
||||
rule CitizenCommandedNearToNearIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded SquadNearPlayer CommandPointNearPlayer
|
||||
response CitizenSquadNearToNear
|
||||
}
|
||||
|
||||
rule CitizenCommandedFarToFarIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded IsOnlySelected SquadNotNearPlayer CommandPointNotNearPlayer
|
||||
response CitizenSquadFarToFarIndividual
|
||||
}
|
||||
|
||||
rule CitizenCommandedFarToFarGroup
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded NotOnlySelected SquadNotNearPlayer CommandPointNotNearPlayer
|
||||
response CitizenSquadFarToFarGroup
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenCommandedRadio"
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
rule CitizenCommandedRadio
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded UseRadio
|
||||
response CitizenCommandedRadio
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenCommandFailedRadio"
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
rule CitizenCommandFailedRadio
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommandFailed UseRadio
|
||||
response CitizenCommandFailedRadio
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode follow speech
|
||||
//============================================================================================================
|
||||
response CitizenFollowGeneral
|
||||
{
|
||||
scene "scenes/npc/$gender01/leadtheway01.vcd"
|
||||
scene "scenes/npc/$gender01/leadtheway02.vcd"
|
||||
scene "scenes/npc/$gender01/leadon01.vcd"
|
||||
scene "scenes/npc/$gender01/leadon02.vcd"
|
||||
}
|
||||
|
||||
response CitizenFollowGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_follow01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_follow02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_follow03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_follow04.vcd"
|
||||
response CitizenFollowGeneral weight 2
|
||||
}
|
||||
|
||||
rule CitizenFollow
|
||||
{
|
||||
criteria IsCitizen ConceptTalkStartFollow
|
||||
response CitizenFollowGeneral
|
||||
}
|
||||
|
||||
rule CitizenFollowGroup
|
||||
{
|
||||
criteria IsCitizen ConceptTalkStartFollow NotOnlySelected
|
||||
response CitizenFollowGroup
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode join speech
|
||||
//============================================================================================================
|
||||
|
||||
|
||||
// I'm not sure all these lines will play well when not coming up from behind, so I've made a distinction between trailing & non-trailing
|
||||
response CitizenJoinIndividual
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single04.vcd"
|
||||
}
|
||||
|
||||
response CitizenJoinGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group04.vcd"
|
||||
}
|
||||
|
||||
response CitizenJoinIndividualTrailing
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single04.vcd"
|
||||
}
|
||||
|
||||
response CitizenJoinGroupTrailing
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group04.vcd"
|
||||
}
|
||||
|
||||
rule CitizenJoinIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadIndividual
|
||||
response CitizenJoinIndividual
|
||||
}
|
||||
|
||||
rule CitizenJoinGroup
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadMultiple
|
||||
response CitizenJoinGroup
|
||||
}
|
||||
|
||||
rule CitizenJoinIndividualTrailing
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadIndividual TrailingReinforcement
|
||||
response CitizenJoinIndividualTrailing
|
||||
}
|
||||
|
||||
rule CitizenJoinGroupTrailing
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadMultiple TrailingReinforcement
|
||||
response CitizenJoinGroupTrailing
|
||||
}
|
||||
|
||||
response CitizenJoin_d3_c17_07
|
||||
{
|
||||
scene "scenes/Streetwar/tunnel/$gender01/d3_c17_07_tenant.vcd"
|
||||
}
|
||||
|
||||
rule CitizenJoin_d3_c17_07
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer
|
||||
"map" "d3_c17_07" required weight 1000
|
||||
response CitizenJoin_d3_c17_07
|
||||
matchonce
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode follow speech SPECIAL CASE: first citizen in d3_17_03
|
||||
//============================================================================================================
|
||||
response "CitizenFollow_First"
|
||||
{
|
||||
scene "scenes/npc/$gender01/abouttime01.vcd"
|
||||
|
||||
}
|
||||
|
||||
rule CitizenFollow_First
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadIndividual Is_03_first
|
||||
response CitizenFollow_First
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenUnFollow"
|
||||
{
|
||||
|
||||
scene "scenes/npc/$gender01/illstayhere01.vcd"
|
||||
scene "scenes/npc/$gender01/holddownspot01.vcd"
|
||||
scene "scenes/npc/$gender01/holddownspot02.vcd"
|
||||
scene "scenes/npc/$gender01/imstickinghere01.vcd"
|
||||
scene "scenes/npc/$gender01/littlecorner01.vcd"
|
||||
|
||||
}
|
||||
|
||||
rule CitizenUnFollow
|
||||
{
|
||||
criteria IsCitizen ConceptTalkStopFollow
|
||||
response CitizenUnFollow
|
||||
}
|
||||
|
||||
635
sp/game/mod_hl2/scripts/talker/npc_vortigaunt.txt
Normal file
635
sp/game/mod_hl2/scripts/talker/npc_vortigaunt.txt
Normal file
@@ -0,0 +1,635 @@
|
||||
//============================================================================================================
|
||||
// Vortigaunt criteria
|
||||
//============================================================================================================
|
||||
criterion "IsVortigaunt" "classname" "npc_vortigaunt" required
|
||||
|
||||
criterion "VortigauntCure" concept" "VORT_CURE" required
|
||||
criterion "VortigauntCureStop" "concept" "VORT_CURESTOP" required
|
||||
criterion "VortigauntCureInterrupt" "concept" "VORT_CURE_INTERRUPT" required
|
||||
criterion "VortigauntAttack" "concept" "VORT_ATTACK" required
|
||||
criterion "VortigauntMad" "concept" "VORT_MAD" required
|
||||
criterion "VortigauntShot" "concept" "VORT_SHOT" required
|
||||
criterion "VortigauntPain" "concept" "VORT_PAIN" required
|
||||
criterion "VortigauntDie" "concept" "VORT_DIE" required
|
||||
criterion "VortigauntKill" "concept" "VORT_KILL" required
|
||||
criterion "VortigauntLineOfFire" "concept" "VORT_LINE_FIRE" required
|
||||
criterion "VortigauntPOk" "concept" "VORT_POK" required
|
||||
criterion "VortigauntExtractBugbait" "concept" "VORT_EXTRACT_START" required
|
||||
criterion "VortigauntExtractBugbaitFinish" "concept" "VORT_EXTRACT_FINISH" required
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Hello speech
|
||||
//============================================================================================================
|
||||
response "VortigauntHello"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/wellmet.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/isitthefm.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/itisthefm.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/thefreeman.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/beofservice.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/greetingsfm.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/neuroprints.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/salute.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/trulyitis.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/takeus.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/webeofuse.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/corporeal.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/seebeforeoureye.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/morethanmeets.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/weknowyou.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/putaside.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/mystery.vcd" delay "3,3.5" speakonce
|
||||
}
|
||||
rule VortigauntTlkHello
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkHello PlayerNear SeePlayer
|
||||
response VortigauntHello
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
rule VortigauntPlayerHello
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPHello
|
||||
response NullResponse
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Questions & Responses speech
|
||||
//============================================================================================================
|
||||
response "VortigauntQuestion"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/vques01.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques02.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques03.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques04.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques05.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques06.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques07.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques08.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques09.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques10.vcd" delay 1
|
||||
|
||||
}
|
||||
rule VortigauntTlkQuestion
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkQuestion
|
||||
response VortigauntQuestion
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntAnswer"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/vanswer01.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer02.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer03.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer04.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer05.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer06.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer07.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer08.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer09.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer10.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer11.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer12.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer13.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer14.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer15.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer16.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer17.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer18.vcd" delay 1
|
||||
}
|
||||
|
||||
rule VortigauntTlkAnswer
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkAnswer
|
||||
response VortigauntAnswer
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntTalkUse"
|
||||
{
|
||||
sequential
|
||||
norepeat
|
||||
// scene "scenes/npc/vortigaunt/vmono_01.vcd" defaultdelay
|
||||
// scene "scenes/npc/vortigaunt/vmono_02.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_03.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_04.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_05.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_06.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_07.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_08.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_09.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_10.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_11.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_12.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_13.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_14.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_15.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_16.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_17.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_18.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_19.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_20.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_21.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_22.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_23.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_24.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_25.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_26.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_27.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_28.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_29.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_30.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTalkUse
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkUse
|
||||
response VortigauntTalkUse
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Combat speech
|
||||
//============================================================================================================
|
||||
response "VortigauntCure"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/allowrecharge.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/wewillcharge.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/fmcanuse.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/here.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/acceptenergy.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/holdstill.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/acceptcharge.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/weshare.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/prepare.vcd" defaultdelay
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntCure
|
||||
{
|
||||
criteria IsVortigaunt VortigauntCure
|
||||
response VortigauntCure
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureStop"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/allwecanspare.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/allfornow.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/thatisall.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/done.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/keepfmsafe.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntCureStop
|
||||
{
|
||||
criteria IsVortigaunt VortigauntCureStop
|
||||
response VortigauntCureStop
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureInterrupt"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/holdorcantcharge.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/hold.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/halt.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/fmstandstill.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/ifyoumove.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/movingtarget.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntCureInterrupt
|
||||
{
|
||||
criteria IsVortigaunt VortigauntCureInterrupt
|
||||
response VortigauntCureInterrupt
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntAttack"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/tothevoid.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/allinoneinall.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/giveover.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/weclaimyou.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/undeserving.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/satisfaction.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/regrettable.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/allowme.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/livetoserve.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/returnvoid.vcd" defaultdelay
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntAttack
|
||||
{
|
||||
criteria IsVortigaunt VortigauntAttack
|
||||
response VortigauntAttack
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntMad"
|
||||
{
|
||||
// sentence "VORT_MAD" soundlevel "SNDLVL_NORM" delay "4"
|
||||
}
|
||||
rule VortigauntMad
|
||||
{
|
||||
criteria IsVortigaunt VortigauntMad
|
||||
response VortigauntMad
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntShot"
|
||||
|
||||
{
|
||||
// sentence "VORT_SHOT" soundlevel "SNDLVL_NORM" delay "4"
|
||||
}
|
||||
rule VortigauntShot
|
||||
{
|
||||
criteria IsVortigaunt VortigauntShot
|
||||
response VortigauntShot
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntPain"
|
||||
|
||||
{
|
||||
// sentence "VORT_PAIN" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntPain
|
||||
{
|
||||
criteria IsVortigaunt VortigauntPain
|
||||
response VortigauntPain
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntDie"
|
||||
|
||||
{
|
||||
// sentence "VORT_DIE" defaultdelay
|
||||
|
||||
}
|
||||
|
||||
rule VortigauntDie
|
||||
{
|
||||
criteria IsVortigaunt VortigauntDie
|
||||
response VortigauntDie
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntKill"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/forthefm.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/forfreedom.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/tethercut.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/troubleus.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/dreamed.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/energyempower.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/empowerus.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/surge.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/yes.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/passon.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/nodenexus.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/returntoall.vcd" delay 4
|
||||
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntKill
|
||||
{
|
||||
criteria IsVortigaunt VortigauntKill
|
||||
response VortigauntKill
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntLineOfFire"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/cautionfm.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/caution.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/fmbeware.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/ware.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/fmmustbeware.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/warefm.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/fminway.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/standclear.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/fmmustmove.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/warningfm.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/cannotfire.vcd" delay 4
|
||||
|
||||
}
|
||||
|
||||
rule VortigauntLineOfFire
|
||||
{
|
||||
criteria IsVortigaunt VortigauntLineOfFire
|
||||
response VortigauntLineOfFire
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntPOk"
|
||||
|
||||
{
|
||||
// sentence "VORT_POK" soundlevel "SNDLVL_NORM" delay "2"
|
||||
}
|
||||
|
||||
rule VortigauntPOk
|
||||
{
|
||||
criteria IsVortigaunt VortigauntPOk
|
||||
response VortigauntLineOfFire
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Misc speech
|
||||
//============================================================================================================
|
||||
response "VortigauntIdle"
|
||||
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/poet.vcd"
|
||||
scene "scenes/npc/vortigaunt/hopeless.vcd"
|
||||
scene "scenes/npc/vortigaunt/alldear.vcd"
|
||||
scene "scenes/npc/vortigaunt/prevail.vcd"
|
||||
scene "scenes/npc/vortigaunt/seenworse.vcd"
|
||||
scene "scenes/npc/vortigaunt/persevere.vcd"
|
||||
scene "scenes/npc/vortigaunt/worthless.vcd"
|
||||
scene "scenes/npc/vortigaunt/whereto.vcd"
|
||||
}
|
||||
|
||||
rule VortigauntTlkIdle
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkIdle
|
||||
response VortigauntIdle
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
rule VortigauntPlayerIdle
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPIdle
|
||||
response NullResponse
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntStare"
|
||||
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/optical.vcd"
|
||||
scene "scenes/npc/vortigaunt/unclear.vcd"
|
||||
scene "scenes/npc/vortigaunt/opaque.vcd"
|
||||
scene "scenes/npc/vortigaunt/rememberus.vcd"
|
||||
scene "scenes/npc/vortigaunt/stillhere.vcd"
|
||||
scene "scenes/npc/vortigaunt/calm.vcd"
|
||||
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntTlkStare
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkStare
|
||||
response VortigauntStare
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntOk"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/itishonor.vcd"
|
||||
scene "scenes/npc/vortigaunt/wehonored.vcd"
|
||||
scene "scenes/npc/vortigaunt/ourhonor.vcd"
|
||||
scene "scenes/npc/vortigaunt/honorfollow.vcd"
|
||||
scene "scenes/npc/vortigaunt/accompany.vcd"
|
||||
scene "scenes/npc/vortigaunt/gladly.vcd"
|
||||
scene "scenes/npc/vortigaunt/pleasure.vcd"
|
||||
scene "scenes/npc/vortigaunt/wefollowfm.vcd"
|
||||
scene "scenes/npc/vortigaunt/honorours.vcd"
|
||||
scene "scenes/npc/vortigaunt/gloriousend.vcd"
|
||||
scene "scenes/npc/vortigaunt/bodyyours.vcd"
|
||||
scene "scenes/npc/vortigaunt/allwehave.vcd"
|
||||
scene "scenes/npc/vortigaunt/weareyours.vcd"
|
||||
scene "scenes/npc/vortigaunt/dedicate.vcd"
|
||||
scene "scenes/npc/vortigaunt/mutual.vcd"
|
||||
scene "scenes/npc/vortigaunt/leadus.vcd"
|
||||
scene "scenes/npc/vortigaunt/onward.vcd"
|
||||
scene "scenes/npc/vortigaunt/forward.vcd"
|
||||
scene "scenes/npc/vortigaunt/propitious.vcd"
|
||||
scene "scenes/npc/vortigaunt/leadon.vcd"
|
||||
scene "scenes/npc/vortigaunt/fmhonorsus.vcd"
|
||||
scene "scenes/npc/vortigaunt/fmdoesushonor.vcd"
|
||||
scene "scenes/npc/vortigaunt/yesforward.vcd"
|
||||
scene "scenes/npc/vortigaunt/wewillhelp.vcd"
|
||||
scene "scenes/npc/vortigaunt/assent.vcd"
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntTlkStartFollow
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkStartFollow
|
||||
response VortigauntOk
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntWait"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/canconvince.vcd"
|
||||
scene "scenes/npc/vortigaunt/fmknowsbest.vcd"
|
||||
scene "scenes/npc/vortigaunt/willremain.vcd"
|
||||
scene "scenes/npc/vortigaunt/fearfailed.vcd"
|
||||
scene "scenes/npc/vortigaunt/servebetterhere.vcd"
|
||||
scene "scenes/npc/vortigaunt/certainly.vcd"
|
||||
scene "scenes/npc/vortigaunt/herewestay.vcd"
|
||||
scene "scenes/npc/vortigaunt/asyouwish.vcd"
|
||||
scene "scenes/npc/vortigaunt/ourplacehere.vcd"
|
||||
scene "scenes/npc/vortigaunt/affirmed.vcd"
|
||||
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntTlkStopFollow
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkStopFollow
|
||||
response VortigauntWait
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntStop"
|
||||
|
||||
{
|
||||
// sentence "VORT_STOP" delay "2,2.5" soundlevel "SNDLVL_NORM"
|
||||
}
|
||||
|
||||
rule VortigauntTlkStop
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkStop
|
||||
response VortigauntStop
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntScared"
|
||||
|
||||
{
|
||||
// sentence "VORT_SCARED" delay "0,0.4"
|
||||
}
|
||||
|
||||
rule VortigauntTlkNoShoot
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkNoShoot
|
||||
response VortigauntScared
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureA"
|
||||
|
||||
{
|
||||
// sentence "VORT_CUREA" defaultdelay speakonce
|
||||
}
|
||||
|
||||
rule VortigauntPlayerHurt1
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPlayerHurt1
|
||||
response VortigauntCureA
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureB"
|
||||
|
||||
{
|
||||
// sentence "VORT_CUREB" defaultdelay speakonce
|
||||
}
|
||||
|
||||
rule VortigauntPlayerHurt2
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPlayerHurt2
|
||||
response VortigauntCureB
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureC"
|
||||
|
||||
{
|
||||
// sentence "VORT_CUREC" defaultdelay speakonce
|
||||
}
|
||||
|
||||
rule VortigauntPlayerHurt3
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPlayerHurt3
|
||||
response VortigauntCureC
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntPQuest"
|
||||
|
||||
{
|
||||
// sentence "VORT_PQUEST" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntPlayerQuestion
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPQuestion
|
||||
response VortigauntPQuest
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntSmell"
|
||||
|
||||
{
|
||||
// sentence "VORT_SMELL" defaultdelay respeakdelay "60"
|
||||
}
|
||||
|
||||
rule VortigauntTlkSmell
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkSmell
|
||||
response VortigauntSmell
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntWound"
|
||||
|
||||
{
|
||||
// sentence "VORT_WOUND" speakonce defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTlkWound
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkWound
|
||||
response VortigauntWound
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntMortal"
|
||||
|
||||
{
|
||||
// sentence "VORT_MORTAL" speakonce defaultdelay
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntTlkMortal
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkMortal
|
||||
response VortigauntMortal
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Leader speech (a vortigaunt that's leading the player somewhere)
|
||||
//============================================================================================================
|
||||
|
||||
response "VortigauntLeadStart"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/fmmustfollow.vcd"
|
||||
}
|
||||
|
||||
rule VortigauntLeadStart
|
||||
{
|
||||
criteria IsVortigaunt ConceptLeadStart
|
||||
response VortigauntLeadStart
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntLeadCatchup"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/yesforward.vcd"
|
||||
scene "scenes/npc/vortigaunt/followfm.vcd"
|
||||
}
|
||||
|
||||
rule VortigauntLeadCatchup
|
||||
{
|
||||
criteria IsVortigaunt ConceptLeadCatchup
|
||||
response VortigauntLeadCatchup
|
||||
}
|
||||
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt coast specific speech
|
||||
//============================================================================================================
|
||||
response "VortigauntExtractBugbait"
|
||||
{
|
||||
scene "scenes/coast/bugbait/vort_extract01.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTlkExtractBugbait
|
||||
{
|
||||
criteria IsVortigaunt VortigauntExtractBugbait
|
||||
response VortigauntExtractBugbait
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntExtractBugbaitFinish"
|
||||
{
|
||||
scene "scenes/coast/bugbait/vort_podsforyou01.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTlkExtractBugbaitFinish
|
||||
{
|
||||
criteria IsVortigaunt VortigauntExtractBugbaitFinish
|
||||
response VortigauntExtractBugbaitFinish
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntGetBugbait"
|
||||
{
|
||||
scene "scenes/coast/bugbait/vort_podnag.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTlkLeadGetBugbait
|
||||
{
|
||||
criteria IsVortigaunt ConceptLeadMissingWeapon
|
||||
response VortigauntGetBugbait
|
||||
}
|
||||
262
sp/game/mod_hl2/scripts/talker/response_rules.txt
Normal file
262
sp/game/mod_hl2/scripts/talker/response_rules.txt
Normal file
@@ -0,0 +1,262 @@
|
||||
// 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 * keyvaliue 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 interval = an additional delay based on a random sample from the interval after speaking
|
||||
// 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)
|
||||
//
|
||||
// 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.
|
||||
|
||||
// Base script
|
||||
enumeration "NPCState"
|
||||
{
|
||||
"None" "0"
|
||||
"Idle" "1"
|
||||
"Alert" "2"
|
||||
"Combat" "3"
|
||||
"Scripted" "4"
|
||||
"PlayDead" "5"
|
||||
"Dead" "6"
|
||||
}
|
||||
|
||||
response "NullResponse"
|
||||
|
||||
// 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
|
||||
|
||||
criterion "EnemyIsMortar" "enemy" "func_tankmortar" required
|
||||
|
||||
criterion "NotUsedVortResponse" "UsedVortResponse" "!=1" "required" weight 0
|
||||
criterion "IsVortLabUseDisable" "VortLab_Enable" "0" weight 2 required
|
||||
|
||||
// Global states
|
||||
criterion "IsGordonCriminal" "gordon_precriminal" "0" required
|
||||
criterion "IsGordonPreCriminal" "gordon_precriminal" "1" required
|
||||
|
||||
criterion "IsMap_d3_c17_09" "map" "d3_c17_09" "required"
|
||||
|
||||
// Test rules
|
||||
#include "talker/interjections.txt"
|
||||
|
||||
#include "talker/npc_combine.txt"
|
||||
#include "talker/response_k_lab.txt"
|
||||
#include "talker/response_eli_lab.txt"
|
||||
#include "talker/npc_vortigaunt.txt"
|
||||
#include "talker/npc_citizen.txt"
|
||||
#include "talker/npc_grigori.txt"
|
||||
#include "talker/npc_barney.txt"
|
||||
#include "talker/npc_alyx.txt"
|
||||
|
||||
Reference in New Issue
Block a user