diff --git a/VPKs/hl2_mapbase_content/scripts/choreosentences_base.txt b/VPKs/hl2_mapbase_content/scripts/choreosentences_base.txt new file mode 100644 index 0000000..5becd40 --- /dev/null +++ b/VPKs/hl2_mapbase_content/scripts/choreosentences_base.txt @@ -0,0 +1,29 @@ +//================================================================= +// +// Choreo Sentences +// Mapbase's modern replacement for sentences.txt +// +//================================================================= + +"ChoreoSentences" +{ + //--------------------------------------------------------------------------- + + // Contexts to add to speakers when they have a virtual word that uses one and they don't have it. + // These stand in for hardcoded sentences.txt names, such as soldier unit callsigns. + "SentenceContextPrerequisites" + { + } + + //--------------------------------------------------------------------------- + + "VirtualWords" + { + } + + //--------------------------------------------------------------------------- + + "Sentences" + { + } +} diff --git a/VPKs/hl2_mapbase_content/scripts/choreosentences_hl2_combine_s.txt b/VPKs/hl2_mapbase_content/scripts/choreosentences_hl2_combine_s.txt new file mode 100644 index 0000000..9bb72e9 --- /dev/null +++ b/VPKs/hl2_mapbase_content/scripts/choreosentences_hl2_combine_s.txt @@ -0,0 +1,264 @@ +//================================================================= +// +// Choreo Sentences +// Mapbase's modern replacement for sentences.txt +// +// (This file is a WIP and does not contain every soldier sentence) +// +//================================================================= + +"ChoreoSentences" +{ + //--------------------------------------------------------------------------- + + "SentenceContextPrerequisites" + { + "soldier_codename" + { + vscript "RandomInt(0, 18)" + } + + "soldier_codenum" + { + vscript "RandomInt(0, 9)" + } + } + + //--------------------------------------------------------------------------- + + "VirtualWords" + { + //------------------------------------------------------- + // Combine Soldier names, remembered by speaker + //------------------------------------------------------- + + V_MYNAMES + { + condition "context:soldier_codename" + words + { + 0 "leader" + 1 "flash" + 2 "ranger" + 3 "hunter" + 4 "blade" + 5 "scar" + 6 "hammer" + 7 "sweeper" + 8 "swift" + 9 "fist" + 10 "sword" + 11 "savage" + 12 "tracker" + 13 "slash" + 14 "razor" + 15 "stab" + 16 "spear" + 17 "striker" + 18 "dagger" + } + } + + V_MYNUMS + { + condition "context:soldier_codenum" + words + { + 0 "zero" + 1 "one" + 2 "two" + 3 "three" + 4 "four" + 5 "five" + 6 "six" + 7 "seven" + 8 "eight" + 9 "niner" + } + } + + //------------------------------------------------------- + // Random Combine codes + //------------------------------------------------------- + + // Phonetic alphabet + V_RNDCODES + { + words + { + 0 "apex" + 1 "ion" + 2 "jet" + 3 "kilo" + 4 "mace" + 5 "nova" + 6 "payback" + 7 "sundown" + 8 "uniform" + 9 "boomer" + 10 "echo" + 11 "flatline" + 12 "helix" + 13 "ice" + 14 "quicksand" + 15 "payback" + 16 "ripcord" + } + } + + V_RNDNAMES + { + words + { + 0 "apex" + 1 "ion" + 2 "jet" + 3 "kilo" + 4 "mace" + 5 "nova" + 6 "payback" + 7 "sundown" + 8 "uniform" + 9 "boomer" + 10 "echo" + 11 "flatline" + 12 "helix" + 13 "ice" + 14 "quicksand" + 15 "payback" + 16 "ripcord" + } + } + + V_RNDNUMS + { + words + { + 0 "zero" + 1 "one" + 2 "two" + 3 "three" + 4 "four" + 5 "five" + 6 "six" + 7 "seven" + 8 "eight" + 9 "niner" + } + } + + //------------------------------------------------------- + // Generic Combine numbers + //------------------------------------------------------- + + V_NUMBERSS + { + words + { + 0 "zero" + 1 "one" + 2 "two" + 3 "three" + 4 "four" + 5 "five" + 6 "six" + 7 "seven" + 8 "eight" + 9 "niner" + 10 "ten" + 11 "eleven" + 12 "twelve" + 13 "thirteen" + 14 "fourteen" + 15 "fifteen" + 16 "sixteen" + 17 "seventeen" + 18 "eighteen" + 19 "nineteen" + 20 "twenty" + 30 "thirty" + 40 "fourty" + 50 "fifty" + 60 "sixty" + 70 "seventy" + 80 "eighty" + 90 "ninety" + 100 "onehundred" + 200 "twohundred" + 300 "threehundred" + } + } + + V_DISTS + { + condition "dist_to:!enemy" + words_from "V_NUMBERSS" + } + + V_DIRS + { + condition "dir_to:!enemy" + words_from "V_NUMBERSS" + } + + V_GRIDXS + { + condition "gridx:!enemy" + words_from "V_NUMBERSS" + } + + V_GRIDYS + { + condition "gridy:!enemy" + words_from "V_NUMBERSS" + } + + V_SEQGLOBNBRS + { + condition "context:enemies_killed" + words_from "V_NUMBERSS" + } + + V_WHODIEDS + { + condition "context:speechtarget_soldier_codename" + words_from "V_MYNAMES" + } + + //------------------------------------------------------- + // Combine global player + //------------------------------------------------------- + + V_G0_PLAYERS + { + words + { + 0 "freeman3" + 1 "anticitizenone" + 2 "targetone" + 3 "priority1objective" + 4 "phantom" + 5 "ghost2" + } + } + } + + //--------------------------------------------------------------------------- + + "Sentences" + { + "npc/combine_soldier/vo/" + { + COMBINE_REFIND_ENEMY_PATH "on1 V_WHODIEDS onedown onedown off1; NPC_Combine.Alert" + + COMBINE_PATH_TEST_PLAYERS "on1 V_G0_PLAYERS onedown onedown off1; NPC_Combine.Alert" + COMBINE_PATH_TEST_MYCODE_1 "on2 V_MYNAMES V_MYNUMS onedown onedown off3; NPC_Combine.Alert" + COMBINE_PATH_TEST_MYCODE_2 "on1 overwatch V_MYNAMES V_MYNUMS isatcode V_RNDNUMS off2; NPC_Combine.Alert" + COMBINE_PATH_TEST_MYCODE_3 "on2 overwatch, V_MYNAMES V_MYNUMS lostcontact, hardenthatposition off2; NPC_Combine.Alert" + + COMBINE_PATH_TEST_PITCH "on1 ripcord (p110) ripcord (p120) ripcord (p130) ripcord (p140) ripcord (p100) off2; NPC_Combine.Alert" + COMBINE_PATH_TEST_PITCH2 "on1 ripcord (p90) ripcord (p80) ripcord (p70) ripcord (p60) ripcord (p100) off2; NPC_Combine.Alert" + COMBINE_PATH_TEST_PITCH_BLANK "on1 ripcord ripcord ripcord ripcord ripcord off2; NPC_Combine.Alert" + } + } +} diff --git a/VPKs/hl2_mapbase_content/scripts/choreosentences_hl2_metropolice.txt b/VPKs/hl2_mapbase_content/scripts/choreosentences_hl2_metropolice.txt new file mode 100644 index 0000000..38df62a --- /dev/null +++ b/VPKs/hl2_mapbase_content/scripts/choreosentences_hl2_metropolice.txt @@ -0,0 +1,398 @@ +//================================================================= +// +// Choreo Sentences +// Mapbase's modern replacement for sentences.txt +// +// (This file is a WIP and does not contain every metrocop sentence) +// +//================================================================= + +"ChoreoSentences" +{ + //--------------------------------------------------------------------------- + + "SentenceContextPrerequisites" + { + "police_codename" + { + vscript "RandomInt(0, 14)" + } + + "police_codenum" + { + vscript "RandomInt(1, 9)" + } + } + + //--------------------------------------------------------------------------- + + "VirtualWords" + { + //------------------------------------------------------- + // Metropolice map names + //------------------------------------------------------- + + V_G1_LOCATION_MAP__P + { + criterion "map" + matches + { + // map 0 + default + { + words + { + 0 "block" + 1 "zone" + 2 "sector" + } + } + + // map 1 + *trainstation* + { + words + { + 0 "stationblock" + 1 "transitblock" + 2 "workforceintake" + } + } + + // map 2 + *canals* + { + words + { + 0 "canalblock" + 1 "stormsystem" + 2 "wasteriver" + 3 "deservicedarea" + } + } + + // map 3 + *eli* + { + words + { + 0 "industrialzone" + 1 "restrictedblock" + 2 "repurposedarea" + } + } + + // map 4 + *town* + { + words + { + 0 "condemnedzone" + 1 "infestedzone" + 2 "nonpatrolregion" + } + } + + // map 5 + *coast* + { + words + { + 0 "externaljurisdiction" + 1 "stabilizationjurisdiction" + 2 "outlandzone" + } + } + + // map 6 + *prison* + { + words + { + 0 "externaljurisdiction" + 1 "stabilizationjurisdiction" + } + } + + // map 7 + *c17* + { + words + { + 0 "residentialblock" + 1 "404zone" + 2 "distributionblock" + 3 "productionblock" + } + } + + // map 8 + *citadel* + { + words + { + 0 "highpriorityregion" + 1 "terminalrestrictionzone" + 2 "controlsection" + } + } + } + } + + V_G2_SUSPECT_MAP__P + { + criterion "map" + matches + { + // map 0 + default + { + words + { + 0 "subject" + } + } + + // map 1 + *trainstation* + { + words + { + 0 "citizen" + 1 "UPI" + 2 "subject" + } + } + + // map 2 + *canals* + { + words + { + 0 "subject" + 1 "noncitizen" + 2 "sociocide" + 3 "anticitizen" + } + } + + // map 3 + *eli* + { + words + { + 0 "anticitizen" + 1 "subject" + } + } + + // map 4 + *town* + { + words + { + 0 "freeman" + 1 "subject" + 2 "anticitizen" + } + } + + // map 5 + *coast* + { + words + { + 0 "freeman" + 1 "sociocide" + } + } + + // map 6 + *prison* + { + words + { + 0 "freeman" + 1 "infection" + } + } + + // map 7 + *c17* + { + words + { + 0 "freeman" + } + } + + // map 8 + *citadel* + { + words + { + 0 "freeman" + } + } + } + } + + //------------------------------------------------------- + // Generic metrocop/overwatch numbers + //------------------------------------------------------- + + V_NUMBERSP + { + words + { + 0 "zero" + 1 "one" + 2 "two" + 3 "three" + 4 "four" + 5 "five" + 6 "six" + 7 "seven" + 8 "eight" + 9 "nine" + 10 "ten" + 11 "eleven" + 12 "twelve" + 13 "thirteen" + 14 "fourteen" + 15 "fifteen" + 16 "sixteen" + 17 "seventeen" + 18 "eighteen" + 19 "nineteen" + 20 "twenty" + 30 "thirty" + 40 "fourty" + 50 "fifty" + 60 "sixty" + 70 "seventy" + 80 "eighty" + 90 "ninety" + 100 "onehundred" + 200 "twohundred" + 300 "threehundred" + } + } + + V_SEQG0_NBRP + { + // Note that this used its own definitions before + condition "context:enemies_killed" + words_from "V_NUMBERSP" + } + + //------------------------------------------------------- + // Random metrocop/overwatch codes + //------------------------------------------------------- + + V_RNDCODECRIM_P + { + words + { + 0 "criminaltrespass63" + 1 "nonsanctionedarson51" + 2 "posession69" + 3 "publicnoncompliance507" + 4 "recklessoperation99" + 5 "resistingpacification148" + 6 "riot404" + 7 "fugitive17f" + 8 "weapon94" + 9 "alarms62" + 10 "assault243" + 11 "illegalcarrying95" + 12 "unlawfulentry603" + } + } + + V_RNDCODEPLR_P + { + words + { + 0 "attemptedcrime27" + 1 "disengaged647e" + 2 "disturbingunity415" + 3 "disturbancemental10-103m" + 4 "illegalinoperation63s" + 5 "threattoproperty51b" + } + } + + V_RNDNUMP + { + words + { + 0 "zero" + 1 "one" + 2 "two" + 3 "three" + 4 "four" + 5 "five" + 6 "six" + 7 "seven" + 8 "eight" + 9 "nine" + } + } + + //------------------------------------------------------- + // Metropolice names, remembered by speaker + //------------------------------------------------------- + + V_MYNAMEP + { + condition "context:police_codename" + words + { + 0 "defender" + 1 "hero" + 2 "jury" + 3 "king" + 4 "line" + 5 "patrol" + 6 "quick" + 7 "roller" + 8 "stick" + 9 "tap" + 10 "union" + 11 "victor" + 12 "xray" + 13 "yellow" + 14 "vice" + } + } + + V_MYNUMP + { + condition "context:police_codenum" + words + { + 0 "zero" + 1 "one" + 2 "two" + 3 "three" + 4 "four" + 5 "five" + 6 "six" + 7 "seven" + 8 "eight" + 9 "nine" + } + } + } + + //--------------------------------------------------------------------------- + + "Sentences" + { + "npc/metropolice/vo/" + { + METROPOLICE_GO_ALERT_PATH "on1 designatesuspectas V_G2_SUSPECT_MAP__P allunitscode2 off1; NPC_Combine.Alert" + } + } +} diff --git a/VPKs/hl2_mapbase_content/scripts/choreosentences_manifest.txt b/VPKs/hl2_mapbase_content/scripts/choreosentences_manifest.txt new file mode 100644 index 0000000..67af419 --- /dev/null +++ b/VPKs/hl2_mapbase_content/scripts/choreosentences_manifest.txt @@ -0,0 +1,9 @@ +choreosentences_manifest +{ + "precache_file" "scripts/choreosentences_base.txt" + + "precache_file" "scripts/choreosentences_hl2_combine_s.txt" + "precache_file" "scripts/choreosentences_hl2_metropolice.txt" + + // Add new files here +} \ No newline at end of file