| |
You've finished your lovingly crafted Dark Flame class
Imperial star destroyer, and you want to load her up in a
mission and see how she performs. Well, you are in luck.
Creating a custom mission for Starshatter is actually even
easier than creating your new ship design was in the first
place.
As with most other things, missions are defined in text
files called "Mission Definition Files". These use the same
basic syntax as the ship definition files that describe
the properties of starships. Missions are composed of two
kinds of data: the pre-mission briefing, and a list of
mission elements. Briefing data includes the general type
of mission, and summary information for the player such as
a situation report and objectives list.
Mission elements define the specific ships and space
stations that are loaded into the simulation environment
when you play the mission.
Briefing Data
| name |
The name of the mission. This is the name that will appear
in the custom mission list, and at the top of the mission briefing
screen. |
| system |
The star system in which the mission will occur. Valid choices
in the current demo are Solus and Janus. |
| region |
The starting region of the mission. Valid choices are shown
below. |
| sitrep |
A text description that explains the overall situation that
has led up to this mission. Use this attribute to "set the scene"
for the player and explain why the mission is important. The
situation report is displayed at the top of the briefing screen.
|
| objective |
A text description of the player's key objectives.
This wil be displayed on the mission briefing
screen. |
| start |
The start day and time of the mission. This is a string
containing the day (relative to the start of the campaign)
followed by a slash, followed by the time using 24 hour
notation. To create a mission that starts at 5:15 PM on the
third day of the campaign, use "03/17:15:00". |
VALID REGIONS
Janus System:
- Ilon
- Dante
- Janek
- Janek Station
- Alystra
- Navara
Solus System:
- Meridian
- Solus
- Telmera
- Kalon
- Jalah
- Trellis
Note: Janek Station and Telmera are
planetary terrain regions.
EXAMPLES:
MISSION
name: "Fighter Combat"
system: Solus
region: Solus
sitrep: "Tensions are rising in the neutral system of Solus. "
"Enemy Vipers and Cobras have been detected "
"patrolling Omane Sector and may begin harassing "
"legal shipping bound for Harmony Station. "
"Your element has been assigned to sweep the "
"Omane Sector and clear out the hostiles."
objective:
"Fighter Sweep - destroy enemy units in Omane Sector, "
"and protect Harmony Station."
start: "01/08:00:00"
|
Mission Elements
Element structures are used to define all the starships,
buildings, space-stations, and fighters that will be active
during the mission. Element structures are also used to
create fighter squadrons aboard carriers.
| name |
The callsign of a fighter element, or the name of the
starship or squadron being defined. |
| design |
The ship design to be used in creating the element. This can
be a standard built-in ship design, or a custom ship design in the
Mods\Ships directory. |
| region |
The region in which to create the element. Optional, if
omitted, the default region for the mission is used. |
| loc |
The vector location (in meters) of where to create this element.
In the nav map, X is east-west, Y is north-south, and Z is altitude. |
| head |
A number representing the heading or direction this unit is
facing, in radians. Optional. The default heading is 0 (north)
for all units. |
| count |
The number of ships in the element. Optional, default is 1. |
| iff |
The team number for this element. Valid choices are 0 (neutral),
1 (alliance), and 2 (hegemony). |
| player |
A number indicating which ship in the element will be controlled
by the player. Optional, default is 0.
Valid choices are 0 (not a player element) or 1 (lead)
through the number of ships in the count attribute for the
element.
Exactly one element should have a non-zero player attribute. |
| mission |
The mission role that this element is tasked with.
Valid mission roles are shown below. |
| commander |
The name of the element that is immediately above this one
in the chain of command. NPC ships will only take orders from
their commander, or their commander's commander (etc.). |
| instr * |
A line of text to be displayed in the Instructions window
of the player's HUD during the mission. Can be repeated as
often as necessary to complete the text instructions for the
mission. Most commonly used in training exercises to provide
walkthrough info for the player. |
| Fighter Squadron Attributes: |
| carrier |
The name of the carrier or starbase that hosts this squadron.
If you include this attribute, you are defining a squadron, not
an active element. The number of ships in the squadron is
defined by the count attribute. |
| dead_count |
The number of ships in this squadron that have been
killed in action. These ships are not available during
the mission. |
| maint_count |
The number of ships in this squadron that are currently
undergoing maintenance. These ships are not immediately
available during the mission, but will become available
when the repairs are complete. |
| Fighter Element Attributes: |
| alert |
Boolean indicating whether this element should start on alert
(on the flight deck or runway) or in flight. Optional, default is
false (meaning the element will start in flight). |
| squadron |
The name of the squadron that this element is derived from.
This indirectly indicates the carrier or starbase that this
element will launch from if the alert attribute is set.
|
| loadout * |
A structure identifying the loadouts to use for each fighter
in the element. Can be repeated up to count times, or
a single loadout can be used for all fighters in the element.
|
| Direction Attributes: |
| objective |
A structure providing specific mission objectives for this
element. |
| navpt * |
A structure defining one step in the scripted
flight plan for this element. |
VALID MISSION ROLES
| Patrol |
Defensive combat patrol. Engage hostile fighters. |
| Sweep |
Offensive combat patrol. Engage hostile fighters. |
| Intercept |
Fighter mission. Destroy pre-planned fighter targets. |
| Strike |
Fighter mission. Destroy pre-planned ground targets. |
| Assault |
Fighter mission. Destroy pre-planned starship targets. |
| Escort |
General escort. Protect the named escorted element. |
| Escort_Freight |
Protect the escorted freighter. |
| Escort_Shuttle |
Protect the escorted shuttle. |
| Escort_Strike |
Protect the escorted strike package. |
| Intel |
Intelligence gathering. |
| Blockade |
Prevent ships from entering or leaving port. |
| Fleet |
Starship force-on-force engagement. |
| Bombardment |
Starship attack on space station. |
| Flight_Ops |
Carrier flight operations. |
| Transport |
General movement of starships. |
| Cargo |
Freight hauling. |
| Training |
An exercise in a training scenario. |
EXAMPLES:
// FLEET CARRIER:
ship: {
name: Archon,
design: Orion,
loc: (0, 0, 0),
count: 1,
iff: 1
}
// FIGHTER SQUADRON ON CARRIER:
element: {
name: Stallions,
design: Stormhawk,
count: 20,
maint_count: 5,
dead_count: 5,
carrier: Archon, // <- this makes it a squadron!
iff: 1,
loadout: { ship: -1, stations: (0, 1, 1, 0) },
}
// PLAYER: TWO-SHIP FIGHTER SWEEP
element: {
name: Ranger,
design: Stormhawk,
squadron: Stallions,
loc: (1e3, 2e3, 0),
mission: sweep,
objective: { cmd: intercept, tgt: Martak },
objective: { cmd: intercept, tgt: Malik },
player: 1,
alert: true,
count: 2,
iff: 1,
loadout: { ship: -1, name: "ACM Medium Range" },
navpt: { cmd: vector, loc: (80e3,-20e3, 0), speed: 750, rgn: Solus },
navpt: { cmd: vector, loc: (90e3,-70e3, 0), speed: 750, rgn: Omane },
navpt: { cmd: sweep, loc: (40e3,-70e3, 0), speed: 500, rgn: Omane },
navpt: { cmd: sweep, loc: (20e3,-30e3, 0), speed: 500, rgn: Omane },
navpt: { cmd: vector, loc: (90e3,-30e3, 0), speed: 500, rgn: Omane },
navpt: { cmd: vector, loc: ( 5e3, 30e3, 0), speed: 500, rgn: Solus },
}
|
What to Wear: Loadouts
The loadout structure is used to define specific pre-planned
weapons packages for fighter elements.
| ship |
A number identifying which ship in the element to apply this
loadout to. Can be -1 (meaning all ships) or a number from 0
(lead) to count -1. Optional, default is -1. |
| name |
The name of a standard loadout for this ship design. |
| stations |
An array of numbers indicating which weapon type
is to be loaded on each hardpoint. Each number in the
array corresponds to a single hardpoint, in the order
they are listed in the ship definition file. The value
of the number indicates which weapon type should be loaded.
A value of -1 means that the hardpoint should be left empty.
|
Directions: Objectives and Navpoints
Objectives and Navpoint structures tell the element (both player
and AI) what to do during the mission.
| cmd |
The command for this navpoint or objective. Valid commands are shown
below. |
| rgn |
The name of the region where the navpoint is located. |
| loc |
The vector location (in meters) of where to create this navpoint.
In the nav map, X is east-west, Y is north-south, and Z is altitude. |
| speed |
The speed (in meters per second) that the element should use enroute
to this navpoint. |
| formation |
The number of the formation that the element should use enroute
to this navpoint. Valid formations are 0 (diamond), 1 (spread),
2 (box), and 3 (trail). |
| tgt |
The name of the target element for this navpoint or objective. |
VALID COMMANDS
| Vector |
Move to the destination loc. |
| Launch |
Take off from a flight deck or runway. |
| Dock |
Land on a flight deck or runway. |
| Defend |
Protect the target element from hostiles. |
| Escort |
Protect the target element from hostiles. |
| Patrol |
Engage hostiles near the location. |
| Sweep |
Engage hostiles along the route to the location. |
| Intercept |
Engage the named target fighter element. |
| Strike |
Engage the named target ground unit. |
| Assault |
Engage the named target starship. |
Samples
Here is a link to sample mission def file:
M0.def
You can use this sample as the basis for your
own missions. Be sure to rename it to match your
own mission names. And remember to save the files
using a .def extension.
|
|