diff options
| author | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
|---|---|---|
| committer | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
| commit | 39ed87570bdb2f86969d4be821c94b722dc71179 (patch) | |
| tree | abc53757f75f40c80278e87650ea92808274aa59 /sp/game/mod_hl2/scripts | |
| download | source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip | |
First version of the SOurce SDK 2013
Diffstat (limited to 'sp/game/mod_hl2/scripts')
| -rw-r--r-- | sp/game/mod_hl2/scripts/ChapterBackgrounds.txt | 19 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/HudLayout.res | 699 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/actbusy.txt | 624 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/credits.txt | 314 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/hud_textures.txt | 124 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/npc_sounds_vortigaunt.txt | 2332 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/propdata.txt | 491 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/soundscapes_manifest.txt | 16 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/surfaceproperties_manifest.txt | 17 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/talker/npc_alyx.txt | 120 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/talker/npc_citizen.txt | 915 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/talker/npc_citizen_commandermode.txt | 467 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/talker/npc_vortigaunt.txt | 635 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/talker/response_rules.txt | 262 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/titles.txt | 294 | ||||
| -rw-r--r-- | sp/game/mod_hl2/scripts/vgui_screens.txt | 42 |
16 files changed, 7371 insertions, 0 deletions
diff --git a/sp/game/mod_hl2/scripts/ChapterBackgrounds.txt b/sp/game/mod_hl2/scripts/ChapterBackgrounds.txt new file mode 100644 index 00000000..dfd3cb30 --- /dev/null +++ b/sp/game/mod_hl2/scripts/ChapterBackgrounds.txt @@ -0,0 +1,19 @@ +"chapters"
+{
+ 1 "background01"
+ 2 "background01"
+ 3 "background02"
+ 4 "background02"
+ 5 "background03"
+ 6 "background03"
+ 7 "background04"
+ 8 "background04"
+ 9 "background05"
+ 9a "background05"
+ 10 "background06"
+ 11 "background06"
+ 12 "background07"
+ 13 "background07"
+ 14 "background07"
+ 15 "background07"
+}
\ No newline at end of file diff --git a/sp/game/mod_hl2/scripts/HudLayout.res b/sp/game/mod_hl2/scripts/HudLayout.res new file mode 100644 index 00000000..6c12604d --- /dev/null +++ b/sp/game/mod_hl2/scripts/HudLayout.res @@ -0,0 +1,699 @@ +"Resource/HudLayout.res"
+{
+ HudHealth [$WIN32]
+ {
+ "fieldName" "HudHealth"
+ "xpos" "16"
+ "ypos" "432"
+ "wide" "102"
+ "tall" "36"
+ "visible" "1"
+ "enabled" "1"
+
+ "PaintBackgroundType" "2"
+
+ "text_xpos" "8"
+ "text_ypos" "20"
+ "digit_xpos" "50"
+ "digit_ypos" "2"
+ }
+ HudHealth [$X360]
+ {
+ "fieldName" "HudHealth"
+ "xpos" "48"
+ "ypos" "416"
+ "wide" "115"
+ "tall" "36"
+ "visible" "1"
+ "enabled" "1"
+
+ "PaintBackgroundType" "2"
+
+ "text_xpos" "8"
+ "text_ypos" "18"
+ "digit_xpos" "60"
+ "digit_ypos" "-1"
+ }
+
+ HudSuit [$WIN32]
+ {
+ "fieldName" "HudSuit"
+ "xpos" "140"
+ "ypos" "432"
+ "wide" "108"
+ "tall" "36"
+ "visible" "1"
+ "enabled" "1"
+
+ "PaintBackgroundType" "2"
+
+ "text_xpos" "8"
+ "text_ypos" "20"
+ "digit_xpos" "50"
+ "digit_ypos" "2"
+ }
+ HudSuit [$X360]
+ {
+ "fieldName" "HudSuit"
+ "xpos" "176"
+ "ypos" "416"
+ "wide" "117"
+ "tall" "36"
+ "visible" "1"
+ "enabled" "1"
+
+ "PaintBackgroundType" "2"
+
+ "text_xpos" "8"
+ "text_ypos" "18"
+ "digit_xpos" "50"
+ "digit_ypos" "-1"
+ }
+
+ HudAmmo [$WIN32]
+ {
+ "fieldName" "HudAmmo"
+ "xpos" "r150"
+ "ypos" "432"
+ "wide" "136"
+ "tall" "36"
+ "visible" "1"
+ "enabled" "1"
+
+ "PaintBackgroundType" "2"
+
+ "text_xpos" "8"
+ "text_ypos" "20"
+ "digit_xpos" "44"
+ "digit_ypos" "2"
+ "digit2_xpos" "98"
+ "digit2_ypos" "16"
+ }
+ HudAmmo [$X360]
+ {
+ "fieldName" "HudAmmo"
+ "xpos" "r208"
+ "ypos" "416"
+ "wide" "160"
+ "tall" "36"
+ "visible" "1"
+ "enabled" "1"
+
+ "PaintBackgroundType" "2"
+
+ "text_xpos" "8"
+ "text_ypos" "18"
+ "digit_xpos" "60"
+ "digit_ypos" "-1"
+ "digit2_xpos" "120"
+ "digit2_ypos" "14"
+ }
+
+ HudAmmoSecondary [$WIN32]
+ {
+ "fieldName" "HudAmmoSecondary"
+ "xpos" "r76"
+ "ypos" "432"
+ "wide" "60"
+ "tall" "36"
+ "visible" "1"
+ "enabled" "1"
+
+ "PaintBackgroundType" "2"
+
+ "text_xpos" "8"
+ "text_ypos" "22"
+ "digit_xpos" "36"
+ "digit_ypos" "2"
+ }
+ HudAmmoSecondary [$X360]
+ {
+ "fieldName" "HudAmmoSecondary"
+ "xpos" "r113"
+ "ypos" "416"
+ "wide" "65"
+ "tall" "36"
+ "visible" "1"
+ "enabled" "1"
+
+ "PaintBackgroundType" "2"
+
+ "text_xpos" "8"
+ "text_ypos" "22"
+ "digit_xpos" "36"
+ "digit_ypos" "-1"
+ }
+
+ HudSuitPower [$WIN32]
+ {
+ "fieldName" "HudSuitPower"
+ "visible" "1"
+ "enabled" "1"
+ "xpos" "16"
+ "ypos" "396"
+ "wide" "102"
+ "tall" "26"
+
+ "AuxPowerLowColor" "255 0 0 220"
+ "AuxPowerHighColor" "255 220 0 220"
+ "AuxPowerDisabledAlpha" "70"
+
+ "BarInsetX" "8"
+ "BarInsetY" "15"
+ "BarWidth" "92"
+ "BarHeight" "4"
+ "BarChunkWidth" "6"
+ "BarChunkGap" "3"
+
+ "text_xpos" "8"
+ "text_ypos" "4"
+ "text2_xpos" "8"
+ "text2_ypos" "22"
+ "text2_gap" "10"
+
+ "PaintBackgroundType" "2"
+ }
+ HudSuitPower [$X360]
+ {
+ "fieldName" "HudSuitPower"
+ "visible" "1"
+ "enabled" "1"
+ "xpos" "48"
+ "ypos" "370"
+ "wide" "102"
+ "tall" "26"
+
+ "AuxPowerLowColor" "255 100 0 220"
+ "AuxPowerHighColor" "255 220 0 220"
+ "AuxPowerDisabledAlpha" "70"
+
+ "BarInsetX" "8"
+ "BarInsetY" "19"
+ "BarWidth" "92"
+ "BarHeight" "5"
+ "BarChunkWidth" "6"
+ "BarChunkGap" "3"
+
+ "text_xpos" "8"
+ "text_ypos" "4"
+ "text2_xpos" "8"
+ "text2_ypos" "25"
+ "text2_gap" "12"
+
+ "PaintBackgroundType" "2"
+ }
+
+ HudPosture [$WIN32]
+ {
+ "fieldName" "HudPosture"
+ "visible" "1"
+ "PaintBackgroundType" "2"
+ "xpos" "16"
+ "ypos" "316"
+ "tall" "36"
+ "wide" "36"
+ "font" "WeaponIconsSmall"
+ "icon_xpos" "10"
+ "icon_ypos" "0"
+ }
+ HudPosture [$X360]
+ {
+ "fieldName" "HudPosture"
+ "visible" "1"
+ "PaintBackgroundType" "2"
+ "xpos" "48"
+ "ypos" "316"
+ "tall" "36"
+ "wide" "36"
+ "font" "WeaponIconsSmall"
+ "icon_xpos" "10"
+ "icon_ypos" "2"
+ }
+
+ HudFlashlight
+ {
+ "fieldName" "HudFlashlight"
+ "visible" "1"
+ "PaintBackgroundType" "2"
+ "xpos" "270" [$WIN32]
+ "ypos" "444" [$WIN32]
+ "xpos_hidef" "293" [$X360] // aligned to left
+ "xpos_lodef" "c-18" [$X360] // centered in screen
+ "ypos" "428" [$X360]
+ "tall" "24"
+ "wide" "36"
+ "font" "WeaponIconsSmall"
+
+ "icon_xpos" "4"
+ "icon_ypos" "-8"
+
+ "BarInsetX" "4"
+ "BarInsetY" "18"
+ "BarWidth" "28"
+ "BarHeight" "2"
+ "BarChunkWidth" "2"
+ "BarChunkGap" "1"
+ }
+ HudDamageIndicator
+ {
+ "fieldName" "HudDamageIndicator"
+ "visible" "1"
+ "enabled" "1"
+ "DmgColorLeft" "255 0 0 0"
+ "DmgColorRight" "255 0 0 0"
+
+ "dmg_xpos" "30"
+ "dmg_ypos" "100"
+ "dmg_wide" "36"
+ "dmg_tall1" "240"
+ "dmg_tall2" "200"
+ }
+
+ HudZoom
+ {
+ "fieldName" "HudZoom"
+ "visible" "1"
+ "enabled" "1"
+ "Circle1Radius" "66"
+ "Circle2Radius" "74"
+ "DashGap" "16"
+ "DashHeight" "4" [$WIN32]
+ "DashHeight" "6" [$X360]
+ "BorderThickness" "88"
+ }
+ HudWeaponSelection
+ {
+ "fieldName" "HudWeaponSelection"
+ "ypos" "16" [$WIN32]
+ "ypos" "32" [$X360]
+ "visible" "1"
+ "enabled" "1"
+ "SmallBoxSize" "32"
+ "MediumBoxWide" "95"
+ "MediumBoxWide_hidef" "78"
+ "MediumBoxTall" "50"
+ "MediumBoxTall_hidef" "50"
+ "MediumBoxWide_lodef" "74"
+ "MediumBoxTall_lodef" "50"
+ "LargeBoxWide" "112"
+ "LargeBoxTall" "80"
+ "BoxGap" "8"
+ "SelectionNumberXPos" "4"
+ "SelectionNumberYPos" "4"
+ "SelectionGrowTime" "0.4"
+ "TextYPos" "64"
+ }
+
+ HudCrosshair
+ {
+ "fieldName" "HudCrosshair"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640"
+ "tall" "480"
+ }
+
+ HudDeathNotice
+ {
+ "fieldName" "HudDeathNotice"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640"
+ "tall" "480"
+ }
+
+ HudVehicle
+ {
+ "fieldName" "HudVehicle"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640"
+ "tall" "480"
+ }
+
+ ScorePanel
+ {
+ "fieldName" "ScorePanel"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640"
+ "tall" "480"
+ }
+
+ HudTrain
+ {
+ "fieldName" "HudTrain"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640"
+ "tall" "480"
+ }
+
+ HudMOTD
+ {
+ "fieldName" "HudMOTD"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640"
+ "tall" "480"
+ }
+
+ HudMessage
+ {
+ "fieldName" "HudMessage"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "f0"
+ "tall" "480"
+ }
+
+ HudMenu
+ {
+ "fieldName" "HudMenu"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640"
+ "tall" "480"
+ }
+
+ HudCloseCaption
+ {
+ "fieldName" "HudCloseCaption"
+ "visible" "1"
+ "enabled" "1"
+ "xpos" "c-250"
+ "ypos" "276" [$WIN32]
+ "ypos" "236" [$X360]
+ "wide" "500"
+ "tall" "136" [$WIN32]
+ "tall" "176" [$X360]
+
+ "BgAlpha" "128"
+
+ "GrowTime" "0.25"
+ "ItemHiddenTime" "0.2" // Nearly same as grow time so that the item doesn't start to show until growth is finished
+ "ItemFadeInTime" "0.15" // Once ItemHiddenTime is finished, takes this much longer to fade in
+ "ItemFadeOutTime" "0.3"
+ "topoffset" "0" [$WIN32]
+ "topoffset" "0" [$X360]
+ }
+
+ HudChat
+ {
+ "fieldName" "HudChat"
+ "visible" "0"
+ "enabled" "1"
+ "xpos" "0"
+ "ypos" "0"
+ "wide" "4"
+ "tall" "4"
+ }
+
+ HudHistoryResource [$WIN32]
+ {
+ "fieldName" "HudHistoryResource"
+ "visible" "1"
+ "enabled" "1"
+ "xpos" "r252"
+ "ypos" "40"
+ "wide" "248"
+ "tall" "320"
+
+ "history_gap" "56" [!$OSX]
+ "history_gap" "64" [$OSX]
+ "icon_inset" "38"
+ "text_inset" "36"
+ "text_inset" "26"
+ "NumberFont" "HudNumbersSmall"
+ }
+ HudHistoryResource [$X360]
+ {
+ "fieldName" "HudHistoryResource"
+ "visible" "1"
+ "enabled" "1"
+ "xpos" "r300"
+ "ypos" "40"
+ "wide" "248"
+ "tall" "240"
+
+ "history_gap" "50"
+ "icon_inset" "38"
+ "text_inset" "36"
+ "NumberFont" "HudNumbersSmall"
+ }
+
+ HudGeiger
+ {
+ "fieldName" "HudGeiger"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640"
+ "tall" "480"
+ }
+
+ HUDQuickInfo
+ {
+ "fieldName" "HUDQuickInfo"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640"
+ "tall" "480"
+ }
+
+ HudWeapon
+ {
+ "fieldName" "HudWeapon"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640"
+ "tall" "480"
+ }
+ HudAnimationInfo
+ {
+ "fieldName" "HudAnimationInfo"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640"
+ "tall" "480"
+ }
+
+ HudPredictionDump
+ {
+ "fieldName" "HudPredictionDump"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640"
+ "tall" "480"
+ }
+
+ HudHintDisplay
+ {
+ "fieldName" "HudHintDisplay"
+ "visible" "0"
+ "enabled" "1"
+ "xpos" "c-240"
+ "ypos" "c60"
+ "xpos" "r148" [$X360]
+ "ypos" "r338" [$X360]
+ "wide" "480"
+ "tall" "100"
+ "HintSize" "1"
+ "text_xpos" "8"
+ "text_ypos" "8"
+ "center_x" "0" // center text horizontally
+ "center_y" "-1" // align text on the bottom
+ "paintbackground" "0"
+ }
+
+ HudHintKeyDisplay
+ {
+ "fieldName" "HudHintKeyDisplay"
+ "visible" "0"
+ "enabled" "1"
+ "xpos" "r120" [$WIN32]
+ "ypos" "r340" [$WIN32]
+ "xpos" "r148" [$X360]
+ "ypos" "r338" [$X360]
+ "wide" "100"
+ "tall" "200"
+ "text_xpos" "8"
+ "text_ypos" "8"
+ "text_xgap" "8"
+ "text_ygap" "8"
+ "TextColor" "255 170 0 220"
+
+ "PaintBackgroundType" "2"
+ }
+
+
+ HudSquadStatus [$WIN32]
+ {
+ "fieldName" "HudSquadStatus"
+ "visible" "1"
+ "enabled" "1"
+ "xpos" "r120"
+ "ypos" "380"
+ "wide" "104"
+ "tall" "46"
+ "text_xpos" "8"
+ "text_ypos" "34"
+ "SquadIconColor" "255 220 0 160"
+ "IconInsetX" "8"
+ "IconInsetY" "0"
+ "IconGap" "24"
+
+ "PaintBackgroundType" "2"
+ }
+ HudSquadStatus [$X360]
+ {
+ "fieldName" "HudSquadStatus"
+ "visible" "1"
+ "enabled" "1"
+ "xpos" "r182"
+ "ypos" "348"
+ "wide" "134"
+ "tall" "62"
+ "text_xpos" "8"
+ "text_ypos" "44"
+ "SquadIconColor" "255 220 0 160"
+ "IconInsetX" "8"
+ "IconInsetY" "-4"
+ "IconGap" "24"
+ "IconFont" "SquadIcon"
+
+ "PaintBackgroundType" "2"
+ }
+
+ HudPoisonDamageIndicator [$WIN32]
+ {
+ "fieldName" "HudPoisonDamageIndicator"
+ "visible" "0"
+ "enabled" "1"
+ "xpos" "16"
+ "ypos" "346"
+ "wide" "136"
+ "tall" "38"
+ "text_xpos" "8"
+ "text_ypos" "8"
+ "text_ygap" "14"
+ "TextColor" "255 170 0 220"
+ "PaintBackgroundType" "2"
+ }
+ HudPoisonDamageIndicator [$X360]
+ {
+ "fieldName" "HudPoisonDamageIndicator"
+ "visible" "0"
+ "enabled" "1"
+ "xpos" "48"
+ "ypos" "264"
+ "wide" "192"
+ "tall" "46"
+ "text_xpos" "8"
+ "text_ypos" "6"
+ "text_ygap" "16"
+ "TextColor" "255 170 0 220"
+ "PaintBackgroundType" "2"
+ }
+
+ HudCredits
+ {
+ "fieldName" "HudCredits"
+ "TextFont" "Default"
+ "visible" "1"
+ "xpos" "0"
+ "ypos" "0"
+ "wide" "640"
+ "tall" "480"
+ "TextColor" "255 255 255 192"
+
+ }
+
+ HUDAutoAim
+ {
+ "fieldName" "HUDAutoAim"
+ "visible" "1"
+ "enabled" "1"
+ "wide" "640" [$WIN32]
+ "tall" "480" [$WIN32]
+ "wide" "960" [$X360]
+ "tall" "720" [$X360]
+ }
+
+ HudCommentary
+ {
+ "fieldName" "HudCommentary"
+ "xpos" "c-190"
+ "ypos" "350"
+ "wide" "380"
+ "tall" "40"
+ "visible" "1"
+ "enabled" "1"
+
+ "PaintBackgroundType" "2"
+
+ "bar_xpos" "50"
+ "bar_ypos" "20"
+ "bar_height" "8"
+ "bar_width" "320"
+ "speaker_xpos" "50"
+ "speaker_ypos" "8"
+ "count_xpos_from_right" "10" // Counts from the right side
+ "count_ypos" "8"
+
+ "icon_texture" "vgui/hud/icon_commentary"
+ "icon_xpos" "0"
+ "icon_ypos" "0"
+ "icon_width" "40"
+ "icon_height" "40"
+ }
+
+ HudHDRDemo
+ {
+ "fieldName" "HudHDRDemo"
+ "xpos" "0"
+ "ypos" "0"
+ "wide" "640"
+ "tall" "480"
+ "visible" "1"
+ "enabled" "1"
+
+ "Alpha" "255"
+ "PaintBackgroundType" "2"
+
+ "BorderColor" "0 0 0 255"
+ "BorderLeft" "16"
+ "BorderRight" "16"
+ "BorderTop" "16"
+ "BorderBottom" "64"
+ "BorderCenter" "0"
+
+ "TextColor" "255 255 255 255"
+ "LeftTitleY" "422"
+ "RightTitleY" "422"
+ }
+
+ AchievementNotificationPanel
+ {
+ "fieldName" "AchievementNotificationPanel"
+ "visible" "1"
+ "enabled" "1"
+ "xpos" "0"
+ "ypos" "180"
+ "wide" "f10" [$WIN32]
+ "wide" "f60" [$X360]
+ "tall" "100"
+ }
+
+ CHudVote
+ {
+ "fieldName" "CHudVote"
+ "xpos" "0"
+ "ypos" "0"
+ "wide" "640"
+ "tall" "480"
+ "visible" "1"
+ "enabled" "1"
+ "bgcolor_override" "0 0 0 0"
+ "PaintBackgroundType" "0" // rounded corners
+ }
+}
\ No newline at end of file diff --git a/sp/game/mod_hl2/scripts/actbusy.txt b/sp/game/mod_hl2/scripts/actbusy.txt new file mode 100644 index 00000000..03fff272 --- /dev/null +++ b/sp/game/mod_hl2/scripts/actbusy.txt @@ -0,0 +1,624 @@ +// "act busy name" This is the name that a mapmaker must specify in the hint node.
+// {
+// "busy_anim" "Activity Name".
+// "entry_anim" "Activity Name"
+// "exit_anim" "Activity Name"
+// "busy_sequence" "Sequence Name". If specified, this is used over the activity name. Specify it in the hint node.
+// "entry_sequence" "Sequence Name". If specified, this is used over the entry anim.
+// "exit_sequence" "Sequence Name". If specified, this is used over the exit anim.
+// "busy_sound" "Sound Name". If specified, the NPC will play this sound when it plays the busy anim/seq. Can be a GameSound name or a response rules concept.
+// "entry_sound" "Sound Name". If specified, the NPC will play this sound when it plays the entry anim/seq. Can be a GameSound name or a response rules concept.
+// "exit_sound" "Sound Name". If specified, the NPC will play this sound when it plays the exit anim/seq. Can be a GameSound name or a response rules concept.
+// "min_time" "Minimum time to spend in this busy anim"
+// "max_time" "Maximum time to spend in this busy anim" 0 = only stop when interrupted by external event
+// "interrupts" One of:
+// "BA_INT_NONE" break out only when time runs out. No external influence will break me out.
+// "BA_INT_DANGER" break out of this anim only if threatened
+// "BA_INT_PLAYER" break out of this anim if I can see the player, or I'm threatened
+// "BA_INT_AMBUSH" someone please define this - I have no idea what it does
+// "BA_INT_COMBAT" break out of this anim if combat occurs in my line of sight (bullet hits, grenades, etc), -OR- the max time is reached
+// }
+//
+//
+"ActBusy.txt"
+{
+ "binoculars_idle"
+ {
+ "busy_sequence" "binoculars_idle"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_PLAYER"
+ }
+ "d2_coast03_PreBattle_Scan_Skies"
+ {
+ "busy_sequence" "d2_coast03_PreBattle_Scan_Skies"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d2_coast03_PreBattle_Scan_Skies02"
+ {
+ "busy_sequence" "d2_coast03_PreBattle_Scan_Skies02"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d2_coast03_PreBattle_Scan_Skies03"
+ {
+ "busy_sequence" "d2_coast03_PreBattle_Scan_Skies03"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d2_coast03_PreBattle_Kneel_Idle"
+ {
+ "busy_sequence" "d2_coast03_PreBattle_Kneel_Idle"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d2_coast03_PreBattle_Stand_Look"
+ {
+ "busy_sequence" "d2_coast03_PreBattle_Stand_Look"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "idle_alert_01"
+ {
+ "busy_sequence" "idle_alert_01"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "idle_alert_02"
+ {
+ "busy_sequence" "idle_alert_02"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "idle_relaxed_01"
+ {
+ "busy_sequence" "idle_relaxed_01"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "idle_relaxed_02"
+ {
+ "busy_sequence" "idle_relaxed_02"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_town05_Leon_Lean_Table_Idle"
+ {
+ "busy_sequence" "d1_town05_Leon_Lean_Table_Idle"
+ "entry_sequence" "d1_town05_Leon_Lean_Table_Entry"
+ "exit_sequence" "d1_town05_Leon_Lean_Table_Exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+
+ "d1_t03_Sit_couch"
+ {
+ "busy_sequence" "d1_t03_Sit_couch"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t03_sit_couch_consoling"
+ {
+ "busy_sequence" "d1_t03_sit_couch_consoling"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "fear_reaction_Idle"
+ {
+ "busy_sequence" "fear_reaction_Idle"
+ "entry_sequence" "fear_reaction"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "cower_Idle"
+ {
+ "busy_sequence" "cower_Idle"
+ "entry_sequence" "cower"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t03_Sit_Bed"
+ {
+ "busy_sequence" "d1_t03_Sit_Bed"
+ "entry_sequence" "d1_t03_Sit_Bed_Entry"
+ "exit_sequence" "d1_t03_Sit_Bed_Exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "LineIdle01"
+ {
+ "busy_sequence" "LineIdle01"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t01_BreakRoom_WatchBreen"
+ {
+ "busy_sequence" "d1_t01_BreakRoom_WatchBreen"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t02_Plaza_Sit01_Idle"
+ {
+ "busy_sequence" "d1_t02_Plaza_Sit01_Idle"
+ "entry_sequence" "Idle_to_d1_t01_BreakRoom_Sit01"
+ "exit_sequence" "d1_t01_BreakRoom_Sit01_to_Idle"
+ "min_time" "20.0"
+ "max_time" "30.0"
+ "interrupts" "BA_INT_DANGER"
+ }
+ "d1_t02_Plaza_Sit02"
+ {
+ "busy_sequence" "d1_t02_Plaza_Sit02"
+ "entry_sequence" "d1_t01_BreakRoom_Sit02_Entry"
+ "exit_sequence" "d1_t01_BreakRoom_Sit02_Exit"
+ "min_time" "20.0"
+ "max_time" "30.0"
+ "interrupts" "BA_INT_DANGER"
+ }
+ "d1_t02_Playground_Cit2_Pockets"
+ {
+ "busy_sequence" "d1_t02_Playground_Cit2_Pockets"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t02_Playground_Cit1_Arms_Crossed"
+ {
+ "busy_sequence" "d1_t02_Playground_Cit1_Arms_Crossed"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t03_LookOutDoor"
+ {
+ "busy_sequence" "d1_t03_LookOutDoor"
+ "entry_sequence" "d1_t03_LookOutDoor_Entry"
+ "exit_sequence" "d1_t03_LookOutDoor_Exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t03_LookOutWindow"
+ {
+ "busy_sequence" "d1_t03_LookOutWindow"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t03_Tenements_Look_Out_Window_Idle"
+ {
+ "busy_sequence" "d1_t03_Tenements_Look_Out_Window_Idle"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t03_PreRaid_Peek_Idle"
+ {
+ "busy_sequence" "d1_t03_PreRaid_Peek_Idle"
+ "exit_sequence" "d1_t03_Preraid_Peek_Exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t01_Clutch_Chainlink_Idle"
+ {
+ "busy_sequence" "d1_t01_Clutch_Chainlink_Idle"
+ "entry_sequence" "d1_t01_Clutch_Chainlink_Entry"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t01_BreakRoom_Sit01_Idle"
+ {
+ "busy_sequence" "d1_t01_BreakRoom_Sit01_Idle"
+ "entry_sequence" "Idle_to_d1_t01_BreakRoom_Sit01"
+ "exit_sequence" "d1_t01_BreakRoom_Sit01_to_Idle"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t01_BreakRoom_Sit02"
+ {
+ "busy_sequence" "d1_t01_BreakRoom_Sit02"
+ "entry_sequence" "d1_t01_BreakRoom_Sit02_Entry"
+ "exit_sequence" "d1_t01_BreakRoom_Sit02_Exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_None"
+ }
+ "d1_t01_BreakRoom_WatchClock_Sit"
+ {
+ "busy_sequence" "d1_t01_BreakRoom_WatchClock_Sit"
+ "entry_sequence" "d1_t01_BreakRoom_WatchClock_Sit_Entry"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "d1_t01_BreakRoom_WatchClock_Sit_MX"
+ {
+ "busy_sequence" "d1_t01_BreakRoom_WatchClock_Sit_MX"
+ "entry_sequence" "d1_t01_BreakRoom_WatchClock_Sit_Entry_MX"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "ACT_BUSY_LEAN_LEFT"
+ {
+ "busy_anim" "ACT_BUSY_LEAN_LEFT"
+ "entry_anim" "ACT_BUSY_LEAN_LEFT_ENTRY"
+ "exit_anim" "ACT_BUSY_LEAN_LEFT_EXIT"
+ "min_time" "10.0"
+ "max_time" "20.0"
+ "interrupts" "BA_INT_PLAYER"
+ }
+ "Lean_Left"
+ {
+ "busy_sequence" "Lean_Left"
+ "entry_anim" "ACT_BUSY_LEAN_LEFT_ENTRY"
+ "exit_sequence" "photo_react_startle"
+ "min_time" "0"
+ "max_time" "0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "ACT_BUSY_LEAN_BACK"
+ {
+ "busy_anim" "ACT_BUSY_LEAN_BACK"
+ "entry_anim" "ACT_BUSY_LEAN_BACK_ENTRY"
+ "exit_anim" "ACT_BUSY_LEAN_BACK_EXIT"
+ "min_time" "10.0"
+ "max_time" "20.0"
+ "interrupts" "BA_INT_PLAYER"
+ }
+ "lean_back"
+ {
+ "busy_sequence" "lean_back"
+ "entry_anim" "ACT_BUSY_LEAN_BACK_ENTRY"
+ "exit_anim" "ACT_BUSY_LEAN_BACK_EXIT"
+ "min_time" "0"
+ "max_time" "0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "ACT_BUSY_SIT_GROUND"
+ {
+ "busy_anim" "ACT_BUSY_SIT_GROUND"
+ "entry_anim" "ACT_BUSY_SIT_GROUND_ENTRY"
+ "exit_anim" "ACT_BUSY_SIT_GROUND_EXIT"
+ "min_time" "20.0"
+ "max_time" "30.0"
+ "interrupts" "BA_INT_DANGER"
+ }
+ "ACT_BUSY_SIT_CHAIR"
+ {
+ "busy_anim" "ACT_BUSY_SIT_CHAIR"
+ "entry_anim" "ACT_BUSY_SIT_CHAIR_ENTRY"
+ "exit_anim" "ACT_BUSY_SIT_CHAIR_EXIT"
+ "min_time" "30.0"
+ "max_time" "40.0"
+ "interrupts" "BA_INT_DANGER"
+ }
+ "ACT_BUSY_STAND"
+ {
+ "busy_anim" "ACT_BUSY_STAND"
+ "min_time" "10.0"
+ "max_time" "20.0"
+ "interrupts" "BA_INT_DANGER"
+ }
+ "ACT_BUSY_QUEUE"
+ {
+ "busy_anim" "ACT_BUSY_QUEUE"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "food_queue_front"
+ {
+ "busy_sequence" "lineIdle01"
+ "exit_sequence" "takepackage"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "sitcouchfeet1"
+ { "busy_sequence" "sitcouchfeet1"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "sitcouchknees1"
+ { "busy_sequence" "sitcouchknees1"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "sitchairtable1"
+ { "busy_sequence" "sitchairtable1"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "sitcouch1"
+ { "busy_sequence" "sitcouch1"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "sitccouchtv1"
+ { "busy_sequence" "sitccouchtv1"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "laycouch1"
+ { "busy_sequence" "laycouch1"
+ "exit_sequence" "laycouch1_exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "laycouch1"
+ {
+ "busy_sequence" "laycouch1"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "Sit_Chair02"
+ {
+ "busy_sequence" "Sit_Chair02"
+ "entry_sequence" "Idle_to_Sit_Chair02"
+ "exit_sequence" "Sit_Chair02_to_Idle"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "Sit_Chair03"
+ {
+ "busy_sequence" "Sit_Chair03"
+ "entry_sequence" "Idle_to_Sit_Chair03"
+ "exit_sequence" "Sit_Chair03_to_Idle"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "drinker_sit_idle"
+ {
+ "busy_sequence" "drinker_sit_idle"
+ "entry_sequence" "drinker_sit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "drinker_sit_idle_ss"
+ {
+ "busy_sequence" "drinker_sit_idle_ss"
+ "entry_sequence" "drinker_sit_ss"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "railing_idle"
+ {
+ "busy_sequence" "railing_idle"
+ //"entry_sequence" "railing_enter"
+ "exit_sequence" "railing_exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "D1_C01a_Mary_kneel"
+ {
+ "busy_sequence" "canals_mary_postidle"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "D1_C03_Matt_sitground"
+ {
+ "busy_anim" "ACT_BUSY_SIT_GROUND"
+ "entry_anim" "ACT_BUSY_SIT_GROUND_ENTRY"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "Cover_R"
+ {
+ "busy_sequence" "Cover_R"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "Cover_L"
+ {
+ "busy_sequence" "Cover_L"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "Coverlow_R"
+ {
+ "busy_sequence" "Coverlow_R"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+ "Coverlow_L"
+ {
+ "busy_sequence" "Coverlow_L"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_NONE"
+ }
+
+//*****************************************************************************
+//************ Soldier actbusy section *************************************
+//*****************************************************************************
+
+
+
+ "Cover_crouch"
+ {
+ "busy_sequence" "crouchidle_AB"
+ "exit_sequence" "crouch_to_combat_stand"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+ "Cover_crouch_B"
+ {
+ "busy_sequence" "crouchidle_AB"
+ "exit_sequence" "crouchidle_ABexit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+ "Signal_group"
+ {
+ "busy_sequence" "signal_group"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+ "Idle_Alert"
+ {
+ "busy_sequence" "CombatIdle1"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+ "Signal_Advance"
+ {
+ "busy_sequence" "CombatIdle1"
+ "exit_sequence" "signal_advance"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+ "LeanWall_Right"
+ {
+ "busy_sequence" "leanwall_right_idle"
+ "exit_sequence" "leanwall_right_exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+ "LeanWall_Corner_Right"
+ {
+ "busy_sequence" "leanwall_Corner_right_idle"
+ "exit_sequence" "leanwall_Corner_right_exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+ "LeanWall_Left"
+ {
+ "busy_sequence" "leanwall_left_idle"
+ "exit_sequence" "leanwall_left_exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+ "LeanWall_Left_B"
+ {
+ "busy_sequence" "leanwall_left_b_idle"
+ "exit_sequence" "leanwall_left_b_exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+ "LeanWall_CrouchLeft_A"
+ {
+ "busy_sequence" "leanwall_CrouchLeft_A_idle"
+ "exit_sequence" "leanwall_CrouchLeft_A_exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+ "LeanWall_CrouchLeft_B"
+ {
+ "busy_sequence" "leanwall_CrouchLeft_B_idle"
+ "exit_sequence" "leanwall_CrouchLeft_B_exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+ "LeanWall_CrouchLeft_C"
+ {
+ "busy_sequence" "leanwall_CrouchLeft_C_idle"
+ "exit_sequence" "leanwall_CrouchLeft_C_exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+ "LeanWall_CrouchLeft_D"
+ {
+ "busy_sequence" "leanwall_CrouchLeft_D_idle"
+ "exit_sequence" "leanwall_CrouchLeft_D_exit"
+ "min_time" "0.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_AMBUSH"
+ }
+
+//*****************************************************************************
+//************ Metrocop actbusy section ************************************
+//*****************************************************************************
+
+ "Crouch_idle_pistol_A"
+ {
+ "busy_sequence" "Crouch_idle_pistol"
+ "exit_sequence" "Crouch_to_shootpistol"
+ "min_time" "1.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_COMBAT"
+ }
+
+ "Crouch_idle_smg1_A"
+ {
+ "busy_sequence" "Crouch_idle_smg1"
+ "exit_sequence" "Crouch_to_shootsmg1"
+ "min_time" "1.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_COMBAT"
+ }
+
+ "Idle_harrassidle_A"
+ {
+ "busy_sequence" "harrassidle"
+ "min_time" "1.0"
+ "max_time" "0.0"
+ "interrupts" "BA_INT_COMBAT"
+ }
+
+
+
+}
+
diff --git a/sp/game/mod_hl2/scripts/credits.txt b/sp/game/mod_hl2/scripts/credits.txt new file mode 100644 index 00000000..af740259 --- /dev/null +++ b/sp/game/mod_hl2/scripts/credits.txt @@ -0,0 +1,314 @@ +//Adrian: This file contains the credits info for both the Intro and outro.
+"credits.txt"
+{
+
+//========================================================
+//These are the names used in the intro (trainride)
+//========================================================
+"IntroCreditsNames"
+{
+ "V" "WeaponIcons"
+ " " "CreditsText"
+ " " "CreditsText"
+ "Viktor Antonov" "CreditsText"
+ "Ted Backman" "CreditsText"
+ "Kelly Bailey" "CreditsText"
+ "Jeff Ballinger" "CreditsText"
+ "Matt Bamberger" "CreditsText"
+ "Aaron Barber" "CreditsText"
+ "Yahn Bernier" "CreditsText"
+ "Ken Birdwell" "CreditsText"
+ "Derrick Birum" "CreditsText"
+ "Chris Bokitch" "CreditsText"
+ "Steve Bond" "CreditsText"
+ "Matt Boone" "CreditsText"
+ "Charlie Brown" "CreditsText"
+ "Julie Caldwell" "CreditsText"
+ "Dario Casali" "CreditsText"
+ "Yvan Charpentier" "CreditsText"
+ "Jess Cliffe" "CreditsText"
+ "John Cook" "CreditsText"
+ "Greg Coomer" "CreditsText"
+ "Kellie Cosner" "CreditsText"
+ "Scott Dalton" "CreditsText"
+ "Kerry Davis" "CreditsText"
+ "Jason Deakins" "CreditsText"
+ "Ariel Diaz" "CreditsText"
+ "Quintin Doroquez" "CreditsText"
+ "Martha Draves" "CreditsText"
+ "Laura Dubuk" "CreditsText"
+ "Mike Dunkle" "CreditsText"
+ "Mike Dussault" "CreditsText"
+ "Rick Ellis" "CreditsText"
+ "Dhabih Eng" "CreditsText"
+ "Miles Estes" "CreditsText"
+ "Adrian Finol" "CreditsText"
+ "Bill Fletcher" "CreditsText"
+ "Moby Francke" "CreditsText"
+ "Pat Goodwin" "CreditsText"
+ "Chris Green" "CreditsText"
+ "Chris Grinstead" "CreditsText"
+ "John Guthrie" "CreditsText"
+ "Leslie Hall" "CreditsText"
+ "Damarcus Holbrook" "CreditsText"
+ "Tim Holt" "CreditsText"
+ "Brian Jacobson" "CreditsText"
+ "Erik Johnson" "CreditsText"
+ "Jakob Jungels" "CreditsText"
+ "Iikka Keranen" "CreditsText"
+ "Eric Kirchmer" "CreditsText"
+ "Marc Laidlaw" "CreditsText"
+ "Jeff Lane" "CreditsText"
+ "Tom Leonard" "CreditsText"
+ "Doug Lombardi" "CreditsText"
+ "Randy Lundeen" "CreditsText"
+ "Scott Lynch" "CreditsText"
+ "Ido Magal" "CreditsText"
+ "Gary McTaggart" "CreditsText"
+ "John Morello II" "CreditsText"
+ "Bryn Moslow" "CreditsText"
+ "Gabe Newell" "CreditsText"
+ "Tri Nguyen" "CreditsText"
+ "Jake Nicholson" "CreditsText"
+ "Martin Otten" "CreditsText"
+ "Kristen Perry" "CreditsText"
+ "Bay Raitt" "CreditsText"
+ "Alfred Reynolds" "CreditsText"
+ "Dave Riller" "CreditsText"
+ "Danika Rogers" "CreditsText"
+ "David Sawyer" "CreditsText"
+ "Aaron Seeler" "CreditsText"
+ "Nick Shaffner" "CreditsText"
+ "Taylor Sherman" "CreditsText"
+ "Eric Smith" "CreditsText"
+ "David Speyrer" "CreditsText"
+ "Jay Stelly" "CreditsText"
+ "Jeremy Stone" "CreditsText"
+ "Mikel Thompson" "CreditsText"
+ "Kelly Thornton" "CreditsText"
+ "Carl Uhlman" "CreditsText"
+ "Bill Van Buren" "CreditsText"
+ "KayLee Vogt" "CreditsText"
+ "Robin Walker" "CreditsText"
+ "Josh Weier" "CreditsText"
+ "Doug Wood" "CreditsText"
+ "Matt T Wood" "CreditsText"
+ "Matt Wright" "CreditsText"
+}
+
+"CreditsParams"
+{
+ "logo" "HALF-LIFE'"
+
+ "fadeintime" "2.5"
+ "fadeouttime" "1"
+ "fadeholdtime" "1.0"
+ "nextfadetime" "1.0"
+ "pausebetweenwaves" "1.0"
+ "logotime" "1.0"
+ "posx" "96"
+ "posy" "360"
+
+ "color" "255 255 255 128"
+
+//Outro Parameters
+ "scrolltime" "158"
+ "separation" "10"
+}
+
+//========================================================
+//These are the names used in the outro (breen_01)
+//========================================================
+"OutroCreditsNames"
+{
+ "HALF-LIFE'" "CreditsOutroLogos"
+ " " "CreditsOutroText"
+ "V" "CreditsOutroLogos"
+ " " "CreditsOutroText"
+ "Viktor Antonov" "CreditsOutroText"
+ "Ted Backman" "CreditsOutroText"
+ "Kelly Bailey" "CreditsOutroText"
+ "Jeff Ballinger" "CreditsOutroText"
+ "Matt Bamberger" "CreditsOutroText"
+ "Aaron Barber" "CreditsOutroText"
+ "Yahn Bernier" "CreditsOutroText"
+ "Ken Birdwell" "CreditsOutroText"
+ "Derrick Birum" "CreditsOutroText"
+ "Chris Bokitch" "CreditsOutroText"
+ "Steve Bond" "CreditsOutroText"
+ "Matt Boone" "CreditsOutroText"
+ "Charlie Brown" "CreditsOutroText"
+ "Julie Caldwell" "CreditsOutroText"
+ "Dario Casali" "CreditsOutroText"
+ "Yvan Charpentier" "CreditsOutroText"
+ "Jess Cliffe" "CreditsOutroText"
+ "John Cook" "CreditsOutroText"
+ "Greg Coomer" "CreditsOutroText"
+ "Kellie Cosner" "CreditsOutroText"
+ "Scott Dalton" "CreditsOutroText"
+ "Kerry Davis" "CreditsOutroText"
+ "Jason Deakins" "CreditsOutroText"
+ "Ariel Diaz" "CreditsOutroText"
+ "Quintin Doroquez" "CreditsOutroText"
+ "Martha Draves" "CreditsOutroText"
+ "Laura Dubuk" "CreditsOutroText"
+ "Mike Dunkle" "CreditsOutroText"
+ "Mike Dussault" "CreditsOutroText"
+ "Rick Ellis" "CreditsOutroText"
+ "Dhabih Eng" "CreditsOutroText"
+ "Miles Estes" "CreditsOutroText"
+ "Adrian Finol" "CreditsOutroText"
+ "Bill Fletcher" "CreditsOutroText"
+ "Moby Francke" "CreditsOutroText"
+ "Pat Goodwin" "CreditsOutroText"
+ "Chris Green" "CreditsOutroText"
+ "Chris Grinstead" "CreditsOutroText"
+ "John Guthrie" "CreditsOutroText"
+ "Leslie Hall" "CreditsOutroText"
+ "Damarcus Holbrook" "CreditsOutroText"
+ "Tim Holt" "CreditsOutroText"
+ "Brian Jacobson" "CreditsOutroText"
+ "Erik Johnson" "CreditsOutroText"
+ "Jakob Jungels" "CreditsOutroText"
+ "Iikka Keranen" "CreditsOutroText"
+ "Eric Kirchmer" "CreditsOutroText"
+ "Marc Laidlaw" "CreditsOutroText"
+ "Jeff Lane" "CreditsOutroText"
+ "Tom Leonard" "CreditsOutroText"
+ "Doug Lombardi" "CreditsOutroText"
+ "Randy Lundeen" "CreditsOutroText"
+ "Scott Lynch" "CreditsOutroText"
+ "Ido Magal" "CreditsOutroText"
+ "Gary McTaggart" "CreditsOutroText"
+ "John Morello II" "CreditsOutroText"
+ "Bryn Moslow" "CreditsOutroText"
+ "Gabe Newell" "CreditsOutroText"
+ "Tri Nguyen" "CreditsOutroText"
+ "Jake Nicholson" "CreditsOutroText"
+ "Martin Otten" "CreditsOutroText"
+ "Kristen Perry" "CreditsOutroText"
+ "Bay Raitt" "CreditsOutroText"
+ "Alfred Reynolds" "CreditsOutroText"
+ "Dave Riller" "CreditsOutroText"
+ "Danika Rogers" "CreditsOutroText"
+ "David Sawyer" "CreditsOutroText"
+ "Aaron Seeler" "CreditsOutroText"
+ "Nick Shaffner" "CreditsOutroText"
+ "Taylor Sherman" "CreditsOutroText"
+ "Eric Smith" "CreditsOutroText"
+ "David Speyrer" "CreditsOutroText"
+ "Jay Stelly" "CreditsOutroText"
+ "Jeremy Stone" "CreditsOutroText"
+ "Mikel Thompson" "CreditsOutroText"
+ "Kelly Thornton" "CreditsOutroText"
+ "Carl Uhlman" "CreditsOutroText"
+ "Bill Van Buren" "CreditsOutroText"
+ "KayLee Vogt" "CreditsOutroText"
+ "Robin Walker" "CreditsOutroText"
+ "Josh Weier" "CreditsOutroText"
+ "Doug Wood" "CreditsOutroText"
+ "Matt T. Wood" "CreditsOutroText"
+ "Matt Wright" "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ "Voices:" "CreditsOutroText"
+ "Robert Guillaume - Dr. Eli Vance" "CreditsOutroText"
+ "Robert Culp - Dr. Wallace Breen" "CreditsOutroText"
+ "Lou Gossett, Jr. - Vortigaunt" "CreditsOutroText"
+ "Michelle Forbes - Dr. Judith Mossman" "CreditsOutroText"
+ "Merle Dandridge - Alyx Vance" "CreditsOutroText"
+ "Mike Shapiro - Barney Calhoun" "CreditsOutroText"
+ "Mike Shapiro - Gman" "CreditsOutroText"
+ "Harry S. Robins - Dr. Isaac Kleiner" "CreditsOutroText"
+ "Jim French - Father Grigori" "CreditsOutroText"
+ "John Patrick Lowrie - Citizens\Misc. characters" "CreditsOutroText"
+ "Mary Kae Irvin - Citizens\Misc. characters" "CreditsOutroText"
+ "Ellen McLain - Overwatch" "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ "Voice Casting:" "CreditsOutroText"
+ "Shana Landsburg\Teri Fiddleman" "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ "Voice Recording:" "CreditsOutroText"
+ "Pure Audio, Seattle, WA" "CreditsOutroText"
+ "LA Studios, LA, CA" "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ "Voice recording scheduling and logistics:" "CreditsOutroText"
+ "Pat Cockburn, Pure Audio" "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ "Translations:" "CreditsOutroText"
+ "SDL" "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ "Crack Legal Team:" "CreditsOutroText"
+ "Liam Lavery" "CreditsOutroText"
+ "Jason Holtman" "CreditsOutroText"
+ "Karl Quackenbush" "CreditsOutroText"
+ "Kristen Boraas" "CreditsOutroText"
+ "Kevin Rosenfield" "CreditsOutroText"
+ "Alan Bruggeman" "CreditsOutroText"
+ "Dennis Tessier" "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ "Thanks to the following for the use of their faces:" "CreditsOutroText"
+ "Jamil Mullen" "CreditsOutroText"
+ "Art Min" "CreditsOutroText"
+ "Larry 'The Count' Heard" "CreditsOutroText"
+ "Ted Cohrt" "CreditsOutroText"
+ "Roger Guay" "CreditsOutroText"
+ "Frank Sheldon" "CreditsOutroText"
+ "Travis Dunlop" "CreditsOutroText"
+ "Daniel Dociu" "CreditsOutroText"
+ "Van Crowder" "CreditsOutroText"
+ "Joey Paresa" "CreditsOutroText"
+ "Chau Luu" "CreditsOutroText"
+ "Kim Harris-Jones" "CreditsOutroText"
+ "Michael S. Smith" "CreditsOutroText"
+ "Joe Cairo" "CreditsOutroText"
+ "Naomi Cotton" "CreditsOutroText"
+ "Sandro Consi" "CreditsOutroText"
+ "Lakeetra Gilbert" "CreditsOutroText"
+ "Erdin Grcic" "CreditsOutroText"
+ "Kanisha Speyrer" "CreditsOutroText"
+ "Warren Slough" "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ "Special thanks to everyone at:" "CreditsOutroText"
+ "Alienware" "CreditsOutroText"
+ "ATI" "CreditsOutroText"
+ "Dell" "CreditsOutroText"
+ "Falcon Northwest" "CreditsOutroText"
+ "Havok" "CreditsOutroText"
+ "SOFTIMAGE" "CreditsOutroText"
+ "and Don Kemmis, SLK Technologies" "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ " " "CreditsOutroText"
+ "v" "CreditsOutroText"
+}
+
+
+
+}
\ No newline at end of file diff --git a/sp/game/mod_hl2/scripts/hud_textures.txt b/sp/game/mod_hl2/scripts/hud_textures.txt new file mode 100644 index 00000000..6d40d2d4 --- /dev/null +++ b/sp/game/mod_hl2/scripts/hud_textures.txt @@ -0,0 +1,124 @@ +"sprites/640_hud"
+{
+ TextureData
+ {
+ "arrow" [$WIN32]
+ {
+ "file" "sprites/arrow"
+ "x" "0"
+ "y" "0"
+ "width" "32"
+ "height" "32"
+ }
+ "autoaim_c" [$WIN32]
+ {
+ "file" "sprites/crosshairs"
+ "x" "96"
+ "y" "0"
+ "width" "24"
+ "height" "24"
+ }
+ "item_battery" [$WIN32]
+ {
+ "font" "WeaponIcons"
+ "character" "*"
+ }
+ "item_healthkit" [$WIN32]
+ {
+ "font" "WeaponIcons"
+ "character" "+"
+ }
+ "crosshair"
+ {
+ "file" "sprites/qi_center"
+ "x" "0"
+ "y" "0"
+ "width" "40"
+ "height" "40"
+ }
+ "crosshair_left"
+ {
+ "font" "QuickInfo"
+ "character" "("
+ }
+ "crosshair_right"
+ {
+ "font" "QuickInfo"
+ "character" ")"
+ }
+ "crosshair_left_full"
+ {
+ "font" "QuickInfo"
+ "character" "["
+ }
+ "crosshair_right_full"
+ {
+ "font" "QuickInfo"
+ "character" "]"
+ }
+ "crosshair_left_empty"
+ {
+ "font" "QuickInfo"
+ "character" "{"
+ }
+ "crosshair_right_empty"
+ {
+ "font" "QuickInfo"
+ "character" "}"
+ }
+ "crosshair_default"
+ {
+ "file" "sprites/crosshairs"
+ "x" "0"
+ "y" "48"
+ "width" "24"
+ "height" "24"
+ }
+ "crosshair_xbox"
+ {
+ "file" "vgui/hud/xbox_reticle"
+ "x" "0"
+ "y" "0"
+ "width" "64"
+ "height" "64"
+ }
+ "viewhair"
+ {
+ "file" "sprites/hud/v_crosshair2"
+ "x" "0"
+ "y" "0"
+ "width" "32"
+ "height" "32"
+ }
+ "gunhair"
+ {
+ "file" "sprites/hud/v_crosshair1"
+ "x" "0"
+ "y" "0"
+ "width" "32"
+ "height" "32"
+ }
+ "plushair"
+ {
+ "font" "Crosshairs"
+ "character" "Q"
+ }
+
+ "ico_friend_indicator"
+ {
+ "file" "vgui/ico_friend_indicator_alone"
+ "x" "0"
+ "y" "0"
+ "width" "32"
+ "height" "32"
+ }
+ "ico_friend_indicator_avatar"
+ {
+ "file" "vgui/ico_friend_indicator_scoreboard"
+ "x" "-1"
+ "y" "-1"
+ "width" "57"
+ "height" "36"
+ }
+ }
+}
diff --git a/sp/game/mod_hl2/scripts/npc_sounds_vortigaunt.txt b/sp/game/mod_hl2/scripts/npc_sounds_vortigaunt.txt new file mode 100644 index 00000000..7d9e564c --- /dev/null +++ b/sp/game/mod_hl2/scripts/npc_sounds_vortigaunt.txt @@ -0,0 +1,2332 @@ +//
+//
+// NOTE: AUTOMATICALLY GENERATED FILE, ANY HAND EDITED COMMENTS WILL BE LOST!!!
+// NOTE: AUTOMATICALLY GENERATED FILE, ANY HAND EDITED COMMENTS WILL BE LOST!!!
+// NOTE: AUTOMATICALLY GENERATED FILE, ANY HAND EDITED COMMENTS WILL BE LOST!!!
+//
+// VOL_NORM 1.0f
+//
+//-----------------------------------------------------------------------------
+// common attenuation values
+//-----------------------------------------------------------------------------
+//
+// DON'T USE THESE - USE SNDLVL_ INSTEAD!!!
+// ATTN_NONE 0.0f
+// ATTN_NORM 0.8f
+// ATTN_IDLE 2.0f
+// ATTN_STATIC 1.25f
+// ATTN_RICOCHET 1.5f
+// ATTN_GUNFIRE 0.27f
+//
+// SNDLVL_NONE = 0,
+// SNDLVL_25dB = 25,
+// SNDLVL_30dB = 30,
+// SNDLVL_35dB = 35,
+// SNDLVL_40dB = 40,
+// SNDLVL_45dB = 45,
+// SNDLVL_50dB = 50, = 3.9
+// SNDLVL_55dB = 55, = 3.0
+// SNDLVL_IDLE = 60, = 2.0
+// SNDLVL_TALKING = 60, = 2.0
+// SNDLVL_60dB = 60, = 2.0
+// SNDLVL_65dB = 65, = 1.5
+// SNDLVL_STATIC = 66, = 1.25
+// SNDLVL_70dB = 70, = 1.0
+// SNDLVL_NORM = 75,
+// SNDLVL_75dB = 75, = 0.8
+// SNDLVL_80dB = 80, = 0.7
+// SNDLVL_85dB = 85, = 0.6
+// SNDLVL_90dB = 90, = 0.5
+// SNDLVL_95dB = 95,
+// SNDLVL_100dB = 100, = 0.4
+// SNDLVL_105dB = 105,
+// SNDLVL_120dB = 120,
+// SNDLVL_130dB = 130,
+// SNDLVL_GUNFIRE = 140, = 0.27
+// SNDLVL_140dB = 140, = 0.2
+// SNDLVL_150dB = 150, = 0.2
+//
+
+
+
+
+"NPC_Vortigaunt.SuitOn"
+{
+ "channel" "CHAN_ITEM"
+ "volume" "0.850000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "items/suitchargeok1.wav"
+}
+
+"NPC_Vortigaunt.SuitCharge"
+{
+ "channel" "CHAN_STATIC"
+ "volume" "0.850000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "items/suitcharge1.wav"
+}
+
+"NPC_Vortigaunt.Claw"
+{
+ "channel" "CHAN_WEAPON"
+ "volume" "VOL_NORM"
+ "pitch" "100, 150"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "npc/vort/foot_hit.wav"
+}
+
+"NPC_Vortigaunt.FootstepLeft"
+{
+ "channel" "CHAN_BODY"
+ "volume" "0.300000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_IDLE"
+
+ "rndwave"
+ {
+ "wave" "npc/vort/vort_foot1.wav"
+ "wave" "npc/vort/vort_foot3.wav"
+ }
+}
+
+"NPC_Vortigaunt.FootstepRight"
+{
+ "channel" "CHAN_BODY"
+ "volume" "0.300000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_IDLE"
+
+ "rndwave"
+ {
+ "wave" "npc/vort/vort_foot2.wav"
+ "wave" "npc/vort/vort_foot4.wav"
+ }
+}
+
+"NPC_Vortigaunt.Shoot"
+{
+ "channel" "CHAN_WEAPON"
+ "volume" "VOL_NORM"
+ "pitch" "130, 160"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "npc/vort/attack_shoot.wav"
+}
+
+"NPC_Vortigaunt.Swing"
+{
+ "channel" "CHAN_WEAPON"
+ "volume" "VOL_NORM"
+ "pitch" "100, 130"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "rndwave"
+ {
+ "wave" "npc/vort/claw_swing1.wav"
+ "wave" "npc/vort/claw_swing2.wav"
+ }
+}
+
+"NPC_Vortigaunt.Kick"
+{
+ "channel" "CHAN_WEAPON"
+ "volume" "VOL_NORM"
+ "pitch" "100, 150"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "npc/vort/foot_hit.wav"
+}
+
+"NPC_Vortigaunt.ClawBeam"
+{
+ "channel" "CHAN_BODY"
+ "volume" "VOL_NORM"
+ "pitch" "130, 160"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "npc/vort/attack_shoot.wav"
+}
+
+"npc_vortigaunt.acceptcharge"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/acceptcharge.wav"
+}
+
+"npc_vortigaunt.acceptenergy"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/acceptenergy.wav"
+}
+
+"npc_vortigaunt.accompany"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.750"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/accompany.wav"
+}
+
+"npc_vortigaunt.affirmed"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/affirmed.wav"
+}
+
+"npc_vortigaunt.alldear"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/alldear.wav"
+}
+
+"npc_vortigaunt.allfornow"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/allfornow.wav"
+}
+
+"npc_vortigaunt.allinoneinall"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/allinoneinall.wav"
+}
+
+"npc_vortigaunt.allowme"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.780"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/allowme.wav"
+}
+
+"npc_vortigaunt.allowrecharge"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.530"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/allowrecharge.wav"
+}
+
+"npc_vortigaunt.allwecanspare"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/allwecanspare.wav"
+}
+
+"npc_vortigaunt.allwehave"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.560"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/allwehave.wav"
+}
+
+"npc_vortigaunt.assent"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/assent.wav"
+}
+
+"npc_vortigaunt.asyouwish"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/asyouwish.wav"
+}
+
+"npc_vortigaunt.beofservice"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/beofservice.wav"
+}
+
+"npc_vortigaunt.bodyyours"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/bodyyours.wav"
+}
+
+"npc_vortigaunt.calm"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/calm.wav"
+}
+
+"npc_vortigaunt.canconvince"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/canconvince.wav"
+}
+
+"npc_vortigaunt.cannotfire"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/cannotfire.wav"
+}
+
+"npc_vortigaunt.caution"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.800"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/caution.wav"
+}
+
+"npc_vortigaunt.cautionfm"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.750"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/cautionfm.wav"
+}
+
+"npc_vortigaunt.certainly"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/certainly.wav"
+}
+
+"npc_vortigaunt.corporeal"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/corporeal.wav"
+}
+
+"npc_vortigaunt.dedicate"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/dedicate.wav"
+}
+
+"npc_vortigaunt.done"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.520"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/done.wav"
+}
+
+"npc_vortigaunt.dreamed"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.700"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/dreamed.wav"
+}
+
+"npc_vortigaunt.empowerus"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.800"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/empowerus.wav"
+}
+
+"npc_vortigaunt.energyempower"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.670"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/energyempower.wav"
+}
+
+"npc_vortigaunt.fearfailed"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/fearfailed.wav"
+}
+
+"npc_vortigaunt.fmbeware"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/fmbeware.wav"
+}
+
+"npc_vortigaunt.fmcanuse"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/fmcanuse.wav"
+}
+
+"npc_vortigaunt.fmdoesushonor"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/fmdoesushonor.wav"
+}
+
+"npc_vortigaunt.fmhonorsus"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.630"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/fmhonorsus.wav"
+}
+
+"npc_vortigaunt.fminway"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/fminway.wav"
+}
+
+"npc_vortigaunt.fmknowsbest"
+{
+ "channel" "CHAN_VOICE"
+ "volume" ".36"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/fmknowsbest.wav"
+}
+
+"npc_vortigaunt.fmmustbeware"
+{
+ "channel" "CHAN_VOICE"
+ "volume" ".79"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/fmmustbeware.wav"
+}
+
+"npc_vortigaunt.fmmustfollow"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.580"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/fmmustfollow.wav"
+}
+
+"npc_vortigaunt.fmmustmove"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.580"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/fmmustmove.wav"
+}
+
+"npc_vortigaunt.fmstandstill"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/fmstandstill.wav"
+}
+
+"npc_vortigaunt.followfm"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/followfm.wav"
+}
+
+"npc_vortigaunt.forfreedom"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/forfreedom.wav"
+}
+
+"npc_vortigaunt.forthefm"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/forthefm.wav"
+}
+
+"npc_vortigaunt.forward"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.900"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/forward.wav"
+}
+
+"npc_vortigaunt.freeman"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/freeman.wav"
+}
+
+"npc_vortigaunt.giveover"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/giveover.wav"
+}
+
+"npc_vortigaunt.gladly"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/gladly.wav"
+}
+
+"npc_vortigaunt.gloriousend"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/gloriousend.wav"
+}
+
+"npc_vortigaunt.greetingsfm"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/greetingsfm.wav"
+}
+
+"npc_vortigaunt.halt"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/halt.wav"
+}
+
+"npc_vortigaunt.here"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/here.wav"
+}
+
+"npc_vortigaunt.herewestay"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/herewestay.wav"
+}
+
+"npc_vortigaunt.hold"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/hold.wav"
+}
+
+"npc_vortigaunt.holdorcantcharge"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/holdorcantcharge.wav"
+}
+
+"npc_vortigaunt.holdstill"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/holdstill.wav"
+}
+
+"npc_vortigaunt.honorfollow"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/honorfollow.wav"
+}
+
+"npc_vortigaunt.honorours"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/honorours.wav"
+}
+
+"npc_vortigaunt.hopeless"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/hopeless.wav"
+}
+
+"npc_vortigaunt.ifyoumove"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/ifyoumove.wav"
+}
+
+"npc_vortigaunt.isitthefm"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/isitthefm.wav"
+}
+
+"npc_vortigaunt.itishonor"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/itishonor.wav"
+}
+
+"npc_vortigaunt.itisthefm"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/itisthefm.wav"
+}
+
+"npc_vortigaunt.keepfmsafe"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/keepfmsafe.wav"
+}
+
+"npc_vortigaunt.leadon"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.900000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/leadon.wav"
+}
+
+"npc_vortigaunt.leadus"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/leadus.wav"
+}
+
+"npc_vortigaunt.livetoserve"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/livetoserve.wav"
+}
+
+"npc_vortigaunt.morethanmeets"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/morethanmeets.wav"
+}
+
+"npc_vortigaunt.movingtarget"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/movingtarget.wav"
+}
+
+"npc_vortigaunt.mutual"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/mutual.wav"
+}
+
+"npc_vortigaunt.mystery"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/mystery.wav"
+}
+
+"npc_vortigaunt.neuroprints"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/neuroprints.wav"
+}
+
+"npc_vortigaunt.nodenexus"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/nodenexus.wav"
+}
+
+"npc_vortigaunt.onward"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.800000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/onward.wav"
+}
+
+"npc_vortigaunt.opaque"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/opaque.wav"
+}
+
+"npc_vortigaunt.optical"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/optical.wav"
+}
+
+"npc_vortigaunt.ourhonor"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/ourhonor.wav"
+}
+
+"npc_vortigaunt.ourplacehere"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/ourplacehere.wav"
+}
+
+"npc_vortigaunt.passon"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.900000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/passon.wav"
+}
+
+"npc_vortigaunt.persevere"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/persevere.wav"
+}
+
+"npc_vortigaunt.pleasure"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.370000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/pleasure.wav"
+}
+
+"npc_vortigaunt.poet"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/poet.wav"
+}
+
+"npc_vortigaunt.prepare"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.470000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/prepare.wav"
+}
+
+"npc_vortigaunt.prevail"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.680000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/prevail.wav"
+}
+
+"npc_vortigaunt.propitious"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/propitious.wav"
+}
+
+"npc_vortigaunt.putaside"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/putaside.wav"
+}
+
+"npc_vortigaunt.reasondelay"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "1"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/reasondelay.wav"
+}
+
+"npc_vortigaunt.regrettable"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/regrettable.wav"
+}
+
+"npc_vortigaunt.rememberus"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/rememberus.wav"
+}
+
+"npc_vortigaunt.returntoall"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/returntoall.wav"
+}
+
+"npc_vortigaunt.returnvoid"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/returnvoid.wav"
+}
+
+"npc_vortigaunt.salute"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/salute.wav"
+}
+
+"npc_vortigaunt.satisfaction"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.350000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/satisfaction.wav"
+}
+
+"npc_vortigaunt.seebeforeoureye"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/seebeforeoureye.wav"
+}
+
+"npc_vortigaunt.seenworse"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.700000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/seenworse.wav"
+}
+
+"npc_vortigaunt.servebetterhere"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/servebetterhere.wav"
+}
+
+"npc_vortigaunt.standclear"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/standclear.wav"
+}
+
+"npc_vortigaunt.stillhere"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/stillhere.wav"
+}
+
+"npc_vortigaunt.surge"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/surge.wav"
+}
+
+"npc_vortigaunt.takeus"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/takeus.wav"
+}
+
+"npc_vortigaunt.tethercut"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/tethercut.wav"
+}
+
+"npc_vortigaunt.thatisall"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/thatisall.wav"
+}
+
+"npc_vortigaunt.thefreeman"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/thefreeman.wav"
+}
+
+"npc_vortigaunt.tothevoid"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.900000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/tothevoid.wav"
+}
+
+"npc_vortigaunt.troubleus"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.850000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/troubleus.wav"
+}
+
+"npc_vortigaunt.trulyitis"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/trulyitis.wav"
+}
+
+"npc_vortigaunt.undeserving"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/undeserving.wav"
+}
+
+"npc_vortigaunt.vanswer01"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.430000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer01.wav"
+}
+
+"npc_vortigaunt.vanswer02"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer02.wav"
+}
+
+"npc_vortigaunt.vanswer03"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.700000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer03.wav"
+}
+
+"npc_vortigaunt.vanswer04"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer04.wav"
+}
+
+"npc_vortigaunt.vanswer05"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.370000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer05.wav"
+}
+
+"npc_vortigaunt.vanswer06"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer06.wav"
+}
+
+"npc_vortigaunt.vanswer07"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer07.wav"
+}
+
+"npc_vortigaunt.vanswer08"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer08.wav"
+}
+
+"npc_vortigaunt.vanswer09"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer09.wav"
+}
+
+"npc_vortigaunt.vanswer10"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer10.wav"
+}
+
+"npc_vortigaunt.vanswer11"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer11.wav"
+}
+
+"npc_vortigaunt.vanswer12"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.430000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer12.wav"
+}
+
+"npc_vortigaunt.vanswer13"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer13.wav"
+}
+
+"npc_vortigaunt.vanswer14"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.350000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer14.wav"
+}
+
+"npc_vortigaunt.vanswer15"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer15.wav"
+}
+
+"npc_vortigaunt.vanswer16"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.640000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer16.wav"
+}
+
+"npc_vortigaunt.vanswer17"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.530000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer17.wav"
+}
+
+"npc_vortigaunt.vanswer18"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vanswer18.wav"
+}
+
+"npc_vortigaunt.vmono_01"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.630000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_01.wav"
+}
+
+"npc_vortigaunt.vmono_02"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.630000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_02.wav"
+}
+
+"npc_vortigaunt.vmono_03"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.630000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_03.wav"
+}
+
+"npc_vortigaunt.vmono_04"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.660000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_04.wav"
+}
+
+"npc_vortigaunt.vmono_05"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.490000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_05.wav"
+}
+
+"npc_vortigaunt.vmono_06"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_06.wav"
+}
+
+"npc_vortigaunt.vmono_07"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.510000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_07.wav"
+}
+
+"npc_vortigaunt.vmono_08"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_08.wav"
+}
+
+"npc_vortigaunt.vmono_09"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.670000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_09.wav"
+}
+
+"npc_vortigaunt.vmono_10"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_10.wav"
+}
+
+"npc_vortigaunt.vmono_11"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_11.wav"
+}
+
+"npc_vortigaunt.vmono_12"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_12.wav"
+}
+
+"npc_vortigaunt.vmono_13"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_13.wav"
+}
+
+"npc_vortigaunt.vmono_14"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_14.wav"
+}
+
+"npc_vortigaunt.vmono_15"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.530000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_15.wav"
+}
+
+"npc_vortigaunt.vmono_16"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.520000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_16.wav"
+}
+
+"npc_vortigaunt.vmono_17"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_17.wav"
+}
+
+"npc_vortigaunt.vmono_18"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_18.wav"
+}
+
+"npc_vortigaunt.vmono_19"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_19.wav"
+}
+
+"npc_vortigaunt.vmono_20"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.460000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_20.wav"
+}
+
+"npc_vortigaunt.vmono_21"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.460000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_21.wav"
+}
+
+"npc_vortigaunt.vmono_22"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_22.wav"
+}
+
+"npc_vortigaunt.vmono_23"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_23.wav"
+}
+
+"npc_vortigaunt.vmono_24"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_24.wav"
+}
+
+"npc_vortigaunt.vmono_25"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.680000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_25.wav"
+}
+
+"npc_vortigaunt.vmono_26"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_26.wav"
+}
+
+"npc_vortigaunt.vmono_27"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_27.wav"
+}
+
+"npc_vortigaunt.vmono_28"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_28.wav"
+}
+
+"npc_vortigaunt.vmono_29"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_29.wav"
+}
+
+"npc_vortigaunt.vmono_30"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vmono_30.wav"
+}
+
+"npc_vortigaunt.vques01"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vques01.wav"
+}
+
+"npc_vortigaunt.vques02"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.480000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vques02.wav"
+}
+
+"npc_vortigaunt.vques03"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vques03.wav"
+}
+
+"npc_vortigaunt.vques04"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.430000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vques04.wav"
+}
+
+"npc_vortigaunt.vques05"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.450000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vques05.wav"
+}
+
+"npc_vortigaunt.vques06"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.620000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vques06.wav"
+}
+
+"npc_vortigaunt.vques07"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vques07.wav"
+}
+
+"npc_vortigaunt.vques08"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vques08.wav"
+}
+
+"npc_vortigaunt.vques09"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.370000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vques09.wav"
+}
+
+"npc_vortigaunt.vques10"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.680000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vques10.wav"
+}
+
+"npc_vortigaunt.ware"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "1"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/ware.wav"
+}
+
+"npc_vortigaunt.warefm"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.700000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/warefm.wav"
+}
+
+"npc_vortigaunt.warningfm"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.430000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/warningfm.wav"
+}
+
+"npc_vortigaunt.weareyours"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/weareyours.wav"
+}
+
+"npc_vortigaunt.webeofuse"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.400000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/webeofuse.wav"
+}
+
+"npc_vortigaunt.weclaimyou"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "1"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/weclaimyou.wav"
+}
+
+"npc_vortigaunt.wefollowfm"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.600000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/wefollowfm.wav"
+}
+
+"npc_vortigaunt.wehonored"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.550000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/wehonored.wav"
+}
+
+"npc_vortigaunt.weknowyou"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.780000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/weknowyou.wav"
+}
+
+"npc_vortigaunt.wellmet"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.370000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/wellmet.wav"
+}
+
+"npc_vortigaunt.weshare"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.700000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/weshare.wav"
+}
+
+"npc_vortigaunt.wewillcharge"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.370000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/wewillcharge.wav"
+}
+
+"npc_vortigaunt.wewillhelp"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.430000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/wewillhelp.wav"
+}
+
+"npc_vortigaunt.whereto"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.500000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/whereto.wav"
+}
+
+"npc_vortigaunt.willremain"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.420000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/willremain.wav"
+}
+
+"npc_vortigaunt.worthless"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.420000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/worthless.wav"
+}
+
+"npc_vortigaunt.yes"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.670000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/yes.wav"
+}
+
+"npc_vortigaunt.yesforward"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/yesforward.wav"
+}
+
+"NPC_Vortigaunt.ZapPowerup"
+{
+ "channel" "CHAN_WEAPON"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "npc/vort/attack_charge.wav"
+}
+
+"NPC_Vortigaunt.StartHealLoop"
+{
+ "channel" "CHAN_WEAPON"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "npc/vort/health_charge.wav"
+}
+
+"NPC_Vortigaunt.StartShootLoop"
+{
+ "channel" "CHAN_WEAPON"
+ "volume" "VOL_NORM"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "npc/vort/attack_shoot.wav"
+}
+
+"npc_vortigaunt.vortigese01"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese01.wav"
+}
+
+"npc_vortigaunt.vortigese02"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese02.wav"
+}
+
+"npc_vortigaunt.vortigese03"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese03.wav"
+}
+
+"npc_vortigaunt.vortigese04"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese04.wav"
+}
+
+"npc_vortigaunt.vortigese05"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese05.wav"
+}
+
+"npc_vortigaunt.vortigese06"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese06.wav"
+}
+
+"npc_vortigaunt.vortigese07"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese07.wav"
+}
+
+"npc_vortigaunt.vortigese08"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese08.wav"
+}
+
+"npc_vortigaunt.vortigese09"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese09.wav"
+}
+
+"npc_vortigaunt.vortigese10"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese10.wav"
+}
+
+"npc_vortigaunt.vortigese11"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese11.wav"
+}
+
+"npc_vortigaunt.vortigese12"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese12.wav"
+}
+
+"npc_vortigaunt.vortigese13"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.650000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*vo/npc/vortigaunt/vortigese13.wav"
+}
+
+
+"npc_vortigaunt.chant03"
+{
+ "channel" "CHAN_VOICE"
+ "volume" "0.800000"
+ "pitch" "PITCH_NORM"
+
+ "soundlevel" "SNDLVL_NORM"
+
+ "wave" "*npc/vort/vort_pain3.wav"
+}
+
+
diff --git a/sp/game/mod_hl2/scripts/propdata.txt b/sp/game/mod_hl2/scripts/propdata.txt new file mode 100644 index 00000000..232c6521 --- /dev/null +++ b/sp/game/mod_hl2/scripts/propdata.txt @@ -0,0 +1,491 @@ +// "prop data name"
+// {
+// "property" "value"
+// ...
+// }
+//
+//
+// "base" : Specify a base propdata class to derive from (base types can be found in propdata.txt)
+//
+// "blockLOS" : Override whether this prop should block NPC's Line-Of-Sight.
+// "AIWalkable" : Override whether AI should consider this prop as walkable on.
+// "dmg.bullets" : Mod damage done by bullets to this prop.
+// "dmg.club" : Mod damage done by clubs to this prop.
+// "dmg.explosive" : Mod damage done by explosives to this prop.
+// NOTE: Use damage modifiers to reflect differences between the amount of
+// damage that an object takes from different damage types. Don't
+// use them to reflect overall damage strength. i.e. Stone is resilient
+// to everything. To reflect this, increase the health of all stone
+// objects, don't set the damage modifiers lower.
+//
+// "damage_table" : Specify a custom physics impact damage table for this prop.
+// "health" : Amount of damage this prop should take before breaking.
+//
+// "explosive_damage" : Explosive damage done by this prop.
+// "explosive_radius" : Radius of the explosion caused by this prop when it breaks.
+// NOTE: If these two fields are specified for a prop, then the prop will automatically
+// create an explosion with the specified values when the prop is broken.
+//
+// "breakable_model" : The type of breakable gibs this prop should break into. This list is at the bottom of this file.
+// "breakable_count" : The number of breakable gibs to break into.
+// "allowstatic" : Allow this prop to be static as well as physically simulated.
+//
+//
+"PropData.txt"
+{
+
+//=================================================================================
+// PAPER
+//=================================================================================
+ // Base damage modifiers for paper objects
+ // DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
+ "Cardboard.Base"
+ {
+ "dmg.bullets" "0.5"
+ "dmg.club" "1.25"
+ "dmg.explosive" "1.5"
+ }
+
+ // Cardboard / Paper blocks, less than 1 foot cubed.
+ // i.e. small cardboard boxes, notepads, newspapers, thin books.
+ "Cardboard.Small"
+ {
+ "base" "Cardboard.Base"
+ "health" "10"
+ }
+
+ // Cardboard / Paper blocks, less than 3 foot cubed.
+ // i.e. cardboard boxes. thick books
+ "Cardboard.Medium"
+ {
+ "base" "Cardboard.Base"
+ "health" "20"
+ }
+
+ // Large Cardboard / Paper blocks
+ // i.e. solid cardboard boxes
+ "Cardboard.Large"
+ {
+ "base" "Cardboard.Base"
+ "health" "40"
+ }
+
+//=================================================================================
+// CLOTH
+//=================================================================================
+ // Base damage modifiers for cloth objects
+ // DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
+ "Cloth.Base"
+ {
+ "dmg.bullets" "0.5"
+ "dmg.club" "0.75"
+ "dmg.explosive" "1.5"
+ }
+
+ // Small / thin cloth objects
+ // i.e. shorts, shirts, pants.
+ "Cloth.Small"
+ {
+ "base" "Cloth.Base"
+ "health" "30"
+ }
+
+ // Heavier cloth / leather objects
+ // i.e. briefcases
+ "Cloth.Medium"
+ {
+ "base" "Cloth.Base"
+ "health" "50"
+ }
+
+ // Large / thick cloth objects
+ // i.e. armchairs, mattresses
+ "Cloth.Large"
+ {
+ "base" "Cloth.Base"
+ "health" "100"
+ }
+
+
+//=================================================================================
+// WOOD
+//=================================================================================
+ // Base damage modifiers for wooden objects
+ // DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
+ "Wooden.Base"
+ {
+ "dmg.bullets" "0.75"
+ "dmg.club" "2.0"
+ "dmg.explosive" "1.5"
+
+ "breakable_model" "WoodChunks"
+ "breakable_skin" "0"
+ }
+
+ // Tiny Wooden pieces that should die in one hit
+ // i.e splinters
+ "Wooden.Tiny"
+ {
+ "base" "Wooden.Base"
+ "health" "6"
+
+ "breakable_count" "0"
+ }
+
+ // Wooden blocks, less than 1 foot cubed.
+ // i.e pieces of board, branches.
+ "Wooden.Small"
+ {
+ "base" "Wooden.Base"
+ "health" "20"
+
+ "breakable_count" "2"
+ }
+
+ // Wooden blocks, less than 3 foot cubed.
+ // i.e boards, small crates, pallettes, ladders, chairs.
+ "Wooden.Medium"
+ {
+ "base" "Wooden.Base"
+ "health" "30"
+
+ "breakable_count" "4"
+ }
+
+ // Large wooden blocks, less than 5 foot cubed.
+ // i.e Crates, benches.
+ "Wooden.Large"
+ {
+ "base" "Wooden.Base"
+ "health" "50"
+
+ "breakable_count" "6"
+ }
+
+ // Extra large wooden objects
+ // i.e posts
+ "Wooden.ExtraLarge"
+ {
+ "base" "Wooden.Base"
+ "health" "100"
+
+ "breakable_count" "8"
+ }
+
+ // Huge wooden objects.
+ // i.e Big Wardrobes, bookcases
+ "Wooden.Huge"
+ {
+ "base" "Wooden.Base"
+ "health" "130"
+
+ "breakable_count" "10"
+ }
+
+
+
+
+//=================================================================================
+// STONE
+//=================================================================================
+ // Base damage modifiers for stone objects
+ // DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
+ "Stone.Base"
+ {
+ "dmg.bullets" "1.0"
+ "dmg.club" "1.0"
+ "dmg.explosive" "1.0"
+ }
+
+ // Stone blocks, less than 1 foot cubed
+ // i.e. cinderblocks, small rocks.
+ "Stone.Small"
+ {
+ "base" "Stone.Base"
+ "health" "50"
+ }
+
+ // Medium stone blocks, less than 3 foot cubed
+ // i.e. rubble chunks
+ "Stone.Medium"
+ {
+ "base" "Stone.Base"
+ "health" "100"
+ }
+
+ // Large stone blocks, less than 5 foot cubed
+ // i.e. big rubble chunks
+ "Stone.Large"
+ {
+ "base" "Stone.Base"
+ "health" "200"
+ }
+
+ // Huge stone blocks, less than 5 foot cubed
+ // i.e. enormous rubble chunks
+ "Stone.Huge"
+ {
+ "base" "Stone.Base"
+ "health" "400"
+ }
+
+//=================================================================================
+// GLASS
+//=================================================================================
+ // Base damage modifiers for glass objects
+ // DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
+ "Glass.Base"
+ {
+ "dmg.bullets" "1.0"
+ "dmg.club" "1.0"
+ "dmg.explosive" "0.1" // Trial: Get knocked around more than destroyed?
+ }
+
+ // Glass blocks, less than 1 foot cubed
+ // i.e. bottles, jugs, glasses.
+ "Glass.Small"
+ {
+ "base" "Glass.Base"
+ "health" "5"
+ "damage_table" "glass"
+ }
+
+ "Glass.Window"
+ {
+ "base" "Glass.Base"
+ "dmg.explosive" "1.0" // Override base glass explosive behavior
+ "dmg.bullets" "0.5"
+ "health" "15"
+ "damage_table" "glass"
+ }
+
+
+//=================================================================================
+// METAL
+//=================================================================================
+ // Base damage modifiers for metal objects
+ // DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
+ "Metal.Base"
+ {
+ "dmg.bullets" "1.0"
+ "dmg.club" "1.0"
+ "dmg.explosive" "1.0"
+
+ "health" "0" // By default, metal objects aren't breakable
+ }
+
+ // Small metal blocks, less than 1 foot cubed
+ // i.e. tin cans, paint tins, metal buckets.
+ "Metal.Small"
+ {
+ "base" "Metal.Base"
+ }
+
+ // Medium metal objects.
+ // i.e. wheelbarrows, metal boxes, bicycles, barrels, ladders, filing cabinets.
+ "Metal.Medium"
+ {
+ "base" "Metal.Base"
+ }
+
+ // Large metal objects.
+ // i.e. ibeams, dumpsters, car bodies, refridgerators
+ "Metal.Large"
+ {
+ "base" "Metal.Base"
+ }
+
+
+
+
+//=================================================================================
+// PLASTIC
+//=================================================================================
+ // Base damage modifiers for plastic objects
+ // DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
+ "Plastic.Base"
+ {
+ "dmg.bullets" "1.0"
+ "dmg.club" "1.0"
+ "dmg.explosive" "1.0"
+ "health" "0"
+ }
+
+ // Plastic blocks, less than 2 foot cubed
+ // i.e. plastic cups, plastic milk crates, phones
+ "Plastic.Small"
+ {
+ "base" "Plastic.Base"
+ }
+
+ // Plastic blocks, less than 4 foot cubed
+ // i.e. plastic chairs, tables, barrels
+ "Plastic.Medium"
+ {
+ "base" "Plastic.Base"
+ }
+
+ // Large Plastic objects, or medium objects with mixes of plastic & metal that you still want destructable
+ // i.e. computer equipment
+ "Plastic.Large"
+ {
+ "base" "Plastic.Base"
+ }
+
+
+
+//=================================================================================
+// ITEMS
+//=================================================================================
+ // Base damage modifiers for items
+ // DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
+ "Item.Base"
+ {
+ "dmg.bullets" "1.0"
+ "dmg.club" "1.0"
+ "dmg.explosive" "1.0"
+
+ "health" "0" // By default, metal objects aren't breakable
+ }
+
+ // Plastic blocks, less than 2 foot cubed
+ // i.e. plastic cups, plastic milk crates, phones
+ "Item.Small"
+ {
+ "base" "Item.Base"
+ }
+
+ // Plastic blocks, less than 4 foot cubed
+ // i.e. plastic chairs, tables, barrels
+ "Item.Medium"
+ {
+ "base" "Item.Base"
+ }
+
+ // Large Plastic objects, or medium objects with mixes of plastic & metal that you still want destructable
+ // i.e. computer equipment
+ "Item.Large"
+ {
+ "base" "Item.Base"
+ }
+
+
+//=================================================================================
+// POTTERY
+//=================================================================================
+ // Base damage modifiers for pottery objects
+ // DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
+ "Pottery.Base"
+ {
+ "dmg.bullets" "1.0"
+ "dmg.club" "1.25"
+ "dmg.explosive" "1.5"
+ }
+
+ // Pottery blocks, less than 2 foot cubed
+ // i.e. flowerpots.
+ "Pottery.Small"
+ {
+ "base" "Pottery.Base"
+ "health" "5"
+ "damage_table" "glass"
+ }
+
+ // Medium pottery objects
+ // i.e. large flowerpots.
+ "Pottery.Medium"
+ {
+ "base" "Pottery.Base"
+ "health" "40"
+ }
+
+ // Large pottery objects
+ // i.e. big chunks of wall plaster
+ "Pottery.Large"
+ {
+ "base" "Pottery.Base"
+ "health" "70"
+ }
+
+ // Huge pottery objects.
+ // i.e. big ornate pottery vessels.
+ "Pottery.Huge"
+ {
+ "base" "Pottery.Base"
+ "health" "100"
+ }
+
+
+//=================================================================================
+// FLESH
+//=================================================================================
+ // Base damage modifiers for flesh objects
+ // DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
+ "Flesh.Base"
+ {
+ "dmg.bullets" "1.25"
+ "dmg.club" "1.0"
+ "dmg.explosive" "1.5"
+ }
+
+ // Flesh blocks that should die in a single hit
+ // i.e. fruit, food items, gibs.
+ "Flesh.Tiny"
+ {
+ "base" "Flesh.Base"
+ "health" "3"
+ }
+
+ // Flesh blocks, less than 1 foot cubed
+ // i.e. fruit, food items, gibs.
+ "Flesh.Small"
+ {
+ "base" "Flesh.Base"
+ "health" "10"
+ }
+
+
+
+//=================================================================================
+// BREAKABLE DATA. NOT PROPDATA TYPES.
+//=================================================================================
+ "BreakableModels"
+ {
+ // Sorted in order of smallest to largest
+
+ "WoodChunks"
+ {
+ "models\Gibs\wood_gib01e.mdl" "1"
+ "models\Gibs\wood_gib01d.mdl" "1"
+ "models\Gibs\wood_gib01c.mdl" "1"
+ "models\Gibs\wood_gib01b.mdl" "1"
+ "models\Gibs\wood_gib01a.mdl" "1"
+ }
+ "GlassChunks"
+ {
+ "models\Gibs\Glass_shard01.mdl" "1"
+ "models\Gibs\Glass_shard02.mdl" "1"
+ "models\Gibs\Glass_shard03.mdl" "1"
+ "models\Gibs\Glass_shard04.mdl" "1"
+ "models\Gibs\Glass_shard05.mdl" "1"
+ "models\Gibs\Glass_shard06.mdl" "1"
+ }
+ "ConcreteChunks"
+ {
+ "models\props_debris\concrete_chunk08a.mdl" "1"
+ "models\props_debris\concrete_chunk09a.mdl" "1"
+ "models\props_debris\concrete_chunk03a.mdl" "1"
+ "models\props_debris\concrete_chunk07a.mdl" "1"
+ "models\props_debris\concrete_chunk09a.mdl" "1"
+ "models\props_debris\concrete_chunk02a.mdl" "1"
+ }
+ "MetalChunks"
+ {
+ "models\Gibs\metal_gib1.mdl" "1"
+ "models\Gibs\metal_gib2.mdl" "1"
+ "models\Gibs\metal_gib3.mdl" "1"
+ "models\Gibs\metal_gib4.mdl" "1"
+ "models\Gibs\metal_gib5.mdl" "1"
+ }
+ }
+}
diff --git a/sp/game/mod_hl2/scripts/soundscapes_manifest.txt b/sp/game/mod_hl2/scripts/soundscapes_manifest.txt new file mode 100644 index 00000000..70286ad3 --- /dev/null +++ b/sp/game/mod_hl2/scripts/soundscapes_manifest.txt @@ -0,0 +1,16 @@ +soundscaples_manifest
+{
+ "file" "scripts/soundscapes.txt"
+
+ // List additional soundscape files here
+
+ "file" "scripts/soundscapes_canals.txt"
+ "file" "scripts/soundscapes_klab.txt"
+ "file" "scripts/soundscapes_elab.txt"
+ "file" "scripts/soundscapes_streetwar.txt"
+ "file" "scripts/soundscapes_citadel.txt"
+ "file" "scripts/soundscapes_town.txt"
+ "file" "scripts/soundscapes_coast.txt"
+ "file" "scripts/soundscapes_prison.txt"
+ "file" "scripts/soundscapes_trainyard.txt"
+}
\ No newline at end of file diff --git a/sp/game/mod_hl2/scripts/surfaceproperties_manifest.txt b/sp/game/mod_hl2/scripts/surfaceproperties_manifest.txt new file mode 100644 index 00000000..6868f8fc --- /dev/null +++ b/sp/game/mod_hl2/scripts/surfaceproperties_manifest.txt @@ -0,0 +1,17 @@ +// Override this file in your mod directory so you can load the base HL2 file as well
+// as new properties.
+// NOTE: Listing a property twice (e.g. in separate files) means that
+// the values in the second definition will override the first definition
+
+// NOTE: Each file must have a unique name. The physics system does not understand mods and will not
+// parse the same file (compared by name) twice.
+
+surfaceproperties_manifest
+{
+ "file" "scripts/surfaceproperties.txt"
+
+ // List additional surface property files here:
+ "file" "scripts/surfaceproperties_hl2.txt"
+
+
+}
diff --git a/sp/game/mod_hl2/scripts/talker/npc_alyx.txt b/sp/game/mod_hl2/scripts/talker/npc_alyx.txt new file mode 100644 index 00000000..2659b87a --- /dev/null +++ b/sp/game/mod_hl2/scripts/talker/npc_alyx.txt @@ -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
+}
+
+//----------------------------------------------------------------------------
+
+//============================================================================================================
diff --git a/sp/game/mod_hl2/scripts/talker/npc_citizen.txt b/sp/game/mod_hl2/scripts/talker/npc_citizen.txt new file mode 100644 index 00000000..a7d82d9f --- /dev/null +++ b/sp/game/mod_hl2/scripts/talker/npc_citizen.txt @@ -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"
\ No newline at end of file diff --git a/sp/game/mod_hl2/scripts/talker/npc_citizen_commandermode.txt b/sp/game/mod_hl2/scripts/talker/npc_citizen_commandermode.txt new file mode 100644 index 00000000..031ec537 --- /dev/null +++ b/sp/game/mod_hl2/scripts/talker/npc_citizen_commandermode.txt @@ -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
+}
+
diff --git a/sp/game/mod_hl2/scripts/talker/npc_vortigaunt.txt b/sp/game/mod_hl2/scripts/talker/npc_vortigaunt.txt new file mode 100644 index 00000000..00bbee22 --- /dev/null +++ b/sp/game/mod_hl2/scripts/talker/npc_vortigaunt.txt @@ -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
+}
diff --git a/sp/game/mod_hl2/scripts/talker/response_rules.txt b/sp/game/mod_hl2/scripts/talker/response_rules.txt new file mode 100644 index 00000000..b44d71c2 --- /dev/null +++ b/sp/game/mod_hl2/scripts/talker/response_rules.txt @@ -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"
+
diff --git a/sp/game/mod_hl2/scripts/titles.txt b/sp/game/mod_hl2/scripts/titles.txt new file mode 100644 index 00000000..3bea5c56 --- /dev/null +++ b/sp/game/mod_hl2/scripts/titles.txt @@ -0,0 +1,294 @@ +//TITLES FOR HALF-LIFE 2
+// Position command $position x y
+// x & y are from 0 to 1 to be screen resolution independent
+// -1 means center in each dimension
+// Effect command $effect <effect number>
+// effect 0 is fade in/fade out
+// effect 1 is flickery credits
+// effect 2 is write out (training room)
+// Text color r g b command $color
+// fadein time fadeout time / hold time
+// $fadein (message fade in time - per character in effect 2)
+// $fadeout (message fade out time)
+// $holdtime (stay on the screen for this long)
+
+//INTRO TITLES
+// All centered for now
+$position -1 -1
+$effect 2
+// This is the final color
+$color 100 100 100
+// This is the highlight color
+$color2 240 110 0
+// This is the time it takes to fade each character
+$fadein 0.01
+// This is the amount of time the highlight lags behind the leading edge of the text
+$fxtime 0.25
+// How long to hold the message on the screen (after it scans out)
+$holdtime 3.5
+// How long it takes to fade out the message after holding
+$fadeout 1.5
+
+
+//INTRO CREDITS
+// Test values -- JAY
+// Lower left
+$position 0.1 0.8
+$effect 1
+// Final fade-in color
+$color 128 128 128
+// This is the highlight/flash color
+$color2 0 0 0
+$fadein 1.5
+$fadeout 0.5
+$holdtime 1.2
+
+CR1
+{
+Testing 1
+}
+
+CR2
+{
+Testing 2
+}
+
+CR3
+{
+Testing 3
+}
+
+
+//INTRO TITLES
+// All centered for now
+$position -1 -1
+$effect 2
+// This is the final color
+$color 100 100 100
+// This is the highlight color
+$color2 240 110 0
+// This is the time it takes to fade each character
+$fadein 0.01
+// This is the amount of time the highlight lags behind the leading edge of the text
+$fxtime 0.25
+// How long to hold the message on the screen (after it scans out)
+$holdtime 3.5
+// How long it takes to fade out the message after holding
+$fadeout 1.5
+
+
+GAMEOVER_ALLY
+{
+#HL2_GameOver_Ally
+}
+
+GAMEOVER_OBJECT
+{
+#HL2_GameOver_Object
+}
+
+GAMEOVER_TIMER
+{
+#HL2_GameOver_Timer
+}
+
+GAMEOVER_STUCK
+{
+#HL2_GameOver_Stuck
+}
+
+
+$fadein 0.03
+$holdtime 9
+
+
+//CHAPTER TITLES
+
+$fadein 0.01
+$holdtime 3.5
+$position -1 0.58
+
+CHAPTER1_TITLE
+{
+#HL2_Chapter1_Title
+}
+
+CHAPTER2_TITLE
+{
+#HL2_Chapter2_Title
+}
+
+CHAPTER3_TITLE
+{
+#HL2_Chapter3_Title
+}
+
+CHAPTER4_TITLE
+{
+#HL2_Chapter4_Title
+}
+
+CHAPTER5_TITLE
+{
+#HL2_Chapter5_Title
+}
+
+CHAPTER6_TITLE
+{
+#HL2_Chapter6_Title
+}
+
+CHAPTER7_TITLE
+{
+#HL2_Chapter7_Title
+}
+
+CHAPTER8_TITLE
+{
+#HL2_Chapter8_Title
+}
+
+CHAPTER9_TITLE
+{
+#HL2_Chapter9_Title
+}
+
+CHAPTER9A_TITLE
+{
+#HL2_Chapter9a_Title
+}
+
+
+CHAPTER10_TITLE
+{
+#HL2_Chapter10_Title
+}
+
+CHAPTER11_TITLE
+{
+#HL2_Chapter11_Title
+}
+
+CHAPTER12_TITLE
+{
+#HL2_Chapter12_Title
+}
+
+CHAPTER13_TITLE
+{
+#HL2_Chapter13_Title
+}
+
+
+// In-Game messages
+$position 0.1 0.1
+$effect 2
+// This is the final color
+$color 100 100 100
+// This is the highlight color
+$color2 240 110 0
+// This is the time it takes to fade each character
+$fadein 0.00
+// This is the amount of time the highlight lags behind the leading edge of the text
+$fxtime 0.15
+// How long to hold the message on the screen (after it scans out)
+$holdtime 1.0
+// How long it takes to fade out the message after holding
+$fadeout 0.25
+
+$boxsize 0.4
+$boxcolor 31 31 31 127
+
+GAMESAVING_360
+{
+#HL2_Saved
+}
+
+$position -1 0.65
+
+GAMESAVING
+{
+#HL2_Saved
+}
+
+// In-Game messages
+$position 0.1 0.1
+$effect 2
+// This is the final color
+$color 100 100 100
+// This is the highlight color
+$color2 240 110 0
+// This is the time it takes to fade each character
+$fadein 0.00
+// This is the amount of time the highlight lags behind the leading edge of the text
+$fxtime 0.15
+// How long to hold the message on the screen (after it scans out)
+$holdtime 1.0
+// How long it takes to fade out the message after holding
+$fadeout 0.25
+
+$boxsize 0.4
+$boxcolor 31 31 31 127
+
+// The following message will clear any existing message of the given name
+$clearmessage GAMESAVING
+
+GAMESAVED_360
+{
+#HL2_Saved
+}
+
+$position -1 0.65
+
+GAMESAVED
+{
+#HL2_Saved
+}
+
+$clearmessage 0
+
+// Game title
+// This is a placeholder to hold the effects controls for the "Half-Life" title
+$position -1 -1
+// Only effect 0 is supported for game title
+$effect 0
+// This is the final color
+$color 180 180 180
+// Not used color2
+$color2 0 0 0
+// This is the time it takes to fade in the title
+$fadein 1.0
+// How long to hold the message on the screen (after it scans out)
+$holdtime 3.0
+// How long it takes to fade out the message after holding
+$fadeout 1.5
+
+$boxsize 0.0
+
+GAMETITLE
+{
+Half-Life
+}
+
+//HAZARD COURSE TEXT
+
+// Test values -- JAY
+$position -1 0.65
+// Scan-out text effect
+$effect 2
+// This is the final color
+$color 100 100 100
+// This is the highlight color
+$color2 0 200 50
+// This is the time it takes to fade each character
+$fadein 0.005
+// This is the amount of time the highlight lags behind the leading edge of the text
+$fxtime 0.5
+// How long to hold the message on the screen (after it scans out)
+$holdtime 3.5
+// How long it takes to fade out the message after holding
+
+$fadeout 1.5
+$position -1 0.65
+$position -1 0.3
+
diff --git a/sp/game/mod_hl2/scripts/vgui_screens.txt b/sp/game/mod_hl2/scripts/vgui_screens.txt new file mode 100644 index 00000000..f08ee979 --- /dev/null +++ b/sp/game/mod_hl2/scripts/vgui_screens.txt @@ -0,0 +1,42 @@ +"VGUI_Screens"
+{
+ // This name here can be referenced from within a
+ // vgui_screen entity to select this vgui panel
+ "vgui_test_screen"
+ {
+ // The type indicates which type of panel to create
+ // Coders will add new types as time goes by.
+ // "vgui_screen_panel" is a generic panel type which can
+ // read in .res files that have been built by VGUI's build mode dialog.
+ "type" "vgui_screen_panel"
+
+ // These describe the dimensions of the screen *in pixels*
+ "pixelswide" 480
+ "pixelshigh" 240
+
+ // This is the name of the .res file to load up and apply to the vgui panel
+ "resfile" "scripts/screens/vgui_test_screen.res"
+ }
+
+ "teleport_countdown_screen"
+ {
+ // Defined in c_info_teleporter_countdown.cpp
+ "type" "teleport_countdown_screen"
+
+ // These describe the dimensions of the screen *in pixels*
+ "pixelswide" 480
+ "pixelshigh" 240
+
+ // This is the name of the .res file to load up and apply to the vgui panel
+ "resfile" "scripts/screens/teleport_countdown_screen.res"
+ }
+
+ "slideshow_display_screen"
+ {
+ "type" "slideshow_display_screen"
+ "pixelswide" 256
+ "pixelshigh" 128
+ "acceptsinput" 0
+ "resfile" "scripts/screens/slideshow_display_screen.res"
+ }
+}
|