Tutorial written by [IW]Rungsi. Mirrored here for archival purposes.
Battle Chatter System Explained
[IW]Rungsi posted this helpful informationBattle Chatter System
Basic Concepts
Areas
Areas are generally used to define broad spaces in which AI might be located. This could include things like specific building types like Bank, Hotel or Church, or more general spaces like Field, Road or Embankment. Call out phrases based on areas will generally be prefixed with "In the..." or "Inside of that..." Path and Action nodes within an area can be used to generate more specific information as well. (See Below)
Examples:
* "Inside that Hotel!" (AI is inside of a "Hotel" area)
* "In the Church" (AI is inside of a "Church" area)
* "Up in the bell tower!" (AI is inside of a "Church" area, at a specially marked node)
Landmarks
Landmarks are used to define visual reference points within the environment. This could include specific objects like Tank, Car, or Tree, or generate terrain features like Crater or Low Wall. Call out phrases based on landmarks are based on the targets location relative to the landmark and players current position. Currently supported prefixes are Near ("Near that...") and Behind ("Behind that..."). Landmarks do not make use of details on Path and Action nodes.
Examples:
* "Near that tank!" (AI is inside of a "Tank" landmark) near
* "Behind that car" (AI is inside of a "Car" landmark, behind it's center point relative to the player) behind
* "Take cover by that halftrack!" (AI has decided to take cover at a node next to a halftrack, another friendly appears to order him to go there) ordercover
These uses of landmarks are referred to in the list of current landmarks as near, behind, and ordercover. Landmarks do not necessarily use all of these. If you think that the AI just needs to make mention of a landmark, or it is a relatively minor item, a near usage may be sufficient for most situations. If the landmark is very prominent and offers good cover, creating situations where the AI might make more frequent references to it, it might benenfit from all three usages.
Locations
Locations are generally used to define specific interior spaces, and may be overlapped with Areas to create very detailed information about the location of enemies. This could include spaces like Top Floor, Second Floor or Roof. Call out phrases based on locations do not use a prefix, but instead of the specific name of the location such as "Second floor", "Roof" or "Top floor". Path and Action nodes within a location can be used to generate more specific information as well. (See Below) Another addition to the location based call out phrases is a direction. A direction, Left or Right, will be appended to the phrase if the target is significantly to the left or the right of the center of the location trigger.
Examples:
* "Second floor!" (AI is inside of a "Second Floor" location)
* "Top floor window" (AI is inside of a "Top Floor" location, at a node specially marked node)
* "First floor window!" "On the right!" (AI is inside of a "First floor" location, at a specially marked node, to right of the center of the location)
Nodes
Nodes are used to define more specific information about the current location or area. The types are tied to particular type of location or area, so not all combinations work. For areas, they can define a particular position, such as the Bell Tower of a Church area, or Under a Bridge area. For locations, they can define specifics of a Floor like Window, Doorway, or Balcony.
Implementation
Almost all basic BC information is placed in the form of triggers. This can include standard brush triggers, radius triggers, etc... Some additional information can be placed on Path or Action nodes. See bcTest_geo.map for examples.
Areas
To create an area:
1. Create a trigger_multiple or trigger_radius.
1. Give it a "targetname" of "trigger_location".
1. Give it "script_area" of the type of area you wish to create ("hotel", "bank", "church", etc...)
Landmarks
To create an landmark:
1. Create a trigger_multiple or trigger_radius.
1. Give it a "targetname" of "trigger_landmark".
1. Give it "script_landmark" of the type of landmark you wish to create. ("tank", "tree", "car", etc...)
Locations
To create an location:
1. Create a trigger_multiple or trigger_radius.
1. Give it a "targetname" of "trigger_location".
1. Give it "script_location" of the type of area you wish to create. ("roof", "firstfloor", "topfloor", etc...)
Nodes
1. Select a Path or Action node that is inside of an Area or Location.
1. Give it a "script_area" or "script_location" value of the appropriate type. ("window", "doorway", "belltower", etc...)
Supported Areas, Locations and Landmarks
The following types are currently supported, or will be in the near future.
Types marked in bold are currently supported. The Axis forces will use the same landmarks/areas/locations as the Allies in the corresponding campaign location.
American Areas:
* church
* belltower
* house
* bridge
* bunker
* pavedroad
* dirtroad
* trench
* field
* destroyedbuilding
* building
* farmhouse
British Areas:
* belltower
* building
* bunker
* church
* destroyedbuilding
* ditch
* dirtroad
* graveyard
* house
* mosque
* pavedroad
* townhall
* trench
* truck
Russian Areas:
* truck
* bridge
* bridge_under
* bunker
* ditch
* pavedroad
* dirtroad
* intersection
* rubble
* factory
* trenches
* streetcar
* warehouse
* trainstation
* traintracks
* boxcar
* catwalk
* destroyedbuilding
* overpass
* platform
* building
Locations
* firstfloor
* window
* doorway
* secondfloor
* window
* doorway
* balcony
* thirdfloor
* window
* balcony
* topfloor
* window
* balcony
* roof
* balcony
American Landmarks
* trees (near, behind, ordercover)
* car (near, behind, ordercover)
* tank (near, behind, ordercover)
* hedgerow (near)
* wall (near, behind, ordercover)
* truck (near, behind, ordercover)
* haycart (near, behind)
* crates (near, behind, ordercover)
* flak88 (near, behind, ordercover)
* halftrack (near, behind, ordercover)
* sandbags (near, behind, ordercover)
* house (near, ordercover)
* bunker (near, ordercover)
* trench (near, behind, ordercover)
* brokenwall (near, behind, ordercover)
* embankment (near, behind, ordercover)
* church (near)
* bridge (near, behind)
* pavedroad (near, behind)
* dirtroad (near, behind)
* rubble (near)
* barn (near)
* barrels (near, behind)
* antitankgun (near, behind)
* field (near, behind)
* antiaircraftgun
* statue (near, behind)
* woodpile (near, behind)
* tires (near, behind)
* tractor (near, behind)
* telepole (near)
British Landmarks
* antitankgun (behind)
* barrels (near, behind)
* brencarrier (near, behind, ordercover)
* brokenwall (near, behind, ordercover)
* bunker (near, ordercover)
* car (near, behind, ordercover)
* church (near)
* crates (near, behind, ordercover)
* dirtroad (behind)
* fence (behind)
* field (behind)
* flak88 (near, behind, ordercover)
* fountain (behind)
* gate (near, behind)
* halftrack (near, behind, ordercover)
* haycart (near, behind, ordercover)
* house (near, ordercover)
* intersection (behind)
* mosque (near)
* pavedroad (behind)
* rocks (near, behind, ordercover)
* rubble (near)
* sandbags (near, behind, ordercover)
* tank (near, behind, ordercover)
* telepole (near)
* truck (near, behind, ordercover)
* tires (behind)
* trench (near)
* tractor (near)
* trees (behind, ordercover)
* wall (near, behind, ordercover)
* woodpile (behind)
Russian Landmarks
* car (near, behind)
* tank (behind, ordercover)
* wall (near, behind, ordercover)
* truck (near, behind, ordercover)
* crates (near, behind, ordercover)
* flak88 (behind)
* halftrack (near, behind, ordercover)
* crashedplane (near, behind, ordercover)
* streetcar (near, behind, ordercover)
* sandbags (near, behind, ordercover)
* bridge (near, behind, ordercover)
* bunker (near, ordercover)
* ditch (near, behind, ordercover)
* rubble (near, ordercover)
* factory (near, ordercover)
* trench (near, behind, ordercover)
* barrels (near, behind, ordercover)
* antitankgun (near, behind, ordercover)
* antiairgun (ordercover)
* boxcar (near, ordercover)
* largepipe (ordercover)
* brokenwall (near, behind, ordercover)
* statue (near, behind, ordercover)
* fountain (near, behind, ordercover)
* train (near, behind, ordercover)
* flatbed (near, behind, ordercover)
* gully (behind, ordercover)
* embankment (behind, ordercover)
* woodpile (behind, ordercover)
* tires (near, behind, ordercover)
* tractor (ordercover)
* pavedroad (near, behind)
* dirtroad (near, behind)
* traintracks (near)
* intersection (near, behind)
* platform (near, behind)
* telepole (near)
Tutorial written by [FR] Sparks. Mirrored here for archival purposes.
Battle Chatter in Your sp_ map
[FR] Sparks explains the battle chatter system
/******************
Battle Chatter System
******************/
/******************/
NOTE THERE ARE VARIOUS BCS ENTITY VALUES, BUT THESE ARE MORE COMMONLY USE FOR INDOOR BATTLE CHATTER. THIS TUTORIAL SHOULD HELP YOU UNDERSTAND THE FUNDAMENTALS OF BCS. SO HAVE FUN SEEING WHAT ELSE BCS HAS TO OFFER. =o)
/******************/
1) Make a brush
2) Right Click> Trigger> Multiple
3) Textures> Usuage> Tools
4) Apply BCS texture
5) Open Entity Window (N Key)
6) Key/Values are
ambient / interior
targetname / trigger_location
script_location / ????????
For the script_location, I've been digging around looking for the ENTIRE list of locations, so I asked [IW] if they could tell us where the full list was, or if anyone here knows, please let us all know where we can find it.
But some examples are "church" "secondfloor" "firstfloor". You can find more on the prefabs that use BCS textures.
Happy Mapping
Sparks