Line-ending fixes for most of the remaining files.
Fixes line-endings for files with extensions vcd, cc, txt, bat, fxc, inc, lst, proto, mak, mm, cfg, res, rc, def, vmt, vsh, vbsp, inl, asm, m4, vcproj, vcxproj, sln, in, java, la, manifest, am, and rad. Also fixes README, CONTRIBUTING, CONTRIBUTORS, LICENSE, CHANGES, COPYING, and gitignore. Finally, fixes executable bits.
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
"chapters"
|
||||
{
|
||||
1 "ep2_background01"
|
||||
2 "ep2_background02"
|
||||
3 "ep2_background02"
|
||||
4 "ep2_background02a"
|
||||
5 "ep2_background02a"
|
||||
6 "ep2_background03"
|
||||
7 "ep2_background03"
|
||||
"chapters"
|
||||
{
|
||||
1 "ep2_background01"
|
||||
2 "ep2_background02"
|
||||
3 "ep2_background02"
|
||||
4 "ep2_background02a"
|
||||
5 "ep2_background02a"
|
||||
6 "ep2_background03"
|
||||
7 "ep2_background03"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,298 +1,298 @@
|
||||
//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"
|
||||
}
|
||||
|
||||
"CreditsParams"
|
||||
{
|
||||
"logo" "HALF-LIFE'"
|
||||
"logo2" "== episode two=="
|
||||
|
||||
"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" "80"
|
||||
"separation" "10"
|
||||
}
|
||||
|
||||
//========================================================
|
||||
//These are the names used in the outro (outland_12a)
|
||||
//========================================================
|
||||
"OutroCreditsNames"
|
||||
{
|
||||
"HALF-LIFE'" "ClientTitleFont"
|
||||
"== episode two==" "ClientTitleFont"
|
||||
" " "CreditsOutroText"
|
||||
"V" "CreditsOutroLogos"
|
||||
" " "CreditsOutroText"
|
||||
"Gautam Babbar" "CreditsOutroText"
|
||||
"Ted Backman" "CreditsOutroText"
|
||||
"Kelly Bailey" "CreditsOutroText"
|
||||
"Jeff Ballinger" "CreditsOutroText"
|
||||
"Aaron Barber" "CreditsOutroText"
|
||||
"Jeep Barnett" "CreditsOutroText"
|
||||
"Jeremy Bennett" "CreditsOutroText"
|
||||
"Dan Berger" "CreditsOutroText"
|
||||
"Yahn Bernier" "CreditsOutroText"
|
||||
"Ken Birdwell" "CreditsOutroText"
|
||||
"Derrick Birum" "CreditsOutroText"
|
||||
"Mike Blaszczak" "CreditsOutroText"
|
||||
"Iestyn Bleasdale-Shepherd" "CreditsOutroText"
|
||||
"Chris Bokitch" "CreditsOutroText"
|
||||
"Steve Bond" "CreditsOutroText"
|
||||
"Matt Boone" "CreditsOutroText"
|
||||
"Antoine Bourdon" "CreditsOutroText"
|
||||
"Jamaal Bradley" "CreditsOutroText"
|
||||
"Jason Brashill" "CreditsOutroText"
|
||||
"Charlie Brown" "CreditsOutroText"
|
||||
"Charlie Burgin" "CreditsOutroText"
|
||||
"Andrew Burke" "CreditsOutroText"
|
||||
"Augusta Butlin" "CreditsOutroText"
|
||||
"Julie Caldwell" "CreditsOutroText"
|
||||
"Dario Casali" "CreditsOutroText"
|
||||
"Chris Chin" "CreditsOutroText"
|
||||
"Jess Cliffe" "CreditsOutroText"
|
||||
"Phil Co" "CreditsOutroText"
|
||||
"John Cook" "CreditsOutroText"
|
||||
"Christen Coomer" "CreditsOutroText"
|
||||
"Greg Coomer" "CreditsOutroText"
|
||||
"Scott Dalton" "CreditsOutroText"
|
||||
"Kerry Davis" "CreditsOutroText"
|
||||
"Jason Deakins" "CreditsOutroText"
|
||||
"Joe Demers" "CreditsOutroText"
|
||||
"Steve Desilets" "CreditsOutroText"
|
||||
"Ariel Diaz" "CreditsOutroText"
|
||||
"Quintin Doroquez" "CreditsOutroText"
|
||||
"Jim Dose" "CreditsOutroText"
|
||||
"Chris Douglass" "CreditsOutroText"
|
||||
"Laura Dubuk" "CreditsOutroText"
|
||||
"Mike Dunkle" "CreditsOutroText"
|
||||
"Mike Durand" "CreditsOutroText"
|
||||
"Mike Dussault" "CreditsOutroText"
|
||||
"Dhabih Eng" "CreditsOutroText"
|
||||
"Katie Engel" "CreditsOutroText"
|
||||
"Chet Faliszek" "CreditsOutroText"
|
||||
"Adrian Finol" "CreditsOutroText"
|
||||
"Bill Fletcher" "CreditsOutroText"
|
||||
"Moby Francke" "CreditsOutroText"
|
||||
"Stephane Gaudette" "CreditsOutroText"
|
||||
"Kathy Gehrig" "CreditsOutroText"
|
||||
"Vitaliy Genkin" "CreditsOutroText"
|
||||
"Paul Graham" "CreditsOutroText"
|
||||
"Chris Green" "CreditsOutroText"
|
||||
"Chris Grinstead" "CreditsOutroText"
|
||||
"John Guthrie" "CreditsOutroText"
|
||||
"Aaron Halifax" "CreditsOutroText"
|
||||
"Reagan Halifax" "CreditsOutroText"
|
||||
"Leslie Hall" "CreditsOutroText"
|
||||
"Jeff Hameluck" "CreditsOutroText"
|
||||
"Joe Han" "CreditsOutroText"
|
||||
"Don Holden" "CreditsOutroText"
|
||||
"Jason Holtman" "CreditsOutroText"
|
||||
"Gray Horsfield" "CreditsOutroText"
|
||||
"Keith Huggins" "CreditsOutroText"
|
||||
"Jim Hughes" "CreditsOutroText"
|
||||
"Jon Huisingh" "CreditsOutroText"
|
||||
"Brian Jacobson" "CreditsOutroText"
|
||||
"Lars Jensvold" "CreditsOutroText"
|
||||
"Erik Johnson" "CreditsOutroText"
|
||||
"Jakob Jungels" "CreditsOutroText"
|
||||
"Rich Kaethler" "CreditsOutroText"
|
||||
"Steve Kalning" "CreditsOutroText"
|
||||
"Aaron Kearly" "CreditsOutroText"
|
||||
"Iikka Keranen" "CreditsOutroText"
|
||||
"David Kircher" "CreditsOutroText"
|
||||
"Eric Kirchmer" "CreditsOutroText"
|
||||
"Alden Kroll" "CreditsOutroText"
|
||||
"Marc Laidlaw" "CreditsOutroText"
|
||||
"Jeff Lane" "CreditsOutroText"
|
||||
"Tim Larkin" "CreditsOutroText"
|
||||
"Dan LeFree" "CreditsOutroText"
|
||||
"Isabelle LeMay" "CreditsOutroText"
|
||||
"Tom Leonard" "CreditsOutroText"
|
||||
"Jeff Lind" "CreditsOutroText"
|
||||
"Doug Lombardi" "CreditsOutroText"
|
||||
"Bianca Loomis" "CreditsOutroText"
|
||||
"Richard Lord" "CreditsOutroText"
|
||||
"Realm Lovejoy" "CreditsOutroText"
|
||||
"Randy Lundeen" "CreditsOutroText"
|
||||
"Scott Lynch" "CreditsOutroText"
|
||||
"Ido Magal" "CreditsOutroText"
|
||||
"Nick Maggiore" "CreditsOutroText"
|
||||
"John McCaskey" "CreditsOutroText"
|
||||
"Patrick McClard" "CreditsOutroText"
|
||||
"Steve McClure" "CreditsOutroText"
|
||||
"Hamish McKenzie" "CreditsOutroText"
|
||||
"Gary McTaggart" "CreditsOutroText"
|
||||
"Jason Mitchell" "CreditsOutroText"
|
||||
"Mike Morasky" "CreditsOutroText"
|
||||
"John Morello II" "CreditsOutroText"
|
||||
"Bryn Moslow" "CreditsOutroText"
|
||||
"Arsenio Navarro" "CreditsOutroText"
|
||||
"Gabe Newell" "CreditsOutroText"
|
||||
"Milton Ngan" "CreditsOutroText"
|
||||
"Jake Nicholson" "CreditsOutroText"
|
||||
"Martin Otten" "CreditsOutroText"
|
||||
"Nick Papineau" "CreditsOutroText"
|
||||
"Karen Prell" "CreditsOutroText"
|
||||
"Bay Raitt" "CreditsOutroText"
|
||||
"Tristan Reidford" "CreditsOutroText"
|
||||
"Alfred Reynolds" "CreditsOutroText"
|
||||
"Matt Rhoten" "CreditsOutroText"
|
||||
"Garret Rickey" "CreditsOutroText"
|
||||
"Dave Riller" "CreditsOutroText"
|
||||
"Elan Ruskin" "CreditsOutroText"
|
||||
"Matthew Russell" "CreditsOutroText"
|
||||
"Jason Ruymen" "CreditsOutroText"
|
||||
"David Sawyer" "CreditsOutroText"
|
||||
"Marc Scaparro" "CreditsOutroText"
|
||||
"Wade Schin" "CreditsOutroText"
|
||||
"Matthew Scott" "CreditsOutroText"
|
||||
"Aaron Seeler" "CreditsOutroText"
|
||||
"Jennifer Seeley" "CreditsOutroText"
|
||||
"Taylor Sherman" "CreditsOutroText"
|
||||
"Eric Smith" "CreditsOutroText"
|
||||
"Jeff Sorensen" "CreditsOutroText"
|
||||
"David Speyrer" "CreditsOutroText"
|
||||
"Jay Stelly" "CreditsOutroText"
|
||||
"Jeremy Stone" "CreditsOutroText"
|
||||
"Eric Strand" "CreditsOutroText"
|
||||
"Kim Swift" "CreditsOutroText"
|
||||
"Kelly Thornton" "CreditsOutroText"
|
||||
"Eric Twelker" "CreditsOutroText"
|
||||
"Carl Uhlman" "CreditsOutroText"
|
||||
"Doug Valente" "CreditsOutroText"
|
||||
"Bill Van Buren" "CreditsOutroText"
|
||||
"Gabe Van Engel" "CreditsOutroText"
|
||||
"Alex Vlachos" "CreditsOutroText"
|
||||
"Robin Walker" "CreditsOutroText"
|
||||
"Joshua Weier" "CreditsOutroText"
|
||||
"Andrea Wicklund" "CreditsOutroText"
|
||||
"Greg Winkler" "CreditsOutroText"
|
||||
"Erik Wolpaw" "CreditsOutroText"
|
||||
"Doug Wood" "CreditsOutroText"
|
||||
"Matt T. Wood" "CreditsOutroText"
|
||||
"Danika Wright" "CreditsOutroText"
|
||||
"Matt Wright" "CreditsOutroText"
|
||||
"Shawn Zabecki" "CreditsOutroText"
|
||||
"Torsten Zabka " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Voices:" "CreditsOutroText"
|
||||
"Robert Guillaume - Dr. Eli Vance" "CreditsOutroText"
|
||||
"Merle Dandridge - Alyx Vance" "CreditsOutroText"
|
||||
"Tony Todd - Vortigaunt" "CreditsOutroText"
|
||||
"John Aylward - Dr. Arne Magnusson" "CreditsOutroText"
|
||||
"Michelle Forbes - Dr. Judith Mossman" "CreditsOutroText"
|
||||
"Mike Shapiro - Gman" "CreditsOutroText"
|
||||
"Harry S. Robins - Dr. Isaac Kleiner" "CreditsOutroText"
|
||||
"Adam Baldwin - Citizens\Misc. characters" "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 and 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"
|
||||
"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"
|
||||
"Larry 'The Count' Heard" "CreditsOutroText"
|
||||
"Ted Cohrt" "CreditsOutroText"
|
||||
"Roger Guay" "CreditsOutroText"
|
||||
"Frank Sheldon" "CreditsOutroText"
|
||||
"Paul Eenhoorn" "CreditsOutroText"
|
||||
"Travis Dunlop" "CreditsOutroText"
|
||||
"Daniel Dociu" "CreditsOutroText"
|
||||
"Art Min" "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"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"@" "CreditsOutroLogos"
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
//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"
|
||||
}
|
||||
|
||||
"CreditsParams"
|
||||
{
|
||||
"logo" "HALF-LIFE'"
|
||||
"logo2" "== episode two=="
|
||||
|
||||
"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" "80"
|
||||
"separation" "10"
|
||||
}
|
||||
|
||||
//========================================================
|
||||
//These are the names used in the outro (outland_12a)
|
||||
//========================================================
|
||||
"OutroCreditsNames"
|
||||
{
|
||||
"HALF-LIFE'" "ClientTitleFont"
|
||||
"== episode two==" "ClientTitleFont"
|
||||
" " "CreditsOutroText"
|
||||
"V" "CreditsOutroLogos"
|
||||
" " "CreditsOutroText"
|
||||
"Gautam Babbar" "CreditsOutroText"
|
||||
"Ted Backman" "CreditsOutroText"
|
||||
"Kelly Bailey" "CreditsOutroText"
|
||||
"Jeff Ballinger" "CreditsOutroText"
|
||||
"Aaron Barber" "CreditsOutroText"
|
||||
"Jeep Barnett" "CreditsOutroText"
|
||||
"Jeremy Bennett" "CreditsOutroText"
|
||||
"Dan Berger" "CreditsOutroText"
|
||||
"Yahn Bernier" "CreditsOutroText"
|
||||
"Ken Birdwell" "CreditsOutroText"
|
||||
"Derrick Birum" "CreditsOutroText"
|
||||
"Mike Blaszczak" "CreditsOutroText"
|
||||
"Iestyn Bleasdale-Shepherd" "CreditsOutroText"
|
||||
"Chris Bokitch" "CreditsOutroText"
|
||||
"Steve Bond" "CreditsOutroText"
|
||||
"Matt Boone" "CreditsOutroText"
|
||||
"Antoine Bourdon" "CreditsOutroText"
|
||||
"Jamaal Bradley" "CreditsOutroText"
|
||||
"Jason Brashill" "CreditsOutroText"
|
||||
"Charlie Brown" "CreditsOutroText"
|
||||
"Charlie Burgin" "CreditsOutroText"
|
||||
"Andrew Burke" "CreditsOutroText"
|
||||
"Augusta Butlin" "CreditsOutroText"
|
||||
"Julie Caldwell" "CreditsOutroText"
|
||||
"Dario Casali" "CreditsOutroText"
|
||||
"Chris Chin" "CreditsOutroText"
|
||||
"Jess Cliffe" "CreditsOutroText"
|
||||
"Phil Co" "CreditsOutroText"
|
||||
"John Cook" "CreditsOutroText"
|
||||
"Christen Coomer" "CreditsOutroText"
|
||||
"Greg Coomer" "CreditsOutroText"
|
||||
"Scott Dalton" "CreditsOutroText"
|
||||
"Kerry Davis" "CreditsOutroText"
|
||||
"Jason Deakins" "CreditsOutroText"
|
||||
"Joe Demers" "CreditsOutroText"
|
||||
"Steve Desilets" "CreditsOutroText"
|
||||
"Ariel Diaz" "CreditsOutroText"
|
||||
"Quintin Doroquez" "CreditsOutroText"
|
||||
"Jim Dose" "CreditsOutroText"
|
||||
"Chris Douglass" "CreditsOutroText"
|
||||
"Laura Dubuk" "CreditsOutroText"
|
||||
"Mike Dunkle" "CreditsOutroText"
|
||||
"Mike Durand" "CreditsOutroText"
|
||||
"Mike Dussault" "CreditsOutroText"
|
||||
"Dhabih Eng" "CreditsOutroText"
|
||||
"Katie Engel" "CreditsOutroText"
|
||||
"Chet Faliszek" "CreditsOutroText"
|
||||
"Adrian Finol" "CreditsOutroText"
|
||||
"Bill Fletcher" "CreditsOutroText"
|
||||
"Moby Francke" "CreditsOutroText"
|
||||
"Stephane Gaudette" "CreditsOutroText"
|
||||
"Kathy Gehrig" "CreditsOutroText"
|
||||
"Vitaliy Genkin" "CreditsOutroText"
|
||||
"Paul Graham" "CreditsOutroText"
|
||||
"Chris Green" "CreditsOutroText"
|
||||
"Chris Grinstead" "CreditsOutroText"
|
||||
"John Guthrie" "CreditsOutroText"
|
||||
"Aaron Halifax" "CreditsOutroText"
|
||||
"Reagan Halifax" "CreditsOutroText"
|
||||
"Leslie Hall" "CreditsOutroText"
|
||||
"Jeff Hameluck" "CreditsOutroText"
|
||||
"Joe Han" "CreditsOutroText"
|
||||
"Don Holden" "CreditsOutroText"
|
||||
"Jason Holtman" "CreditsOutroText"
|
||||
"Gray Horsfield" "CreditsOutroText"
|
||||
"Keith Huggins" "CreditsOutroText"
|
||||
"Jim Hughes" "CreditsOutroText"
|
||||
"Jon Huisingh" "CreditsOutroText"
|
||||
"Brian Jacobson" "CreditsOutroText"
|
||||
"Lars Jensvold" "CreditsOutroText"
|
||||
"Erik Johnson" "CreditsOutroText"
|
||||
"Jakob Jungels" "CreditsOutroText"
|
||||
"Rich Kaethler" "CreditsOutroText"
|
||||
"Steve Kalning" "CreditsOutroText"
|
||||
"Aaron Kearly" "CreditsOutroText"
|
||||
"Iikka Keranen" "CreditsOutroText"
|
||||
"David Kircher" "CreditsOutroText"
|
||||
"Eric Kirchmer" "CreditsOutroText"
|
||||
"Alden Kroll" "CreditsOutroText"
|
||||
"Marc Laidlaw" "CreditsOutroText"
|
||||
"Jeff Lane" "CreditsOutroText"
|
||||
"Tim Larkin" "CreditsOutroText"
|
||||
"Dan LeFree" "CreditsOutroText"
|
||||
"Isabelle LeMay" "CreditsOutroText"
|
||||
"Tom Leonard" "CreditsOutroText"
|
||||
"Jeff Lind" "CreditsOutroText"
|
||||
"Doug Lombardi" "CreditsOutroText"
|
||||
"Bianca Loomis" "CreditsOutroText"
|
||||
"Richard Lord" "CreditsOutroText"
|
||||
"Realm Lovejoy" "CreditsOutroText"
|
||||
"Randy Lundeen" "CreditsOutroText"
|
||||
"Scott Lynch" "CreditsOutroText"
|
||||
"Ido Magal" "CreditsOutroText"
|
||||
"Nick Maggiore" "CreditsOutroText"
|
||||
"John McCaskey" "CreditsOutroText"
|
||||
"Patrick McClard" "CreditsOutroText"
|
||||
"Steve McClure" "CreditsOutroText"
|
||||
"Hamish McKenzie" "CreditsOutroText"
|
||||
"Gary McTaggart" "CreditsOutroText"
|
||||
"Jason Mitchell" "CreditsOutroText"
|
||||
"Mike Morasky" "CreditsOutroText"
|
||||
"John Morello II" "CreditsOutroText"
|
||||
"Bryn Moslow" "CreditsOutroText"
|
||||
"Arsenio Navarro" "CreditsOutroText"
|
||||
"Gabe Newell" "CreditsOutroText"
|
||||
"Milton Ngan" "CreditsOutroText"
|
||||
"Jake Nicholson" "CreditsOutroText"
|
||||
"Martin Otten" "CreditsOutroText"
|
||||
"Nick Papineau" "CreditsOutroText"
|
||||
"Karen Prell" "CreditsOutroText"
|
||||
"Bay Raitt" "CreditsOutroText"
|
||||
"Tristan Reidford" "CreditsOutroText"
|
||||
"Alfred Reynolds" "CreditsOutroText"
|
||||
"Matt Rhoten" "CreditsOutroText"
|
||||
"Garret Rickey" "CreditsOutroText"
|
||||
"Dave Riller" "CreditsOutroText"
|
||||
"Elan Ruskin" "CreditsOutroText"
|
||||
"Matthew Russell" "CreditsOutroText"
|
||||
"Jason Ruymen" "CreditsOutroText"
|
||||
"David Sawyer" "CreditsOutroText"
|
||||
"Marc Scaparro" "CreditsOutroText"
|
||||
"Wade Schin" "CreditsOutroText"
|
||||
"Matthew Scott" "CreditsOutroText"
|
||||
"Aaron Seeler" "CreditsOutroText"
|
||||
"Jennifer Seeley" "CreditsOutroText"
|
||||
"Taylor Sherman" "CreditsOutroText"
|
||||
"Eric Smith" "CreditsOutroText"
|
||||
"Jeff Sorensen" "CreditsOutroText"
|
||||
"David Speyrer" "CreditsOutroText"
|
||||
"Jay Stelly" "CreditsOutroText"
|
||||
"Jeremy Stone" "CreditsOutroText"
|
||||
"Eric Strand" "CreditsOutroText"
|
||||
"Kim Swift" "CreditsOutroText"
|
||||
"Kelly Thornton" "CreditsOutroText"
|
||||
"Eric Twelker" "CreditsOutroText"
|
||||
"Carl Uhlman" "CreditsOutroText"
|
||||
"Doug Valente" "CreditsOutroText"
|
||||
"Bill Van Buren" "CreditsOutroText"
|
||||
"Gabe Van Engel" "CreditsOutroText"
|
||||
"Alex Vlachos" "CreditsOutroText"
|
||||
"Robin Walker" "CreditsOutroText"
|
||||
"Joshua Weier" "CreditsOutroText"
|
||||
"Andrea Wicklund" "CreditsOutroText"
|
||||
"Greg Winkler" "CreditsOutroText"
|
||||
"Erik Wolpaw" "CreditsOutroText"
|
||||
"Doug Wood" "CreditsOutroText"
|
||||
"Matt T. Wood" "CreditsOutroText"
|
||||
"Danika Wright" "CreditsOutroText"
|
||||
"Matt Wright" "CreditsOutroText"
|
||||
"Shawn Zabecki" "CreditsOutroText"
|
||||
"Torsten Zabka " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Voices:" "CreditsOutroText"
|
||||
"Robert Guillaume - Dr. Eli Vance" "CreditsOutroText"
|
||||
"Merle Dandridge - Alyx Vance" "CreditsOutroText"
|
||||
"Tony Todd - Vortigaunt" "CreditsOutroText"
|
||||
"John Aylward - Dr. Arne Magnusson" "CreditsOutroText"
|
||||
"Michelle Forbes - Dr. Judith Mossman" "CreditsOutroText"
|
||||
"Mike Shapiro - Gman" "CreditsOutroText"
|
||||
"Harry S. Robins - Dr. Isaac Kleiner" "CreditsOutroText"
|
||||
"Adam Baldwin - Citizens\Misc. characters" "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 and 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"
|
||||
"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"
|
||||
"Larry 'The Count' Heard" "CreditsOutroText"
|
||||
"Ted Cohrt" "CreditsOutroText"
|
||||
"Roger Guay" "CreditsOutroText"
|
||||
"Frank Sheldon" "CreditsOutroText"
|
||||
"Paul Eenhoorn" "CreditsOutroText"
|
||||
"Travis Dunlop" "CreditsOutroText"
|
||||
"Daniel Dociu" "CreditsOutroText"
|
||||
"Art Min" "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"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"@" "CreditsOutroLogos"
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,107 +1,107 @@
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,26 +1,26 @@
|
||||
soundscapes_manifest
|
||||
{
|
||||
"file" "scripts/soundscapes.txt"
|
||||
|
||||
// List additional soundscape files here
|
||||
|
||||
"file" "scripts/soundscapes_lostcoast.txt"
|
||||
"file" "scripts/soundscapes_citadel_episodic.txt"
|
||||
"file" "scripts/soundscapes_city_episodic.txt"
|
||||
|
||||
"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"
|
||||
|
||||
//episode 2
|
||||
"file" "scripts/soundscapes_silo.txt"
|
||||
"file" "scripts/soundscapes_outland.txt"
|
||||
"file" "scripts/soundscapes_outland2.txt"
|
||||
|
||||
soundscapes_manifest
|
||||
{
|
||||
"file" "scripts/soundscapes.txt"
|
||||
|
||||
// List additional soundscape files here
|
||||
|
||||
"file" "scripts/soundscapes_lostcoast.txt"
|
||||
"file" "scripts/soundscapes_citadel_episodic.txt"
|
||||
"file" "scripts/soundscapes_city_episodic.txt"
|
||||
|
||||
"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"
|
||||
|
||||
//episode 2
|
||||
"file" "scripts/soundscapes_silo.txt"
|
||||
"file" "scripts/soundscapes_outland.txt"
|
||||
"file" "scripts/soundscapes_outland2.txt"
|
||||
|
||||
}
|
||||
@@ -1,131 +1,131 @@
|
||||
// "surface group"
|
||||
// {
|
||||
// "property" "value"
|
||||
// ...
|
||||
// }
|
||||
//
|
||||
// thickness: If this value is present, the material is not volumetrically solid
|
||||
// it means that the volume should be computed as the surface area times this
|
||||
// thickness (for automatic mass). The inside space beneath the thickness value is air.
|
||||
//
|
||||
// physics parameters are:
|
||||
// density: this is the material density in kg / m^3 (water is 1000)
|
||||
// elasticity: This is the collision elasticity (0 - 1.0, 0.01 is soft, 1.0 is hard)
|
||||
// friction: this is the physical friction (0 - 1.0, 0.01 is slick, 1.0 is totally rough)
|
||||
// dampening: this is the physical drag on an object when in contact with this surface (0 - x, 0 none to x a lot)
|
||||
//
|
||||
// !!! Do not edit the physics properties (especially density) without the proper references !!!
|
||||
//`
|
||||
// Sounds
|
||||
//
|
||||
// stepleft: footstep sound for left foot
|
||||
// stepright: footstep sound for right foot
|
||||
// impactsoft: Physical impact sound when hitting soft surfaces
|
||||
// impacthard: Physical impact sound when hitting hard surfaces
|
||||
// scrapesmooth: Looping physics friction sound (when scraping smooth surfaces)
|
||||
// scraperough: Looping physics friction sound (when scraping rough surfaces)
|
||||
// bulletimpact: bullet impact sound
|
||||
// gamematerial: game material index (can be a single letter or a number)
|
||||
//
|
||||
|
||||
// NOTE: The properties of "default" will get copied into EVERY material who does not
|
||||
// override them!!!
|
||||
//
|
||||
// "base" means to use the parameters from that material as a base.
|
||||
// "base" must appear as the first key in a material
|
||||
//
|
||||
|
||||
"cavern_rock"
|
||||
{
|
||||
"base" "rock"
|
||||
|
||||
"density" "700"
|
||||
"elasticity" "0.1"
|
||||
"friction" "0.8"
|
||||
"bulletimpact" "CavernRock.ImpactHard"
|
||||
"scraperough" "Rock.ImpactHard"
|
||||
"scrapesmooth" "Rock.ImpactSoft"
|
||||
"impacthard" "CavernRock.ImpactHard"
|
||||
"impactsoft" "CavernRock.ImpactSoft"
|
||||
|
||||
"gamematerial" "O"
|
||||
}
|
||||
|
||||
"advisor_shield"
|
||||
{
|
||||
"base" "rock"
|
||||
|
||||
"density" "700"
|
||||
"elasticity" "0.1"
|
||||
"friction" "0.8"
|
||||
"bulletimpact" "NPC_Advisor.shieldblock"
|
||||
"scraperough" "NPC_Advisor.shieldblock"
|
||||
"scrapesmooth" "NPC_Advisor.shieldblock"
|
||||
"impacthard" "NPC_Advisor.shieldblock"
|
||||
"impactsoft" "NPC_Advisor.shieldblock"
|
||||
|
||||
"gamematerial" "Z" // <--- Whatever you make the character index in decals.h
|
||||
}
|
||||
|
||||
"antlion_eggshell"
|
||||
{
|
||||
"base" "flesh"
|
||||
"bulletimpact" "Flesh.ImpactHard"
|
||||
"impacthard" "Flesh.ImpactHard"
|
||||
"impactsoft" "Flesh.ImpactHard"
|
||||
|
||||
"gamematerial" "E"
|
||||
}
|
||||
|
||||
|
||||
"hunter"
|
||||
{
|
||||
"base" "flesh"
|
||||
"gamematerial" "F"
|
||||
}
|
||||
|
||||
"jalopytire"
|
||||
{
|
||||
"base" "jeeptire"
|
||||
"elasticity" "0.1"
|
||||
}
|
||||
|
||||
"slidingrubbertire_jalopyfront"
|
||||
{
|
||||
"base" "jalopytire"
|
||||
"friction" "0.15"
|
||||
}
|
||||
|
||||
"slidingrubbertire_jalopyrear"
|
||||
{
|
||||
"base" "jalopytire"
|
||||
"friction" "0.15"
|
||||
}
|
||||
|
||||
"water"
|
||||
{
|
||||
"density" "1000"
|
||||
"elasticity" "0.1"
|
||||
"friction" "0.8"
|
||||
|
||||
"stepleft" "Water.StepLeft"
|
||||
"stepright" "Water.StepRight"
|
||||
"bulletimpact" "Water.BulletImpact"
|
||||
|
||||
"impacthard" "Water.ImpactHard"
|
||||
"impactsoft" "Water.ImpactSoft"
|
||||
|
||||
"audioreflectivity" "0.33"
|
||||
"audioroughnessfactor" "0.1"
|
||||
"audiohardnessfactor" "0.0"
|
||||
|
||||
"gamematerial" "S"
|
||||
}
|
||||
|
||||
"jalopy"
|
||||
{
|
||||
"base" "metal"
|
||||
"impacthard" "ATV_impact_medium"
|
||||
"impactsoft" "ATV_impact_medium"
|
||||
}
|
||||
|
||||
// "surface group"
|
||||
// {
|
||||
// "property" "value"
|
||||
// ...
|
||||
// }
|
||||
//
|
||||
// thickness: If this value is present, the material is not volumetrically solid
|
||||
// it means that the volume should be computed as the surface area times this
|
||||
// thickness (for automatic mass). The inside space beneath the thickness value is air.
|
||||
//
|
||||
// physics parameters are:
|
||||
// density: this is the material density in kg / m^3 (water is 1000)
|
||||
// elasticity: This is the collision elasticity (0 - 1.0, 0.01 is soft, 1.0 is hard)
|
||||
// friction: this is the physical friction (0 - 1.0, 0.01 is slick, 1.0 is totally rough)
|
||||
// dampening: this is the physical drag on an object when in contact with this surface (0 - x, 0 none to x a lot)
|
||||
//
|
||||
// !!! Do not edit the physics properties (especially density) without the proper references !!!
|
||||
//`
|
||||
// Sounds
|
||||
//
|
||||
// stepleft: footstep sound for left foot
|
||||
// stepright: footstep sound for right foot
|
||||
// impactsoft: Physical impact sound when hitting soft surfaces
|
||||
// impacthard: Physical impact sound when hitting hard surfaces
|
||||
// scrapesmooth: Looping physics friction sound (when scraping smooth surfaces)
|
||||
// scraperough: Looping physics friction sound (when scraping rough surfaces)
|
||||
// bulletimpact: bullet impact sound
|
||||
// gamematerial: game material index (can be a single letter or a number)
|
||||
//
|
||||
|
||||
// NOTE: The properties of "default" will get copied into EVERY material who does not
|
||||
// override them!!!
|
||||
//
|
||||
// "base" means to use the parameters from that material as a base.
|
||||
// "base" must appear as the first key in a material
|
||||
//
|
||||
|
||||
"cavern_rock"
|
||||
{
|
||||
"base" "rock"
|
||||
|
||||
"density" "700"
|
||||
"elasticity" "0.1"
|
||||
"friction" "0.8"
|
||||
"bulletimpact" "CavernRock.ImpactHard"
|
||||
"scraperough" "Rock.ImpactHard"
|
||||
"scrapesmooth" "Rock.ImpactSoft"
|
||||
"impacthard" "CavernRock.ImpactHard"
|
||||
"impactsoft" "CavernRock.ImpactSoft"
|
||||
|
||||
"gamematerial" "O"
|
||||
}
|
||||
|
||||
"advisor_shield"
|
||||
{
|
||||
"base" "rock"
|
||||
|
||||
"density" "700"
|
||||
"elasticity" "0.1"
|
||||
"friction" "0.8"
|
||||
"bulletimpact" "NPC_Advisor.shieldblock"
|
||||
"scraperough" "NPC_Advisor.shieldblock"
|
||||
"scrapesmooth" "NPC_Advisor.shieldblock"
|
||||
"impacthard" "NPC_Advisor.shieldblock"
|
||||
"impactsoft" "NPC_Advisor.shieldblock"
|
||||
|
||||
"gamematerial" "Z" // <--- Whatever you make the character index in decals.h
|
||||
}
|
||||
|
||||
"antlion_eggshell"
|
||||
{
|
||||
"base" "flesh"
|
||||
"bulletimpact" "Flesh.ImpactHard"
|
||||
"impacthard" "Flesh.ImpactHard"
|
||||
"impactsoft" "Flesh.ImpactHard"
|
||||
|
||||
"gamematerial" "E"
|
||||
}
|
||||
|
||||
|
||||
"hunter"
|
||||
{
|
||||
"base" "flesh"
|
||||
"gamematerial" "F"
|
||||
}
|
||||
|
||||
"jalopytire"
|
||||
{
|
||||
"base" "jeeptire"
|
||||
"elasticity" "0.1"
|
||||
}
|
||||
|
||||
"slidingrubbertire_jalopyfront"
|
||||
{
|
||||
"base" "jalopytire"
|
||||
"friction" "0.15"
|
||||
}
|
||||
|
||||
"slidingrubbertire_jalopyrear"
|
||||
{
|
||||
"base" "jalopytire"
|
||||
"friction" "0.15"
|
||||
}
|
||||
|
||||
"water"
|
||||
{
|
||||
"density" "1000"
|
||||
"elasticity" "0.1"
|
||||
"friction" "0.8"
|
||||
|
||||
"stepleft" "Water.StepLeft"
|
||||
"stepright" "Water.StepRight"
|
||||
"bulletimpact" "Water.BulletImpact"
|
||||
|
||||
"impacthard" "Water.ImpactHard"
|
||||
"impactsoft" "Water.ImpactSoft"
|
||||
|
||||
"audioreflectivity" "0.33"
|
||||
"audioroughnessfactor" "0.1"
|
||||
"audiohardnessfactor" "0.0"
|
||||
|
||||
"gamematerial" "S"
|
||||
}
|
||||
|
||||
"jalopy"
|
||||
{
|
||||
"base" "metal"
|
||||
"impacthard" "ATV_impact_medium"
|
||||
"impactsoft" "ATV_impact_medium"
|
||||
}
|
||||
|
||||
|
||||
@@ -1,133 +1,133 @@
|
||||
//============================================================================================================
|
||||
// Alyx criteria
|
||||
criterion "IsAlyx" "classname" "npc_alyx" "required"
|
||||
//============================================================================================================
|
||||
|
||||
//============================================================================================================
|
||||
// Alyx Combat speech
|
||||
//============================================================================================================
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
criterion "ConceptTalkFoundPlayer" "Concept" "TLK_FOUNDPLAYER" required
|
||||
|
||||
response "AlyxIsBack"
|
||||
{
|
||||
// speak "*vo/episode_1/npc/alyx/al_greet_cit15.wav" // I'm the person who's telling you to get moving.
|
||||
}
|
||||
|
||||
rule AlyxIsBack
|
||||
{
|
||||
criteria IsAlyx IsEpisodic ConceptTalkFoundPlayer
|
||||
response AlyxIsBack
|
||||
}
|
||||
|
||||
response "AlyxDanger"
|
||||
{
|
||||
scene "scenes/npc/Alyx/getback01.vcd" respeakdelay 60
|
||||
scene "scenes/npc/Alyx/getback02.vcd" respeakdelay 60
|
||||
// scene "scenes/npc/Alyx/watchout01.vcd" WATCH OUT!!!
|
||||
// scene "scenes/npc/Alyx/watchout02.vcd" WATCH OUT!!!
|
||||
}
|
||||
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
|
||||
}
|
||||
|
||||
// Removed - if okay, can just be deleted
|
||||
//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
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//============================================================================================================
|
||||
//============================================================================================================
|
||||
// Alyx criteria
|
||||
criterion "IsAlyx" "classname" "npc_alyx" "required"
|
||||
//============================================================================================================
|
||||
|
||||
//============================================================================================================
|
||||
// Alyx Combat speech
|
||||
//============================================================================================================
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
criterion "ConceptTalkFoundPlayer" "Concept" "TLK_FOUNDPLAYER" required
|
||||
|
||||
response "AlyxIsBack"
|
||||
{
|
||||
// speak "*vo/episode_1/npc/alyx/al_greet_cit15.wav" // I'm the person who's telling you to get moving.
|
||||
}
|
||||
|
||||
rule AlyxIsBack
|
||||
{
|
||||
criteria IsAlyx IsEpisodic ConceptTalkFoundPlayer
|
||||
response AlyxIsBack
|
||||
}
|
||||
|
||||
response "AlyxDanger"
|
||||
{
|
||||
scene "scenes/npc/Alyx/getback01.vcd" respeakdelay 60
|
||||
scene "scenes/npc/Alyx/getback02.vcd" respeakdelay 60
|
||||
// scene "scenes/npc/Alyx/watchout01.vcd" WATCH OUT!!!
|
||||
// scene "scenes/npc/Alyx/watchout02.vcd" WATCH OUT!!!
|
||||
}
|
||||
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
|
||||
}
|
||||
|
||||
// Removed - if okay, can just be deleted
|
||||
//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
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//============================================================================================================
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,484 +1,484 @@
|
||||
//============================================================================================================
|
||||
// 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
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
// For ep1_c17_05
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenDenyCommand"
|
||||
{
|
||||
|
||||
scene "scenes/npc/$gender01/illstayhere01.vcd"
|
||||
scene "scenes/npc/$gender01/imstickinghere01.vcd"
|
||||
}
|
||||
|
||||
rule CitizenDenyCommand
|
||||
{
|
||||
criteria IsCitizen ConceptTalkDenyCommand
|
||||
response CitizenDenyCommand
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// 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
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
// For ep1_c17_05
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenDenyCommand"
|
||||
{
|
||||
|
||||
scene "scenes/npc/$gender01/illstayhere01.vcd"
|
||||
scene "scenes/npc/$gender01/imstickinghere01.vcd"
|
||||
}
|
||||
|
||||
rule CitizenDenyCommand
|
||||
{
|
||||
criteria IsCitizen ConceptTalkDenyCommand
|
||||
response CitizenDenyCommand
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,158 +1,158 @@
|
||||
|
||||
|
||||
// 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] [soundlevel "SNDLVL_xxx"] [stop_on_nonidle] 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 ] [ stop_on_nonidle ] weight nnn
|
||||
// responsetype2 parameters2 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] [ stop_on_nonidle ] 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)
|
||||
// stop_on_nonidle = If this response starts a .vcd, and during that scene the NPC changes out of idle state (e.g. sees an enemy), stop the .vcd
|
||||
//
|
||||
// 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
|
||||
#include "talker/response_criteria.txt"
|
||||
|
||||
// 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_citizen_scenes.txt"
|
||||
//#include "talker/npc_grigori.txt"
|
||||
//#include "talker/npc_barney.txt"
|
||||
#include "talker/npc_alyx.txt"
|
||||
#include "talker/npc_alyx_episodic.txt"
|
||||
#include "talker/npc_alyx_episodic_scenes.txt"
|
||||
//#include "talker/npc_barney_episodic.txt"
|
||||
#include "talker/nags_Alyx.txt"
|
||||
#include "talker/npc_alyx_vehicle.txt"
|
||||
|
||||
|
||||
// This is the base rule script file for the AI response system for Expressive AI's who speak based on certain "Concepts"
|
||||
// You can think of a concept as a high level state that the code is trying to convey, such as say hello, or say you're mad, etc.
|
||||
//
|
||||
// The format of this file is that there are five main types of commands:
|
||||
// 1) #include "filename" // This just causes the included scriptfile to be parsed and added to the database
|
||||
// 2) enumeration: this declares an enumerated type so that comparisons can be matched against the string versions of the type
|
||||
// 3) response: this specifies a response to issue. A response consists of a weighted set of options and can recursively reference
|
||||
// other responses by name
|
||||
// 4) criterion: This is a match condition
|
||||
// 5) rule: a rule consists of one or more criteria and a response
|
||||
//
|
||||
// In general, the system is presented with a criteria set, which is a set of key value pairs generated by the game code and
|
||||
// various entity I/O and keyfields. For instance, the following criteria set was created in a map with a train terminal
|
||||
// "speaker" entity wishing to fire random station announcements
|
||||
// concept = 'train_speaker' (weight 5.000000) ; the high level concept for the search request
|
||||
// map = 'terminal_pa' ; the name of the map
|
||||
// classname = 'speaker' ; the classname and name of the "speaking" entity
|
||||
// name = 'terminal_pa'
|
||||
// health = '10' ; the absolute health of the speaking entity
|
||||
// healthfrac = '0.000' ; the health fraction (health/maxhealth) of the speaking entity
|
||||
// playerhealth = '100' ; similar data related to the current player:
|
||||
// playerhealthfrac = '1.000'
|
||||
// playerweapon = 'none' ; the name of the weapon the player is carrying
|
||||
// playeractivity = 'ACT_WALK' ; animating activity of the player
|
||||
// playerspeed = '0.000' ; how fast the player is moving
|
||||
//
|
||||
// Based on such a criteria set, the system checks each rule against the set. To do this, each criterion of the rule is
|
||||
// given a numeric score as follows:
|
||||
// score = 0 if criteria doesn't match or, criterion weight * 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] [soundlevel "SNDLVL_xxx"] [stop_on_nonidle] 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 ] [ stop_on_nonidle ] weight nnn
|
||||
// responsetype2 parameters2 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] [ stop_on_nonidle ] 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)
|
||||
// stop_on_nonidle = If this response starts a .vcd, and during that scene the NPC changes out of idle state (e.g. sees an enemy), stop the .vcd
|
||||
//
|
||||
// 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
|
||||
#include "talker/response_criteria.txt"
|
||||
|
||||
// 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_citizen_scenes.txt"
|
||||
//#include "talker/npc_grigori.txt"
|
||||
//#include "talker/npc_barney.txt"
|
||||
#include "talker/npc_alyx.txt"
|
||||
#include "talker/npc_alyx_episodic.txt"
|
||||
#include "talker/npc_alyx_episodic_scenes.txt"
|
||||
//#include "talker/npc_barney_episodic.txt"
|
||||
#include "talker/nags_Alyx.txt"
|
||||
#include "talker/npc_alyx_vehicle.txt"
|
||||
|
||||
@@ -1,278 +1,278 @@
|
||||
//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
|
||||
}
|
||||
|
||||
GAMEOVER_ALYXDEAD
|
||||
{
|
||||
#Episodic_GameOver_AlyxDead
|
||||
}
|
||||
|
||||
GAMEOVER_ALYXLEFT
|
||||
{
|
||||
#EP2_GameOver_AlyxLeft
|
||||
}
|
||||
|
||||
|
||||
$fadein 0.03
|
||||
$holdtime 9
|
||||
|
||||
|
||||
//CHAPTER TITLES
|
||||
|
||||
$fadein 0.01
|
||||
$holdtime 3.5
|
||||
$position -1 0.58
|
||||
|
||||
EP2_CHAPTER1_TITLE
|
||||
{
|
||||
#ep2_Chapter1_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER2_TITLE
|
||||
{
|
||||
#ep2_Chapter2_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER3_TITLE
|
||||
{
|
||||
#ep2_Chapter3_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER4_TITLE
|
||||
{
|
||||
#ep2_Chapter4_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER5_TITLE
|
||||
{
|
||||
#ep2_Chapter5_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER6_TITLE
|
||||
{
|
||||
#ep2_Chapter6_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER7_TITLE
|
||||
{
|
||||
#ep2_Chapter7_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER8_TITLE
|
||||
{
|
||||
#ep2_Chapter8_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER9_TITLE
|
||||
{
|
||||
#ep2_Chapter9_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.0
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 0.01
|
||||
// How long it takes to fade out the message after holding
|
||||
$fadeout 0.01
|
||||
|
||||
$boxsize 0.4
|
||||
$boxcolor 31 31 31 127
|
||||
|
||||
GAMESAVING_360
|
||||
{
|
||||
#HL2_Saving
|
||||
}
|
||||
|
||||
$position -1 0.65
|
||||
|
||||
GAMESAVING
|
||||
{
|
||||
#HL2_Saving
|
||||
}
|
||||
|
||||
// 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
|
||||
|
||||
//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
|
||||
}
|
||||
|
||||
GAMEOVER_ALYXDEAD
|
||||
{
|
||||
#Episodic_GameOver_AlyxDead
|
||||
}
|
||||
|
||||
GAMEOVER_ALYXLEFT
|
||||
{
|
||||
#EP2_GameOver_AlyxLeft
|
||||
}
|
||||
|
||||
|
||||
$fadein 0.03
|
||||
$holdtime 9
|
||||
|
||||
|
||||
//CHAPTER TITLES
|
||||
|
||||
$fadein 0.01
|
||||
$holdtime 3.5
|
||||
$position -1 0.58
|
||||
|
||||
EP2_CHAPTER1_TITLE
|
||||
{
|
||||
#ep2_Chapter1_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER2_TITLE
|
||||
{
|
||||
#ep2_Chapter2_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER3_TITLE
|
||||
{
|
||||
#ep2_Chapter3_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER4_TITLE
|
||||
{
|
||||
#ep2_Chapter4_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER5_TITLE
|
||||
{
|
||||
#ep2_Chapter5_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER6_TITLE
|
||||
{
|
||||
#ep2_Chapter6_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER7_TITLE
|
||||
{
|
||||
#ep2_Chapter7_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER8_TITLE
|
||||
{
|
||||
#ep2_Chapter8_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER9_TITLE
|
||||
{
|
||||
#ep2_Chapter9_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.0
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 0.01
|
||||
// How long it takes to fade out the message after holding
|
||||
$fadeout 0.01
|
||||
|
||||
$boxsize 0.4
|
||||
$boxcolor 31 31 31 127
|
||||
|
||||
GAMESAVING_360
|
||||
{
|
||||
#HL2_Saving
|
||||
}
|
||||
|
||||
$position -1 0.65
|
||||
|
||||
GAMESAVING
|
||||
{
|
||||
#HL2_Saving
|
||||
}
|
||||
|
||||
// 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
|
||||
|
||||
|
||||
@@ -1,40 +1,40 @@
|
||||
"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"
|
||||
}
|
||||
"jalopy_radar_panel"
|
||||
{
|
||||
"type" "jalopy_radar_panel"
|
||||
"pixelswide" "128"
|
||||
"pixelshigh" "128"
|
||||
"resfile" "scripts/screens/jalopy_radar_panel.res"
|
||||
}
|
||||
|
||||
}
|
||||
"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"
|
||||
}
|
||||
"jalopy_radar_panel"
|
||||
{
|
||||
"type" "jalopy_radar_panel"
|
||||
"pixelswide" "128"
|
||||
"pixelshigh" "128"
|
||||
"resfile" "scripts/screens/jalopy_radar_panel.res"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user