Back to Index Page generated: May 8, 2024, 6:16:03 AM

Expansion Far Arm Ships

Content

Manifest

from Expansion Manager's OXP list from Expansion Manifest
Description Inspired by Paul Neurath's Space Rogue this OXP adds 10 ships (+variants) and 4 missiles to the Ooniverse. Inspired by Paul Neurath's Space Rogue this OXP adds 10 ships (+variants) and 4 missiles to the Ooniverse.
Identifier oolite.oxp.zzz.Montana05.Far_Arms_Ships oolite.oxp.zzz.Montana05.Far_Arms_Ships
Title Far Arm Ships Far Arm Ships
Category Ships Ships
Author Zieman Zieman
Version 3.01 3.01
Tags
Required Oolite Version
Maximum Oolite Version
Required Expansions
Optional Expansions
Conflict Expansions
Information URL http://wiki.alioth.net/index.php/Far_Arm_ships n/a
Download URL https://wiki.alioth.net/img_auth.php/6/62/Oolite.oxp.zzz.Montana05.Far_Arm_Ships.OXZ n/a
License CC BY-NC-SA 3.0 CC BY-NC-SA 3.0
File Size n/a
Upload date 1610873315

Documentation

Also read http://wiki.alioth.net/index.php/Far%20Arm%20Ships

Far Arm ships 3.0.1 ReadMe.txt

Far Arm ships 3.0.1
by Zieman

