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:
Jørgen P. Tjernø
2013-12-03 10:39:23 -08:00
parent 30064a1977
commit b5dc4a8543
5745 changed files with 1504984 additions and 1504956 deletions

View File

@@ -1 +1 @@
map sdk_vehicles
map sdk_vehicles

View File

@@ -1 +1 @@
map sdk_vehicles
map sdk_vehicles

View File

@@ -1 +1 @@
map sdk_vehicles
map sdk_vehicles

View File

@@ -1,246 +1,246 @@
// ===========
// NPCs
// ============
// Barnacle
sk_barnacle_health "35"
// Barney
sk_barney_health "35"
// Bullseye
sk_bullseye_health "35"
// Bullsquid
//sk_bullsquid_health "120"
//sk_bullsquid_dmg_bite "15"
//sk_bullsquid_dmg_whip "25"
// Citizen
sk_citizen_health "40"
// Combine Soldier
sk_combine_s_health "50"
sk_combine_s_kick "10"
// Combine Guard
sk_combine_guard_health "70"
sk_combine_guard_kick "15"
// strider
sk_strider_health "350"
sk_strider_num_missiles1 "5"
sk_strider_num_missiles2 "7"
sk_strider_num_missiles3 "7"
// Headcrab
sk_headcrab_health "10"
sk_headcrab_melee_dmg "5"
// Fast Headcrab
sk_headcrab_fast_health "10"
// Poison Headcrab
sk_headcrab_poison_health "35"
// Houndeye
//sk_houndeye_health "80"
//sk_houndeye_dmg_blast "25"
// Manhack
sk_manhack_health "25"
sk_manhack_melee_dmg "20"
// Metropolice
sk_metropolice_health "40"
sk_metropolice_stitch_reaction "1.0"
sk_metropolice_stitch_tight_hitcount "2"
sk_metropolice_stitch_at_hitcount "1"
sk_metropolice_stitch_behind_hitcount "3"
sk_metropolice_stitch_along_hitcount "2"
// Rollermine
sk_rollermine_shock "10"
sk_rollermine_stun_delay "3"
sk_rollermine_vehicle_intercept "1"
// Scanner (City)
sk_scanner_health "30"
sk_scanner_dmg_dive "25"
// Stalker
sk_stalker_health "50"
sk_stalker_melee_dmg "5"
// Vortigaunt
sk_vortigaunt_health "100"
sk_vortigaunt_dmg_claw "10"
sk_vortigaunt_dmg_rake "25"
sk_vortigaunt_dmg_zap "50"
sk_vortigaunt_armor_charge "30"
// Zombie
sk_zombie_health "50"
sk_zombie_dmg_one_slash "10"
sk_zombie_dmg_both_slash "25"
// Poison Zombie
sk_zombie_poison_health "175"
sk_zombie_poison_dmg_spit "20"
//Antlion
sk_antlion_health "30"
sk_antlion_swipe_damage "5"
sk_antlion_jump_damage "5"
//Antlion Guard
sk_antlionguard_health "500"
sk_antlionguard_dmg_charge "20"
sk_antlionguard_dmg_shove "10"
//Antlion Grub
//sk_antliongrub_health "5"
//Ichthyosaur
sk_ichthyosaur_health "200"
sk_ichthyosaur_melee_dmg "8"
// Combine Gunship
sk_gunship_burst_size "15"
sk_gunship_health_increments "5"
sk_npc_dmg_gunship "40"
sk_npc_dmg_gunship_to_plr "3"
// Combine Helicopter
sk_npc_dmg_helicopter "6"
sk_npc_dmg_helicopter_to_plr "3"
sk_helicopter_grenadedamage "30"
sk_helicopter_grenaderadius "275"
sk_helicopter_grenadeforce "55000"
// Combine Dropship
sk_npc_dmg_dropship "2"
// Combine APC
sk_apc_health "750"
// =================
// WEAPONS
// =================
sk_plr_dmg_ar2 "8"
sk_npc_dmg_ar2 "3"
sk_max_ar2 "60"
sk_max_ar2_altfire "3"
sk_plr_dmg_alyxgun "5"
sk_npc_dmg_alyxgun "3"
sk_max_alyxgun "150"
sk_plr_dmg_pistol "5"
sk_npc_dmg_pistol "3"
sk_max_pistol "150"
sk_plr_dmg_smg1 "4"
sk_npc_dmg_smg1 "3"
sk_max_smg1 "225"
sk_plr_dmg_buckshot "8"
sk_npc_dmg_buckshot "3"
sk_max_buckshot "30"
sk_plr_dmg_rpg_round "100"
sk_npc_dmg_rpg_round "50"
sk_max_rpg_round "3"
sk_plr_dmg_smg1_grenade "100"
sk_npc_dmg_smg1_grenade "50"
sk_max_smg1_grenade "3"
sk_smg1_grenade_radius "250"
//sk_plr_dmg_gauss "25"
//sk_plr_max_dmg_gauss "30"
sk_plr_dmg_sniper_round "20"
sk_npc_dmg_sniper_round "100"
sk_max_sniper_round "30"
sk_plr_dmg_357 "40"
sk_npc_dmg_357 "30"
sk_max_357 "12"
sk_plr_dmg_crossbow "100"
sk_npc_dmg_crossbow "10"
sk_max_crossbow "10"
sk_plr_dmg_airboat "3"
sk_npc_dmg_airboat "3"
//sk_dmg_sniper_penetrate_plr "10"
//sk_dmg_sniper_penetrate_npc "100"
sk_plr_dmg_grenade "150"
sk_npc_dmg_grenade "75"
sk_max_grenade "5"
sk_plr_dmg_crowbar "10"
sk_npc_dmg_crowbar "5"
sk_plr_dmg_stunstick "10"
sk_npc_dmg_stunstick "40" // Kill a citizen in one hit
//sk_plr_dmg_satchel "150"
//sk_npc_dmg_satchel "75"
//sk_satchel_radius "150"
// Mortar Synth projectile
//sk_dmg_energy_grenade "2"
//sk_energy_grenade_radius "100"
sk_dmg_homer_grenade "20"
sk_homer_grenade_radius "100"
// Bullsquid spit
//sk_dmg_spit_grenade "5"
//sk_spit_grenade_radius "50"
//sk_plr_dmg_tripmine "150"
//sk_npc_dmg_tripmine "125"
//sk_tripmine_radius "200"
sk_plr_dmg_fraggrenade "125"
sk_npc_dmg_fraggrenade "75"
sk_fraggrenade_radius "250"
// HEALTH/SUIT CHARGE DISTRIBUTION
sk_suitcharger "75"
sk_suitcharger_citadel "500"
sk_suitcharger_citadel_maxarmor "200"
sk_battery "15"
sk_healthcharger "50"
sk_healthkit "25"
sk_healthvial "10"
// Combine balls
sk_combineball_seek_angle "15"
sk_combineball_guidefactor "1.0"
// NPC damage adjusters
sk_npc_head "3"
sk_npc_chest "1"
sk_npc_stomach "1"
sk_npc_arm "1"
sk_npc_leg "1"
// player damage adjusters
sk_player_head "3"
sk_player_chest "1"
sk_player_stomach "1"
sk_player_arm "1"
sk_player_leg "1"
// Allies
sk_ally_regen_time "0.2"
// Jeep
// ===========
// NPCs
// ============
// Barnacle
sk_barnacle_health "35"
// Barney
sk_barney_health "35"
// Bullseye
sk_bullseye_health "35"
// Bullsquid
//sk_bullsquid_health "120"
//sk_bullsquid_dmg_bite "15"
//sk_bullsquid_dmg_whip "25"
// Citizen
sk_citizen_health "40"
// Combine Soldier
sk_combine_s_health "50"
sk_combine_s_kick "10"
// Combine Guard
sk_combine_guard_health "70"
sk_combine_guard_kick "15"
// strider
sk_strider_health "350"
sk_strider_num_missiles1 "5"
sk_strider_num_missiles2 "7"
sk_strider_num_missiles3 "7"
// Headcrab
sk_headcrab_health "10"
sk_headcrab_melee_dmg "5"
// Fast Headcrab
sk_headcrab_fast_health "10"
// Poison Headcrab
sk_headcrab_poison_health "35"
// Houndeye
//sk_houndeye_health "80"
//sk_houndeye_dmg_blast "25"
// Manhack
sk_manhack_health "25"
sk_manhack_melee_dmg "20"
// Metropolice
sk_metropolice_health "40"
sk_metropolice_stitch_reaction "1.0"
sk_metropolice_stitch_tight_hitcount "2"
sk_metropolice_stitch_at_hitcount "1"
sk_metropolice_stitch_behind_hitcount "3"
sk_metropolice_stitch_along_hitcount "2"
// Rollermine
sk_rollermine_shock "10"
sk_rollermine_stun_delay "3"
sk_rollermine_vehicle_intercept "1"
// Scanner (City)
sk_scanner_health "30"
sk_scanner_dmg_dive "25"
// Stalker
sk_stalker_health "50"
sk_stalker_melee_dmg "5"
// Vortigaunt
sk_vortigaunt_health "100"
sk_vortigaunt_dmg_claw "10"
sk_vortigaunt_dmg_rake "25"
sk_vortigaunt_dmg_zap "50"
sk_vortigaunt_armor_charge "30"
// Zombie
sk_zombie_health "50"
sk_zombie_dmg_one_slash "10"
sk_zombie_dmg_both_slash "25"
// Poison Zombie
sk_zombie_poison_health "175"
sk_zombie_poison_dmg_spit "20"
//Antlion
sk_antlion_health "30"
sk_antlion_swipe_damage "5"
sk_antlion_jump_damage "5"
//Antlion Guard
sk_antlionguard_health "500"
sk_antlionguard_dmg_charge "20"
sk_antlionguard_dmg_shove "10"
//Antlion Grub
//sk_antliongrub_health "5"
//Ichthyosaur
sk_ichthyosaur_health "200"
sk_ichthyosaur_melee_dmg "8"
// Combine Gunship
sk_gunship_burst_size "15"
sk_gunship_health_increments "5"
sk_npc_dmg_gunship "40"
sk_npc_dmg_gunship_to_plr "3"
// Combine Helicopter
sk_npc_dmg_helicopter "6"
sk_npc_dmg_helicopter_to_plr "3"
sk_helicopter_grenadedamage "30"
sk_helicopter_grenaderadius "275"
sk_helicopter_grenadeforce "55000"
// Combine Dropship
sk_npc_dmg_dropship "2"
// Combine APC
sk_apc_health "750"
// =================
// WEAPONS
// =================
sk_plr_dmg_ar2 "8"
sk_npc_dmg_ar2 "3"
sk_max_ar2 "60"
sk_max_ar2_altfire "3"
sk_plr_dmg_alyxgun "5"
sk_npc_dmg_alyxgun "3"
sk_max_alyxgun "150"
sk_plr_dmg_pistol "5"
sk_npc_dmg_pistol "3"
sk_max_pistol "150"
sk_plr_dmg_smg1 "4"
sk_npc_dmg_smg1 "3"
sk_max_smg1 "225"
sk_plr_dmg_buckshot "8"
sk_npc_dmg_buckshot "3"
sk_max_buckshot "30"
sk_plr_dmg_rpg_round "100"
sk_npc_dmg_rpg_round "50"
sk_max_rpg_round "3"
sk_plr_dmg_smg1_grenade "100"
sk_npc_dmg_smg1_grenade "50"
sk_max_smg1_grenade "3"
sk_smg1_grenade_radius "250"
//sk_plr_dmg_gauss "25"
//sk_plr_max_dmg_gauss "30"
sk_plr_dmg_sniper_round "20"
sk_npc_dmg_sniper_round "100"
sk_max_sniper_round "30"
sk_plr_dmg_357 "40"
sk_npc_dmg_357 "30"
sk_max_357 "12"
sk_plr_dmg_crossbow "100"
sk_npc_dmg_crossbow "10"
sk_max_crossbow "10"
sk_plr_dmg_airboat "3"
sk_npc_dmg_airboat "3"
//sk_dmg_sniper_penetrate_plr "10"
//sk_dmg_sniper_penetrate_npc "100"
sk_plr_dmg_grenade "150"
sk_npc_dmg_grenade "75"
sk_max_grenade "5"
sk_plr_dmg_crowbar "10"
sk_npc_dmg_crowbar "5"
sk_plr_dmg_stunstick "10"
sk_npc_dmg_stunstick "40" // Kill a citizen in one hit
//sk_plr_dmg_satchel "150"
//sk_npc_dmg_satchel "75"
//sk_satchel_radius "150"
// Mortar Synth projectile
//sk_dmg_energy_grenade "2"
//sk_energy_grenade_radius "100"
sk_dmg_homer_grenade "20"
sk_homer_grenade_radius "100"
// Bullsquid spit
//sk_dmg_spit_grenade "5"
//sk_spit_grenade_radius "50"
//sk_plr_dmg_tripmine "150"
//sk_npc_dmg_tripmine "125"
//sk_tripmine_radius "200"
sk_plr_dmg_fraggrenade "125"
sk_npc_dmg_fraggrenade "75"
sk_fraggrenade_radius "250"
// HEALTH/SUIT CHARGE DISTRIBUTION
sk_suitcharger "75"
sk_suitcharger_citadel "500"
sk_suitcharger_citadel_maxarmor "200"
sk_battery "15"
sk_healthcharger "50"
sk_healthkit "25"
sk_healthvial "10"
// Combine balls
sk_combineball_seek_angle "15"
sk_combineball_guidefactor "1.0"
// NPC damage adjusters
sk_npc_head "3"
sk_npc_chest "1"
sk_npc_stomach "1"
sk_npc_arm "1"
sk_npc_leg "1"
// player damage adjusters
sk_player_head "3"
sk_player_chest "1"
sk_player_stomach "1"
sk_player_arm "1"
sk_player_leg "1"
// Allies
sk_ally_regen_time "0.2"
// Jeep
sk_max_gauss_round "30"

View File

@@ -1 +1 @@
exec skill.cfg
exec skill.cfg

File diff suppressed because it is too large Load Diff

View File

