Difference between revisions of "Messages.tbl"

From FreeSpace Wiki
Jump to: navigation, search
(Added note of how the head anims should be referred to)
(Filters)
 
(31 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{TableVersion|5211|5261}}
+
{{TableVersion|10943}}
 +
{{Tables}}
 +
The '''messages.tbl''' is used to link actions, animations, and sounds of the messages received during the mission. Personas are used to group messages by the same talker, for example, all the Wingman 1 (Male Terran Pilot) messages go with a Wingman 1 persona.
  
 +
Each message is composed of a text macro, and optionally a head .ani and/or an audio macro.
  
Messages table is used to link actions, animations, and sounds of the messages received during the mission.
+
This table is one of the [[Modular Tables]] and can be extended with xxx-msg.tbm
  
==Format==
+
==#Message Settings==
*File begins with persona definitions in '''#Personas''' section
+
{{Table232|
*All different personas are listed in this section which is immeaditely followed by '''#Messages''' section
+
Optional settings for messages behavior}}<br>
*All actual messages are listed in this section
 
*Table ends with '''#End'''
 
  
 +
===$Allow Any Ship To Send Backup Messages:===
 +
{{Table232|
 +
*By default, Backup messages won't play unless they have at least one filter. Enabling this option will enable backup messages globally
 +
*Syntax: '''''boolean'''''}}
  
==Personas==
+
==#Message Frequencies==
*Used to define the different personas used for the messages
+
{{Table3615|
 +
Optional Group. Defines how often and how many times during the campaign the messages should be shown.}}<br>
 +
 
 +
 
 +
