summaryrefslogtreecommitdiffhomepage
path: root/data/content/Campaigns/02
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-02-06 19:14:54 +0100
committerAki <please@ignore.pl>2022-02-06 19:16:34 +0100
commitd289918bfdf7635ec3bb2c94d8255da2b2572aea (patch)
tree6e9143cbfd63fd0e6a674d37a51a58ea85882929 /data/content/Campaigns/02
parentba64478a1aa1740da47ff0016dff6cc633900b73 (diff)
downloadstarshatter-d289918bfdf7635ec3bb2c94d8255da2b2572aea.zip
starshatter-d289918bfdf7635ec3bb2c94d8255da2b2572aea.tar.gz
starshatter-d289918bfdf7635ec3bb2c94d8255da2b2572aea.tar.bz2
Added datafiles to the repository
This includes only text files from the most common distribution of content.dat and shatter.dat.
Diffstat (limited to 'data/content/Campaigns/02')
-rw-r--r--data/content/Campaigns/02/Actions/01-campaign-start.txt5
-rw-r--r--data/content/Campaigns/02/Actions/02-coup-failure.txt5
-rw-r--r--data/content/Campaigns/02/Actions/03-blockade-broken.txt5
-rw-r--r--data/content/Campaigns/02/Actions/03a-minefield-a.txt4
-rw-r--r--data/content/Campaigns/02/Actions/03a-minefield-b.txt4
-rw-r--r--data/content/Campaigns/02/Actions/03a-minefield-c.txt4
-rw-r--r--data/content/Campaigns/02/Actions/03a-minefield-d.txt4
-rw-r--r--data/content/Campaigns/02/Actions/03a-minefield-e.txt4
-rw-r--r--data/content/Campaigns/02/Actions/04-harmony-risk.txt17
-rw-r--r--data/content/Campaigns/02/Actions/05-foothill-ridge.txt17
-rw-r--r--data/content/Campaigns/02/Actions/06-renser-buildup.txt14
-rw-r--r--data/content/Campaigns/02/Actions/07-research-lab.txt5
-rw-r--r--data/content/Campaigns/02/Actions/08-renser-accusation.txt5
-rw-r--r--data/content/Campaigns/02/Actions/09-senate-resolution.txt7
-rw-r--r--data/content/Campaigns/02/Actions/10-renser-arrival.txt14
-rw-r--r--data/content/Campaigns/02/Actions/11-dantari-pullback.txt16
-rw-r--r--data/content/Campaigns/02/Actions/11a-goliath.txt4
-rw-r--r--data/content/Campaigns/02/Actions/11a-kendra.txt4
-rw-r--r--data/content/Campaigns/02/Actions/11a-kitts.txt4
-rw-r--r--data/content/Campaigns/02/Actions/11a-wolf.txt4
-rw-r--r--data/content/Campaigns/02/Actions/12-cease-fire.txt7
-rw-r--r--data/content/Campaigns/02/Actions/13-renser-invasion.txt13
-rw-r--r--data/content/Campaigns/02/Actions/campaign_end.txt5
-rw-r--r--data/content/Campaigns/02/Actions/def1.txt3
-rw-r--r--data/content/Campaigns/02/Actions/def2.txt3
-rw-r--r--data/content/Campaigns/02/Actions/m1-catching-up.txt21
-rw-r--r--data/content/Campaigns/02/Actions/m2-new-digs.txt22
-rw-r--r--data/content/Campaigns/02/Actions/m3-why-renser.txt18
-rw-r--r--data/content/Campaigns/02/Scenes/01-News-Start.def262
-rw-r--r--data/content/Campaigns/02/Scenes/02-Coup-Failure.def219
-rw-r--r--data/content/Campaigns/02/Scenes/03-Blockade-Broken.def299
-rw-r--r--data/content/Campaigns/02/Scenes/04-Harmony-Risk.def175
-rw-r--r--data/content/Campaigns/02/Scenes/05-Foothill-Ridge.def350
-rw-r--r--data/content/Campaigns/02/Scenes/06-Renser-Buildup.def122
-rw-r--r--data/content/Campaigns/02/Scenes/07-Research-Lab.def226
-rw-r--r--data/content/Campaigns/02/Scenes/08-Renser-Accusation.def183
-rw-r--r--data/content/Campaigns/02/Scenes/09-Senate-Resolution.def179
-rw-r--r--data/content/Campaigns/02/Scenes/10-Renser-Arrival.def162
-rw-r--r--data/content/Campaigns/02/Scenes/11-Dantari-Pullback.def234
-rw-r--r--data/content/Campaigns/02/Scenes/12-Cease-Fire.def312
-rw-r--r--data/content/Campaigns/02/Scenes/13-Renser-Invasion.def174
-rw-r--r--data/content/Campaigns/02/Scenes/Defeat1.def74
-rw-r--r--data/content/Campaigns/02/Scenes/Defeat2.def99
-rw-r--r--data/content/Campaigns/02/Scenes/M1-Catching-Up.def58
-rw-r--r--data/content/Campaigns/02/Scenes/M2-New-Digs.def46
-rw-r--r--data/content/Campaigns/02/Scenes/M3-Why-Renser.def46
-rw-r--r--data/content/Campaigns/02/Scenes/Victory1.def94
-rw-r--r--data/content/Campaigns/02/Templates/DS_Escort_03.def175
-rw-r--r--data/content/Campaigns/02/Templates/FS_Escort_01.def222
-rw-r--r--data/content/Campaigns/02/Templates/FS_Escort_02.def255
-rw-r--r--data/content/Campaigns/02/Templates/FS_Patrol_01.def135
-rw-r--r--data/content/Campaigns/02/Templates/FS_Patrol_02.def123
-rw-r--r--data/content/Campaigns/02/Templates/FS_Patrol_03.def119
-rw-r--r--data/content/Campaigns/02/Templates/FS_Patrol_HS.def198
-rw-r--r--data/content/Campaigns/02/Templates/IS_Escort_01.def222
-rw-r--r--data/content/Campaigns/02/Templates/IS_Escort_02.def255
-rw-r--r--data/content/Campaigns/02/Templates/IS_Patrol_01.def135
-rw-r--r--data/content/Campaigns/02/Templates/IS_Patrol_02.def123
-rw-r--r--data/content/Campaigns/02/Templates/IS_Patrol_03.def119
-rw-r--r--data/content/Campaigns/02/Templates/IS_Patrol_HS.def198
-rw-r--r--data/content/Campaigns/02/campaign.def1153
61 files changed, 6984 insertions, 0 deletions
diff --git a/data/content/Campaigns/02/Actions/01-campaign-start.txt b/data/content/Campaigns/02/Actions/01-campaign-start.txt
new file mode 100644
index 0000000..79de975
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/01-campaign-start.txt
@@ -0,0 +1,5 @@
+SOLUS - The Provisional Security Directorate of the Independent System of Solus formally requested military assistance from Terellian Alliance Force:Command this morning. Special couriers ran the Trellis blockade to deliver the message to the Force outpost in the nearby Janek system. "The official government of this system has been cut off by the illegal blockade of the Trellis Farcaster," said Adminstrator Lars of the Directorate. "We have suffered a great deal of damage in the fighting, and we need help to reestablish basic services here."
+
+Solus has been ripped nearly in two by the bloody civil war that erupted between the Loyalist and Separatist factions of the system government. Dantari Separatists under the leadership of Senator Masil Gannet, after months of pressing for an official alliance with the Hegemony Prefecture of Renser, have seized much of the Solus star fleet and taken control of the outer worlds of Trellis and Jalah. The Loyalist faction, although still technically in control of the official goverment, has been trapped on the inner planets Solus and Meridian.
+
+The Separatist blockade of the Trellis Farcaster has also taken a toll on the many Alliance citizens in the Solus system. Several Terellian companies maintain major offices on the capitol world itself, and Tal Vesta University runs a stellar observatory near the planet Meridian. An estimated 375,000 Terellians are trapped by the blockade. So far they have been unable to convince the Dantari Separatists to grant them safe passage back to the main Alliance systems.
diff --git a/data/content/Campaigns/02/Actions/02-coup-failure.txt b/data/content/Campaigns/02/Actions/02-coup-failure.txt
new file mode 100644
index 0000000..0033e2f
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/02-coup-failure.txt
@@ -0,0 +1,5 @@
+TELMERA CITY, SOLUS - An attempted palace coup by Dantari agents was thwarted by alert members of the Provisional Security Directorate early this morning. Separatist agents, working from a secret base near the capitol offices, succeeded in destroying the executive suite of the presidential palace.
+
+Security service members discovered the bomb only moments before it was detonated and were able to escort President Marish and his party to an undisclosed safe location. Senators Hamil and Covanon who were to attend a working breakfast with the President were killed in the blast, as were two security service agents who died trying to protect them. Memorial services for all four men are planned for later in the week.
+
+Speaking on behalf of President Marish, executive spokesperson Cyn Talban affirmed that the central government had not been struck down by the terrorist-style attack. "We are still very much open for business. President Marish is meeting with security advisors at this hour, and he will be holding a press conference from the safehouse later this morning to address your questions and concerns." \ No newline at end of file
diff --git a/data/content/Campaigns/02/Actions/03-blockade-broken.txt b/data/content/Campaigns/02/Actions/03-blockade-broken.txt
new file mode 100644
index 0000000..8a3c4b2
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/03-blockade-broken.txt
@@ -0,0 +1,5 @@
+TRELLIS - The Alliance Third Fleet has broken the blockade of the Trellis-Solus Farcaster network, a Force:Command spokesperson has announced. The minefields surrounding the Farcaster terminus have been cleared, and several Separatist squadrons have been eliminated or greatly reduced in strength.
+
+Theater commander Admiral Evars has given official authorization for the commencement of humanitarian aid traffic to the inner planets. Certified non-governmental agencies delivering food, clothing, medicines, and emergency equipment will receive protective escorts by warships from the Third Fleet.
+
+"Although the blockade has been broken, there are still several hostile squadrons in operation near the outer worlds. We strongly recommend that only emergency traffic be routed through the Trellis sector. Civilian ships are advised to avoid the area until the threat can be assessed and appropriate actions taken," Evars was quoted as saying. \ No newline at end of file
diff --git a/data/content/Campaigns/02/Actions/03a-minefield-a.txt b/data/content/Campaigns/02/Actions/03a-minefield-a.txt
new file mode 100644
index 0000000..4b70700
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/03a-minefield-a.txt
@@ -0,0 +1,4 @@
+MISSION: Strike, Trellis Sector
+
+Terellian Alliance 112th Attack Squadron "Warbirds" successfully cleared the Dantari Separatists Minefield A near the Trellis-Solus Farcaster. No allied losses were reported.
+
diff --git a/data/content/Campaigns/02/Actions/03a-minefield-b.txt b/data/content/Campaigns/02/Actions/03a-minefield-b.txt
new file mode 100644
index 0000000..0b70a24
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/03a-minefield-b.txt
@@ -0,0 +1,4 @@
+MISSION: Strike, Trellis Sector
+
+Terellian Alliance 112th Attack Squadron "Warbirds" successfully cleared the Dantari Separatists Minefield B near the Trellis-Solus Farcaster. No allied losses were reported.
+
diff --git a/data/content/Campaigns/02/Actions/03a-minefield-c.txt b/data/content/Campaigns/02/Actions/03a-minefield-c.txt
new file mode 100644
index 0000000..2c47b8b
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/03a-minefield-c.txt
@@ -0,0 +1,4 @@
+MISSION: Strike, Trellis Sector
+
+Terellian Alliance 112th Attack Squadron "Warbirds" successfully cleared the Dantari Separatists Minefield C near the Trellis-Solus Farcaster. No allied losses were reported.
+
diff --git a/data/content/Campaigns/02/Actions/03a-minefield-d.txt b/data/content/Campaigns/02/Actions/03a-minefield-d.txt
new file mode 100644
index 0000000..6c7b9b6
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/03a-minefield-d.txt
@@ -0,0 +1,4 @@
+MISSION: Strike, Trellis Sector
+
+Terellian Alliance 112th Attack Squadron "Warbirds" successfully cleared the Dantari Separatists Minefield D near the Trellis-Solus Farcaster. No allied losses were reported.
+
diff --git a/data/content/Campaigns/02/Actions/03a-minefield-e.txt b/data/content/Campaigns/02/Actions/03a-minefield-e.txt
new file mode 100644
index 0000000..b86500e
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/03a-minefield-e.txt
@@ -0,0 +1,4 @@
+MISSION: Strike, Trellis Sector
+
+Terellian Alliance 112th Attack Squadron "Warbirds" successfully cleared the Dantari Separatists Minefield E near the Trellis-Solus Farcaster. No allied losses were reported.
+
diff --git a/data/content/Campaigns/02/Actions/04-harmony-risk.txt b/data/content/Campaigns/02/Actions/04-harmony-risk.txt
new file mode 100644
index 0000000..f63463a
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/04-harmony-risk.txt
@@ -0,0 +1,17 @@
+*************************************
+*** FLASH CODED +$TIME
+*** HARMONY STATION
+*** KALON SECTOR
+*** CLASSIFIED: SECRET R3 NTK
+*************************************
+
+Force:Intel assessment of risk to Harmony Station: Threat Level Gamma (Severe)
+
+Field agents have intercepted communications believed to be for Dantari Separatist strike teams in the Solus or Kalon sectors. COMINT has completed first (partial) decoding of intercepted transmissions, and believes there is a credible threat to High Value Assets (HVAs) in Solus and Kalon sectors. Specific times, targets, and methods remain unknown.
+
+Force:Intel recommends additional Force:Space patrols be assigned to the Kalon sector pending further analysis of intercepted transmissions. Harmony Station in Kalon orbit would make an extremely choice target for a separatist strike.
+
+---
+Kash Anlon, Force:Intel Second Directorate
+
+*************************************
diff --git a/data/content/Campaigns/02/Actions/05-foothill-ridge.txt b/data/content/Campaigns/02/Actions/05-foothill-ridge.txt
new file mode 100644
index 0000000..0624922
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/05-foothill-ridge.txt
@@ -0,0 +1,17 @@
+*************************************
+*** FLASH CODED +$TIME
+*** FOOTHILL RIDGE
+*** TELMERA SECTOR
+*** CLASSIFIED: SECRET R5 NTK
+*************************************
+
+Dantari Separatist base discovered on Solus
+
+Force:Intel field agents have uncovered a Separatist military base in the city of Foothill Ridge near Telmera on Solus. The encampment consists of an operational airbase, reactor complex, weapons bunkers, and an unknown complement of starfighters and personnel. The Foothill Ridge Base is protected by a series of AAA and SAM batteries in the hills surrounding the city.
+
+Force:Intel recommends Force:Space deploy a package of air strikes to reduce the fixed weapon emplacements and the airbase. The reactor complex does not appear to be needed for civilian power in the Foothill Ridge area. However, the reactor poses an unknown danger to the area of radiation and toxic chemical contamination if it is destroyed using air-to-ground weapons, so you will need to be careful when you prosecute your ground strikes.
+
+---
+Kash Anlon, Force:Intel Second Directorate
+
+*************************************
diff --git a/data/content/Campaigns/02/Actions/06-renser-buildup.txt b/data/content/Campaigns/02/Actions/06-renser-buildup.txt
new file mode 100644
index 0000000..1bee82b
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/06-renser-buildup.txt
@@ -0,0 +1,14 @@
+STRATPLAN BRIEFING
+Timestamp: $TIME
+Subject: Renser Fleet Mobilization
+Classified: CONFIDENTIAL DND/CRYPTO
+
+Force:Space long range sensor patrols report probable fleet buildup in the Hegemony system of Renser. Ship movement in the system has increased by 137% in the past twenty hours.
+
+Mass density analysis indicates several ships have left berths in the Lornas asteroid belt. Lornas Sector contains the major outer reserve naval yards for the Renser system. Common displacement includes Broadsword Class Destroyer Squadrons and Dragon Class Carrier Groups. Force:Intel COMINT reports increased signal activity in the Khaital Sector staging area. The Renser central capitol has been placed on heightened security awareness.
+
+Tactical Planning Analysis suggests 50% probability of Renser mobilization to Solus system within the next twenty hours. Probability of mobilization within the next fifty hours is estimated to be greater than 80%.
+
+Vice Admiral Caldott,
+FORCOM STRATPLAN
+
diff --git a/data/content/Campaigns/02/Actions/07-research-lab.txt b/data/content/Campaigns/02/Actions/07-research-lab.txt
new file mode 100644
index 0000000..0b600e0
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/07-research-lab.txt
@@ -0,0 +1,5 @@
+MERIDIAN - The Tal Vesta University Stellar Observatory in Meridian orbit has been cut off by Separatist patrols and is facing severe shortages of food and consumable supplies. University staff indicate that the fusion plant on the observatory is still operational, and that basic life support functions - water, air, and power - are not an immediate concern. "Mainly, the students are just hungry. And frustrated," said Research Coordinator Alen Tolap.
+
+Student researchers living at the observatory are protesting the ongoing civil war. Native Solusans, ethnic Dantari, and even many Terellian Alliance students have issued a joint statement condemning the conflict and demanding the resumption of peaceful negotiations. Thus far, neither party in the conflict has commented on the student protests.
+
+Alliance Theater Command has promised to make humanitarian aid to the Meridian sector a top priority. "We'll find a way to feed these kids," Fleet Admiral Evars was quoted as saying. "There's nothing more ornery than a bunch of hungry college students."
diff --git a/data/content/Campaigns/02/Actions/08-renser-accusation.txt b/data/content/Campaigns/02/Actions/08-renser-accusation.txt
new file mode 100644
index 0000000..a634d33
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/08-renser-accusation.txt
@@ -0,0 +1,5 @@
+CITY OF ULNAR, RENSER - The Renser Secretary of Intersystem Affairs issued a statement this evening accusing the Terellian Alliance of committing illegal acts of agression in the Solus Conflict.
+
+"External involvement in this civil conflict is a clear violation of the Korian Treaty. Alliance actions are a threat to Solusan sovereignty, and constitute a clear and present danger to the security of the Prefecture of Renser. Strong measures may be taken to restore normal discourse in Solus."
+
+Policy analysts believe that this statement amounts to diplomatic code words for the commencement of Renser military action in the Solusan conflict. The statement does not set a timeline for events, but the general feeling is that something is going to happen sooner rather than later.
diff --git a/data/content/Campaigns/02/Actions/09-senate-resolution.txt b/data/content/Campaigns/02/Actions/09-senate-resolution.txt
new file mode 100644
index 0000000..082adab
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/09-senate-resolution.txt
@@ -0,0 +1,7 @@
+ALLIANCE CAPITOL, JARNELL - Alliance government officials wasted no time in responding to the accusations of illegality made yesterday by the Renser Secretary of Intersystem Affairs. The Combined Senate passed resolution SR498/37 censuring the Prefecture of Renser and warning of possible reprisals should Hegemony forces become involved in the Solusan Conflict.
+
+"The Alliance has undertaken Operation Highland for the specific purposes of safeguarding our citizens in the Solus system and providing humanitarian aid to those civilians who have been hardest hit by the blockade of the inner worlds. These actions have been carried out in strict accord with Korian Treaty provisions, and we resent the implication that the Alliance has Imperial designs on our neighbors."
+
+Several anonymous sources have hinted that there may be more to this conflict than is immediately apparent. Rumors of an Hegemony fleet buildup in Renser have leaked from Force:Command Headquarters. Others have expressed suspicions regarding the breakdown of peaceful negotiations between the Loyalist and Separatist factions that directly led to the current hostilities.
+
+Military analysts are predicting that although widening of the Solusan Conflict to include Renser was unexpected and is undesirable, it may soon become unavoidable. Alliance forces appear to have gained the upper hand in some of the fiercest fighting of the war to date. A Force:Space garrison, once established in the Solus system, would be within easy striking distance of Renser. That is a situation that no Hegemony border world would be willing to tolerate.
diff --git a/data/content/Campaigns/02/Actions/10-renser-arrival.txt b/data/content/Campaigns/02/Actions/10-renser-arrival.txt
new file mode 100644
index 0000000..18f0ac4
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/10-renser-arrival.txt
@@ -0,0 +1,14 @@
+STRATPLAN BRIEFING
+Timestamp: $TIME
+Subject: Hegemony Task Force TF4.3
+Classified: CONFIDENTIAL DND/CRYPTO
+
+A task force (TF4.3) from the Hegemony Fourth Fleet "Manticore" has successfully translated in system and is currently staging through Jalah Sector. The task force appears to have bypassed the Trellis Sector entirely, somehow translating directly into Jalah orbit. This may have been achieved by first staging beyond the outer Oort cloud before attempting the final jump.
+
+Hegemony TF4.3 is composed of one Dragon class CVBG led by CV-7A4 Manticore, and Broadsword class DESRONs 25 and 26 led by DD-3C40 Claymore and DD-3C42 Ironhelm, respectively. The Dragon class carrier groups generally field a full complement of intercept, fighter, and attack squadrons, and we believe that TF4.3 is no exception. On paper, this makes TF4.3 heavier than the Alliance forces assigned to the Solus system. We have requested a Spectre class DESRON from Fleet to help shore us up, but we are unsure as to how long they will take to arrive.
+
+On the plus side, we have the advantage of maneuverability for the moment. Now that they are here, TF4.3 will need some time to get organized and integrated with the Dantari fleet framework. If they did in fact take two jumps to translate to Jalah, they will need to UNREP before they are ready to fight. Either way, they will likely be tied up near Fort Talas in Jalah Sector for at least fifteen to twenty more hours.
+
+Vice Admiral Caldott,
+FORCOM STRATPLAN
+
diff --git a/data/content/Campaigns/02/Actions/11-dantari-pullback.txt b/data/content/Campaigns/02/Actions/11-dantari-pullback.txt
new file mode 100644
index 0000000..3b2369f
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/11-dantari-pullback.txt
@@ -0,0 +1,16 @@
+STRATPLAN BRIEFING
+Timestamp: $TIME
+Subject: Separatist Withdrawal to Jalah
+Classified: CONFIDENTIAL DND/CRYPTO
+
+All mobile Separatist forces have withdrawn from the inner planets to Jalah Sector. We believe they plan to regroup and integrate with Hegemony TF4.3 before resuming the offensive in the Solus and Omane Sectors. Alliance forces have been doing an excellent job of reducing Separatist fleet strength, and Loyalist security forces believe that they can handle the job of cleaning up the remaining ground based Separatist units.
+
+However, the combined weight of Hegemony and Separatist forces will very likely overmatch our capabilities. We have received word that Spectre-class DESRON 43 "Shadow" has been assigned to the Solusan conflict, but they will not arrive for at least another fifteen hours.
+
+In the meantime, our plan is to strike the Separatist forces at Jalah before they can regroup. If we can keep them off balance in a defensive posture there, we believe they will be prevented from mounting an effective attack on Solus.
+
+Simulations suggest that the combined force will try to regroup near Fort Talas Station, using its air cover and defensive fire to protect the fleet. Remember that our primary objective is to cripple the Separatist fleet, not the Hegemony Task Force, and definitely not the station. Fort Talas belongs to the Solusan government, and is their primary defensive outpost in the outer worlds. The station will be vital to their defensive plans after this conflict is over, so we must not cause any more damage to it than absolutely necessary.
+
+Vice Admiral Caldott,
+FORCOM STRATPLAN
+
diff --git a/data/content/Campaigns/02/Actions/11a-goliath.txt b/data/content/Campaigns/02/Actions/11a-goliath.txt
new file mode 100644
index 0000000..3b2011a
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/11a-goliath.txt
@@ -0,0 +1,4 @@
+MISSION: Assault, Jalah Sector
+
+Terellian Alliance 43rd DESRON "Shadow" successfully eliminated Dantari Separatists 5th Carrier Group "Goliath" in Jalah Sector. No allied losses were reported.
+
diff --git a/data/content/Campaigns/02/Actions/11a-kendra.txt b/data/content/Campaigns/02/Actions/11a-kendra.txt
new file mode 100644
index 0000000..31ac444
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/11a-kendra.txt
@@ -0,0 +1,4 @@
+MISSION: Assault, Jalah Sector
+
+Terellian Alliance 43rd DESRON "Shadow" successfully eliminated Dantari Separatists 7th DESRON "Kendra" in Jalah Sector. No allied losses were reported.
+
diff --git a/data/content/Campaigns/02/Actions/11a-kitts.txt b/data/content/Campaigns/02/Actions/11a-kitts.txt
new file mode 100644
index 0000000..3d93a56
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/11a-kitts.txt
@@ -0,0 +1,4 @@
+MISSION: Assault, Jalah Sector
+
+Terellian Alliance 43rd DESRON "Shadow" successfully eliminated Dantari Separatists 6th DESRON "Kitts" in Jalah Sector. No allied losses were reported.
+
diff --git a/data/content/Campaigns/02/Actions/11a-wolf.txt b/data/content/Campaigns/02/Actions/11a-wolf.txt
new file mode 100644
index 0000000..a51dcaf
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/11a-wolf.txt
@@ -0,0 +1,4 @@
+MISSION: Assault, Jalah Sector
+
+Terellian Alliance 43rd DESRON "Shadow" successfully eliminated Dantari Separatists 5th DESRON "Wolf" in Jalah Sector. No allied losses were reported.
+
diff --git a/data/content/Campaigns/02/Actions/12-cease-fire.txt b/data/content/Campaigns/02/Actions/12-cease-fire.txt
new file mode 100644
index 0000000..71fd6be
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/12-cease-fire.txt
@@ -0,0 +1,7 @@
+TELMERA CITY, SOLUS - Guns are falling silent throughout the Solus System in accordance with a cease-fire agreement between the Solusan government and the Separatist faction that have been locked in a violent civil war for control of the region. ISS President Marish and newly-appointed leader of the Separatist movement Ayn Toran signed the agreement in the recently repaired presidential palace as Terellian Alliance Fleet Admiral A. Evars looked on. Notably absent from the signing ceremony was former Separatist leader Masil Gannet, who is believed to have fled the system to return to his native Adantar in the Korius System.
+
+The cease-fire agreement has sparked hopes for a lasting peace in this war-torn region that has suffered unprecedented levels of bloodshed in a very short period of time. The pact is the first step to renewed peace talks to address the fair settlement of ethnic Dantari throughout the system.
+
+The deal calls for an open-ended cease-fire between both parties, with independent observers from the nearby system of Silessia to monitor the situation until more permanent agreements can be implemented. The details of the cease-fire agreement have not yet been made public.
+
+Pursuant to the cease-fire arrangement, Hegemony Fleet Task Force TF4.3 is standing down and will abandon the system within hours. The Terellian Alliance Task Force that has been assisting the official Solusan Government is also making plans to leave the region.
diff --git a/data/content/Campaigns/02/Actions/13-renser-invasion.txt b/data/content/Campaigns/02/Actions/13-renser-invasion.txt
new file mode 100644
index 0000000..1916a67
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/13-renser-invasion.txt
@@ -0,0 +1,13 @@
+The PRESIDENT of the TERELLIAN ALLIANCE :
+
+My fellow citizens, at this hour, Force:Space units are in the early stages of military operations to disarm the Hegemony Prefecture of Renser and eliminate a grave threat to the peace and stability of the Terellian Alliance and the Independent Systems of the blue drift.
+
+On my orders, under the authority granted to this office by Combined Senate Resolution SR498/37, Alliance forces have begun striking specific military targets in the Renser System to undermine that government's ability to wage agressive war on her neighbors. The victory of the Solusan people in Operation Highland can not be complete until the hard won peace has been made secure.
+
+Now, that peace is gravely threatened by the armed might of the Hegemony. In fact, we have evidence that the entire Solusan affair was instigated by agents of Renser Prefecture, including former Separatist Leader Masil Gannet.
+
+To all the men and women of the various branches of Force now serving in the Renser Theater of Operations, the peace of a troubled region, and the hope for prosperity of all its free people now depend on you, on your determination, and on your abilities. We trust in your abilities and your resolve, and we know that our trust is well placed.
+
+Now that this stage of the conflict has come, the only way to limit its duration is to apply decisive force. And I assure you, this will not be a campaign of half measures. We will accept no outcome save victory.
+
+Thank you, and good evening. \ No newline at end of file
diff --git a/data/content/Campaigns/02/Actions/campaign_end.txt b/data/content/Campaigns/02/Actions/campaign_end.txt
new file mode 100644
index 0000000..1b299b9
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/campaign_end.txt
@@ -0,0 +1,5 @@
+Alliance forces have completed operations in the Solus-Renser Theater. Hegemony resistance has been broken and the Prefect of Renser is meeting with the Alliance Provisional Consulate at this hour to establish terms for a cease-fire and eventual non-agression pact.
+
+All Force:Space units in Third Fleet will be withdrawing from Renser space to predetermined guard points in the surrounding systems. Force:Command expects to be able to rotate your unit back to home space within a few weeks for replenishment and shore leave.
+
+Well done, Commander! \ No newline at end of file
diff --git a/data/content/Campaigns/02/Actions/def1.txt b/data/content/Campaigns/02/Actions/def1.txt
new file mode 100644
index 0000000..32f3a25
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/def1.txt
@@ -0,0 +1,3 @@
+Operation Highland has failed to secure the peace. Alliance losses have been severe. The Presdient, with the approval of the Combined Senate, has ordered an immediate withdrawal of all Force units from the Solus-Renser Theater. Civilian casualties are estimated at more than 10,000 dead and 52,000 injured or missing.
+
+At least one additional fleet is being mobilized from the Hegemony system of Korius. Force:Command expects that they will translate in system within forty hours. At that time, the Independent System of Solus will be brought under the direct control of the Marakan Hegemony. \ No newline at end of file
diff --git a/data/content/Campaigns/02/Actions/def2.txt b/data/content/Campaigns/02/Actions/def2.txt
new file mode 100644
index 0000000..867e70f
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/def2.txt
@@ -0,0 +1,3 @@
+Operation Highland has failed in its mission to secure the peace. Alliance losses in the Renser system have been severe, including the loss of the Fleet Carrier Battle Group Archon. The President, with the approval of the Combined Senate, has ordered the immediate withdrawal of all remaining Force:Space units from the Prefecture of Renser.
+
+At least one additional Hegemony fleet is being mobilized from the Korius System. We can only hope that this failure does not result in the unilateral escalation on the part of Hegemony forces... \ No newline at end of file
diff --git a/data/content/Campaigns/02/Actions/m1-catching-up.txt b/data/content/Campaigns/02/Actions/m1-catching-up.txt
new file mode 100644
index 0000000..dc96f62
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/m1-catching-up.txt
@@ -0,0 +1,21 @@
+TO: $RANK $NAME
+CO: $GROUP
+FM: Capt. Jonas Devlin - Magellan IV
+RE: CATCHING UP
+-----
+PATH: Magellan IV Shipboard | Loris Station | Northeast Transceiver 4 | Silessian Outer Relay | Silessian Inner Relay | Janek Station Courier Drop | 3RD FLEET HQ | Trellis Relay | $GROUP
+-----
+
+Hey Mate!
+
+I just heard about your promotion and wanted to say congratulations! Sorry I didn't get to give you a proper send-off before you shipped out.
+
+So, the Force brass is starting to recognize your 'unique talents,' eh? You should have followed in my footsteps and joined the Independent Trade fleet. Too bad you had to get all respectable, you could have been a rich man by now. I'm not a rich man, but I'm sure you would have been. Next time I see you I'll have to remember to salute.
+
+Can't tell you too much from this end. The 'Maggie' just put in for a forty-hour stopover in Loris on the way through to "parts unknown". Don't ask me no questions, and I'll tell you no lies. But just between you and me, watch your tail out there, all right?
+
+Hey, are you going to the Academy Reunion this year? We should be back in the core systems by then, and I've been meaning to ask the skipper of this here tub for some time off. If you complete your tour by then, I'll catch you at the bar. You can buy me a drink in exchange for that salute.
+
+--Jonas
+
+PS Have you heard from Sara lately? I haven't been able to track her down from way out here. If you talk to her, tell her "I am the Doorway" for me. -J \ No newline at end of file
diff --git a/data/content/Campaigns/02/Actions/m2-new-digs.txt b/data/content/Campaigns/02/Actions/m2-new-digs.txt
new file mode 100644
index 0000000..855dfb4
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/m2-new-digs.txt
@@ -0,0 +1,22 @@
+TO: $RANK $NAME
+CO: $GROUP
+FM: Sara Hunter - Ele'aan Consulate Jarnell
+RE: NEW DIGS
+-----
+PATH: Ele'aan Consular Net Center | Jarnell Main Traffic Relay | Athenar Terminus | Janek Station Courier Drop | 3RD FLEET HQ | Trellis Relay | $GROUP
+-----
+
+Hello,
+
+Well, we're finally just about moved in to the new Ele'aan Consular Center. My new position as the Junior Consular Liason to the Ele'aan Fusion rates a new office with a lovely view of the Endless Falls. At twilight, when the mist shroud catches the light of the setting sun, it's just breathtaking. Ever so much better than that sub-basement hovel I was lurking in on Borova. Yay me!
+
+Thanks for relaying that message from Jonas. "I am the Doorway" Honestly, he's such a character. [giggle] I don't even know where he could have heard that expression - it's part of an old Ele'aan greeting and farewell ritual. The Ele'aans are an advanced race, but they can be pretty inscrutable at times, even for me.
+
+In fact, right now they are all agitated about the Zolon Empire for some reason. They won't tell anybody what's going on, but I get little bits of messages here and there, and they are definitely worried about something, if you can believe that.
+
+Say, if you talk to Jonas again, see if he knows anything about Zolon activity. I know his trade route takes him through the northern Hegemony systems. I don't know if he's ever been out as far as Nephrys in all his wanderings. That's right on the border of Zolon space. Maybe he's seen or heard something out there...
+
+Congratulations on your promotion! I knew you'd hit the big time eventually. [grin]
+
+Love from
+Sara
diff --git a/data/content/Campaigns/02/Actions/m3-why-renser.txt b/data/content/Campaigns/02/Actions/m3-why-renser.txt
new file mode 100644
index 0000000..ff22eae
--- /dev/null
+++ b/data/content/Campaigns/02/Actions/m3-why-renser.txt
@@ -0,0 +1,18 @@
+TO: $RANK $NAME
+CO: $GROUP
+FM: Sara Hunter - Ele'aan Consulate Jarnell
+RE: WHY RENSER?
+-----
+PATH: Ele'aan Consular Net Center | Jarnell Main Traffic Relay | Athenar Terminus | Janek Station Courier Drop | 3RD FLEET HQ | Trellis Relay | Renser Temporary Transceiver | $GROUP
+-----
+
+$NAME,
+
+Why are we attacking Renser now? The Separatists started this fight, not the Hegemony. How is this going to help stabilize the crisis in Solus, or improve the safety of the Alliance?
+
+The Ele'aan Ambassador, Councilor Auris was most. . . well, I don't think "upset" is the right word. But he seemed very disconcerted about the potential consequences of this invasion during the Council meeting this morning. I think the Ele'aan delegation tried to talk President Valmar out of this action - I think they wanted him to leave well enough alone and stay out of Hegemony internal affairs.
+
+I hope you're all right out there. . . I’m worried that we are throwing away lives on a foolish errand, and risking far more in the long run… Just tell me you'll stay safe, OK?
+
+Love from
+Sara
diff --git a/data/content/Campaigns/02/Scenes/01-News-Start.def b/data/content/Campaigns/02/Scenes/01-News-Start.def
new file mode 100644
index 0000000..f3516aa
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/01-News-Start.def
@@ -0,0 +1,262 @@
+MISSION
+
+name: "Cmpn02 News01 - Campaign Start"
+type: "Patrol"
+system: "Solus"
+region: "Solus"
+stardate: 1147287263.0
+
+subtitles: "Campaigns/02/Actions/01-campaign-start.txt"
+
+start: "33:00:00"
+
+degrees: true
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+element: {
+ name: "Tal Vesta Stellar Observatory"
+ design: "Observatory"
+ mission: "Flight Ops"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Meridian"
+ loc: (75000, 75000, 0)
+}
+
+element: {
+ name: "Solus-Trellis"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Solus"
+ loc: (-200e3, -100e3, 0)
+
+ objective: { cmd: Vector, tgt: "Trellis-Solus" }
+}
+
+element: {
+ name: "Solus-Jalah"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Solus"
+ loc: (150e3, -180e3, 0)
+
+ objective: { cmd: Vector, tgt: "Jalah-Solus" }
+}
+
+element: {
+ name: "Jalah-Solus"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (0, 0, 0)
+
+ objective: { cmd: Vector, tgt: "Solus-Jalah" }
+}
+
+element: {
+ name: "Jalah-Trellis"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (120e3, -200e3, 0)
+
+ objective: { cmd: Vector, tgt: "Trellis-Jalah" }
+}
+
+element: {
+ name: "Trellis-Solus"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Trellis"
+ loc: (-100e3, -150e3, 0)
+
+ objective: { cmd: Vector, tgt: "Solus-Trellis" }
+}
+
+element: {
+ name: "Trellis-Jalah"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Trellis"
+ loc: (50e3, -100e3, 0)
+
+ objective: { cmd: Vector, tgt: "Jalah-Trellis" }
+}
+
+element: {
+ name: "Trellis Docks"
+ design: "Station1"
+ mission: "Flight Ops"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Trellis"
+ loc: (0, 0, 0)
+}
+
+element: {
+ name: "Blockade Runner"
+ design: "Courier"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Trellis"
+ loc: (-120e3, -90e3, 0)
+
+ navpt: { cmd: Vector, loc: (-120e3, -170e3, 0), speed: 1000, rgn: "Trellis" }
+}
+
+
+element: {
+ name: "Kitts"
+ design: "Wolf"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: "Trellis"
+ loc: (185e3, -280e3, 0)
+}
+
+element: {
+ name: "Lovo"
+ design: "Baikal"
+ commander: "Kitts"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: "Trellis"
+ loc: (187e3, -281e3, 0)
+}
+
+
+element: {
+ name: "Edmonton"
+ design: "IM4300"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: "Trellis"
+ loc: (212e3, -290e3, 0)
+
+ navpt: { cmd: Vector, loc: (-120e3, -170e3, 0), speed: 500, rgn: "Trellis" }
+}
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Hold, param: 20, event_ship: Kitts }
+event: { event: Hold, param: 20, event_ship: Lovo }
+
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,5,2), rect: (0,0,0,0) }
+event: { event: Display, image: "Campaigns/02/Scenes/News.pcx", color: 0xffffffff, fade: (1,4,1), rect: (0,0, -512,-128) }
+
+event: { event: Camera, param: 3, target: "body:Solus", vec: (0,0,1e7) }
+event: { event: Camera, param: 5, vec: (0.12, 0.01, 0.02) }
+
+event: { event: Display, time: 5, message: "Solus System", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Capitol", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+event: { event: Messasge, sound: "Vox/Scenes/02/News_01_Campaign_Start.ogg" }
+
+
+event: { event: Camera, time: 12, param: (6, 15), target: "Blockade Runner" }
+
+event: { event: Display, message: "Trellis Sector", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Blockade Runner", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+
+event: { event: Camera, time: 22, param: (6, 20), target: "Kitts" }
+event: { event: Display, message: "Dantari Separatists", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Destroyer Squadron 'Kitts'", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+event: { event: Camera, time: 40, param: 3, target: "body:Trellis", vec: (0,0,1e8) }
+event: { event: Camera, param: 5, vec: (-0.15, 0.01, 0.02) }
+event: { event: Display, message: "Trellis", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+
+
+event: { event: Camera, time: 50, param: 3, target: "body:Jalah", vec: (0,0,8e7) }
+event: { event: Camera, param: 5, vec: (0.12, 0.01, 0.02) }
+event: { event: Display, message: "Jalah", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+
+
+event: { event: Camera, time: 65, param: 3, target: "Tal Vesta Stellar Observatory", vec: (0,0,2e3) }
+event: { event: Camera, param: 5, vec: (-0.13, 0.01, 0.02) }
+event: { event: Display, message: "Meridian Sector", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Tal Vesta Stellar Observatory", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+event: { event: Camera, time: 80, param: 3, target: "body:Solus", vec: (60,0,1e7) }
+event: { event: Camera, param: 5, vec: (0.14, 0.01, 0.02) }
+
+
+event: { event: EndScene, time: 95, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/02-Coup-Failure.def b/data/content/Campaigns/02/Scenes/02-Coup-Failure.def
new file mode 100644
index 0000000..19a1830
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/02-Coup-Failure.def
@@ -0,0 +1,219 @@
+MISSION
+
+name: "Cmpn02 News02 - Coup Failure"
+type: "Patrol"
+system: "Solus"
+region: "Solus"
+stardate: 1147287263.0
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/02-coup-failure.txt"
+
+start: "33:00:00"
+
+degrees: true
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+
+element: {
+ name: "Admin"
+ design: "Bldg00"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-53000, 29500, 0)
+}
+
+element: {
+ name: "Office"
+ design: "Bldg01"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-52500, 28000, 0)
+}
+
+element: {
+ name: "Tower"
+ design: "Bldg02"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-54600, 32800, 0)
+}
+
+element: {
+ name: "Alton"
+ design: "Bldg03"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-56000, 26000, 0)
+}
+
+element: {
+ name: "City Block"
+ design: "City00"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-60000, 28000, 0)
+}
+
+element: {
+ name: "Downtown Telmera"
+ design: "City02"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-56000, 30000, 0)
+}
+
+element: {
+ name: "Palace"
+ design: "Bldg00"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-55300, 28800, 0)
+}
+
+
+element: {
+ name: "City Block"
+ design: "City00"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-51000, 30700, 0)
+}
+
+element: {
+ name: "Factory 2"
+ design: "Fact04"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-53000, 30500, 0)
+}
+
+element: {
+ name: "Telmera Starport"
+ design: "Airbase1"
+ mission: "Flight Ops"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-55000, 22000, 0)
+}
+
+
+/***
+
+TELMERA CITY, SOLUS - An attempted palace coup by Dantari agents was thwarted
+by alert members of the Provisional Security Directorate early this morning.
+Separatist agents, working from a secret base near the capitol offices, succeeded
+in destroying the executive suite of the presidential palace.
+
+Security service members discovered the bomb only moments before it was detonated
+and were able to escort President Marish and his party to an undisclosed safe
+location. Senators Hamil and Covanon who were to attend a working breakfast with
+the President were killed in the blast, as were two security service agents who
+died trying to protect them. Memorial services for all four men are planned for
+later in the week.
+
+Speaking on behalf of President Marish, executive spokesperson Cyn Talban affirmed
+that the central government had not been struck down by the terrorist-style attack.
+"We are still very much open for business. President Marish is meeting with security
+advisors at this hour, and he will be holding a press conference from the safehouse
+later this morning to address your questions and concerns."
+
+***/
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,5,2), rect: (0,0,0,0) }
+event: { event: Display, image: "Campaigns/02/Scenes/News.pcx", color: 0xffffffff, fade: (1,4,1), rect: (0,0, -512,-128) }
+
+event: { event: Camera, param: 3, target: "body:Solus", vec: (0,0,1e7) }
+event: { event: Camera, param: 5, vec: (0.12, 0.01, 0.02) }
+
+event: { event: Display, time: 5, message: "Solus System", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Capitol", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+event: { event: Messasge, sound: "Vox/Scenes/02/News_02_Coup_Failure.ogg" }
+
+
+event: { event: Camera, time: 13, param: 3, target: "Downtown Telmera", vec: (0,0,5000) }
+event: { event: Camera, param: 5, vec: (-0.08, 0.005, -0.02) }
+
+event: { event: Damage, ship: "Palace", param: 1e6 }
+
+event: { event: Display, message: "Telmera Sector", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Presidential Palace", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+
+event: { event: EndScene, time: 75, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/03-Blockade-Broken.def b/data/content/Campaigns/02/Scenes/03-Blockade-Broken.def
new file mode 100644
index 0000000..17cff4c
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/03-Blockade-Broken.def
@@ -0,0 +1,299 @@
+MISSION
+
+name: "Cmpn02 News03 - Blockade Broken"
+type: "Patrol"
+system: "Solus"
+region: "Trellis"
+
+sitrep: "Unknown"
+
+objective: "Unspecified"
+
+subtitles: "Campaigns/02/Actions/03-blockade-broken.txt"
+
+start: "33:00:00"
+
+degrees: true
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+
+element: {
+ name: "Solus-Trellis"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Solus"
+ loc: (-200e3, -100e3, 0)
+
+ objective: { cmd: Vector, tgt: "Trellis-Solus" }
+}
+
+element: {
+ name: "Solus-Jalah"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Solus"
+ loc: (150e3, -180e3, 0)
+
+ objective: { cmd: Vector, tgt: "Jalah-Solus" }
+}
+
+element: {
+ name: "Jalah-Solus"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (0, 0, 0)
+
+ objective: { cmd: Vector, tgt: "Solus-Jalah" }
+}
+
+element: {
+ name: "Jalah-Trellis"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (120e3, -200e3, 0)
+
+ objective: { cmd: Vector, tgt: "Trellis-Jalah" }
+}
+
+element: {
+ name: "Trellis-Solus"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Trellis"
+ loc: (-100e3, -150e3, 0)
+
+ objective: { cmd: Vector, tgt: "Solus-Trellis" }
+}
+
+element: {
+ name: "Trellis-Jalah"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Trellis"
+ loc: (50e3, -100e3, 0)
+
+ objective: { cmd: Vector, tgt: "Jalah-Trellis" }
+}
+
+element: {
+ name: "Trellis Docks"
+ design: "Station1"
+ mission: "Flight Ops"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Trellis"
+ loc: (0, 0, 0)
+}
+
+
+element: {
+ name: "Archon"
+ design: "Orion"
+ mission: "Flight Ops"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: "Trellis"
+ loc: (-130000, 160000, 0)
+}
+
+element: {
+ name: "Stalwart"
+ design: "Courageous"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: "Trellis"
+ loc: (-111503, 155656, 0)
+
+ objective: { cmd: Escort, tgt: "Archon" }
+}
+
+element: {
+ name: "Gerson"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: "Trellis"
+ loc: (-155657, 148787, 0)
+
+ objective: { cmd: Escort, tgt: "Archon" }
+}
+
+element: {
+ name: "Simmons"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: "Trellis"
+ loc: (-166015, 151521, 0)
+
+ objective: { cmd: Escort, tgt: "Archon" }
+}
+
+element: {
+ name: "Avengers"
+ design: "Falcon"
+ carrier: "Archon"
+ commander: "Archon"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 32
+ maint_count: 16
+ iff: 1
+ region: "Trellis"
+ loc: (-118941, 180411, 0)
+}
+
+element: {
+ name: "Stallions"
+ design: "Stormhawk"
+ carrier: "Archon"
+ commander: "Archon"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 32
+ maint_count: 16
+ iff: 1
+ region: "Trellis"
+ loc: (-118754, 143664, 0)
+}
+
+element: {
+ name: "Warbirds"
+ design: "Thunderbolt"
+ carrier: "Archon"
+ commander: "Archon"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 20
+ maint_count: 10
+ iff: 1
+ region: "Trellis"
+ loc: (-135947, 178901, 0)
+}
+
+
+/***
+
+TRELLIS - The Alliance Third Fleet has broken the blockade of the
+Trellis-Solus Farcaster network, a Force:Command spokesperson has
+announced. The minefields surrounding the Farcaster terminus have
+been cleared, and several Separatist squadrons have been eliminated
+or greatly reduced in strength.
+
+Theater commander Admiral Evars has given official authorization for
+the commencement of humanitarian aid traffic to the inner planets.
+Certified non-governmental agencies delivering food, clothing,
+medicines, and emergency equipment will receive protective escorts
+by warships from the Third Fleet.
+
+"Although the blockade has been broken, there are still several
+hostile squadrons in operation near the outer worlds. We strongly
+recommend that only emergency traffic be routed through the Trellis
+sector. Civilian ships are advised to avoid the area until the threat
+can be assessed and appropriate actions taken," Evars was quoted as
+saying.
+
+***/
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,5,2), rect: (0,0,0,0) }
+event: { event: Display, image: "Campaigns/02/Scenes/News.pcx", color: 0xffffffff, fade: (1,4,1), rect: (0,0, -512,-128) }
+
+event: { event: Camera, param: 3, target: "Trellis-Solus", vec: (0,0,1000) }
+event: { event: Camera, param: 5, vec: (0.12, 0.01, 0.02) }
+
+event: { event: Display, time: 5, message: "Trellis-Solus Farcaster", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Messasge, sound: "Vox/Scenes/02/News_03_Blockade_Broken.ogg" }
+
+
+event: { event: Camera, time: 25, param: 3, target: "Archon", vec: (2,0,2700) }
+event: { event: Camera, param: 5, vec: (0.12, 0.006, -0.02) }
+
+event: { event: Display, message: "Task Force 3.7", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 400,100) }
+event: { event: Display, message: "CV-71 'Archon'", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 200,100) }
+
+
+
+event: { event: EndScene, time: 65, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/04-Harmony-Risk.def b/data/content/Campaigns/02/Scenes/04-Harmony-Risk.def
new file mode 100644
index 0000000..d911345
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/04-Harmony-Risk.def
@@ -0,0 +1,175 @@
+MISSION
+
+name: "Cmpn 02 Brief 04"
+type: "Patrol"
+system: "Solus"
+region: "Solus"
+stardate: 1147287263.0
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/04-harmony-risk.txt"
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+element: {
+ name: "Solus-Kalon"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Solus"
+ loc: (80000, 20000, 0)
+
+ objective: { cmd: Vector, tgt: "Kalon-Solus" }
+}
+
+element: {
+ name: "Kalon-Solus"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Kalon"
+ loc: (90000, -54000, 0)
+
+ objective: { cmd: Vector, tgt: "Solus-Kalon" }
+}
+
+element: {
+ name: "Solus-Trellis"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Solus"
+ loc: (-200e3, -100e3, 0)
+
+ objective: { cmd: Vector, tgt: "Trellis-Solus" }
+}
+
+element: {
+ name: "Solus-Jalah"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Solus"
+ loc: (150e3, -180e3, 0)
+
+ objective: { cmd: Vector, tgt: "Jalah-Solus" }
+}
+
+element: {
+ name: "Jalah-Solus"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (0, 0, 0)
+
+ objective: { cmd: Vector, tgt: "Solus-Jalah" }
+}
+
+
+element: {
+ name: "Trellis-Solus"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Trellis"
+ loc: (-100e3, -150e3, 0)
+
+ objective: { cmd: Vector, tgt: "Solus-Trellis" }
+}
+
+element: {
+ name: "Harmony Station"
+ design: "Station2"
+ mission: "Flight Ops"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Kalon"
+ loc: (0, 0, 0)
+}
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,1,1), rect: (0,0,0,0) }
+event: { event: Camera, param: 3, target: "body:Solus", vec: (1,0,1e7) }
+event: { event: Camera, param: 5, vec: (0.12, 0.01, 0.02) }
+
+
+event: { event: Display, time: 1, fade: (1,5,1), rect: (20,20, 600,150), font: Limerick18, color: 0xffffffff,
+ message: "Force:Intel Briefing" }
+
+event: { event: Display, time: 1, fade: (1,5,1), rect: (20,40, 600,150), font: OCRB, color: 0xffffff80,
+ message: "*************************************\n*** FLASH CODED +$TIME \n*** HARMONY STATION \n*** KALON SECTOR \n*** CLASSIFIED: SECRET R3 NTK\n*************************************" }
+
+
+event: {
+ event: Message
+ time: 1
+ sound: "Vox/Scenes/02/Briefing_04_sam.ogg"
+}
+
+
+event: { event: Camera, time: 10, param: 3, target: "Solus-Kalon", vec: (7,1,7500) }
+event: { event: Camera, time: 10, param: 5, vec: (-0.12, 0.01, 0.03) }
+event: { event: Display, time: 10, message: "Solus-Kalon Farcaster", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 400,100) }
+
+
+event: { event: Camera, time: 20, param: 3, target: "Kalon-Solus", vec: (1,3,8500) }
+event: { event: Camera, time: 20, param: 5, vec: (0.14, 0.02, 0.03) }
+event: { event: Display, time: 20, message: "Kalon-Solus Farcaster", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 400,100) }
+
+
+event: { event: Camera, time: 30, param: 3, target: "Harmony Station", vec: (2,0,15000) }
+event: { event: Camera, time: 30, param: 5, vec: (0.15, 0.01,-0.03) }
+event: { event: Display, time: 30, message: "Harmony Station", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 400,100) }
+
+
+event: { event: EndScene, time: 50, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/05-Foothill-Ridge.def b/data/content/Campaigns/02/Scenes/05-Foothill-Ridge.def
new file mode 100644
index 0000000..828e95d
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/05-Foothill-Ridge.def
@@ -0,0 +1,350 @@
+MISSION
+
+name: "Cmpn 02 Brief 05"
+type: "Patrol"
+system: "Solus"
+region: "Solus"
+stardate: 1147287263.0
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/05-foothill-ridge.txt"
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+element: {
+ name: "SAM 1"
+ design: "SAM 1"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: "Telmera"
+ loc: (45000, -36000, 0)
+}
+
+element: {
+ name: "AAA 1"
+ design: "AAA 1"
+ commander: "SAM"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: "Telmera"
+ loc: (40000, -35000, 0)
+}
+
+element: {
+ name: "AAA 2"
+ design: "AAA 1"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 2
+ command_ai:1
+ iff: 2
+ playable: false
+ region: "Telmera"
+ loc: (40000, -60000, 0)
+}
+
+element: {
+ name: "SAM 2"
+ design: "SAM 1"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: "Telmera"
+ loc: (30000, -32000, 0)
+}
+
+element: {
+ name: "Foothill Base"
+ design: "Airbase2"
+ mission: "Flight Ops"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: "Telmera"
+ loc: (56000, -49000, 0)
+}
+
+element: {
+ name: "Adanis"
+ design: "Viper"
+ carrier: "Foothill Base"
+ commander: "Foothill Base"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 24
+ maint_count: 12
+ iff: 2
+ region: "Telmera"
+ loc: (38927, -31272, 0)
+}
+
+element: {
+ name: "Cobra Fangs"
+ design: "Cobra"
+ carrier: "Foothill Base"
+ commander: "Foothill Base"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 24
+ maint_count: 12
+ iff: 2
+ region: "Telmera"
+ loc: (46163, -63427, 0)
+}
+
+element: {
+ name: "Reactor"
+ design: "Reac01"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: "Telmera"
+ loc: (55000, -57000, 0)
+}
+
+element: {
+ name: "Factory 1"
+ design: "Fact04"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: "Telmera"
+ loc: (56000, -55000, 0)
+}
+
+element: {
+ name: "Factory 2"
+ design: "Fact02"
+ mission: "Misc"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: "Telmera"
+ loc: (58000, -56000, 0)
+}
+
+
+
+element: {
+ name: "Admin"
+ design: "Bldg00"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-53000, 29000, 0)
+}
+
+element: {
+ name: "Office"
+ design: "Bldg01"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-52000, 28000, 0)
+}
+
+element: {
+ name: "Tower"
+ design: "Bldg02"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-54000, 32000, 0)
+}
+
+element: {
+ name: "Alton"
+ design: "Bldg03"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-56000, 26000, 0)
+}
+
+element: {
+ name: "City Block"
+ design: "City00"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-60000, 28000, 0)
+}
+
+element: {
+ name: "City Block"
+ design: "City02"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-56000, 30000, 0)
+}
+
+element: {
+ name: "City Block"
+ design: "City00"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-51000, 30000, 0)
+}
+
+element: {
+ name: "City Block"
+ design: "City00"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (52000, -52000, 0)
+}
+
+element: {
+ name: "City Block"
+ design: "City01"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (53000, -55000, 0)
+}
+
+element: {
+ name: "Factory 2"
+ design: "Fact04"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-53000, 30000, 0)
+}
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,1,1), rect: (0,0,0,0) }
+event: { event: Camera, param: 3, target: "Foothill Base", vec: (1,0.05,2800) }
+event: { event: Camera, param: 5, vec: (0.12, 0.01, 0.02) }
+
+
+event: { event: Display, time: 1, fade: (1,5,1), rect: (20,20, 600,150), font: Limerick18, color: 0xffffffff,
+ message: "Force:Intel Briefing" }
+
+event: { event: Display, time: 1, fade: (1,5,1), rect: (20,40, 600,150), font: OCRB, color: 0xffffff80,
+ message: "*************************************\n*** FLASH CODED +$TIME \n*** FOOTHILL RIDGE \n*** TELMERA SECTOR \n*** CLASSIFIED: SECRET R5 NTK\n*************************************" }
+
+
+event: {
+ event: Message
+ time: 1
+ sound: "Vox/Scenes/02/Briefing_05_sam.ogg"
+}
+
+
+event: { event: Camera, time: 20, param: 3, target: "AAA 1", vec: (7,0.3,1000) }
+event: { event: Camera, param: 5, vec: (-0.12, 0.01, 0.03) }
+event: { event: Display, message: "AAA Battery", font: Limerick18, color: 0xffffff80, fade: (1,3,1), rect: (20,20, 400,100) }
+
+
+event: { event: Camera, time: 25, param: 3, target: "SAM 1", vec: (1,0.5,1000) }
+event: { event: Camera, param: 5, vec: (0.14, 0.02, 0.03) }
+event: { event: Display, message: "SAM Launcher", font: Limerick18, color: 0xffffff80, fade: (1,3,1), rect: (20,20, 400,100) }
+
+
+event: { event: Camera, time: 30, param: 3, target: "Reactor", vec: (2,0.05,3500) }
+event: { event: Camera, param: 5, vec: (0.15, 0.01,-0.03) }
+event: { event: Display, message: "Reactor Complex", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 400,100) }
+
+
+event: { event: EndScene, time: 60, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/06-Renser-Buildup.def b/data/content/Campaigns/02/Scenes/06-Renser-Buildup.def
new file mode 100644
index 0000000..a1f7d5d
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/06-Renser-Buildup.def
@@ -0,0 +1,122 @@
+MISSION
+
+name: "Cmpn 02 Brief 06"
+type: "Patrol"
+system: "Renser"
+region: "Renser"
+stardate: 1147287263.0
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/06-renser-buildup.txt"
+
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+element: {
+ name: Ironhelm
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (0, 0, 0)
+ region: Lornas
+ navpt: { cmd: Vector, loc: (0,-50e3,0), speed: 750, rgn: Lornas }
+}
+
+element: {
+ name: Mattock
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (10e3, 2e3, 0)
+ region: Lornas
+ navpt: { cmd: Vector, loc: (10e3,-50e3,0), speed: 750, rgn: Lornas }
+}
+
+element: {
+ name: "Oak Hall"
+ design: Tiger
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (5e3, 6e3, 0)
+ region: Lornas
+ navpt: { cmd: Vector, loc: (5e3,-50e3,0), speed: 750, rgn: Lornas }
+}
+
+element: {
+ name: "North Point"
+ design: Tiger
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (-5e3, -4e3, 0)
+ region: Lornas
+ navpt: { cmd: Vector, loc: (-8e3,-50e3,0), speed: 750, rgn: Lornas }
+}
+
+
+
+
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,1,1), rect: (0,0,0,0) }
+event: { event: Camera, param: 3, target: "Ironhelm", vec: (1,0.2,350e3) }
+event: { event: Camera, param: 5, vec: (0.10, 0.01, 0.02) }
+
+
+event: { event: Display, time: 1, fade: (1,5,1), rect: (20,20, 600,150), font: Limerick18, color: 0xffffffff,
+ message: "STRATPLAN BRIEFING" }
+
+event: { event: Display, time: 1, fade: (1,5,1), rect: (20,40, 600,150), font: OCRB, color: 0xffffff80,
+ message: "Timestamp: $TIME\nSubject: Renser Fleet Mobilization\nClassified: CONFIDENTIAL DND/CRYPTO" }
+
+
+event: {
+ event: Message
+ time: 5
+ sound: "Vox/Scenes/02/Briefing_06.ogg"
+}
+
+
+event: { event: Camera, time: 10, param: 3, target: "Ironhelm", vec: (1,0.05,40e3) }
+event: { event: Camera, param: 5, vec: (0.12, 0.01, 0.02) }
+event: { event: Display, message: "Lornas Fleet Yards", font: Limerick18, color: 0xffffff80, fade: (1,3,1), rect: (20,20, 400,100) }
+
+
+event: { event: Camera, time: 20, param: 3, target: "Ironhelm", vec: (-1,-0.07,6e3) }
+event: { event: Camera, param: 5, vec: (-0.13, 0.01, 0.02) }
+event: { event: Display, message: "DESRON 26 'IRONHELM'", font: Limerick18, color: 0xffffff80, fade: (1,3,1), rect: (20,20, 400,100) }
+
+
+event: { event: Camera, time: 30, param: 3, target: "body:Khaital", vec: (2,-0.06,3e7) }
+event: { event: Camera, param: 5, vec: (0.15, 0.01,-0.02) }
+event: { event: Display, message: "Khaital Sector", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 400,100) }
+
+
+event: { event: EndScene, time: 60, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/07-Research-Lab.def b/data/content/Campaigns/02/Scenes/07-Research-Lab.def
new file mode 100644
index 0000000..c60a7ab
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/07-Research-Lab.def
@@ -0,0 +1,226 @@
+MISSION
+
+name: "Cmpn02 News07 Research Lab"
+type: "Patrol"
+system: "Solus"
+region: "Solus"
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/07-research-lab.txt"
+
+start: "33:00:00"
+
+degrees: true
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+element: {
+ name: "Tal Vesta Stellar Observatory"
+ design: "Observatory"
+ mission: "Flight Ops"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Meridian"
+ loc: (75e3, 75e3, 0)
+}
+
+element: {
+ name: "Solus-Trellis"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Solus"
+ loc: (-200e3, -100e3, 0)
+
+ objective: { cmd: Vector, tgt: "Trellis-Solus" }
+}
+
+element: {
+ name: "Solus-Jalah"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Solus"
+ loc: (150e3, -180e3, 0)
+
+ objective: { cmd: Vector, tgt: "Jalah-Solus" }
+}
+
+element: {
+ name: "Jalah-Solus"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (0, 0, 0)
+
+ objective: { cmd: Vector, tgt: "Solus-Jalah" }
+}
+
+element: {
+ name: "Jalah-Trellis"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (120e3, -200e3, 0)
+
+ objective: { cmd: Vector, tgt: "Trellis-Jalah" }
+}
+
+
+element: {
+ name: "Trellis-Solus"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Trellis"
+ loc: (-100e3, -150e3, 0)
+
+ objective: { cmd: Vector, tgt: "Solus-Trellis" }
+}
+
+element: {
+ name: "Trellis-Jalah"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Trellis"
+ loc: (50e3, -100e3, 0)
+
+ objective: { cmd: Vector, tgt: "Jalah-Trellis" }
+}
+
+
+
+element: {
+ name: "Kendra"
+ design: "Wolf"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: "Meridian"
+ loc: (125e3, 180e3, 0)
+ navpt: { cmd: Vector, loc: (90e3,90e3,0), rgn: Meridian, speed: 500 }
+}
+
+element: {
+ name: "Pelorat"
+ design: "Baikal"
+ commander: "Kitts"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: "Meridian"
+ loc: (127e3, 170e3, 0)
+ navpt: { cmd: Vector, loc: (90e3,90e3,0), rgn: Meridian, speed: 500 }
+}
+
+
+
+/***
+
+MERIDIAN - The Tal Vesta University Stellar Observatory in Meridian
+orbit has been cut off by Separatist patrols and is facing severe
+shortages of food and consumable supplies. University staff indicate
+that the fusion plant on the observatory is still operational, and
+that basic life support functions - water, air, and power - are not
+an immediate concern. "Mainly, the students are just hungry. And
+frustrated," said Research Coordinator Alen Tolap.
+
+Student researchers living at the observatory are protesting the ongoing
+civil war. Native Solusans, ethnic Dantari, and even many Terellian
+Alliance students have issued a joint statement condemning the conflict
+and demanding the resumption of peaceful negotiations. Thus far, neither
+party in the conflict has commented on the student protests.
+
+Alliance Theater Command has promised to make humanitarian aid to the
+Meridian sector a top priority. "We'll find a way to feed these kids,"
+Fleet Admiral Evars was quoted as saying. "There's nothing more ornery
+than a bunch of hungry college students."
+
+
+***/
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,5,2), rect: (0,0,0,0) }
+event: { event: Display, image: "Campaigns/02/Scenes/News.pcx", color: 0xffffffff, fade: (1,4,1), rect: (0,0, -512,-128) }
+
+event: { event: Camera, param: 3, target: "Tal Vesta Stellar Observatory", vec: (0,0,5e3) }
+event: { event: Camera, param: 5, vec: (-0.13, 0.01, 0.02) }
+
+
+event: {
+ event: Message
+ time: 6
+ sound: "Vox/Scenes/02/News_07_Research_Lab.ogg"
+}
+event: { event: Display, message: "Meridian Sector", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Tal Vesta Stellar Observatory", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+
+event: { event: Camera, time: 35, param: (6, 25), target: "Kendra" }
+event: { event: Display, message: "Dantari Separatists", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Destroyer Squadron 'Kendra'", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+event: { event: Camera, time: 55, param: 3, target: "Tal Vesta Stellar Observatory", vec: (1,-0.1,8e3) }
+event: { event: Camera, param: 5, vec: (0.11, 0.01, 0.02) }
+
+
+event: { event: EndScene, time: 75, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/08-Renser-Accusation.def b/data/content/Campaigns/02/Scenes/08-Renser-Accusation.def
new file mode 100644
index 0000000..8762ee3
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/08-Renser-Accusation.def
@@ -0,0 +1,183 @@
+MISSION
+
+name: "Cmpn02 News08 Renser"
+type: "Patrol"
+
+system: Renser
+system: Solus
+region: Solus
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/08-renser-accusation.txt"
+
+start: "33:00:00"
+
+degrees: true
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+element: {
+ name: "Archon"
+ design: "Orion"
+ mission: "Flight Ops"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Solus
+ loc: (-130e3, 160e3, 0)
+
+ navpt: { cmd: Vector, loc: (-130e3, 200e3, 0), speed: 500, rgn: Solus }
+}
+
+element: {
+ name: "Stalwart"
+ design: "Courageous"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Solus
+ loc: (-147605, 152855, 0)
+
+ objective: { cmd: Escort, tgt: "Archon" }
+}
+
+element: {
+ name: "Gerson"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Solus
+ loc: (-154062, 174318, 0)
+
+ objective: { cmd: Escort, tgt: "Archon" }
+}
+
+element: {
+ name: "Simmons"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Solus
+ loc: (-162917, 143104, 0)
+
+ objective: { cmd: Escort, tgt: "Archon" }
+}
+
+
+
+element: {
+ name: Ironhelm
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (0, 0, 0)
+ region: Renser
+ navpt: { cmd: Vector, loc: (0,-50e3,0), speed: 750, rgn: Renser }
+}
+
+element: {
+ name: Mattock
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (10e3, 2e3, 0)
+ region: Renser
+ navpt: { cmd: Vector, loc: (10e3,-50e3,0), speed: 750, rgn: Renser }
+}
+
+element: {
+ name: "Oak Hall"
+ design: Tiger
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (5e3, 6e3, 0)
+ region: Renser
+ navpt: { cmd: Vector, loc: (5e3,-50e3,0), speed: 750, rgn: Renser }
+}
+
+element: {
+ name: "North Point"
+ design: Tiger
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (-5e3, -4e3, 0)
+ region: Renser
+ navpt: { cmd: Vector, loc: (-8e3,-50e3,0), speed: 750, rgn: Renser }
+}
+
+
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,5,2), rect: (0,0,0,0) }
+event: { event: Display, image: "Campaigns/02/Scenes/News.pcx", color: 0xffffffff, fade: (1,4,1), rect: (0,0, -512,-128) }
+
+event: { event: Camera, param: 3, target: "body:Renser", vec: (1,0,1e7) }
+event: { event: Camera, param: 5, vec: (-0.13, 0.01, 0.02) }
+
+event: {
+ event: Message
+ time: 6
+ sound: "Vox/Scenes/02/News_08_Renser_Accusation.ogg"
+}
+event: { event: Display, message: "Renser System", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Marakan Hegemony", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+
+event: { event: Camera, time: 15, param: (6, 15), target: "Ironhelm" }
+
+
+event: { event: Camera, time: 30, param: 3, target: "Archon", vec: (2,-0.05,8e3) }
+event: { event: Camera, param: 5, vec: (0.15, 0.01, 0.02) }
+event: { event: Display, message: "Archon Carrier Group", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Solus Orbit", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+
+event: { event: EndScene, time: 55, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/09-Senate-Resolution.def b/data/content/Campaigns/02/Scenes/09-Senate-Resolution.def
new file mode 100644
index 0000000..2c62581
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/09-Senate-Resolution.def
@@ -0,0 +1,179 @@
+MISSION
+
+name: "Cmpn02 News09 Senate"
+type: "Patrol"
+
+system: Jarnell
+system: Renser
+system: Solus
+region: Solus
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/09-senate-resolution.txt"
+
+start: "33:00:00"
+
+degrees: true
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+element: {
+ name: "Archon"
+ design: "Orion"
+ mission: "Flight Ops"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Solus
+ loc: (-130e3, 160e3, 0)
+ head: 180
+
+ navpt: { cmd: Vector, loc: (-130e3, 260e3, 0), speed: 500, rgn: Solus }
+}
+
+element: {
+ name: "Stalwart"
+ design: "Courageous"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Solus
+ loc: (-125e3, 155e3, 0)
+ head: 180
+
+ navpt: { cmd: Vector, loc: (-125e3, 260e3, 0), speed: 500, rgn: Solus }
+ objective: { cmd: Escort, tgt: "Archon" }
+}
+
+element: {
+ name: "Gerson"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Solus
+ loc: (-154e3, 174e3, 0)
+ head: 180
+
+ navpt: { cmd: Vector, loc: (-154e3, 260e3, 0), speed: 500, rgn: Solus }
+ objective: { cmd: Escort, tgt: "Archon" }
+}
+
+element: {
+ name: "Simmons"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Solus
+ loc: (-162e3, 143e3, 0)
+ head: 180
+
+ navpt: { cmd: Vector, loc: (-162e3, 260e3, 0), speed: 500, rgn: Solus }
+ objective: { cmd: Escort, tgt: "Archon" }
+}
+
+
+element: {
+ name: Dragon
+ design: Dragon
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (0, 0, 0)
+ region: Khaital
+ navpt: { cmd: Vector, loc: (0,-50e3,0), speed: 750, rgn: Khaital }
+}
+
+
+element: {
+ name: Ironhelm
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (-7e3, -2e3, 0)
+ region: Khaital
+ navpt: { cmd: Vector, loc: (-10e3,-50e3,0), speed: 750, rgn: Khaital }
+}
+
+element: {
+ name: Mattock
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (10e3, 5e3, 0)
+ region: Khaital
+ navpt: { cmd: Vector, loc: (10e3,-50e3,0), speed: 750, rgn: Khaital }
+}
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,5,2), rect: (0,0,0,0) }
+event: { event: Display, image: "Campaigns/02/Scenes/News.pcx", color: 0xffffffff, fade: (1,4,1), rect: (0,0, -512,-128) }
+
+event: { event: Camera, param: 3, target: "body:Jarnell", vec: (1,0,4e6) }
+event: { event: Camera, param: 5, vec: (0.13, 0.01, 0.01) }
+event: { event: Display, message: "Jarnell", font: Limerick18, color: 0xffffff80, fade: (1,9,1), rect: (20,20, 300,100) }
+event: { event: Display, time: 5, message: "Alliance Capitol", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+event: { event: Display, image: "Campaigns/02/Scenes/Senate.pcx", color: 0xffffffff, fade: (1,7,1), rect: (-280,-280, 256,256) }
+
+event: {
+ event: Message
+ time: 6
+ sound: "Vox/Scenes/02/News_09_Senate_Resolution.ogg"
+}
+
+
+event: { event: Camera, time: 30, param: 3, target: "Archon", vec: (-1,-0.1,8e3) }
+event: { event: Camera, param: 5, vec: (-0.15, 0.01, 0.02) }
+event: { event: Display, message: "Archon Carrier Group", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Solus Orbit", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+
+event: { event: Camera, time: 50, param: 3, target: "Dragon", vec: ( 1,0.16,9e3) }
+event: { event: Camera, param: 5, vec: ( 0.15,-0.01, 0.01) }
+event: { event: Display, message: "Khaital Sector Staging Area", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 400,100) }
+
+
+event: { event: EndScene, time: 85, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/10-Renser-Arrival.def b/data/content/Campaigns/02/Scenes/10-Renser-Arrival.def
new file mode 100644
index 0000000..65d74d6
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/10-Renser-Arrival.def
@@ -0,0 +1,162 @@
+MISSION
+
+name: "Cmpn02 Brief10 Jalah"
+type: "Patrol"
+
+system: Solus
+region: Solus
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/10-renser-arrival.txt"
+
+
+start: "33:00:00"
+
+degrees: true
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 0
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+element: {
+ name: "Solus-Jalah"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Solus"
+ loc: (150000, -180000, 0)
+
+ objective: { cmd: Vector, tgt: "Jalah-Solus" }
+}
+
+element: {
+ name: "Fort Talas"
+ design: "Station3"
+ mission: "Flight Ops"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (-150e3, -150e3, 0)
+}
+
+element: {
+ name: "Jalah-Solus"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (0, 0, 0)
+
+ objective: { cmd: Vector, tgt: "Solus-Jalah" }
+}
+
+
+element: {
+ name: Manticore
+ design: Dragon
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (-120e3, -50e3, 0)
+ region: Jalah
+}
+
+
+element: {
+ name: Ironhelm
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (-127e3, -52e3, 0)
+ region: Jalah
+}
+
+element: {
+ name: Mattock
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: ( 110e3, 105e3, 0)
+ region: Jalah
+ navpt: { cmd: Vector, loc: ( 110e3,-170e3,0), speed: 750, rgn: Jalah }
+}
+
+
+element: {
+ name: Martak
+ design: Razor
+ mission: Misc
+
+ intel: Secret
+ count: 2
+ iff: 2
+ loc: (-51e3, -45e3, 0)
+ region: Jalah
+
+ loadout: { ship: -1, name: "ACM Short Range" }
+ navpt: { cmd: Vector, loc: (-110e3,-170e3,0), speed: 750, rgn: Jalah }
+}
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,1,1), rect: (0,0,0,0) }
+event: { event: Camera, param: 3, target: "body:Jalah", vec: (3,0,2e8) }
+event: { event: Camera, param: 5, vec: (0.13, 0.01, 0.01) }
+event: { event: Display, time: 1, fade: (1,5,1), rect: (20,20, 600,150), font: Limerick18, color: 0xffffffff,
+ message: "STRATPLAN BRIEFING" }
+event: { event: Display, time: 1, fade: (1,5,1), rect: (20,40, 600,150), font: OCRB, color: 0xffffff80,
+ message: "Timestamp: $TIME\nSubject: Hegemony Task Force TF4.3\nClassified: CONFIDENTIAL DND/CRYPTO" }
+
+event: { event: Message, time: 2, sound: "Vox/Scenes/02/Briefing_10-OK.ogg" }
+
+event: { event: Camera, time: 15, param: 3, target: Manticore, vec: (-1,-0.1,15e3) }
+event: { event: Camera, param: 5, target: Manticore, vec: (-0.16, 0.01, 0.01) }
+event: { event: Display, message: "Hegemony Carrier Group 'Manticore'", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 400,100) }
+event: { event: Display, message: "Jalah Orbit", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+event: { event: Camera, time: 30, param: (6,16), target: Martak, vec: (-1,-0.1,8e3) }
+
+event: { event: Camera, time: 45, param: 3, target: Mattock, vec: (-1,-0.1,15e3) }
+event: { event: Camera, param: 5, vec: (-0.16, 0.01, 0.01) }
+
+event: { event: Camera, time: 60, param: 3, target: "Fort Talas", vec: (-1,-0.1,15e3) }
+event: { event: Camera, param: 5, vec: (-0.16, 0.01, 0.01) }
+event: { event: Display, message: "Fort Talas Station", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Jalah Orbit", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+event: { event: EndScene, time: 80, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/11-Dantari-Pullback.def b/data/content/Campaigns/02/Scenes/11-Dantari-Pullback.def
new file mode 100644
index 0000000..5bcfe36
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/11-Dantari-Pullback.def
@@ -0,0 +1,234 @@
+MISSION
+
+name: "Cmpn02 Brief11 Pullback"
+type: "Patrol"
+
+system: Solus
+region: Solus
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/11-dantari-pullback.txt"
+
+start: "33:00:00"
+
+degrees: true
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 0
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+element: {
+ name: "Solus-Jalah"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Solus"
+ loc: (150000, -180000, 0)
+
+ objective: { cmd: Vector, tgt: "Jalah-Solus" }
+}
+
+element: {
+ name: "Fort Talas"
+ design: "Station3"
+ mission: "Flight Ops"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (-150e3, -150e3, 0)
+}
+
+element: {
+ name: "Jalah-Solus"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (0, 0, 0)
+
+ objective: { cmd: Vector, tgt: "Solus-Jalah" }
+}
+
+
+element: {
+ name: Manticore
+ design: Dragon
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (-120e3, -50e3, 0)
+ region: Jalah
+}
+
+
+element: {
+ name: Ironhelm
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (-127e3, -52e3, 0)
+ region: Jalah
+}
+
+element: {
+ name: Mattock
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: ( 110e3, 105e3, 0)
+ region: Jalah
+ navpt: { cmd: Vector, loc: ( 110e3,-170e3,0), speed: 750, rgn: Jalah }
+}
+
+
+element: {
+ name: Martak
+ design: Razor
+ mission: Misc
+
+ intel: Secret
+ count: 2
+ iff: 2
+ loc: (-51e3, -45e3, 0)
+ region: Jalah
+
+ loadout: { ship: -1, name: "ACM Short Range" }
+ navpt: { cmd: Vector, loc: (-110e3,-170e3,0), speed: 750, rgn: Jalah }
+}
+
+
+element: {
+ name: "Goliath"
+ design: "Goliath"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: Jalah
+ loc: (225e3, 280e3, 0)
+ navpt: { cmd: Vector, loc: (190e3,190e3,0), rgn: Jalah, speed: 500 }
+}
+
+
+element: {
+ name: "Lanner"
+ design: "Wolf"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: Jalah
+ loc: (215e3, 290e3, 0)
+ navpt: { cmd: Vector, loc: (210e3,190e3,0), rgn: Jalah, speed: 500 }
+}
+
+
+element: {
+ name: "Kendra"
+ design: "Wolf"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: Jalah
+ loc: (125e3, 180e3, 0)
+ navpt: { cmd: Vector, loc: (90e3,90e3,0), rgn: Jalah, speed: 500 }
+}
+
+element: {
+ name: "Pelorat"
+ design: "Baikal"
+ commander: "Kitts"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ region: Jalah
+ loc: (127e3, 170e3, 0)
+ navpt: { cmd: Vector, loc: (90e3,90e3,0), rgn: Jalah, speed: 500 }
+}
+
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,1,1), rect: (0,0,0,0) }
+
+event: { event: Camera, param: 3, target: "body:Jalah", vec: (3,0,1e8) }
+event: { event: Camera, param: 5, vec: (0.13, 0.01, 0.01) }
+event: { event: Display, time: 1, fade: (1,5,1), rect: (20,20, 600,150), font: Limerick18, color: 0xffffffff,
+ message: "STRATPLAN BRIEFING" }
+event: { event: Display, time: 1, fade: (1,5,1), rect: (20,40, 600,150), font: OCRB, color: 0xffffff80,
+ message: "Timestamp: $TIME\nSubject: Separatist Withdrawal to Jalah\nClassified: CONFIDENTIAL DND/CRYPTO" }
+
+event: { event: Message, time: 2, sound: "Vox/Scenes/02/Briefing_11-OK.ogg" }
+
+
+event: { event: Camera, time: 10, param: 3, target: Goliath, vec: (-1,-0.1,7e3) }
+event: { event: Camera, param: 5, vec: (-0.16, 0.01, 0.01) }
+event: { event: Display, message: "Dantari Carrier Group 'Goliath'", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 400,100) }
+event: { event: Display, message: "Jalah Orbit", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+
+event: { event: Camera, time: 25, param: (6,20), target: Kendra, vec: (-1,-0.1,8e3) }
+
+
+event: { event: Camera, time: 40, param: 3, target: Manticore, vec: (-1,-0.1,15e3) }
+event: { event: Camera, param: 5, vec: (-0.16, 0.01, 0.01) }
+event: { event: Display, message: "Hegemony Carrier Group 'Manticore'", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 400,100) }
+event: { event: Display, message: "Completing UNREP", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+
+event: { event: Camera, time: 50, param: 3, target: "Fort Talas", vec: (-1,-0.1,15e3) }
+event: { event: Camera, param: 5, vec: (-0.16, 0.01, 0.01) }
+event: { event: Display, message: "Fort Talas Station", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+
+
+
+event: { event: EndScene, time: 85, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/12-Cease-Fire.def b/data/content/Campaigns/02/Scenes/12-Cease-Fire.def
new file mode 100644
index 0000000..6904c44
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/12-Cease-Fire.def
@@ -0,0 +1,312 @@
+MISSION
+
+name: "Cmpn02 News12 Cease Fire"
+type: "Patrol"
+
+system: Solus
+region: Solus
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/12-cease-fire.txt"
+
+start: "33:00:00"
+stardate: 1147384500.0
+
+degrees: true
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 0
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+element: {
+ name: "Solus-Jalah"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Solus"
+ loc: (150000, -180000, 0)
+
+ objective: { cmd: Vector, tgt: "Jalah-Solus" }
+}
+
+element: {
+ name: "Fort Talas"
+ design: "Station3"
+ mission: "Flight Ops"
+
+ intel: "Secret"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (-150e3, -150e3, 0)
+}
+
+element: {
+ name: "Jalah-Solus"
+ design: "Farcaster"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Jalah"
+ loc: (0, 0, 0)
+
+ objective: { cmd: Vector, tgt: "Solus-Jalah" }
+}
+
+
+element: {
+ name: "Archon"
+ design: "Orion"
+ mission: "Flight Ops"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Jalah
+ loc: (-140e3, -160e3, 0)
+}
+
+element: {
+ name: "Stalwart"
+ design: "Courageous"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Jalah
+ loc: (-125e3, -155e3, 0)
+}
+
+element: {
+ name: "Gerson"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Jalah
+ loc: (-154e3, -174e3, 0)
+}
+
+element: {
+ name: "Simmons"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Jalah
+ loc: (-162e3, -143e3, 0)
+}
+
+
+
+element: {
+ name: "Admin"
+ design: "Bldg00"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-53000, 29500, 0)
+}
+
+element: {
+ name: "Office"
+ design: "Bldg01"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-52500, 28000, 0)
+}
+
+element: {
+ name: "Tower"
+ design: "Bldg02"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-54600, 32800, 0)
+}
+
+element: {
+ name: "Alton"
+ design: "Bldg03"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-56000, 26000, 0)
+}
+
+element: {
+ name: "City Block"
+ design: "City00"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-60000, 28000, 0)
+}
+
+element: {
+ name: "Downtown Telmera"
+ design: "City02"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-56000, 30000, 0)
+}
+
+element: {
+ name: "Palace"
+ design: "Bldg00"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-55300, 28800, 0)
+}
+
+
+element: {
+ name: "City Block"
+ design: "City00"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-51000, 30700, 0)
+}
+
+element: {
+ name: "Factory 2"
+ design: "Fact04"
+ mission: "Misc"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-53000, 30500, 0)
+}
+
+element: {
+ name: "Telmera Starport"
+ design: "Airbase1"
+ mission: "Flight Ops"
+
+ intel: "Located"
+ count: 1
+ command_ai:1
+ iff: 0
+ playable: false
+ region: "Telmera"
+ loc: (-55000, 22000, 0)
+}
+
+
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,5,1), rect: (0,0,0,0) }
+event: { event: Display, image: "Campaigns/02/Scenes/News.pcx", color: 0xffffffff, fade: (1,4,1), rect: (0,0, -512,-128) }
+
+event: { event: Camera, param: 3, target: "Stalwart", vec: (4,0,4e3) }
+event: { event: Camera, param: 5, vec: (0.15, 0.01, 0.01) }
+event: { event: Display, message: "Jalah Sector", font: Limerick18, color: 0xffffff80, fade: (1,9,1), rect: (20,20, 300,100) }
+
+event: {
+ event: Message
+ time: 5
+ sound: "Vox/Scenes/02/News_12_Cease_Fire.ogg"
+}
+
+
+event: { event: Camera, time: 18, param: 3, target: "Downtown Telmera", vec: (1,0.1,4e3) }
+event: { event: Camera, param: 5, vec: (-0.08, 0.005, -0.02) }
+event: { event: Display, message: "Telmera Sector", font: Limerick18, color: 0xffffff80, fade: (1,7,1), rect: (20,20, 300,100) }
+event: { event: Display, message: "Presidential Palace", font: Limerick12, color: 0xffffff80, fade: (1,7,1), rect: (20,40, 300,100) }
+
+
+event: { event: Camera, time: 43, param: 3, target: "body:Solus", vec: (-2,-0.1,2e7) }
+event: { event: Camera, param: 5, vec: (-0.10, 0.02, 0.01) }
+
+
+
+event: { event: EndScene, time: 80, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/13-Renser-Invasion.def b/data/content/Campaigns/02/Scenes/13-Renser-Invasion.def
new file mode 100644
index 0000000..c03b0a3
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/13-Renser-Invasion.def
@@ -0,0 +1,174 @@
+MISSION
+
+name: "Cmpn02 News13 Invasion"
+type: "Patrol"
+
+system: Jarnell
+system: Renser
+region: Khaital
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/13-renser-invasion.txt"
+
+start: "00:00:00"
+stardate: 1147400000.0
+
+degrees: true
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 0
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+element: {
+ name: "Archon"
+ design: "Orion"
+ mission: "Flight Ops"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ loc: (-140e3, -160e3, 0)
+}
+
+element: {
+ name: "Stalwart"
+ design: "Courageous"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ loc: (-125e3, -155e3, 0)
+}
+
+element: {
+ name: "Gerson"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ loc: (-154e3, -174e3, 0)
+}
+
+element: {
+ name: "Simmons"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ loc: (-162e3, -143e3, 0)
+}
+
+
+
+element: {
+ name: Ironhelm
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (0, 0, 0)
+ region: Lornas
+ navpt: { cmd: Vector, loc: (0,-50e3,0), speed: 750, rgn: Lornas }
+}
+
+element: {
+ name: Mattock
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (10e3, 2e3, 0)
+ region: Lornas
+ navpt: { cmd: Vector, loc: (-10e3,-50e3,0), speed: 750, rgn: Lornas }
+}
+
+element: {
+ name: "Oak Hall"
+ design: Tiger
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (5e3, 6e3, 0)
+ region: Lornas
+ navpt: { cmd: Vector, loc: (-2e3,-50e3,0), speed: 750, rgn: Lornas }
+}
+
+element: {
+ name: "North Point"
+ design: Tiger
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (-5e3, -4e3, 0)
+ region: Lornas
+ navpt: { cmd: Vector, loc: (11e3,-50e3,0), speed: 750, rgn: Lornas }
+}
+
+
+
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+event: { event: Display, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (0,1,1), rect: (0,0,0,0) }
+
+event: { event: Camera, param: 3, target: "body:Jarnell", vec: (2, 0, 1.7e7) }
+event: { event: Camera, param: 5, vec: (-0.12, 0.01, 0.01) }
+event: { event: Display, time: 1, message: "The PRESIDENT of the TERELLIAN ALLIANCE", font: Limerick18, color: 0xffffff80, fade: (1,9,1), rect: (20,20, 300,300) }
+
+event: {
+ event: Message
+ time: 2
+ sound: "Vox/Scenes/02/News_13_Renser_Invasion.ogg"
+}
+
+event: { event: Camera, time: 20, param: 3, target: "Archon", vec: (4,0,5e3) }
+event: { event: Camera, param: 5, vec: (0.15,0.01, 0.01) }
+event: { event: Display, message: "Archon Carrier Group", font: Limerick18, color: 0xffffff80, fade: (1,9,1), rect: (20,20, 300,300) }
+
+
+event: { event: Camera, time: 45, param: 3, target: "Ironhelm", vec: (4,0.2,5e3) }
+event: { event: Camera, param: 5, vec: (-0.15, -0.01, 0.01) }
+event: { event: Display, message: "", font: Limerick18, color: 0xffffff80, fade: (1,9,1), rect: (20,20, 300,300) }
+
+
+event: { event: Camera, time: 70, param: 3, target: "Archon", vec: (2,0,7e3) }
+event: { event: Camera, param: 5, vec: (0.15,-0.01, -0.01) }
+
+event: { event: EndScene, time: 100, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/Defeat1.def b/data/content/Campaigns/02/Scenes/Defeat1.def
new file mode 100644
index 0000000..4cedc4a
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/Defeat1.def
@@ -0,0 +1,74 @@
+MISSION
+
+name: "Cmpn 02 Defeat 01"
+type: "Patrol"
+system: "Solus"
+region: "Solus"
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/def1.txt"
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+element: {
+ name: "Kitts"
+ design: "Wolf"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ loc: (185e3, -280e3, 0)
+}
+
+element: {
+ name: "Lovo"
+ design: "Baikal"
+ commander: "Kitts"
+ mission: "Misc"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 2
+ playable: false
+ loc: (187e3, -281e3, 0)
+}
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+
+event: { event: Camera, param: 3, target: "body:Solus", vec: (3,0,4e6) }
+event: { event: Camera, param: 5, vec: (0.06, 0.002, 0.01) }
+
+event: { event: Display, message: "Operation Highland", font: Limerick18, color: 0xffffff80, fade: (0,73,0), rect: (20,20, 300,100) }
+event: { event: Display, message: "Defeat", font: Limerick18, color: 0xffffff80, fade: (0,73,0), rect: (20,42, 300,100) }
+
+event: {
+ event: Message
+ time: 2
+ sound: "Vox/Scenes/02/End_02_Defeat.ogg"
+}
+
+event: { event: Camera, time: 20, param: 3, target: "Kitts", vec: (1,0.05,4e3) }
+event: { event: Camera, param: 5, vec: (-0.08,-0.005, 0.01) }
+
+event: { event: Display, time: 40, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (1,10,0), rect: (0,0,0,0) }
+
+event: { event: EndScene, time: 42, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/Defeat2.def b/data/content/Campaigns/02/Scenes/Defeat2.def
new file mode 100644
index 0000000..8c85339
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/Defeat2.def
@@ -0,0 +1,99 @@
+MISSION
+
+name: "Cmpn 02 Defeat 02"
+type: "Patrol"
+system: "Renser"
+region: "Khaital"
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/def2.txt"
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+element: {
+ name: Ironhelm
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (0, 0, 0)
+ region: Khaital
+ navpt: { cmd: Vector, loc: (0,-50e3,0), speed: 750, rgn: Khaital }
+}
+
+element: {
+ name: Mattock
+ design: Broadsword
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (10e3, 2e3, 0)
+ region: Khaital
+ navpt: { cmd: Vector, loc: (-10e3,-50e3,0), speed: 750, rgn: Khaital }
+}
+
+element: {
+ name: "Oak Hall"
+ design: Tiger
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (5e3, 6e3, 0)
+ region: Khaital
+ navpt: { cmd: Vector, loc: (-2e3,-50e3,0), speed: 750, rgn: Khaital }
+}
+
+element: {
+ name: "North Point"
+ design: Tiger
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 2
+ loc: (-5e3, -4e3, 0)
+ region: Khaital
+ navpt: { cmd: Vector, loc: (11e3,-50e3,0), speed: 750, rgn: Khaital }
+}
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+
+event: { event: Camera, param: 3, target: "body:Khaital", vec: (1,0,4e6) }
+event: { event: Camera, param: 5, vec: (0.06, 0.002, 0.01) }
+
+event: { event: Display, message: "Operation Highland", font: Limerick18, color: 0xffffff80, fade: (0,73,0), rect: (20,20, 300,100) }
+event: { event: Display, message: "Defeat", font: Limerick18, color: 0xffffff80, fade: (0,73,0), rect: (20,42, 300,100) }
+
+event: {
+ event: Message
+ time: 2
+ sound: "Vox/Scenes/02/End_03_Defeat.ogg"
+}
+
+event: { event: Camera, time: 15, param: (6,30), target: Ironhelm }
+
+event: { event: Display, time: 33, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (1,10,0), rect: (0,0,0,0) }
+
+event: { event: EndScene, time: 35, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/M1-Catching-Up.def b/data/content/Campaigns/02/Scenes/M1-Catching-Up.def
new file mode 100644
index 0000000..c47d8f1
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/M1-Catching-Up.def
@@ -0,0 +1,58 @@
+MISSION
+
+name: "Cmpn 02 Mail 01"
+type: "Patrol"
+system: "Solus"
+region: "Solus"
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+
+event: { event: Display, message: "MAIL", font: Limerick18, color: 0xffffffff, fade: (0,73,0), rect: (20,20, 300,100) }
+
+event: { event: Display, time: 1, message: "Decoding Path...", fade: (0,2,0), rect: (20, 40, 600,150), font: OCRB, color: 0xff33ff44, sound: "Bleep6.wav" }
+
+event: { event: Display, time: 3, message: "Decoding Content...", fade: (0,2,0), rect: (20,190, 600,800), font: OCRB, color: 0xff33ff44, sound: "Bleep12.wav" }
+
+event: { event: Display, fade: (0,67,0), rect: (20,40, 600,150), font: OCRB, color: 0xff33ff44,
+ message: "TO: $RANK $NAME\nCO: $GROUP\nFM: Capt. Jonas Devlin - Magellan IV\nRE: CATCHING UP\n-----\nPATH: Magellan IV Shipboard | Loris Station | Northeast Transceiver 4 | Silessian Outer Relay | Silessian Inner Relay | Janek Station Courier Drop | 3RD FLEET HQ | Trellis Relay | $GROUP\n-----" }
+
+event: { event: Display, time: 5, fade: (0,65,0), rect: (20,190, 600,800), font: OCRB, color: 0xff33ff44,
+ message: "Hey Mate!\n\nI just heard about your promotion and wanted to say congratulations! Sorry I didn't get to give you a proper send-off before you shipped out.\n\nSo, the Force brass is starting to recognize your 'unique talents,' eh? You should have followed in my footsteps and joined the Independent Trade fleet. Too bad you had to get all respectable, you could have been a rich man by now. I'm not a rich man, but I'm sure you would have been. Next time I see you I'll have to remember to salute.\n\nCan't tell you too much from this end. The 'Maggie' just put in for a forty-hour stopover in Loris on the way through to 'parts unknown'. Don't ask me no questions, and I'll tell you no lies. But just between you and me, watch your tail out there, all right?\n\nHey, are you going to the Academy Reunion this year? We should be back in the core systems by then, and I've been meaning to ask the skipper of this here tub for some time off. If you complete your tour by then, I'll catch you at the bar. You can buy me a drink in exchange for that salute.\n\n--Jonas\n\nPS Have you heard from Sara lately? I haven't been able to track her down from way out here. If you talk to her, tell her 'I am the Doorway' for me. -J" }
+
+
+event: {
+ event: Message
+ time: 5
+ sound: "Vox/Scenes/02/Mail_01a.ogg"
+}
+
+event: {
+ event: Message
+ time: 32
+ sound: "Vox/Scenes/02/Mail_01b.ogg"
+}
+
+event: {
+ event: Message
+ time: 45
+ sound: "Vox/Scenes/02/Mail_01c.ogg"
+}
+
+
+event: { event: EndScene, time: 72, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/M2-New-Digs.def b/data/content/Campaigns/02/Scenes/M2-New-Digs.def
new file mode 100644
index 0000000..cbcf052
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/M2-New-Digs.def
@@ -0,0 +1,46 @@
+MISSION
+
+name: "Cmpn 02 Mail 02"
+type: "Patrol"
+system: "Jarnell"
+region: "Jarnell"
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+
+event: { event: Display, message: "MAIL", font: Limerick18, color: 0xffffffff, fade: (0,83,0), rect: (20,20, 300,100) }
+
+event: { event: Display, time: 1, message: "Decoding Path...", fade: (0,2,0), rect: (20, 40, 600,150), font: OCRB, color: 0xff33ff44, sound: "Bleep6.wav" }
+
+event: { event: Display, time: 3, message: "Decoding Content...", fade: (0,2,0), rect: (20,190, 600,800), font: OCRB, color: 0xff33ff44, sound: "Bleep12.wav" }
+
+event: { event: Display, fade: (0,77,0), rect: (20,40, 600,150), font: OCRB, color: 0xff33ff44,
+ message: "TO: $RANK $NAME\nCO: $GROUP\nFM: Sara Hunter - Ele'aan Consulate Jarnell\nRE: NEW DIGS\n-----\nPATH: Ele'aan Consular Net Center | Jarnell Main Traffic Relay | Athenar Terminus | Janek Station Courier Drop | 3RD FLEET HQ | Trellis Relay | $GROUP\n-----\n" }
+
+event: { event: Display, time: 5, fade: (0,75,0), rect: (20,190, 600,800), font: OCRB, color: 0xff33ff44,
+ message: "Hello,\n\nWell, we're finally just about moved in to the new Ele'aan Consular Center. My new position as the Junior Consular Liason to the Ele'aan Fusion rates a new office with a lovely view of the Endless Falls. At twilight, when the mist shroud catches the light of the setting sun, it's just breathtaking. Ever so much better than that sub-basement hovel I was lurking in on Borova. Yay me!\n\nThanks for relaying that message from Jonas. 'I am the Doorway' Honestly, he's such a character. [giggle] I don't even know where he could have heard that expression - it's part of an old Ele'aan greeting and farewell ritual. The Ele'aans are an advanced race, but they can be pretty inscrutable at times, even for me.\n\nIn fact, right now they are all agitated about the Zolon Empire for some reason. They won't tell anybody what's going on, but I get little bits of messages here and there, and they are definitely worried about something, if you can believe that.\n\nSay, if you talk to Jonas again, see if he knows anything about Zolon activity. I know his trade routes take him through the northern Hegemony systems. I don't know if he's ever been out as far as Nephrys in all his wanderings. That's right on the border of Zolon space. Maybe he's seen or heard something out there...\n\nAnyway, congratulations on your promotion! I knew you'd hit the big time eventually. [grin]\n\nLove from\nSara" }
+
+
+event: {
+ event: Message
+ time: 5
+ sound: "Vox/Scenes/02/Mail_02_New_Digs.ogg"
+}
+
+
+event: { event: EndScene, time: 80, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/M3-Why-Renser.def b/data/content/Campaigns/02/Scenes/M3-Why-Renser.def
new file mode 100644
index 0000000..d768606
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/M3-Why-Renser.def
@@ -0,0 +1,46 @@
+MISSION
+
+name: "Cmpn 02 Mail 03"
+type: "Patrol"
+system: "Jarnell"
+region: "Jarnell"
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+
+event: { event: Display, message: "MAIL", font: Limerick18, color: 0xffffffff, fade: (0,46,0), rect: (20,20, 300,100) }
+
+event: { event: Display, time: 1, message: "Decoding Path...", fade: (0,2,0), rect: (20, 40, 600,150), font: OCRB, color: 0xff33ff44, sound: "Bleep6.wav" }
+
+event: { event: Display, time: 3, message: "Decoding Content...", fade: (0,2,0), rect: (20,190, 600,800), font: OCRB, color: 0xff33ff44, sound: "Bleep12.wav" }
+
+event: { event: Display, fade: (0,42,0), rect: (20,40, 600,150), font: OCRB, color: 0xff33ff44,
+ message: "TO: $RANK $NAME\nCO: $GROUP\nFM: Sara Hunter - Ele'aan Consulate Jarnell\nRE: WHY RENSER?\n-----\nPATH: PATH: Ele'aan Consular Net Center | Jarnell Main Traffic Relay | Athenar Terminus | Janek Station Courier Drop | 3RD FLEET HQ | Trellis Relay | Renser Temporary Transceiver | $GROUP\n-----\n" }
+
+event: { event: Display, time: 5, fade: (0,40,0), rect: (20,190, 600,800), font: OCRB, color: 0xff33ff44,
+ message: "Why are we attacking Renser now? The Separatists started this fight, not the Hegemony. How is this going to help stabilize the crisis in Solus, or improve the safety of the Alliance?\n\nThe Ele'aan Ambassador, Councilor Auris was most... well, I don't think 'upset' is the right word. But he seemed very disconcerted about the potential consequences of this invasion during the Council meeting this morning. I think the Ele'aan delegation tried to talk President Valmar out of this action - I think they wanted him to leave well enough alone and stay out of Hegemony internal affairs.\n\nI hope you're all right out there... I'm worried that we are throwing away lives on a foolish errand, and risking far more in the long run... Just tell me you'll stay safe, OK?\n\nLove from\nSara" }
+
+
+event: {
+ event: Message
+ time: 5
+ sound: "Vox/Scenes/02/Mail_03_Why_Renser.ogg"
+}
+
+
+event: { event: EndScene, time: 46, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Scenes/Victory1.def b/data/content/Campaigns/02/Scenes/Victory1.def
new file mode 100644
index 0000000..53112c6
--- /dev/null
+++ b/data/content/Campaigns/02/Scenes/Victory1.def
@@ -0,0 +1,94 @@
+MISSION
+
+name: "Cmpn 02 Victory"
+type: "Patrol"
+system: "Renser"
+region: "Renser"
+
+sitrep: "Unknown"
+objective: "Unspecified"
+subtitles: "Campaigns/02/Actions/campaign_end.txt"
+
+element: {
+ name: Falcon
+ design: CameraPod
+ mission: Misc
+
+ intel: Secret
+ count: 1
+ iff: 1
+ player: 1
+ loc: (0, 0, 0)
+}
+
+element: {
+ name: "Archon"
+ design: "Orion"
+ mission: "Flight Ops"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Renser
+ loc: (-140e3, 160e3, 0)
+ navpt: { cmd: Vector, loc: (-140,-50e3,0), speed: 350, rgn: Renser }
+}
+
+element: {
+ name: "Stalwart"
+ design: "Courageous"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Renser
+ loc: (-125e3, 155e3, 0)
+ navpt: { cmd: Vector, loc: (-125e3,-50e3,0), speed: 350, rgn: Renser }
+}
+
+element: {
+ name: "Gerson"
+ design: "Asher"
+ commander: "Archon"
+ mission: "Escort"
+
+ intel: "Known"
+ count: 1
+ command_ai:1
+ iff: 1
+ playable: false
+ region: Renser
+ loc: (-154e3, 174e3, 0)
+ navpt: { cmd: Vector, loc: (-154,-50e3,0), speed: 350, rgn: Renser }
+}
+
+
+
+event: { event: BeginScene, time: 0, message: "Scene 1" }
+
+event: { event: Camera, param: 3, target: "body:Renser", vec: (1,0,5e6) }
+event: { event: Camera, param: 5, vec: (0.06, 0.002, 0.01) }
+
+event: { event: Display, message: "Operation Highland", font: Limerick18, color: 0xffffff80, fade: (0,73,0), rect: (20,20, 300,100) }
+event: { event: Display, message: "Victory", font: Limerick18, color: 0xffffff80, fade: (0,73,0), rect: (20,42, 300,100) }
+
+event: {
+ event: Message
+ time: 2
+ sound: "Vox/Scenes/02/End_01_Victory.ogg"
+}
+
+event: { event: Camera, time: 15, param: (6,22), target: Archon }
+
+event: { event: Display, time: 33, image: "Campaigns/02/Scenes/Black.pcx", color: 0xffffffff, fade: (1,10,0), rect: (0,0,0,0) }
+
+event: { event: EndScene, time: 35, message: "Scene 1" }
+event: { event: Exit }
+
+// EOF
diff --git a/data/content/Campaigns/02/Templates/DS_Escort_03.def b/data/content/Campaigns/02/Templates/DS_Escort_03.def
new file mode 100644
index 0000000..5e79464
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/DS_Escort_03.def
@@ -0,0 +1,175 @@
+MISSION_TEMPLATE
+
+name: "Freight Escort"
+type: ESCORT_FREIGHT
+system: Solus
+region: Trellis
+degrees: true
+
+alias: { name: FC1, elem: "Trellis-Solus" }
+alias: { name: Obs, elem: "Tal Vesta Stellar Observatory" }
+
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+
+element: {
+ name: Ward,
+ design: TypeIII,
+ rloc: { ref: FC1, dex: 180e3, dex_var: 50e3, el: 0, el_var: 0 },
+ mission: freight,
+ count: 1,
+ iff: 1,
+ intel: tracked,
+ hold: 900,
+
+ navpt: { cmd: vector, rloc: { ref: Ward, dex: 50e3, dex_var:10e3, el: 0, el_var: 0 }, speed: 450, rgn: Trellis },
+ navpt: { cmd: vector, rloc: { ref: Obs, dex: 40e3, dex_var:10e3, el: 0, el_var: 0 }, speed: 450, rgn: Meridian },
+}
+
+ward: Ward
+
+alias: {
+ name: Player,
+ code: player,
+ mission: escort_freight,
+
+ navpt: { cmd: vector, rloc: { ref: "Ward", dex: 15e3, az: 270, az_var: 20, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward:1", dex: 10e3, az: 270, az_var: 30, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward:2", dex: 7e3, az: 270, az_var: 20, el_var: 0 }, speed: 500, rgn: Meridian },
+ navpt: { cmd: rtb, rloc: { ref: Player, dex: 20e3, el_var: 0 }, speed: 250, rgn: Trellis },
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: escort, tgt: Ward, tgt_desc: "the merchant vessel" },
+}
+
+event: {
+ id: 1,
+ event: Hold,
+ event_ship: Ward,
+ event_param: 0,
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 1,
+}
+
+event: {
+ id: 2,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-01.ogg",
+ event_message: "vox.misc.a01-01",
+ event_chance: 50,
+
+ trigger: Event,
+ trigger_param: 1,
+ delay: 1,
+}
+
+event: {
+ id: 5,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-07.ogg",
+ event_message: "vox.misc.a01-07",
+ event_chance: 50,
+
+ trigger: Navpoint,
+ trigger_ship: Ward,
+ trigger_param: 3,
+}
+
+event: {
+ id: 6,
+ event: Message,
+ event_ship: Player,
+ sound: "Vox/Misc/A01-08.ogg",
+ event_message: "vox.misc.a01-08",
+
+ trigger: Event,
+ trigger_param: 5,
+ delay: 2,
+}
+
+event: {
+ id: 7,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-06.ogg",
+ event_message: "vox.misc.a01-06",
+
+ trigger: Navpoint,
+ trigger_ship: Ward,
+ trigger_param: 4,
+ delay: 2,
+}
+
+// ALTERNATE MESSAGES:
+event: {
+ id: 102,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-09.ogg",
+ event_message: "vox.misc.a01-09",
+
+ trigger: Skipped,
+ trigger_param: 2,
+}
+
+event: {
+ id: 105,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-10.ogg",
+ event_message: "vox.misc.a01-10",
+
+ trigger: Skipped,
+ trigger_param: 5,
+}
+
+event: {
+ id: 106,
+ event: Message,
+ event_ship: Player,
+ sound: "Vox/Misc/A01-11.ogg",
+ event_message: "vox.misc.a01-11",
+
+ trigger: Event,
+ trigger_param: 105,
+ delay: 5,
+}
+
+optional: {
+ min: 1,
+ max: 2,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ rloc: { ref: "Ward:1", dex: 75e3, az: 200, az_var: 30 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "Ship Strike" },
+ intel: secret,
+
+ navpt: { cmd: assault, tgt: Ward, rloc: { ref: "Ward:1", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 800, rgn: Trellis },
+ },
+
+ element: {
+ name: Bravo,
+ design: Razor,
+ region: Meridian,
+ rloc: { ref: "Ward:2", dex: 170e3, az: 90, az_var: 45 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "Ship Strike" },
+ intel: secret,
+
+ navpt: { cmd: assault, tgt: Ward, rloc: { ref: "Ward:2", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 800, rgn: Meridian },
+ },
+}
diff --git a/data/content/Campaigns/02/Templates/FS_Escort_01.def b/data/content/Campaigns/02/Templates/FS_Escort_01.def
new file mode 100644
index 0000000..5b4a6bc
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/FS_Escort_01.def
@@ -0,0 +1,222 @@
+MISSION_TEMPLATE
+
+name: "Humanitarian Aid"
+type: ESCORT_FREIGHT
+system: Solus
+region: Trellis
+degrees: true
+
+alias: { name: A1, code: player_carrier }
+alias: { name: A2, code: player_squadron }
+alias: { name: FC1, elem: "Trellis-Solus" }
+alias: { name: FC2, elem: "Solus-Trellis" }
+
+callsign: { name: Player, iff: 1 }
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+
+element: {
+ name: Ward,
+ design: IM2800,
+ rloc: { ref: A1, dex: 130e3, dex_var: 15e3, az: 70, az_var: 30 },
+ mission: cargo,
+ count: 1,
+ iff: 0,
+ intel: tracked,
+ hold: 900,
+
+ navpt: { cmd: vector, rloc: { ref: FC1, dex: 99e3, dex_var:10e3, az: 180, az_var: 45, el_var: 0 }, speed: 520, rgn: Trellis },
+ navpt: { cmd: vector, rloc: { ref: FC1, dex: 30e3, dex_var: 3e3, az: 180, az_var: 3, el_var: 0 }, speed: 520, rgn: Trellis },
+ navpt: { cmd: vector, rloc: { ref: FC2, dex: 25e3, az: 0, az_var: 0, el_var: 0 }, speed: 520, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: FC2, dex:100e3, dex_var:30e3, az: 0, az_var: 60, el_var: 0 }, speed: 400, rgn: Solus },
+}
+
+ward: Ward
+
+element: {
+ name: Player,
+ design: Stormhawk,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 20e3, dex_var: 1e3 },
+ mission: escort_freight,
+
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+
+ navpt: { cmd: vector, rloc: { ref: "Ward", dex: 15e3, az: 270, az_var: 20, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward:1", dex: 10e3, az: 270, az_var: 30, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward:2", dex: 7e3, az: 270, az_var: 20, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward:3", dex: 10e3, az: 0, az_var: 10, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: escort, rloc: { ref: "Ward:4", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 500, rgn: Solus },
+
+ navpt: { cmd: vector, rloc: { ref: FC2, dex: 30e3, dex_var: 5e3, az: 180, az_var:25, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: A1, dex: 30e3, dex_var: 2e3, az: 180, az_var:75, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: rtb, rloc: { ref: A1, dex: 20e3, az: 180, az_var: 0, el_var: 0 }, speed: 250, rgn: Trellis },
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: escort, tgt: Ward, tgt_desc: "the merchant vessel" },
+ objective: { cmd: rtb },
+
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+event: {
+ id: 1,
+ event: Hold,
+ event_ship: Ward,
+ event_param: 0,
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 1,
+}
+
+event: {
+ id: 2,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-01.ogg",
+ event_message: "vox.misc.a01-01",
+ event_chance: 35,
+
+ trigger: Event,
+ trigger_param: 1,
+ delay: 1,
+}
+
+event: {
+ id: 3,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-02.ogg",
+ event_message: "vox.misc.a01-02",
+
+ trigger: Navpoint,
+ trigger_ship: Ward,
+ trigger_param: 2,
+ delay: 1,
+}
+
+event: {
+ id: 4,
+ event: Message,
+ event_ship: Player,
+ sound: "Vox/Misc/A01-03.ogg",
+ event_message: "vox.misc.a01-03",
+
+ trigger: Event,
+ trigger_param: 3,
+ delay: 2,
+}
+
+event: {
+ id: 5,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-07.ogg",
+ event_message: "vox.misc.a01-07",
+ event_chance: 50,
+
+ trigger: Navpoint,
+ trigger_ship: Ward,
+ trigger_param: 3,
+}
+
+event: {
+ id: 6,
+ event: Message,
+ event_ship: Player,
+ sound: "Vox/Misc/A01-08.ogg",
+ event_message: "vox.misc.a01-08",
+
+ trigger: Event,
+ trigger_param: 5,
+ delay: 2,
+}
+
+event: {
+ id: 7,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-06.ogg",
+ event_message: "vox.misc.a01-06",
+
+ trigger: Navpoint,
+ trigger_ship: Ward,
+ trigger_param: 4,
+ delay: 2,
+}
+
+// ALTERNATE MESSAGES:
+event: {
+ id: 102,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-09.ogg",
+ event_message: "vox.misc.a01-09",
+
+ trigger: Skipped,
+ trigger_param: 2,
+}
+
+event: {
+ id: 105,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-10.ogg",
+ event_message: "vox.misc.a01-10",
+
+ trigger: Skipped,
+ trigger_param: 5,
+}
+
+event: {
+ id: 106,
+ event: Message,
+ event_ship: Player,
+ sound: "Vox/Misc/A01-11.ogg",
+ event_message: "vox.misc.a01-11",
+
+ trigger: Event,
+ trigger_param: 105,
+ delay: 5,
+}
+
+optional: {
+ min: 1,
+ max: 2,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ rloc: { ref: "Ward:1", dex: 135e3, az: 200, az_var: 30 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+
+ navpt: { cmd: intercept, tgt: Player, rloc: { ref: "Ward:1", dex: 40e3, az: 200, az_var: 30 }, speed: 300, rgn: Trellis },
+ },
+
+ element: {
+ name: Bravo,
+ design: Razor,
+ region: Solus,
+ rloc: { ref: "Ward:4", dex: 140e3, az: 180, az_var: 45 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "Ship Strike" },
+ intel: secret,
+
+ navpt: { cmd: assault, tgt: Ward, rloc: { ref: "Ward:4", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 200, rgn: Solus },
+ },
+}
diff --git a/data/content/Campaigns/02/Templates/FS_Escort_02.def b/data/content/Campaigns/02/Templates/FS_Escort_02.def
new file mode 100644
index 0000000..449dc46
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/FS_Escort_02.def
@@ -0,0 +1,255 @@
+MISSION_TEMPLATE
+
+name: "Harmony Run"
+type: ESCORT_FREIGHT
+system: Solus
+region: Trellis
+degrees: true
+
+alias: { name: A1, code: player_carrier }
+alias: { name: A2, code: player_squadron }
+alias: { name: FC1, elem: "Trellis-Solus" }
+alias: { name: FC2, elem: "Solus-Trellis" }
+alias: { name: FC3, elem: "Solus-Kalon" }
+alias: { name: FC4, elem: "Kalon-Solus" }
+alias: { name: HS, elem: "Harmony" }
+
+callsign: { name: Player, iff: 1 }
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+callsign: { name: Charlie, iff: 2 }
+callsign: { name: Echo, iff: 2 }
+
+element: {
+ name: Ward1,
+ design: IM2800,
+ region: Trellis,
+ rloc: { ref: A1, dex: 130e3, dex_var: 15e3, az: 70, az_var: 30 },
+ mission: cargo,
+ count: 1,
+ iff: 0,
+ intel: tracked,
+ hold: 900,
+
+ navpt: { cmd: vector, rloc: { ref: FC1, dex: 99e3, dex_var:10e3, az: 180, az_var: 45, el_var: 0 }, speed: 530, rgn: Trellis },
+ navpt: { cmd: vector, rloc: { ref: FC1, dex: 30e3, dex_var: 3e3, az: 180, az_var: 3, el_var: 0 }, speed: 530, rgn: Trellis },
+ navpt: { cmd: vector, rloc: { ref: FC2, dex: 25e3, az: 0, az_var: 3, el_var: 0 }, speed: 520, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: FC3, dex: 20e3, dex_var: 3e3, az: 180, az_var: 5, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: FC4, dex: 50e3, dex_var: 5e3, az: 0, az_var: 60, el_var: 0 }, speed: 500, rgn: Kalon },
+ navpt: { cmd: vector, rloc: { ref: HS, dex: 90e3, dex_var:30e3 }, speed: 450, rgn: Kalon },
+}
+
+ward: Ward1
+
+element: {
+ name: Ward2,
+ design: IM2800,
+ region: Solus,
+ rloc: { ref: FC2, dex: 28e3, dex_var: 3e3, az: 0, az_var: 30 },
+ mission: cargo,
+ count: 1,
+ iff: 0,
+ intel: tracked,
+ hold: 1800,
+
+ navpt: { cmd: vector, rloc: { ref: FC3, dex: 22e3, dex_var: 6e3, az: 180, az_var: 5, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: FC4, dex: 50e3, dex_var:20e3, az: 0, az_var: 60, el_var: 0 }, speed: 500, rgn: Kalon },
+ navpt: { cmd: vector, rloc: { ref: HS, dex: 90e3, dex_var:30e3 }, speed: 450, rgn: Kalon },
+}
+
+element: {
+ name: Player,
+ design: Stormhawk,
+ squadron: A2,
+ commander: A1,
+ region: Trellis,
+ rloc: { ref: A1, dex: 20e3, dex_var: 1e3 },
+ mission: escort_freight,
+
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+
+ navpt: { cmd: vector, rloc: { ref: "Ward1", dex: 15e3, az: 270, az_var: 20, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward1:1", dex: 10e3, az: 270, az_var: 30, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward1:2", dex: 10e3, az: 270, az_var: 20, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward1:3", dex: 10e3, az: 0, az_var: 10, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: escort, rloc: { ref: "Ward1:4", dex: 10e3, az: 180, az_var: 20, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: escort, rloc: { ref: "Ward1:5", dex: 10e3, az: 180, az_var: 20, el_var: 0 }, speed: 500, rgn: Kalon },
+ navpt: { cmd: escort, rloc: { ref: "Ward1:6", dex: 10e3, az: 180, az_var: 20, el_var: 0 }, speed: 500, rgn: Kalon },
+
+ navpt: { cmd: vector, rloc: { ref: FC4, dex: 28e3, dex_var: 3e3, az: 180, az_var: 5, el_var: 0 }, speed: 500, rgn: Kalon },
+ navpt: { cmd: vector, rloc: { ref: FC3, dex: 18e3, dex_var: 3e3, az: 0, az_var: 5, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: FC2, dex: 28e3, dex_var: 3e3, az: 180, az_var: 5, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: A1, dex: 60e3, dex_var: 5e3, az: 150, az_var: 5, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: rtb, rloc: { ref: A1, dex: 20e3, az: 180, az_var: 0, el_var: 0 }, speed: 250, rgn: Trellis },
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: escort, tgt: Ward1, tgt_desc: "the merchant vessel" },
+ objective: { cmd: escort, tgt: Ward2, tgt_desc: "the merchant vessel" },
+ objective: { cmd: rtb },
+
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+event: {
+ id: 1,
+ event: Hold,
+ event_ship: Ward1,
+ event_param: 0,
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 1,
+}
+
+event: {
+ id: 2,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward1,
+ sound: "Vox/Misc/A01-01.ogg",
+ event_message: "vox.misc.a01-01",
+
+ trigger: Event,
+ trigger_param: 1,
+ delay: 1,
+}
+
+event: {
+ id: 3,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward1,
+ sound: "Vox/Misc/A01-02.ogg",
+ event_message: "vox.misc.a01-02",
+
+ trigger: Navpoint,
+ trigger_ship: Ward1,
+ trigger_param: 2,
+ delay: 1,
+}
+
+event: {
+ id: 4,
+ event: Message,
+ event_ship: Player,
+ sound: "Vox/Misc/A01-03.ogg",
+ event_message: "vox.misc.a01-03",
+
+ trigger: Event,
+ trigger_param: 3,
+ delay: 2,
+}
+
+event: {
+ id: 5,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-04.ogg",
+ event_message: "vox.misc.a01-04",
+
+ trigger: Navpoint,
+ trigger_ship: Ward1,
+ trigger_param: 3,
+}
+
+event: {
+ id: 6,
+ event: Message,
+ event_ship: Player,
+ sound: "Vox/Misc/A01-05.ogg",
+ event_message: "vox.misc.a01-05",
+
+ trigger: Event,
+ trigger_param: 5,
+ delay: 2,
+}
+
+event: {
+ id: 7,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward1,
+ sound: "Vox/Misc/A01-06.ogg",
+ event_message: "vox.misc.a01-06",
+
+ trigger: Navpoint,
+ trigger_ship: Ward1,
+ trigger_param: 6,
+ delay: 2,
+}
+
+event: {
+ id: 8,
+ event: Hold,
+ event_ship: Ward2,
+ event_param: 0,
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 4,
+}
+
+optional: {
+ min: 1,
+ max: 2,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ rloc: { ref: "Ward:1", dex: 135e3, az: 200, az_var: 30 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+
+ navpt: { cmd: intercept, tgt: Player, rloc: { ref: "Ward1:1", dex: 40e3, az: 200, az_var: 30 }, speed: 300, rgn: Trellis },
+ },
+
+ element: {
+ name: Bravo,
+ design: Razor,
+ region: Solus,
+ rloc: { ref: "Ward1:4", dex: 140e3, az: 180, az_var: 45 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "Ship Strike" },
+ intel: secret,
+
+ navpt: { cmd: assault, tgt: Ward1, rloc: { ref: "Ward1:4", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 200, rgn: Solus },
+ },
+}
+
+optional: {
+ min: 1,
+ max: 2,
+
+ element: {
+ name: Charlie,
+ design: Viper,
+ region: Kalon,
+ rloc: { ref: "Ward1:6", dex: 135e3, az: 200, az_var: 30 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+
+ navpt: { cmd: intercept, tgt: Player, rloc: { ref: "Ward1:5", dex: 40e3, az: 200, az_var: 30 }, speed: 300, rgn: Kalon },
+ },
+
+ element: {
+ name: Echo,
+ design: Razor,
+ region: Kalon,
+ rloc: { ref: "Ward1:6", dex: 140e3, az: 180, az_var: 45 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "Ship Strike" },
+ intel: secret,
+
+ navpt: { cmd: assault, tgt: Ward2, rloc: { ref: "Ward1:5", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 200, rgn: Kalon },
+ },
+}
diff --git a/data/content/Campaigns/02/Templates/FS_Patrol_01.def b/data/content/Campaigns/02/Templates/FS_Patrol_01.def
new file mode 100644
index 0000000..1e23f72
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/FS_Patrol_01.def
@@ -0,0 +1,135 @@
+MISSION_TEMPLATE
+
+name: "Fighter Patrol 1"
+type: PATROL
+degrees: true
+
+alias: { name: A1, code: player_carrier }
+alias: { name: A2, code: player_squadron }
+
+callsign: { name: Player, iff: 1 }
+callsign: { name: Hector, iff: 1 }
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+callsign: { name: Charlie, iff: 2 }
+callsign: { name: Delta, iff: 2 }
+callsign: { name: Echo, iff: 2 }
+
+element: {
+ name: Player,
+ design: Stormhawk,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 20e3, dex_var: 1e3 },
+ mission: patrol,
+
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+
+ navpt: { cmd: patrol, rloc: { ref: A1, dex: 140e3, dex_var: 35e3, az: 0, az_var: 30 }, speed: 750 },
+ navpt: { cmd: patrol, rloc: { ref: "this:1", dex: 130e3, dex_var: 15e3, az: 90, az_var: 30 }, speed: 750 },
+ navpt: { cmd: patrol, rloc: { ref: "this:2", dex: 100e3, dex_var: 15e3, az: 180, az_var: 30 }, speed: 750 },
+ navpt: { cmd: vector, rloc: { ref: A1, dex: 40e3, az: 150, az_var: 5 }, speed: 500 },
+ navpt: { cmd: rtb, rloc: { ref: A1, dex: 20e3, az: 180, az_var: 0 }, speed: 250 },
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: defend, tgt: Ward, tgt_desc: "the star freighter" },
+ objective: { cmd: rtb },
+
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+element: {
+ name: Hector,
+ design: Stormhawk,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 60e3, dex_var: 20e3 },
+ mission: patrol,
+ count: 2,
+ iff: 1,
+}
+
+optional: {
+ min: 0,
+ max: 1,
+
+ element: {
+ name: Ward,
+ design: IM2800,
+ rloc: { ref: "Player:3", dex: 40e3, dex_var: 17e3 },
+ count: 1,
+ iff: 0,
+ intel: known,
+ navpt: { cmd: vector, rloc: { ref: "Player:2", dex: 30e3, dex_var: 10e3 }, speed: 400 },
+ navpt: { cmd: vector, rloc: { ref: "Player:1", dex: 50e3, dex_var: 10e3 }, speed: 400 },
+ },
+
+ element: {
+ name: Ward,
+ design: IM2800,
+ rloc: { ref: "Player:1", dex: 40e3, dex_var: 17e3 },
+ count: 1,
+ iff: 0,
+ intel: known,
+ navpt: { cmd: vector, rloc: { ref: "Player:2", dex: 30e3, dex_var: 10e3 }, speed: 400 },
+ navpt: { cmd: vector, rloc: { ref: "Player:3", dex: 50e3, dex_var: 10e3 }, speed: 400 },
+ },
+}
+
+optional: {
+ min: 3,
+ max: 4,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ rloc: { ref: "Player:1", dex: 30e3, dex_var: 5e3 },
+ count: 4,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+
+ element: {
+ name: Bravo,
+ design: Razor,
+ rloc: { ref: "Player:2", dex: 20e3, dex_var: 5e3 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: secret,
+ },
+
+ element: {
+ name: Charlie,
+ design: Viper,
+ rloc: { ref: "Player:2", dex: 33e3, dex_var: 5e3 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+
+ element: {
+ name: Delta,
+ design: Viper,
+ rloc: { ref: "Player:3", dex: 25e3, dex_var: 5e3 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+
+ element: {
+ name: Echo,
+ design: Razor,
+ rloc: { ref: "Player:3", dex: 45e3, dex_var: 9e3 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: secret,
+ },
+}
diff --git a/data/content/Campaigns/02/Templates/FS_Patrol_02.def b/data/content/Campaigns/02/Templates/FS_Patrol_02.def
new file mode 100644
index 0000000..4f9720e
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/FS_Patrol_02.def
@@ -0,0 +1,123 @@
+MISSION_TEMPLATE
+
+name: "Fighter Patrol 2"
+type: PATROL
+degrees: true
+
+alias: { name: A1, code: player_carrier }
+alias: { name: A2, code: player_squadron }
+
+callsign: { name: Player, iff: 1 }
+callsign: { name: Helper, iff: 1 }
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+callsign: { name: Charlie, iff: 2 }
+callsign: { name: Echo, iff: 2 }
+
+element: {
+ name: Player,
+ design: Stormhawk,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 20e3, dex_var: 1e3 },
+ mission: patrol,
+
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+
+ navpt: { cmd: patrol, rloc: { ref: A1, dex: 130e3, dex_var: 35e3, az: 0, az_var: 20 }, speed: 750 },
+ navpt: { cmd: patrol, rloc: { ref: "this:1", dex: 150e3, dex_var: 25e3, az: 90, az_var: 20 }, speed: 750 },
+ navpt: { cmd: patrol, rloc: { ref: "this:2", dex: 110e3, dex_var: 15e3, az: 170, az_var: 20 }, speed: 750 },
+ navpt: { cmd: vector, rloc: { ref: A1, dex: 40e3, az: 140, az_var: 10 }, speed: 500 },
+ navpt: { cmd: rtb, rloc: { ref: A1, dex: 20e3, az: 180, az_var: 0 }, speed: 250 },
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: rtb },
+
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+element: {
+ name: Helper,
+ design: Falcon,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 55e3, dex_var: 25e3, az: -20, az_var: 10 },
+ mission: patrol,
+ count: 2,
+ iff: 1,
+}
+
+optional: {
+ min: 0,
+ max: 1,
+
+ element: {
+ name: Test,
+ design: IM2800,
+ rloc: { ref: "Player:1", dex: 40e3, dex_var: 17e3 },
+ count: 1,
+ iff: 2,
+ intel: secret,
+ navpt: { cmd: vector, rloc: { ref: "Player:3", dex: 50e3, dex_var: 10e3 }, speed: 350 },
+ },
+
+ element: {
+ name: Test,
+ design: IM2800,
+ rloc: { ref: "Player:3", dex: 40e3, dex_var: 17e3 },
+ count: 1,
+ iff: 2,
+ intel: secret,
+ navpt: { cmd: vector, rloc: { ref: "Player:1", dex: 50e3, dex_var: 10e3 }, speed: 350 },
+ },
+}
+
+optional: {
+ min: 2,
+ max: 3,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ rloc: { ref: "Player:1", dex: 20e3, dex_var: 7e3 },
+ count: 4,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+
+ element: {
+ name: Bravo,
+ design: Viper,
+ rloc: { ref: "Player:2", dex: 25e3, dex_var: 5e3 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: secret,
+ },
+
+ optional: { min: 2, max: 2,
+ element: {
+ name: Charlie,
+ design: Cobra,
+ rloc: { ref: "Player:3", dex: 25e3, dex_var: 5e3 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "Ship Strike" },
+ intel: secret,
+ },
+
+ element: {
+ name: Echo,
+ design: Viper,
+ rloc: { ref: Charlie, dex: 18e3, dex_var: 2e3 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+ },
+}
diff --git a/data/content/Campaigns/02/Templates/FS_Patrol_03.def b/data/content/Campaigns/02/Templates/FS_Patrol_03.def
new file mode 100644
index 0000000..710d72a
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/FS_Patrol_03.def
@@ -0,0 +1,119 @@
+MISSION_TEMPLATE
+
+name: "Fighter Patrol 3"
+type: PATROL
+degrees: true
+
+alias: { name: A1, code: player_carrier }
+alias: { name: A2, code: player_squadron }
+
+callsign: { name: Player, iff: 1 }
+callsign: { name: Helper, iff: 1 }
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+callsign: { name: Delta, iff: 2 }
+
+element: {
+ name: Player,
+ design: Stormhawk,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 20e3, dex_var: 1e3 },
+ mission: patrol,
+
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+
+ navpt: { cmd: patrol, rloc: { ref: A1, dex: 150e3, dex_var: 35e3, az: 0, az_var: 15 }, speed: 750 },
+ navpt: { cmd: patrol, rloc: { ref: "this:1", dex: 160e3, dex_var: 35e3, az: 90, az_var: 15 }, speed: 750 },
+ navpt: { cmd: patrol, rloc: { ref: "this:2", dex: 130e3, dex_var: 25e3, az: 170, az_var: 15 }, speed: 750 },
+ navpt: { cmd: vector, rloc: { ref: A1, dex: 40e3, az: 140, az_var: 10 }, speed: 500 },
+ navpt: { cmd: rtb, rloc: { ref: A1, dex: 20e3, az: 180, az_var: 0 }, speed: 250 },
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: rtb },
+
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+element: {
+ name: Helper,
+ design: Stormhawk,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 55e3, dex_var: 25e3, az: -20, az_var: 10 },
+ mission: patrol,
+ count: 2,
+ iff: 1,
+}
+
+optional: {
+ min: 0,
+ max: 1,
+
+ element: {
+ name: Test,
+ design: IM2800,
+ rloc: { ref: "Player:1", dex: 40e3, dex_var: 17e3 },
+ count: 1,
+ iff: 2,
+ intel: secret,
+ navpt: { cmd: vector, rloc: { ref: "Player:2", dex: 50e3, dex_var: 10e3 }, speed: 350 },
+ },
+
+ element: {
+ name: Test,
+ design: IM2800,
+ rloc: { ref: "Player:2", dex: 40e3, dex_var: 17e3 },
+ count: 1,
+ iff: 2,
+ intel: secret,
+ navpt: { cmd: vector, rloc: { ref: "Player:1", dex: 50e3, dex_var: 10e3 }, speed: 350 },
+ },
+}
+
+optional: {
+ min: 3,
+ max: 4,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ rloc: { ref: "Player:1", dex: 20e3, dex_var: 7e3 },
+ count: 4,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+
+ element: {
+ name: Charlie,
+ design: Baikal,
+ rloc: { ref: "Player:2", dex: 60e3, dex_var: 5e3, az: 0, az_var: 30 },
+ count: 1,
+ iff: 2,
+ intel: secret,
+ },
+
+ element: {
+ name: Bravo,
+ design: Razor,
+ rloc: { ref: "Player:3", dex: 25e3, dex_var: 5e3 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Short Range" },
+ intel: secret,
+ },
+
+ element: {
+ name: Delta,
+ design: Viper,
+ rloc: { ref: "Player:2", dex: 20e3, dex_var: 7e3 },
+ count: 4,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+}
diff --git a/data/content/Campaigns/02/Templates/FS_Patrol_HS.def b/data/content/Campaigns/02/Templates/FS_Patrol_HS.def
new file mode 100644
index 0000000..210535f
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/FS_Patrol_HS.def
@@ -0,0 +1,198 @@
+MISSION_TEMPLATE
+
+name: "Harmony Patrol"
+type: PATROL
+system: Solus
+region: Solus
+degrees: true
+
+alias: { name: A1, code: player_carrier }
+alias: { name: A2, code: player_squadron }
+alias: { name: FC1, elem: "Solus-Kalon" }
+alias: { name: FC2, elem: "Kalon-Solus" }
+alias: { name: HS, elem: "Harmony Station" }
+
+callsign: { name: Player, iff: 1 }
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+callsign: { name: Charlie, iff: 2 }
+callsign: { name: Echo, iff: 2 }
+
+ward: HS
+
+element: {
+ name: Player,
+ design: Stormhawk,
+ squadron: A2,
+ commander: A1,
+ region: Solus,
+ rloc: { ref: A1, dex: 20e3, dex_var: 1e3 },
+ mission: escort_freight,
+
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+
+ navpt: { cmd: vector, rloc: { ref: FC1, dex: 25e3, dex_var: 0, az: 180, az_var: 10, el_var: 0 }, speed: 500, rgn: Solus }, // 1
+ navpt: { cmd: vector, rloc: { ref: FC2, dex: 30e3, dex_var: 0, az: 0, az_var: 30, el_var: 0 }, speed: 500, rgn: Kalon }, // 2
+ navpt: { cmd: defend, rloc: { ref: HS, dex: 40e3, dex_var: 5e3, az: 0, az_var: 20, el_var: 2 }, speed: 500, rgn: Kalon }, // 3
+ navpt: { cmd: defend, rloc: { ref: HS, dex: 40e3, dex_var: 5e3, az: 270, az_var: 20, el_var: 2 }, speed: 500, rgn: Kalon }, // 4
+ navpt: { cmd: defend, rloc: { ref: HS, dex: 40e3, dex_var: 5e3, az: 180, az_var: 20, el_var: 2 }, speed: 500, rgn: Kalon }, // 5
+ navpt: { cmd: defend, rloc: { ref: HS, dex: 40e3, dex_var: 5e3, az: 90, az_var: 20, el_var: 2 }, speed: 500, rgn: Kalon }, // 6
+
+ navpt: { cmd: vector, rloc: { ref: FC2, dex: 25e3, dex_var: 1e3, az: 180, az_var: 5, el_var: 0 }, speed: 500, rgn: Kalon }, // 7
+ navpt: { cmd: vector, rloc: { ref: A1, dex: 60e3, dex_var: 5e3, az: 150, az_var: 5, el_var: 0 }, speed: 500, rgn: Solus }, // 8
+ navpt: { cmd: rtb, rloc: { ref: A1, dex: 20e3, az: 180, az_var: 0, el_var: 0 }, speed: 250, rgn: Solus }, // 9
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: defend, tgt: HS },
+ objective: { cmd: rtb },
+
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+optional: {
+ min: 1,
+ max: 2,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ region: Kalon,
+ rloc: { ref: HS, dex: 135e3, az: 200, az_var: 30 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+
+ navpt: { cmd: intercept, tgt: Player, rloc: { ref: "Player:4", dex: 40e3, az: 200, az_var: 30 }, speed: 300, rgn: Kalon },
+ },
+
+ element: {
+ name: Bravo,
+ design: Razor,
+ region: Kalon,
+ rloc: { ref: HS, dex: 140e3, az: 180, az_var: 45 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "Hvy Ship Strike" },
+ intel: secret,
+
+ navpt: { cmd: assault, tgt: Ward1, rloc: { ref: "Player:5", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 200, rgn: Kalon },
+ },
+}
+
+optional: {
+ min: 1,
+ max: 2,
+
+ element: {
+ name: Charlie,
+ design: Viper,
+ region: Kalon,
+ rloc: { ref: HS, dex: 135e3, az: 200, az_var: 30 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+
+ navpt: { cmd: intercept, tgt: Player, rloc: { ref: "Player:3", dex: 40e3, az: 200, az_var: 30 }, speed: 300, rgn: Kalon },
+ },
+
+ element: {
+ name: Echo,
+ design: Razor,
+ region: Kalon,
+ rloc: { ref: HS, dex: 140e3, az: 180, az_var: 45 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "Hvy Ship Strike" },
+ intel: secret,
+
+ navpt: { cmd: assault, tgt: Ward2, rloc: { ref: "Player:4", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 200, rgn: Kalon },
+ },
+}
+
+element: {
+ name: Wolf1,
+ design: Wolf,
+ iff: 2,
+ region: Jalah,
+ loc: (250e3, 250e3, 0),
+ intel: secret,
+ hold: 60,
+
+ objective: { cmd: assault, tgt: HS, rgn: Kalon },
+}
+
+element: {
+ name: Wolf2,
+ design: Wolf,
+ iff: 2,
+ region: Jalah,
+ loc: (280e3, 280e3, 0),
+ intel: secret,
+ hold: 60,
+
+ objective: { cmd: assault, tgt: HS, rgn: Kalon },
+}
+
+event: {
+ id: 1,
+ event: Hold,
+ event_ship: Wolf1,
+ event_param: 0,
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 2,
+}
+
+event: {
+ id: 2,
+ event: Hold,
+ event_ship: Wolf2,
+ event_param: 0,
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 2,
+}
+
+event: {
+ id: 10,
+ event: Message,
+ event_ship: Player,
+ event_source: HS,
+ sound: "Vox/Misc/A02-01.ogg",
+ event_message: "vox.misc.a02-01",
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 2,
+ delay: 120,
+}
+
+event: {
+ id: 20,
+ event: Jump,
+ event_ship: Stalwart,
+ event_target: Kalon,
+
+ trigger: Event,
+ trigger_param: 10,
+ delay: 15,
+}
+
+event: {
+ id: 21,
+ event: Objective,
+ event_ship: Stalwart,
+ event_param: 10,
+ event_target: Wolf1,
+
+ trigger: Event,
+ trigger_param: 20,
+ delay: 15,
+}
diff --git a/data/content/Campaigns/02/Templates/IS_Escort_01.def b/data/content/Campaigns/02/Templates/IS_Escort_01.def
new file mode 100644
index 0000000..5c5a320
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/IS_Escort_01.def
@@ -0,0 +1,222 @@
+MISSION_TEMPLATE
+
+name: "Humanitarian Aid"
+type: ESCORT_FREIGHT
+system: Solus
+region: Trellis
+degrees: true
+
+alias: { name: A1, code: player_carrier }
+alias: { name: A2, code: player_squadron }
+alias: { name: FC1, elem: "Trellis-Solus" }
+alias: { name: FC2, elem: "Solus-Trellis" }
+
+callsign: { name: Player, iff: 1 }
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+
+element: {
+ name: Ward,
+ design: IM2800,
+ rloc: { ref: A1, dex: 130e3, dex_var: 15e3, az: 70, az_var: 30 },
+ mission: cargo,
+ count: 1,
+ iff: 0,
+ intel: tracked,
+ hold: 900,
+
+ navpt: { cmd: vector, rloc: { ref: FC1, dex: 99e3, dex_var:10e3, az: 180, az_var: 45, el_var: 0 }, speed: 520, rgn: Trellis },
+ navpt: { cmd: vector, rloc: { ref: FC1, dex: 30e3, dex_var: 3e3, az: 180, az_var: 3, el_var: 0 }, speed: 520, rgn: Trellis },
+ navpt: { cmd: vector, rloc: { ref: FC2, dex: 25e3, az: 0, az_var: 0, el_var: 0 }, speed: 520, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: FC2, dex:100e3, dex_var:30e3, az: 0, az_var: 60, el_var: 0 }, speed: 400, rgn: Solus },
+}
+
+ward: Ward
+
+element: {
+ name: Player,
+ design: Falcon,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 20e3, dex_var: 1e3 },
+ mission: escort_freight,
+
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+
+ navpt: { cmd: vector, rloc: { ref: "Ward", dex: 15e3, az: 270, az_var: 20, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward:1", dex: 10e3, az: 270, az_var: 30, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward:2", dex: 7e3, az: 270, az_var: 20, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward:3", dex: 10e3, az: 0, az_var: 10, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: escort, rloc: { ref: "Ward:4", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 500, rgn: Solus },
+
+ navpt: { cmd: vector, rloc: { ref: FC2, dex: 30e3, dex_var: 5e3, az: 180, az_var:25, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: A1, dex: 30e3, dex_var: 2e3, az: 180, az_var:75, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: rtb, rloc: { ref: A1, dex: 20e3, az: 180, az_var: 0, el_var: 0 }, speed: 250, rgn: Trellis },
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: escort, tgt: Ward, tgt_desc: "the merchant vessel" },
+ objective: { cmd: rtb },
+
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+event: {
+ id: 1,
+ event: Hold,
+ event_ship: Ward,
+ event_param: 0,
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 1,
+}
+
+event: {
+ id: 2,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-01.ogg",
+ event_message: "vox.misc.a01-01",
+ event_chance: 35,
+
+ trigger: Event,
+ trigger_param: 1,
+ delay: 1,
+}
+
+event: {
+ id: 3,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-02.ogg",
+ event_message: "vox.misc.a01-02",
+
+ trigger: Navpoint,
+ trigger_ship: Ward,
+ trigger_param: 2,
+ delay: 1,
+}
+
+event: {
+ id: 4,
+ event: Message,
+ event_ship: Player,
+ sound: "Vox/Misc/A01-03.ogg",
+ event_message: "vox.misc.a01-03",
+
+ trigger: Event,
+ trigger_param: 3,
+ delay: 2,
+}
+
+event: {
+ id: 5,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-07.ogg",
+ event_message: "vox.misc.a01-07",
+ event_chance: 50,
+
+ trigger: Navpoint,
+ trigger_ship: Ward,
+ trigger_param: 3,
+}
+
+event: {
+ id: 6,
+ event: Message,
+ event_ship: Player,
+ sound: "Vox/Misc/A01-08.ogg",
+ event_message: "vox.misc.a01-08",
+
+ trigger: Event,
+ trigger_param: 5,
+ delay: 2,
+}
+
+event: {
+ id: 7,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-06.ogg",
+ event_message: "vox.misc.a01-06",
+
+ trigger: Navpoint,
+ trigger_ship: Ward,
+ trigger_param: 4,
+ delay: 2,
+}
+
+// ALTERNATE MESSAGES:
+event: {
+ id: 102,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-09.ogg",
+ event_message: "vox.misc.a01-09",
+
+ trigger: Skipped,
+ trigger_param: 2,
+}
+
+event: {
+ id: 105,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-10.ogg",
+ event_message: "vox.misc.a01-10",
+
+ trigger: Skipped,
+ trigger_param: 5,
+}
+
+event: {
+ id: 106,
+ event: Message,
+ event_ship: Player,
+ sound: "Vox/Misc/A01-11.ogg",
+ event_message: "vox.misc.a01-11",
+
+ trigger: Event,
+ trigger_param: 105,
+ delay: 5,
+}
+
+optional: {
+ min: 1,
+ max: 2,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ rloc: { ref: "Ward:1", dex: 135e3, az: 200, az_var: 30 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+
+ navpt: { cmd: intercept, tgt: Player, rloc: { ref: "Ward:1", dex: 40e3, az: 200, az_var: 30 }, speed: 300, rgn: Trellis },
+ },
+
+ element: {
+ name: Bravo,
+ design: Razor,
+ region: Solus,
+ rloc: { ref: "Ward:4", dex: 140e3, az: 180, az_var: 45 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "Ship Strike" },
+ intel: secret,
+
+ navpt: { cmd: assault, tgt: Ward, rloc: { ref: "Ward:4", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 200, rgn: Solus },
+ },
+}
diff --git a/data/content/Campaigns/02/Templates/IS_Escort_02.def b/data/content/Campaigns/02/Templates/IS_Escort_02.def
new file mode 100644
index 0000000..45cca3d
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/IS_Escort_02.def
@@ -0,0 +1,255 @@
+MISSION_TEMPLATE
+
+name: "Harmony Run"
+type: ESCORT_FREIGHT
+system: Solus
+region: Trellis
+degrees: true
+
+alias: { name: A1, code: player_carrier }
+alias: { name: A2, code: player_squadron }
+alias: { name: FC1, elem: "Trellis-Solus" }
+alias: { name: FC2, elem: "Solus-Trellis" }
+alias: { name: FC3, elem: "Solus-Kalon" }
+alias: { name: FC4, elem: "Kalon-Solus" }
+alias: { name: HS, elem: "Harmony" }
+
+callsign: { name: Player, iff: 1 }
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+callsign: { name: Charlie, iff: 2 }
+callsign: { name: Echo, iff: 2 }
+
+element: {
+ name: Ward1,
+ design: IM2800,
+ region: Trellis,
+ rloc: { ref: A1, dex: 130e3, dex_var: 15e3, az: 70, az_var: 30 },
+ mission: cargo,
+ count: 1,
+ iff: 0,
+ intel: tracked,
+ hold: 900,
+
+ navpt: { cmd: vector, rloc: { ref: FC1, dex: 99e3, dex_var:10e3, az: 180, az_var: 45, el_var: 0 }, speed: 530, rgn: Trellis },
+ navpt: { cmd: vector, rloc: { ref: FC1, dex: 30e3, dex_var: 3e3, az: 180, az_var: 3, el_var: 0 }, speed: 530, rgn: Trellis },
+ navpt: { cmd: vector, rloc: { ref: FC2, dex: 25e3, az: 0, az_var: 3, el_var: 0 }, speed: 520, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: FC3, dex: 20e3, dex_var: 3e3, az: 180, az_var: 5, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: FC4, dex: 50e3, dex_var: 5e3, az: 0, az_var: 60, el_var: 0 }, speed: 500, rgn: Kalon },
+ navpt: { cmd: vector, rloc: { ref: HS, dex: 90e3, dex_var:30e3 }, speed: 450, rgn: Kalon },
+}
+
+ward: Ward1
+
+element: {
+ name: Ward2,
+ design: IM2800,
+ region: Solus,
+ rloc: { ref: FC2, dex: 28e3, dex_var: 3e3, az: 0, az_var: 30 },
+ mission: cargo,
+ count: 1,
+ iff: 0,
+ intel: tracked,
+ hold: 1800,
+
+ navpt: { cmd: vector, rloc: { ref: FC3, dex: 22e3, dex_var: 6e3, az: 180, az_var: 5, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: FC4, dex: 50e3, dex_var:20e3, az: 0, az_var: 60, el_var: 0 }, speed: 500, rgn: Kalon },
+ navpt: { cmd: vector, rloc: { ref: HS, dex: 90e3, dex_var:30e3 }, speed: 450, rgn: Kalon },
+}
+
+element: {
+ name: Player,
+ design: Falcon,
+ squadron: A2,
+ commander: A1,
+ region: Trellis,
+ rloc: { ref: A1, dex: 20e3, dex_var: 1e3 },
+ mission: escort_freight,
+
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+
+ navpt: { cmd: vector, rloc: { ref: "Ward1", dex: 15e3, az: 270, az_var: 20, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward1:1", dex: 10e3, az: 270, az_var: 30, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward1:2", dex: 10e3, az: 270, az_var: 20, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: escort, rloc: { ref: "Ward1:3", dex: 10e3, az: 0, az_var: 10, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: escort, rloc: { ref: "Ward1:4", dex: 10e3, az: 180, az_var: 20, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: escort, rloc: { ref: "Ward1:5", dex: 10e3, az: 180, az_var: 20, el_var: 0 }, speed: 500, rgn: Kalon },
+ navpt: { cmd: escort, rloc: { ref: "Ward1:6", dex: 10e3, az: 180, az_var: 20, el_var: 0 }, speed: 500, rgn: Kalon },
+
+ navpt: { cmd: vector, rloc: { ref: FC4, dex: 28e3, dex_var: 3e3, az: 180, az_var: 5, el_var: 0 }, speed: 500, rgn: Kalon },
+ navpt: { cmd: vector, rloc: { ref: FC3, dex: 18e3, dex_var: 3e3, az: 0, az_var: 5, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: FC2, dex: 28e3, dex_var: 3e3, az: 180, az_var: 5, el_var: 0 }, speed: 500, rgn: Solus },
+ navpt: { cmd: vector, rloc: { ref: A1, dex: 60e3, dex_var: 5e3, az: 150, az_var: 5, el_var: 0 }, speed: 500, rgn: Trellis },
+ navpt: { cmd: rtb, rloc: { ref: A1, dex: 20e3, az: 180, az_var: 0, el_var: 0 }, speed: 250, rgn: Trellis },
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: escort, tgt: Ward1, tgt_desc: "the merchant vessel" },
+ objective: { cmd: escort, tgt: Ward2, tgt_desc: "the merchant vessel" },
+ objective: { cmd: rtb },
+
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+event: {
+ id: 1,
+ event: Hold,
+ event_ship: Ward1,
+ event_param: 0,
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 1,
+}
+
+event: {
+ id: 2,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward1,
+ sound: "Vox/Misc/A01-01.ogg",
+ event_message: "vox.misc.a01-01",
+
+ trigger: Event,
+ trigger_param: 1,
+ delay: 1,
+}
+
+event: {
+ id: 3,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward1,
+ sound: "Vox/Misc/A01-02.ogg",
+ event_message: "vox.misc.a01-02",
+
+ trigger: Navpoint,
+ trigger_ship: Ward1,
+ trigger_param: 2,
+ delay: 1,
+}
+
+event: {
+ id: 4,
+ event: Message,
+ event_ship: Player,
+ sound: "Vox/Misc/A01-03.ogg",
+ event_message: "vox.misc.a01-03",
+
+ trigger: Event,
+ trigger_param: 3,
+ delay: 2,
+}
+
+event: {
+ id: 5,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward,
+ sound: "Vox/Misc/A01-04.ogg",
+ event_message: "vox.misc.a01-04",
+
+ trigger: Navpoint,
+ trigger_ship: Ward1,
+ trigger_param: 3,
+}
+
+event: {
+ id: 6,
+ event: Message,
+ event_ship: Player,
+ sound: "Vox/Misc/A01-05.ogg",
+ event_message: "vox.misc.a01-05",
+
+ trigger: Event,
+ trigger_param: 5,
+ delay: 2,
+}
+
+event: {
+ id: 7,
+ event: Message,
+ event_ship: Player,
+ event_source: Ward1,
+ sound: "Vox/Misc/A01-06.ogg",
+ event_message: "vox.misc.a01-06",
+
+ trigger: Navpoint,
+ trigger_ship: Ward1,
+ trigger_param: 6,
+ delay: 2,
+}
+
+event: {
+ id: 8,
+ event: Hold,
+ event_ship: Ward2,
+ event_param: 0,
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 4,
+}
+
+optional: {
+ min: 1,
+ max: 2,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ rloc: { ref: "Ward:1", dex: 135e3, az: 200, az_var: 30 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+
+ navpt: { cmd: intercept, tgt: Player, rloc: { ref: "Ward1:1", dex: 40e3, az: 200, az_var: 30 }, speed: 300, rgn: Trellis },
+ },
+
+ element: {
+ name: Bravo,
+ design: Razor,
+ region: Solus,
+ rloc: { ref: "Ward1:4", dex: 140e3, az: 180, az_var: 45 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "Ship Strike" },
+ intel: secret,
+
+ navpt: { cmd: assault, tgt: Ward1, rloc: { ref: "Ward1:4", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 200, rgn: Solus },
+ },
+}
+
+optional: {
+ min: 1,
+ max: 2,
+
+ element: {
+ name: Charlie,
+ design: Viper,
+ region: Kalon,
+ rloc: { ref: "Ward1:6", dex: 135e3, az: 200, az_var: 30 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+
+ navpt: { cmd: intercept, tgt: Player, rloc: { ref: "Ward1:5", dex: 40e3, az: 200, az_var: 30 }, speed: 300, rgn: Kalon },
+ },
+
+ element: {
+ name: Echo,
+ design: Razor,
+ region: Kalon,
+ rloc: { ref: "Ward1:6", dex: 140e3, az: 180, az_var: 45 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "Ship Strike" },
+ intel: secret,
+
+ navpt: { cmd: assault, tgt: Ward2, rloc: { ref: "Ward1:5", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 200, rgn: Kalon },
+ },
+}
diff --git a/data/content/Campaigns/02/Templates/IS_Patrol_01.def b/data/content/Campaigns/02/Templates/IS_Patrol_01.def
new file mode 100644
index 0000000..7ddb607
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/IS_Patrol_01.def
@@ -0,0 +1,135 @@
+MISSION_TEMPLATE
+
+name: "Fighter Patrol 1"
+type: PATROL
+degrees: true
+
+alias: { name: A1, code: player_carrier }
+alias: { name: A2, code: player_squadron }
+
+callsign: { name: Player, iff: 1 }
+callsign: { name: Hector, iff: 1 }
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+callsign: { name: Charlie, iff: 2 }
+callsign: { name: Delta, iff: 2 }
+callsign: { name: Echo, iff: 2 }
+
+element: {
+ name: Player,
+ design: Falcon,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 20e3, dex_var: 1e3 },
+ mission: patrol,
+
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+
+ navpt: { cmd: patrol, rloc: { ref: A1, dex: 140e3, dex_var: 35e3, az: 0, az_var: 30 }, speed: 750 },
+ navpt: { cmd: patrol, rloc: { ref: "this:1", dex: 130e3, dex_var: 15e3, az: 90, az_var: 30 }, speed: 750 },
+ navpt: { cmd: patrol, rloc: { ref: "this:2", dex: 100e3, dex_var: 15e3, az: 180, az_var: 30 }, speed: 750 },
+ navpt: { cmd: vector, rloc: { ref: A1, dex: 40e3, az: 150, az_var: 5 }, speed: 500 },
+ navpt: { cmd: rtb, rloc: { ref: A1, dex: 20e3, az: 180, az_var: 0 }, speed: 250 },
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: defend, tgt: Ward, tgt_desc: "the star freighter" },
+ objective: { cmd: rtb },
+
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+element: {
+ name: Hector,
+ design: Stormhawk,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 60e3, dex_var: 20e3 },
+ mission: patrol,
+ count: 2,
+ iff: 1,
+}
+
+optional: {
+ min: 0,
+ max: 1,
+
+ element: {
+ name: Ward,
+ design: IM2800,
+ rloc: { ref: "Player:3", dex: 40e3, dex_var: 17e3 },
+ count: 1,
+ iff: 0,
+ intel: known,
+ navpt: { cmd: vector, rloc: { ref: "Player:2", dex: 30e3, dex_var: 10e3 }, speed: 400 },
+ navpt: { cmd: vector, rloc: { ref: "Player:1", dex: 50e3, dex_var: 10e3 }, speed: 400 },
+ },
+
+ element: {
+ name: Ward,
+ design: IM2800,
+ rloc: { ref: "Player:1", dex: 40e3, dex_var: 17e3 },
+ count: 1,
+ iff: 0,
+ intel: known,
+ navpt: { cmd: vector, rloc: { ref: "Player:2", dex: 30e3, dex_var: 10e3 }, speed: 400 },
+ navpt: { cmd: vector, rloc: { ref: "Player:3", dex: 50e3, dex_var: 10e3 }, speed: 400 },
+ },
+}
+
+optional: {
+ min: 3,
+ max: 4,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ rloc: { ref: "Player:1", dex: 30e3, dex_var: 5e3 },
+ count: 4,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+
+ element: {
+ name: Bravo,
+ design: Razor,
+ rloc: { ref: "Player:2", dex: 20e3, dex_var: 5e3 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: secret,
+ },
+
+ element: {
+ name: Charlie,
+ design: Viper,
+ rloc: { ref: "Player:2", dex: 33e3, dex_var: 5e3 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+
+ element: {
+ name: Delta,
+ design: Viper,
+ rloc: { ref: "Player:3", dex: 25e3, dex_var: 5e3 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+
+ element: {
+ name: Echo,
+ design: Razor,
+ rloc: { ref: "Player:3", dex: 45e3, dex_var: 9e3 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: secret,
+ },
+}
diff --git a/data/content/Campaigns/02/Templates/IS_Patrol_02.def b/data/content/Campaigns/02/Templates/IS_Patrol_02.def
new file mode 100644
index 0000000..5a24576
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/IS_Patrol_02.def
@@ -0,0 +1,123 @@
+MISSION_TEMPLATE
+
+name: "Fighter Patrol 2"
+type: PATROL
+degrees: true
+
+alias: { name: A1, code: player_carrier }
+alias: { name: A2, code: player_squadron }
+
+callsign: { name: Player, iff: 1 }
+callsign: { name: Helper, iff: 1 }
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+callsign: { name: Charlie, iff: 2 }
+callsign: { name: Echo, iff: 2 }
+
+element: {
+ name: Player,
+ design: Falcon,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 20e3, dex_var: 1e3 },
+ mission: patrol,
+
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+
+ navpt: { cmd: patrol, rloc: { ref: A1, dex: 130e3, dex_var: 35e3, az: 0, az_var: 20 }, speed: 750 },
+ navpt: { cmd: patrol, rloc: { ref: "this:1", dex: 150e3, dex_var: 25e3, az: 90, az_var: 20 }, speed: 750 },
+ navpt: { cmd: patrol, rloc: { ref: "this:2", dex: 110e3, dex_var: 15e3, az: 170, az_var: 20 }, speed: 750 },
+ navpt: { cmd: vector, rloc: { ref: A1, dex: 40e3, az: 140, az_var: 10 }, speed: 500 },
+ navpt: { cmd: rtb, rloc: { ref: A1, dex: 20e3, az: 180, az_var: 0 }, speed: 250 },
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: rtb },
+
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+element: {
+ name: Helper,
+ design: Stormhawk,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 55e3, dex_var: 25e3, az: -20, az_var: 10 },
+ mission: patrol,
+ count: 2,
+ iff: 1,
+}
+
+optional: {
+ min: 0,
+ max: 1,
+
+ element: {
+ name: Test,
+ design: IM2800,
+ rloc: { ref: "Player:1", dex: 40e3, dex_var: 17e3 },
+ count: 1,
+ iff: 2,
+ intel: secret,
+ navpt: { cmd: vector, rloc: { ref: "Player:3", dex: 50e3, dex_var: 10e3 }, speed: 350 },
+ },
+
+ element: {
+ name: Test,
+ design: IM2800,
+ rloc: { ref: "Player:3", dex: 40e3, dex_var: 17e3 },
+ count: 1,
+ iff: 2,
+ intel: secret,
+ navpt: { cmd: vector, rloc: { ref: "Player:1", dex: 50e3, dex_var: 10e3 }, speed: 350 },
+ },
+}
+
+optional: {
+ min: 2,
+ max: 3,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ rloc: { ref: "Player:1", dex: 20e3, dex_var: 7e3 },
+ count: 4,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+
+ element: {
+ name: Bravo,
+ design: Viper,
+ rloc: { ref: "Player:2", dex: 25e3, dex_var: 5e3 },
+ count: 4,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: secret,
+ },
+
+ optional: { min: 2, max: 2,
+ element: {
+ name: Charlie,
+ design: Cobra,
+ rloc: { ref: "Player:3", dex: 25e3, dex_var: 5e3 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "Ship Strike" },
+ intel: secret,
+ },
+
+ element: {
+ name: Echo,
+ design: Viper,
+ rloc: { ref: Charlie, dex: 18e3, dex_var: 2e3 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+ },
+}
diff --git a/data/content/Campaigns/02/Templates/IS_Patrol_03.def b/data/content/Campaigns/02/Templates/IS_Patrol_03.def
new file mode 100644
index 0000000..0141a75
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/IS_Patrol_03.def
@@ -0,0 +1,119 @@
+MISSION_TEMPLATE
+
+name: "Fighter Patrol 3"
+type: PATROL
+degrees: true
+
+alias: { name: A1, code: player_carrier }
+alias: { name: A2, code: player_squadron }
+
+callsign: { name: Player, iff: 1 }
+callsign: { name: Helper, iff: 1 }
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+callsign: { name: Delta, iff: 2 }
+
+element: {
+ name: Player,
+ design: Falcon,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 20e3, dex_var: 1e3 },
+ mission: patrol,
+
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+
+ navpt: { cmd: patrol, rloc: { ref: A1, dex: 150e3, dex_var: 35e3, az: 0, az_var: 15 }, speed: 750 },
+ navpt: { cmd: patrol, rloc: { ref: "this:1", dex: 160e3, dex_var: 35e3, az: 90, az_var: 15 }, speed: 750 },
+ navpt: { cmd: patrol, rloc: { ref: "this:2", dex: 130e3, dex_var: 25e3, az: 170, az_var: 15 }, speed: 750 },
+ navpt: { cmd: vector, rloc: { ref: A1, dex: 40e3, az: 140, az_var: 10 }, speed: 500 },
+ navpt: { cmd: rtb, rloc: { ref: A1, dex: 20e3, az: 180, az_var: 0 }, speed: 250 },
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: rtb },
+
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+element: {
+ name: Helper,
+ design: Falcon,
+ squadron: A2,
+ commander: A1,
+ rloc: { ref: A1, dex: 55e3, dex_var: 25e3, az: -20, az_var: 10 },
+ mission: patrol,
+ count: 2,
+ iff: 1,
+}
+
+optional: {
+ min: 0,
+ max: 1,
+
+ element: {
+ name: Test,
+ design: IM2800,
+ rloc: { ref: "Player:1", dex: 40e3, dex_var: 17e3 },
+ count: 1,
+ iff: 2,
+ intel: secret,
+ navpt: { cmd: vector, rloc: { ref: "Player:2", dex: 50e3, dex_var: 10e3 }, speed: 350 },
+ },
+
+ element: {
+ name: Test,
+ design: IM2800,
+ rloc: { ref: "Player:2", dex: 40e3, dex_var: 17e3 },
+ count: 1,
+ iff: 2,
+ intel: secret,
+ navpt: { cmd: vector, rloc: { ref: "Player:1", dex: 50e3, dex_var: 10e3 }, speed: 350 },
+ },
+}
+
+optional: {
+ min: 2,
+ max: 4,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ rloc: { ref: "Player:1", dex: 20e3, dex_var: 7e3 },
+ count: 4,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+
+ element: {
+ name: Charlie,
+ design: Baikal,
+ rloc: { ref: "Player:2", dex: 45e3, dex_var: 5e3, az: 0, az_var: 30 },
+ count: 1,
+ iff: 2,
+ intel: secret,
+ },
+
+ element: {
+ name: Bravo,
+ design: Razor,
+ rloc: { ref: "Player:3", dex: 25e3, dex_var: 5e3 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Short Range" },
+ intel: secret,
+ },
+
+ element: {
+ name: Delta,
+ design: Viper,
+ rloc: { ref: "Player:3", dex: 20e3, dex_var: 7e3 },
+ count: 4,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+ },
+}
diff --git a/data/content/Campaigns/02/Templates/IS_Patrol_HS.def b/data/content/Campaigns/02/Templates/IS_Patrol_HS.def
new file mode 100644
index 0000000..3cb6c31
--- /dev/null
+++ b/data/content/Campaigns/02/Templates/IS_Patrol_HS.def
@@ -0,0 +1,198 @@
+MISSION_TEMPLATE
+
+name: "Harmony Patrol"
+type: PATROL
+system: Solus
+region: Solus
+degrees: true
+
+alias: { name: A1, code: player_carrier }
+alias: { name: A2, code: player_squadron }
+alias: { name: FC1, elem: "Solus-Kalon" }
+alias: { name: FC2, elem: "Kalon-Solus" }
+alias: { name: HS, elem: "Harmony Station" }
+
+callsign: { name: Player, iff: 1 }
+callsign: { name: Alpha, iff: 2 }
+callsign: { name: Bravo, iff: 2 }
+callsign: { name: Charlie, iff: 2 }
+callsign: { name: Echo, iff: 2 }
+
+ward: HS
+
+element: {
+ name: Player,
+ design: Falcon,
+ squadron: A2,
+ commander: A1,
+ region: Solus,
+ rloc: { ref: A1, dex: 20e3, dex_var: 1e3 },
+ mission: escort_freight,
+
+ player: 1,
+ alert: true,
+ count: 2,
+ iff: 1,
+
+ navpt: { cmd: vector, rloc: { ref: FC1, dex: 25e3, dex_var: 0, az: 180, az_var: 10, el_var: 0 }, speed: 500, rgn: Solus }, // 1
+ navpt: { cmd: vector, rloc: { ref: FC2, dex: 30e3, dex_var: 0, az: 0, az_var: 30, el_var: 0 }, speed: 500, rgn: Kalon }, // 2
+ navpt: { cmd: defend, rloc: { ref: HS, dex: 40e3, dex_var: 5e3, az: 0, az_var: 20, el_var: 2 }, speed: 500, rgn: Kalon }, // 3
+ navpt: { cmd: defend, rloc: { ref: HS, dex: 40e3, dex_var: 5e3, az: 270, az_var: 20, el_var: 2 }, speed: 500, rgn: Kalon }, // 4
+ navpt: { cmd: defend, rloc: { ref: HS, dex: 40e3, dex_var: 5e3, az: 180, az_var: 20, el_var: 2 }, speed: 500, rgn: Kalon }, // 5
+ navpt: { cmd: defend, rloc: { ref: HS, dex: 40e3, dex_var: 5e3, az: 90, az_var: 20, el_var: 2 }, speed: 500, rgn: Kalon }, // 6
+
+ navpt: { cmd: vector, rloc: { ref: FC2, dex: 25e3, dex_var: 1e3, az: 180, az_var: 5, el_var: 0 }, speed: 500, rgn: Kalon }, // 7
+ navpt: { cmd: vector, rloc: { ref: A1, dex: 60e3, dex_var: 5e3, az: 150, az_var: 5, el_var: 0 }, speed: 500, rgn: Solus }, // 8
+ navpt: { cmd: rtb, rloc: { ref: A1, dex: 20e3, az: 180, az_var: 0, el_var: 0 }, speed: 250, rgn: Solus }, // 9
+
+ objective: { cmd: patrol, tgt_desc: "inbound enemy units" },
+ objective: { cmd: defend, tgt: HS },
+ objective: { cmd: rtb },
+
+ loadout: { ship: -1, name: "ACM Medium Range" },
+}
+
+optional: {
+ min: 1,
+ max: 2,
+
+ element: {
+ name: Alpha,
+ design: Viper,
+ region: Kalon,
+ rloc: { ref: HS, dex: 135e3, az: 200, az_var: 30 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+
+ navpt: { cmd: intercept, tgt: Player, rloc: { ref: "Player:4", dex: 40e3, az: 200, az_var: 30 }, speed: 300, rgn: Kalon },
+ },
+
+ element: {
+ name: Bravo,
+ design: Razor,
+ region: Kalon,
+ rloc: { ref: HS, dex: 140e3, az: 180, az_var: 45 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "Hvy Ship Strike" },
+ intel: secret,
+
+ navpt: { cmd: assault, tgt: Ward1, rloc: { ref: "Player:5", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 200, rgn: Kalon },
+ },
+}
+
+optional: {
+ min: 1,
+ max: 2,
+
+ element: {
+ name: Charlie,
+ design: Viper,
+ region: Kalon,
+ rloc: { ref: HS, dex: 135e3, az: 200, az_var: 30 },
+ count: 2,
+ iff: 2,
+ loadout: { ship: -1, name: "ACM Medium Range" },
+ intel: known,
+
+ navpt: { cmd: intercept, tgt: Player, rloc: { ref: "Player:3", dex: 40e3, az: 200, az_var: 30 }, speed: 300, rgn: Kalon },
+ },
+
+ element: {
+ name: Echo,
+ design: Razor,
+ region: Kalon,
+ rloc: { ref: HS, dex: 140e3, az: 180, az_var: 45 },
+ count: 3,
+ iff: 2,
+ loadout: { ship: -1, name: "Hvy Ship Strike" },
+ intel: secret,
+
+ navpt: { cmd: assault, tgt: Ward2, rloc: { ref: "Player:4", dex: 20e3, az: 180, az_var: 20, el_var: 0 }, speed: 200, rgn: Kalon },
+ },
+}
+
+element: {
+ name: Wolf1,
+ design: Wolf,
+ iff: 2,
+ region: Jalah,
+ loc: (250e3, 250e3, 0),
+ intel: secret,
+ hold: 60,
+
+ objective: { cmd: assault, tgt: HS, rgn: Kalon },
+}
+
+element: {
+ name: Wolf2,
+ design: Wolf,
+ iff: 2,
+ region: Jalah,
+ loc: (280e3, 280e3, 0),
+ intel: secret,
+ hold: 60,
+
+ objective: { cmd: assault, tgt: HS, rgn: Kalon },
+}
+
+event: {
+ id: 1,
+ event: Hold,
+ event_ship: Wolf1,
+ event_param: 0,
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 2,
+}
+
+event: {
+ id: 2,
+ event: Hold,
+ event_ship: Wolf2,
+ event_param: 0,
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 2,
+}
+
+event: {
+ id: 10,
+ event: Message,
+ event_ship: Player,
+ event_source: HS,
+ sound: "Vox/Misc/A02-01.ogg",
+ message: "vox.misc.a02-01",
+
+ trigger: Navpoint,
+ trigger_ship: Player,
+ trigger_param: 2,
+ delay: 120,
+}
+
+event: {
+ id: 20,
+ event: Jump,
+ event_ship: Stalwart,
+ event_target: Kalon,
+
+ trigger: Event,
+ trigger_param: 10,
+ delay: 15,
+}
+
+event: {
+ id: 21,
+ event: Objective,
+ event_ship: Stalwart,
+ event_param: 10,
+ event_target: Wolf1,
+
+ trigger: Event,
+ trigger_param: 20,
+ delay: 15,
+}
diff --git a/data/content/Campaigns/02/campaign.def b/data/content/Campaigns/02/campaign.def
new file mode 100644
index 0000000..4c20601
--- /dev/null
+++ b/data/content/Campaigns/02/campaign.def
@@ -0,0 +1,1153 @@
+CAMPAIGN
+
+name: "c02.name"
+desc: "c02.desc"
+situation: "c02.sitrep"
+orders: "c02.orders"
+
+combatant: {
+ name: "Terellian Alliance",
+ group: { type: carrier_group, id: 6 },
+ group: { type: destroyer_squadron, id: 43 },
+ group: { type: destroyer_squadron, id: 60 },
+ group: { type: freight, id: 3000 },
+}
+
+combatant: {
+ name: "Dantari Separatists",
+ group: { type: fleet, id: 1 },
+ group: { type: battalion, id: 1 },
+ group: { type: battalion, id: 2 },
+ group: { type: war_production, id: 1 },
+ group: { type: freight, id: 3000 },
+}
+
+combatant: {
+ name: "Marakan Hegemony",
+ group: { type: fleet, id: 4 },
+}
+
+combatant: {
+ name: "Independent System of Solus",
+ group: { type: infrastructure, id: 2000 },
+ group: { type: transport, id: 2100 },
+ group: { type: civilian, id: 2200 },
+ group: { type: freight, id: 3000 },
+ group: { type: civilian, id: 5000 },
+}
+
+action: {
+ id: 0,
+ type: event,
+ subtype: campaign_start,
+ team: 1,
+ rgn: Solus,
+ text: "c02.a000",
+ source: News,
+ file: "Actions/01-campaign-start.txt",
+ image: "Actions/01-campaign-start.pcx"
+ scene: "Scenes/01-News-Start.def"
+}
+
+action: {
+ id: 1,
+ type: zone,
+ team: 1,
+ asset_type: carrier_group,
+ asset_id: 6,
+ region: Trellis,
+ image: "Actions/AA-archon-trellis.pcx"
+}
+
+action: {
+ id: 2,
+ type: zone,
+ team: 1,
+ asset_type: destroyer_squadron,
+ asset_id: 60,
+ region: Trellis,
+ image: "Actions/AA-gerrond-trellis.pcx"
+}
+
+action: {
+ id: 50,
+ type: zone,
+ team: 2,
+ asset_type: carrier_group,
+ asset_id: 5,
+ region: Jalah,
+}
+
+action: {
+ id: 51,
+ type: zone,
+ team: 2,
+ asset_type: destroyer_squadron,
+ asset_id: 5,
+ region: Jalah,
+}
+
+action: {
+ id: 52,
+ type: zone,
+ team: 2,
+ asset_type: destroyer_squadron,
+ asset_id: 6,
+ region: Trellis,
+}
+
+action: {
+ id: 53,
+ type: zone,
+ team: 2,
+ asset_type: destroyer_squadron,
+ asset_id: 7,
+ region: Meridian,
+}
+
+action: {
+ id: 60
+ type: event
+ subtype: story
+ team: 1
+ rgn: Loris
+ after: "01/15:00:00"
+ text: "c02.a060"
+ source: Mail
+ file: "Actions/m1-catching-up.txt"
+ image: "Actions/m0-mail-icon.pcx"
+ scene: "Scenes/M1-Catching-Up.def"
+}
+
+
+action: {
+ id: 110,
+ type: intel,
+ subtype: known,
+ team: 2,
+ rgn: Trellis,
+ asset_type: minefield,
+ asset_id: 4,
+
+ req: { c1: "Dantari Separatists", group_type: minefield, group_id: 1, comp: LT, score: 10 },
+}
+
+action: {
+ id: 120,
+ type: intel,
+ subtype: known,
+ team: 2,
+ rgn: Trellis,
+ asset_type: minefield,
+ asset_id: 5,
+
+ req: { c1: "Dantari Separatists", group_type: minefield, group_id: 2, comp: LT, score: 10 },
+}
+
+
+action: {
+ id: 130,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Solus,
+ after: "02/05:00:00",
+ text: "c02.a130",
+ source: News,
+ file: "Actions/02-coup-failure.txt",
+ image: "Actions/02-coup-failure.pcx",
+ scene: "Scenes/02-Coup-Failure.def"
+}
+
+action: {
+ id: 140,
+ type: event,
+ subtype: attack,
+ team: 1,
+ rgn: Trellis,
+ text: "c02.a140",
+ file: "Actions/03a-minefield-a.txt",
+ source: TACNET,
+ after: "02/09:00:00",
+ before: "03/09:00:00",
+
+ req: { c1: "Dantari Separatists", group_type: minefield, group_id: 1, comp: GT, score: 10 },
+
+ target_type: minefield,
+ target_id: 1,
+ target_iff: 2,
+ target_kill: "Minefield A",
+ target_kill: "Minefield A",
+ target_kill: "Minefield A",
+ target_kill: "Minefield A",
+ target_kill: "Minefield A",
+ target_kill: "Minefield A",
+}
+
+action: {
+ id: 150,
+ type: event,
+ subtype: attack,
+ team: 1,
+ rgn: Trellis,
+ text: "c02.a150",
+ file: "Actions/03a-minefield-b.txt",
+ source: TACNET,
+ after: "02/13:30:00",
+ before: "03/13:30:00",
+
+ req: { c1: "Dantari Separatists", group_type: minefield, group_id: 2, comp: GT, score: 10 },
+
+ target_type: minefield,
+ target_id: 2,
+ target_iff: 2,
+ target_kill: "Minefield B",
+ target_kill: "Minefield B",
+ target_kill: "Minefield B",
+ target_kill: "Minefield B",
+ target_kill: "Minefield B",
+ target_kill: "Minefield B",
+}
+
+action: {
+ id: 160,
+ type: event,
+ subtype: attack,
+ team: 1,
+ rgn: Trellis,
+ text: "c02.a160",
+ file: "Actions/03a-minefield-c.txt",
+ source: TACNET,
+ after: "02/19:20:00",
+ before: "03/19:20:00",
+
+ req: { c1: "Dantari Separatists", group_type: minefield, group_id: 3, comp: GT, score: 10 },
+
+ target_type: minefield,
+ target_id: 3,
+ target_iff: 2,
+ target_kill: "Minefield C",
+ target_kill: "Minefield C",
+ target_kill: "Minefield C",
+ target_kill: "Minefield C",
+ target_kill: "Minefield C",
+ target_kill: "Minefield C",
+}
+
+action: {
+ id: 170,
+ type: event,
+ subtype: attack,
+ team: 1,
+ rgn: Trellis,
+ text: "c02.a170",
+ file: "Actions/03a-minefield-d.txt",
+ source: TACNET,
+ after: "03/00:45:00",
+ before: "04/00:45:00",
+
+ req: { c1: "Dantari Separatists", group_type: minefield, group_id: 4, comp: GT, score: 10 },
+
+ target_type: minefield,
+ target_id: 4,
+ target_iff: 2,
+ target_kill: "Minefield D",
+ target_kill: "Minefield D",
+ target_kill: "Minefield D",
+ target_kill: "Minefield D",
+ target_kill: "Minefield D",
+ target_kill: "Minefield D",
+}
+
+action: {
+ id: 180,
+ type: event,
+ subtype: attack,
+ team: 1,
+ rgn: Trellis,
+ text: "c02.a180",
+ file: "Actions/03a-minefield-e.txt",
+ source: TACNET,
+ after: "03/08:30:00",
+ before: "04/08:30:00",
+
+ req: { c1: "Dantari Separatists", group_type: minefield, group_id: 5, comp: GT, score: 10 },
+
+ target_type: minefield,
+ target_id: 5,
+ target_iff: 2,
+ target_kill: "Minefield E",
+ target_kill: "Minefield E",
+ target_kill: "Minefield E",
+ target_kill: "Minefield E",
+ target_kill: "Minefield E",
+ target_kill: "Minefield E",
+}
+
+action: {
+ id: 190
+ type: event
+ subtype: story
+ team: 1,
+ rgn: Jarnell
+ after: "03/18:00:00"
+ text: "c02.a190"
+ source: Mail
+ file: "Actions/m2-new-digs.txt"
+ image: "Actions/m0-mail-icon.pcx"
+ scene: "Scenes/M2-New-Digs.def"
+}
+
+action: {
+ id: 200,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Solus,
+ text: "c02.a200",
+ source: News,
+ file: "Actions/03-blockade-broken.txt",
+ image: "Actions/03-blockade-broken.pcx",
+ scene: "Scenes/03-Blockade-Broken.def",
+
+ req: { c1: "Dantari Separatists", group_type: minefield, group_id: 1, comp: LT, score: 10 },
+ req: { c1: "Dantari Separatists", group_type: minefield, group_id: 2, comp: LT, score: 10 },
+ req: { c1: "Dantari Separatists", group_type: minefield, group_id: 3, comp: LT, score: 10 },
+ req: { c1: "Dantari Separatists", group_type: minefield, group_id: 4, comp: LT, score: 10 },
+ req: { c1: "Dantari Separatists", group_type: minefield, group_id: 5, comp: LT, score: 10 },
+}
+
+action: {
+ id: 210,
+ type: sitrep,
+ team: 1,
+ text: "c02.a210"
+ req: { action: 200, status: COMPLETE }
+}
+
+
+action: {
+ id: 230,
+ type: intel,
+ subtype: known,
+ team: 1,
+ rgn: Trellis,
+ asset_type: freight,
+ asset_id: 3000,
+
+ req: { action: 200, status: COMPLETE }
+}
+
+action: {
+ id: 240,
+ type: orders,
+ team: 1,
+ text: "c02.a240"
+
+ req: { action: 200, status: COMPLETE }
+}
+
+action: {
+ id: 250,
+ type: mission,
+ subtype: escort_freight,
+ team: 1,
+ rgn: Trellis,
+ asset_type: fighter_squadron,
+ asset_id: 36,
+ count: 4,
+
+ req: { action: 200, status: COMPLETE }
+}
+
+action: {
+ id: 255,
+ type: mission,
+ subtype: escort_freight,
+ team: 1,
+ rgn: Trellis,
+ asset_type: destroyer_squadron,
+ asset_id: 43,
+ count: 2,
+
+ req: { action: 200, status: COMPLETE }
+}
+
+action: {
+ id: 260,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Solus,
+ after: "03/09:15:00",
+ text: "c02.a260",
+ source: SECURE,
+ file: "Actions/04-harmony-risk.txt",
+ image: "Actions/04-harmony-risk.pcx",
+ scene: "Scenes/04-Harmony-Risk.def",
+}
+
+action: {
+ id: 270,
+ type: zone,
+ team: 1,
+ after: "03/19:00:00",
+ asset_type: carrier_group,
+ asset_id: 6,
+ region: Solus,
+ image: "Actions/AA-archon-solus.pcx"
+}
+
+action: {
+ id: 280,
+ type: zone,
+ team: 1,
+ after: "03/19:30:00",
+ asset_type: destroyer_squadron,
+ asset_id: 60,
+ region: Solus,
+ image: "Actions/AA-gerrond-solus.pcx"
+}
+
+action: {
+ id: 300,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Solus,
+ after: "04/04:00:00",
+ text: "c02.a300",
+ source: FORCOM,
+ file: "Actions/06-renser-buildup.txt",
+ image: "Actions/06-renser-buildup.pcx",
+ scene: "Scenes/06-Renser-Buildup.def"
+}
+
+action: {
+ id: 305,
+ type: sitrep,
+ team: 1,
+ after: "04/04:00:00",
+ text: "c02.a305",
+}
+
+// if player stumbles upon the base before expected:
+action: {
+ id: 310,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Telmera,
+ before: "04/08:20:00",
+ text: "c02.a310",
+ source: SECURE,
+ file: "Actions/05-foothill-ridge.txt",
+ image: "Actions/05-foothill-ridge.pcx",
+ scene: "Scenes/05-Foothill-Ridge.def",
+
+ req: { c1: "Dantari Separatists", group_type: battalion, group_id: 2, comp: GT, intel: SECRET },
+}
+
+action: {
+ id: 315,
+ type: intel,
+ subtype: known,
+ team: 2,
+ rgn: Telmera,
+ after: "04/08:20:00",
+ asset_type: intercept_squadron,
+ asset_id: 3,
+}
+
+action: {
+ id: 320,
+ type: intel,
+ subtype: known,
+ team: 2,
+ rgn: Telmera,
+ after: "04/08:30:00",
+ asset_type: attack_squadron,
+ asset_id: 4,
+}
+
+action: {
+ id: 325,
+ type: intel,
+ subtype: known,
+ team: 2,
+ rgn: Telmera,
+ after: "04/08:30:00",
+ asset_type: battery,
+ asset_id: 1,
+}
+
+action: {
+ id: 330,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Telmera,
+ after: "04/08:30:00",
+ text: "c02.a330",
+ source: SECURE,
+ file: "Actions/05-foothill-ridge.txt",
+ image: "Actions/05-foothill-ridge.pcx",
+ scene: "Scenes/05-Foothill-Ridge.def",
+
+ req: { action: 310, status: COMPLETE, not: true }
+}
+
+action: {
+ id: 350,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Meridian,
+ after: "04/15:00:00",
+ text: "c02.a350",
+ source: News,
+ file: "Actions/07-research-lab.txt",
+ image: "Actions/07-research-lab.pcx",
+ scene: "Scenes/07-Research-Lab.def"
+}
+
+action: {
+ id: 370,
+ type: zone,
+ team: 1,
+ after: "04/16:30:00",
+ asset_type: destroyer_squadron,
+ asset_id: 60,
+ region: Meridian,
+ image: "Actions/AA-gerrond-meridian.pcx"
+}
+
+action: {
+ id: 375,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Solus,
+ after: "04/20:00:00",
+ text: "c02.a375",
+ source: News,
+ file: "Actions/08-renser-accusation.txt",
+ image: "Actions/08-renser-accusation.pcx",
+ scene: "Scenes/08-Renser-Accusation.def"
+}
+
+action: {
+ id: 410,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Solus,
+ after: "05/12:00:00",
+ text: "c02.a410",
+ source: News,
+ file: "Actions/09-senate-resolution.txt",
+ image: "Actions/09-senate-resolution.pcx",
+ scene: "Scenes/09-Senate-Resolution.def"
+}
+
+// RENSER TASK FORCE ARRIVES IN SOLUS (JALAH SECTOR)
+
+action: {
+ id: 420,
+ type: intel,
+ subtype: known,
+ team: 2,
+ rgn: Jalah,
+ after: "06/21:15:00",
+ asset_type: destroyer_squadron,
+ asset_id: 25,
+}
+
+action: {
+ id: 421,
+ type: intel,
+ subtype: known,
+ team: 2,
+ rgn: Jalah,
+ after: "06/22:45:00",
+ asset_type: destroyer_squadron,
+ asset_id: 26,
+}
+
+action: {
+ id: 422,
+ type: intel,
+ subtype: known,
+ team: 2,
+ rgn: Jalah,
+ after: "06/23:30:00",
+ asset_type: carrier_group,
+ asset_id: 4,
+}
+
+// KEEP RENSER TASK FORCE IN JALAH SECTOR
+
+action: {
+ id: 425,
+ type: zone,
+ team: 2,
+ rgn: Jalah,
+ after: "06/21:15:00",
+ asset_type: destroyer_squadron,
+ asset_id: 25,
+}
+
+action: {
+ id: 426,
+ type: zone,
+ team: 2,
+ rgn: Jalah,
+ after: "06/22:45:00",
+ asset_type: destroyer_squadron,
+ asset_id: 26,
+}
+
+action: {
+ id: 427,
+ type: zone,
+ team: 2,
+ rgn: Jalah,
+ after: "06/23:30:00",
+ asset_type: carrier_group,
+ asset_id: 4,
+}
+
+action: {
+ id: 440,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Jalah,
+ after: "06/23:45:00",
+ text: "c02.a440",
+ source: FORCOM,
+ file: "Actions/10-renser-arrival.txt",
+ image: "Actions/10-renser-arrival.pcx",
+}
+
+action: {
+ id: 450,
+ type: sitrep,
+ team: 1,
+ after: "06/23:45:00",
+ text: "c02.a450"
+}
+
+action: {
+ id: 455,
+ type: orders,
+ team: 1,
+ after: "06/23:45:00",
+ text: "c02.a455"
+}
+
+// DANTARI FORCES FALL BACK TO JALAH TO REGROUP WITH RENSER TASK FORCE
+
+action: {
+ id: 500,
+ type: zone,
+ team: 2,
+ after: "07/18:00:00",
+ asset_type: carrier_group,
+ asset_id: 5,
+ region: Jalah,
+}
+
+action: {
+ id: 501,
+ type: zone,
+ team: 2,
+ after: "07/20:00:00",
+ asset_type: destroyer_squadron,
+ asset_id: 5,
+ region: Jalah,
+}
+
+action: {
+ id: 502,
+ type: zone,
+ team: 2,
+ after: "07/21:00:00",
+ asset_type: destroyer_squadron,
+ asset_id: 6,
+ region: Jalah,
+}
+
+action: {
+ id: 503,
+ type: zone,
+ team: 2,
+ after: "07/22:00:00",
+ asset_type: destroyer_squadron,
+ asset_id: 7,
+ region: Jalah,
+}
+
+action: {
+ id: 510,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Jalah,
+ after: "07/22:15:00",
+ text: "c02.a510",
+ source: FORCOM,
+ file: "Actions/11-dantari-pullback.txt",
+ image: "Actions/11-dantari-pullback.pcx",
+ scene: "Scenes/11-Dantari-Pullback.def"
+}
+
+action: {
+ id: 515,
+ type: sitrep,
+ team: 1,
+ after: "07/22:15:00",
+ text: "c02.a515"
+}
+
+// ALLIANCE FORCES PURSUE THEM INTO JALAH
+
+action: {
+ id: 520,
+ type: zone,
+ team: 1,
+ after: "08/00:00:00",
+ asset_type: destroyer_squadron,
+ asset_id: 60,
+ region: Jalah,
+ image: "Actions/AA-gerrond-jalah.pcx"
+}
+
+action: {
+ id: 521,
+ type: zone,
+ team: 1,
+ after: "08/01:00:00",
+ asset_type: carrier_group,
+ asset_id: 6,
+ region: Jalah,
+ image: "Actions/AA-archon-jalah.pcx"
+}
+
+action: {
+ id: 530,
+ type: intel,
+ subtype: known,
+ team: 1,
+ after: "08/22:00:00",
+ asset_type: destroyer_squadron,
+ asset_id: 43,
+ region: Jalah,
+}
+
+action: {
+ id: 535,
+ type: zone,
+ team: 1,
+ after: "08/22:00:00",
+ asset_type: destroyer_squadron,
+ asset_id: 43,
+ region: Jalah,
+ image: "Actions/AA-shadow-jalah.pcx",
+
+ req: { action: 735, status: COMPLETE, not: true }
+}
+
+// DON'T PROLONG THE SUFFERING INDEFINITELY
+
+action: {
+ id: 550,
+ type: event,
+ subtype: attack,
+ team: 1,
+ rgn: Jalah,
+ text: "c02.a550",
+ file: "Actions/11a-wolf.txt",
+ source: TACNET,
+ after: "10/13:30:00",
+ before: "11/13:30:00",
+
+ req: { c1: "Dantari Separatists", group_type: destroyer_squadron, group_id: 5, comp: GT, score: 100 },
+ req: { action: 600, status: COMPLETE, not: true },
+
+ target_type: destroyer_squadron,
+ target_id: 5,
+ target_iff: 2,
+ target_kill: "Wolf",
+ target_kill: "Halas",
+ target_kill: "Baikal",
+ target_kill: "Kyren",
+}
+
+action: {
+ id: 555,
+ type: event,
+ subtype: attack,
+ team: 1,
+ rgn: Jalah,
+ text: "c02.a555",
+ file: "Actions/11a-kitts.txt",
+ source: TACNET,
+ after: "10/20:30:00",
+ before: "11/20:30:00",
+
+ req: { c1: "Dantari Separatists", group_type: destroyer_squadron, group_id: 6, comp: GT, score: 200 },
+ req: { action: 600, status: COMPLETE, not: true },
+
+ target_type: destroyer_squadron,
+ target_id: 6,
+ target_iff: 2,
+ target_kill: "Kitts",
+ target_kill: "Tomal",
+ target_kill: "Loval",
+ target_kill: "Udel",
+}
+
+action: {
+ id: 560,
+ type: event,
+ subtype: attack,
+ team: 1,
+ rgn: Jalah,
+ text: "c02.a560",
+ file: "Actions/11a-kendra.txt",
+ source: TACNET,
+ after: "11/10:30:00",
+ before: "12/10:30:00",
+
+ req: { c1: "Dantari Separatists", group_type: destroyer_squadron, group_id: 7, comp: GT, score: 300 },
+ req: { action: 600, status: COMPLETE, not: true },
+
+ target_type: destroyer_squadron,
+ target_id: 7,
+ target_iff: 2,
+ target_kill: "Kendra",
+ target_kill: "Sayal",
+ target_kill: "Baionne",
+ target_kill: "Pelorat",
+}
+
+action: {
+ id: 565,
+ type: event,
+ subtype: attack,
+ team: 1,
+ rgn: Jalah,
+ text: "c02.a565",
+ file: "Actions/11a-goliath.txt",
+ source: TACNET,
+ after: "12/10:20:00",
+ before: "13/10:20:00",
+
+ req: { c1: "Dantari Separatists", group_type: carrier_group, group_id: 5, comp: GT, score: 500 },
+ req: { action: 600, status: COMPLETE, not: true },
+
+ target_type: carrier_group,
+ target_id: 5,
+ target_iff: 2,
+ target_kill: "Goliath",
+ target_kill: "Lanner",
+ target_kill: "Connel",
+ target_kill: "Ganat",
+}
+
+// AFTER JALAH FALLS, TASK FORCE RETREATS TO RENSER
+
+action: {
+ id: 600,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Solus,
+ text: "c02.a600",
+ source: News,
+ file: "Actions/12-cease-fire.txt",
+ image: "Actions/12-cease-fire.pcx",
+
+ req: { c1: "Dantari Separatists", group_type: carrier_group, group_id: 5, comp: LT, score: 500 },
+ req: { c1: "Dantari Separatists", group_type: destroyer_squadron, group_id: 5, comp: LT, score: 100 },
+ req: { c1: "Dantari Separatists", group_type: destroyer_squadron, group_id: 6, comp: LT, score: 200 },
+ req: { c1: "Dantari Separatists", group_type: destroyer_squadron, group_id: 7, comp: LT, score: 300 },
+}
+
+action: {
+ id: 620,
+ type: intel,
+ subtype: known,
+ team: 2,
+ rgn: Khaital,
+ asset_type: destroyer_squadron,
+ asset_id: 25,
+
+ req: { action: 600, status: COMPLETE }
+}
+
+action: {
+ id: 621,
+ type: intel,
+ subtype: known,
+ team: 2,
+ rgn: Khaital,
+ asset_type: destroyer_squadron,
+ asset_id: 26,
+
+ req: { action: 600, status: COMPLETE }
+}
+
+action: {
+ id: 622,
+ type: intel,
+ subtype: known,
+ team: 2,
+ rgn: Lornas,
+ asset_type: carrier_group,
+ asset_id: 4,
+
+ req: { action: 600, status: COMPLETE }
+}
+
+// KEEP RENSER TASK FORCE IN KHAITAL SECTOR
+
+action: {
+ id: 630,
+ type: zone,
+ team: 2,
+ rgn: Khaital,
+ asset_type: destroyer_squadron,
+ asset_id: 25,
+
+ req: { action: 620, status: COMPLETE }
+}
+
+action: {
+ id: 640,
+ type: zone,
+ team: 2,
+ rgn: Khaital,
+ asset_type: destroyer_squadron,
+ asset_id: 26,
+
+ req: { action: 621, status: COMPLETE }
+}
+
+action: {
+ id: 650,
+ type: zone,
+ team: 2,
+ rgn: Lornas,
+ asset_type: carrier_group,
+ asset_id: 4,
+
+ req: { action: 622, status: COMPLETE }
+}
+
+// ALLIANCE FORCES ARRIVE IN KHAITAL
+
+action: {
+ id: 700,
+ type: event,
+ subtype: story,
+ team: 1,
+ rgn: Solus,
+ text: "c02.a700",
+ source: News,
+ file: "Actions/13-renser-invasion.txt",
+ image: "Actions/13-renser-invasion.pcx",
+ scene: "Scenes/13-Renser-Invasion.def",
+ delay: 19800, // five and a half hours after 600
+
+ req: { action: 600, status: COMPLETE }
+}
+
+action: {
+ id: 701,
+ type: event,
+ subtype: story
+ team: 1
+ rgn: Jarnell
+ text: "c02.a701"
+ source: Mail
+ file: "Actions/m3-why-renser.txt"
+ image: "Actions/m0-mail-icon.pcx"
+ scene: "Scenes/M3-Why-Renser.def"
+ delay: 21600 // six hours after 700
+
+ req: { action: 700, status: COMPLETE }
+}
+
+action: {
+ id: 710,
+ type: sitrep,
+ team: 1,
+ text: "c02.a710",
+
+ req: { action: 700, status: COMPLETE }
+}
+
+action: {
+ id: 711,
+ type: orders,
+ team: 1,
+ text: "c02.a711",
+
+ req: { action: 700, status: COMPLETE }
+}
+
+action: {
+ id: 720,
+ type: zone,
+ team: 1,
+ asset_type: destroyer_squadron,
+ asset_id: 60,
+ region: Khaital,
+ image: "Actions/AA-gerrond-khaital.pcx",
+
+ req: { action: 700, status: COMPLETE }
+}
+
+action: {
+ id: 725,
+ type: zone,
+ team: 1,
+ asset_type: carrier_group,
+ asset_id: 6,
+ region: Khaital,
+ image: "Actions/AA-archon-khaital.pcx",
+
+ req: { action: 700, status: COMPLETE }
+}
+
+action: {
+ id: 735,
+ type: zone,
+ team: 1,
+ asset_type: destroyer_squadron,
+ asset_id: 43,
+ region: Khaital,
+ image: "Actions/AA-shadow-khaital.pcx",
+
+ req: { action: 530, status: COMPLETE },
+ req: { action: 700, status: COMPLETE }
+}
+
+// ALLIANCE FORCES PURSUE FLEET INTO LORNAS
+
+action: {
+ id: 660,
+ type: zone,
+ team: 2,
+ asset_type: destroyer_squadron,
+ asset_id: 25,
+ delay: 90e3,
+
+ req: { action: 620, status: COMPLETE }
+}
+
+action: {
+ id: 670,
+ type: zone,
+ team: 2,
+ asset_type: destroyer_squadron,
+ asset_id: 26,
+ delay: 90e3,
+
+ req: { action: 621, status: COMPLETE }
+}
+
+action: {
+ id: 680,
+ type: zone,
+ team: 2,
+ asset_type: carrier_group,
+ asset_id: 4,
+ delay: 90e3,
+
+ req: { action: 622, status: COMPLETE }
+}
+
+action: {
+ id: 721,
+ type: zone,
+ team: 1,
+ asset_type: destroyer_squadron,
+ asset_id: 43,
+ delay: 36000,
+
+ req: { action: 660, status: COMPLETE },
+ req: { action: 720, status: COMPLETE }
+}
+
+action: {
+ id: 726,
+ type: zone,
+ team: 1,
+ asset_type: carrier_group,
+ asset_id: 6,
+ delay: 36000,
+
+ req: { action: 670, status: COMPLETE },
+ req: { action: 725, status: COMPLETE }
+}
+
+action: {
+ id: 736,
+ type: zone,
+ team: 1,
+ asset_type: destroyer_squadron,
+ asset_id: 60,
+ delay: 36000,
+
+ req: { action: 680, status: COMPLETE },
+ req: { action: 735, status: COMPLETE }
+}
+
+// THE BITTER END
+
+action: {
+ id: 997
+ type: event
+ subtype: campaign_fail
+ team: 1
+ rgn: Solus
+ text: "c02.defeat"
+ file: "Actions/def1.txt"
+ image: "Actions/def1"
+ scene: "Scenes/Defeat1.def"
+
+ req: { c1: "Terellian Alliance", group_type: carrier_group, group_id: 6, comp: LT, score: 3000 },
+ req: { action: 600, status: COMPLETE, not: true },
+}
+
+action: {
+ id: 998
+ type: event
+ subtype: campaign_fail
+ team: 1
+ rgn: Solus
+ text: "c02.defeat"
+ file: "Actions/def2.txt"
+ image: "Actions/def2"
+ scene: "Scenes/Defeat2.def"
+
+ req: { c1: "Terellian Alliance", group_type: carrier_group, group_id: 6, comp: LT, score: 3000 }
+ req: { action: 600, status: COMPLETE }
+}
+
+action: {
+ id: 999
+ type: event
+ subtype: campaign_end // successful ending
+ team: 1
+ rgn: Solus
+ text: "c02.victory"
+ file: "Actions/campaign_end.txt"
+ image: "Actions/victory"
+ scene: "Scenes/Victory.def"
+
+ req: { c1: "Marakan Hegemony", group_type: fleet, group_id: 4, comp: LT, score: 4000 }
+}