@@ -1,72 +1,72 @@
"GameInfo"
{
game "My First HL2 Mod"
title "HALF-LIFE'"
title2 ""
type singleplayer_only
FileSystem
{
SteamAppId 243730 // This sets the app ID in Steam. This is the Source SDK Base 2013 Singleplayer
//
// The code that loads this file automatically does a few things here:
//
// 1. For each "Game" search path, it adds a "GameBin" path, in <dir>\bin
// 2. For each "Game" search path, it adds another "Game" path in front of it with _<langage> at the end.
// For example: c:\hl2\cstrike on a french machine would get a c:\hl2\cstrike_french path added to it.
// 3. For the first "Game" search path, it adds a search path called "MOD".
// 4. For the first "Game" search path, it adds a search path called "DEFAULT_WRITE_PATH".
//
//
// Search paths are relative to the base directory, which is where hl2.exe is found.
//
// |gameinfo_path| points at the directory where gameinfo.txt is.
// We always want to mount that directory relative to gameinfo.txt, so
// people can mount stuff in c:\mymod, and the main game resources are in
// someplace like c:\program files\valve\steam\steamapps\half-life 2.
//
SearchPaths
{
// First, mount all user customizations. This will search for VPKs and subfolders
// and mount them in alphabetical order. The easiest way to distribute a mod is to
// pack up the custom content into a VPK. To "install" a mod, just drop it in this
// folder.
//
// Note that this folder is scanned only when the game is booted.
game+mod hl2/custom/*
// Now search loose files. We'll set the directory containing the gameinfo.txt file
// as the first "mod" search path (after any user customizations). This is also the one
// that's used when writing to the "mod" path.
game+mod+mod_write+default_write_path |gameinfo_path|.
gamebin |gameinfo_path|bin
// We search VPK files before ordinary folders, because most files will be found in
// VPK and we can avoid making thousands of file system calls to attempt to open files
// in folders where they don't exist. (Searching a VPK is much faster than making an operating
// system call.)
game_lv hl2/hl2_lv.vpk
game |all_source_engine_paths|hl2/hl2_english.vpk
game |all_source_engine_paths|hl2/hl2_pak.vpk
game |all_source_engine_paths|hl2/hl2_textures.vpk
game |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
game |all_source_engine_paths|hl2/hl2_sound_misc.vpk
game |all_source_engine_paths|hl2/hl2_misc.vpk
platform |all_source_engine_paths|platform/platform_misc.vpk
// Add the HL2 directory as a game search path. This is also where where writes
// to the "game" path go.
game+game_write hl2
// Where the game's binaries are
gamebin hl2_mod/bin
// Last, mount in shared HL2 loose files
game |all_source_engine_paths|hl2
platform |all_source_engine_paths|platform
}
}
}
"GameInfo"
{
game "My First HL2 Mod"
title "HALF-LIFE'"
title2 ""
type singleplayer_only
FileSystem
{
SteamAppId 243730 // This sets the app ID in Steam. This is the Source SDK Base 2013 Singleplayer
//
// The code that loads this file automatically does a few things here:
//
// 1. For each "Game" search path, it adds a "GameBin" path, in <dir>\bin
// 2. For each "Game" search path, it adds another "Game" path in front of it with _<langage> at the end.
// For example: c:\hl2\cstrike on a french machine would get a c:\hl2\cstrike_french path added to it.
// 3. For the first "Game" search path, it adds a search path called "MOD".
// 4. For the first "Game" search path, it adds a search path called "DEFAULT_WRITE_PATH".
//
//
// Search paths are relative to the base directory, which is where hl2.exe is found.
//
// |gameinfo_path| points at the directory where gameinfo.txt is.
// We always want to mount that directory relative to gameinfo.txt, so
// people can mount stuff in c:\mymod, and the main game resources are in
// someplace like c:\program files\valve\steam\steamapps\half-life 2.
//
SearchPaths
{
// First, mount all user customizations. This will search for VPKs and subfolders
// and mount them in alphabetical order. The easiest way to distribute a mod is to
// pack up the custom content into a VPK. To "install" a mod, just drop it in this
// folder.
//
// Note that this folder is scanned only when the game is booted.
game+mod hl2/custom/*
// Now search loose files. We'll set the directory containing the gameinfo.txt file
// as the first "mod" search path (after any user customizations). This is also the one
// that's used when writing to the "mod" path.
game+mod+mod_write+default_write_path |gameinfo_path|.
gamebin |gameinfo_path|bin
// We search VPK files before ordinary folders, because most files will be found in
// VPK and we can avoid making thousands of file system calls to attempt to open files
// in folders where they don't exist. (Searching a VPK is much faster than making an operating
// system call.)
game_lv hl2/hl2_lv.vpk
game |all_source_engine_paths|hl2/hl2_english.vpk
game |all_source_engine_paths|hl2/hl2_pak.vpk
game |all_source_engine_paths|hl2/hl2_textures.vpk
game |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
game |all_source_engine_paths|hl2/hl2_sound_misc.vpk
game |all_source_engine_paths|hl2/hl2_misc.vpk
platform |all_source_engine_paths|platform/platform_misc.vpk
// Add the HL2 directory as a game search path. This is also where where writes
// to the "game" path go.
game+game_write hl2
// Where the game's binaries are
gamebin hl2_mod/bin
// Last, mount in shared HL2 loose files
game |all_source_engine_paths|hl2
platform |all_source_engine_paths|platform
}
}
}

View File

@@ -1,182 +1,182 @@
ldr: lights/fluorescentcool001a 189 231 232 350
hdr: lights/fluorescentcool001a 189 231 232 175
ldr: lights/fluorescentcool001b 236 255 182 350
hdr: lights/fluorescentcool001b 236 255 182 175
ldr: lights/fluorescentcool002a 189 231 232 400
hdr: lights/fluorescentcool002a 189 231 232 200
ldr: lights/fluorescentcool002b 236 255 182 400
hdr: lights/fluorescentcool002b 236 255 182 200
ldr: lights/fluorescentcool003a 189 231 232 300
hdr: lights/fluorescentcool003a 189 231 232 150
ldr: lights/fluorescentwarm001a 239 216 193 350
hdr: lights/fluorescentwarm001a 239 216 193 175
ldr: lights/fluorescentwarm002a 239 216 193 400
hdr: lights/fluorescentwarm002a 239 216 193 200
ldr: lights/fluorescentwhite001a 245 245 245 350
hdr: lights/fluorescentwhite001a 245 245 245 175
ldr: lights/fluorescentwhite002a 245 245 245 400
hdr: lights/fluorescentwhite002a 245 245 245 200
ldr: lights/hazzardred001a 228 37 0 300
hdr: lights/hazzardred001a 228 37 0 150
ldr: lights/hazzardyellow001a 250 215 74 300
hdr: lights/hazzardyellow001a 250 215 74 150
ldr: lights/HIDcool001a 145 222 172 650
hdr: lights/HIDcool001a 145 222 172 325
ldr: lights/HIDcool001b 205 232 255 650
hdr: lights/HIDcool001b 205 232 255 325
ldr: lights/HIDwarm001a 255 201 116 650
hdr: lights/HIDwarm001a 255 201 116 325
ldr: lights/white001 250 240 205 100
hdr: lights/white001 250 240 205 50
ldr: lights/white002 189 233 247 425
hdr: lights/white002 189 233 247 212
ldr: lights/white003 232 246 190 350
hdr: lights/white003 232 246 190 175
ldr: lights/white004 170 228 247 425
hdr: lights/white004 170 228 247 100
ldr: lights/white005 234 235 220 375
hdr: lights/white005 234 235 220 187
ldr: lights/white006 234 235 220 100
hdr: lights/white006 234 235 220 50
ldr: lights/white001_nochop 250 240 205 100
hdr: lights/white001_nochop 250 240 205 50
ldr: lights/white002_nochop 189 233 247 425
hdr: lights/white002_nochop 189 233 247 212
ldr: lights/white003_nochop 232 246 190 350
hdr: lights/white003_nochop 232 246 190 175
ldr: lights/white004_nochop 170 228 247 425
hdr: lights/white004_nochop 170 228 247 100
ldr: lights/white005_nochop 234 235 220 375
hdr: lights/white005_nochop 234 235 220 187
ldr: lights/white006_nochop 234 235 220 100
hdr: lights/white006_nochop 234 235 220 50
ldr: lights/incandescentcool001a 235 235 235 300
hdr: lights/incandescentcool001a 235 235 235 150
ldr: lights/incandescentwarm001a 250 226 129 300
hdr: lights/incandescentwarm001a 250 226 129 150
ldr: glass/glassscreen001a 172 192 161 225
hdr: glass/glassscreen001a 172 192 161 112
ldr: glass/glasspipe001f 214 72 44 200
hdr: glass/glasspipe001f 214 72 44 100
ldr: glass/glassscreen001c 172 192 161 225
hdr: glass/glassscreen001c 172 192 161 112
ldr: glass/glassscreen001d 211 187 134 225
hdr: glass/glassscreen001d 211 187 134 112
ldr: glass/glassblock001a 70 194 209 200
hdr: glass/glassblock001a 70 194 209 100
ldr: composite/citadelfloor001a 103 143 203 200
hdr: composite/citadelfloor001a 103 143 203 100
ldr: props/tvscreen006a 196 0 0 200
hdr: props/tvscreen006a 196 0 0 100
ldr: shadertest/gooinglass 149 49 15 50
hdr: shadertest/gooinglass 149 49 15 25
ldr: glass/glasswindow002e 189 233 247 425
hdr: glass/glasswindow002e 189 233 247 212
ldr: glass/glasswindow035a 145 222 172 100
hdr: glass/glasswindow035a 145 222 172 50
ldr: dev/DEV_INTERIORLIGHT02B 151 176 204 225
hdr: dev/DEV_INTERIORLIGHT02B 151 176 204 112
ldr: plaster/plasterwall029h 189 223 227 125
hdr: plaster/plasterwall029h 189 223 227 62
ldr: building_template/Building_Trainstation_Template001d 230 230 200 65
hdr: building_template/Building_Trainstation_Template001d 230 230 200 32
ldr: building_template/Building_Trainstation_Template001e 230 230 200 150
hdr: building_template/Building_Trainstation_Template001e 230 230 200 75
ldr: building_template/Building_Trainstation_window002d 230 230 200 300
hdr: building_template/Building_Trainstation_window002d 230 230 200 150
ldr: building_template/Building_Trainstation_window002e 230 230 200 300
hdr: building_template/Building_Trainstation_window002e 230 230 200 150
ldr: lights/physgunlight 189 231 232 20
hdr: lights/physgunlight 189 231 232 10
noshadow tree_deciduous_01a_branches.vmt
noshadow tree_deciduous_01a_leaves.vmt
noshadow tree_deciduous_01a_lod.vmt
noshadow tree_deciduous_01a_lod-leaves.vmt
forcetextureshadow props_wasteland/exterior_fence_notbarbed002a.mdl
forcetextureshadow props_wasteland/exterior_fence_notbarbed002b.mdl
forcetextureshadow props_wasteland/exterior_fence_notbarbed002c.mdl
forcetextureshadow props_wasteland/exterior_fence_notbarbed002d.mdl
forcetextureshadow props_wasteland/exterior_fence_notbarbed002e.mdl
forcetextureshadow props_wasteland/exterior_fence_notbarbed002f.mdl
forcetextureshadow props_wasteland/exterior_fence001a.mdl
forcetextureshadow props_wasteland/exterior_fence001b.mdl
forcetextureshadow props_wasteland/exterior_fence002a.mdl
forcetextureshadow props_wasteland/exterior_fence002b.mdl
forcetextureshadow props_wasteland/exterior_fence002c.mdl
forcetextureshadow props_wasteland/exterior_fence002d.mdl
forcetextureshadow props_wasteland/exterior_fence002e.mdl
forcetextureshadow props_wasteland/exterior_fence003a.mdl
forcetextureshadow props_wasteland/exterior_fence003b.mdl
forcetextureshadow props_foliage/tree_cliff_01a.mdl
forcetextureshadow props_foliage/tree_cliff_02a.mdl
forcetextureshadow props_foliage/tree_deciduous_01a-lod.mdl
forcetextureshadow props_foliage/tree_deciduous_01a.mdl
forcetextureshadow props_foliage/tree_deciduous_02a.mdl
forcetextureshadow props_foliage/tree_deciduous_03a.mdl
forcetextureshadow props_foliage/tree_deciduous_03b.mdl
forcetextureshadow props_foliage/tree_poplar_01.mdl
forcetextureshadow props_wasteland/interior_fence001a.mdl
forcetextureshadow props_wasteland/interior_fence001b.mdl
forcetextureshadow props_wasteland/interior_fence001c.mdl
forcetextureshadow props_wasteland/interior_fence001d.mdl
forcetextureshadow props_wasteland/interior_fence001e.mdl
forcetextureshadow props_wasteland/interior_fence001g.mdl
forcetextureshadow props_wasteland/interior_fence002a.mdl
forcetextureshadow props_wasteland/interior_fence002b.mdl
forcetextureshadow props_wasteland/interior_fence002c.mdl
forcetextureshadow props_wasteland/interior_fence002d.mdl
forcetextureshadow props_wasteland/interior_fence002e.mdl
forcetextureshadow props_wasteland/interior_fence002f.mdl
forcetextureshadow props_wasteland/interior_fence003a.mdl
forcetextureshadow props_wasteland/interior_fence003b.mdl
forcetextureshadow props_wasteland/interior_fence003d.mdl
forcetextureshadow props_wasteland/interior_fence003e.mdl
forcetextureshadow props_wasteland/interior_fence003f.mdl
forcetextureshadow props_wasteland/interior_fence004a.mdl
ldr: lights/fluorescentcool001a 189 231 232 350
hdr: lights/fluorescentcool001a 189 231 232 175
ldr: lights/fluorescentcool001b 236 255 182 350
hdr: lights/fluorescentcool001b 236 255 182 175
ldr: lights/fluorescentcool002a 189 231 232 400
hdr: lights/fluorescentcool002a 189 231 232 200
ldr: lights/fluorescentcool002b 236 255 182 400
hdr: lights/fluorescentcool002b 236 255 182 200
ldr: lights/fluorescentcool003a 189 231 232 300
hdr: lights/fluorescentcool003a 189 231 232 150
ldr: lights/fluorescentwarm001a 239 216 193 350
hdr: lights/fluorescentwarm001a 239 216 193 175
ldr: lights/fluorescentwarm002a 239 216 193 400
hdr: lights/fluorescentwarm002a 239 216 193 200
ldr: lights/fluorescentwhite001a 245 245 245 350
hdr: lights/fluorescentwhite001a 245 245 245 175
ldr: lights/fluorescentwhite002a 245 245 245 400
hdr: lights/fluorescentwhite002a 245 245 245 200
ldr: lights/hazzardred001a 228 37 0 300
hdr: lights/hazzardred001a 228 37 0 150
ldr: lights/hazzardyellow001a 250 215 74 300
hdr: lights/hazzardyellow001a 250 215 74 150
ldr: lights/HIDcool001a 145 222 172 650
hdr: lights/HIDcool001a 145 222 172 325
ldr: lights/HIDcool001b 205 232 255 650
hdr: lights/HIDcool001b 205 232 255 325
ldr: lights/HIDwarm001a 255 201 116 650
hdr: lights/HIDwarm001a 255 201 116 325
ldr: lights/white001 250 240 205 100
hdr: lights/white001 250 240 205 50
ldr: lights/white002 189 233 247 425
hdr: lights/white002 189 233 247 212
ldr: lights/white003 232 246 190 350
hdr: lights/white003 232 246 190 175
ldr: lights/white004 170 228 247 425
hdr: lights/white004 170 228 247 100
ldr: lights/white005 234 235 220 375
hdr: lights/white005 234 235 220 187
ldr: lights/white006 234 235 220 100
hdr: lights/white006 234 235 220 50
ldr: lights/white001_nochop 250 240 205 100
hdr: lights/white001_nochop 250 240 205 50
ldr: lights/white002_nochop 189 233 247 425
hdr: lights/white002_nochop 189 233 247 212
ldr: lights/white003_nochop 232 246 190 350
hdr: lights/white003_nochop 232 246 190 175
ldr: lights/white004_nochop 170 228 247 425
hdr: lights/white004_nochop 170 228 247 100
ldr: lights/white005_nochop 234 235 220 375
hdr: lights/white005_nochop 234 235 220 187
ldr: lights/white006_nochop 234 235 220 100
hdr: lights/white006_nochop 234 235 220 50
ldr: lights/incandescentcool001a 235 235 235 300
hdr: lights/incandescentcool001a 235 235 235 150
ldr: lights/incandescentwarm001a 250 226 129 300
hdr: lights/incandescentwarm001a 250 226 129 150
ldr: glass/glassscreen001a 172 192 161 225
hdr: glass/glassscreen001a 172 192 161 112
ldr: glass/glasspipe001f 214 72 44 200
hdr: glass/glasspipe001f 214 72 44 100
ldr: glass/glassscreen001c 172 192 161 225
hdr: glass/glassscreen001c 172 192 161 112
ldr: glass/glassscreen001d 211 187 134 225
hdr: glass/glassscreen001d 211 187 134 112
ldr: glass/glassblock001a 70 194 209 200
hdr: glass/glassblock001a 70 194 209 100
ldr: composite/citadelfloor001a 103 143 203 200
hdr: composite/citadelfloor001a 103 143 203 100
ldr: props/tvscreen006a 196 0 0 200
hdr: props/tvscreen006a 196 0 0 100
ldr: shadertest/gooinglass 149 49 15 50
hdr: shadertest/gooinglass 149 49 15 25
ldr: glass/glasswindow002e 189 233 247 425
hdr: glass/glasswindow002e 189 233 247 212
ldr: glass/glasswindow035a 145 222 172 100
hdr: glass/glasswindow035a 145 222 172 50
ldr: dev/DEV_INTERIORLIGHT02B 151 176 204 225
hdr: dev/DEV_INTERIORLIGHT02B 151 176 204 112
ldr: plaster/plasterwall029h 189 223 227 125
hdr: plaster/plasterwall029h 189 223 227 62
ldr: building_template/Building_Trainstation_Template001d 230 230 200 65
hdr: building_template/Building_Trainstation_Template001d 230 230 200 32
ldr: building_template/Building_Trainstation_Template001e 230 230 200 150
hdr: building_template/Building_Trainstation_Template001e 230 230 200 75
ldr: building_template/Building_Trainstation_window002d 230 230 200 300
hdr: building_template/Building_Trainstation_window002d 230 230 200 150
ldr: building_template/Building_Trainstation_window002e 230 230 200 300
hdr: building_template/Building_Trainstation_window002e 230 230 200 150
ldr: lights/physgunlight 189 231 232 20
hdr: lights/physgunlight 189 231 232 10
noshadow tree_deciduous_01a_branches.vmt
noshadow tree_deciduous_01a_leaves.vmt
noshadow tree_deciduous_01a_lod.vmt
noshadow tree_deciduous_01a_lod-leaves.vmt
forcetextureshadow props_wasteland/exterior_fence_notbarbed002a.mdl
forcetextureshadow props_wasteland/exterior_fence_notbarbed002b.mdl
forcetextureshadow props_wasteland/exterior_fence_notbarbed002c.mdl
forcetextureshadow props_wasteland/exterior_fence_notbarbed002d.mdl
forcetextureshadow props_wasteland/exterior_fence_notbarbed002e.mdl
forcetextureshadow props_wasteland/exterior_fence_notbarbed002f.mdl
forcetextureshadow props_wasteland/exterior_fence001a.mdl
forcetextureshadow props_wasteland/exterior_fence001b.mdl
forcetextureshadow props_wasteland/exterior_fence002a.mdl
forcetextureshadow props_wasteland/exterior_fence002b.mdl
forcetextureshadow props_wasteland/exterior_fence002c.mdl
forcetextureshadow props_wasteland/exterior_fence002d.mdl
forcetextureshadow props_wasteland/exterior_fence002e.mdl
forcetextureshadow props_wasteland/exterior_fence003a.mdl
forcetextureshadow props_wasteland/exterior_fence003b.mdl
forcetextureshadow props_foliage/tree_cliff_01a.mdl
forcetextureshadow props_foliage/tree_cliff_02a.mdl
forcetextureshadow props_foliage/tree_deciduous_01a-lod.mdl
forcetextureshadow props_foliage/tree_deciduous_01a.mdl
forcetextureshadow props_foliage/tree_deciduous_02a.mdl
forcetextureshadow props_foliage/tree_deciduous_03a.mdl
forcetextureshadow props_foliage/tree_deciduous_03b.mdl
forcetextureshadow props_foliage/tree_poplar_01.mdl
forcetextureshadow props_wasteland/interior_fence001a.mdl
forcetextureshadow props_wasteland/interior_fence001b.mdl
forcetextureshadow props_wasteland/interior_fence001c.mdl
forcetextureshadow props_wasteland/interior_fence001d.mdl
forcetextureshadow props_wasteland/interior_fence001e.mdl
forcetextureshadow props_wasteland/interior_fence001g.mdl
forcetextureshadow props_wasteland/interior_fence002a.mdl
forcetextureshadow props_wasteland/interior_fence002b.mdl
forcetextureshadow props_wasteland/interior_fence002c.mdl
forcetextureshadow props_wasteland/interior_fence002d.mdl
forcetextureshadow props_wasteland/interior_fence002e.mdl
forcetextureshadow props_wasteland/interior_fence002f.mdl
forcetextureshadow props_wasteland/interior_fence003a.mdl
forcetextureshadow props_wasteland/interior_fence003b.mdl
forcetextureshadow props_wasteland/interior_fence003d.mdl
forcetextureshadow props_wasteland/interior_fence003e.mdl
forcetextureshadow props_wasteland/interior_fence003f.mdl
forcetextureshadow props_wasteland/interior_fence004a.mdl
forcetextureshadow props_wasteland/interior_fence004b.mdl

View File

@@ -1,7 +1,7 @@
"Mod_Example_Model"
{
"$basetexture" "Models/props_c17/Oil_Drum001g"
// "$basetexturetransform" "center 0 0 scale 1 2 rotate 0 translate 0 0"
// "$AlphaTestReference" "0.5"
"$surfaceprop" "metal"
}
"Mod_Example_Model"
{
"$basetexture" "Models/props_c17/Oil_Drum001g"
// "$basetexturetransform" "center 0 0 scale 1 2 rotate 0 translate 0 0"
// "$AlphaTestReference" "0.5"
"$surfaceprop" "metal"
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +1,19 @@
"chapters"
{
1 "background01"
2 "background01"
3 "background02"
4 "background02"
5 "background03"
6 "background03"
7 "background04"
8 "background04"
9 "background05"
9a "background05"
10 "background06"
11 "background06"
12 "background07"
13 "background07"
14 "background07"
15 "background07"
"chapters"
{
1 "background01"
2 "background01"
3 "background02"
4 "background02"
5 "background03"
6 "background03"
7 "background04"
8 "background04"
9 "background05"
9a "background05"
10 "background06"
11 "background06"
12 "background07"
13 "background07"
14 "background07"
15 "background07"
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,314 +1,314 @@
//Adrian: This file contains the credits info for both the Intro and outro.
"credits.txt"
{
//========================================================
//These are the names used in the intro (trainride)
//========================================================
"IntroCreditsNames"
{
"V" "WeaponIcons"
" " "CreditsText"
" " "CreditsText"
"Viktor Antonov" "CreditsText"
"Ted Backman" "CreditsText"
"Kelly Bailey" "CreditsText"
"Jeff Ballinger" "CreditsText"
"Matt Bamberger" "CreditsText"
"Aaron Barber" "CreditsText"
"Yahn Bernier" "CreditsText"
"Ken Birdwell" "CreditsText"
"Derrick Birum" "CreditsText"
"Chris Bokitch" "CreditsText"
"Steve Bond" "CreditsText"
"Matt Boone" "CreditsText"
"Charlie Brown" "CreditsText"
"Julie Caldwell" "CreditsText"
"Dario Casali" "CreditsText"
"Yvan Charpentier" "CreditsText"
"Jess Cliffe" "CreditsText"
"John Cook" "CreditsText"
"Greg Coomer" "CreditsText"
"Kellie Cosner" "CreditsText"
"Scott Dalton" "CreditsText"
"Kerry Davis" "CreditsText"
"Jason Deakins" "CreditsText"
"Ariel Diaz" "CreditsText"
"Quintin Doroquez" "CreditsText"
"Martha Draves" "CreditsText"
"Laura Dubuk" "CreditsText"
"Mike Dunkle" "CreditsText"
"Mike Dussault" "CreditsText"
"Rick Ellis" "CreditsText"
"Dhabih Eng" "CreditsText"
"Miles Estes" "CreditsText"
"Adrian Finol" "CreditsText"
"Bill Fletcher" "CreditsText"
"Moby Francke" "CreditsText"
"Pat Goodwin" "CreditsText"
"Chris Green" "CreditsText"
"Chris Grinstead" "CreditsText"
"John Guthrie" "CreditsText"
"Leslie Hall" "CreditsText"
"Damarcus Holbrook" "CreditsText"
"Tim Holt" "CreditsText"
"Brian Jacobson" "CreditsText"
"Erik Johnson" "CreditsText"
"Jakob Jungels" "CreditsText"
"Iikka Keranen" "CreditsText"
"Eric Kirchmer" "CreditsText"
"Marc Laidlaw" "CreditsText"
"Jeff Lane" "CreditsText"
"Tom Leonard" "CreditsText"
"Doug Lombardi" "CreditsText"
"Randy Lundeen" "CreditsText"
"Scott Lynch" "CreditsText"
"Ido Magal" "CreditsText"
"Gary McTaggart" "CreditsText"
"John Morello II" "CreditsText"
"Bryn Moslow" "CreditsText"
"Gabe Newell" "CreditsText"
"Tri Nguyen" "CreditsText"
"Jake Nicholson" "CreditsText"
"Martin Otten" "CreditsText"
"Kristen Perry" "CreditsText"
"Bay Raitt" "CreditsText"
"Alfred Reynolds" "CreditsText"
"Dave Riller" "CreditsText"
"Danika Rogers" "CreditsText"
"David Sawyer" "CreditsText"
"Aaron Seeler" "CreditsText"
"Nick Shaffner" "CreditsText"
"Taylor Sherman" "CreditsText"
"Eric Smith" "CreditsText"
"David Speyrer" "CreditsText"
"Jay Stelly" "CreditsText"
"Jeremy Stone" "CreditsText"
"Mikel Thompson" "CreditsText"
"Kelly Thornton" "CreditsText"
"Carl Uhlman" "CreditsText"
"Bill Van Buren" "CreditsText"
"KayLee Vogt" "CreditsText"
"Robin Walker" "CreditsText"
"Josh Weier" "CreditsText"
"Doug Wood" "CreditsText"
"Matt T Wood" "CreditsText"
"Matt Wright" "CreditsText"
}
"CreditsParams"
{
"logo" "HALF-LIFE'"
"fadeintime" "2.5"
"fadeouttime" "1"
"fadeholdtime" "1.0"
"nextfadetime" "1.0"
"pausebetweenwaves" "1.0"
"logotime" "1.0"
"posx" "96"
"posy" "360"
"color" "255 255 255 128"
//Outro Parameters
"scrolltime" "158"
"separation" "10"
}
//========================================================
//These are the names used in the outro (breen_01)
//========================================================
"OutroCreditsNames"
{
"HALF-LIFE'" "CreditsOutroLogos"
" " "CreditsOutroText"
"V" "CreditsOutroLogos"
" " "CreditsOutroText"
"Viktor Antonov" "CreditsOutroText"
"Ted Backman" "CreditsOutroText"
"Kelly Bailey" "CreditsOutroText"
"Jeff Ballinger" "CreditsOutroText"
"Matt Bamberger" "CreditsOutroText"
"Aaron Barber" "CreditsOutroText"
"Yahn Bernier" "CreditsOutroText"
"Ken Birdwell" "CreditsOutroText"
"Derrick Birum" "CreditsOutroText"
"Chris Bokitch" "CreditsOutroText"
"Steve Bond" "CreditsOutroText"
"Matt Boone" "CreditsOutroText"
"Charlie Brown" "CreditsOutroText"
"Julie Caldwell" "CreditsOutroText"
"Dario Casali" "CreditsOutroText"
"Yvan Charpentier" "CreditsOutroText"
"Jess Cliffe" "CreditsOutroText"
"John Cook" "CreditsOutroText"
"Greg Coomer" "CreditsOutroText"
"Kellie Cosner" "CreditsOutroText"
"Scott Dalton" "CreditsOutroText"
"Kerry Davis" "CreditsOutroText"
"Jason Deakins" "CreditsOutroText"
"Ariel Diaz" "CreditsOutroText"
"Quintin Doroquez" "CreditsOutroText"
"Martha Draves" "CreditsOutroText"
"Laura Dubuk" "CreditsOutroText"
"Mike Dunkle" "CreditsOutroText"
"Mike Dussault" "CreditsOutroText"
"Rick Ellis" "CreditsOutroText"
"Dhabih Eng" "CreditsOutroText"
"Miles Estes" "CreditsOutroText"
"Adrian Finol" "CreditsOutroText"
"Bill Fletcher" "CreditsOutroText"
"Moby Francke" "CreditsOutroText"
"Pat Goodwin" "CreditsOutroText"
"Chris Green" "CreditsOutroText"
"Chris Grinstead" "CreditsOutroText"
"John Guthrie" "CreditsOutroText"
"Leslie Hall" "CreditsOutroText"
"Damarcus Holbrook" "CreditsOutroText"
"Tim Holt" "CreditsOutroText"
"Brian Jacobson" "CreditsOutroText"
"Erik Johnson" "CreditsOutroText"
"Jakob Jungels" "CreditsOutroText"
"Iikka Keranen" "CreditsOutroText"
"Eric Kirchmer" "CreditsOutroText"
"Marc Laidlaw" "CreditsOutroText"
"Jeff Lane" "CreditsOutroText"
"Tom Leonard" "CreditsOutroText"
"Doug Lombardi" "CreditsOutroText"
"Randy Lundeen" "CreditsOutroText"
"Scott Lynch" "CreditsOutroText"
"Ido Magal" "CreditsOutroText"
"Gary McTaggart" "CreditsOutroText"
"John Morello II" "CreditsOutroText"
"Bryn Moslow" "CreditsOutroText"
"Gabe Newell" "CreditsOutroText"
"Tri Nguyen" "CreditsOutroText"
"Jake Nicholson" "CreditsOutroText"
"Martin Otten" "CreditsOutroText"
"Kristen Perry" "CreditsOutroText"
"Bay Raitt" "CreditsOutroText"
"Alfred Reynolds" "CreditsOutroText"
"Dave Riller" "CreditsOutroText"
"Danika Rogers" "CreditsOutroText"
"David Sawyer" "CreditsOutroText"
"Aaron Seeler" "CreditsOutroText"
"Nick Shaffner" "CreditsOutroText"
"Taylor Sherman" "CreditsOutroText"
"Eric Smith" "CreditsOutroText"
"David Speyrer" "CreditsOutroText"
"Jay Stelly" "CreditsOutroText"
"Jeremy Stone" "CreditsOutroText"
"Mikel Thompson" "CreditsOutroText"
"Kelly Thornton" "CreditsOutroText"
"Carl Uhlman" "CreditsOutroText"
"Bill Van Buren" "CreditsOutroText"
"KayLee Vogt" "CreditsOutroText"
"Robin Walker" "CreditsOutroText"
"Josh Weier" "CreditsOutroText"
"Doug Wood" "CreditsOutroText"
"Matt T. Wood" "CreditsOutroText"
"Matt Wright" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Voices:" "CreditsOutroText"
"Robert Guillaume - Dr. Eli Vance" "CreditsOutroText"
"Robert Culp - Dr. Wallace Breen" "CreditsOutroText"
"Lou Gossett, Jr. - Vortigaunt" "CreditsOutroText"
"Michelle Forbes - Dr. Judith Mossman" "CreditsOutroText"
"Merle Dandridge - Alyx Vance" "CreditsOutroText"
"Mike Shapiro - Barney Calhoun" "CreditsOutroText"
"Mike Shapiro - Gman" "CreditsOutroText"
"Harry S. Robins - Dr. Isaac Kleiner" "CreditsOutroText"
"Jim French - Father Grigori" "CreditsOutroText"
"John Patrick Lowrie - Citizens\Misc. characters" "CreditsOutroText"
"Mary Kae Irvin - Citizens\Misc. characters" "CreditsOutroText"
"Ellen McLain - Overwatch" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Voice Casting:" "CreditsOutroText"
"Shana Landsburg\Teri Fiddleman" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Voice Recording:" "CreditsOutroText"
"Pure Audio, Seattle, WA" "CreditsOutroText"
"LA Studios, LA, CA" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Voice recording scheduling and logistics:" "CreditsOutroText"
"Pat Cockburn, Pure Audio" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Translations:" "CreditsOutroText"
"SDL" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Crack Legal Team:" "CreditsOutroText"
"Liam Lavery" "CreditsOutroText"
"Jason Holtman" "CreditsOutroText"
"Karl Quackenbush" "CreditsOutroText"
"Kristen Boraas" "CreditsOutroText"
"Kevin Rosenfield" "CreditsOutroText"
"Alan Bruggeman" "CreditsOutroText"
"Dennis Tessier" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Thanks to the following for the use of their faces:" "CreditsOutroText"
"Jamil Mullen" "CreditsOutroText"
"Art Min" "CreditsOutroText"
"Larry 'The Count' Heard" "CreditsOutroText"
"Ted Cohrt" "CreditsOutroText"
"Roger Guay" "CreditsOutroText"
"Frank Sheldon" "CreditsOutroText"
"Travis Dunlop" "CreditsOutroText"
"Daniel Dociu" "CreditsOutroText"
"Van Crowder" "CreditsOutroText"
"Joey Paresa" "CreditsOutroText"
"Chau Luu" "CreditsOutroText"
"Kim Harris-Jones" "CreditsOutroText"
"Michael S. Smith" "CreditsOutroText"
"Joe Cairo" "CreditsOutroText"
"Naomi Cotton" "CreditsOutroText"
"Sandro Consi" "CreditsOutroText"
"Lakeetra Gilbert" "CreditsOutroText"
"Erdin Grcic" "CreditsOutroText"
"Kanisha Speyrer" "CreditsOutroText"
"Warren Slough" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Special thanks to everyone at:" "CreditsOutroText"
"Alienware" "CreditsOutroText"
"ATI" "CreditsOutroText"
"Dell" "CreditsOutroText"
"Falcon Northwest" "CreditsOutroText"
"Havok" "CreditsOutroText"
"SOFTIMAGE" "CreditsOutroText"
"and Don Kemmis, SLK Technologies" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"v" "CreditsOutroText"
}
//Adrian: This file contains the credits info for both the Intro and outro.
"credits.txt"
{
//========================================================
//These are the names used in the intro (trainride)
//========================================================
"IntroCreditsNames"
{
"V" "WeaponIcons"
" " "CreditsText"
" " "CreditsText"
"Viktor Antonov" "CreditsText"
"Ted Backman" "CreditsText"
"Kelly Bailey" "CreditsText"
"Jeff Ballinger" "CreditsText"
"Matt Bamberger" "CreditsText"
"Aaron Barber" "CreditsText"
"Yahn Bernier" "CreditsText"
"Ken Birdwell" "CreditsText"
"Derrick Birum" "CreditsText"
"Chris Bokitch" "CreditsText"
"Steve Bond" "CreditsText"
"Matt Boone" "CreditsText"
"Charlie Brown" "CreditsText"
"Julie Caldwell" "CreditsText"
"Dario Casali" "CreditsText"
"Yvan Charpentier" "CreditsText"
"Jess Cliffe" "CreditsText"
"John Cook" "CreditsText"
"Greg Coomer" "CreditsText"
"Kellie Cosner" "CreditsText"
"Scott Dalton" "CreditsText"
"Kerry Davis" "CreditsText"
"Jason Deakins" "CreditsText"
"Ariel Diaz" "CreditsText"
"Quintin Doroquez" "CreditsText"
"Martha Draves" "CreditsText"
"Laura Dubuk" "CreditsText"
"Mike Dunkle" "CreditsText"
"Mike Dussault" "CreditsText"
"Rick Ellis" "CreditsText"
"Dhabih Eng" "CreditsText"
"Miles Estes" "CreditsText"
"Adrian Finol" "CreditsText"
"Bill Fletcher" "CreditsText"
"Moby Francke" "CreditsText"
"Pat Goodwin" "CreditsText"
"Chris Green" "CreditsText"
"Chris Grinstead" "CreditsText"
"John Guthrie" "CreditsText"
"Leslie Hall" "CreditsText"
"Damarcus Holbrook" "CreditsText"
"Tim Holt" "CreditsText"
"Brian Jacobson" "CreditsText"
"Erik Johnson" "CreditsText"
"Jakob Jungels" "CreditsText"
"Iikka Keranen" "CreditsText"
"Eric Kirchmer" "CreditsText"
"Marc Laidlaw" "CreditsText"
"Jeff Lane" "CreditsText"
"Tom Leonard" "CreditsText"
"Doug Lombardi" "CreditsText"
"Randy Lundeen" "CreditsText"
"Scott Lynch" "CreditsText"
"Ido Magal" "CreditsText"
"Gary McTaggart" "CreditsText"
"John Morello II" "CreditsText"
"Bryn Moslow" "CreditsText"
"Gabe Newell" "CreditsText"
"Tri Nguyen" "CreditsText"
"Jake Nicholson" "CreditsText"
"Martin Otten" "CreditsText"
"Kristen Perry" "CreditsText"
"Bay Raitt" "CreditsText"
"Alfred Reynolds" "CreditsText"
"Dave Riller" "CreditsText"
"Danika Rogers" "CreditsText"
"David Sawyer" "CreditsText"
"Aaron Seeler" "CreditsText"
"Nick Shaffner" "CreditsText"
"Taylor Sherman" "CreditsText"
"Eric Smith" "CreditsText"
"David Speyrer" "CreditsText"
"Jay Stelly" "CreditsText"
"Jeremy Stone" "CreditsText"
"Mikel Thompson" "CreditsText"
"Kelly Thornton" "CreditsText"
"Carl Uhlman" "CreditsText"
"Bill Van Buren" "CreditsText"
"KayLee Vogt" "CreditsText"
"Robin Walker" "CreditsText"
"Josh Weier" "CreditsText"
"Doug Wood" "CreditsText"
"Matt T Wood" "CreditsText"
"Matt Wright" "CreditsText"
}
"CreditsParams"
{
"logo" "HALF-LIFE'"
"fadeintime" "2.5"
"fadeouttime" "1"
"fadeholdtime" "1.0"
"nextfadetime" "1.0"
"pausebetweenwaves" "1.0"
"logotime" "1.0"
"posx" "96"
"posy" "360"
"color" "255 255 255 128"
//Outro Parameters
"scrolltime" "158"
"separation" "10"
}
//========================================================
//These are the names used in the outro (breen_01)
//========================================================
"OutroCreditsNames"
{
"HALF-LIFE'" "CreditsOutroLogos"
" " "CreditsOutroText"
"V" "CreditsOutroLogos"
" " "CreditsOutroText"
"Viktor Antonov" "CreditsOutroText"
"Ted Backman" "CreditsOutroText"
"Kelly Bailey" "CreditsOutroText"
"Jeff Ballinger" "CreditsOutroText"
"Matt Bamberger" "CreditsOutroText"
"Aaron Barber" "CreditsOutroText"
"Yahn Bernier" "CreditsOutroText"
"Ken Birdwell" "CreditsOutroText"
"Derrick Birum" "CreditsOutroText"
"Chris Bokitch" "CreditsOutroText"
"Steve Bond" "CreditsOutroText"
"Matt Boone" "CreditsOutroText"
"Charlie Brown" "CreditsOutroText"
"Julie Caldwell" "CreditsOutroText"
"Dario Casali" "CreditsOutroText"
"Yvan Charpentier" "CreditsOutroText"
"Jess Cliffe" "CreditsOutroText"
"John Cook" "CreditsOutroText"
"Greg Coomer" "CreditsOutroText"
"Kellie Cosner" "CreditsOutroText"
"Scott Dalton" "CreditsOutroText"
"Kerry Davis" "CreditsOutroText"
"Jason Deakins" "CreditsOutroText"
"Ariel Diaz" "CreditsOutroText"
"Quintin Doroquez" "CreditsOutroText"
"Martha Draves" "CreditsOutroText"
"Laura Dubuk" "CreditsOutroText"
"Mike Dunkle" "CreditsOutroText"
"Mike Dussault" "CreditsOutroText"
"Rick Ellis" "CreditsOutroText"
"Dhabih Eng" "CreditsOutroText"
"Miles Estes" "CreditsOutroText"
"Adrian Finol" "CreditsOutroText"
"Bill Fletcher" "CreditsOutroText"
"Moby Francke" "CreditsOutroText"
"Pat Goodwin" "CreditsOutroText"
"Chris Green" "CreditsOutroText"
"Chris Grinstead" "CreditsOutroText"
"John Guthrie" "CreditsOutroText"
"Leslie Hall" "CreditsOutroText"
"Damarcus Holbrook" "CreditsOutroText"
"Tim Holt" "CreditsOutroText"
"Brian Jacobson" "CreditsOutroText"
"Erik Johnson" "CreditsOutroText"
"Jakob Jungels" "CreditsOutroText"
"Iikka Keranen" "CreditsOutroText"
"Eric Kirchmer" "CreditsOutroText"
"Marc Laidlaw" "CreditsOutroText"
"Jeff Lane" "CreditsOutroText"
"Tom Leonard" "CreditsOutroText"
"Doug Lombardi" "CreditsOutroText"
"Randy Lundeen" "CreditsOutroText"
"Scott Lynch" "CreditsOutroText"
"Ido Magal" "CreditsOutroText"
"Gary McTaggart" "CreditsOutroText"
"John Morello II" "CreditsOutroText"
"Bryn Moslow" "CreditsOutroText"
"Gabe Newell" "CreditsOutroText"
"Tri Nguyen" "CreditsOutroText"
"Jake Nicholson" "CreditsOutroText"
"Martin Otten" "CreditsOutroText"
"Kristen Perry" "CreditsOutroText"
"Bay Raitt" "CreditsOutroText"
"Alfred Reynolds" "CreditsOutroText"
"Dave Riller" "CreditsOutroText"
"Danika Rogers" "CreditsOutroText"
"David Sawyer" "CreditsOutroText"
"Aaron Seeler" "CreditsOutroText"
"Nick Shaffner" "CreditsOutroText"
"Taylor Sherman" "CreditsOutroText"
"Eric Smith" "CreditsOutroText"
"David Speyrer" "CreditsOutroText"
"Jay Stelly" "CreditsOutroText"
"Jeremy Stone" "CreditsOutroText"
"Mikel Thompson" "CreditsOutroText"
"Kelly Thornton" "CreditsOutroText"
"Carl Uhlman" "CreditsOutroText"
"Bill Van Buren" "CreditsOutroText"
"KayLee Vogt" "CreditsOutroText"
"Robin Walker" "CreditsOutroText"
"Josh Weier" "CreditsOutroText"
"Doug Wood" "CreditsOutroText"
"Matt T. Wood" "CreditsOutroText"
"Matt Wright" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Voices:" "CreditsOutroText"
"Robert Guillaume - Dr. Eli Vance" "CreditsOutroText"
"Robert Culp - Dr. Wallace Breen" "CreditsOutroText"
"Lou Gossett, Jr. - Vortigaunt" "CreditsOutroText"
"Michelle Forbes - Dr. Judith Mossman" "CreditsOutroText"
"Merle Dandridge - Alyx Vance" "CreditsOutroText"
"Mike Shapiro - Barney Calhoun" "CreditsOutroText"
"Mike Shapiro - Gman" "CreditsOutroText"
"Harry S. Robins - Dr. Isaac Kleiner" "CreditsOutroText"
"Jim French - Father Grigori" "CreditsOutroText"
"John Patrick Lowrie - Citizens\Misc. characters" "CreditsOutroText"
"Mary Kae Irvin - Citizens\Misc. characters" "CreditsOutroText"
"Ellen McLain - Overwatch" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Voice Casting:" "CreditsOutroText"
"Shana Landsburg\Teri Fiddleman" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Voice Recording:" "CreditsOutroText"
"Pure Audio, Seattle, WA" "CreditsOutroText"
"LA Studios, LA, CA" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Voice recording scheduling and logistics:" "CreditsOutroText"
"Pat Cockburn, Pure Audio" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Translations:" "CreditsOutroText"
"SDL" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Crack Legal Team:" "CreditsOutroText"
"Liam Lavery" "CreditsOutroText"
"Jason Holtman" "CreditsOutroText"
"Karl Quackenbush" "CreditsOutroText"
"Kristen Boraas" "CreditsOutroText"
"Kevin Rosenfield" "CreditsOutroText"
"Alan Bruggeman" "CreditsOutroText"
"Dennis Tessier" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Thanks to the following for the use of their faces:" "CreditsOutroText"
"Jamil Mullen" "CreditsOutroText"
"Art Min" "CreditsOutroText"
"Larry 'The Count' Heard" "CreditsOutroText"
"Ted Cohrt" "CreditsOutroText"
"Roger Guay" "CreditsOutroText"
"Frank Sheldon" "CreditsOutroText"
"Travis Dunlop" "CreditsOutroText"
"Daniel Dociu" "CreditsOutroText"
"Van Crowder" "CreditsOutroText"
"Joey Paresa" "CreditsOutroText"
"Chau Luu" "CreditsOutroText"
"Kim Harris-Jones" "CreditsOutroText"
"Michael S. Smith" "CreditsOutroText"
"Joe Cairo" "CreditsOutroText"
"Naomi Cotton" "CreditsOutroText"
"Sandro Consi" "CreditsOutroText"
"Lakeetra Gilbert" "CreditsOutroText"
"Erdin Grcic" "CreditsOutroText"
"Kanisha Speyrer" "CreditsOutroText"
"Warren Slough" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"Special thanks to everyone at:" "CreditsOutroText"
"Alienware" "CreditsOutroText"
"ATI" "CreditsOutroText"
"Dell" "CreditsOutroText"
"Falcon Northwest" "CreditsOutroText"
"Havok" "CreditsOutroText"
"SOFTIMAGE" "CreditsOutroText"
"and Don Kemmis, SLK Technologies" "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
" " "CreditsOutroText"
"v" "CreditsOutroText"
}
}

View File

@@ -1,124 +1,124 @@
"sprites/640_hud"
{
TextureData
{
"arrow" [$WIN32]
{
"file" "sprites/arrow"
"x" "0"
"y" "0"
"width" "32"
"height" "32"
}
"autoaim_c" [$WIN32]
{
"file" "sprites/crosshairs"
"x" "96"
"y" "0"
"width" "24"
"height" "24"
}
"item_battery" [$WIN32]
{
"font" "WeaponIcons"
"character" "*"
}
"item_healthkit" [$WIN32]
{
"font" "WeaponIcons"
"character" "+"
}
"crosshair"
{
"file" "sprites/qi_center"
"x" "0"
"y" "0"
"width" "40"
"height" "40"
}
"crosshair_left"
{
"font" "QuickInfo"
"character" "("
}
"crosshair_right"
{
"font" "QuickInfo"
"character" ")"
}
"crosshair_left_full"
{
"font" "QuickInfo"
"character" "["
}
"crosshair_right_full"
{
"font" "QuickInfo"
"character" "]"
}
"crosshair_left_empty"
{
"font" "QuickInfo"
"character" "{"
}
"crosshair_right_empty"
{
"font" "QuickInfo"
"character" "}"
}
"crosshair_default"
{
"file" "sprites/crosshairs"
"x" "0"
"y" "48"
"width" "24"
"height" "24"
}
"crosshair_xbox"
{
"file" "vgui/hud/xbox_reticle"
"x" "0"
"y" "0"
"width" "64"
"height" "64"
}
"viewhair"
{
"file" "sprites/hud/v_crosshair2"
"x" "0"
"y" "0"
"width" "32"
"height" "32"
}
"gunhair"
{
"file" "sprites/hud/v_crosshair1"
"x" "0"
"y" "0"
"width" "32"
"height" "32"
}
"plushair"
{
"font" "Crosshairs"
"character" "Q"
}
"ico_friend_indicator"
{
"file" "vgui/ico_friend_indicator_alone"
"x" "0"
"y" "0"
"width" "32"
"height" "32"
}
"ico_friend_indicator_avatar"
{
"file" "vgui/ico_friend_indicator_scoreboard"
"x" "-1"
"y" "-1"
"width" "57"
"height" "36"
}
}
}
"sprites/640_hud"
{
TextureData
{
"arrow" [$WIN32]
{
"file" "sprites/arrow"
"x" "0"
"y" "0"
"width" "32"
"height" "32"
}
"autoaim_c" [$WIN32]
{
"file" "sprites/crosshairs"
"x" "96"
"y" "0"
"width" "24"
"height" "24"
}
"item_battery" [$WIN32]
{
"font" "WeaponIcons"
"character" "*"
}
"item_healthkit" [$WIN32]
{
"font" "WeaponIcons"
"character" "+"
}
"crosshair"
{
"file" "sprites/qi_center"
"x" "0"
"y" "0"
"width" "40"
"height" "40"
}
"crosshair_left"
{
"font" "QuickInfo"
"character" "("
}
"crosshair_right"
{
"font" "QuickInfo"
"character" ")"
}
"crosshair_left_full"
{
"font" "QuickInfo"
"character" "["
}
"crosshair_right_full"
{
"font" "QuickInfo"
"character" "]"
}
"crosshair_left_empty"
{
"font" "QuickInfo"
"character" "{"
}
"crosshair_right_empty"
{
"font" "QuickInfo"
"character" "}"
}
"crosshair_default"
{
"file" "sprites/crosshairs"
"x" "0"
"y" "48"
"width" "24"
"height" "24"
}
"crosshair_xbox"
{
"file" "vgui/hud/xbox_reticle"
"x" "0"
"y" "0"
"width" "64"
"height" "64"
}
"viewhair"
{
"file" "sprites/hud/v_crosshair2"
"x" "0"
"y" "0"
"width" "32"
"height" "32"
}
"gunhair"
{
"file" "sprites/hud/v_crosshair1"
"x" "0"
"y" "0"
"width" "32"
"height" "32"
}
"plushair"
{
"font" "Crosshairs"
"character" "Q"
}
"ico_friend_indicator"
{
"file" "vgui/ico_friend_indicator_alone"
"x" "0"
"y" "0"
"width" "32"
"height" "32"
}
"ico_friend_indicator_avatar"
{
"file" "vgui/ico_friend_indicator_scoreboard"
"x" "-1"
"y" "-1"
"width" "57"
"height" "36"
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,491 +1,491 @@
// "prop data name"
// {
// "property" "value"
// ...
// }
//
//
// "base" : Specify a base propdata class to derive from (base types can be found in propdata.txt)
//
// "blockLOS" : Override whether this prop should block NPC's Line-Of-Sight.
// "AIWalkable" : Override whether AI should consider this prop as walkable on.
// "dmg.bullets" : Mod damage done by bullets to this prop.
// "dmg.club" : Mod damage done by clubs to this prop.
// "dmg.explosive" : Mod damage done by explosives to this prop.
// NOTE: Use damage modifiers to reflect differences between the amount of
// damage that an object takes from different damage types. Don't
// use them to reflect overall damage strength. i.e. Stone is resilient
// to everything. To reflect this, increase the health of all stone
// objects, don't set the damage modifiers lower.
//
// "damage_table" : Specify a custom physics impact damage table for this prop.
// "health" : Amount of damage this prop should take before breaking.
//
// "explosive_damage" : Explosive damage done by this prop.
// "explosive_radius" : Radius of the explosion caused by this prop when it breaks.
// NOTE: If these two fields are specified for a prop, then the prop will automatically
// create an explosion with the specified values when the prop is broken.
//
// "breakable_model" : The type of breakable gibs this prop should break into. This list is at the bottom of this file.
// "breakable_count" : The number of breakable gibs to break into.
// "allowstatic" : Allow this prop to be static as well as physically simulated.
//
//
"PropData.txt"
{
//=================================================================================
// PAPER
//=================================================================================
// Base damage modifiers for paper objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Cardboard.Base"
{
"dmg.bullets" "0.5"
"dmg.club" "1.25"
"dmg.explosive" "1.5"
}
// Cardboard / Paper blocks, less than 1 foot cubed.
// i.e. small cardboard boxes, notepads, newspapers, thin books.
"Cardboard.Small"
{
"base" "Cardboard.Base"
"health" "10"
}
// Cardboard / Paper blocks, less than 3 foot cubed.
// i.e. cardboard boxes. thick books
"Cardboard.Medium"
{
"base" "Cardboard.Base"
"health" "20"
}
// Large Cardboard / Paper blocks
// i.e. solid cardboard boxes
"Cardboard.Large"
{
"base" "Cardboard.Base"
"health" "40"
}
//=================================================================================
// CLOTH
//=================================================================================
// Base damage modifiers for cloth objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Cloth.Base"
{
"dmg.bullets" "0.5"
"dmg.club" "0.75"
"dmg.explosive" "1.5"
}
// Small / thin cloth objects
// i.e. shorts, shirts, pants.
"Cloth.Small"
{
"base" "Cloth.Base"
"health" "30"
}
// Heavier cloth / leather objects
// i.e. briefcases
"Cloth.Medium"
{
"base" "Cloth.Base"
"health" "50"
}
// Large / thick cloth objects
// i.e. armchairs, mattresses
"Cloth.Large"
{
"base" "Cloth.Base"
"health" "100"
}
//=================================================================================
// WOOD
//=================================================================================
// Base damage modifiers for wooden objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Wooden.Base"
{
"dmg.bullets" "0.75"
"dmg.club" "2.0"
"dmg.explosive" "1.5"
"breakable_model" "WoodChunks"
"breakable_skin" "0"
}
// Tiny Wooden pieces that should die in one hit
// i.e splinters
"Wooden.Tiny"
{
"base" "Wooden.Base"
"health" "6"
"breakable_count" "0"
}
// Wooden blocks, less than 1 foot cubed.
// i.e pieces of board, branches.
"Wooden.Small"
{
"base" "Wooden.Base"
"health" "20"
"breakable_count" "2"
}
// Wooden blocks, less than 3 foot cubed.
// i.e boards, small crates, pallettes, ladders, chairs.
"Wooden.Medium"
{
"base" "Wooden.Base"
"health" "30"
"breakable_count" "4"
}
// Large wooden blocks, less than 5 foot cubed.
// i.e Crates, benches.
"Wooden.Large"
{
"base" "Wooden.Base"
"health" "50"
"breakable_count" "6"
}
// Extra large wooden objects
// i.e posts
"Wooden.ExtraLarge"
{
"base" "Wooden.Base"
"health" "100"
"breakable_count" "8"
}
// Huge wooden objects.
// i.e Big Wardrobes, bookcases
"Wooden.Huge"
{
"base" "Wooden.Base"
"health" "130"
"breakable_count" "10"
}
//=================================================================================
// STONE
//=================================================================================
// Base damage modifiers for stone objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Stone.Base"
{
"dmg.bullets" "1.0"
"dmg.club" "1.0"
"dmg.explosive" "1.0"
}
// Stone blocks, less than 1 foot cubed
// i.e. cinderblocks, small rocks.
"Stone.Small"
{
"base" "Stone.Base"
"health" "50"
}
// Medium stone blocks, less than 3 foot cubed
// i.e. rubble chunks
"Stone.Medium"
{
"base" "Stone.Base"
"health" "100"
}
// Large stone blocks, less than 5 foot cubed
// i.e. big rubble chunks
"Stone.Large"
{
"base" "Stone.Base"
"health" "200"
}
// Huge stone blocks, less than 5 foot cubed
// i.e. enormous rubble chunks
"Stone.Huge"
{
"base" "Stone.Base"
"health" "400"
}
//=================================================================================
// GLASS
//=================================================================================
// Base damage modifiers for glass objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Glass.Base"
{
"dmg.bullets" "1.0"
"dmg.club" "1.0"
"dmg.explosive" "0.1" // Trial: Get knocked around more than destroyed?
}
// Glass blocks, less than 1 foot cubed
// i.e. bottles, jugs, glasses.
"Glass.Small"
{
"base" "Glass.Base"
"health" "5"
"damage_table" "glass"
}
"Glass.Window"
{
"base" "Glass.Base"
"dmg.explosive" "1.0" // Override base glass explosive behavior
"dmg.bullets" "0.5"
"health" "15"
"damage_table" "glass"
}
//=================================================================================
// METAL
//=================================================================================
// Base damage modifiers for metal objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Metal.Base"
{
"dmg.bullets" "1.0"
"dmg.club" "1.0"
"dmg.explosive" "1.0"
"health" "0" // By default, metal objects aren't breakable
}
// Small metal blocks, less than 1 foot cubed
// i.e. tin cans, paint tins, metal buckets.
"Metal.Small"
{
"base" "Metal.Base"
}
// Medium metal objects.
// i.e. wheelbarrows, metal boxes, bicycles, barrels, ladders, filing cabinets.
"Metal.Medium"
{
"base" "Metal.Base"
}
// Large metal objects.
// i.e. ibeams, dumpsters, car bodies, refridgerators
"Metal.Large"
{
"base" "Metal.Base"
}
//=================================================================================
// PLASTIC
//=================================================================================
// Base damage modifiers for plastic objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Plastic.Base"
{
"dmg.bullets" "1.0"
"dmg.club" "1.0"
"dmg.explosive" "1.0"
"health" "0"
}
// Plastic blocks, less than 2 foot cubed
// i.e. plastic cups, plastic milk crates, phones
"Plastic.Small"
{
"base" "Plastic.Base"
}
// Plastic blocks, less than 4 foot cubed
// i.e. plastic chairs, tables, barrels
"Plastic.Medium"
{
"base" "Plastic.Base"
}
// Large Plastic objects, or medium objects with mixes of plastic & metal that you still want destructable
// i.e. computer equipment
"Plastic.Large"
{
"base" "Plastic.Base"
}
//=================================================================================
// ITEMS
//=================================================================================
// Base damage modifiers for items
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Item.Base"
{
"dmg.bullets" "1.0"
"dmg.club" "1.0"
"dmg.explosive" "1.0"
"health" "0" // By default, metal objects aren't breakable
}
// Plastic blocks, less than 2 foot cubed
// i.e. plastic cups, plastic milk crates, phones
"Item.Small"
{
"base" "Item.Base"
}
// Plastic blocks, less than 4 foot cubed
// i.e. plastic chairs, tables, barrels
"Item.Medium"
{
"base" "Item.Base"
}
// Large Plastic objects, or medium objects with mixes of plastic & metal that you still want destructable
// i.e. computer equipment
"Item.Large"
{
"base" "Item.Base"
}
//=================================================================================
// POTTERY
//=================================================================================
// Base damage modifiers for pottery objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Pottery.Base"
{
"dmg.bullets" "1.0"
"dmg.club" "1.25"
"dmg.explosive" "1.5"
}
// Pottery blocks, less than 2 foot cubed
// i.e. flowerpots.
"Pottery.Small"
{
"base" "Pottery.Base"
"health" "5"
"damage_table" "glass"
}
// Medium pottery objects
// i.e. large flowerpots.
"Pottery.Medium"
{
"base" "Pottery.Base"
"health" "40"
}
// Large pottery objects
// i.e. big chunks of wall plaster
"Pottery.Large"
{
"base" "Pottery.Base"
"health" "70"
}
// Huge pottery objects.
// i.e. big ornate pottery vessels.
"Pottery.Huge"
{
"base" "Pottery.Base"
"health" "100"
}
//=================================================================================
// FLESH
//=================================================================================
// Base damage modifiers for flesh objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Flesh.Base"
{
"dmg.bullets" "1.25"
"dmg.club" "1.0"
"dmg.explosive" "1.5"
}
// Flesh blocks that should die in a single hit
// i.e. fruit, food items, gibs.
"Flesh.Tiny"
{
"base" "Flesh.Base"
"health" "3"
}
// Flesh blocks, less than 1 foot cubed
// i.e. fruit, food items, gibs.
"Flesh.Small"
{
"base" "Flesh.Base"
"health" "10"
}
//=================================================================================
// BREAKABLE DATA. NOT PROPDATA TYPES.
//=================================================================================
"BreakableModels"
{
// Sorted in order of smallest to largest
"WoodChunks"
{
"models\Gibs\wood_gib01e.mdl" "1"
"models\Gibs\wood_gib01d.mdl" "1"
"models\Gibs\wood_gib01c.mdl" "1"
"models\Gibs\wood_gib01b.mdl" "1"
"models\Gibs\wood_gib01a.mdl" "1"
}
"GlassChunks"
{
"models\Gibs\Glass_shard01.mdl" "1"
"models\Gibs\Glass_shard02.mdl" "1"
"models\Gibs\Glass_shard03.mdl" "1"
"models\Gibs\Glass_shard04.mdl" "1"
"models\Gibs\Glass_shard05.mdl" "1"
"models\Gibs\Glass_shard06.mdl" "1"
}
"ConcreteChunks"
{
"models\props_debris\concrete_chunk08a.mdl" "1"
"models\props_debris\concrete_chunk09a.mdl" "1"
"models\props_debris\concrete_chunk03a.mdl" "1"
"models\props_debris\concrete_chunk07a.mdl" "1"
"models\props_debris\concrete_chunk09a.mdl" "1"
"models\props_debris\concrete_chunk02a.mdl" "1"
}
"MetalChunks"
{
"models\Gibs\metal_gib1.mdl" "1"
"models\Gibs\metal_gib2.mdl" "1"
"models\Gibs\metal_gib3.mdl" "1"
"models\Gibs\metal_gib4.mdl" "1"
"models\Gibs\metal_gib5.mdl" "1"
}
}
}
// "prop data name"
// {
// "property" "value"
// ...
// }
//
//
// "base" : Specify a base propdata class to derive from (base types can be found in propdata.txt)
//
// "blockLOS" : Override whether this prop should block NPC's Line-Of-Sight.
// "AIWalkable" : Override whether AI should consider this prop as walkable on.
// "dmg.bullets" : Mod damage done by bullets to this prop.
// "dmg.club" : Mod damage done by clubs to this prop.
// "dmg.explosive" : Mod damage done by explosives to this prop.
// NOTE: Use damage modifiers to reflect differences between the amount of
// damage that an object takes from different damage types. Don't
// use them to reflect overall damage strength. i.e. Stone is resilient
// to everything. To reflect this, increase the health of all stone
// objects, don't set the damage modifiers lower.
//
// "damage_table" : Specify a custom physics impact damage table for this prop.
// "health" : Amount of damage this prop should take before breaking.
//
// "explosive_damage" : Explosive damage done by this prop.
// "explosive_radius" : Radius of the explosion caused by this prop when it breaks.
// NOTE: If these two fields are specified for a prop, then the prop will automatically
// create an explosion with the specified values when the prop is broken.
//
// "breakable_model" : The type of breakable gibs this prop should break into. This list is at the bottom of this file.
// "breakable_count" : The number of breakable gibs to break into.
// "allowstatic" : Allow this prop to be static as well as physically simulated.
//
//
"PropData.txt"
{
//=================================================================================
// PAPER
//=================================================================================
// Base damage modifiers for paper objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Cardboard.Base"
{
"dmg.bullets" "0.5"
"dmg.club" "1.25"
"dmg.explosive" "1.5"
}
// Cardboard / Paper blocks, less than 1 foot cubed.
// i.e. small cardboard boxes, notepads, newspapers, thin books.
"Cardboard.Small"
{
"base" "Cardboard.Base"
"health" "10"
}
// Cardboard / Paper blocks, less than 3 foot cubed.
// i.e. cardboard boxes. thick books
"Cardboard.Medium"
{
"base" "Cardboard.Base"
"health" "20"
}
// Large Cardboard / Paper blocks
// i.e. solid cardboard boxes
"Cardboard.Large"
{
"base" "Cardboard.Base"
"health" "40"
}
//=================================================================================
// CLOTH
//=================================================================================
// Base damage modifiers for cloth objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Cloth.Base"
{
"dmg.bullets" "0.5"
"dmg.club" "0.75"
"dmg.explosive" "1.5"
}
// Small / thin cloth objects
// i.e. shorts, shirts, pants.
"Cloth.Small"
{
"base" "Cloth.Base"
"health" "30"
}
// Heavier cloth / leather objects
// i.e. briefcases
"Cloth.Medium"
{
"base" "Cloth.Base"
"health" "50"
}
// Large / thick cloth objects
// i.e. armchairs, mattresses
"Cloth.Large"
{
"base" "Cloth.Base"
"health" "100"
}
//=================================================================================
// WOOD
//=================================================================================
// Base damage modifiers for wooden objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Wooden.Base"
{
"dmg.bullets" "0.75"
"dmg.club" "2.0"
"dmg.explosive" "1.5"
"breakable_model" "WoodChunks"
"breakable_skin" "0"
}
// Tiny Wooden pieces that should die in one hit
// i.e splinters
"Wooden.Tiny"
{
"base" "Wooden.Base"
"health" "6"
"breakable_count" "0"
}
// Wooden blocks, less than 1 foot cubed.
// i.e pieces of board, branches.
"Wooden.Small"
{
"base" "Wooden.Base"
"health" "20"
"breakable_count" "2"
}
// Wooden blocks, less than 3 foot cubed.
// i.e boards, small crates, pallettes, ladders, chairs.
"Wooden.Medium"
{
"base" "Wooden.Base"
"health" "30"
"breakable_count" "4"
}
// Large wooden blocks, less than 5 foot cubed.
// i.e Crates, benches.
"Wooden.Large"
{
"base" "Wooden.Base"
"health" "50"
"breakable_count" "6"
}
// Extra large wooden objects
// i.e posts
"Wooden.ExtraLarge"
{
"base" "Wooden.Base"
"health" "100"
"breakable_count" "8"
}
// Huge wooden objects.
// i.e Big Wardrobes, bookcases
"Wooden.Huge"
{
"base" "Wooden.Base"
"health" "130"
"breakable_count" "10"
}
//=================================================================================
// STONE
//=================================================================================
// Base damage modifiers for stone objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Stone.Base"
{
"dmg.bullets" "1.0"
"dmg.club" "1.0"
"dmg.explosive" "1.0"
}
// Stone blocks, less than 1 foot cubed
// i.e. cinderblocks, small rocks.
"Stone.Small"
{
"base" "Stone.Base"
"health" "50"
}
// Medium stone blocks, less than 3 foot cubed
// i.e. rubble chunks
"Stone.Medium"
{
"base" "Stone.Base"
"health" "100"
}
// Large stone blocks, less than 5 foot cubed
// i.e. big rubble chunks
"Stone.Large"
{
"base" "Stone.Base"
"health" "200"
}
// Huge stone blocks, less than 5 foot cubed
// i.e. enormous rubble chunks
"Stone.Huge"
{
"base" "Stone.Base"
"health" "400"
}
//=================================================================================
// GLASS
//=================================================================================
// Base damage modifiers for glass objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Glass.Base"
{
"dmg.bullets" "1.0"
"dmg.club" "1.0"
"dmg.explosive" "0.1" // Trial: Get knocked around more than destroyed?
}
// Glass blocks, less than 1 foot cubed
// i.e. bottles, jugs, glasses.
"Glass.Small"
{
"base" "Glass.Base"
"health" "5"
"damage_table" "glass"
}
"Glass.Window"
{
"base" "Glass.Base"
"dmg.explosive" "1.0" // Override base glass explosive behavior
"dmg.bullets" "0.5"
"health" "15"
"damage_table" "glass"
}
//=================================================================================
// METAL
//=================================================================================
// Base damage modifiers for metal objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Metal.Base"
{
"dmg.bullets" "1.0"
"dmg.club" "1.0"
"dmg.explosive" "1.0"
"health" "0" // By default, metal objects aren't breakable
}
// Small metal blocks, less than 1 foot cubed
// i.e. tin cans, paint tins, metal buckets.
"Metal.Small"
{
"base" "Metal.Base"
}
// Medium metal objects.
// i.e. wheelbarrows, metal boxes, bicycles, barrels, ladders, filing cabinets.
"Metal.Medium"
{
"base" "Metal.Base"
}
// Large metal objects.
// i.e. ibeams, dumpsters, car bodies, refridgerators
"Metal.Large"
{
"base" "Metal.Base"
}
//=================================================================================
// PLASTIC
//=================================================================================
// Base damage modifiers for plastic objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Plastic.Base"
{
"dmg.bullets" "1.0"
"dmg.club" "1.0"
"dmg.explosive" "1.0"
"health" "0"
}
// Plastic blocks, less than 2 foot cubed
// i.e. plastic cups, plastic milk crates, phones
"Plastic.Small"
{
"base" "Plastic.Base"
}
// Plastic blocks, less than 4 foot cubed
// i.e. plastic chairs, tables, barrels
"Plastic.Medium"
{
"base" "Plastic.Base"
}
// Large Plastic objects, or medium objects with mixes of plastic & metal that you still want destructable
// i.e. computer equipment
"Plastic.Large"
{
"base" "Plastic.Base"
}
//=================================================================================
// ITEMS
//=================================================================================
// Base damage modifiers for items
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Item.Base"
{
"dmg.bullets" "1.0"
"dmg.club" "1.0"
"dmg.explosive" "1.0"
"health" "0" // By default, metal objects aren't breakable
}
// Plastic blocks, less than 2 foot cubed
// i.e. plastic cups, plastic milk crates, phones
"Item.Small"
{
"base" "Item.Base"
}
// Plastic blocks, less than 4 foot cubed
// i.e. plastic chairs, tables, barrels
"Item.Medium"
{
"base" "Item.Base"
}
// Large Plastic objects, or medium objects with mixes of plastic & metal that you still want destructable
// i.e. computer equipment
"Item.Large"
{
"base" "Item.Base"
}
//=================================================================================
// POTTERY
//=================================================================================
// Base damage modifiers for pottery objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Pottery.Base"
{
"dmg.bullets" "1.0"
"dmg.club" "1.25"
"dmg.explosive" "1.5"
}
// Pottery blocks, less than 2 foot cubed
// i.e. flowerpots.
"Pottery.Small"
{
"base" "Pottery.Base"
"health" "5"
"damage_table" "glass"
}
// Medium pottery objects
// i.e. large flowerpots.
"Pottery.Medium"
{
"base" "Pottery.Base"
"health" "40"
}
// Large pottery objects
// i.e. big chunks of wall plaster
"Pottery.Large"
{
"base" "Pottery.Base"
"health" "70"
}
// Huge pottery objects.
// i.e. big ornate pottery vessels.
"Pottery.Huge"
{
"base" "Pottery.Base"
"health" "100"
}
//=================================================================================
// FLESH
//=================================================================================
// Base damage modifiers for flesh objects
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
"Flesh.Base"
{
"dmg.bullets" "1.25"
"dmg.club" "1.0"
"dmg.explosive" "1.5"
}
// Flesh blocks that should die in a single hit
// i.e. fruit, food items, gibs.
"Flesh.Tiny"
{
"base" "Flesh.Base"
"health" "3"
}
// Flesh blocks, less than 1 foot cubed
// i.e. fruit, food items, gibs.
"Flesh.Small"
{
"base" "Flesh.Base"
"health" "10"
}
//=================================================================================
// BREAKABLE DATA. NOT PROPDATA TYPES.
//=================================================================================
"BreakableModels"
{
// Sorted in order of smallest to largest
"WoodChunks"
{
"models\Gibs\wood_gib01e.mdl" "1"
"models\Gibs\wood_gib01d.mdl" "1"
"models\Gibs\wood_gib01c.mdl" "1"
"models\Gibs\wood_gib01b.mdl" "1"
"models\Gibs\wood_gib01a.mdl" "1"
}
"GlassChunks"
{
"models\Gibs\Glass_shard01.mdl" "1"
"models\Gibs\Glass_shard02.mdl" "1"
"models\Gibs\Glass_shard03.mdl" "1"
"models\Gibs\Glass_shard04.mdl" "1"
"models\Gibs\Glass_shard05.mdl" "1"
"models\Gibs\Glass_shard06.mdl" "1"
}
"ConcreteChunks"
{
"models\props_debris\concrete_chunk08a.mdl" "1"
"models\props_debris\concrete_chunk09a.mdl" "1"
"models\props_debris\concrete_chunk03a.mdl" "1"
"models\props_debris\concrete_chunk07a.mdl" "1"
"models\props_debris\concrete_chunk09a.mdl" "1"
"models\props_debris\concrete_chunk02a.mdl" "1"
}
"MetalChunks"
{
"models\Gibs\metal_gib1.mdl" "1"
"models\Gibs\metal_gib2.mdl" "1"
"models\Gibs\metal_gib3.mdl" "1"
"models\Gibs\metal_gib4.mdl" "1"
"models\Gibs\metal_gib5.mdl" "1"
}
}
}

View File

@@ -1,16 +1,16 @@
soundscaples_manifest
{
"file" "scripts/soundscapes.txt"
// List additional soundscape files here
"file" "scripts/soundscapes_canals.txt"
"file" "scripts/soundscapes_klab.txt"
"file" "scripts/soundscapes_elab.txt"
"file" "scripts/soundscapes_streetwar.txt"
"file" "scripts/soundscapes_citadel.txt"
"file" "scripts/soundscapes_town.txt"
"file" "scripts/soundscapes_coast.txt"
"file" "scripts/soundscapes_prison.txt"
"file" "scripts/soundscapes_trainyard.txt"
soundscaples_manifest
{
"file" "scripts/soundscapes.txt"
// List additional soundscape files here
"file" "scripts/soundscapes_canals.txt"
"file" "scripts/soundscapes_klab.txt"
"file" "scripts/soundscapes_elab.txt"
"file" "scripts/soundscapes_streetwar.txt"
"file" "scripts/soundscapes_citadel.txt"
"file" "scripts/soundscapes_town.txt"
"file" "scripts/soundscapes_coast.txt"
"file" "scripts/soundscapes_prison.txt"
"file" "scripts/soundscapes_trainyard.txt"
}

View File

@@ -1,17 +1,17 @@
// Override this file in your mod directory so you can load the base HL2 file as well
// as new properties.
// NOTE: Listing a property twice (e.g. in separate files) means that
// the values in the second definition will override the first definition
// NOTE: Each file must have a unique name. The physics system does not understand mods and will not
// parse the same file (compared by name) twice.
surfaceproperties_manifest
{
"file" "scripts/surfaceproperties.txt"
// List additional surface property files here:
"file" "scripts/surfaceproperties_hl2.txt"
}
// Override this file in your mod directory so you can load the base HL2 file as well
// as new properties.
// NOTE: Listing a property twice (e.g. in separate files) means that
// the values in the second definition will override the first definition
// NOTE: Each file must have a unique name. The physics system does not understand mods and will not
// parse the same file (compared by name) twice.
surfaceproperties_manifest
{
"file" "scripts/surfaceproperties.txt"
// List additional surface property files here:
"file" "scripts/surfaceproperties_hl2.txt"
}

View File

@@ -1,120 +1,120 @@
//============================================================================================================
// Alyx criteria
criterion "IsAlyx" "classname" "npc_alyx" "required"
//============================================================================================================
//============================================================================================================
// Alyx Combat speech
//============================================================================================================
//----------------------------------------------------------------------------
response "AlyxDanger"
{
scene "scenes/npc/Alyx/getback01.vcd"
scene "scenes/npc/Alyx/getback02.vcd"
scene "scenes/npc/Alyx/getdown01.vcd"
scene "scenes/npc/Alyx/watchout01.vcd"
scene "scenes/npc/Alyx/watchout02.vcd"
}
rule AlyxDanger
{
criteria IsAlyx ConceptTalkDanger
response AlyxDanger
}
response AlyxShot
{
scene "scenes/npc/Alyx/gasp02.vcd"
scene "scenes/npc/Alyx/gasp03.vcd"
scene "scenes/npc/Alyx/hurt04.vcd"
scene "scenes/npc/Alyx/hurt05.vcd"
scene "scenes/npc/Alyx/hurt06.vcd"
scene "scenes/npc/Alyx/hurt08.vcd"
scene "scenes/npc/Alyx/uggh01.vcd"
}
rule AlyxShot
{
criteria IsAlyx ConceptShot
response AlyxShot
}
response AlyxEnemyDead
{
scene "scenes/npc/Alyx/brutal02.vcd" respeakdelay 300
}
rule AlyxEnemyDead
{
criteria IsAlyx ConceptEnemyDead
response AlyxEnemyDead
}
response AlyxHideAndReload
{
scene "scenes/npc/Alyx/coverme01.vcd"
scene "scenes/npc/Alyx/coverme02.vcd"
scene "scenes/npc/Alyx/coverme03.vcd"
}
rule AlyxHideAndReload
{
criteria IsAlyx ConceptHideAndReload PlayerNear
response AlyxHideAndReload
}
response AlyxTalkPlayerPushed
{
scene "scenes/npc/Alyx/excuseme01.vcd"
scene "scenes/npc/Alyx/excuseme02.vcd"
scene "scenes/npc/Alyx/excuseme03.vcd"
}
rule AlyxTalkPlayerPushed
{
criteria IsAlyx ConceptTalkPlayerPushed SeenByPlayer NoRecentCombat
response AlyxTalkPlayerPushed
}
response AlyxPlayerReload
{
scene "scenes/npc/Alyx/youreload01.vcd"
scene "scenes/npc/Alyx/youreload02.vcd"
}
rule AlyxPlayerReload
{
criteria ConceptPlayerReload IsAlyx PlayerNear SeePlayer
response AlyxPlayerReload
}
response AlyxWatchOut
{
scene "scenes/npc/Alyx/lookout01.vcd"
scene "scenes/npc/Alyx/lookout03.vcd"
}
rule AlyxWatchOut
{
criteria IsAlyx ConceptTalkWatchout
response AlyxWatchout
}
response AlyxPlayerDead
{
scene "scenes/npc/Alyx/ohno_startle01.vcd"
scene "scenes/npc/Alyx/ohno_startle02.vcd"
scene "scenes/npc/Alyx/ohno_startle03.vcd"
}
rule AlyxPlayerDead
{
criteria IsAlyx ConceptPlayerDead
response AlyxWatchout
matchonce
}
//----------------------------------------------------------------------------
//============================================================================================================
//============================================================================================================
// Alyx criteria
criterion "IsAlyx" "classname" "npc_alyx" "required"
//============================================================================================================
//============================================================================================================
// Alyx Combat speech
//============================================================================================================
//----------------------------------------------------------------------------
response "AlyxDanger"
{
scene "scenes/npc/Alyx/getback01.vcd"
scene "scenes/npc/Alyx/getback02.vcd"
scene "scenes/npc/Alyx/getdown01.vcd"
scene "scenes/npc/Alyx/watchout01.vcd"
scene "scenes/npc/Alyx/watchout02.vcd"
}
rule AlyxDanger
{
criteria IsAlyx ConceptTalkDanger
response AlyxDanger
}
response AlyxShot
{
scene "scenes/npc/Alyx/gasp02.vcd"
scene "scenes/npc/Alyx/gasp03.vcd"
scene "scenes/npc/Alyx/hurt04.vcd"
scene "scenes/npc/Alyx/hurt05.vcd"
scene "scenes/npc/Alyx/hurt06.vcd"
scene "scenes/npc/Alyx/hurt08.vcd"
scene "scenes/npc/Alyx/uggh01.vcd"
}
rule AlyxShot
{
criteria IsAlyx ConceptShot
response AlyxShot
}
response AlyxEnemyDead
{
scene "scenes/npc/Alyx/brutal02.vcd" respeakdelay 300
}
rule AlyxEnemyDead
{
criteria IsAlyx ConceptEnemyDead
response AlyxEnemyDead
}
response AlyxHideAndReload
{
scene "scenes/npc/Alyx/coverme01.vcd"
scene "scenes/npc/Alyx/coverme02.vcd"
scene "scenes/npc/Alyx/coverme03.vcd"
}
rule AlyxHideAndReload
{
criteria IsAlyx ConceptHideAndReload PlayerNear
response AlyxHideAndReload
}
response AlyxTalkPlayerPushed
{
scene "scenes/npc/Alyx/excuseme01.vcd"
scene "scenes/npc/Alyx/excuseme02.vcd"
scene "scenes/npc/Alyx/excuseme03.vcd"
}
rule AlyxTalkPlayerPushed
{
criteria IsAlyx ConceptTalkPlayerPushed SeenByPlayer NoRecentCombat
response AlyxTalkPlayerPushed
}
response AlyxPlayerReload
{
scene "scenes/npc/Alyx/youreload01.vcd"
scene "scenes/npc/Alyx/youreload02.vcd"
}
rule AlyxPlayerReload
{
criteria ConceptPlayerReload IsAlyx PlayerNear SeePlayer
response AlyxPlayerReload
}
response AlyxWatchOut
{
scene "scenes/npc/Alyx/lookout01.vcd"
scene "scenes/npc/Alyx/lookout03.vcd"
}
rule AlyxWatchOut
{
criteria IsAlyx ConceptTalkWatchout
response AlyxWatchout
}
response AlyxPlayerDead
{
scene "scenes/npc/Alyx/ohno_startle01.vcd"
scene "scenes/npc/Alyx/ohno_startle02.vcd"
scene "scenes/npc/Alyx/ohno_startle03.vcd"
}
rule AlyxPlayerDead
{
criteria IsAlyx ConceptPlayerDead
response AlyxWatchout
matchonce
}
//----------------------------------------------------------------------------
//============================================================================================================

File diff suppressed because it is too large Load Diff

View File

@@ -1,467 +1,467 @@
//============================================================================================================
// Commander mode criteria
//============================================================================================================
criterion "IsOnlySelected" "numselected" "1" required
criterion "NotOnlySelected" "numselected" ">1" required
criterion "Is_03_first" "name" "citizen_c17_03_first" required
criterion "UseRadio" "useradio" "1" required
criterion "SquadNearPlayer" "distancetoplayer" "<240" required
criterion "SquadNotNearPlayer" "distancetoplayer" ">=240" required
criterion "SquadNearCommandPoint" "commandpoint_dist_to_npc" "<240" required
criterion "SquadNotNearCommandPoint" "commandpoint_dist_to_npc" ">=240" required
criterion "CommandPointNearPlayer" "commandpoint_dist_to_player" "<144" required
criterion "CommandPointNotNearPlayer" "commandpoint_dist_to_player" ">=144" required
criterion "JoinSquadIndividual" "numjoining" "1" required
criterion "JoinSquadMultiple" "numjoining" ">1" required
criterion "TrailingReinforcement" "reinforcement" "1" required
//============================================================================================================
// Commander mode selection speech
//============================================================================================================
response "CitizenSelected"
{
scene "scenes/npc/$gender01/ok01.vcd"
scene "scenes/npc/$gender01/ok02.vcd"
scene "scenes/npc/$gender01/okimready01.vcd"
scene "scenes/npc/$gender01/okimready02.vcd"
scene "scenes/npc/$gender01/okimready03.vcd"
scene "scenes/npc/$gender01/readywhenyouare01.vcd"
scene "scenes/npc/$gender01/readywhenyouare02.vcd"
}
rule CitizenSelected
{
criteria IsCitizen ConceptTalkSelected
response CitizenSelected
}
//------------------------------------------------------------------------------------------------------------
response "CitizenGroupSelectedRadio"
{
}
rule CitizenGroupSelectedRadio
{
criteria IsCitizen ConceptTalkSelected NotOnlySelected UseRadio
response CitizenGroupSelectedRadio
}
//------------------------------------------------------------------------------------------------------------
response "CitizenSoloSelectedRadio"
{
}
rule CitizenSoloSelectedRadio
{
criteria IsCitizen ConceptTalkSelected UseRadio
response CitizenSoloSelectedRadio
}
//============================================================================================================
// Commander mode orders speech
//============================================================================================================
response CitizenSquadNearToFarIndividual
{
scene "scenes/npc/$gender01/squad_affirm01.vcd"
scene "scenes/npc/$gender01/squad_affirm02.vcd"
scene "scenes/npc/$gender01/squad_affirm03.vcd"
scene "scenes/npc/$gender01/squad_affirm04.vcd"
scene "scenes/npc/$gender01/squad_affirm05.vcd"
scene "scenes/npc/$gender01/squad_affirm06.vcd"
scene "scenes/npc/$gender01/squad_affirm07.vcd"
scene "scenes/npc/$gender01/squad_affirm08.vcd"
scene "scenes/npc/$gender01/squad_affirm09.vcd"
// speak "npc_citizen.squad_affirm01"
// speak "npc_citizen.squad_affirm02"
// speak "npc_citizen.squad_affirm03"
// speak "npc_citizen.squad_affirm04"
// speak "npc_citizen.squad_affirm05"
// speak "npc_citizen.squad_affirm06"
// speak "npc_citizen.squad_affirm07"
// speak "npc_citizen.squad_affirm08"
// speak "npc_citizen.squad_affirm09"
scene "scenes/npc/$gender01/letsgo01.vcd"
scene "scenes/npc/$gender01/letsgo02.vcd"
scene "scenes/npc/$gender01/yougotit02.vcd"
}
response CitizenSquadNearToFarGroup
{
scene "scenes/npc/$gender01/squad_affirm01.vcd"
scene "scenes/npc/$gender01/squad_affirm02.vcd"
scene "scenes/npc/$gender01/squad_affirm03.vcd"
scene "scenes/npc/$gender01/squad_affirm05.vcd"
scene "scenes/npc/$gender01/squad_affirm06.vcd"
scene "scenes/npc/$gender01/squad_affirm07.vcd"
scene "scenes/npc/$gender01/squad_affirm08.vcd"
scene "scenes/npc/$gender01/squad_affirm09.vcd"
scene "scenes/npc/$gender01/squad_away01.vcd"
scene "scenes/npc/$gender01/squad_away02.vcd"
scene "scenes/npc/$gender01/squad_away03.vcd"
// speak "npc_citizen.squad_affirm01"
// speak "npc_citizen.squad_affirm02"
// speak "npc_citizen.squad_affirm03"
// speak "npc_citizen.squad_affirm05"
// speak "npc_citizen.squad_affirm06"
// speak "npc_citizen.squad_affirm07"
// speak "npc_citizen.squad_affirm08"
// speak "npc_citizen.squad_affirm09"
// speak "npc_citizen.squad_away01"
// speak "npc_citizen.squad_away02"
// speak "npc_citizen.squad_away03"
scene "scenes/npc/$gender01/letsgo01.vcd"
scene "scenes/npc/$gender01/letsgo02.vcd"
scene "scenes/npc/$gender01/yougotit02.vcd"
}
response CitizenSquadFarToNearIndividual
{
scene "scenes/npc/$gender01/squad_affirm01.vcd"
scene "scenes/npc/$gender01/squad_affirm02.vcd"
scene "scenes/npc/$gender01/squad_affirm03.vcd"
scene "scenes/npc/$gender01/squad_affirm07.vcd"
scene "scenes/npc/$gender01/squad_affirm08.vcd"
scene "scenes/npc/$gender01/squad_affirm09.vcd"
//scene "scenes/npc/$gender01/squad_approach04.vcd"
// speak "npc_citizen.squad_affirm01"
// speak "npc_citizen.squad_affirm02"
// speak "npc_citizen.squad_affirm03"
// speak "npc_citizen.squad_affirm07"
// speak "npc_citizen.squad_affirm08"
// speak "npc_citizen.squad_affirm09"
// speak "npc_citizen.squad_approach04"
scene "scenes/npc/$gender01/yougotit02.vcd"
}
response CitizenSquadFarToNearGroup
{
scene "scenes/npc/$gender01/squad_affirm01.vcd"
scene "scenes/npc/$gender01/squad_affirm02.vcd"
scene "scenes/npc/$gender01/squad_affirm03.vcd"
scene "scenes/npc/$gender01/squad_affirm07.vcd"
scene "scenes/npc/$gender01/squad_affirm08.vcd"
scene "scenes/npc/$gender01/squad_affirm09.vcd"
scene "scenes/npc/$gender01/squad_approach01.vcd"
scene "scenes/npc/$gender01/squad_approach02.vcd"
scene "scenes/npc/$gender01/squad_approach03.vcd"
scene "scenes/npc/$gender01/squad_approach04.vcd"
// speak "npc_citizen.squad_affirm01"
// speak "npc_citizen.squad_affirm02"
// speak "npc_citizen.squad_affirm03"
// speak "npc_citizen.squad_affirm07"
// speak "npc_citizen.squad_affirm08"
// speak "npc_citizen.squad_affirm09"
// speak "npc_citizen.squad_approach01"
// speak "npc_citizen.squad_approach02"
// speak "npc_citizen.squad_approach03"
// speak "npc_citizen.squad_approach04"
scene "scenes/npc/$gender01/letsgo01.vcd"
scene "scenes/npc/$gender01/letsgo02.vcd"
scene "scenes/npc/$gender01/yougotit02.vcd"
}
response CitizenSquadNearToNear
{
scene "scenes/npc/$gender01/squad_affirm01.vcd"
scene "scenes/npc/$gender01/squad_affirm02.vcd"
scene "scenes/npc/$gender01/squad_affirm03.vcd"
scene "scenes/npc/$gender01/squad_affirm07.vcd"
scene "scenes/npc/$gender01/squad_affirm08.vcd"
scene "scenes/npc/$gender01/squad_affirm09.vcd"
// speak "npc_citizen.squad_affirm01"
// speak "npc_citizen.squad_affirm02"
// speak "npc_citizen.squad_affirm03"
// speak "npc_citizen.squad_affirm07"
// speak "npc_citizen.squad_affirm08"
// speak "npc_citizen.squad_affirm09"
scene "scenes/npc/$gender01/illstayhere01.vcd"
scene "scenes/npc/$gender01/holddownspot01.vcd"
scene "scenes/npc/$gender01/holddownspot02.vcd"
scene "scenes/npc/$gender01/imstickinghere01.vcd"
scene "scenes/npc/$gender01/littlecorner01.vcd"
scene "scenes/npc/$gender01/yougotit02.vcd"
}
response CitizenSquadFarToFarIndividual
{
scene "scenes/npc/$gender01/squad_affirm01.vcd"
scene "scenes/npc/$gender01/squad_affirm02.vcd"
scene "scenes/npc/$gender01/squad_affirm03.vcd"
scene "scenes/npc/$gender01/squad_affirm04.vcd"
scene "scenes/npc/$gender01/squad_affirm07.vcd"
scene "scenes/npc/$gender01/squad_affirm08.vcd"
scene "scenes/npc/$gender01/squad_affirm09.vcd"
// speak "npc_citizen.squad_affirm01"
// speak "npc_citizen.squad_affirm02"
// speak "npc_citizen.squad_affirm03"
// speak "npc_citizen.squad_affirm04"
// speak "npc_citizen.squad_affirm07"
// speak "npc_citizen.squad_affirm08"
// speak "npc_citizen.squad_affirm09"
scene "scenes/npc/$gender01/yougotit02.vcd"
}
response CitizenSquadFarToFarGroup
{
scene "scenes/npc/$gender01/squad_affirm01.vcd"
scene "scenes/npc/$gender01/squad_affirm02.vcd"
scene "scenes/npc/$gender01/squad_affirm03.vcd"
scene "scenes/npc/$gender01/squad_affirm07.vcd"
scene "scenes/npc/$gender01/squad_affirm08.vcd"
scene "scenes/npc/$gender01/squad_affirm09.vcd"
scene "scenes/npc/$gender01/squad_away01.vcd"
scene "scenes/npc/$gender01/squad_away02.vcd"
scene "scenes/npc/$gender01/squad_away03.vcd"
// speak "npc_citizen.squad_affirm01"
// speak "npc_citizen.squad_affirm02"
// speak "npc_citizen.squad_affirm03"
// speak "npc_citizen.squad_affirm07"
// speak "npc_citizen.squad_affirm08"
// speak "npc_citizen.squad_affirm09"
// speak "npc_citizen.squad_away01"
// speak "npc_citizen.squad_away02"
// speak "npc_citizen.squad_away03"
scene "scenes/npc/$gender01/letsgo01.vcd"
scene "scenes/npc/$gender01/letsgo02.vcd"
scene "scenes/npc/$gender01/yougotit02.vcd"
}
response CitizenSquadGeneral
{
scene "scenes/npc/$gender01/squad_affirm01.vcd"
scene "scenes/npc/$gender01/squad_affirm02.vcd"
scene "scenes/npc/$gender01/squad_affirm03.vcd"
scene "scenes/npc/$gender01/squad_affirm05.vcd"
scene "scenes/npc/$gender01/squad_affirm06.vcd"
scene "scenes/npc/$gender01/squad_affirm07.vcd"
scene "scenes/npc/$gender01/squad_affirm08.vcd"
scene "scenes/npc/$gender01/squad_affirm09.vcd"
// speak "npc_citizen.squad_affirm01"
// speak "npc_citizen.squad_affirm02"
// speak "npc_citizen.squad_affirm03"
// speak "npc_citizen.squad_affirm05"
// speak "npc_citizen.squad_affirm06"
// speak "npc_citizen.squad_affirm07"
// speak "npc_citizen.squad_affirm08"
// speak "npc_citizen.squad_affirm09"
scene "scenes/npc/$gender01/yougotit02.vcd"
}
rule CitizenCommanded
{
criteria IsCitizen ConceptTalkCommanded
response CitizenSquadGeneral
}
rule CitizenCommandedNearToFarIndividual
{
criteria IsCitizen ConceptTalkCommanded IsOnlySelected SquadNearPlayer CommandPointNotNearPlayer
response CitizenSquadNearToFarIndividual
}
rule CitizenCommandedNearToFarGroup
{
criteria IsCitizen ConceptTalkCommanded NotOnlySelected SquadNearPlayer CommandPointNotNearPlayer
response CitizenSquadNearToFarGroup
}
rule CitizenCommandedFarToNearIndividual
{
criteria IsCitizen ConceptTalkCommanded IsOnlySelected SquadNotNearPlayer CommandPointNearPlayer
response CitizenSquadFarToNearIndividual
}
rule CitizenCommandedFarToNearGroup
{
criteria IsCitizen ConceptTalkCommanded NotOnlySelected SquadNotNearPlayer CommandPointNearPlayer
response CitizenSquadFarToNearGroup
}
rule CitizenCommandedNearToNearIndividual
{
criteria IsCitizen ConceptTalkCommanded SquadNearPlayer CommandPointNearPlayer
response CitizenSquadNearToNear
}
rule CitizenCommandedFarToFarIndividual
{
criteria IsCitizen ConceptTalkCommanded IsOnlySelected SquadNotNearPlayer CommandPointNotNearPlayer
response CitizenSquadFarToFarIndividual
}
rule CitizenCommandedFarToFarGroup
{
criteria IsCitizen ConceptTalkCommanded NotOnlySelected SquadNotNearPlayer CommandPointNotNearPlayer
response CitizenSquadFarToFarGroup
}
//------------------------------------------------------------------------------------------------------------
response "CitizenCommandedRadio"
{
}
rule CitizenCommandedRadio
{
criteria IsCitizen ConceptTalkCommanded UseRadio
response CitizenCommandedRadio
}
//------------------------------------------------------------------------------------------------------------
response "CitizenCommandFailedRadio"
{
}
rule CitizenCommandFailedRadio
{
criteria IsCitizen ConceptTalkCommandFailed UseRadio
response CitizenCommandFailedRadio
}
//============================================================================================================
// Commander mode follow speech
//============================================================================================================
response CitizenFollowGeneral
{
scene "scenes/npc/$gender01/leadtheway01.vcd"
scene "scenes/npc/$gender01/leadtheway02.vcd"
scene "scenes/npc/$gender01/leadon01.vcd"
scene "scenes/npc/$gender01/leadon02.vcd"
}
response CitizenFollowGroup
{
scene "scenes/npc/$gender01/squad_follow01.vcd"
scene "scenes/npc/$gender01/squad_follow02.vcd"
scene "scenes/npc/$gender01/squad_follow03.vcd"
scene "scenes/npc/$gender01/squad_follow04.vcd"
response CitizenFollowGeneral weight 2
}
rule CitizenFollow
{
criteria IsCitizen ConceptTalkStartFollow
response CitizenFollowGeneral
}
rule CitizenFollowGroup
{
criteria IsCitizen ConceptTalkStartFollow NotOnlySelected
response CitizenFollowGroup
}
//============================================================================================================
// Commander mode join speech
//============================================================================================================
// I'm not sure all these lines will play well when not coming up from behind, so I've made a distinction between trailing & non-trailing
response CitizenJoinIndividual
{
scene "scenes/npc/$gender01/squad_reinforce_single01.vcd"
scene "scenes/npc/$gender01/squad_reinforce_single02.vcd"
scene "scenes/npc/$gender01/squad_reinforce_single03.vcd"
scene "scenes/npc/$gender01/squad_reinforce_single04.vcd"
}
response CitizenJoinGroup
{
scene "scenes/npc/$gender01/squad_reinforce_group01.vcd"
scene "scenes/npc/$gender01/squad_reinforce_group02.vcd"
scene "scenes/npc/$gender01/squad_reinforce_group03.vcd"
scene "scenes/npc/$gender01/squad_reinforce_group04.vcd"
}
response CitizenJoinIndividualTrailing
{
scene "scenes/npc/$gender01/squad_reinforce_single01.vcd"
scene "scenes/npc/$gender01/squad_reinforce_single02.vcd"
scene "scenes/npc/$gender01/squad_reinforce_single03.vcd"
scene "scenes/npc/$gender01/squad_reinforce_single04.vcd"
}
response CitizenJoinGroupTrailing
{
scene "scenes/npc/$gender01/squad_reinforce_group01.vcd"
scene "scenes/npc/$gender01/squad_reinforce_group02.vcd"
scene "scenes/npc/$gender01/squad_reinforce_group03.vcd"
scene "scenes/npc/$gender01/squad_reinforce_group04.vcd"
}
rule CitizenJoinIndividual
{
criteria IsCitizen ConceptJoinPlayer JoinSquadIndividual
response CitizenJoinIndividual
}
rule CitizenJoinGroup
{
criteria IsCitizen ConceptJoinPlayer JoinSquadMultiple
response CitizenJoinGroup
}
rule CitizenJoinIndividualTrailing
{
criteria IsCitizen ConceptJoinPlayer JoinSquadIndividual TrailingReinforcement
response CitizenJoinIndividualTrailing
}
rule CitizenJoinGroupTrailing
{
criteria IsCitizen ConceptJoinPlayer JoinSquadMultiple TrailingReinforcement
response CitizenJoinGroupTrailing
}
response CitizenJoin_d3_c17_07
{
scene "scenes/Streetwar/tunnel/$gender01/d3_c17_07_tenant.vcd"
}
rule CitizenJoin_d3_c17_07
{
criteria IsCitizen ConceptJoinPlayer
"map" "d3_c17_07" required weight 1000
response CitizenJoin_d3_c17_07
matchonce
}
//============================================================================================================
// Commander mode follow speech SPECIAL CASE: first citizen in d3_17_03
//============================================================================================================
response "CitizenFollow_First"
{
scene "scenes/npc/$gender01/abouttime01.vcd"
}
rule CitizenFollow_First
{
criteria IsCitizen ConceptJoinPlayer JoinSquadIndividual Is_03_first
response CitizenFollow_First
}
//------------------------------------------------------------------------------------------------------------
response "CitizenUnFollow"
{
scene "scenes/npc/$gender01/illstayhere01.vcd"
scene "scenes/npc/$gender01/holddownspot01.vcd"
scene "scenes/npc/$gender01/holddownspot02.vcd"
scene "scenes/npc/$gender01/imstickinghere01.vcd"
scene "scenes/npc/$gender01/littlecorner01.vcd"
}
rule CitizenUnFollow
{
criteria IsCitizen ConceptTalkStopFollow
response CitizenUnFollow
}
//============================================================================================================
// 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
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,262 +1,262 @@
// This is the base rule script file for the AI response system for Expressive AI's who speak based on certain "Concepts"
// You can think of a concept as a high level state that the code is trying to convey, such as say hello, or say you're mad, etc.
//
// The format of this file is that there are five main types of commands:
// 1) #include "filename" // This just causes the included scriptfile to be parsed and added to the database
// 2) enumeration: this declares an enumerated type so that comparisons can be matched against the string versions of the type
// 3) response: this specifies a response to issue. A response consists of a weighted set of options and can recursively reference
// other responses by name
// 4) criterion: This is a match condition
// 5) rule: a rule consists of one or more criteria and a response
//
// In general, the system is presented with a criteria set, which is a set of key value pairs generated by the game code and
// various entity I/O and keyfields. For instance, the following criteria set was created in a map with a train terminal
// "speaker" entity wishing to fire random station announcements
// concept = 'train_speaker' (weight 5.000000) ; the high level concept for the search request
// map = 'terminal_pa' ; the name of the map
// classname = 'speaker' ; the classname and name of the "speaking" entity
// name = 'terminal_pa'
// health = '10' ; the absolute health of the speaking entity
// healthfrac = '0.000' ; the health fraction (health/maxhealth) of the speaking entity
// playerhealth = '100' ; similar data related to the current player:
// playerhealthfrac = '1.000'
// playerweapon = 'none' ; the name of the weapon the player is carrying
// playeractivity = 'ACT_WALK' ; animating activity of the player
// playerspeed = '0.000' ; how fast the player is moving
//
// Based on such a criteria set, the system checks each rule against the set. To do this, each criterion of the rule is
// given a numeric score as follows:
// score = 0 if criteria doesn't match or, criterion weight * keyvaliue weight if it does match
// The final score for a rule is the sum of all of the scores of its criteria. The best rule is the one with the highest
// score. Once a best rule is selected, then a response is looked up based on the response definitions and the engine is
// asked to dispatch that response.
//
// The specific syntax for the various keywords is as follows:
//
// ENUMERATIONS:
//
// enumeration <enumerationname>
// {
// "key1" "value1"
// "key2" "value2"
// ...etc.
// }
// The code and criteria refer to enumerations with square brackets and a double colon separator, e.g.:
// [enumerationname::key1]
//
//
// RESPONSES:
//
// Single line:
// response <responsegroupname> [nodelay | defaultdelay | delay interval ] [speakonce] [noscene] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] responsetype parameters
// Multiple lines
// response <responsegroupname>
// {
// [permitrepeats] ; optional parameter, by default we visit all responses in group before repeating any
// [sequential] ; optional parameter, by default we randomly choose responses, but with this we walk through the list starting at the first and going to the last
// [norepeat] ; Once we've run through all of the entries, disable the response group
// responsetype1 parameters1 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] weight nnn
// responsetype2 parameters2 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] weight nnn
// etc.
// }
// Where:
// interval = "startnumber,endnumber" or "number" (e.g., "2.8,3.2" or "3.2")
// responsetype =:
// speak ; it's an entry in sounds.txt
// sentence ; it's a sentence name from sentences.txt
// scene ; it's a .vcd file
// response ; it's a reference to another response group by name
// print ; print the text in developer 2 (for placeholder responses)
// nodelay = an additional delay of 0 after speaking
// defaultdelay = an additional delay of 2.8 to 3.2 seconds after speaking
// delay interval = an additional delay based on a random sample from the interval after speaking
// speakonce = don't use this response more than one time (default off)
// noscene = For an NPC, play the sound immediately using EmitSound, don't play it through the scene system. Good for playing sounds on dying or dead NPCs.
// odds = if this response is selected, if odds < 100, then there is a chance that nothing will be said (default 100)
// respeakdelay = don't use this response again for at least this long (default 0)
// soundlevel = use this soundlevel for the speak/sentence (default SNDLVL_TALKING)
// weight = if there are multiple responses, this is a selection weighting so that certain responses are favored over others in the group (default 1)
// displayfirst/displaylast : this should be the first/last item selected (ignores weight)
//
// CRITERIA:
//
// criterion <criterionname> <matchkey> <matchvalue> weight nnn required
// Where:
// matchkey matches one of the criteria in the set as shown above
// matchvalue is a string or number value or a range, the following are all valid:
// "0" ; numeric match to value 0
// "1" ; numeric match to value 1
// "weapon_smg1" ; string match to weapon_smg1 string
// "[npcstate::idle]" ; match enumeration by looking up numeric value
// ">0" ; match if greater than zero
// ">10,<=50" ; match if greater than ten and less than or equal to 50
// ">0,<[npcstate::alert]" ; match if greater than zer and les then value of enumeration for alert
// "!=0" ; match if not equal to zero
// weight = floating point weighting for score assuming criteria match (default value 1.0)
// required: if a rule has one or more criteria with the required flag set, then if any such criteria
// fail, the entire rule receives a score of zero
//
// RULE:
//
// rule <rulename>
// {
// criteria name1 [name2 name3 etc.]
// response responsegroupname [responsegroupname2 etc.]
// [matchonce] ; optional parameter
// [ <matchkey > <matchvalue> weight nnn required ]
// }
// Where:
// criteria just lies one more more criterion names from above and response list one or more of the response
// names from above (usually just one)
// matchonce (off by default): means that the rule is deactivated after the first time it is matched
// Note that additional "unnamed" criteria can be specified inline in the rule using the same syntax
// as for defining a criterion, except for the criterion keyword and the criterion name keys
//
// Interaction with entity I/O system
// CBaseEntity contains an inputfunc called "DispatchResponse" which accepts a string which is a concept name
// Thus, a game entity can fire this input on another entity with a concept string and a criteria set will
// be generated and searched against the entities current response system rule set.
// Right now only the speaker entity and NPC_Talker derived NPCs have any response rules loaded
// In addition, map placed entities have up to three "context" keypairs that can be specified.
// They take the form: "key:value" (key, single colon separator, value)
// When an entity with any such context keypairs is asked to dispatch a response, the keypairs are added to the
// criteria set passed to the rule system. Thus, map placed entities and triggers can specify their
// own context keypairs and these can be hooked up to response rules to do map-specific and appropriate
// responses
// In addition, entity I/O can be used to add, remove and clear any such context keypairs via the
// AddContext, RemoveContext, and ClearContext input functions.
// AddContext takes a keypair of the "key:value" format, while RemoveContext take just the "key"
// ClearContext removes all context keypairs
// The game .dll code can enumerate context keypairs and change them via code based methods
//
// The player and the world have their context added with the string player or world as a prefix, e.g.:
// "playerkey:value" or "worldkey:value" to differentiate world/player context from the context of the
// responding entity.
// Base script
enumeration "NPCState"
{
"None" "0"
"Idle" "1"
"Alert" "2"
"Combat" "3"
"Scripted" "4"
"PlayDead" "5"
"Dead" "6"
}
response "NullResponse"
// Question / Answer concepts
criterion "ConceptTalkAnswer" "Concept" "TLK_ANSWER" required weight 1
criterion "ConceptTalkQuestion" "Concept" "TLK_QUESTION" required // weight 1 implied
criterion "ConceptTalkAnswerCitizen" "Concept" "TLK_ANSWER_CIT" required weight 1
criterion "ConceptTalkQuestionCitizen" "Concept" "TLK_QUESTION_CIT" required
criterion "ConceptTalkAnswerVort" "Concept" "TLK_ANSWER_VORT" required weight 1
criterion "ConceptTalkQuestionVort" "Concept" "TLK_QUESTION_VORT" required
// General concepts
criterion "ConceptTalkIdle" "Concept" "TLK_IDLE" required
criterion "ConceptTalkStare" "Concept" "TLK_STARE" required
criterion "ConceptTalkUse" "Concept" "TLK_USE" required
criterion "ConceptTalkStartFollow" "Concept" "TLK_STARTFOLLOW" required
criterion "ConceptTalkStopFollow" "Concept" "TLK_STOPFOLLOW" required
criterion "ConceptTalkStop" "Concept" "TLK_STOP" required
criterion "ConceptTalkNoShoot" "Concept" "TLK_NOSHOOT" required
criterion "ConceptTalkHello" "Concept" "TLK_HELLO" required
criterion "ConceptTalkPHello" "Concept" "TLK_PHELLO" required
criterion "ConceptTalkPIdle" "Concept" "TLK_PIDLE" required
criterion "ConceptTalkPQuestion" "Concept" "TLK_PQUESTION" required
criterion "ConceptTalkPlayerHurt1" "Concept" "TLK_PLHURT1" required
criterion "ConceptTalkPlayerHurt2" "Concept" "TLK_PLHURT2" required
criterion "ConceptTalkPlayerHurt3" "Concept" "TLK_PLHURT3" required
criterion "ConceptTalkPlayerPushed" "Concept" "TLK_PLPUSH" required
criterion "ConceptTalkSmell" "Concept" "TLK_SMELL" required
criterion "ConceptTalkWound" "Concept" "TLK_WOUND" required
criterion "ConceptTalkMortal" "Concept" "TLK_MORTAL" required
criterion "ConceptTalkDanger" "Concept" "TLK_DANGER" required
criterion "ConceptTalkResume" "Concept" "TLK_RESUME" required
criterion "ConceptTalkHeal" "Concept" "TLK_HEAL" required
criterion "ConceptTalkTourGuideStayPut" "Concept" "TLK_TGSTAYPUT" required
criterion "ConceptTalkTourGuideFind" "Concept" "TLK_TGFIND" required
criterion "ConceptTalkTourGuideSeek" "Concept" "TLK_TGSEEK" required
criterion "ConceptTalkTourGuideLostYou" "Concept" "TLK_TGLOSTYOU" required
criterion "ConceptTalkTourGuideCatchUp" "Concept" "TLK_TGCATCHUP" required
criterion "ConceptTalkTourGuideEndTour" "Concept" "TLK_TGENDTOUR" required
criterion "ConceptTalkSelected" "Concept" "TLK_SELECTED" required
criterion "ConceptTalkCommanded" "Concept" "TLK_COMMANDED" required
criterion "ConceptTalkCommandFailed" "Concept" "TLK_COMMAND_FAILED" required
criterion "ConceptTalkBetrayed" "Concept" "TLK_BETRAYED" required
criterion "ConceptTalkGiveAmmo" "Concept" "TLK_GIVEAMMO" required
criterion "ConceptTalkAllyKilled" "Concept" "TLK_ALLY_KILLED" required
criterion "ConceptSeeCombine" "Concept" "TLK_SEE_COMBINE" required
criterion "ConceptEnemyDead" "Concept" "TLK_ENEMY_DEAD" required
criterion "ConceptTalkWatchOut" "Concept" "TLK_WATCHOUT" required
criterion "ConceptTalkAttacking" "Concept" "TLK_ATTACKING" required
criterion "ConceptTalkDeath" "Concept" "TLK_DEATH" required
criterion "ConceptTalkHelpMe" "Concept" "TLK_HELP_ME" required
criterion "ConceptTalkPlayerPhysAttack" "Concept" "TLK_PLYR_PHYSATK" required
criterion "ConceptDissolveScream" "Concept" "TLK_DISSOLVESCREAM" required
criterion "ConceptElectrocuteScream" "Concept" "TLK_ELECTROCUTESCREAM" required
criterion "ConceptNewWeapon" "Concept" "TLK_NEWWEAPON" required
criterion "ConceptShot" "Concept" "TLK_SHOT" required
criterion "ConceptPlayerReload" "Concept" "TLK_PLRELOAD" required
criterion "ConceptPlayerDead" "Concept" "TLK_PLDEAD" required
criterion "ConceptHideAndReload" "Concept" "TLK_HIDEANDRELOAD" required
criterion "ConceptStartCombat" "Concept" "TLK_STARTCOMBAT" required
criterion "ConceptJoinPlayer" "Concept" "TLK_JOINPLAYER" required
// Lead behavior
criterion "ConceptLeadStart" "Concept" "TLK_LEAD_START" required // Spoken once when the NPC first starts to lead the player
criterion "ConceptLeadWaitOver" "Concept" "TLK_LEAD_WAITOVER" required // Spoken when the player arrives at an NPC waiting to lead the player
criterion "ConceptLeadAttractPlayer" "Concept" "TLK_LEAD_ATTRACTPLAYER" required // Nag spoken by a NPC waiting to lead the player, trying to attract the player
criterion "ConceptLeadCatchup" "Concept" "TLK_LEAD_CATCHUP" required // Spoken by the NPC when the player's lagging behind
criterion "ConceptLeadComingBack" "Concept" "TLK_LEAD_COMINGBACK" required // Spoken when the NPC comes back to find a lost player
criterion "ConceptLeadRetrieve" "Concept" "TLK_LEAD_RETRIEVE" required // Spoken when the NPC has come back to the player, and is now resuming the lead
criterion "ConceptLeadArrival" "Concept" "TLK_LEAD_ARRIVAL" required // Spoken when the leading NPC reaches the target point
criterion "ConceptLeadSuccess" "Concept" "TLK_LEAD_SUCCESS" required // Spoken when the player and the leading NPC have both reached the target point
criterion "ConceptLeadMissingWeapon" "Concept" "TLK_LEAD_MISSING_WEAPON" required // Spoken when the NPC refuses to lead the player because he's missing a weapon
// Citizen responses
criterion "ConceptCRPlayerShotGunship" "Concept" "TLK_CITIZEN_RESPONSE_SHOT_GUNSHIP" required
criterion "ConceptCRPlayerKilledGunship" "Concept" "TLK_CITIZEN_RESPONSE_KILLEd_GUNSHIP" required
criterion "ConceptCRVitalNPCDied" "Concept" "TLK_VITALNPC_DIED" required
criterion "PlayerAlive" "PlayerHealth" ">0" required
criterion "PlayerDead" "PlayerHealth" "<=0" required
criterion "PlayerWounded" "PlayerHealthFrac" ">0,<=.5"
criterion "NPCAlive" "Health" ">0" required
criterion "NPCAlert" "NPCState" ">=[NPCState::Idle],<[NPCState::Alert]"
criterion "NPCIdle" "NPCState" "[NPCState::Idle]" required
criterion "PlayerNear" "distancetoplayer" "<500" required
criterion "SeePlayer" "seeplayer" "1" required
criterion "SeenByPlayer" "seenbyplayer" "1" required
criterion "NoRecentCombat" "timesincecombat" ">25" required
criterion "ShotInLeg" "shotloc" "leg" required weight 0
criterion "ShotInArm" "shotloc" "arm" required weight 0
criterion "ShotInGut" "shotloc" "gut" required weight 0
criterion "EnemyIsMortar" "enemy" "func_tankmortar" required
criterion "NotUsedVortResponse" "UsedVortResponse" "!=1" "required" weight 0
criterion "IsVortLabUseDisable" "VortLab_Enable" "0" weight 2 required
// Global states
criterion "IsGordonCriminal" "gordon_precriminal" "0" required
criterion "IsGordonPreCriminal" "gordon_precriminal" "1" required
criterion "IsMap_d3_c17_09" "map" "d3_c17_09" "required"
// Test rules
#include "talker/interjections.txt"
#include "talker/npc_combine.txt"
#include "talker/response_k_lab.txt"
#include "talker/response_eli_lab.txt"
#include "talker/npc_vortigaunt.txt"
#include "talker/npc_citizen.txt"
#include "talker/npc_grigori.txt"
#include "talker/npc_barney.txt"
#include "talker/npc_alyx.txt"
// This is the base rule script file for the AI response system for Expressive AI's who speak based on certain "Concepts"
// You can think of a concept as a high level state that the code is trying to convey, such as say hello, or say you're mad, etc.
//
// The format of this file is that there are five main types of commands:
// 1) #include "filename" // This just causes the included scriptfile to be parsed and added to the database
// 2) enumeration: this declares an enumerated type so that comparisons can be matched against the string versions of the type
// 3) response: this specifies a response to issue. A response consists of a weighted set of options and can recursively reference
// other responses by name
// 4) criterion: This is a match condition
// 5) rule: a rule consists of one or more criteria and a response
//
// In general, the system is presented with a criteria set, which is a set of key value pairs generated by the game code and
// various entity I/O and keyfields. For instance, the following criteria set was created in a map with a train terminal
// "speaker" entity wishing to fire random station announcements
// concept = 'train_speaker' (weight 5.000000) ; the high level concept for the search request
// map = 'terminal_pa' ; the name of the map
// classname = 'speaker' ; the classname and name of the "speaking" entity
// name = 'terminal_pa'
// health = '10' ; the absolute health of the speaking entity
// healthfrac = '0.000' ; the health fraction (health/maxhealth) of the speaking entity
// playerhealth = '100' ; similar data related to the current player:
// playerhealthfrac = '1.000'
// playerweapon = 'none' ; the name of the weapon the player is carrying
// playeractivity = 'ACT_WALK' ; animating activity of the player
// playerspeed = '0.000' ; how fast the player is moving
//
// Based on such a criteria set, the system checks each rule against the set. To do this, each criterion of the rule is
// given a numeric score as follows:
// score = 0 if criteria doesn't match or, criterion weight * keyvaliue weight if it does match
// The final score for a rule is the sum of all of the scores of its criteria. The best rule is the one with the highest
// score. Once a best rule is selected, then a response is looked up based on the response definitions and the engine is
// asked to dispatch that response.
//
// The specific syntax for the various keywords is as follows:
//
// ENUMERATIONS:
//
// enumeration <enumerationname>
// {
// "key1" "value1"
// "key2" "value2"
// ...etc.
// }
// The code and criteria refer to enumerations with square brackets and a double colon separator, e.g.:
// [enumerationname::key1]
//
//
// RESPONSES:
//
// Single line:
// response <responsegroupname> [nodelay | defaultdelay | delay interval ] [speakonce] [noscene] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] responsetype parameters
// Multiple lines
// response <responsegroupname>
// {
// [permitrepeats] ; optional parameter, by default we visit all responses in group before repeating any
// [sequential] ; optional parameter, by default we randomly choose responses, but with this we walk through the list starting at the first and going to the last
// [norepeat] ; Once we've run through all of the entries, disable the response group
// responsetype1 parameters1 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] weight nnn
// responsetype2 parameters2 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] weight nnn
// etc.
// }
// Where:
// interval = "startnumber,endnumber" or "number" (e.g., "2.8,3.2" or "3.2")
// responsetype =:
// speak ; it's an entry in sounds.txt
// sentence ; it's a sentence name from sentences.txt
// scene ; it's a .vcd file
// response ; it's a reference to another response group by name
// print ; print the text in developer 2 (for placeholder responses)
// nodelay = an additional delay of 0 after speaking
// defaultdelay = an additional delay of 2.8 to 3.2 seconds after speaking
// delay interval = an additional delay based on a random sample from the interval after speaking
// speakonce = don't use this response more than one time (default off)
// noscene = For an NPC, play the sound immediately using EmitSound, don't play it through the scene system. Good for playing sounds on dying or dead NPCs.
// odds = if this response is selected, if odds < 100, then there is a chance that nothing will be said (default 100)
// respeakdelay = don't use this response again for at least this long (default 0)
// soundlevel = use this soundlevel for the speak/sentence (default SNDLVL_TALKING)
// weight = if there are multiple responses, this is a selection weighting so that certain responses are favored over others in the group (default 1)
// displayfirst/displaylast : this should be the first/last item selected (ignores weight)
//
// CRITERIA:
//
// criterion <criterionname> <matchkey> <matchvalue> weight nnn required
// Where:
// matchkey matches one of the criteria in the set as shown above
// matchvalue is a string or number value or a range, the following are all valid:
// "0" ; numeric match to value 0
// "1" ; numeric match to value 1
// "weapon_smg1" ; string match to weapon_smg1 string
// "[npcstate::idle]" ; match enumeration by looking up numeric value
// ">0" ; match if greater than zero
// ">10,<=50" ; match if greater than ten and less than or equal to 50
// ">0,<[npcstate::alert]" ; match if greater than zer and les then value of enumeration for alert
// "!=0" ; match if not equal to zero
// weight = floating point weighting for score assuming criteria match (default value 1.0)
// required: if a rule has one or more criteria with the required flag set, then if any such criteria
// fail, the entire rule receives a score of zero
//
// RULE:
//
// rule <rulename>
// {
// criteria name1 [name2 name3 etc.]
// response responsegroupname [responsegroupname2 etc.]
// [matchonce] ; optional parameter
// [ <matchkey > <matchvalue> weight nnn required ]
// }
// Where:
// criteria just lies one more more criterion names from above and response list one or more of the response
// names from above (usually just one)
// matchonce (off by default): means that the rule is deactivated after the first time it is matched
// Note that additional "unnamed" criteria can be specified inline in the rule using the same syntax
// as for defining a criterion, except for the criterion keyword and the criterion name keys
//
// Interaction with entity I/O system
// CBaseEntity contains an inputfunc called "DispatchResponse" which accepts a string which is a concept name
// Thus, a game entity can fire this input on another entity with a concept string and a criteria set will
// be generated and searched against the entities current response system rule set.
// Right now only the speaker entity and NPC_Talker derived NPCs have any response rules loaded
// In addition, map placed entities have up to three "context" keypairs that can be specified.
// They take the form: "key:value" (key, single colon separator, value)
// When an entity with any such context keypairs is asked to dispatch a response, the keypairs are added to the
// criteria set passed to the rule system. Thus, map placed entities and triggers can specify their
// own context keypairs and these can be hooked up to response rules to do map-specific and appropriate
// responses
// In addition, entity I/O can be used to add, remove and clear any such context keypairs via the
// AddContext, RemoveContext, and ClearContext input functions.
// AddContext takes a keypair of the "key:value" format, while RemoveContext take just the "key"
// ClearContext removes all context keypairs
// The game .dll code can enumerate context keypairs and change them via code based methods
//
// The player and the world have their context added with the string player or world as a prefix, e.g.:
// "playerkey:value" or "worldkey:value" to differentiate world/player context from the context of the
// responding entity.
// Base script
enumeration "NPCState"
{
"None" "0"
"Idle" "1"
"Alert" "2"
"Combat" "3"
"Scripted" "4"
"PlayDead" "5"
"Dead" "6"
}
response "NullResponse"
// Question / Answer concepts
criterion "ConceptTalkAnswer" "Concept" "TLK_ANSWER" required weight 1
criterion "ConceptTalkQuestion" "Concept" "TLK_QUESTION" required // weight 1 implied
criterion "ConceptTalkAnswerCitizen" "Concept" "TLK_ANSWER_CIT" required weight 1
criterion "ConceptTalkQuestionCitizen" "Concept" "TLK_QUESTION_CIT" required
criterion "ConceptTalkAnswerVort" "Concept" "TLK_ANSWER_VORT" required weight 1
criterion "ConceptTalkQuestionVort" "Concept" "TLK_QUESTION_VORT" required
// General concepts
criterion "ConceptTalkIdle" "Concept" "TLK_IDLE" required
criterion "ConceptTalkStare" "Concept" "TLK_STARE" required
criterion "ConceptTalkUse" "Concept" "TLK_USE" required
criterion "ConceptTalkStartFollow" "Concept" "TLK_STARTFOLLOW" required
criterion "ConceptTalkStopFollow" "Concept" "TLK_STOPFOLLOW" required
criterion "ConceptTalkStop" "Concept" "TLK_STOP" required
criterion "ConceptTalkNoShoot" "Concept" "TLK_NOSHOOT" required
criterion "ConceptTalkHello" "Concept" "TLK_HELLO" required
criterion "ConceptTalkPHello" "Concept" "TLK_PHELLO" required
criterion "ConceptTalkPIdle" "Concept" "TLK_PIDLE" required
criterion "ConceptTalkPQuestion" "Concept" "TLK_PQUESTION" required
criterion "ConceptTalkPlayerHurt1" "Concept" "TLK_PLHURT1" required
criterion "ConceptTalkPlayerHurt2" "Concept" "TLK_PLHURT2" required
criterion "ConceptTalkPlayerHurt3" "Concept" "TLK_PLHURT3" required
criterion "ConceptTalkPlayerPushed" "Concept" "TLK_PLPUSH" required
criterion "ConceptTalkSmell" "Concept" "TLK_SMELL" required
criterion "ConceptTalkWound" "Concept" "TLK_WOUND" required
criterion "ConceptTalkMortal" "Concept" "TLK_MORTAL" required
criterion "ConceptTalkDanger" "Concept" "TLK_DANGER" required
criterion "ConceptTalkResume" "Concept" "TLK_RESUME" required
criterion "ConceptTalkHeal" "Concept" "TLK_HEAL" required
criterion "ConceptTalkTourGuideStayPut" "Concept" "TLK_TGSTAYPUT" required
criterion "ConceptTalkTourGuideFind" "Concept" "TLK_TGFIND" required
criterion "ConceptTalkTourGuideSeek" "Concept" "TLK_TGSEEK" required
criterion "ConceptTalkTourGuideLostYou" "Concept" "TLK_TGLOSTYOU" required
criterion "ConceptTalkTourGuideCatchUp" "Concept" "TLK_TGCATCHUP" required
criterion "ConceptTalkTourGuideEndTour" "Concept" "TLK_TGENDTOUR" required
criterion "ConceptTalkSelected" "Concept" "TLK_SELECTED" required
criterion "ConceptTalkCommanded" "Concept" "TLK_COMMANDED" required
criterion "ConceptTalkCommandFailed" "Concept" "TLK_COMMAND_FAILED" required
criterion "ConceptTalkBetrayed" "Concept" "TLK_BETRAYED" required
criterion "ConceptTalkGiveAmmo" "Concept" "TLK_GIVEAMMO" required
criterion "ConceptTalkAllyKilled" "Concept" "TLK_ALLY_KILLED" required
criterion "ConceptSeeCombine" "Concept" "TLK_SEE_COMBINE" required
criterion "ConceptEnemyDead" "Concept" "TLK_ENEMY_DEAD" required
criterion "ConceptTalkWatchOut" "Concept" "TLK_WATCHOUT" required
criterion "ConceptTalkAttacking" "Concept" "TLK_ATTACKING" required
criterion "ConceptTalkDeath" "Concept" "TLK_DEATH" required
criterion "ConceptTalkHelpMe" "Concept" "TLK_HELP_ME" required
criterion "ConceptTalkPlayerPhysAttack" "Concept" "TLK_PLYR_PHYSATK" required
criterion "ConceptDissolveScream" "Concept" "TLK_DISSOLVESCREAM" required
criterion "ConceptElectrocuteScream" "Concept" "TLK_ELECTROCUTESCREAM" required
criterion "ConceptNewWeapon" "Concept" "TLK_NEWWEAPON" required
criterion "ConceptShot" "Concept" "TLK_SHOT" required
criterion "ConceptPlayerReload" "Concept" "TLK_PLRELOAD" required
criterion "ConceptPlayerDead" "Concept" "TLK_PLDEAD" required
criterion "ConceptHideAndReload" "Concept" "TLK_HIDEANDRELOAD" required
criterion "ConceptStartCombat" "Concept" "TLK_STARTCOMBAT" required
criterion "ConceptJoinPlayer" "Concept" "TLK_JOINPLAYER" required
// Lead behavior
criterion "ConceptLeadStart" "Concept" "TLK_LEAD_START" required // Spoken once when the NPC first starts to lead the player
criterion "ConceptLeadWaitOver" "Concept" "TLK_LEAD_WAITOVER" required // Spoken when the player arrives at an NPC waiting to lead the player
criterion "ConceptLeadAttractPlayer" "Concept" "TLK_LEAD_ATTRACTPLAYER" required // Nag spoken by a NPC waiting to lead the player, trying to attract the player
criterion "ConceptLeadCatchup" "Concept" "TLK_LEAD_CATCHUP" required // Spoken by the NPC when the player's lagging behind
criterion "ConceptLeadComingBack" "Concept" "TLK_LEAD_COMINGBACK" required // Spoken when the NPC comes back to find a lost player
criterion "ConceptLeadRetrieve" "Concept" "TLK_LEAD_RETRIEVE" required // Spoken when the NPC has come back to the player, and is now resuming the lead
criterion "ConceptLeadArrival" "Concept" "TLK_LEAD_ARRIVAL" required // Spoken when the leading NPC reaches the target point
criterion "ConceptLeadSuccess" "Concept" "TLK_LEAD_SUCCESS" required // Spoken when the player and the leading NPC have both reached the target point
criterion "ConceptLeadMissingWeapon" "Concept" "TLK_LEAD_MISSING_WEAPON" required // Spoken when the NPC refuses to lead the player because he's missing a weapon
// Citizen responses
criterion "ConceptCRPlayerShotGunship" "Concept" "TLK_CITIZEN_RESPONSE_SHOT_GUNSHIP" required
criterion "ConceptCRPlayerKilledGunship" "Concept" "TLK_CITIZEN_RESPONSE_KILLEd_GUNSHIP" required
criterion "ConceptCRVitalNPCDied" "Concept" "TLK_VITALNPC_DIED" required
criterion "PlayerAlive" "PlayerHealth" ">0" required
criterion "PlayerDead" "PlayerHealth" "<=0" required
criterion "PlayerWounded" "PlayerHealthFrac" ">0,<=.5"
criterion "NPCAlive" "Health" ">0" required
criterion "NPCAlert" "NPCState" ">=[NPCState::Idle],<[NPCState::Alert]"
criterion "NPCIdle" "NPCState" "[NPCState::Idle]" required
criterion "PlayerNear" "distancetoplayer" "<500" required
criterion "SeePlayer" "seeplayer" "1" required
criterion "SeenByPlayer" "seenbyplayer" "1" required
criterion "NoRecentCombat" "timesincecombat" ">25" required
criterion "ShotInLeg" "shotloc" "leg" required weight 0
criterion "ShotInArm" "shotloc" "arm" required weight 0
criterion "ShotInGut" "shotloc" "gut" required weight 0
criterion "EnemyIsMortar" "enemy" "func_tankmortar" required
criterion "NotUsedVortResponse" "UsedVortResponse" "!=1" "required" weight 0
criterion "IsVortLabUseDisable" "VortLab_Enable" "0" weight 2 required
// Global states
criterion "IsGordonCriminal" "gordon_precriminal" "0" required
criterion "IsGordonPreCriminal" "gordon_precriminal" "1" required
criterion "IsMap_d3_c17_09" "map" "d3_c17_09" "required"
// Test rules
#include "talker/interjections.txt"
#include "talker/npc_combine.txt"
#include "talker/response_k_lab.txt"
#include "talker/response_eli_lab.txt"
#include "talker/npc_vortigaunt.txt"
#include "talker/npc_citizen.txt"
#include "talker/npc_grigori.txt"
#include "talker/npc_barney.txt"
#include "talker/npc_alyx.txt"

View File

@@ -1,294 +1,294 @@
//TITLES FOR HALF-LIFE 2
// Position command $position x y
// x & y are from 0 to 1 to be screen resolution independent
// -1 means center in each dimension
// Effect command $effect <effect number>
// effect 0 is fade in/fade out
// effect 1 is flickery credits
// effect 2 is write out (training room)
// Text color r g b command $color
// fadein time fadeout time / hold time
// $fadein (message fade in time - per character in effect 2)
// $fadeout (message fade out time)
// $holdtime (stay on the screen for this long)
//INTRO TITLES
// All centered for now
$position -1 -1
$effect 2
// This is the final color
$color 100 100 100
// This is the highlight color
$color2 240 110 0
// This is the time it takes to fade each character
$fadein 0.01
// This is the amount of time the highlight lags behind the leading edge of the text
$fxtime 0.25
// How long to hold the message on the screen (after it scans out)
$holdtime 3.5
// How long it takes to fade out the message after holding
$fadeout 1.5
//INTRO CREDITS
// Test values -- JAY
// Lower left
$position 0.1 0.8
$effect 1
// Final fade-in color
$color 128 128 128
// This is the highlight/flash color
$color2 0 0 0
$fadein 1.5
$fadeout 0.5
$holdtime 1.2
CR1
{
Testing 1
}
CR2
{
Testing 2
}
CR3
{
Testing 3
}
//INTRO TITLES
// All centered for now
$position -1 -1
$effect 2
// This is the final color
$color 100 100 100
// This is the highlight color
$color2 240 110 0
// This is the time it takes to fade each character
$fadein 0.01
// This is the amount of time the highlight lags behind the leading edge of the text
$fxtime 0.25
// How long to hold the message on the screen (after it scans out)
$holdtime 3.5
// How long it takes to fade out the message after holding
$fadeout 1.5
GAMEOVER_ALLY
{
#HL2_GameOver_Ally
}
GAMEOVER_OBJECT
{
#HL2_GameOver_Object
}
GAMEOVER_TIMER
{
#HL2_GameOver_Timer
}
GAMEOVER_STUCK
{
#HL2_GameOver_Stuck
}
$fadein 0.03
$holdtime 9
//CHAPTER TITLES
$fadein 0.01
$holdtime 3.5
$position -1 0.58
CHAPTER1_TITLE
{
#HL2_Chapter1_Title
}
CHAPTER2_TITLE
{
#HL2_Chapter2_Title
}
CHAPTER3_TITLE
{
#HL2_Chapter3_Title
}
CHAPTER4_TITLE
{
#HL2_Chapter4_Title
}
CHAPTER5_TITLE
{
#HL2_Chapter5_Title
}
CHAPTER6_TITLE
{
#HL2_Chapter6_Title
}
CHAPTER7_TITLE
{
#HL2_Chapter7_Title
}
CHAPTER8_TITLE
{
#HL2_Chapter8_Title
}
CHAPTER9_TITLE
{
#HL2_Chapter9_Title
}
CHAPTER9A_TITLE
{
#HL2_Chapter9a_Title
}
CHAPTER10_TITLE
{
#HL2_Chapter10_Title
}
CHAPTER11_TITLE
{
#HL2_Chapter11_Title
}
CHAPTER12_TITLE
{
#HL2_Chapter12_Title
}
CHAPTER13_TITLE
{
#HL2_Chapter13_Title
}
// In-Game messages
$position 0.1 0.1
$effect 2
// This is the final color
$color 100 100 100
// This is the highlight color
$color2 240 110 0
// This is the time it takes to fade each character
$fadein 0.00
// This is the amount of time the highlight lags behind the leading edge of the text
$fxtime 0.15
// How long to hold the message on the screen (after it scans out)
$holdtime 1.0
// How long it takes to fade out the message after holding
$fadeout 0.25
$boxsize 0.4
$boxcolor 31 31 31 127
GAMESAVING_360
{
#HL2_Saved
}
$position -1 0.65
GAMESAVING
{
#HL2_Saved
}
// In-Game messages
$position 0.1 0.1
$effect 2
// This is the final color
$color 100 100 100
// This is the highlight color
$color2 240 110 0
// This is the time it takes to fade each character
$fadein 0.00
// This is the amount of time the highlight lags behind the leading edge of the text
$fxtime 0.15
// How long to hold the message on the screen (after it scans out)
$holdtime 1.0
// How long it takes to fade out the message after holding
$fadeout 0.25
$boxsize 0.4
$boxcolor 31 31 31 127
// The following message will clear any existing message of the given name
$clearmessage GAMESAVING
GAMESAVED_360
{
#HL2_Saved
}
$position -1 0.65
GAMESAVED
{
#HL2_Saved
}
$clearmessage 0
// Game title
// This is a placeholder to hold the effects controls for the "Half-Life" title
$position -1 -1
// Only effect 0 is supported for game title
$effect 0
// This is the final color
$color 180 180 180
// Not used color2
$color2 0 0 0
// This is the time it takes to fade in the title
$fadein 1.0
// How long to hold the message on the screen (after it scans out)
$holdtime 3.0
// How long it takes to fade out the message after holding
$fadeout 1.5
$boxsize 0.0
GAMETITLE
{
Half-Life
}
//HAZARD COURSE TEXT
// Test values -- JAY
$position -1 0.65
// Scan-out text effect
$effect 2
// This is the final color
$color 100 100 100
// This is the highlight color
$color2 0 200 50
// This is the time it takes to fade each character
$fadein 0.005
// This is the amount of time the highlight lags behind the leading edge of the text
$fxtime 0.5
// How long to hold the message on the screen (after it scans out)
$holdtime 3.5
// How long it takes to fade out the message after holding
$fadeout 1.5
$position -1 0.65
$position -1 0.3
//TITLES FOR HALF-LIFE 2
// Position command $position x y
// x & y are from 0 to 1 to be screen resolution independent
// -1 means center in each dimension
// Effect command $effect <effect number>
// effect 0 is fade in/fade out
// effect 1 is flickery credits
// effect 2 is write out (training room)
// Text color r g b command $color
// fadein time fadeout time / hold time
// $fadein (message fade in time - per character in effect 2)
// $fadeout (message fade out time)
// $holdtime (stay on the screen for this long)
//INTRO TITLES
// All centered for now
$position -1 -1
$effect 2
// This is the final color
$color 100 100 100
// This is the highlight color
$color2 240 110 0
// This is the time it takes to fade each character
$fadein 0.01
// This is the amount of time the highlight lags behind the leading edge of the text
$fxtime 0.25
// How long to hold the message on the screen (after it scans out)
$holdtime 3.5
// How long it takes to fade out the message after holding
$fadeout 1.5
//INTRO CREDITS
// Test values -- JAY
// Lower left
$position 0.1 0.8
$effect 1
// Final fade-in color
$color 128 128 128
// This is the highlight/flash color
$color2 0 0 0
$fadein 1.5
$fadeout 0.5
$holdtime 1.2
CR1
{
Testing 1
}
CR2
{
Testing 2
}
CR3
{
Testing 3
}
//INTRO TITLES
// All centered for now
$position -1 -1
$effect 2
// This is the final color
$color 100 100 100
// This is the highlight color
$color2 240 110 0
// This is the time it takes to fade each character
$fadein 0.01
// This is the amount of time the highlight lags behind the leading edge of the text
$fxtime 0.25
// How long to hold the message on the screen (after it scans out)
$holdtime 3.5
// How long it takes to fade out the message after holding
$fadeout 1.5
GAMEOVER_ALLY
{
#HL2_GameOver_Ally
}
GAMEOVER_OBJECT
{
#HL2_GameOver_Object
}
GAMEOVER_TIMER
{
#HL2_GameOver_Timer
}
GAMEOVER_STUCK
{
#HL2_GameOver_Stuck
}
$fadein 0.03
$holdtime 9
//CHAPTER TITLES
$fadein 0.01
$holdtime 3.5
$position -1 0.58
CHAPTER1_TITLE
{
#HL2_Chapter1_Title
}
CHAPTER2_TITLE
{
#HL2_Chapter2_Title
}
CHAPTER3_TITLE
{
#HL2_Chapter3_Title
}
CHAPTER4_TITLE
{
#HL2_Chapter4_Title
}
CHAPTER5_TITLE
{
#HL2_Chapter5_Title
}
CHAPTER6_TITLE
{
#HL2_Chapter6_Title
}
CHAPTER7_TITLE
{
#HL2_Chapter7_Title
}
CHAPTER8_TITLE
{
#HL2_Chapter8_Title
}
CHAPTER9_TITLE
{
#HL2_Chapter9_Title
}
CHAPTER9A_TITLE
{
#HL2_Chapter9a_Title
}
CHAPTER10_TITLE
{
#HL2_Chapter10_Title
}
CHAPTER11_TITLE
{
#HL2_Chapter11_Title
}
CHAPTER12_TITLE
{
#HL2_Chapter12_Title
}
CHAPTER13_TITLE
{
#HL2_Chapter13_Title
}
// In-Game messages
$position 0.1 0.1
$effect 2
// This is the final color
$color 100 100 100
// This is the highlight color
$color2 240 110 0
// This is the time it takes to fade each character
$fadein 0.00
// This is the amount of time the highlight lags behind the leading edge of the text
$fxtime 0.15
// How long to hold the message on the screen (after it scans out)
$holdtime 1.0
// How long it takes to fade out the message after holding
$fadeout 0.25
$boxsize 0.4
$boxcolor 31 31 31 127
GAMESAVING_360
{
#HL2_Saved
}
$position -1 0.65
GAMESAVING
{
#HL2_Saved
}
// In-Game messages
$position 0.1 0.1
$effect 2
// This is the final color
$color 100 100 100
// This is the highlight color
$color2 240 110 0
// This is the time it takes to fade each character
$fadein 0.00
// This is the amount of time the highlight lags behind the leading edge of the text
$fxtime 0.15
// How long to hold the message on the screen (after it scans out)
$holdtime 1.0
// How long it takes to fade out the message after holding
$fadeout 0.25
$boxsize 0.4
$boxcolor 31 31 31 127
// The following message will clear any existing message of the given name
$clearmessage GAMESAVING
GAMESAVED_360
{
#HL2_Saved
}
$position -1 0.65
GAMESAVED
{
#HL2_Saved
}
$clearmessage 0
// Game title
// This is a placeholder to hold the effects controls for the "Half-Life" title
$position -1 -1
// Only effect 0 is supported for game title
$effect 0
// This is the final color
$color 180 180 180
// Not used color2
$color2 0 0 0
// This is the time it takes to fade in the title
$fadein 1.0
// How long to hold the message on the screen (after it scans out)
$holdtime 3.0
// How long it takes to fade out the message after holding
$fadeout 1.5
$boxsize 0.0
GAMETITLE
{
Half-Life
}
//HAZARD COURSE TEXT
// Test values -- JAY
$position -1 0.65
// Scan-out text effect
$effect 2
// This is the final color
$color 100 100 100
// This is the highlight color
$color2 0 200 50
// This is the time it takes to fade each character
$fadein 0.005
// This is the amount of time the highlight lags behind the leading edge of the text
$fxtime 0.5
// How long to hold the message on the screen (after it scans out)
$holdtime 3.5
// How long it takes to fade out the message after holding
$fadeout 1.5
$position -1 0.65
$position -1 0.3

View File

@@ -1,42 +1,42 @@
"VGUI_Screens"
{
// This name here can be referenced from within a
// vgui_screen entity to select this vgui panel
"vgui_test_screen"
{
// The type indicates which type of panel to create
// Coders will add new types as time goes by.
// "vgui_screen_panel" is a generic panel type which can
// read in .res files that have been built by VGUI's build mode dialog.
"type" "vgui_screen_panel"
// These describe the dimensions of the screen *in pixels*
"pixelswide" 480
"pixelshigh" 240
// This is the name of the .res file to load up and apply to the vgui panel
"resfile" "scripts/screens/vgui_test_screen.res"
}
"teleport_countdown_screen"
{
// Defined in c_info_teleporter_countdown.cpp
"type" "teleport_countdown_screen"
// These describe the dimensions of the screen *in pixels*
"pixelswide" 480
"pixelshigh" 240
// This is the name of the .res file to load up and apply to the vgui panel
"resfile" "scripts/screens/teleport_countdown_screen.res"
}
"slideshow_display_screen"
{
"type" "slideshow_display_screen"
"pixelswide" 256
"pixelshigh" 128
"acceptsinput" 0
"resfile" "scripts/screens/slideshow_display_screen.res"
}
}
"VGUI_Screens"
{
// This name here can be referenced from within a
// vgui_screen entity to select this vgui panel
"vgui_test_screen"
{
// The type indicates which type of panel to create
// Coders will add new types as time goes by.
// "vgui_screen_panel" is a generic panel type which can
// read in .res files that have been built by VGUI's build mode dialog.
"type" "vgui_screen_panel"
// These describe the dimensions of the screen *in pixels*
"pixelswide" 480
"pixelshigh" 240
// This is the name of the .res file to load up and apply to the vgui panel
"resfile" "scripts/screens/vgui_test_screen.res"
}
"teleport_countdown_screen"
{
// Defined in c_info_teleporter_countdown.cpp
"type" "teleport_countdown_screen"
// These describe the dimensions of the screen *in pixels*
"pixelswide" 480
"pixelshigh" 240
// This is the name of the .res file to load up and apply to the vgui panel
"resfile" "scripts/screens/teleport_countdown_screen.res"
}
"slideshow_display_screen"
{
"type" "slideshow_display_screen"
"pixelswide" 256
"pixelshigh" 128
"acceptsinput" 0
"resfile" "scripts/screens/slideshow_display_screen.res"
}
}