public Technology(TechField techField, string name, string desc, int level,
string secondaryName = "",
//Optional arguments goes here
int roboticControl = 0,
int battleComputer = 0,
bool battleScanner = false,
int ECM = 0,
int spaceScanner = 0,
bool hyperSpaceCommunicator = false,
bool oracleInterface = false,
bool technologyNullifier = false,
int armor = 0,
bool reserveFuelTanks = false,
int industrialTech = 10,
int industrialWaste = 100,
int groundArmor = 0,
int repair = 0,
int shield = 0,
int personalShield = 0,
int planetaryShield = 0,
bool repulsorBeam = false,
bool cloakingDevice = false,
int missileShield = 0,
bool statisField = false,
bool blackHoleGenerator = false,
int ecoCleanup = 0,
int terraforming = 0,
int terraformCost = 6,
int colony = 0,
int cloning = 20,
int bioWeapon = 0,
int bioAntidote = 0,
int enrichment = 0,
int speed = 0,
int maneuverSpeed = 0,
int fuelRange = 0,
bool inertialstabilizer = false,
bool energypulsar = false,
bool warpDissipator = false,
bool highEnergyFocus = false,
bool stargate = false,
bool subSpaceTeleporter = false,
bool ionicPulsar = false,
bool subspaceInterdictor = false,
bool combatTransporters = false,
bool inertialNullifier = false,
bool displacementDevice = false,
bool antiMissileRockets = false,
bool ionStreamProjector = false,
bool neutronStreamProjector = false,
float smallSize = 0,
float smallCost = 0,
float smallPower = 0,
float smallHP = 0,
float mediumSize = 0,
float mediumCost = 0,
float mediumPower = 0,
float mediumHP = 0,
float largeSize = 0,
float largeCost = 0,
float largePower = 0,
float largeHP = 0,
float hugeSize = 0,
float hugeCost = 0,
float hugePower = 0,
float hugeHP = 0,
float genericSize = 0,
float genericCost = 0,
float genericPower = 0,
float smallSecondarySize = 0,
float smallSecondaryCost = 0,
float smallSecondaryPower = 0,
float smallSecondaryHP = 0,
float mediumSecondarySize = 0,
float mediumSecondaryCost = 0,
float mediumSecondaryPower = 0,
float mediumSecondaryHP = 0,
float largeSecondarySize = 0,
float largeSecondaryCost = 0,
float largeSecondaryPower = 0,
float largeSecondaryHP = 0,
float hugeSecondarySize = 0,
float hugeSecondaryCost = 0,
float hugeSecondaryPower = 0,
float hugeSecondaryHP = 0,
float genericSecondarySize = 0,
float genericSecondaryCost = 0,
float genericSecondaryPower = 0,
int weaponType = 0,
int minimumWeaponDamage = 0,
int minimumSecondaryWeaponDamage = 0,
int maximumWeaponDamage = 0,
int maximumSecondaryWeaponDamage = 0,
bool shieldPiercing = false,
float weaponRange = 0,
int secondaryWeaponRange = 0,
int numberOfShots = 0,
bool streaming = false,
int targetingBonus = 0,
bool enveloping = false,
bool dissipating = false,
float missileSpeed = 0
)
{
TechLevel = level;
TechField = techField;
TechName = name;
TechDescription = desc;
TechSecondaryName = secondaryName;
RoboticControl = roboticControl;
BattleComputer = battleComputer;
BattleScanner = battleScanner;
this.ECM = ECM;
SpaceScanner = spaceScanner;
HyperSpaceCommunicator = hyperSpaceCommunicator;
OracleInterface = oracleInterface;
TechnologyNullifier = technologyNullifier;
Armor = armor;
ReserveFuelTanks = reserveFuelTanks;
IndustrialTech = industrialTech;
IndustrialWaste = industrialWaste;
GroundArmor = groundArmor;
Repair = repair;
Shield = shield;
PersonalShield = personalShield;
PlanetaryShield = planetaryShield;
RepulsorBeam = repulsorBeam;
CloakingDevice = cloakingDevice;
MissileShield = missileShield;
StatisField = statisField;
BlackHoleGenerator = blackHoleGenerator;
EcoCleanup = ecoCleanup;
Terraforming = terraforming;
TerraformCost = terraformCost;
Colony = colony;
Cloning = cloning;
BioWeapon = bioWeapon;
BioAntidote = bioAntidote;
Enrichment = enrichment;
Speed = speed;
ManeuverSpeed = maneuverSpeed;
FuelRange = fuelRange;
InertialStabilizer = inertialstabilizer;
EnergyPulsar = energypulsar;
WarpDissipator = warpDissipator;
HighEnergyFocus = highEnergyFocus;
SubspaceTeleporter = subSpaceTeleporter;
IonicPulsar = ionicPulsar;
SubspaceInterdictor = subspaceInterdictor;
CombatTransporters = combatTransporters;
InertialNullifier = inertialNullifier;
DisplacementDevice = displacementDevice;
AntiMissileRockets = antiMissileRockets;
IonStreamProjector = ionStreamProjector;
NeutronStreamProjector = neutronStreamProjector;
Stargate = stargate;
//Ship component info
SmallSize = smallSize;
SmallCost = smallCost;
SmallPower = smallPower;
SmallHP = smallHP;
MediumSize = mediumSize;
MediumCost = mediumCost;
MediumPower = mediumPower;
MediumHP = mediumHP;
LargeSize = largeSize;
LargeCost = largeCost;
LargePower = largePower;
LargeHP = largeHP;
HugeSize = hugeSize;
HugeCost = hugeCost;
HugePower = hugePower;
HugeHP = hugeHP;
GenericSize = genericSize;
GenericCost = genericCost;
GenericPower = genericPower;
SmallSecondarySize = smallSecondarySize;
SmallSecondaryCost = smallSecondaryCost;
SmallSecondaryPower = smallSecondaryPower;
SmallSecondaryHP = smallSecondaryHP;
MediumSecondarySize = mediumSecondarySize;
MediumSecondaryCost = mediumSecondaryCost;
MediumSecondaryPower = mediumSecondaryPower;
MediumSecondaryHP = mediumSecondaryHP;
LargeSecondarySize = largeSecondarySize;
LargeSecondaryCost = largeSecondaryCost;
LargeSecondaryPower = largeSecondaryPower;
LargeSecondaryHP = largeSecondaryHP;
HugeSecondarySize = hugeSecondarySize;
HugeSecondaryCost = hugeSecondaryCost;
HugeSecondaryPower = hugeSecondaryPower;
HugeSecondaryHP = hugeSecondaryHP;
GenericSecondarySize = genericSecondarySize;
GenericSecondaryCost = genericSecondaryCost;
GenericSecondaryPower = genericSecondaryPower;
WeaponType = weaponType;
MinimumWeaponDamage = minimumWeaponDamage;
MinimumSecondaryWeaponDamage = minimumSecondaryWeaponDamage;
MaximumWeaponDamage = maximumWeaponDamage;
MaximumSecondaryWeaponDamage = maximumSecondaryWeaponDamage;
ShieldPiercing = shieldPiercing;
WeaponRange = weaponRange;
SecondaryWeaponRange = secondaryWeaponRange;
NumberOfShots = numberOfShots;
Streaming = streaming;
TargetingBonus = targetingBonus;
Enveloping = enveloping;
Dissipating = dissipating;
MissileSpeed = missileSpeed;
}