summaryrefslogtreecommitdiffhomepage
path: root/data/shatter/Campaigns/01
diff options
context:
space:
mode:
Diffstat (limited to 'data/shatter/Campaigns/01')
-rw-r--r--data/shatter/Campaigns/01/Missions.def57
-rw-r--r--data/shatter/Campaigns/01/Scenes/Intro.def153
-rw-r--r--data/shatter/Campaigns/01/T1.def78
-rw-r--r--data/shatter/Campaigns/01/T2.def292
-rw-r--r--data/shatter/Campaigns/01/T3.def289
-rw-r--r--data/shatter/Campaigns/01/T4.def273
-rw-r--r--data/shatter/Campaigns/01/T5.def209
-rw-r--r--data/shatter/Campaigns/01/T6.def106
-rw-r--r--data/shatter/Campaigns/01/T7.def197
-rw-r--r--data/shatter/Campaigns/01/campaign.def40
-rw-r--r--data/shatter/Campaigns/01/opfor.def268
-rw-r--r--data/shatter/Campaigns/01/terellian.def405
-rw-r--r--data/shatter/Campaigns/01/zones.def32
13 files changed, 2399 insertions, 0 deletions
diff --git a/data/shatter/Campaigns/01/Missions.def b/data/shatter/Campaigns/01/Missions.def
new file mode 100644
index 0000000..c643f85
--- /dev/null
+++ b/data/shatter/Campaigns/01/Missions.def
@@ -0,0 +1,57 @@
+MISSIONLIST
+
+mission: {
+ id: 1,
+ name: "1. Basic Space Flight",
+ desc: "Space-based fighters. Practice launching, flying, docking, and basic spaceborne maneuvering.",
+ start: "01/09:23:00",
+ script: "T1.def"
+}
+
+mission: {
+ id: 2,
+ name: "2. Target Practice",
+ desc: "Space-based fighters. Practice pairs combat against target drones.",
+ start: "01/11:15:00",
+ script: "T2.def"
+}
+
+mission: {
+ id: 3,
+ name: "3. Flight School",
+ desc: "Airborne fighters. Practice takeoffs, landings, and basic atmospheric maneuvering.",
+ start: "01/16:23:00",
+ script: "T3.def"
+}
+
+mission: {
+ id: 4,
+ name: "4. Ground Strike",
+ desc: "Air-to-ground action. Practice destroying ground targets.",
+ start: "02/05:35:00",
+ script: "T4.def"
+}
+
+mission: {
+ id: 5,
+ name: "5. Training Cruise",
+ desc: "Learn to command starships. Practice engaging target drones with a Frigate class ship.",
+ start: "03/15:20:00",
+ script: "T5.def"
+}
+
+mission: {
+ id: 6,
+ name: "6. Advanced Starship Combat",
+ desc: "Learn to command starships. Practice engaging starship targets with a Destroyer class ship.",
+ start: "04/11:00:00",
+ script: "T6.def"
+}
+
+mission: {
+ id: 7,
+ name: "7. Carrier Operations",
+ desc: "Learn to direct fleet operations. Practice orbital carrier operations.",
+ start: "05/09:30:00",
+ script: "T7.def"
+}
diff --git a/data/shatter/Campaigns/01/Scenes/Intro.def b/data/shatter/Campaigns/01/Scenes/Intro.def
new file mode 100644
index 0000000..e1884a0
--- /dev/null
+++ b/data/shatter/Campaigns/01/Scenes/Intro.def
@@ -0,0 +1,153 @@
+MISSION
+
+name: "Campaign 01 - Intro"
+type: "Patrol"
+system: Borova
+region: Borova
+stardate: 1001994001
+
+degrees: true
+
+element: {
+ name: "Archon"
+ design: "Orion"
+ mission: "Flight Ops"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 1
+ player: 1
+ playable: true
+ region: "Borova"
+ loc: (0, 0, 0)
+ navpt: { cmd: Vector, loc: (0, -80e3, 0), speed: 500 }
+}
+
+element: {
+ name: "Stalwart"
+ design: "Courageous"
+ commander: "Archon"
+ mission: "Fleet"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: "Borova"
+ loc: (-6e3, 10e3, 0)
+ navpt: { cmd: Vector, loc: (-6e3, -80e3, 0), speed: 500 }
+}
+
+element: {
+ name: "Gerson"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Fleet"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: "Borova"
+ loc: (12e3, 14e3, 0)
+ navpt: { cmd: Vector, loc: (12e3, -80e3, 0), speed: 500 }
+}
+
+element: {
+ name: "Simmons"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Fleet"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: "Borova"
+ loc: (-14e3, -12e3, 0)
+ navpt: { cmd: Vector, loc: (-14e3, -80e3, 0), speed: 500 }
+}
+
+element: {
+ name: "Lifters"
+ design: "Zodiac"
+ carrier: "Archon"
+ commander: "Archon"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 8
+ iff: 1
+ region: "Borova"
+ loc: (17e3, 18e3, 0)
+}
+
+element: {
+ name: "Proteus"
+ design: "Zodiac"
+ squadron: "Lifters"
+ commander: "Archon"
+ mission: "Transport"
+ head: -30
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: "Borova"
+ loc: (15e3, 29e3, 0)
+
+ navpt: { cmd: Vector, loc: (7e3, 17e3, 0), speed: 500 }
+ navpt: { cmd: RTB, loc: (4e3, 9e3, 0), speed: 350 }
+}
+
+event: { id: 100, event: BeginScene, time: 0, message: "Scene 1" }
+
+event: { event: Hold, param: 99, ship: Archon }
+event: { event: Hold, param: 99, ship: Stalwart }
+event: { event: Hold, param: 99, ship: Gerson }
+event: { event: Hold, param: 99, ship: Simmons }
+
+event: { event: Camera, param: 3, target: Proteus, vec: (1,-0.1,1500) }
+event: { event: Camera, param: 5, vec: (0.10, 0.002, -0.01) }
+
+event: { event: Display, time: 1, message: "Training Shuttle 'Proteus'", font: Limerick18, color: 0xffffff80, fade: (1,15,1), rect: (20,20, 400,100) }
+event: { event: Display, time: 3, message: "Borova Orbit", font: Limerick12, color: 0xffffff80, fade: (1,13,1), rect: (20,40, 400,100) }
+
+event: { id: 1, time: 5, sound: "Vox/Scenes/01/Intro-1.ogg" }
+event: { id: 2, time: 15, sound: "Vox/Scenes/01/Intro-2.ogg" }
+event: { id: 3, time: 52, sound: "Vox/Scenes/01/Intro-3.ogg" }
+event: { id: 4, sound: "Vox/Scenes/01/Intro-4.ogg", trigger: Dock, trigger_ship: Proteus }
+
+event: { event: Hold, param: 0, ship: Archon, trigger: Event, trigger_param: 4 }
+event: { event: Hold, param: 0, ship: Stalwart, trigger: Event, trigger_param: 4 }
+event: { event: Hold, param: 0, ship: Gerson, trigger: Event, trigger_param: 4 }
+event: { event: Hold, param: 0, ship: Simmons, trigger: Event, trigger_param: 4 }
+
+event: { event: Camera, param: 3, target: Archon, vec: (2,0,2700), trigger: Event, trigger_param: 4 }
+event: { event: Camera, param: 5, vec: (0.12, 0.006, -0.02), trigger: Event, trigger_param: 4 }
+
+event: { event: Display, message: "Task Force 3.7", font: Limerick18, color: 0xffffff80, fade: (1,10,1), rect: (20,20, 400,100), trigger: Event, trigger_param: 4 }
+event: { event: Display, message: "CV-71 'Archon'", font: Limerick12, color: 0xffffff80, fade: (1,1,1), rect: (20,40, 200,100), trigger: Event, trigger_param: 4 }
+event: { event: Display, message: "CA-524 'Stalwart'", font: Limerick12, color: 0xffffff80, fade: (1,1,1), rect: (20,40, 200,100), trigger: Event, trigger_param: 4, delay: 3 }
+event: { event: Display, message: "DD/E-682 'Gerson'", font: Limerick12, color: 0xffffff80, fade: (1,1,1), rect: (20,40, 200,100), trigger: Event, trigger_param: 4, delay: 6 }
+event: { event: Display, message: "DD/E-687 'Simmons'", font: Limerick12, color: 0xffffff80, fade: (1,1,1), rect: (20,40, 200,100), trigger: Event, trigger_param: 4, delay: 9 }
+
+event: { event: Jump, ship: Archon, target: Tulkas, trigger: Event, trigger_param: 4, delay: 20 }
+event: { event: Jump, ship: Stalwart, target: Tulkas, trigger: Event, trigger_param: 4, delay: 19 }
+event: { event: Jump, ship: Gerson, target: Tulkas, trigger: Event, trigger_param: 4, delay: 18 }
+event: { event: Jump, ship: Simmons, target: Tulkas, trigger: Event, trigger_param: 4, delay: 16 }
+
+event: { event: Display, image: "Campaigns/01/Scenes/Black.pcx", color: 0xffffffff, fade: (1,30,1), rect: (0,0,0,0) , trigger: Event, trigger_param: 4, delay: 21 }
+event: { event: Display, image: "Campaigns/01/Scenes/Starshatter.pcx", color: 0xffffffff, fade: (1,10,1), rect: (0,0, -1024,-256) , trigger: Event, trigger_param: 4, delay: 22 }
+event: { event: Display, image: "Campaigns/01/Scenes/TheGatheringStorm.pcx", color: 0xffffffff, fade: (1, 7,1), rect: (0,0, -1024,-256) , trigger: Event, trigger_param: 4, delay: 25 }
+
+event: { id: 200, event: EndScene, message: "Scene 1", delay: 35, trigger: Event, trigger_param: 4 }
+event: { id: 201, event: Exit, delay: 35, trigger: Event, trigger_param: 4 }
+
+// EOF
diff --git a/data/shatter/Campaigns/01/T1.def b/data/shatter/Campaigns/01/T1.def
new file mode 100644
index 0000000..6e29706
--- /dev/null
+++ b/data/shatter/Campaigns/01/T1.def
@@ -0,0 +1,78 @@
+MISSION
+
+name: "Basic Space Flight"
+type: "Training"
+system: "Janus"
+region: "Janek"
+
+objective:
+ "Training - "
+ "Practice spaceborne fighter operations."
+
+sitrep: "The Third Fleet is participating in wargame "
+ "exercises in the Janus system. "
+ "The fleet carrier Archon has been detached "
+ "to Janek orbit to practice spaceborne fighter "
+ "operations. As part of the exercise, you have "
+ "been tasked with flying patrol patterns "
+ "with your training instructor."
+
+start: "01/09:23:00"
+
+ship: {
+ name: Archon,
+ design: Orion,
+ loc: (0, 0, 0),
+ count: 1,
+ iff: 1,
+ command_ai: 0,
+}
+
+element: {
+ name: Stallions,
+ design: Falcon,
+ count: 20,
+ maint_count: 5,
+ dead_count: 5,
+ carrier: Archon,
+ iff: 1,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ }
+
+element: {
+ name: Delta
+ design: Falcon
+ squadron: Stallions
+ loc: (1e3, 2e3, 0)
+ mission: sweep
+ player: 2
+ alert: true
+ count: 2
+ iff: 1
+ loadout: { ship: -1, name: "ACM Medium Range" }
+
+ navpt: { cmd: vector, loc: (10e3,-20e3, 0), speed: 500 }
+ navpt: { cmd: vector, loc: (30e3,-20e3, 0), speed: 500 }
+ navpt: { cmd: vector, loc: (40e3, 0, 0), speed: 500 }
+ navpt: { cmd: vector, loc: (15e3, 20e3, 0), speed: 500 }
+ navpt: { cmd: rtb, loc: ( 0, 25e3, 0), speed: 250 }
+}
+
+
+// VOICE-OVER
+
+
+event: { event: Message, time: 2, sound: "Vox/Train/Train-01-01.ogg", message: "Please wait" }
+event: { event: Message, time: 35, sound: "Vox/Train/Train-01-02.ogg", message: "Raise your landing gear" }
+event: { event: Message, time: 50, sound: "Vox/Train/Train-01-03.ogg", message: "Basic controls" }
+event: { event: Message, time: 75, sound: "Vox/Train/Train-01-04.ogg", message: "Mouse steering" }
+event: { event: Message, time: 100, sound: "Vox/Train/Train-01-05.ogg", message: "Navigation system" }
+event: { event: Message, time: 125, sound: "Vox/Train/Train-01-06.ogg", message: "Disengage autonav" }
+event: { event: Message, time: 135, sound: "Vox/Train/Train-01-07.ogg", message: "Throttle and augmenter" }
+event: { event: Message, time: 170, sound: "Vox/Train/Train-01-08.ogg", message: "Lateral thrusters" }
+event: { event: Message, id: 100, sound: "Vox/Train/Train-01-09.ogg", message: "Return to base",
+ trigger: Navpoint, trigger_param: 5, trigger_ship: Delta }
+event: { event: Message, sound: "Vox/Train/Train-01-10.ogg", message: "Docking procedure",
+ trigger: Event, trigger_param: 100, delay: 25 }
+
+
diff --git a/data/shatter/Campaigns/01/T2.def b/data/shatter/Campaigns/01/T2.def
new file mode 100644
index 0000000..25aac6b
--- /dev/null
+++ b/data/shatter/Campaigns/01/T2.def
@@ -0,0 +1,292 @@
+MISSION
+
+name: "Target Practice"
+type: "Training"
+system: "Janus"
+region: "Janek"
+
+objective:
+ "Training - "
+ "Practice spaceborne fighter operations."
+
+sitrep: "The Third Fleet is participating in wargame "
+ "exercises in the Janus system. "
+ "The fleet carrier Archon has been detached "
+ "to Janek orbit to practice spaceborne fighter "
+ "operations. As part of the exercise, you have "
+ "been tasked with flying patrol patterns "
+ "and destroying target drones in your sector."
+
+start: "01/09:23:00"
+
+ship: {
+ name: Archon,
+ design: Orion,
+ loc: (0, 0, 0),
+ count: 1,
+ iff: 1,
+ command_ai: 0,
+}
+
+/*****/
+
+element: {
+ name: Stallions,
+ design: Falcon,
+ count: 20,
+ maint_count: 5,
+ dead_count: 5,
+ carrier: Archon,
+ iff: 1,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ }
+
+element: {
+ name: Echo,
+ design: Falcon,
+ squadron: Stallions,
+ loc: (1e3, 2e3, 0),
+ mission: sweep,
+ objective: { cmd: intercept, tgt: Alpha },
+ objective: { cmd: intercept, tgt: Bravo },
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+
+ navpt: { cmd: vector, loc: ( 5e3,-10e3, 0), speed: 500 },
+ navpt: { cmd: vector, loc: (12e3,-25e3, 0), speed: 500 },
+ navpt: { cmd: sweep, loc: (40e3, 0, 0), speed: 500 },
+ navpt: { cmd: sweep, loc: (30e3, 30e3, 0), speed: 500 },
+ navpt: { cmd: rtb, loc: ( 0, 30e3, 0), speed: 250 }
+}
+
+/***/
+
+element: {
+ name: Alpha,
+ design: TargetDrone,
+ loc: (-12e3, -50e3, 0),
+ count: 4,
+ iff: 2,
+
+ navpt: { cmd: vector, loc: (-8e3, -50e3, 0), speed: 400 },
+ navpt: { cmd: vector, loc: (30e3, -30e3, 0), speed: 400 },
+ navpt: { cmd: vector, loc: (30e3, 0, 0), speed: 400 },
+ navpt: { cmd: vector, loc: (50e3, 50e3, 0), speed: 400 },
+}
+
+element: {
+ name: Bravo,
+ design: TargetDrone,
+ loc: (5e3, 50e3, 0),
+ count: 4,
+ iff: 2,
+
+ navpt: { cmd: vector, loc: (10e3, 40e3, 0), speed: 400 },
+ navpt: { cmd: vector, loc: (20e3, 25e3, 0), speed: 400 },
+ navpt: { cmd: vector, loc: (50e3, 0, 0), speed: 400 },
+ navpt: { cmd: vector, loc: (50e3, -50e3, 0), speed: 400 },
+}
+
+element: {
+ name: Delta,
+ design: Viper,
+ loc: (40e3, 60e3, 0),
+ count: 2,
+ iff: 200,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+
+ navpt: { cmd: sweep, loc: (15e3, -40e3, 0), speed: 750 },
+}
+
+
+event: {
+ id: 101,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Alpha 1",
+}
+
+event: {
+ id: 102,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Alpha 2",
+}
+
+event: {
+ id: 103,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Alpha 3",
+}
+
+event: {
+ id: 104,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Alpha 4",
+}
+
+
+
+event: {
+ id: 106,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Bravo 1",
+}
+
+event: {
+ id: 107,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Bravo 2",
+}
+
+event: {
+ id: 108,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Bravo 3",
+}
+
+event: {
+ id: 109,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Bravo 4",
+}
+
+
+event: {
+ id: 120,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Delta 1",
+}
+
+event: {
+ id: 121,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Delta 2",
+}
+
+
+// VOICE-OVER
+
+
+event: { id: 151, event: Message, time: 2, sound: "Vox/Train/Train-02-01.ogg", message: "Please wait" }
+event: { id: 152, event: Message, time: 25, sound: "Vox/Train/Train-02-02a.ogg", message: "Raise your landing gear" }
+event: { id: 153, event: Message, time: 42, sound: "Vox/Train/Train-02-02b.ogg", message: "Maintain formation" }
+event: { id: 154, event: Message, time: 55, sound: "Vox/Train/Train-02-03.ogg", message: "Sensor combat markers" }
+event: { id: 155, event: Message, time: 90, sound: "Vox/Train/Train-02-04.ogg", message: "Missile Combat" }
+
+event: {
+ id: 199,
+ event: Message,
+ trigger: "Event (ANY)",
+ trigger_param: (101, 102, 103, 104),
+}
+
+event: {
+ id: 200,
+ event: Message,
+ sound: "Vox/Train/Train-02-05.ogg",
+ message: "Good!",
+ trigger: "Event (ALL)",
+ trigger_param: (155, 199),
+ delay: 1
+}
+
+event: {
+ id: 201,
+ event: Message,
+ sound: "Vox/Train/Train-02-06.ogg", message: "Gun Combat",
+ trigger: Event,
+ trigger_param: 200,
+ delay: 5
+}
+
+event: {
+ id: 205,
+ event: Message,
+ sound: "Vox/Train/Train-02-07.ogg",
+ message: "Alpha Drones Destroyed - Proceed to next navpoint",
+ trigger: "Event (ALL)",
+ trigger_param: (101, 102, 103, 104, 201),
+ delay: 1
+}
+
+
+event: {
+ id: 210,
+ event: Message,
+ sound: "Vox/Train/Train-02-08.ogg",
+ event_message: "All Drones Destroyed",
+ trigger: "Event (ALL)",
+ trigger_param: (205, 106, 107, 108, 109),
+}
+
+event: {
+ id: 211,
+ event: Message,
+ sound: "Vox/Train/Train-02-09.ogg",
+ message: "Engage Vampires",
+ trigger: Event,
+ trigger_param: 210,
+ delay: 3
+}
+
+
+event: {
+ id: 212,
+ event: IFF,
+ event_param: 2,
+ event_ship: "Delta 1",
+ trigger: Event,
+ trigger_param: 211,
+ delay: 3
+}
+
+event: {
+ id: 213,
+ event: Message,
+ sound: "Vox/Train/Train-02-10.ogg",
+ event_message: "Inbound threat evasion techniques",
+ trigger: "Event",
+ trigger_param: 211,
+ delay: 25
+}
+
+event: {
+ id: 215,
+ event: Message,
+ sound: "Vox/Train/Train-02-11.ogg",
+ event_message: "Vampires Destroyed",
+ trigger: "Event (ALL)",
+ trigger_param: (120, 121),
+}
+
+event: {
+ id: 300,
+ event: Message,
+ message: "Return to base",
+ sound: "Vox/Train/Train-02-12.ogg",
+ trigger: Navpoint,
+ trigger_param: 5,
+ trigger_ship: Echo
+}
+
+event: {
+ id: 301,
+ event: Message,
+ message: "Docking procedure",
+ sound: "Vox/Train/Train-02-13.ogg",
+ trigger: Event,
+ trigger_param: 300,
+ delay: 18
+}
diff --git a/data/shatter/Campaigns/01/T3.def b/data/shatter/Campaigns/01/T3.def
new file mode 100644
index 0000000..e9f3ee2
--- /dev/null
+++ b/data/shatter/Campaigns/01/T3.def
@@ -0,0 +1,289 @@
+MISSION
+
+name: "Flight School"
+type: "Training"
+system: "Janus"
+region: "Janek Station"
+
+objective:
+ "Training - "
+ "Practice airborne fighter operations."
+
+sitrep: "The Third Fleet is participating in wargame "
+ "exercises in the Janus system. "
+ "Your squadron, the Avengers, are on temporary "
+ "detached duty to Janek Station."
+ "As part of the exercise, you have "
+ "been tasked with practicing take offs and landings, "
+ "flying patrol patterns "
+ "and destroying target drones in your sector."
+
+start: "01/13:23:00"
+stardate: 1084144000
+
+degrees: true
+
+
+element: {
+ name: "Janek Station",
+ design: Airbase1,
+ loc: (25e3, 0, 0),
+ head: -90,
+ iff: 1,
+ command_ai: 0,
+}
+
+element: {
+ name: Avengers,
+ design: Falcon,
+ count: 20,
+ maint_count: 5,
+ dead_count: 5,
+ carrier: "Janek Station",
+ iff: 1,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+element: {
+ name: Alpha,
+ design: Falcon,
+ squadron: Avengers,
+ loc: (15e3,-5e3, 5e3),
+ mission: sweep,
+ objective: { cmd: intercept, tgt: Sierra },
+ player: 1,
+ head: -90,
+ alert: true,
+ count: 2,
+ iff: 1,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+
+ navpt: { cmd: vector, loc: (-15e3, -5e3, 7e3), speed: 350 },
+ navpt: { cmd: vector, loc: (-15e3, -20e3, 8e3), speed: 500 },
+ navpt: { cmd: sweep, loc: ( 0, -10e3, 10e3), speed: 500 },
+ navpt: { cmd: sweep, loc: ( 10e3, -10e3, 10e3), speed: 500 },
+ navpt: { cmd: rtb, loc: ( 60e3, 0, 10e3), speed: 400 },
+}
+
+
+/***/
+
+element: {
+ name: Sierra,
+ design: TargetDrone,
+ loc: ( 50e3, 20e3, 10e3),
+ count: 4,
+ iff: 2,
+
+ navpt: { cmd: vector, loc: ( 20e3, 20e3, 10e3), speed: 300 },
+ navpt: { cmd: vector, loc: ( 20e3, 0, 10e3), speed: 300 },
+ navpt: { cmd: vector, loc: ( 0, -20e3, 10e3), speed: 300 },
+ navpt: { cmd: vector, loc: (-20e3, -15e3, 10e3), speed: 300 },
+}
+
+element: {
+ name: "Building",
+ design: "Bldg00",
+ mission: "Misc",
+ intel: "Located",
+ count: 1,
+ iff: 1,
+ playable: false,
+ region: "Janek Station",
+ loc: (-19e3, 28e3, 0),
+ head: -13
+}
+
+element: {
+ name: "Building",
+ design: "Bldg00",
+ mission: "Misc",
+ intel: "Located",
+ count: 1,
+ iff: 1,
+ playable: false,
+ region: "Janek Station",
+ loc: (-21e3, 29e3, 0),
+ head: -13
+}
+
+element: {
+ name: "Office Block",
+ design: "Bldg01",
+ mission: "Misc",
+ intel: "Located",
+ count: 1,
+ iff: 1,
+ playable: false,
+ region: "Janek Station",
+ loc: (-16e3, 32e3, 0),
+ head: -13
+}
+
+element: {
+ name: "Dome",
+ design: "Tank00",
+ mission: "Misc",
+ intel: "Located",
+ count: 1,
+ iff: 1,
+ playable: false,
+ region: "Janek Station",
+ loc: (-19e3, 31e3, 0),
+ head: -13
+}
+
+element: {
+ name: "Office Block",
+ design: "Bldg01",
+ mission: "Misc",
+ intel: "Located",
+ count: 1,
+ iff: 1,
+ playable: false,
+ region: "Janek Station",
+ loc: (-18e3, 30e3, 0),
+ head: -13
+}
+
+element: {
+ name: "Building",
+ design: "Fact03",
+ mission: "Misc",
+ intel: "Located",
+ count: 1,
+ iff: 1,
+ playable: false,
+ region: "Janek Station",
+ loc: (-17e3, 29e3, 0),
+ head: -13
+}
+
+element: {
+ name: "Cooling Tower",
+ design: "Cool00",
+ mission: "Misc",
+ intel: "Located",
+ count: 4,
+ iff: 2,
+ playable: false,
+ region: "Janek Station",
+ loc: (70000, -10000, 0),
+
+}
+
+
+event: {
+ id: 101,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Sierra 1",
+}
+
+event: {
+ id: 102,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Sierra 2",
+}
+
+event: {
+ id: 103,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Sierra 3",
+}
+
+event: {
+ id: 104,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Sierra 4",
+}
+
+
+// VOICE-OVER
+
+
+event: { id: 200, event: Message, time: 2, sound: "Vox/Train/Train-03-01.ogg", message: "Please wait" }
+event: { id: 210, event: Message, time: 20, sound: "Vox/Train/Train-03-02.ogg", message: "Taking off" }
+event: { id: 220, event: Message, time: 40, sound: "Vox/Train/Train-03-03.ogg", message: "Raise your langing gear" }
+event: { id: 230, event: Message, time: 65, sound: "Vox/Train/Train-03-04.ogg", message: "Engage autonav" }
+
+event: {
+ id: 240,
+ event: Message,
+ message: "Disengage autonav"
+ sound: "Vox/Train/Train-03-05.ogg",
+ trigger: Navpoint,
+ trigger_param: 2,
+ trigger_ship: Alpha
+}
+
+event: {
+ id: 250,
+ event: Message,
+ sound: "Vox/Train/Train-03-06.ogg",
+ message: "Airborne combat skills",
+ trigger: Event,
+ trigger_param: 240,
+ delay: 14
+}
+
+event: {
+ id: 260,
+ event: Message,
+ sound: "Vox/Train/Train-03-07.ogg",
+ message: "Well done!",
+ trigger: "Event (ALL)",
+ trigger_param: (101, 102, 103, 104),
+ delay: 1
+}
+
+event: {
+ id: 270,
+ event: Message,
+ sound: "Vox/Train/Train-03-08.ogg",
+ message: "Order your wingman to head for home",
+ trigger: Navpoint,
+ trigger_param: 4,
+ trigger_ship: Alpha
+}
+
+event: {
+ id: 300,
+ event: Message,
+ sound: "Vox/Train/Train-03-09.ogg",
+ message: "Return to base",
+ trigger: Navpoint,
+ trigger_param: 5,
+ trigger_ship: Alpha
+}
+
+event: {
+ id: 310,
+ event: Message,
+ time: 120,
+ sound: "Vox/Train/Train-03-10.ogg",
+ message: "Landing procedure",
+ trigger: Event,
+ ship: "Alpha 1",
+ trigger: Range,
+ trigger_param: 15e3,
+ trigger_ship: "Janek Station"
+}
+
+event: {
+ id: 311,
+ event: Message,
+ time: 120,
+ sound: "Vox/Train/Train-03-11.ogg",
+ message: "Final approach",
+ ship: "Alpha 1",
+ trigger: Range,
+ trigger_param: 10e3,
+ trigger_ship: "Janek Station"
+}
+
+
+/***/
diff --git a/data/shatter/Campaigns/01/T4.def b/data/shatter/Campaigns/01/T4.def
new file mode 100644
index 0000000..f08189b
--- /dev/null
+++ b/data/shatter/Campaigns/01/T4.def
@@ -0,0 +1,273 @@
+MISSION
+
+name: "Ground Strike"
+type: "Training"
+system: "Janus"
+region: "Janek Station"
+
+objective:
+ "Training Strike - "
+ "Destroy simulated mining operation."
+
+sitrep: "The Third Fleet is participating in wargame "
+ "exercises in the Janus system. "
+ "Your squadron, the Stallions, are on temporary "
+ "detached duty to Janek Station. "
+ "As part of the exercise, you have "
+ "been tasked with destroying support "
+ "facilities for a simulated mining operation."
+
+start: "02/05:35:00"
+stardate: 1084170240
+
+degrees: true
+
+element: {
+ name: "Janek Station",
+ design: Airbase1,
+ loc: (25e3, 0, 0),
+ head: -90,
+ iff: 1,
+ command_ai: 0,
+}
+
+element: {
+ name: Stallions,
+ design: Stormhawk,
+ count: 20,
+ maint_count: 5,
+ dead_count: 5,
+ carrier: "Janek Station",
+ iff: 1,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+element: {
+ name: Alpha,
+ design: Stormhawk,
+ squadron: Stallions,
+ player: 1,
+ alert: true,
+ loc: (15e3, -5e3, 5e3),
+ count: 2,
+ iff: 1,
+ head: -90,
+
+ loadout: { ship: -1, name: "Ground Strike" },
+
+ mission: strike,
+ objective: { cmd: strike, tgt: "Cooling Tower" },
+ navpt: { cmd: vector, loc: ( 0, -40e3, 5e3), speed: 500, formation: 0 },
+ navpt: { cmd: strike, loc: (30e3, -15e3, 7e3), speed: 500, formation: 3 },
+ navpt: { cmd: rtb, loc: (50e3, 0, 5e3), speed: 400 },
+}
+
+
+element: {
+ name: "Building",
+ design: "Bldg00",
+ mission: "Misc",
+ intel: "Located",
+ count: 1,
+ iff: 1,
+ playable: false,
+ region: "Janek Station",
+ loc: (-19e3, 28e3, 0),
+ head: -13
+}
+
+element: {
+ name: "Building",
+ design: "Bldg00",
+ mission: "Misc",
+ intel: "Located",
+ count: 1,
+ iff: 1,
+ playable: false,
+ region: "Janek Station",
+ loc: (-21e3, 29e3, 0),
+ head: -13
+}
+
+element: {
+ name: "Office Block",
+ design: "Bldg01",
+ mission: "Misc",
+ intel: "Located",
+ count: 1,
+ iff: 1,
+ playable: false,
+ region: "Janek Station",
+ loc: (-16e3, 32e3, 0),
+ head: -13
+}
+
+element: {
+ name: "Dome",
+ design: "Tank00",
+ mission: "Misc",
+ intel: "Located",
+ count: 1,
+ iff: 1,
+ playable: false,
+ region: "Janek Station",
+ loc: (-19e3, 31e3, 0),
+ head: -13
+}
+
+element: {
+ name: "Office Block",
+ design: "Bldg01",
+ mission: "Misc",
+ intel: "Located",
+ count: 1,
+ iff: 1,
+ playable: false,
+ region: "Janek Station",
+ loc: (-18e3, 30e3, 0),
+ head: -13
+}
+
+element: {
+ name: "Building",
+ design: "Fact03",
+ mission: "Misc",
+ intel: "Located",
+ count: 1,
+ iff: 1,
+ playable: false,
+ region: "Janek Station",
+ loc: (-17e3, 29e3, 0),
+ head: -13
+}
+
+element: {
+ name: "Cooling Tower",
+ design: "Cool00",
+ mission: "Misc",
+ intel: "Located",
+ count: 4,
+ iff: 2,
+ playable: false,
+ region: "Janek Station",
+ loc: (70000, -10000, 0),
+
+}
+
+
+event: {
+ id: 101,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Cooling Tower 1",
+}
+
+event: {
+ id: 102,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Cooling Tower 2",
+}
+
+event: {
+ id: 103,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Cooling Tower 3",
+}
+
+event: {
+ id: 104,
+ event: Message,
+ trigger: Destroyed,
+ trigger_ship: "Cooling Tower 4",
+}
+
+
+// VOICE-OVER
+
+
+event: { id: 200, event: Message, time: 2, sound: "Vox/Train/Train-04-01.ogg", message: "Please wait" }
+event: { id: 210, event: Message, time: 20, sound: "Vox/Train/Train-04-02.ogg", message: "Taking off" }
+event: { id: 220, event: Message, time: 40, sound: "Vox/Train/Train-04-03.ogg", message: "Raise your langing gear" }
+event: { id: 230, event: Message, time: 60, sound: "Vox/Train/Train-04-04.ogg", message: "Set sensor display to HSD mode" }
+
+/**
+ ** THIS MESSAGE IS NONSENSE!
+ **
+event: {
+ id: 240,
+ event: Message,
+ message: "Steer towards ground targets"
+ sound: "Vox/Train/Train-04-05.ogg",
+ trigger: Navpoint,
+ trigger_param: 2,
+ trigger_ship: Alpha
+}
+ **
+ **/
+
+event: {
+ id: 250,
+ event: Message,
+ sound: "Vox/Train/Train-04-06.ogg",
+ message: "Air-to-ground combat skills",
+ trigger: Navpoint,
+ trigger_param: 2,
+ trigger_ship: Alpha
+ delay: 5
+}
+
+event: {
+ id: 260,
+ event: Message,
+ sound: "Vox/Train/Train-04-07.ogg",
+ message: "Sort targets with your wingman",
+ trigger: Event,
+ trigger_param: 250,
+ delay: 15
+}
+
+event: {
+ id: 270,
+ event: Message,
+ sound: "Vox/Train/Train-04-08.ogg",
+ message: "Engage your target",
+ trigger: Event,
+ trigger_param: 260,
+ delay: 12
+}
+
+event: {
+ id: 300,
+ event: Message,
+ sound: "Vox/Train/Train-04-09.ogg",
+ message: "Engage a second target",
+ trigger: Event,
+ trigger_param: 270,
+ delay: 12
+}
+
+
+event: {
+ id: 310,
+ event: Message,
+ sound: "Vox/Train/Train-04-10.ogg",
+ message: "Resume nav route",
+ trigger: "Event (ALL)",
+ trigger_param: (101, 102, 103, 104),
+ delay: 1
+}
+
+event: {
+ id: 311,
+ event: Message,
+ sound: "Vox/Train/Train-04-11.ogg",
+ message: "Return to base",
+ trigger: Event,
+ trigger_param: 310,
+ delay: 20
+}
+
+
+/***/
diff --git a/data/shatter/Campaigns/01/T5.def b/data/shatter/Campaigns/01/T5.def
new file mode 100644
index 0000000..2ea594c
--- /dev/null
+++ b/data/shatter/Campaigns/01/T5.def
@@ -0,0 +1,209 @@
+MISSION
+
+name: "Training Cruise"
+type: "Training"
+system: "Janus"
+region: "Alystra"
+
+objective:
+ "Training - "
+ "Practice starship fleet operations."
+
+sitrep: "The Third Fleet is participating in wargame "
+ "exercises in the Janus system. "
+ "You will be in command of the Frigate Carlisle "
+ "in Alystra sector. After you destroy the target "
+ "drones in that sector, rendevous with the Archon "
+ "in Janek orbit to complete the exercise."
+
+start: "03/15:20:00"
+
+/*************************/
+
+ship: {
+ name: Archon,
+ design: Orion,
+ region: Janek,
+ loc: (0, 0, 0),
+ count: 1,
+ iff: 1,
+}
+
+element: {
+ name: "Flying Tigers",
+ design: Stormhawk,
+ count: 20,
+ maint_count: 5,
+ dead_count: 5,
+ region: Janek,
+ carrier: Archon,
+ iff: 1,
+ loadout: { ship: -1, stations: (0, 1, 1, 0) },
+ }
+
+element: {
+ name: "Warhawks",
+ design: Stormhawk,
+ count: 20,
+ region: Janek,
+ carrier: Archon,
+ iff: 1,
+ loadout: { ship: -1, stations: (0, 0, 0, 0) },
+ }
+
+element: {
+ name: "Starlifters",
+ design: Zodiac,
+ count: 8,
+ region: Janek,
+ carrier: Archon,
+ iff: 1,
+ dead_count: 2,
+ }
+
+
+/*************************/
+
+ship: {
+ name: Carlisle,
+ design: Berents,
+ region: Alystra,
+ loc: (20e3, -30e3, 0),
+ commander: Archon,
+ count: 1,
+ iff: 1,
+ player: 1,
+
+ navpt: { cmd: vector, loc: (20e3, -40e3, 0), speed: 500, rgn: Alystra },
+ navpt: { cmd: vector, loc: (10e3, -10e3, 0), speed: 500, rgn: Janek },
+}
+
+/**********************/
+
+element: {
+ name: Alpha,
+ design: TargetDrone,
+ region: Alystra,
+ loc: (-12e3, -50e3, 0),
+ count: 4,
+ iff: 2,
+
+ navpt: { cmd: vector, loc: (-8e3, -50e3, 0), speed: 400 },
+ navpt: { cmd: vector, loc: (30e3, -30e3, 0), speed: 400 },
+ navpt: { cmd: vector, loc: (30e3, 0, 0), speed: 400 },
+ navpt: { cmd: vector, loc: (50e3, 50e3, 0), speed: 400 },
+}
+
+/**********************/
+
+
+event: {
+ id: 1,
+ event: Message,
+ event_message: "",
+ trigger: Destroyed,
+ trigger_ship: "Alpha 1",
+}
+
+event: {
+ id: 2,
+ event: Message,
+ event_message: "",
+ trigger: Destroyed,
+ trigger_ship: "Alpha 2",
+}
+
+event: {
+ id: 3,
+ event: Message,
+ event_message: "",
+ trigger: Destroyed,
+ trigger_ship: "Alpha 3",
+}
+
+event: {
+ id: 4,
+ event: Message,
+ event_message: "",
+ trigger: Destroyed,
+ trigger_ship: "Alpha 4",
+}
+
+event: {
+ id: 5,
+ time: 0.0,
+ delay: 0.0,
+ event: Message,
+ event_message: "Alpha Drones Destroyed - Proceed to Janek Orbit",
+ trigger: "Event (ALL)",
+ trigger_param: (1, 2, 3, 4),
+}
+
+event: {
+ id: 6,
+ time: 0.0,
+ delay: 0.5,
+ event: Message,
+ event_message: "(Press Q then 3)",
+ trigger: "Event",
+ trigger_param: 5,
+}
+
+event: {
+ id: 7,
+ delay: 3.0,
+ event: Message,
+ event_message: "Training Mission Complete",
+ trigger: "Jump",
+ trigger_ship: "Carlisle",
+}
+
+event: {
+ id: 8,
+ delay: 2.0,
+ event: Message,
+ event_message: "Press ESC 1 to End the Mission",
+ trigger: "Event",
+ trigger_param: 7,
+}
+
+event: {
+ id: 9,
+ delay: 20.0,
+ event: Message,
+ event_message: "Press ESC 1 to End the Mission",
+ trigger: "Event",
+ trigger_param: 8,
+}
+
+event: {
+ id: 10,
+ delay: 30.0,
+ event: Exit,
+ trigger: "Event",
+ trigger_param: 8,
+}
+
+
+/*************************/
+
+// VOICE-OVER
+
+event: { id: 101, event: Message, time: 2, sound: "Vox/Train/Train-05-01.ogg", message: "" }
+event: { id: 102, event: Message, delay: 10, sound: "Vox/Train/Train-05-02.ogg", message: "", trigger: Event, trigger_param: 101 }
+event: { id: 103, event: Message, delay: 14, sound: "Vox/Train/Train-05-03.ogg", message: "", trigger: Event, trigger_param: 102 }
+event: { id: 104, event: Message, delay: 16, sound: "Vox/Train/Train-05-04.ogg", message: "", trigger: Event, trigger_param: 103 }
+event: { id: 105, event: Message, delay: 16, sound: "Vox/Train/Train-05-05.ogg", message: "", trigger: Event, trigger_param: 104 }
+event: { id: 106, event: Message, delay: 10, sound: "Vox/Train/Train-05-06.ogg", message: "", trigger: Event, trigger_param: 105 }
+event: { id: 107, event: Message, delay: 8, sound: "Vox/Train/Train-05-07.ogg", message: "", trigger: Event, trigger_param: 106 }
+event: { id: 108, event: Message, delay: 8, sound: "Vox/Train/Train-05-08.ogg", message: "", trigger: Event, trigger_param: 107 }
+event: { id: 109, event: Message, delay: 25, sound: "Vox/Train/Train-05-09.ogg", message: "", trigger: Event, trigger_param: 108 }
+event: { id: 110, event: Message, delay: 2, sound: "Vox/Train/Train-05-10.ogg", message: "", trigger: "Event (ALL)", trigger_param: (5,109) }
+event: { id: 111, event: Message, delay: 1, sound: "Vox/Train/Train-05-11.ogg", message: "", trigger: "Event (ALL)", trigger_param: (7,110) }
+event: { id: 112, event: Message, delay: 5, sound: "Vox/Train/Train-05-12.ogg", message: "", trigger: Event, trigger_param: 111 }
+
+
+/**********************/
+
+// EOF
+
diff --git a/data/shatter/Campaigns/01/T6.def b/data/shatter/Campaigns/01/T6.def
new file mode 100644
index 0000000..57deb54
--- /dev/null
+++ b/data/shatter/Campaigns/01/T6.def
@@ -0,0 +1,106 @@
+MISSION
+
+name: "Advanced Starship Combat"
+type: "Training"
+system: "Janus"
+region: "Dante"
+
+objective:
+ "Training - "
+ "Practice advanced starship combat maneuvers."
+
+sitrep: "The Third Fleet is participating in wargame "
+ "exercises in the Janus system. "
+ "You will be in command of the Destroyer Mahan "
+ "in Dante sector. You have been tasked with finding "
+ "and destroying the enemy Wolf-class starship Shannon. "
+ "You have one hour to complete this exercise. Good luck!"
+
+start: "04/11:00:00"
+
+degrees: true
+
+/*************************/
+
+element: {
+ name: Mahan
+ design: Asher
+ mission: Training
+
+ intel: Secret
+ count: 1
+ command_ai:1
+ iff: 1
+ player: 1
+ playable: false
+ region: Dante
+ loc: (0, 0, 0)
+}
+
+element: {
+ name: Tarkis
+ design: Wolf
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: Dante
+ loc: (-258e3, -47e3, 0)
+
+ navpt: { cmd: Vector, loc: (-132e3, -175e3, 0), speed: 500 }
+}
+
+element: {
+ name: "DTS Equinox"
+ design: IM4300
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: Dante
+ loc: (5e3, -195e3, 0)
+
+ navpt: { cmd: Vector, loc: (-190e3, -125e3, 0), speed: 400 }
+}
+
+/*************************/
+
+// VOICE-OVER
+
+event: { id: 1, time: 2, sound: "Vox/Train/Train-06-01.ogg" }
+event: { id: 2, delay: 22, sound: "Vox/Train/Train-06-02.ogg", trigger: Event, trigger_param: 1 }
+event: { id: 3, delay: 16, sound: "Vox/Train/Train-06-03.ogg", trigger: Event, trigger_param: 2 }
+
+event: { id: 4, delay: 2, sound: "Vox/Train/Train-06-04.ogg", trigger: Event, trigger_param: 50 }
+event: { id: 5, delay: 17, sound: "Vox/Train/Train-06-05.ogg", trigger: Event, trigger_param: 4 }
+event: { id: 6, delay: 17, sound: "Vox/Train/Train-06-06.ogg", trigger: Event, trigger_param: 5 }
+event: { id: 7, delay: 25, sound: "Vox/Train/Train-06-07.ogg", trigger: Event, trigger_param: 6 }
+event: { id: 8, delay: 30, sound: "Vox/Train/Train-06-08.ogg", trigger: Event, trigger_param: 7 }
+event: { id: 9, delay: 25, sound: "Vox/Train/Train-06-09.ogg", trigger: Event, trigger_param: 8 }
+
+event: { id: 13, delay: 0, sound: "Vox/Train/Train-06-10.ogg", trigger: Event, trigger_param: 51 }
+event: { id: 14, delay: 30, sound: "Vox/Train/Train-06-11.ogg", trigger: Event, trigger_param: 13 }
+event: { id: 15, delay: 17, sound: "Vox/Train/Train-06-12.ogg", trigger: Event, trigger_param: 14 }
+event: { id: 16, delay: 30, sound: "Vox/Train/Train-06-13.ogg", trigger: Event, trigger_param: 15 }
+
+event: { id: 20, delay: 0, sound: "Vox/Train/Train-06-14.ogg", trigger: Destroyed, trigger_ship: Tarkis }
+
+event: { id: 50, delay: 0, message: "Tarkis Detected", trigger: Detect, trigger_ship: Mahan, trigger_target: Tarkis }
+event: { id: 51, delay: 0, message: "Tarkis Locked", trigger: Target, trigger_ship: Mahan, trigger_target: Tarkis }
+
+event: { id: 80, event: Skip, param: ( 1, 2, 3), trigger: Event, trigger_param: 50 }
+event: { id: 81, event: Skip, param: ( 1, 2, 3, 4, 5), trigger: Event, trigger_param: 51 }
+event: { id: 82, event: Skip, param: ( 5, 6, 7, 8, 9), trigger: Event, trigger_param: 13 }
+event: { id: 83, event: Skip, param: (13,14,15,16), trigger: Event, trigger_param: 20 }
+
+event: { id: 100, event: EXIT, delay: 10, trigger: Event, trigger_param: 20 }
+
+/*************************/
+
+// EOF
diff --git a/data/shatter/Campaigns/01/T7.def b/data/shatter/Campaigns/01/T7.def
new file mode 100644
index 0000000..565b554
--- /dev/null
+++ b/data/shatter/Campaigns/01/T7.def
@@ -0,0 +1,197 @@
+MISSION
+
+name: "Carrier Operations"
+type: "Training"
+system: "Janus"
+region: "Alystra"
+
+objective: "Training - Practice orbital carrier operations."
+
+sitrep: "The Third Fleet is participating in wargame exercises in the Janus system. The fleet carrier Archon has been detached to Alystra orbit to practice spaceborne fighter operations. "
+
+start: "129:30:00"
+
+degrees: true
+
+element: {
+ name: "Archon"
+ design: "Orion"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 1
+ player: 1
+ playable: false
+ region: "Alystra"
+ loc: (-60e3, -25e3, 0)
+}
+
+element: {
+ name: "Avengers"
+ design: "Falcon"
+ carrier: "Archon"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 24
+ maint_count: 6
+ iff: 1
+ region: "Alystra"
+ loc: (0, 0, 0)
+}
+
+element: {
+ name: "Stallions"
+ design: "Stormhawk"
+ carrier: "Archon"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 24
+ maint_count: 6
+ iff: 1
+ region: "Alystra"
+ loc: (0, 0, 0)
+}
+
+element: {
+ name: "Warbirds"
+ design: "Thunderbolt"
+ carrier: "Archon"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 12
+ maint_count: 2
+ iff: 1
+ region: "Alystra"
+ loc: (0, 0, 0)
+}
+
+element: {
+ name: "Starlifters"
+ design: "Zodiac"
+ carrier: "Archon"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 8
+ dead_count: 2
+ iff: 1
+ region: "Alystra"
+ loc: (0, 0, 0)
+}
+
+element: {
+ name: "Gerson"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: "Alystra"
+ loc: (-75e3, -31e3, 0)
+}
+
+element: {
+ name: "Simmons"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: "Alystra"
+ loc: (-45e3, -24e3, 0)
+}
+
+/**********************/
+
+element: {
+ name: "Tarpon"
+ design: "TargetDrone"
+ mission: "Intercept"
+
+ intel: "Secret"
+ count: 4
+ iff: 2
+ loc: (-130e3, -215e3, 0)
+
+ navpt: { cmd: Vector, loc: (-60e3, -25e3, 0), speed: 600 }
+}
+
+element: {
+ name: "Sculpin"
+ design: "TargetDrone"
+ mission: "Intercept"
+
+ intel: "Secret"
+ count: 4
+ iff: 2
+ loc: (250e3, 230e3, 0)
+
+ navpt: { cmd: Vector, loc: (-60e3, -25e3, 0), speed: 750 }
+}
+
+element: {
+ name: "Rockeye"
+ design: "TargetDrone"
+ mission: "Intercept"
+
+ intel: "Secret"
+ count: 4
+ iff: 2
+ loc: (250e3, 125e3, 0)
+
+ navpt: { cmd: Vector, loc: (-60e3, -25e3, 0), speed: 550 }
+}
+
+element: {
+ name: Pompano,
+ design: IM3500
+ skin: Red
+ loc: (260e3, 125e3, 0)
+ count: 1,
+ iff: 2,
+
+ navpt: { cmd: vector, loc: (-50e3, -50e3, 0), speed: 550 },
+}
+
+
+/*************************/
+
+// VOICE-OVER
+
+event: { id: 1, event: Message, time: 2, sound: "Vox/Train/Train-07-01.ogg" }
+event: { id: 2, event: Message, delay: 18, sound: "Vox/Train/Train-07-02.ogg", trigger: Event, trigger_param: 1 }
+event: { id: 3, event: Message, delay: 15, sound: "Vox/Train/Train-07-03.ogg", trigger: Event, trigger_param: 2 }
+event: { id: 4, event: Message, delay: 12, sound: "Vox/Train/Train-07-04.ogg", trigger: Event, trigger_param: 3 }
+event: { id: 5, event: Message, delay: 17, sound: "Vox/Train/Train-07-05.ogg", trigger: Event, trigger_param: 4 }
+event: { id: 6, event: Message, delay: 12, sound: "Vox/Train/Train-07-06.ogg", trigger: Event, trigger_param: 5 }
+event: { id: 7, event: Message, delay: 18, sound: "Vox/Train/Train-07-07.ogg", trigger: Event, trigger_param: 6 }
+event: { id: 8, event: Message, delay: 20, sound: "Vox/Train/Train-07-08.ogg", trigger: Event, trigger_param: 7 }
+event: { id: 9, event: Message, delay: 30, sound: "Vox/Train/Train-07-09.ogg", trigger: Event, trigger_param: 8 }
+event: { id: 10, event: Message, delay: 16, sound: "Vox/Train/Train-07-10.ogg", trigger: Event, trigger_param: 9 }
+event: { id: 11, event: Message, delay: 12, sound: "Vox/Train/Train-07-11.ogg", trigger: Event, trigger_param: 10 }
+event: { id: 12, event: Message, delay: 18, sound: "Vox/Train/Train-07-12.ogg", trigger: Event, trigger_param: 11 }
+event: { id: 13, event: Message, delay: 20, sound: "Vox/Train/Train-07-13.ogg", trigger: Event, trigger_param: 12 }
+event: { id: 14, event: Message, delay: 17, sound: "Vox/Train/Train-07-14.ogg", trigger: Event, trigger_param: 13 }
+event: { id: 15, event: Message, delay: 16, sound: "Vox/Train/Train-07-15.ogg", trigger: Event, trigger_param: 14 }
+event: { id: 16, event: Message, delay: 18, sound: "Vox/Train/Train-07-16.ogg", trigger: Event, trigger_param: 15 }
+event: { id: 17, event: Message, delay: 30, sound: "Vox/Train/Train-07-17.ogg", trigger: Event, trigger_param: 16 }
+event: { id: 18, event: Message, delay: 30, sound: "Vox/Train/Train-07-18.ogg", trigger: Event, trigger_param: 17 }
+
+//event: { id: 50, event: Detect, message: "Tarkis Detected", trigger_ship: Gerson, trigger_target: Tarkis }
+
+/**********************/
+
+// EOF
diff --git a/data/shatter/Campaigns/01/campaign.def b/data/shatter/Campaigns/01/campaign.def
new file mode 100644
index 0000000..6c2e727
--- /dev/null
+++ b/data/shatter/Campaigns/01/campaign.def
@@ -0,0 +1,40 @@
+CAMPAIGN
+
+name: "Operation Live Fire"
+
+desc: "The Third Fleet of the Terellian Alliance "
+ "is participating in live fire training exercises "
+ "in the Janus star system."
+
+situation:
+ "\tThe Third Fleet of the Terellian Alliance "
+ "Force:Space is participating in live fire training exercises "
+ "in the Janus star system. Operation Live Fire "
+ "will give the fleet some much needed practice under conditions that are "
+ "as close to combat reality as possible.\n\n"
+
+ "\tThe schedule of training scenarios in this campaign has been designed "
+ "to bring you up to speed on Force:Space combat operations. "
+ "The first several missions will give you some practice in fighter "
+ "operations, both in space and in atmosphere. You will also get a chance "
+ "to practice some ground strike operations against static pre-planned targets. "
+ "The last few missions are designed to introduce you to "
+ "the greater complexity of modern starship combat.\n\n"
+
+ "To begin the first mission, click the [MISSIONS] button on the left side "
+ "of this screen.\n\n"
+
+orders:
+ "\t* Execute all of the training missions in this campaign."
+
+scripted: true
+
+action: {
+ id: 0,
+ type: event,
+ subtype: campaign_start,
+ team: 1,
+ rgn: Janus,
+ source: News,
+ scene: "Scenes/Intro.def"
+}
diff --git a/data/shatter/Campaigns/01/opfor.def b/data/shatter/Campaigns/01/opfor.def
new file mode 100644
index 0000000..c5f5652
--- /dev/null
+++ b/data/shatter/Campaigns/01/opfor.def
@@ -0,0 +1,268 @@
+ORDER_OF_BATTLE
+
+group: {
+ type: force,
+ id: 1,
+ name: "OPFOR",
+ intel: known,
+ iff: 2,
+ loc: (0, 0, 0),
+}
+
+group: {
+ type: fleet,
+ id: 2,
+ name: "Thralis",
+ intel: known,
+ iff: 2,
+ region: "Vail",
+ loc: (-390e3, 10e3, 0),
+ parent_type: force,
+ parent_id: 1,
+}
+
+group: {
+ type: carrier_group,
+ id: 5,
+ name: "Antares",
+ intel: known,
+ iff: 2,
+ region: "Janek",
+ loc: (207e3, -362e3, 0),
+ parent_type: fleet,
+ parent_id: 2,
+
+ unit: {
+ name: "Antares",
+ design: "Orion",
+ regnum: "72" },
+
+ unit: {
+ name: "Ryan",
+ design: "Spectre",
+ regnum: "681" },
+
+ unit: {
+ name: "Card",
+ design: "Spectre",
+ regnum: "686" },
+}
+
+group: {
+ type: fighter_squadron,
+ id: 91,
+ name: "Bearcats",
+ intel: known,
+ iff: 2,
+ region: "Janek",
+ loc: (179e3, -300e3, 0),
+ parent_type: carrier_group,
+ parent_id: 5,
+
+ unit: {
+ name: "Bearcat",
+ design: "Viper",
+ count: 20 },
+}
+
+group: {
+ type: fighter_squadron,
+ id: 30,
+ name: "Mustangs",
+ intel: known,
+ iff: 2,
+ region: "Janek",
+ loc: (125e3, -318e3, 0),
+ parent_type: carrier_group,
+ parent_id: 5,
+
+ unit: {
+ name: "Mustang",
+ design: "Viper",
+ count: 20 },
+}
+
+group: {
+ type: attack_squadron,
+ id: 45,
+ name: "Lancers",
+ intel: known,
+ iff: 2,
+ region: "Janek",
+ loc: (246e3, -379e3, 0),
+ parent_type: carrier_group,
+ parent_id: 5,
+
+ unit: {
+ name: "Lancer",
+ design: "Cobra",
+ count: 20 },
+}
+
+group: {
+ type: lca_squadron,
+ id: 101,
+ name: "Ares",
+ intel: known,
+ iff: 2,
+ region: "Janek",
+ loc: (195e3, -400e3, 0),
+ parent_type: carrier_group,
+ parent_id: 5,
+
+ unit: {
+ name: "Ares",
+ design: "Zodiac",
+ count: 8 },
+}
+
+group: {
+ type: battle_group,
+ id: 7,
+ name: "Annihilator",
+ intel: known,
+ iff: 2,
+ region: "Alystra",
+ loc: (30e3, 180e3, -6e3),
+ parent_type: fleet,
+ parent_id: 2,
+
+ unit: {
+ name: "Annihilator",
+ design: "Spectre",
+ regnum: "405" },
+
+ unit: {
+ name: "Vanguard",
+ design: "Courageous",
+ regnum: "533" },
+
+ unit: {
+ name: "Gibson",
+ design: "Spectre",
+ regnum: "691" },
+
+ unit: {
+ name: "Leyte",
+ design: "Berents",
+ regnum: "922" },
+}
+
+group: {
+ type: battle_group,
+ id: 8,
+ name: "Vortex",
+ intel: known,
+ iff: 2,
+ region: "Dante",
+ loc: (80e3, 140e3, -6e3),
+ parent_type: fleet,
+ parent_id: 2,
+
+ unit: {
+ name: "Vortex",
+ design: "Spectre",
+ regnum: "410" },
+
+ unit: {
+ name: "Defiant",
+ design: "Courageous",
+ regnum: "538" },
+
+ unit: {
+ name: "Mahan",
+ design: "Spectre",
+ regnum: "696" },
+
+ unit: {
+ name: "Argiles",
+ design: "Berents",
+ regnum: "927" },
+}
+
+group: {
+ type: destroyer_squadron,
+ id: 40,
+ name: "Wraith",
+ intel: known,
+ iff: 2,
+ region: "Navara",
+ loc: (80e3, 140e3, -6e3),
+ parent_type: fleet,
+ parent_id: 2,
+
+ unit: {
+ name: "Wraith",
+ design: "Spectre",
+ regnum: "351" },
+
+ unit: {
+ name: "Nemesis",
+ design: "Spectre",
+ regnum: "356" },
+
+ unit: {
+ name: "Bosporus",
+ design: "Berents",
+ regnum: "912" },
+}
+
+group: {
+ type: destroyer_squadron,
+ id: 41,
+ name: "Demon",
+ intel: known,
+ iff: 2,
+ region: "Alystra",
+ loc: (0, -90e3, -3e3),
+ parent_type: fleet,
+ parent_id: 2,
+
+ unit: {
+ name: "Demon",
+ design: "Spectre",
+ regnum: "361" },
+
+ unit: {
+ name: "Revenant",
+ design: "Spectre",
+ regnum: "366" },
+
+ unit: {
+ name: "Carlisle",
+ design: "Berents",
+ regnum: "917" },
+}
+
+group: {
+ type: destroyer_squadron,
+ id: 59,
+ name: "Clarke",
+ intel: known,
+ iff: 2,
+ region: "Dante",
+ loc: (-60e3, -180e3, -7e3),
+ parent_type: fleet,
+ parent_id: 2,
+
+ unit: {
+ name: "Clarke",
+ design: "Spectre",
+ regnum: "701" },
+
+ unit: {
+ name: "Jackson",
+ design: "Spectre",
+ regnum: "706" },
+
+ unit: {
+ name: "Parker",
+ design: "Berents",
+ regnum: "932" },
+
+ unit: {
+ name: "Suffolk",
+ design: "Berents",
+ regnum: "937" },
+}
+
diff --git a/data/shatter/Campaigns/01/terellian.def b/data/shatter/Campaigns/01/terellian.def
new file mode 100644
index 0000000..7438156
--- /dev/null
+++ b/data/shatter/Campaigns/01/terellian.def
@@ -0,0 +1,405 @@
+ORDER_OF_BATTLE
+
+group: {
+ type: force,
+ id: 1,
+ name: "Terellian Alliance",
+ intel: known,
+ iff: 1,
+ loc: (0, 0, 0),
+}
+
+group: {
+ type: fleet,
+ id: 3,
+ name: "Borova",
+ intel: known,
+ iff: 1,
+ loc: (0, 0, 0),
+ parent_type: force,
+ parent_id: 1,
+}
+
+group: {
+ type: carrier_group,
+ id: 6,
+ name: "Archon",
+ intel: known,
+ iff: 1,
+ region: "Janek",
+ loc: (-122e3, 80e3, 0),
+ parent_type: fleet,
+ parent_id: 3,
+
+ unit: {
+ name: "Archon",
+ design: "Orion",
+ regnum: "71" },
+
+ unit: {
+ name: "Gerson",
+ design: "Spectre",
+ regnum: "682" },
+
+ unit: {
+ name: "Simmons",
+ design: "Spectre",
+ regnum: "687" },
+}
+
+group: {
+ type: attack_squadron,
+ id: 112,
+ name: "Warbirds",
+ intel: known,
+ iff: 1,
+ region: "Janek",
+ loc: (-144e3, 45e3, 0),
+ parent_type: carrier_group,
+ parent_id: 6,
+
+ unit: {
+ name: "Warbird",
+ design: "Stormhawk",
+ count: 20 },
+}
+
+group: {
+ type: fighter_squadron,
+ id: 36,
+ name: "Stallions",
+ intel: known,
+ iff: 1,
+ region: "Janek",
+ loc: (-169e3, 60e3, 0),
+ parent_type: carrier_group,
+ parent_id: 6,
+
+ unit: {
+ name: "Stallion",
+ design: "Stormhawk",
+ count: 20 },
+}
+
+group: {
+ type: fighter_squadron,
+ id: 37,
+ name: "Avengers",
+ intel: known,
+ iff: 1,
+ region: "Janek",
+ loc: (-163e3, 107e3, 0),
+ parent_type: carrier_group,
+ parent_id: 6,
+
+ unit: {
+ name: "Avenger",
+ design: "Stormhawk",
+ count: 20 },
+}
+
+group: {
+ type: lca_squadron,
+ id: 101,
+ name: "Starlifters",
+ intel: known,
+ iff: 1,
+ region: "Janek",
+ loc: (-71e3, 136e3, 0),
+ parent_type: carrier_group,
+ parent_id: 6,
+
+ unit: {
+ name: "Starlifters",
+ design: "Zodiac",
+ count: 8 },
+}
+
+group: {
+ type: battle_group,
+ id: 9,
+ name: "Onslaught",
+ intel: known,
+ iff: 1,
+ region: "Vail",
+ loc: (-109e3, -77e3, 0),
+ parent_type: fleet,
+ parent_id: 3,
+
+ unit: {
+ name: "Onslaught",
+ design: "Spectre",
+ regnum: "406" },
+
+ unit: {
+ name: "Redstone",
+ design: "Courageous",
+ regnum: "534" },
+
+ unit: {
+ name: "Raven",
+ design: "Spectre",
+ regnum: "692" },
+
+ unit: {
+ name: "Hemmet",
+ design: "Berents",
+ regnum: "923" },
+}
+
+group: {
+ type: battle_group,
+ id: 10,
+ name: "Predator",
+ intel: known,
+ iff: 1,
+ region: "Navara",
+ loc: (30e3, 180e3, -6e3),
+ parent_type: fleet,
+ parent_id: 3,
+
+ unit: {
+ name: "Predator",
+ design: "Spectre",
+ regnum: "411" },
+
+ unit: {
+ name: "Audacious",
+ design: "Courageous",
+ regnum: "539" },
+
+ unit: {
+ name: "Brunner",
+ design: "Spectre",
+ regnum: "697" },
+
+ unit: {
+ name: "Essex",
+ design: "Berents",
+ regnum: "928" },
+}
+
+group: {
+ type: destroyer_squadron,
+ id: 43,
+ name: "Shadow",
+ intel: known,
+ iff: 1,
+ region: "Vail",
+ loc: (-109e3, 51e3, 0),
+ parent_type: fleet,
+ parent_id: 3,
+
+ unit: {
+ name: "Shadow",
+ design: "Spectre",
+ regnum: "352" },
+
+ unit: {
+ name: "Necromancer",
+ design: "Spectre",
+ regnum: "357" },
+
+ unit: {
+ name: "Belfast",
+ design: "Berents",
+ regnum: "913" },
+
+ unit: {
+ name: "Canton",
+ design: "Berents",
+ regnum: "918" },
+}
+
+group: {
+ type: destroyer_squadron,
+ id: 44,
+ name: "Hydra",
+ intel: known,
+ iff: 1,
+ region: "Alystra",
+ loc: (93e3, -101e3, 0),
+ parent_type: fleet,
+ parent_id: 3,
+
+ unit: {
+ name: "Hydra",
+ design: "Spectre",
+ regnum: "362" },
+
+ unit: {
+ name: "Banshee",
+ design: "Spectre",
+ regnum: "367" },
+
+ unit: {
+ name: "Canton",
+ design: "Berents",
+ regnum: "918" },
+}
+
+group: {
+ type: destroyer_squadron,
+ id: 60,
+ name: "Gunther",
+ intel: known,
+ iff: 1,
+ region: "Alystra",
+ loc: (55e3, 71e3, 0),
+ parent_type: fleet,
+ parent_id: 3,
+
+ unit: {
+ name: "Gunther",
+ design: "Spectre",
+ regnum: "702" },
+
+ unit: {
+ name: "Fletcher",
+ design: "Spectre",
+ regnum: "707" },
+
+ unit: {
+ name: "Rainier",
+ design: "Berents",
+ regnum: "933" },
+
+ unit: {
+ name: "Tanner",
+ design: "Berents",
+ regnum: "938" },
+}
+
+group: {
+ type: civilian,
+ id: 1000,
+ name: "Civilian Forces",
+ intel: known,
+ iff: 1,
+ loc: (0, 0, 0),
+ parent_type: force,
+ parent_id: 1,
+}
+
+group: {
+ type: war_production,
+ id: 2000,
+ name: "War Production",
+ intel: known,
+ iff: 1,
+ loc: (0, 0, 0),
+ parent_type: civilian,
+ parent_id: 1000,
+}
+
+group: {
+ type: resource,
+ id: 3000,
+ name: "Tantalum Mining Station",
+ intel: known,
+ iff: 1,
+ region: "Janek Station",
+ loc: (0, 0, 0),
+ parent_type: war_production,
+ parent_id: 2000,
+}
+
+group: {
+ type: network,
+ id: 3001,
+ name: "Administration",
+ intel: known,
+ iff: 1,
+ region: "Janek Station",
+ loc: (-71e3, 21e3, 0),
+ parent_type: resource,
+ parent_id: 3000,
+
+ unit: {
+ name: "Administration",
+ design: "Bldg00",
+ regnum: "" },
+}
+
+group: {
+ type: refinery,
+ id: 3002,
+ name: "Refinery",
+ intel: known,
+ iff: 1,
+ region: "Janek Station",
+ loc: (-77e3, 39e3, 0),
+ parent_type: resource,
+ parent_id: 3000,
+
+ unit: {
+ name: "Refinery",
+ design: "Bldg01",
+ regnum: "" },
+
+ unit: {
+ name: "Cooling Tower",
+ design: "Cool00",
+ count: 3 },
+
+ unit: {
+ name: "Cryo Tank",
+ design: "Tank00",
+ count: 2 },
+}
+
+group: {
+ type: resource,
+ id: 3011,
+ name: "Factory",
+ intel: known,
+ iff: 1,
+ region: "Janek Station",
+ loc: (-55e3, 48e3, 0),
+ parent_type: resource,
+ parent_id: 3000,
+
+ unit: {
+ name: "Factory Tower",
+ design: "Fact00",
+ regnum: "000" },
+
+ unit: {
+ name: "Processing Plant",
+ design: "Fact01",
+ regnum: "000" },
+}
+
+group: {
+ type: non_com,
+ id: 2000,
+ name: "Freight",
+ intel: known,
+ iff: 1,
+ loc: (0, 0, 0),
+ parent_type: civilian,
+ parent_id: 1000,
+}
+
+group: {
+ type: freight,
+ id: 3000,
+ name: "Star Freight",
+ intel: known,
+ iff: 1,
+ region: "Navara",
+ loc: (0, 0, 0),
+ parent_type: non_com,
+ parent_id: 2000,
+
+ unit: {
+ name: "Ecliptic",
+ design: "TypeIII",
+ regnum: "1919" },
+
+ unit: {
+ name: "Rand",
+ design: "TypeIII",
+ regnum: "2207" },
+}
+
diff --git a/data/shatter/Campaigns/01/zones.def b/data/shatter/Campaigns/01/zones.def
new file mode 100644
index 0000000..ee3adf7
--- /dev/null
+++ b/data/shatter/Campaigns/01/zones.def
@@ -0,0 +1,32 @@
+ZONES
+
+zone: {
+ system: Janus,
+ region: "Ilon"
+}
+
+zone: {
+ system: Janus,
+ region: "Dante"
+}
+
+zone: {
+ system: Janus,
+ region: "Janek",
+ region: "Janek Station",
+}
+
+zone: {
+ system: Janus,
+ region: "Alystra",
+}
+
+zone: {
+ system: Janus,
+ region: "Navara",
+}
+
+zone: {
+ system: Janus,
+ region: "Vail",
+}