An expansion pack to Oolite by Giles Williams and contributors.
Oolite: inspired by ELITE by Ian Bell and David Braben (http://www.oolite.org/).

Far Arm ships 3.0.1 adds 10 ships (+variants) inspired by Paul Neurath's Space Rogue (Origin 1989) to the Ooniverse.
Tested with version 1.76.1 of Oolite on Windows XP pro SP3 (32 bit). May not work properly in earlier versions. 

History:
Version 3.0.1
 - fixed a typo in shipdata.plist that prevented the Manchi missile to work as intended

Version 3.0
 - fixed textures per Svengali's suggestion, resulting in 10 mb smaller Textures-folder with no quality loss
 - fixes shipdata.plist error and renamed some files that did not meet today's OXP naming standards (again, thanks go to Svengali)
 - added populator script, to make some ships appear where their descriptions imply. Merged the Manchi populator to this script (again, thanks go to Svengali)
 - added the 3 missiles from Space Rogue and 1 extra missile.
 - added ship scripts to let NPC versions of these ships have aforementioned missiles, and some communications.
 - added a rare player version for a couple of ships.

Version 2.0
 - introducing normal maps and illumination maps, utilising Oolite's in-built shaders via its material model.

Version 1.0
 - the initial release.

Installation:
Move or copy the folder "Far_Arm_ships_3.0.1.oxp" to your AddOns -folder before starting Oolite. 
If you have an earlier version of Far Arm ships installed, remove it first.

Acknowledgements:
All models by Zieman
All textures by Zieman, using:
- modified metal.png from the core game, original by Giles Williams
- the 'Navy Star' (2 versions) from Behemoth 2.5.1 by Aegidian
All plists based on core game plists by Giles Williams
Player detection code in ship scripts by Eric Walch
Feature tuning per suggestions by Ironfist and Switeck

License:
This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
For license details, see: http://creativecommons.org/licenses/by-nc-sa/3.0/

Equipment

Name Visible Cost [deci-credits] Tech-Level
Manchi Missile yes 100 100+
Nova missile yes 20000 12+
Plasma torpedo yes 100 2+
SM-1 yes 2500 7+

Ships

Name
Corsair
Corsair Class Cruiser
Laser barrel
Nacelle gun
Corsair Class Cruiser
Corsair
Laser
Laser
Turret
Cruiser
FA_Cruiser-patrol1a
FA_Cruiser-patrol1b
FA_Cruiser-patrol2a
FA_Cruiser-patrol2b
FA_Cruiser-patrol3a
FA_Cruiser-patrol3b
FA_Cruiser-wingman
Laser
Laser
Turret
Turret
Dart
Dart
Dart
Dart
Hunter
FA_Hunter-patrol1
FA_Hunter-patrol2
FA_Hunter-patrol3
Hunter
Laser barrel
Nacelle gun
Laser
Manchi missile
Nova missile
Plasma torpedo
SM-1 missile
Scow
Scow
Scow
Scow
Scow SE
Scow SE
Turret
Sunracer
Sunracer Scout
Sunracer
Sunracer
Sunracer Scout
Sunracer
Sunracer Scout
Tanker
Tanker Trader
Tanker
Tanker Trader
Tanker SE
Tanker SE
Turret
Turret
Titan
FA_Titan-patrol1a
FA_Titan-patrol1b
FA_Titan-patrol1c
FA_Titan-patrol1d
FA_Titan-patrol1e
FA_Titan-patrol2a
FA_Titan-patrol2b
FA_Titan-patrol2c
FA_Titan-patrol2d
FA_Titan-patrol2e
FA_Titan-patrol3a
FA_Titan-patrol3b
FA_Titan-patrol3c
FA_Titan-patrol3d
FA_Titan-patrol3e
FA_Titan-wingman
Laser
Laser
Turret
Turret
Manchi Vulture
Manchi Vulture
Manchiturret
Manchi Wasp
FA_Wasp_E
Manchi light turret

Models

This expansion declares no models.

Scripts

Path
Scripts/fa-corsair.js
this.name = "Far Arm ships Corsair script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Corsair comms and missiles";
this.version = "3.0";

this.shipSpawned = function()
{
	var FAgiveSM1AmountCo = Math.floor(Math.random() * (this.ship.missileCapacity+1));
	var FAgotSM1AmountCo=0;
		for (FAgotSM1AmountCo=0;FAgotSM1AmountCo<FAgiveSM1AmountCo;FAgotSM1AmountCo++)
		{
		this.ship.awardEquipment("EQ_FA_SM1_MISSILE");
		}
	{
		this.checkPlayerTimer = new Timer(this, this.checkPlayer, Math.floor(Math.random()*15)+1, Math.floor(Math.random()*60)+120);
	}
}

this.shipTargetAcquired = function(target)
	{
		if (target && target.isPlayer && player.bounty > 10) this.ship.target = null;
	}

this.shipBeingAttacked = function (whom)
{
	if (this.checkPlayerTimer) 
		{
		this.checkPlayerTimer.stop(); 
		delete this.checkPlayerTimer
		};
	if (whom.isPlayer && !this.cursePlayerTimer) this.cursePlayerTimer = new Timer(this, this.cursePlayer, 1, 20);
}

this.cursePlayer = function ()
{
	if (player.alertCondition != 0) this.ship.commsMessage(expandDescription("[FApirate_curses]"));
}

this.checkPlayer = function ()
{
	if (player.alertCondition != 0 && player.ship.position && player.ship.position.distanceTo(this.ship) < this.ship.scannerRange) this.attitudecheck();
}

this.attitudecheck = function()
{
	if (player.bounty > 10)
	{
		this.ship.commsMessage(expandDescription("[FApirate_greetings]"));
	}
		else
		{
			this.ship.commsMessage(expandDescription("[FApirate_neutral]"));
		}
}

this.entityDestroyed = function ()
{
	if (this.checkPlayerTimer) {this.checkPlayerTimer.stop(); delete this.checkPlayerTimer};
	if (this.cursePlayerTimer) {this.cursePlayerTimer.stop(); delete this.cursePlayerTimer};
}
Scripts/fa-cruiser.js
this.name = "Far Arm ships Cruiser script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Cruiser comms and missiles";
this.version = "3.0";

this.shipSpawned = function()
{
	var FAgiveSM1AmountCr = this.ship.missileCapacity;
	var FAgotSM1AmountCr=0;
		for (FAgotSM1AmountCr=0;FAgotSM1AmountCr<FAgiveSM1AmountCr;FAgotSM1AmountCr++)
		{
		this.ship.awardEquipment("EQ_FA_SM1_MISSILE");
		}
	{
	   this.checkPlayerTimer = new Timer(this, this.checkPlayer, Math.floor(Math.random()*15)+1, Math.floor(Math.random()*60)+120);
	}
}

this.shipBeingAttacked = function (whom)
{
	if (this.checkPlayerTimer) 
		{
		this.checkPlayerTimer.stop(); 
		delete this.checkPlayerTimer
		};
	if (whom.isPlayer && !this.cursePlayerTimer) this.cursePlayerTimer = new Timer(this, this.cursePlayer, 1, 20);
}

this.cursePlayer = function ()
{
	if (player.alertCondition != 0) this.ship.commsMessage(player.legalStatus + " " + player.name + expandDescription("[FAnavy_curses]"));
}

this.checkPlayer = function ()
{
	if (player.alertCondition != 0 && player.ship.position && player.ship.position.distanceTo(this.ship) < this.ship.scannerRange) this.attitudecheck();
}

this.attitudecheck = function()
{
	if (player.bounty == 0)
	{ 
		if (missionVariables.player_sortie && missionVariables.player_sortie >= 10) this.ship.commsMessage(expandDescription("[FAnavy_greetings]"));
		else this.ship.commsMessage(expandDescription("[FAnavy_neutral]"));
	}
}

this.entityDestroyed = function ()
{
	if (this.checkPlayerTimer) {this.checkPlayerTimer.stop(); delete this.checkPlayerTimer};
	if (this.cursePlayerTimer) {this.cursePlayerTimer.stop(); delete this.cursePlayerTimer};
}
Scripts/fa-dart.js
this.name = "Far Arm ships Dart script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Dart comms and missiles";
this.version = "3.0";

this.shipSpawned = function()
{
	var FADartmissilechoice = Math.floor(Math.random() * (100+1));
	if (FADartmissilechoice > 50)
	{
		var FAgiveSM1AmountDa = Math.floor(Math.random() * (this.ship.missileCapacity+1));
		var FAgotSM1AmountDa=0;
			for (FAgotSM1AmountDa=0;FAgotSM1AmountDa<FAgiveSM1AmountDa;FAgotSM1AmountDa++)
			{
			this.ship.awardEquipment("EQ_FA_SM1_MISSILE");
			}
		return;
	}
	else
	{
		var FAgiveTorpAmountDa = Math.floor(Math.random() * (this.ship.missileCapacity+1));
		var FAgotTorpAmountDa=0;
			for (FAgotTorpAmountDa=0;FAgotTorpAmountDa<FAgiveTorpAmountDa;FAgotTorpAmountDa++)
			{
			this.ship.awardEquipment("EQ_FA_PLASMATORP_MISSILE");
			}
		return;
	}
	{
	   this.checkPlayerTimer = new Timer(this, this.checkPlayer, Math.floor(Math.random()*15)+1, Math.floor(Math.random()*60)+120);
	}
}

this.shipTargetAcquired = function(target)
	{
		if (target && target.isPlayer && player.bounty > 10) this.ship.target = null;
	}

this.shipBeingAttacked = function (whom)
{
	if (this.checkPlayerTimer) 
		{
		this.checkPlayerTimer.stop(); 
		delete this.checkPlayerTimer
		};
	if (whom.isPlayer && !this.cursePlayerTimer) this.cursePlayerTimer = new Timer(this, this.cursePlayer, 1, 20);
}

this.cursePlayer = function ()
{
	if (player.alertCondition != 0) this.ship.commsMessage(expandDescription("[FApirate_curses]"));
}

this.checkPlayer = function ()
{
	if (player.alertCondition != 0 && player.ship.position && player.ship.position.distanceTo(this.ship) < this.ship.scannerRange) this.attitudecheck();
}

this.attitudecheck = function()
{
	if (player.bounty > 10)
	{
		this.ship.commsMessage(expandDescription("[FApirate_greetings]"));
	}
		else
		{
			this.ship.commsMessage(expandDescription("[FApirate_neutral]"));
		}
}

this.entityDestroyed = function ()
{
	if (this.checkPlayerTimer) {this.checkPlayerTimer.stop(); delete this.checkPlayerTimer};
	if (this.cursePlayerTimer) {this.cursePlayerTimer.stop(); delete this.cursePlayerTimer};
}
Scripts/fa-hunter.js
this.name = "Far Arm ships Hunter script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Hunter commms and missiles";
this.version = "3.0";

this.shipSpawned = function()
{
	var FAgiveSM1AmountH = Math.floor(Math.random() * (this.ship.missileCapacity+1));
	var FAgotSM1AmountH=0;
		for (FAgotSM1AmountH=0;FAgotSM1AmountH<FAgiveSM1AmountH;FAgotSM1AmountH++)
		{
		this.ship.awardEquipment("EQ_FA_SM1_MISSILE");
		}
	{
	   this.checkPlayerTimer = new Timer(this, this.checkPlayer, Math.floor(Math.random()*15)+1, Math.floor(Math.random()*60)+120);
	}
}

this.shipBeingAttacked = function (whom)
{
	if (this.checkPlayerTimer) 
		{
		this.checkPlayerTimer.stop(); 
		delete this.checkPlayerTimer
		};
	if (whom.isPlayer && !this.cursePlayerTimer) this.cursePlayerTimer = new Timer(this, this.cursePlayer, 1, 20);
}

this.cursePlayer = function ()
{
	if (player.alertCondition != 0) this.ship.commsMessage(expandDescription("[FAhunter_curses]"));
}

this.checkPlayer = function ()
{
	if (player.alertCondition != 0 && player.ship.position && player.ship.position.distanceTo(this.ship) < this.ship.scannerRange) this.attitudecheck();
}

this.attitudecheck = function()
{
	if (player.bounty == 0) this.ship.commsMessage(expandDescription("[FAhunter_greetings]"));
}

this.entityDestroyed = function ()
{
	if (this.checkPlayerTimer) {this.checkPlayerTimer.stop(); delete this.checkPlayerTimer};
	if (this.cursePlayerTimer) {this.cursePlayerTimer.stop(); delete this.cursePlayerTimer};
}
Scripts/fa-mm.js
this.name = "Manchi missile ECM script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Manchi missile ECM reaction";
this.version = "3.0";

this.fammecmd = function()
{
	this.FAmmECMx = 500000-(Math.floor(Math.random()*10)+1)*100000;
	this.FAmmECMy = 500000-(Math.floor(Math.random()*10)+1)*100000;
	this.FAmmECMz = 1200000-(Math.floor(Math.random()*16)+1)*100000;
	this.ship.savedCoordinates = Vector3D(FAmmECMx, FAmmECMy, FAmmECMz);
}
Scripts/fa-nova.js
this.name = "Nova missile ECM script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Nova missile ECM reaction";
this.version = "3.0";

this.fanovaecmd = function()
{
	this.FANovaECMx = 500000-(Math.floor(Math.random()*10)+1)*100000;
	this.FANovaECMy = 500000-(Math.floor(Math.random()*10)+1)*100000;
	this.FANovaECMz = 1200000-(Math.floor(Math.random()*16)+1)*100000;
	this.ship.savedCoordinates = Vector3D(FANovaECMx, FANovaECMy, FANovaECMz);
}
Scripts/fa-scow.js
this.name = "Far Arm ships Scow script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Scow comms and missiles";
this.version = "3.0";

this.shipSpawned = function()
{
	var FAgiveTorpAmountSc = Math.floor(Math.random() * (this.ship.missileCapacity+1));
	var FAgotTorpAmountSc=0;
		for (FAgotTorpAmountSc=0;FAgotTorpAmountSc<FAgiveTorpAmountSc;FAgotTorpAmountSc++)
		{
		this.ship.awardEquipment("EQ_FA_PLASMATORP_MISSILE");
		}
	{
	   this.checkPlayerTimer = new Timer(this, this.checkPlayer, Math.floor(Math.random()*15)+1, Math.floor(Math.random()*60)+120);
	}
}

this.shipTargetAcquired = function(target)
	{
		if (target && this.ship.rimaryRole == "pirate" && this.ship.target == "player" && player.bounty > 0) this.ship.target = null;
	}

this.shipBeingAttacked = function (whom)
{
	if (this.checkPlayerTimer) 
		{
		this.checkPlayerTimer.stop(); 
		delete this.checkPlayerTimer
		};
	if (whom.isPlayer && !this.cursePlayerTimer) this.cursePlayerTimer = new Timer(this, this.cursePlayer, 1, 20);
}

this.cursePlayer = function ()
{
	if (this.ship.rimaryRole == "pirate" && player.alertCondition != 0) 
		{
		this.ship.commsMessage(expandDescription("[FApirate_curses]"));
		}
	else if (player.alertCondition != 0) 
		{
		this.ship.commsMessage(expandDescription("[FAtrader_curses]"));
		}
}

this.checkPlayer = function ()
{
	if (player.alertCondition != 0 && player.ship.position && player.ship.position.distanceTo(this.ship) < this.ship.scannerRange) this.attitudecheck();
}

this.attitudecheck = function()
{
	if (player.bounty < 50 && this.ship.rimaryRole != "pirate") 
		{
		this.ship.commsMessage(expandDescription("[FAtrader_greetings]"));
		}
	else if (player.bounty > 10)
			{
			this.ship.commsMessage(expandDescription("[FApirate_greetings]"));
			}
		else
			{
			this.ship.commsMessage(expandDescription("[FApirate_neutral]"));
			}
}

this.entityDestroyed = function ()
{
	if (this.checkPlayerTimer) {this.checkPlayerTimer.stop(); delete this.checkPlayerTimer};
	if (this.cursePlayerTimer) {this.cursePlayerTimer.stop(); delete this.cursePlayerTimer};
}
Scripts/fa-scowse.js
this.name = "Far Arm ships Scow SE script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Scow SE commms and missiles";
this.version = "3.0";

this.shipSpawned = function()
{
	var FAgiveSM1AmountSSE = Math.floor(Math.random() * (this.ship.missileCapacity+1));
	var FAgotSM1AmountH=0;
		for (FAgotSM1AmountSSE=0;FAgotSM1AmountSSE<FAgiveSM1AmountSSE;FAgotSM1AmountSSE++)
		{
		this.ship.awardEquipment("EQ_FA_SM1_MISSILE");
		}
	{
	   this.checkPlayerTimer = new Timer(this, this.checkPlayer, Math.floor(Math.random()*15)+1, Math.floor(Math.random()*60)+120);
	}
}

this.shipTargetAcquired = function(target)
	{
		if (target && this.ship.rimaryRole == "pirate" && this.ship.target == "player" && player.bounty > 0) this.ship.target = null;
	}

this.shipBeingAttacked = function (whom)
{
	if (this.checkPlayerTimer) 
		{
		this.checkPlayerTimer.stop(); 
		delete this.checkPlayerTimer
		};
	if (whom.isPlayer && !this.cursePlayerTimer) this.cursePlayerTimer = new Timer(this, this.cursePlayer, 1, 20);
}

this.cursePlayer = function ()
{
	if (this.ship.rimaryRole == "pirate" && player.alertCondition != 0) 
		{
		this.ship.commsMessage(expandDescription("[FApirate_curses]"));
		}
		else if (this.ship.rimaryRole == "hunter" && player.alertCondition != 0)
			{
			this.ship.commsMessage(expandDescription("[FAhunter_curses]"));
			}
			else if (player.alertCondition != 0) 
			{
			this.ship.commsMessage(expandDescription("[FAtrader_curses]"));
			}
}

this.checkPlayer = function ()
{
	if (player.alertCondition != 0 && player.ship.position && player.ship.position.distanceTo(this.ship) < this.ship.scannerRange) this.attitudecheck();
}

this.attitudecheck = function()
{
	if (player.bounty < 10 && this.ship.rimaryRole == "hunter")
		{
		this.ship.commsMessage(expandDescription("[FAhunter_greetings]"));
		}
		else if (player.bounty < 50 && this.ship.rimaryRole != "pirate") 
			{
			this.ship.commsMessage(expandDescription("[FAtrader_greetings]"));
			}
			else if (player.bounty > 10)
				{
				this.ship.commsMessage(expandDescription("[FApirate_greetings]"));
				}
				else
				{
				this.ship.commsMessage(expandDescription("[FApirate_neutral]"));
				}
}

this.entityDestroyed = function ()
{
	if (this.checkPlayerTimer) {this.checkPlayerTimer.stop(); delete this.checkPlayerTimer};
	if (this.cursePlayerTimer) {this.cursePlayerTimer.stop(); delete this.cursePlayerTimer};
}
Scripts/fa-setB-mm.js
this.name = "Far Arm ships set B Manchi missile script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Gives Manchi missiles to Manchi ships";
this.version = "3.0";

this.shipSpawned = function()
{
	var FAgiveMMAmountB = Math.floor(Math.random() * (this.ship.missileCapacity+1));
	var FAgotMMAmountB=0;
		for (FAgotMMAmountB=0;FAgotMMAmountB<FAgiveMMAmountB;FAgotMMAmountB++)
		{
		this.ship.awardEquipment("EQ_FA_MANCHI_MISSILE");
		}
}
Scripts/fa-sm1.js
this.name = "SM1 missile ECM script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "SM1 missile ECM reaction";
this.version = "3.0";

this.fasm1ecmd = function()
{
	this.FAsm1ECMx = 500000-(Math.floor(Math.random()*10)+1)*100000;
	this.FAsm1ECMy = 500000-(Math.floor(Math.random()*10)+1)*100000;
	this.FAsm1ECMz = 1200000-(Math.floor(Math.random()*16)+1)*100000;
	this.ship.savedCoordinates = Vector3D(FAsm1ECMx, FAsm1ECMy, FAsm1ECMz);
}
Scripts/fa-sunracer.js
this.name = "Far Arm ships Sunracer script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Sunracer comms and missiles";
this.version = "3.0";

this.shipSpawned = function()
{
	var FASunracermissilechoice = Math.floor(Math.random() * (100+1));
	if (FASunracermissilechoice > 50)
	{
		var FAgiveSM1AmountSR = Math.floor(Math.random() * (this.ship.missileCapacity+1));
		var FAgotSM1AmountSR=0;
			for (FAgotSM1AmountSR=0;FAgotSM1AmountSR<FAgiveSM1AmountSR;FAgotSM1AmountSR++)
			{
			this.ship.awardEquipment("EQ_FA_SM1_MISSILE");
			}
		return;
	}
	else
	{
		var FAgiveTorpAmountSR = Math.floor(Math.random() * (this.ship.missileCapacity+1));
		var FAgotTorpAmountSR=0;
			for (FAgotTorpAmountSR=0;FAgotTorpAmountSR<FAgiveTorpAmountSR;FAgotTorpAmountSR++)
			{
			this.ship.awardEquipment("EQ_FA_PLASMATORP_MISSILE");
			}
		return;
	}
	{
	   this.checkPlayerTimer = new Timer(this, this.checkPlayer, Math.floor(Math.random()*15)+1, Math.floor(Math.random()*60)+120);
	}
}

this.shipTargetAcquired = function(target)
	{
		if (target && this.ship.rimaryRole == "pirate" && this.ship.target == "player" && player.bounty > 10) this.ship.target = null;
	}

this.shipBeingAttacked = function(whom)
{
	if (this.checkPlayerTimer) 
		{
		this.checkPlayerTimer.stop(); 
		delete this.checkPlayerTimer
		};
	if (whom.isPlayer && !this.cursePlayerTimer) this.cursePlayerTimer = new Timer(this, this.cursePlayer, 1, 20);
}

this.cursePlayer = function()
{
	if (this.ship.rimaryRole == "pirate" && player.alertCondition != 0) 
		{
		this.ship.commsMessage(expandDescription("[FApirate_curses]"));
		}
		else if (this.ship.rimaryRole == "hunter" && player.alertCondition != 0)
			{
			this.ship.commsMessage(expandDescription("[FAhunter_curses]"));
			}
			else if (player.alertCondition != 0)
			{
			this.ship.commsMessage(expandDescription("[FAscout_curses]"));
			}
}

this.checkPlayer = function ()
{
	if (player.alertCondition != 0 && player.ship.position && player.ship.position.distanceTo(this.ship) < this.ship.scannerRange) this.attitudecheck();
}

this.attitudecheck = function()
{
	if (player.bounty < 10 && this.ship.rimaryRole == "hunter")
		{
		this.ship.commsMessage(expandDescription("[FAhunter_greetings]"));
		}
		else if (player.bounty < 50 && this.ship.rimaryRole != "pirate") 
			{
			this.ship.commsMessage(expandDescription("[FAscout_greetings]"));
			}
			else if (player.bounty > 10)
				{
				this.ship.commsMessage(expandDescription("[FApirate_greetings]"));
				}
				else
				{
				this.ship.commsMessage(expandDescription("[FApirate_neutral]"));
				}
}

this.entityDestroyed = function ()
{
	if (this.checkPlayerTimer) {this.checkPlayerTimer.stop(); delete this.checkPlayerTimer};
	if (this.cursePlayerTimer) {this.cursePlayerTimer.stop(); delete this.cursePlayerTimer};
}
Scripts/fa-sunracern.js
this.name = "Far Arm ships Sunracer N script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Sunracer N comms and missiles";
this.version = "3.0";

this.shipSpawned = function()
{
	var FAgiveSM1AmountSRN = this.ship.missileCapacity;
	var FAgotSM1AmountSRN=0;
		for (FAgotSM1AmountSRN=0;FAgotSM1AmountSRN<FAgiveSM1AmountSRN;FAgotSM1AmountSRN++)
		{
		this.ship.awardEquipment("EQ_FA_SM1_MISSILE");
		}
	{
	   this.checkPlayerTimer = new Timer(this, this.checkPlayer, Math.floor(Math.random()*15)+1, Math.floor(Math.random()*60)+120);
	}
}

this.shipBeingAttacked = function (whom)
{
	if (this.checkPlayerTimer) 
		{
		this.checkPlayerTimer.stop(); 
		delete this.checkPlayerTimer
		};
	if (whom.isPlayer && !this.cursePlayerTimer) this.cursePlayerTimer = new Timer(this, this.cursePlayer, 1, 20);
}

this.cursePlayer = function ()
{
	if (player.alertCondition != 0) this.ship.commsMessage(player.legalStatus + " " + player.name + expandDescription("[FAnavy_curses]"));
}

this.checkPlayer = function ()
{
	if (player.alertCondition != 0 && player.ship.position && player.ship.position.distanceTo(this.ship) < this.ship.scannerRange) this.attitudecheck();
}

this.attitudecheck = function()
{
	if (player.bounty == 0)
	{ 
		if (missionVariables.player_sortie && missionVariables.player_sortie >= 10) this.ship.commsMessage(expandDescription("[FAnavy_greetings]"));
		else this.ship.commsMessage(expandDescription("[FAnavy_neutral]"));
	}
}

this.entityDestroyed = function ()
{
	if (this.checkPlayerTimer) {this.checkPlayerTimer.stop(); delete this.checkPlayerTimer};
	if (this.cursePlayerTimer) {this.cursePlayerTimer.stop(); delete this.cursePlayerTimer};
}
Scripts/fa-tanker.js
this.name = "Far Arm ships Tanker script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Tanker comms and missiles";
this.version = "3.0";

this.shipSpawned = function()
{
	var FAgiveSM1AmountTa = Math.floor(Math.random() * (this.ship.missileCapacity+1));
	var FAgotSM1AmountTa=0;
		for (FAgotSM1AmountTa=0;FAgotSM1AmountTa<FAgiveSM1AmountTa;FAgotSM1AmountTa++)
		{
		this.ship.awardEquipment("EQ_FA_SM1_MISSILE");
		}
	{
	   this.checkPlayerTimer = new Timer(this, this.checkPlayer, Math.floor(Math.random()*15)+1, Math.floor(Math.random()*60)+120);
	}
}

this.shipTargetAcquired = function(target)
	{
		if (target && this.ship.rimaryRole == "pirate" && this.ship.target == "player" && player.bounty > 10) this.ship.target = null;
	}

this.shipBeingAttacked = function (whom)
{
	if (this.checkPlayerTimer) 
		{
		this.checkPlayerTimer.stop(); 
		delete this.checkPlayerTimer
		};
	if (whom.isPlayer && !this.cursePlayerTimer) this.cursePlayerTimer = new Timer(this, this.cursePlayer, 1, 20);
}

this.cursePlayer = function ()
{
	if (this.ship.rimaryRole == "pirate" && player.alertCondition != 0) 
		{
		this.ship.commsMessage(expandDescription("[FApirate_curses]"));
		}
	else if (player.alertCondition != 0)
		{
		this.ship.commsMessage(expandDescription("[FAtrader_curses]"));
		}
}

this.checkPlayer = function ()
{
	if (player.alertCondition != 0 && player.ship.position && player.ship.position.distanceTo(this.ship) < this.ship.scannerRange) this.attitudecheck();
}

this.attitudecheck = function()
{
	if (player.bounty < 50 && this.ship.rimaryRole != "pirate") 
		{
		this.ship.commsMessage(expandDescription("[FAtrader_greetings]"));
		}
	else if (player.bounty > 10)
			{
			this.ship.commsMessage(expandDescription("[FApirate_greetings]"));
			}
		else
			{
			this.ship.commsMessage(expandDescription("[FApirate_neutral]"));
			}
}

this.entityDestroyed = function ()
{
	if (this.checkPlayerTimer) {this.checkPlayerTimer.stop(); delete this.checkPlayerTimer};
	if (this.cursePlayerTimer) {this.cursePlayerTimer.stop(); delete this.cursePlayerTimer};
}
Scripts/fa-tankerse.js
this.name = "Far Arm ships Tanker SE script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Tanker SE comms and missiles";
this.version = "3.0";

this.shipSpawned = function()
{
	var FAgiveNovaAmountTSE = Math.floor(Math.random() * (this.ship.missileCapacity+1));
	var FAgotNovaAmountTSE=0;
		for (FAgotNovaAmountTSE=0;FAgotNovaAmountTSE<FAgiveNovaAmountTSE;FAgotNovaAmountTSE++)
		{
		this.ship.awardEquipment("EQ_FA_NOVA_MISSILE");
		}
	{
	   this.checkPlayerTimer = new Timer(this, this.checkPlayer, Math.floor(Math.random()*15)+1, Math.floor(Math.random()*60)+120);
	}
}

this.shipTargetAcquired = function(target)
	{
		if (target && this.ship.rimaryRole == "pirate" && this.ship.target == "player" && player.bounty > 0) this.ship.target = null;
	}

this.shipBeingAttacked = function (whom)
{
	if (this.checkPlayerTimer) 
		{
		this.checkPlayerTimer.stop(); 
		delete this.checkPlayerTimer
		};
	if (whom.isPlayer && !this.cursePlayerTimer) this.cursePlayerTimer = new Timer(this, this.cursePlayer, 1, 20);
}

this.cursePlayer = function ()
{
	if (this.ship.rimaryRole == "pirate" && player.alertCondition != 0) 
		{
		this.ship.commsMessage(expandDescription("[FApirate_curses]"));
		}
		else if (this.ship.rimaryRole == "hunter" && player.alertCondition != 0)
			{
			this.ship.commsMessage(expandDescription("[FAhunter_curses]"));
			}
			else if (player.alertCondition != 0)
			{
			this.ship.commsMessage(expandDescription("[FAtrader_curses]"));
			}
}

this.checkPlayer = function ()
{
	if (player.alertCondition != 0 && player.ship.position && player.ship.position.distanceTo(this.ship) < this.ship.scannerRange) this.attitudecheck();
}

this.attitudecheck = function()
{
	if (player.bounty < 10 && this.ship.rimaryRole == "hunter")
		{
		this.ship.commsMessage(expandDescription("[FAhunter_greetings]"));
		}
		else if (player.bounty < 50 && this.ship.rimaryRole != "pirate") 
			{
			this.ship.commsMessage(expandDescription("[FAtrader_greetings]"));
			}
			else if (player.bounty > 10)
				{
				this.ship.commsMessage(expandDescription("[FApirate_greetings]"));
				}
				else
				{
				this.ship.commsMessage(expandDescription("[FApirate_neutral]"));
				}
}

this.entityDestroyed = function ()
{
	if (this.checkPlayerTimer) {this.checkPlayerTimer.stop(); delete this.checkPlayerTimer};
	if (this.cursePlayerTimer) {this.cursePlayerTimer.stop(); delete this.cursePlayerTimer};
}
Scripts/fa-titan.js
this.name = "Far Arm ships Titan script";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Titan comms and missiles";
this.version = "3.0";

this.shipSpawned = function()
{
	var FAgiveNovaAmountTi = this.ship.missileCapacity;
	var FAgotNovaAmountTi=0;
		for (FAgotNovaAmountTi=0;FAgotNovaAmountTi<FAgiveNovaAmountTi;FAgotNovaAmountTi++)
		{
		this.ship.awardEquipment("EQ_FA_NOVA_MISSILE");
		}
	{
	   this.checkPlayerTimer = new Timer(this, this.checkPlayer, Math.floor(Math.random()*15)+1, Math.floor(Math.random()*60)+120);
	}
}

this.shipBeingAttacked = function (whom)
{
	if (this.checkPlayerTimer) 
		{
		this.checkPlayerTimer.stop(); 
		delete this.checkPlayerTimer
		};
	if (whom.isPlayer && !this.cursePlayerTimer) this.cursePlayerTimer = new Timer(this, this.cursePlayer, 1, 20);
}

this.cursePlayer = function ()
{
	if (player.alertCondition != 0) this.ship.commsMessage(player.legalStatus + " " + player.name + expandDescription("[FAnavy_curses]"));
}

this.checkPlayer = function ()
{
	if (player.alertCondition != 0 && player.ship.position && player.ship.position.distanceTo(this.ship) < this.ship.scannerRange) this.attitudecheck();
}

this.attitudecheck = function()
{
	if (player.bounty == 0)
	{ 
		if (missionVariables.player_sortie && missionVariables.player_sortie >= 10) this.ship.commsMessage(expandDescription("[FAnavy_greetings]"));
		else this.ship.commsMessage(expandDescription("[FAnavy_neutral]"));
	}
}

this.entityDestroyed = function ()
{
	if (this.checkPlayerTimer) {this.checkPlayerTimer.stop(); delete this.checkPlayerTimer};
	if (this.cursePlayerTimer) {this.cursePlayerTimer.stop(); delete this.cursePlayerTimer};
}
Scripts/far-arm-ships-populator.js
this.name = "Far Arm ships Populator";
this.author = "Zieman";
this.copyright = "CC-by-nc-sa-3.0";
this.description = "Far Arm ship populator script";
this.version = "3.0";

this.shipWillExitWitchspace = function()
{
	var zManchi = Math.floor(Math.random()*600)+1;
		switch(zManchi)
		{
		case 1:
		  system.legacy_addShipsWithinRadius("FAmanchi", 1, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 2:
		  system.legacy_addShipsWithinRadius("FAmanchi", 1, "psu", [0, 0, 0.5], 360000);
		  break;
		case 3:
		  system.legacy_addShipsWithinRadius("FAmanchi", 1, "pwu", [0, 0, 0.5], 180000);
		  break;
		case 201:
		  system.legacy_addShipsWithinRadius("FAmanchi", 1, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 202:
		  system.legacy_addShipsWithinRadius("FAmanchi", 1, "psu", [0, 0, 0.5], 360000);
		  break;
		case 203:
		  system.legacy_addShipsWithinRadius("FAmanchi", 1, "pwu", [0, 0, 0.5], 180000);
		  break;
		case 4:
		  system.legacy_addShipsWithinRadius("FAmanchi", 2, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 5:
		  system.legacy_addShipsWithinRadius("FAmanchi", 2, "psu", [0, 0, 0.5], 360000);
		  break;
		case 6:
		  system.legacy_addShipsWithinRadius("FAmanchi", 2, "pwu", [0, 0, 0.5], 180000);
		  break;
		case 7:
		  system.legacy_addShipsWithinRadius("FAwasp", 1, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 8:
		  system.legacy_addShipsWithinRadius("FAwasp", 1, "psu", [0, 0, 0.5], 360000);
		  break;
		case 9:
		  system.legacy_addShipsWithinRadius("FAwasp", 1, "pwu", [0, 0, 0.5], 180000);
		  break;
		case 107:
		  system.legacy_addShipsWithinRadius("FAwasp", 1, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 108:
		  system.legacy_addShipsWithinRadius("FAwasp", 1, "psu", [0, 0, 0.5], 360000);
		  break;
		case 109:
		  system.legacy_addShipsWithinRadius("FAwasp", 1, "pwu", [0, 0, 0.5], 180000);
		  break;
		case 10:
		  system.legacy_addShipsWithinRadius("FAwasp", 2, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 11:
		  system.legacy_addShipsWithinRadius("FAwasp", 2, "psu", [0, 0, 0.5], 360000);
		  break;
		case 12:
		  system.legacy_addShipsWithinRadius("FAwasp", 2, "pwu", [0, 0, 0.5], 180000);
		  break;
		case 13:
		  system.legacy_addShipsWithinRadius("FAvulture-l", 1, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 14:
		  system.legacy_addShipsWithinRadius("FAvulture-l", 1, "psu", [0, 0, 0.5], 360000);
		  break;
		case 15:
		  system.legacy_addShipsWithinRadius("FAvulture-l", 1, "pwu", [0, 0, 0.5], 180000);
		  break;
		case 16:
		  system.legacy_addShipsWithinRadius("FAvulture-n", 1, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 17:
		  system.legacy_addShipsWithinRadius("FAvulture-n", 1, "psu", [0, 0, 0.5], 360000);
		  break;
		case 18:
		  system.legacy_addShipsWithinRadius("FAvulture-n", 1, "pwu", [0, 0, 0.5], 180000);
		  break;
		case 19:
		  system.legacy_addShipsWithinRadius("FAvulture-n", 2, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 20:
		  system.legacy_addShipsWithinRadius("FAvulture-n", 2, "psu", [0, 0, 0.5], 360000);
		  break;
		case 21:
		  system.legacy_addShipsWithinRadius("FAvulture-n", 2, "pwu", [0, 0, 0.5], 180000);
		  break;
		case 27:
		  system.legacy_addShipsWithinRadius("FAwasp", 1, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 28:
		  system.legacy_addShipsWithinRadius("FAwasp", 1, "psu", [0, 0, 0.5], 360000);
		  break;
		case 29:
		  system.legacy_addShipsWithinRadius("FAwasp", 1, "pwu", [0, 0, 0.5], 180000);
		  break;
		case 127:
		  system.legacy_addShipsWithinRadius("FAwasp", 1, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 128:
		  system.legacy_addShipsWithinRadius("FAwasp", 1, "psu", [0, 0, 0.5], 360000);
		  break;
		case 129:
		  system.legacy_addShipsWithinRadius("FAwasp", 1, "pwu", [0, 0, 0.5], 180000);
		  break;
		case 22:
		  system.legacy_addShipsWithinRadius("FAmanchi", 3, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 23:
		  system.legacy_addShipsWithinRadius("FAmanchi", 3, "psu", [0, 0, 0.5], 360000);
		  break;
		case 24:
		  system.legacy_addShipsWithinRadius("FAmanchi", 3, "pwu", [0, 0, 0.5], 180000);
		  break;
		case 25:
		  system.legacy_addShipsWithinRadius("FAmanchi", 4, "wsu", [0, 0, 0.5], 360000);
		  break;
		case 26:
		  system.legacy_addShipsWithinRadius("FAmanchi", 4, "psu", [0, 0, 0.5], 360000);
		  break;
		case 30:
		  system.legacy_addShipsWithinRadius("FAmanchi", 4, "pwu", [0, 0, 0.5], 180000);
		  break;
		}
}

this.shipExitedWitchspace = function()
	{
	if(system.isInterstellarSpace || system.sun.hasGoneNova) 
		{return;}
	if(system.government == 0 || system.government == 1)
		{this.govAnarFeud()}
		else if(system.government == 2 || system.government == 3)
			{this.govMultDict()}
			else if(system.government == 4 || system.government == 5)
				{this.govCommConf()}
				else {this.govDemoCorp()}
	}

this.govAnarFeud = function()
	{
	switch(system.economy)
		{
		case 0:
		  this.RAnarFeud();
		  break;
		case 1:
		  this.AMAnarFeud();
		  break;
		case 2:
		  this.PAnarFeud();
		  break;
		case 3:
		  this.AMAnarFeud();
		  break;
		case 4:
		  this.AMAnarFeud();
		  break;
		case 5:
		  this.RAnarFeud();
		  break;
		case 6:
		  this.AMAnarFeud();
		  break;
		case 7:
		  this.PAnarFeud();
		  break;
		}
	}

this.govMultDict = function()
	{
	switch(system.economy)
		{
		case 0:
		  this.RMultDict();
		  break;
		case 1:
		  this.AMMultDict();
		  break;
		case 2:
		  this.PMultDict();
		  break;
		case 3:
		  this.AMMultDict();
		  break;
		case 4:
		  this.AMMultDict();
		  break;
		case 5:
		  this.RMultDict();
		  break;
		case 6:
		  this.AMMultDict();
		  break;
		case 7:
		  this.PMultDict();
		  break;
		}
	}

this.govCommConf = function()
	{
	switch(system.economy)
		{
		case 0:
		  this.RCommConf();
		  break;
		case 1:
		  this.AMCommConf();
		  break;
		case 2:
		  this.PCommConf();
		  break;
		case 3:
		  this.AMCommConf();
		  break;
		case 4:
		  this.AMCommConf();
		  break;
		case 5:
		  this.RCommConf();
		  break;
		case 6:
		  this.AMCommConf();
		  break;
		case 7:
		  this.PCommConf();
		  break;
		}
	}

this.govDemoCorp = function()
	{
	switch(system.economy)
		{
		case 0:
		  this.RDemoCorp();
		  break;
		case 1:
		  this.AMDemoCorp();
		  break;
		case 2:
		  this.PDemoCorp();
		  break;
		case 3:
		  this.AMDemoCorp();
		  break;
		case 4:
		  this.AMDemoCorp();
		  break;
		case 5:
		  this.RDemoCorp();
		  break;
		case 6:
		  this.AMDemoCorp();
		  break;
		case 7:
		  this.PDemoCorp();
		  break;
		}
	}

this.RAnarFeud = function()
	{
	var FApatrolRAnarFeud = 0;
	var FApatrolmaxRAnarFeud = Math.floor(Math.random()*4);
	while (FApatrolRAnarFeud < FApatrolmaxRAnarFeud)
		{
		  if (FApatrolRAnarFeud == FApatrolmaxRAnarFeud) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT1", 1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("FApirate", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
 		  system.legacy_addShipsWithinRadius("FAhunter1", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
		  FApatrolRAnarFeud++;
		  if (FApatrolRAnarFeud == FApatrolmaxRAnarFeud) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT2", 1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("FApirate", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("FAhunter2", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
		  FApatrolRAnarFeud++;
		  if (FApatrolRAnarFeud == FApatrolmaxRAnarFeud) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT3", 1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("FApirate", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("FAhunter3", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
		  FApatrolRAnarFeud++;
		}
	}

this.AMAnarFeud = function()
	{
	var FApatrolAMAnarFeud = 0;
	var FApatrolmaxAMAnarFeud = Math.floor(Math.random()*4);
	while (FApatrolAMAnarFeud < FApatrolmaxAMAnarFeud)
		{
		  if (FApatrolAMAnarFeud == FApatrolmaxAMAnarFeud) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT12", 1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("FApirate", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
 		  system.legacy_addShipsWithinRadius("FAhunter1", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
		  FApatrolAMAnarFeud++;
		  if (FApatrolAMAnarFeud == FApatrolmaxAMAnarFeud) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT22", 1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("FApirate", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("FAhunter2", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
		  FApatrolAMAnarFeud++;
		  if (FApatrolAMAnarFeud == FApatrolmaxAMAnarFeud) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT32", 1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("FApirate", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("FAhunter3", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
		  FApatrolAMAnarFeud++;
		}
	}

this.PAnarFeud = function()
	{
	var FApatrolPAnarFeud = 0;
	var FApatrolmaxPAnarFeud = Math.floor(Math.random()*4);
	while (FApatrolPAnarFeud < FApatrolmaxPAnarFeud)
		{
		  if (FApatrolPAnarFeud == FApatrolmaxPAnarFeud) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT12", 1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("FApirate", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
 		  system.legacy_addShipsWithinRadius("FAhunter1", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("trader", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
		  FApatrolPAnarFeud++;
		  if (FApatrolPAnarFeud == FApatrolmaxPAnarFeud) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT22", 1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("FApirate", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("FAhunter2", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("trader", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
		  FApatrolPAnarFeud++;
		  if (FApatrolPAnarFeud == FApatrolmaxPAnarFeud) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT32", 1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("FApirate", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("FAhunter3", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("trader", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
		  FApatrolPAnarFeud++;
		}
	}

this.RMultDict = function()
	{
	var FApatrolRMultDict = 0;
	var FApatrolmaxRMultDict = Math.floor(Math.random()*4);
	while (FApatrolRMultDict < FApatrolmaxRMultDict)
		{
		  if (FApatrolRMultDict == FApatrolmaxRMultDict) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC1", 1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*7)+1, "pwu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
		  FApatrolRMultDict++;
		  if (FApatrolRMultDict == FApatrolmaxRMultDict) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC2", 1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*7)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
		  FApatrolRMultDict++;
		  if (FApatrolRMultDict == FApatrolmaxRMultDict) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC3", 1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*7)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
		  FApatrolRMultDict++;
		}
	}

this.AMMultDict = function()
	{
	var FApatrolAMMultDict = 0;
	var FApatrolmaxAMMultDict = Math.floor(Math.random()*4);
	while (FApatrolAMMultDict < FApatrolmaxAMMultDict)
		{
		  if (FApatrolAMMultDict == FApatrolmaxAMMultDict) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT1", 1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*7)+1, "pwu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
		  FApatrolAMMultDict++;
		  if (FApatrolAMMultDict == FApatrolmaxAMMultDict) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT2", 1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*7)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
		  FApatrolAMMultDict++;
		  if (FApatrolAMMultDict == FApatrolmaxAMMultDict) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT3", 1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*7)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
		  FApatrolAMMultDict++;
		}
	}

this.PMultDict = function()
	{
	var FApatrolPMultDict = 0;
	var FApatrolmaxPMultDict = Math.floor(Math.random()*4);
	while (FApatrolPMultDict < FApatrolmaxPMultDict)
		{
		  if (FApatrolPMultDict == FApatrolmaxPMultDict) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT12", 1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*7)+1, "pwu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
 		  system.legacy_addShipsWithinRadius("FAhunter1", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
		  FApatrolPMultDict++;
		  if (FApatrolPMultDict == FApatrolmaxPMultDict) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT22", 1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*7)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("FAhunter2", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
		  FApatrolPMultDict++;
		  if (FApatrolPMultDict == FApatrolmaxPMultDict) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT32", 1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*7)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("FAhunter3", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
		  FApatrolPMultDict++;
		}
	}

this.RCommConf = function()
	{
	var FApatrolRCommConf = 0;
	var FApatrolmaxRCommConf = Math.floor(Math.random()*4);
	while (FApatrolRCommConf < FApatrolmaxRCommConf)
		{
		  if (FApatrolRCommConf == FApatrolmaxRCommConf) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC1", 1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*5)+1, "pwu", [0, 0, Math.random()], 50000);
		  FApatrolRCommConf++;
		  if (FApatrolRCommConf == FApatrolmaxRCommConf) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC2", 1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*5)+1, "wsu", [0, 0, Math.random()], 50000);
		  FApatrolRCommConf++;
		  if (FApatrolRCommConf == FApatrolmaxRCommConf) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC3", 1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*5)+1, "psu", [0, 0, Math.random()], 50000);
		  FApatrolRCommConf++;
		}
	}

this.AMCommConf = function()
	{
	var FApatrolAMCommConf = 0;
	var FApatrolmaxAMCommConf = Math.floor(Math.random()*4);
	while (FApatrolAMCommConf < FApatrolmaxAMCommConf)
		{
		  if (FApatrolAMCommConf == FApatrolmaxAMCommConf) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC1", 1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "pwu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
		  FApatrolAMCommConf++;
		  if (FApatrolAMCommConf == FApatrolmaxAMCommConf) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC2", 1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
		  FApatrolAMCommConf++;
		  if (FApatrolAMCommConf == FApatrolmaxAMCommConf) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC3", 1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
		  FApatrolAMCommConf++;
		}
	}

this.PCommConf = function()
	{
	var FApatrolPCommConf = 0;
	var FApatrolmaxPCommConf = Math.floor(Math.random()*4);
	while (FApatrolPCommConf < FApatrolmaxPCommConf)
		{
		  if (FApatrolPCommConf == FApatrolmaxPCommConf) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT1", 1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "pwu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
		  FApatrolPCommConf++;
		  if (FApatrolPCommConf == FApatrolmaxPCommConf) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT2", 1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
		  FApatrolPCommConf++;
		  if (FApatrolPCommConf == FApatrolmaxPCommConf) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT3", 1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
		  FApatrolPCommConf++;
		}
	}

this.RDemoCorp = function()
	{
	var FApatrolRDemoCorp = 0;
	var FApatrolmaxRDemoCorp = Math.floor(Math.random()*4);
	while (FApatrolRDemoCorp < FApatrolmaxRDemoCorp)
		{
		  if (FApatrolRDemoCorp == FApatrolmaxRDemoCorp) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT11", 1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*5)+1, "pwu", [0, 0, Math.random()], 50000);
		  FApatrolRDemoCorp++;
		  if (FApatrolRDemoCorp == FApatrolmaxRDemoCorp) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT21", 1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*5)+1, "wsu", [0, 0, Math.random()], 50000);
		  FApatrolRDemoCorp++;
		  if (FApatrolRDemoCorp == FApatrolmaxRDemoCorp) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolT31", 1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*5)+1, "psu", [0, 0, Math.random()], 50000);
		  FApatrolRDemoCorp++;
		}
	}

this.AMDemoCorp = function()
	{
	var FApatrolAMDemoCorp = 0;
	var FApatrolmaxAMDemoCorp = Math.floor(Math.random()*4);
	while (FApatrolAMDemoCorp < FApatrolmaxAMDemoCorp)
		{
		  if (FApatrolAMDemoCorp == FApatrolmaxAMDemoCorp) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC1", 1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*5)+1, "pwu", [0, 0, Math.random()], 50000);
		  FApatrolAMDemoCorp++;
		  if (FApatrolAMDemoCorp == FApatrolmaxAMDemoCorp) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC2", 1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*5)+1, "wsu", [0, 0, Math.random()], 50000);
		  FApatrolAMDemoCorp++;
		  if (FApatrolAMDemoCorp == FApatrolmaxAMDemoCorp) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC3", 1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*5)+1, "psu", [0, 0, Math.random()], 50000);
		  FApatrolAMDemoCorp++;
		}
	}

this.PDemoCorp = function()
	{
	var FApatrolPDemoCorp = 0;
	var FApatrolmaxPDemoCorp = Math.floor(Math.random()*4);
	while (FApatrolPDemoCorp < FApatrolmaxPDemoCorp)
		{
		  if (FApatrolPDemoCorp == FApatrolmaxPDemoCorp) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC1", 1, "pwu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "pwu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "pwu", [0, 0, Math.random()], 50000);
		  FApatrolPDemoCorp++;
		  if (FApatrolPDemoCorp == FApatrolmaxPDemoCorp) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC2", 1, "wsu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "wsu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "wsu", [0, 0, Math.random()], 50000);
		  FApatrolPDemoCorp++;
		  if (FApatrolPDemoCorp == FApatrolmaxPDemoCorp) {break;}
		  system.legacy_addShipsWithinRadius("FApatrolC3", 1, "psu", [0, 0, Math.random()], 50000);
		  system.legacy_addShipsWithinRadius("pirate", Math.floor(Math.random()*6)+1, "psu", [0, 0, Math.random()], 50000);
  		  system.legacy_addShipsWithinRadius("hunter", Math.floor(Math.random()*2)+1, "psu", [0, 0, Math.random()], 50000);
		  FApatrolPDemoCorp++;
		}
	}