In-game communications (unit-to-unit chat) are implemented as finite state machine - each state has a set of possible nodes, each node has a text and deltaRelation value. Conversation are faction-dependent and are defined by XML files in data/communications.
Their default positions and purpose we can see in the function creating the default set and following ones. It have only basic text and relationship adjustment values:
|0||"welcome to cachunkcachunk.com"||0||(starting node: Don't link here)||Its edges list starting nodes (depending on relations).|
|1||"I love you!"||+.1|
|2||"J00 0wnz m3"||+.08|
|3||"You are cool!"||+.06|
|4||"You are nice!"||+.05|
|5||"Ya you're naled! NALED PAL!"||-.02|
|6||"i 0wnz j00"||-.08|
|7||"I hate you!"||-.1|
|N-16||"Docking operation complete"||0||On being udocked.||Usually set to 0.01 or so: you do business with them, they like you.|
|N-15||"Please move into a green docking box and press d."||0||docking operations|
|N-14||"Docking operation begun."||0||docking operations|
|N-13||"Clearance denied."||0||docking operations|
|N-12||"Clearance granted."||0||docking operations|
|N-11||"No."||0||rejecting FG order|
|N-10||"Yes."||0||obeying FG order|
|N-9||"Prepare To Be Searched. Maintain Speed and Course."||0||contraband scan|
|N-8||"No contraband detected: You may proceed."||0||contraband scan|
|N-7||"Contraband detected! All units close and engage!"||0||contraband scan|| Usually is set to -.125 or so. It's in addition to hardcoded "close and engage!" orders and relations.
See also variables - AI/ContrabandMadness, etc.
|N-6||"Your Course is deviating! Maintain Course!"||0||contraband scan||The patrol also gets upset.|
|N-5||"Request Clearance To Land."||0|
|N-1||"*hit*"||-.2||(got hit)||Not a communication, just reaction on damage. Still supports friendly/neutral/hostile edges.|
XML schema description
<comm> ... </comm>-- Marks the beginning and end of the XML file.
<node> ... </node>-- basic data.
text[string] [""] - What they say.
- (see above)
text1, etc [string] [""] - Variant text (to be chosen randomly).
relationship[float] [0.0] - relationship adjustment.
- (see above)
<edge> ... </edge>-- connection to other nodes. Typically, there are 3 (good-neutral-bad) entries at the top level.
index[int] - linked node's number.
<sound> ... </sound>-- voice. Sound nodes corresponding to text, text1, etc are simply added in this order
file[string] [""] - OGG file name, relative to data/ ("communications/sounds/lihw/lihw_good-day.ogg")
gain[float] [1.0] - relative volume.
sex[unsigned small int]  - FIXME Support for variant sounds, doesn't seem to be used yet.