===$Name:===
 +
{{Table3615|
 +
Required. Defines the message to augment.
 +
*Syntax: '''String'''
 +
*Available Values: See [[Messages.tbl#.24Name:_2|$Name in Messages.tbl]]}}<br>
 +
 
 +
 
 +
===+Occurrence Chance:===
 +
{{Table3615|
 +
Optional. Defines the % chance this message will be played when the associated event occurs. For example, if you score a kill, and the '''+Occurrence Chance:''' is 10 for a Praise message, then there is a 10% chance that you a Praise message will play.
 +
*Syntax: '''Integer'''
 +
*Available Values: '''Between 0 and 100'''}}<br>
 +
 
 +
===+Maximum Count:===
 +
{{Table3615|
 +
Optional. Defines the maximum number of times this message will be played during a given mission.
 +
*Syntax: '''Integer'''}}<br>
 +
 
 +
===+Minimum Delay:===
 +
{{Table3615|
 +
Optional. Defines the minimum delay time between being queue by the game and the time the message actually plays. (This helps simulate "organic" AI's)
 +
*Syntax: '''Integer''' in milliseconds}}<br>
 +
 
 +
==#Moods==
 +
{{Table3615|
 +
Optional.  You can change the mission mood using the new set-mission-mood SEXP, and those moods can be used to filter what built-in messages are played by defining a mood within a message.  This section lists all available moods for use in the table and in the SEXP.}}<br>
 +
 
 +
===$Mood:===
 +
{{Table3615|
 +
Optional.  The name of a mood to be attached to a message and set as a mission mood.  Example:  Happy, Vengeful, etc.
 +
*Syntax: '''String'''}}<br>
 +
 
 +
==#End==
 +
{{Table3615|
 +
The moods section, if it exists, must end with #End.}}
 +
 
 +
==#Personas==
 +
Required. The #Personas group is used to define the all of the personas used for the messages.<br>
  
  
 
===$Persona:===
 
===$Persona:===
*Defines the name of the persona
+
Required. Defines the name of the persona
*Syntax: '''String'''
+
*Syntax: '''String'''<br>
  
  
 
===$Type:===
 
===$Type:===
*Defines the type of the persona
+
Required. Defines the type of the persona
 +
*Syntax: '''String'''
 
*Available types:
 
*Available types:
**'''"wingman"'''
+
::'''wingman'''
**'''"support"'''
+
::'''support'''
**'''"large"'''
+
::'''large'''
**'''"command"'''
+
::'''command'''<br>
*Syntax: '''"String"'''
 
  
  
===+(Species)===
+
===+<Species>===
*Optional +Species (like '''+Vasudan''') can be used to assign personas to other than to the 'default' species
+
Optional. The +<Species> (such as '''+Vasudan''') can be used to assign personas to other species. If omitted, the Persona is assigned to the '''default''' species.
*Syntax: +'''String'''
+
*Syntax: +'''String'''<br>
 +
{{Table232|This line can now appear multiple times, allowing a persona to be used by multiple species.}}
  
 +
===$Allow substitution of missing messages:===
 +
{{Table373|Optional. This is set to true by default, meaning that in cases where a Persona does not have defined messages for all built-in message types, the engine will try to find a matching message from other personas of the same type and species.
 +
*Syntax: '''Boolean'''<br>}}
  
==Messages==
+
===$No automatic assignment:===
 +
{{Table232|Optional. This excludes a persona from being assigned to a ship that needs to send a message but does not have a specific persona assigned.
 +
*Syntax: '''Boolean'''<br>}}
  
 +
==#Messages==
 +
Required. The #Messages group contains all available messages.<br>
  
 
===$Name:===
 
===$Name:===
*Defines the type of the message
+
Required. Defines the type of the message
 +
*Syntax: '''String'''
 
*Available types (types marked with '''*''' do not have code support) :
 
*Available types (types marked with '''*''' do not have code support) :
**'''"Arrive Enemy"'''
+
**'''All Alone'''
**'''"Attack Target"'''
+
**'''All Clear''' *  
**'''"Beta Arrived"'''
+
**'''Arrive Enemy'''
**'''"Check 6"'''
+
**'''Attack Target'''
**'''"Engage"'''
+
**'''AWACS at 25'''
**'''"Gamma Arrived"'''
+
**'''AWACS at 75'''
**'''"Help"'''
+
**'''Backup'''
**'''"Praise"'''
+
**'''Check 6'''
**'''"Backup"'''
+
**'''Death'''
**'''"Ignore Target"'''
+
**'''Depart'''
**'''"No"'''
+
**'''Disable Target'''
**'''"Oops 1"''' * (Only Command has code support in Retail)
+
**'''Disarm Target'''
**'''"Permission"''' *
+
**'''Docking Start''' *
**'''"Stray"''' *
+
**'''Engage'''
**'''"Depart"'''
+
**'''Help'''
**'''"yes"'''
+
**'''Ignore Target'''
**'''"Rearm on Way"'''
+
**'''Instructor Attack'''
**'''"On way"'''
+
**'''Instructor Hit'''
**'''"Rearm warping in"'''
+
**'''No Target'''
**'''"No Target"'''
+
**'''No'''
**'''"Docking Start"''' *
+
**'''On way'''
**'''"Repair Done"'''
+
**'''Oops 1''' * (Only Command has code support in Retail)
**'''"Repair Aborted"'''
+
**'''Permission''' *
**'''"Traitor"'''
+
**'''Player Dead'''
**'''"Rearm"'''
+
**'''Praise'''
**'''"Disable Target"'''
+
**'''Rearm on Way'''
**'''"Disarm Target"'''
+
**'''Rearm warping in'''
**'''"Player Dead"'''
+
**'''Rearm'''
**'''"Death"'''
+
**'''Repair Aborted'''
**'''"Support Killed"'''
+
**'''Repair Done'''
**'''"All Clear"''' *
+
**'''Repair'''
**'''"All Alone"'''
+
**'''Stray Warning Final'''
**'''"Repair"'''
+
**'''Stray Warning'''
**'''"Delta Arrived"'''
+
**'''Stray''' *
**'''"Epsilon Arrived"'''
+
**'''Support Killed'''
**'''"Instructor Hit"'''
+
**'''Traitor'''
**'''"Instructor Attack"'''
+
**'''yes'''
**'''"Stray Warning"'''
 
**'''"Stray Warning Final"'''
 
**'''"AWACS at 75"'''
 
**'''"AWACS at 25"'''
 
 
{{Table3611|
 
{{Table3611|
::*'''"Praise Self"'''  
+
**'''High Praise'''
::*'''"High Praise"'''
+
**'''Praise Self'''  
::*'''"Primaries Low"'''}}
+
**'''Primaries Low'''}}
*Syntax: '''"String"'''
+
{{Table232|
 +
**'''Attack Subsystem'''
 +
**'''Cover me'''
 +
**'''Form on my wing'''
 +
**'''Protect Target'''}}<br>
 +
{{Table232|
 +
**The following have been deprecated. Use '''Backup''' with a '''+Wing Name:''' [[Messages.tbl#Filters|Filter]] instead.
 +
***'''Beta Arrived'''
 +
***'''Gamma Arrived'''
 +
***'''Delta Arrived'''
 +
***'''Epsilon Arrived'''}}
  
 +
===$Message: and $MessageNew:===
 +
Defines the message shown in game screen when the message is triggered. Value is a reference to [[tstrings.tbl]].<br>
 +
'''$Message:''' is used for single-line messages, while '''$MessageNew:''' is used for multi-line messages (but can also be used for single-line messages)
 +
*'''$MessageNew:''' is preferred over '''$Message:'''
 +
*Syntax: XSTR("'''string'''", '''integer''')<br>
  
===$Message:===
 
*Or '''''$MessageNew:'''''
 
*Defines the message shown in game screen when the message is triggered. Value is a reference to [[tstrings.tbl]].
 
*The use of '''$MessageNew:''' instead of older '''$Message:''' is recommended.
 
*Syntax: XSTR("'''string'''", '''integer''')
 
  
 +
===+Persona:===
 +
Optional. Defines the persona associated with the message
 +
*Syntax:
 +
'''String'''<br>
  
===+Persona:===
+
===+AVI Name:===
*Defines the persona associated with the message
+
Optional. Determines the ANI file to be played when the message is triggered.
*Syntax: '''String'''
+
 
 +
In FSO 3.7.4 and later, the game initially attempts to use the file ''<string>''.ani with a persona message.  In earlier versions, or if ''<string>''.ani does not exist, the game picks one of ''<string>''a.ani, ''<string>''b.ani and ''<string>''c.ani each time.  So if you have defined ''+Avi Name: Head-Joe'', and ''Head-Joe.ani'' does not exist, the game will attempt to use the files ''Head-Joea.ani'', ''Head-Joeb.ani'' and ''Head-Joec.ani''.  For wingmen personas, the ''c'' variant is assumed to be a death animation.
 +
*Syntax: '''String'''<br>
 +
 
 +
===+Wave Name:===
 +
Optional. Sets the sounds file that is played when the message is triggered
 +
*Syntax: '''String'''<br>
 +
 
 +
 
 +
===$Mood:===
 +
{{Table3615|
 +
The mood where this message should ideally be played.  It may be played on other moods as long as it is not excluded for them below, if no better matching message is found.
 +
*Syntax: '''String'''}}<br>
 +
 
 +
===$Exclude Mood:===
 +
{{Table3615|
 +
A list of moods not to play this message, ever.  The list goes in parentheses.  See Terran 'Attack Target' example below for usage.
 +
*Syntax: '''String List'''}}<br>
 +
 
 +
===$Filter by sender:===
 +
{{Table232|
 +
*Applies the filters to the ship sending the message.
 +
*Any number of filters can be used, including multiple of any type of filters.
 +
*All filters must match for a message to be sent.
 +
*Syntax: See [[Messages.tbl#Filters|Filters]]}}
 +
 
 +
===$Filter by subject:===
 +
{{Table232|
 +
*Applies the filters to the ship the message is "about". For order confirmations, the subject is the target of the order. For Praise/High Praise/Praise Self messages, it's the ship that died. For Help and Check 6, it's the attacker. For arrival messages, it's the wing leader of the arriving wing.
 +
*Any number of filters can be used, including multiple of any type of filters.
 +
*All filters must match for a message to be sent.
 +
*Syntax: See [[Messages.tbl#Filters|Filters]]}}
 +
 
 +
==#End==
 +
{{Table3615|
 +
The very last entry must be #End. No exceptions.}}<br>
 +
 
 +
 
 +
==#Simulated Speech Overrides==
 +
{{Table3613|
 +
Optional.  Used to add file names to the generic message list, which defaults to 'none', 'cuevoice', 'cue_voice', 'emptymsg', 'generic', and 'msgstart'.  Filenames listed below will be overridden by Text to Speech (TTS) when it is enabled, in addition to those in the default list.}}<br>
 +
 
 +
===$File Name:===
 +
{{Table3613|
 +
Optional.  File name to add to the overrides list.  Filenames provided here, however, must include an extension or a warning will be issues, for example msg_1.wav.
 +
*Syntax: '''String'''}}<br>
 +
 
 +
==#End==
 +
{{Table3613|
 +
Must also end the optional Simulated Speech Overrides section with #End.}}<br>
 +
 
 +
==Filters==
 +
{{Table232|
 +
*Messages can be filtered with [[Messages.tbl#$Filter by sender:|$Filter by sender:]] or [[Messages.tbl#$Filter by subject:|$Filter by subject:]].
 +
*These can be applied multiple times for each filer. So the following example would match Vasudan or Shivan Bombers and nothing else.
 +
<pre>
 +
+Species: Vasudan
 +
+Species: Shivan
 +
+Type: Bomber
 +
</pre>}}
  
 +
===+Ship name:===
 +
*Matches the name of the ship
 +
*Syntax: '''''String'''''
  
===+AVI Name:===
+
===+Callsign:===
*Sets the ANI file that is played when the message is triggered. Note that the game does not attempt to use the file ''<string>''.ani, but instead picks one of ''<string>''a.ani, ''<string>''b.ani and ''<string>''c.ani randomly each time. So if you have defined ''+Avi Name: Head-Joe'', the game will attempt to use the files ''Head-Joea.ani'', ''Head-Joeb.ani'' and ''Head-Joec.ani''.
+
*Matches the callsign of the ship
 +
*Syntax: '''''String'''''
  
*Syntax: '''String'''
+
===+Class name:===
 +
*Matches the class of the ship
 +
*Respects alt-names as defined in FRED
 +
*Syntax: '''''String'''''
  
 +
===+Wing name:===
 +
*Matches the wing that the ship is in
 +
*Syntax: '''''String'''''
  
===+Wave Name:===
+
===+Species:===
*Sets the sounds file that is played when the message is triggered
+
*Matches the species of the ship
*Syntax: '''String'''
+
*Syntax: '''''String'''''
  
 +
===+Type:===
 +
*Matches the type of the ship as defined in [[objecttypes.tbl]]
 +
*Syntax: '''''String'''''
  
 
==Sample==
 
==Sample==
*Part of the retail FreeSpace 2 table
+
This is a snippet of the retail FreeSpace 2 table, highlighting two major examples between a default (Terran) persona and a species (Vasudan) persona. Command, Support, and Large ship message examples are also included.  Newer features have been added for extra clarification of their usage.
<pre>#Personas
+
<pre>;; This is a list of moods that the game will use for builtin
 +
;; messages. Any message without a mood is treated as General
 +
 
 +
#Moods
  
$Persona: Wingman 1  
+
$Mood: Happy
$Type: wingman
+
$Mood: Angry
 +
$Mood: Vengeful
  
$Persona: Wingman 2
+
#End
$Type: wingman
 
  
$Persona: Wingman 3
 
$Type: wingman
 
  
$Persona: Wingman 4
+
#Personas
$Type: wingman
 
  
$Persona: Wingman 5
+
$Persona: Wingman 1  
 
$Type: wingman
 
$Type: wingman
  
 
$Persona: Wingman 6
 
$Persona: Wingman 6
$Type: wingman
 
+Vasudan
 
 
$Persona: Wingman 7
 
 
$Type: wingman
 
$Type: wingman
 
+Vasudan
 
+Vasudan
Line 166: Line 299:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_allclear.wav
 
+Wave Name: 1_allclear.wav
 
$Name: All Clear
 
$Message: XSTR("All hostiles are down. Area secure.", 2726)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_allclear.wav
 
 
$Name: All Clear
 
$Message: XSTR("All clear, Command.", 2727)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_allclear.wav
 
 
$Name: All Clear
 
$Message: XSTR("Area is secure.", 2728)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_allclear.wav
 
 
$Name: All Clear
 
$Message: XSTR("Bandits neutralized. All clear.", 2729)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_allclear.wav
 
  
 
$Name: All Clear
 
$Name: All Clear
Line 196: Line 305:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_allclear.wav
 
+Wave Name: 6_allclear.wav
 
$Name: All Clear
 
$Message: XSTR("All hostile targets neutralized.", 2731)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_allclear.wav
 
  
 
;; ARRIVAL (Enemy) ...................................................................
 
;; ARRIVAL (Enemy) ...................................................................
Line 210: Line 313:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_arrival.wav
 
+Wave Name: 1_arrival.wav
 
$Name: Arrive Enemy
 
$Message: XSTR("Heads up! Enemy wing closing in!", 1078)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_arrival.wav
 
 
$Name: Arrive Enemy
 
$Message: XSTR("IFF confirmed! Hostiles inbound!", 2732)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_arrival.wav
 
 
$Name: Arrive Enemy
 
$Message: XSTR("Hostiles approaching fast!", 2733)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_arrival.wav
 
 
$Name: Arrive Enemy
 
$Message: XSTR("We've got company!", 1080)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_arrival.wav
 
  
 
$Name: Arrive Enemy
 
$Name: Arrive Enemy
Line 241: Line 320:
 
+Wave Name: 6_arrival.wav
 
+Wave Name: 6_arrival.wav
  
$Name: Arrive Enemy
+
$Name: Arrive Enemy
$Message: XSTR("Enemy wing inbound.", 2735)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_arrival.wav
 
 
 
$Name:Arrive Enemy
 
 
$Message: XSTR("Incoming jump signature! Hostile configuration!", 2736)
 
$Message: XSTR("Incoming jump signature! Hostile configuration!", 2736)
 
+Persona: Terran Command
 
+Persona: Terran Command
Line 262: Line 335:
  
 
$Name: Attack Target
 
$Name: Attack Target
$Message: XSTR("Yes, sir! We'll take em down!", 2738)
+
$Message: XSTR("Yes sir, I'll make the bastards pay for Capella!", 2737)
+Persona: Wingman 2
+
+Persona: Wingman 1
+Avi Name: Head-TP5
+
+Avi Name: Head-TP1
+Wave Name: 2_attack.wav
+
+Wave Name: 1_attack.wav
 +
$Mood: Vengeful
 +
$Exclude Mood: ( "Happy" )
  
 
$Name: Attack Target
 
$Name: Attack Target
$Message: XSTR("Breaking to attack.", 2739)
+
$Message: XSTR("Yes sir. I just love killing Shivans!", 2737)
+Persona: Wingman 3
+
+Persona: Wingman 1
+Avi Name: Head-TP6
+
+Avi Name: Head-TP1
+Wave Name: 3_attack.wav
+
+Wave Name: 1_attack.wav
 
+
$Mood: Angry
$Name: Attack Target
+
$Exclude Mood: ( "Angry" "Vengeful" )
$Message: XSTR("I've got em in my sights!", 2740)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_attack.wav
 
 
 
$Name: Attack Target
 
$Message: XSTR("Target acquired.", 2741)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_attack.wav
 
  
 
$Name: Attack Target
 
$Name: Attack Target
Line 290: Line 355:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_attack.wav
 
+Wave Name: 6_attack.wav
 
$Name: Attack Target
 
$Message: XSTR("Commencing attack on your target.", 2743)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_attack.wav
 
  
 
;; BACKUP ARRIVAL (previously named "REINFORCEMENTS") .........................................
 
;; BACKUP ARRIVAL (previously named "REINFORCEMENTS") .........................................
Line 304: Line 363:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_backup.wav
 
+Wave Name: 1_backup.wav
 
$Name: Backup
 
$Message: XSTR("Reinforcements here. Standing by for orders.", 2745)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_backup.wav
 
 
$Name: Backup
 
$Message: XSTR("Sir, reinforcements are now in position!", 2746)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_backup.wav
 
 
$Name: Backup
 
$Message: XSTR("The cavalry has arrived, sir.", 2747)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_backup.wav
 
 
$Name: Backup
 
$Message: XSTR("Reinforcements have arrived. Awaiting orders.", 2748)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_backup.wav
 
  
 
$Name: Backup
 
$Name: Backup
Line 334: Line 369:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_backup.wav
 
+Wave Name: 6_backup.wav
 
$Name: Backup
 
$Message: XSTR("We will reinforce your wing. Please transmit orders.", 2750)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_backup.wav
 
  
 
;; BETA WING ARRIVAL ..........................................................................
 
;; BETA WING ARRIVAL ..........................................................................
Line 348: Line 377:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_beta.wav
 
+Wave Name: 1_beta.wav
 
$Name: Beta Arrived
 
$Message: XSTR("This is Beta wing. What's your status?", 2752)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_beta.wav
 
 
$Name: Beta Arrived
 
$Message: XSTR("Beta wing now in position.", 2753)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_beta.wav
 
 
$Name: Beta Arrived
 
$Message: XSTR("Beta wing has arrived. Awaiting orders.", 2754)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_beta.wav
 
 
$Name: Beta Arrived
 
$Message: XSTR("Beta wing here. We're now in system, Command!", 2755)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_beta.wav
 
  
 
$Name: Beta Arrived
 
$Name: Beta Arrived
Line 378: Line 383:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_beta.wav
 
+Wave Name: 6_beta.wav
 
$Name: Beta Arrived
 
$Message: XSTR("This is Beta wing. Standing by for orders.", 2757)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_beta.wav
 
  
 
;; CHECK YOUR SIX .............................................................................
 
;; CHECK YOUR SIX .............................................................................
Line 392: Line 391:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_Check6.wav
 
+Wave Name: 1_Check6.wav
 
$Name: Check 6
 
$Message: XSTR("Bandit on your tail!", 2759)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_Check6.wav
 
 
$Name: Check 6
 
$Message: XSTR("Watch your back, pilot!", 2760)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_Check6.wav
 
 
$Name: Check 6
 
$Message: XSTR("Behind you, pilot!", 2761)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_Check6.wav
 
 
$Name: Check 6
 
$Message: XSTR("On your six! On your six!", 2762)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_Check6.wav
 
  
 
$Name: Check 6
 
$Name: Check 6
Line 422: Line 397:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_Check6.wav
 
+Wave Name: 6_Check6.wav
 
$Name: Check 6
 
$Message: XSTR("Bandit at six o'clock!", 2764)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_Check6.wav
 
  
 
;; DEATH (previously wingman scream)...................................................
 
;; DEATH (previously wingman scream)...................................................
Line 436: Line 405:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_Death.wav
 
+Wave Name: 1_Death.wav
 
$Name: Death
 
$Message: XSTR("Aaaaaaaah!!!", 2766)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_Death.wav
 
 
$Name: Death
 
$Message: XSTR("Help me!!!", 2767)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_Death.wav
 
 
$Name: Death
 
$Message: XSTR("Mayday! Mayday!", 2768)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_Death.wav
 
 
$Name: Death
 
$Message: XSTR("I'm going down! I'm going down!", 2769)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_Death.wav
 
  
 
$Name: Death
 
$Name: Death
Line 466: Line 411:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_Death.wav
 
+Wave Name: 6_Death.wav
 
$Name: Death
 
$Message: XSTR("Long live the Emperor!", 2771)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_Death.wav
 
  
 
;; DELTA WING ARRIVAL .........................................................................
 
;; DELTA WING ARRIVAL .........................................................................
Line 480: Line 419:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_Delta.wav
 
+Wave Name: 1_Delta.wav
 
$Name: Delta Arrived
 
$Message: XSTR("Delta wing now in position.", 2773)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_Delta.wav
 
 
$Name: Delta Arrived
 
$Message: XSTR("Delta wing now on station. Awaiting orders.", 2774)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_Delta.wav
 
 
$Name: Delta Arrived
 
$Message: XSTR("This is Delta wing. Give us a target, sir!", 2775)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_Delta.wav
 
 
$Name: Delta Arrived
 
$Message: XSTR("Delta wing here. Standing by.", 2776)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_Delta.wav
 
  
 
$Name: Delta Arrived
 
$Name: Delta Arrived
Line 510: Line 425:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_Delta.wav
 
+Wave Name: 6_Delta.wav
 
$Name: Delta Arrived
 
$Message: XSTR("This is Delta wing. What is your command?", 2778)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_Delta.wav
 
  
 
;; DEPART (previously named "WARPOUT") ........................................................
 
;; DEPART (previously named "WARPOUT") ........................................................
Line 524: Line 433:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_depart.wav
 
+Wave Name: 1_depart.wav
 
$Name: Depart
 
$Message: XSTR("You don't have to tell me twice!", 2780)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_depart.wav
 
 
$Name: Depart
 
$Message: XSTR("Roger that, sir. See you back home.", 2781)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_depart.wav
 
 
$Name: Depart
 
$Message: XSTR("Right away, sir. Jump drive engaged.", 2782)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_depart.wav
 
 
$Name: Depart
 
$Message: XSTR("Acknowledged. Returning to base now.", 2783)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_depart.wav
 
  
 
$Name: Depart
 
$Name: Depart
Line 554: Line 439:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_depart.wav
 
+Wave Name: 6_depart.wav
 
$Name: Depart
 
$Message: XSTR("Returning to base.", 2785)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_depart.wav
 
  
 
$Name: Depart
 
$Name: Depart
Line 586: Line 465:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_Disable.wav  
 
+Wave Name: 1_Disable.wav  
 
$Name: Disable Target
 
$Message: XSTR("Yes, sir! Targeting engines now!", 2790)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_Disable.wav
 
 
$Name: Disable Target
 
$Message: XSTR("Acquiring lock on engines.", 2791)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_Disable.wav
 
 
$Name: Disable Target
 
$Message: XSTR("I copy that. Disabling your target now.", 2792)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_Disable.wav
 
 
$Name: Disable Target
 
$Message: XSTR("Roger that. We'll knock out those engines for you, sir!", 2793)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_Disable.wav
 
  
 
$Name: Disable Target
 
$Name: Disable Target
Line 616: Line 471:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_Disable.wav
 
+Wave Name: 6_Disable.wav
 
$Name: Disable Target
 
$Message: XSTR("Acknowledged. Engine subsystem targeted.", 2795)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_Disable.wav
 
  
 
;; DISARM TARGET ..............................................................................
 
;; DISARM TARGET ..............................................................................
Line 630: Line 479:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_Disarm.wav  
 
+Wave Name: 1_Disarm.wav  
 
$Name: Disarm Target
 
$Message: XSTR("Target data received. Acquiring lock.", 2797)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_Disarm.wav
 
 
$Name: Disarm Target
 
$Message: XSTR("I copy, sir. Disarming your target.", 2798)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_Disarm.wav
 
 
$Name: Disarm Target
 
$Message: XSTR("I'm on it.", 2799)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_Disarm.wav
 
 
$Name: Disarm Target
 
$Message: XSTR("Roger that, sir. Disarming target now.", 2800)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_Disarm.wav
 
  
 
$Name: Disarm Target
 
$Name: Disarm Target
Line 661: Line 486:
 
+Wave Name: 6_Disarm.wav  
 
+Wave Name: 6_Disarm.wav  
  
$Name: Disarm Target
+
#End
$Message: XSTR("I copy. Neutralizing weapons.", 2802)
+
 
+Persona: Wingman 7
+
#Simulated Speech Overrides
+Avi Name: Head-VP2
+
 
+Wave Name: 7_Disarm.wav
+
$File Name: msg_1.wav
 +
$File Name: msg_2.wav
 +
$File Name: msg_3.wav
 +
$File Name: msg_4.wav
 +
$File Name: msg_5.wav
 +
$File Name: msg_6.wav
  
 
#End</pre>
 
#End</pre>
 
[[Category:Tables]]
 
[[Category:Tables]]

Latest revision as of 17:48, 27 October 2023

Revision information.....

FSO Revision: 10943
Note: Please update the version when the page is updated. If your edit had nothing to do with new code entries then please do not edit the version


List of Tables and related code files
* Notes Modular Tables
** Notes tables which only use modular tables
Ai.tbl* /ai/aicode.cpp
Ai_profiles.tbl* /ai/ai_profiles.cpp
Animation.tbl** /model/modelanimation.cpp
Armor.tbl* /ship/ship.cpp
Asteroid.tbl* /asteroid/asteroid.cpp
Autopilot.tbl* /autopilot/autopilot.cpp
Cheats.tbl* /cheats_table/cheats_table.cpp
Colors.tbl* /globalincs/alphacolors.cpp
Curves.tbl* /math/curves.cpp
Controlconfigdefaults.tbl /controlconfig/controlsconfigcommon.cpp
Credits.tbl* /menuui/credits.cpp
Cutscenes.tbl* /cutscene/cutscenes.cpp
Decals.tbl** /decals/decals.cpp
Fireball.tbl* /fireball/fireballs.cpp
Fonts.tbl* /graphics/font.cpp
Game_settings.tbl* /mod_table/mod_table.cpp
Glowpoints.tbl* /model/modelread.cpp
Help.tbl* /gamehelp/contexthelp.cpp
Hud_gauges.tbl* /hud/hudparse.cpp
Icons.tbl* /mission/missionbriefcommon.cpp
Iff_defs.tbl* /iff_defs/iff_defs.cpp
Lighting_Profiles.tbl* /lighting/lighting_profiles.cpp
Lightning.tbl* /nebula/neblightning.cpp
Mainhall.tbl* /menuui/mainhallmenu.cpp
Medals.tbl* /stats/medals.cpp
Messages.tbl* /mission/missionmessage.cpp
Mflash.tbl* /weapon/muzzleflash.cpp
Music.tbl* /gamesnd/eventmusic.cpp
Nebula.tbl* /nebula/neb.cpp
Objecttypes.tbl* /ship/ship.cpp
Options.tbl* Not In Codebase
Particle effects(-part.tbm)** /particle/effects...
Post_processing.tbl /graphics/gropenglpostprocessing.cpp
Rank.tbl* /stats/scoring.cpp
Scpui.tbl* Not In Codebase
Scripting.tbl* /parse/scripting.cpp
Ships.tbl* /ship/ship.cpp
Sexps.tbl** /parse/sexp/sexp_lookup.cpp
Sounds.tbl* /gamesnd/gamesnd.cpp
Species_defs.tbl* /species_defs/species_defs.cpp
Species.tbl* /menuui/techmenu.cpp
Ssm.tbl* /hud/hudartillery.cpp
Stars.tbl* /starfield/starfield.cpp
Strings.tbl* /localization/localize.cpp
Tips.tbl* /menuui/playermenu.cpp
Traitor.tbl* /stats/scoring.cpp
Tstrings.tbl* /localization/localize.cpp
Virtual_pofs.tbl* /model/modelreplace.cpp
Weapon_expl.tbl* /weapon/weapons.cpp
Weapons.tbl* /weapon/weapons.cpp

The messages.tbl is used to link actions, animations, and sounds of the messages received during the mission. Personas are used to group messages by the same talker, for example, all the Wingman 1 (Male Terran Pilot) messages go with a Wingman 1 persona.

Each message is composed of a text macro, and optionally a head .ani and/or an audio macro.

This table is one of the Modular Tables and can be extended with xxx-msg.tbm

#Message Settings

FS2 Open, 23.2: Optional settings for messages behavior


$Allow Any Ship To Send Backup Messages:

FS2 Open, 23.2:
  • By default, Backup messages won't play unless they have at least one filter. Enabling this option will enable backup messages globally
  • Syntax: boolean

#Message Frequencies

FS2 Open, 3.6.16: Optional Group. Defines how often and how many times during the campaign the messages should be shown.



$Name:

FS2 Open, 3.6.16:

Required. Defines the message to augment.



+Occurrence Chance:

FS2 Open, 3.6.16:

Optional. Defines the % chance this message will be played when the associated event occurs. For example, if you score a kill, and the +Occurrence Chance: is 10 for a Praise message, then there is a 10% chance that you a Praise message will play.

  • Syntax: Integer
  • Available Values: Between 0 and 100


+Maximum Count:

FS2 Open, 3.6.16:

Optional. Defines the maximum number of times this message will be played during a given mission.

  • Syntax: Integer


+Minimum Delay:

FS2 Open, 3.6.16:

Optional. Defines the minimum delay time between being queue by the game and the time the message actually plays. (This helps simulate "organic" AI's)

  • Syntax: Integer in milliseconds


#Moods

FS2 Open, 3.6.16: Optional. You can change the mission mood using the new set-mission-mood SEXP, and those moods can be used to filter what built-in messages are played by defining a mood within a message. This section lists all available moods for use in the table and in the SEXP.


$Mood:

FS2 Open, 3.6.16:

Optional. The name of a mood to be attached to a message and set as a mission mood. Example: Happy, Vengeful, etc.

  • Syntax: String


#End

FS2 Open, 3.6.16: The moods section, if it exists, must end with #End.

#Personas

Required. The #Personas group is used to define the all of the personas used for the messages.


$Persona:

Required. Defines the name of the persona

  • Syntax: String


$Type:

Required. Defines the type of the persona

  • Syntax: String
  • Available types:
wingman
support
large
command


+<Species>

Optional. The +<Species> (such as +Vasudan) can be used to assign personas to other species. If omitted, the Persona is assigned to the default species.

  • Syntax: +String
FS2 Open, 23.2: This line can now appear multiple times, allowing a persona to be used by multiple species.

$Allow substitution of missing messages:

FS2 Open, 3.7.4: Optional. This is set to true by default, meaning that in cases where a Persona does not have defined messages for all built-in message types, the engine will try to find a matching message from other personas of the same type and species.
  • Syntax: Boolean

$No automatic assignment:

FS2 Open, 23.2: Optional. This excludes a persona from being assigned to a ship that needs to send a message but does not have a specific persona assigned.
  • Syntax: Boolean

#Messages

Required. The #Messages group contains all available messages.

$Name:

Required. Defines the type of the message

  • Syntax: String
  • Available types (types marked with * do not have code support) :
    • All Alone
    • All Clear *
    • Arrive Enemy
    • Attack Target
    • AWACS at 25
    • AWACS at 75
    • Backup
    • Check 6
    • Death
    • Depart
    • Disable Target
    • Disarm Target
    • Docking Start *
    • Engage
    • Help
    • Ignore Target
    • Instructor Attack
    • Instructor Hit
    • No Target
    • No
    • On way
    • Oops 1 * (Only Command has code support in Retail)
    • Permission *
    • Player Dead
    • Praise
    • Rearm on Way
    • Rearm warping in
    • Rearm
    • Repair Aborted
    • Repair Done
    • Repair
    • Stray Warning Final
    • Stray Warning
    • Stray *
    • Support Killed
    • Traitor
    • yes
FS2 Open, 3.6.12:
    • High Praise
    • Praise Self
    • Primaries Low
FS2 Open, 23.2:
    • Attack Subsystem
    • Cover me
    • Form on my wing
    • Protect Target


FS2 Open, 23.2:
    • The following have been deprecated. Use Backup with a +Wing Name: Filter instead.
      • Beta Arrived
      • Gamma Arrived
      • Delta Arrived
      • Epsilon Arrived

$Message: and $MessageNew:

Defines the message shown in game screen when the message is triggered. Value is a reference to tstrings.tbl.
$Message: is used for single-line messages, while $MessageNew: is used for multi-line messages (but can also be used for single-line messages)

  • $MessageNew: is preferred over $Message:
  • Syntax: XSTR("string", integer)


+Persona:

Optional. Defines the persona associated with the message

  • Syntax:
String

+AVI Name:

Optional. Determines the ANI file to be played when the message is triggered.

In FSO 3.7.4 and later, the game initially attempts to use the file <string>.ani with a persona message. In earlier versions, or if <string>.ani does not exist, the game picks one of <string>a.ani, <string>b.ani and <string>c.ani each time. So if you have defined +Avi Name: Head-Joe, and Head-Joe.ani does not exist, the game will attempt to use the files Head-Joea.ani, Head-Joeb.ani and Head-Joec.ani. For wingmen personas, the c variant is assumed to be a death animation.

  • Syntax: String

+Wave Name:

Optional. Sets the sounds file that is played when the message is triggered

  • Syntax: String


$Mood:

FS2 Open, 3.6.16:

The mood where this message should ideally be played. It may be played on other moods as long as it is not excluded for them below, if no better matching message is found.

  • Syntax: String


$Exclude Mood:

FS2 Open, 3.6.16:

A list of moods not to play this message, ever. The list goes in parentheses. See Terran 'Attack Target' example below for usage.

  • Syntax: String List


$Filter by sender:

FS2 Open, 23.2:
  • Applies the filters to the ship sending the message.
  • Any number of filters can be used, including multiple of any type of filters.
  • All filters must match for a message to be sent.
  • Syntax: See Filters

$Filter by subject:

FS2 Open, 23.2:
  • Applies the filters to the ship the message is "about". For order confirmations, the subject is the target of the order. For Praise/High Praise/Praise Self messages, it's the ship that died. For Help and Check 6, it's the attacker. For arrival messages, it's the wing leader of the arriving wing.
  • Any number of filters can be used, including multiple of any type of filters.
  • All filters must match for a message to be sent.
  • Syntax: See Filters

#End

FS2 Open, 3.6.16: The very last entry must be #End. No exceptions.



#Simulated Speech Overrides

FS2 Open, 3.6.14: Optional. Used to add file names to the generic message list, which defaults to 'none', 'cuevoice', 'cue_voice', 'emptymsg', 'generic', and 'msgstart'. Filenames listed below will be overridden by Text to Speech (TTS) when it is enabled, in addition to those in the default list.


$File Name:

FS2 Open, 3.6.14:

Optional. File name to add to the overrides list. Filenames provided here, however, must include an extension or a warning will be issues, for example msg_1.wav.

  • Syntax: String


#End

FS2 Open, 3.6.14: Must also end the optional Simulated Speech Overrides section with #End.


Filters

FS2 Open, 23.2:
  • Messages can be filtered with $Filter by sender: or $Filter by subject:.
  • These can be applied multiple times for each filer. So the following example would match Vasudan or Shivan Bombers and nothing else.
+Species: Vasudan
+Species: Shivan
+Type: Bomber

+Ship name:

  • Matches the name of the ship
  • Syntax: String

+Callsign:

  • Matches the callsign of the ship
  • Syntax: String

+Class name:

  • Matches the class of the ship
  • Respects alt-names as defined in FRED
  • Syntax: String

+Wing name:

  • Matches the wing that the ship is in
  • Syntax: String

+Species:

  • Matches the species of the ship
  • Syntax: String

+Type:

Sample

This is a snippet of the retail FreeSpace 2 table, highlighting two major examples between a default (Terran) persona and a species (Vasudan) persona. Command, Support, and Large ship message examples are also included. Newer features have been added for extra clarification of their usage.

;; This is a list of moods that the game will use for builtin 
;; messages. Any message without a mood is treated as General

#Moods

$Mood: Happy
$Mood: Angry
$Mood: Vengeful

#End


#Personas

$Persona: Wingman 1	  
$Type: wingman

$Persona: Wingman 6
$Type: wingman
+Vasudan

$Persona: Support Ship
$Type: support

$Persona: Support Ship Vasudan
$Type: support
+Vasudan

$Persona: Large Ship
$Type: large

$Persona: Large Ship Vasudan
$Type: large
+Vasudan

$Persona: Terran Command
$Type: Command

#Messages


;; ALL CLEAR ..................................................................................

$Name: All Clear
$Message: XSTR("Command, we have secured the area.", 2725)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_allclear.wav

$Name: All Clear
$Message: XSTR("All enemy forces negated.", 2730)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_allclear.wav

;; ARRIVAL (Enemy) ...................................................................

$Name: Arrive Enemy
$Message: XSTR("Bandits incoming!", 1079)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_arrival.wav

$Name: Arrive Enemy
$Message: XSTR("Reading hostile indicators.", 2734)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_arrival.wav

$Name: Arrive Enemy
$Message: XSTR("Incoming jump signature! Hostile configuration!", 2736)
+Persona: Terran Command
+Avi Name: Head-CM2
+Wave Name: TC_arrival.wav

;; ATTACK MY TARGET ...........................................................................

$Name: Attack Target
$Message: XSTR("Roger that, sir. Engaging your target.", 2737)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_attack.wav

$Name: Attack Target
$Message: XSTR("Yes sir, I'll make the bastards pay for Capella!", 2737)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_attack.wav
$Mood: Vengeful
$Exclude Mood: ( "Happy" )

$Name: Attack Target
$Message: XSTR("Yes sir. I just love killing Shivans!", 2737)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_attack.wav
$Mood: Angry
$Exclude Mood: ( "Angry" "Vengeful" )

$Name: Attack Target
$Message: XSTR("Affirmative. We will destroy your target.", 2742)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_attack.wav

;; BACKUP ARRIVAL (previously named "REINFORCEMENTS") .........................................

$Name: Backup
$Message: XSTR("Reinforcements on station. Request status brief.", 2744)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_backup.wav

$Name: Backup
$Message: XSTR("We are here to assist. What is your status?", 2749)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_backup.wav

;; BETA WING ARRIVAL ..........................................................................

$Name: Beta Arrived
$Message: XSTR("Beta wing here. Standing by.", 2751)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_beta.wav

$Name: Beta Arrived
$Message: XSTR("Beta wing is on station.", 2756)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_beta.wav

;; CHECK YOUR SIX .............................................................................

$Name: Check 6
$Message: XSTR("Check your six!", 2758)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_Check6.wav

$Name: Check 6
$Message: XSTR("Take evasive action, pilot!", 2763)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_Check6.wav

;; DEATH (previously wingman scream)...................................................

$Name: Death
$Message: XSTR("Noooooooo!!!", 2765)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_Death.wav

$Name: Death
$Message: XSTR("Avenge me!", 2770)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_Death.wav

;; DELTA WING ARRIVAL .........................................................................

$Name: Delta Arrived
$Message: XSTR("This is Delta wing. What's your status?", 2772)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_Delta.wav

$Name: Delta Arrived
$Message: XSTR("Delta wing is ready to assist, pilot.", 2777)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_Delta.wav

;; DEPART (previously named "WARPOUT") ........................................................

$Name: Depart
$Message: XSTR("Yes, sir! I'm outta here!", 2779)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_depart.wav

$Name: Depart
$Message: XSTR("We are departing as ordered.", 2784)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_depart.wav

$Name: Depart
$Message: XSTR("I copy. Engaging jump drive now.", 2786)
+Persona: Support Ship
+Avi Name: Head-TP3
+Wave Name: S_depart.wav

$Name: Depart
$Message: XSTR("Departing field of engagement.", 2787)
+Persona: Support Ship Vasudan
+Avi Name: Head-VP2
+Wave Name: VS_depart.wav

$Name: Depart
$Message: XSTR("We are departing as ordered.", 2788)
+Persona: Large Ship Vasudan
+Avi Name: Head-VP1
+Wave Name: 6_depart.wav

;; DISABLE TARGET .............................................................................

$Name: Disable Target
$Message: XSTR("Roger that, sir. Disabling your target.", 2789)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_Disable.wav 

$Name: Disable Target
$Message: XSTR("Affirmative. Disabling your target.", 2794)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_Disable.wav

;; DISARM TARGET ..............................................................................

$Name: Disarm Target
$Message: XSTR("Yes, sir! Targeting weapons now!", 2796)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_Disarm.wav 

$Name: Disarm Target
$Message: XSTR("Acknowledged. Weapon subsystem targeted. ", 2801)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_Disarm.wav 

#End

#Simulated Speech Overrides

$File Name: msg_1.wav
$File Name: msg_2.wav
$File Name: msg_3.wav
$File Name: msg_4.wav
$File Name: msg_5.wav
$File Name: msg_6.wav

#End