Author Topic: Uniform sorting of the subsystems in the hardpoints  (Read 850 times)

Offline Mark McWire

  • Posts: 83
  • Cookies: 1010
Uniform sorting of the subsystems in the hardpoints
« on: March 23, 2018, 06:21:47 AM »
A project that is very important to me is the unification of the hardpoints. I have chosen a uniform sorting of subsystems for all my hardpoints.

  • Ship Property
  • Outer Hull
  • Bridge
  • Other Hull Propertys
  • Object Emitter Property
  • Warpcore / Power Plant
  • Engineer / Repair
  • Shield Generators
  • Sensor Array
  • Cloaking Device
  • Impulse Engine Property
  • Impulse Engines
  • Warp Engine Property
  • Warp Engines
  • Torpedo Weapon Property
  • Torpedo Launchers
  • Pulse Weapon Property
  • Pulse Weapons
  • Beam Weapon Property
  • Beam Weapons
  • Tractor Beam Property
  • Tractor Beams
  • Other Propertys

The reason is that certain scripts for Construct Mod or Ship Repair iterate through each subsystem. In this way, at first systems of high importance are repaired, such as hull, warp core or shields. In the construction of the ship, the drive and weapon systems are also installed last, which also makes sense.

And of course, then in the subsystem selection in the tactical menu, the systems are arranged uniformly for all spaceships.

Offline Mark McWire

  • Posts: 83
  • Cookies: 1010
Re: Uniform sorting of the subsystems in the hardpoints
« Reply #1 on: March 23, 2018, 06:26:34 AM »
Exmaple Norway class:

Code: [Select]
# C:\Program Files\Activision\Bridge Commander\scripts\ships\Hardpoints\norway.py
# This file was automatically generated - modify at your own risk.
#

import App
import GlobalPropertyTemplates
# Setting up local templates.
#################################################
Norway = App.ShipProperty_Create("Norway")

Norway.SetGenus(1)
Norway.SetSpecies(116)
Norway.SetMass(622.000000)
Norway.SetRotationalInertia(4000.000000)
Norway.SetShipName("Norway")
Norway.SetModelFilename("data/Models/Ships/norway.nif")
Norway.SetDamageResolution(10.000000)
Norway.SetAffiliation(0)
Norway.SetStationary(0)
Norway.SetAIString("FedAttack")
Norway.SetDeathExplosionSound("g_lsDeathExplosions")
App.g_kModelPropertyManager.RegisterLocalTemplate(Norway)
#################################################
Hull = App.HullProperty_Create("Hull")

Hull.SetMaxCondition(80000.000000)
Hull.SetCritical(1)
Hull.SetTargetable(1)
Hull.SetPrimary(1)
Hull.SetPosition(0.017638, 0.472609, 0.000000)
Hull.SetPosition2D(64.000000, 75.000000)
Hull.SetRepairComplexity(3.000000)
Hull.SetDisabledPercentage(0.000000)
Hull.SetRadius(1.550000)
App.g_kModelPropertyManager.RegisterLocalTemplate(Hull)
#################################################
Bridge = App.HullProperty_Create("Bridge")

Bridge.SetMaxCondition(6000.000000)
Bridge.SetCritical(1)
Bridge.SetTargetable(1)
Bridge.SetPrimary(0)
Bridge.SetPosition(0.003783, 1.329180, 0.115464)
Bridge.SetPosition2D(63.000000, 38.000000)
Bridge.SetRepairComplexity(4.000000)
Bridge.SetDisabledPercentage(0.000000)
Bridge.SetRadius(0.040000)
App.g_kModelPropertyManager.RegisterLocalTemplate(Bridge)
#################################################
ShuttleBay1 = App.HullProperty_Create("Shuttle Bay 1")

ShuttleBay1.SetMaxCondition(24000.000000)
ShuttleBay1.SetCritical(0)
ShuttleBay1.SetTargetable(1)
ShuttleBay1.SetPrimary(0)
ShuttleBay1.SetPosition(0, 1.127920, -0.129245)
ShuttleBay1.SetPosition2D(64.000000, 25.000000)
ShuttleBay1.SetRepairComplexity(4.000000)
ShuttleBay1.SetDisabledPercentage(0.000000)
ShuttleBay1.SetRadius(0.160000)
App.g_kModelPropertyManager.RegisterLocalTemplate(ShuttleBay1)
#################################################
ShuttleBay1OEP = App.ObjectEmitterProperty_Create("Shuttle Bay 1 OEP")

ShuttleBay1OEPForward = App.TGPoint3()
ShuttleBay1OEPForward.SetXYZ(0.000000, -1.000000, 0.000000)
ShuttleBay1OEPUp = App.TGPoint3()
ShuttleBay1OEPUp.SetXYZ(0.000000, 0.000000, 1.000000)
ShuttleBay1OEPRight = App.TGPoint3()
ShuttleBay1OEPRight.SetXYZ(1.000000, 0.000000, 0.000000)
ShuttleBay1OEP.SetOrientation(ShuttleBay1OEPForward, ShuttleBay1OEPUp, ShuttleBay1OEPRight)
ShuttleBay1OEPPosition = App.TGPoint3()
ShuttleBay1OEPPosition.SetXYZ(0, 1.127920, -0.129245)
ShuttleBay1OEP.SetPosition(ShuttleBay1OEPPosition)
ShuttleBay1OEP.SetEmittedObjectType(ShuttleBay1OEP.OEP_SHUTTLE)
App.g_kModelPropertyManager.RegisterLocalTemplate(ShuttleBay1OEP)
#################################################
ProbeLauncher = App.ObjectEmitterProperty_Create("Probe Launcher")

ProbeLauncherForward = App.TGPoint3()
ProbeLauncherForward.SetXYZ(0.000000, 1.000000, 0.000000)
ProbeLauncherUp = App.TGPoint3()
ProbeLauncherUp.SetXYZ(0.000000, 0.000000, 1.000000)
ProbeLauncherRight = App.TGPoint3()
ProbeLauncherRight.SetXYZ(1.000000, 0.000000, 0.000000)
ProbeLauncher.SetOrientation(ProbeLauncherForward, ProbeLauncherUp, ProbeLauncherRight)
ProbeLauncherPosition = App.TGPoint3()
ProbeLauncherPosition.SetXYZ(0.000000, 0.000000, 0.000000)
ProbeLauncher.SetPosition(ProbeLauncherPosition)
ProbeLauncher.SetEmittedObjectType(ProbeLauncher.OEP_PROBE)
App.g_kModelPropertyManager.RegisterLocalTemplate(ProbeLauncher)
#################################################
WarpCore = App.PowerProperty_Create("Warp Core")

WarpCore.SetMaxCondition(6000.000000)
WarpCore.SetCritical(1)
WarpCore.SetTargetable(1)
WarpCore.SetPrimary(1)
WarpCore.SetPosition(0.004705, 0.326504, -0.089525)
WarpCore.SetPosition2D(127.000000, 21.000000)
WarpCore.SetRepairComplexity(2.000000)
WarpCore.SetDisabledPercentage(0.200000)
WarpCore.SetRadius(0.040000)
WarpCore.SetMainBatteryLimit(200000.000000)
WarpCore.SetBackupBatteryLimit(50000.000000)
WarpCore.SetMainConduitCapacity(900.000000)
WarpCore.SetBackupConduitCapacity(100.000000)
WarpCore.SetPowerOutput(800.000000)
App.g_kModelPropertyManager.RegisterLocalTemplate(WarpCore)
#################################################
Engineering = App.RepairSubsystemProperty_Create("Engineering")

Engineering.SetMaxCondition(11000.000000)
Engineering.SetCritical(0)
Engineering.SetTargetable(0)
Engineering.SetPrimary(1)
Engineering.SetPosition(0.000666, 0.210099, 0.232881)
Engineering.SetPosition2D(103.000000, 21.000000)
Engineering.SetRepairComplexity(1.000000)
Engineering.SetDisabledPercentage(0.010000)
Engineering.SetRadius(0.070000)
Engineering.SetNormalPowerPerSecond(10.000000)
Engineering.SetMaxRepairPoints(40.000000)
Engineering.SetNumRepairTeams(5)
App.g_kModelPropertyManager.RegisterLocalTemplate(Engineering)
#################################################
ShieldGenerator = App.ShieldProperty_Create("Shield Generator")

ShieldGenerator.SetMaxCondition(9000.000000)
ShieldGenerator.SetCritical(0)
ShieldGenerator.SetTargetable(1)
ShieldGenerator.SetPrimary(1)
ShieldGenerator.SetPosition(0.003295, 0.992322, 0.193370)
ShieldGenerator.SetPosition2D(106.000000, 5.000000)
ShieldGenerator.SetRepairComplexity(2.000000)
ShieldGenerator.SetDisabledPercentage(0.750000)
ShieldGenerator.SetRadius(0.030000)
ShieldGenerator.SetNormalPowerPerSecond(200.000000)
ShieldGeneratorShieldGlowColor = App.TGColorA()
ShieldGeneratorShieldGlowColor.SetRGBA(0.203922, 0.631373, 1.000000, 0.466667)
ShieldGenerator.SetShieldGlowColor(ShieldGeneratorShieldGlowColor)
ShieldGenerator.SetShieldGlowDecay(1.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.FRONT_SHIELDS, 9500.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.REAR_SHIELDS, 9500.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.TOP_SHIELDS, 9500.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.BOTTOM_SHIELDS, 9500.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.LEFT_SHIELDS, 9500.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.RIGHT_SHIELDS, 9500.000000)
ShieldGenerator.SetShieldChargePerSecond(ShieldGenerator.FRONT_SHIELDS, 12.000000)
ShieldGenerator.SetShieldChargePerSecond(ShieldGenerator.REAR_SHIELDS, 12.000000)
ShieldGenerator.SetShieldChargePerSecond(ShieldGenerator.TOP_SHIELDS, 12.000000)
ShieldGenerator.SetShieldChargePerSecond(ShieldGenerator.BOTTOM_SHIELDS, 12.000000)
ShieldGenerator.SetShieldChargePerSecond(ShieldGenerator.LEFT_SHIELDS, 12.000000)
ShieldGenerator.SetShieldChargePerSecond(ShieldGenerator.RIGHT_SHIELDS, 12.000000)
App.g_kModelPropertyManager.RegisterLocalTemplate(ShieldGenerator)
#################################################
SensorArray = App.SensorProperty_Create("Sensor Array")

SensorArray.SetMaxCondition(7000.000000)
SensorArray.SetCritical(0)
SensorArray.SetTargetable(1)
SensorArray.SetPrimary(1)
SensorArray.SetPosition(-0.001426, 1.719210, -0.081015)
SensorArray.SetPosition2D(126.000000, 1.000000)
SensorArray.SetRepairComplexity(1.000000)
SensorArray.SetDisabledPercentage(0.500000)
SensorArray.SetRadius(0.090000)
SensorArray.SetNormalPowerPerSecond(50.000000)
SensorArray.SetBaseSensorRange(1500.000000)
SensorArray.SetMaxProbes(10)
App.g_kModelPropertyManager.RegisterLocalTemplate(SensorArray)
#################################################
ImpulseEngines = App.ImpulseEngineProperty_Create("Impulse Engines")

ImpulseEngines.SetMaxCondition(2000.000000)
ImpulseEngines.SetCritical(0)
ImpulseEngines.SetTargetable(0)
ImpulseEngines.SetPrimary(1)
ImpulseEngines.SetPosition(0.223236, -0.138012, 0.118769)
ImpulseEngines.SetPosition2D(124.000000, 48.000000)
ImpulseEngines.SetRepairComplexity(4.000000)
ImpulseEngines.SetDisabledPercentage(0.500000)
ImpulseEngines.SetRadius(0.030000)
ImpulseEngines.SetNormalPowerPerSecond(50.000000)
ImpulseEngines.SetMaxAccel(5.000000)
ImpulseEngines.SetMaxAngularAccel(0.700000)
ImpulseEngines.SetMaxAngularVelocity(1.000000)
ImpulseEngines.SetMaxSpeed(9.500000)
ImpulseEngines.SetEngineSound("Federation Engines")
App.g_kModelPropertyManager.RegisterLocalTemplate(ImpulseEngines)
#################################################
PortImpulse = App.EngineProperty_Create("Port Impulse")

PortImpulse.SetMaxCondition(2400.000000)
PortImpulse.SetCritical(0)
PortImpulse.SetTargetable(1)
PortImpulse.SetPrimary(1)
PortImpulse.SetPosition(-0.687598, -0.020356, -0.043269)
PortImpulse.SetPosition2D(117.000000, 56.000000)
PortImpulse.SetRepairComplexity(3.000000)
PortImpulse.SetDisabledPercentage(0.500000)
PortImpulse.SetRadius(0.030000)
PortImpulse.SetEngineType(PortImpulse.EP_IMPULSE)
App.g_kModelPropertyManager.RegisterLocalTemplate(PortImpulse)
#################################################
StarImpulse = App.EngineProperty_Create("Star Impulse")

StarImpulse.SetMaxCondition(2400.000000)
StarImpulse.SetCritical(0)
StarImpulse.SetTargetable(1)
StarImpulse.SetPrimary(1)
StarImpulse.SetPosition(0.703267, -0.020355, -0.042219)
StarImpulse.SetPosition2D(132.000000, 56.000000)
StarImpulse.SetRepairComplexity(3.000000)
StarImpulse.SetDisabledPercentage(0.500000)
StarImpulse.SetRadius(0.030000)
StarImpulse.SetEngineType(StarImpulse.EP_IMPULSE)
App.g_kModelPropertyManager.RegisterLocalTemplate(StarImpulse)
#################################################
WarpEngines = App.WarpEngineProperty_Create("Warp Engines")

WarpEngines.SetMaxCondition(7000.000000)
WarpEngines.SetCritical(0)
WarpEngines.SetTargetable(0)
WarpEngines.SetPrimary(1)
WarpEngines.SetPosition(0.008320, -0.130298, 0.117013)
WarpEngines.SetPosition2D(129.000000, 87.000000)
WarpEngines.SetRepairComplexity(3.000000)
WarpEngines.SetDisabledPercentage(0.200000)
WarpEngines.SetRadius(0.030000)
WarpEngines.SetNormalPowerPerSecond(10.000000)
App.g_kModelPropertyManager.RegisterLocalTemplate(WarpEngines)
#################################################
PortWarp = App.EngineProperty_Create("Port Warp")

PortWarp.SetMaxCondition(6000.000000)
PortWarp.SetCritical(0)
PortWarp.SetTargetable(1)
PortWarp.SetPrimary(1)
PortWarp.SetPosition(-1.351210, -0.809466, 0.009986)
PortWarp.SetPosition2D(120.000000, 100.000000)
PortWarp.SetRepairComplexity(3.000000)
PortWarp.SetDisabledPercentage(0.500000)
PortWarp.SetRadius(0.090000)
PortWarp.SetEngineType(PortWarp.EP_WARP)
App.g_kModelPropertyManager.RegisterLocalTemplate(PortWarp)
#################################################
StarWarp = App.EngineProperty_Create("Star Warp")

StarWarp.SetMaxCondition(6000.000000)
StarWarp.SetCritical(0)
StarWarp.SetTargetable(1)
StarWarp.SetPrimary(1)
StarWarp.SetPosition(1.377900, -0.842557, 0.010002)
StarWarp.SetPosition2D(136.000000, 99.000000)
StarWarp.SetRepairComplexity(3.000000)
StarWarp.SetDisabledPercentage(0.500000)
StarWarp.SetRadius(0.090000)
StarWarp.SetEngineType(StarWarp.EP_WARP)
App.g_kModelPropertyManager.RegisterLocalTemplate(StarWarp)
#################################################
Torpedoes = App.TorpedoSystemProperty_Create("Torpedoes")

Torpedoes.SetMaxCondition(6000.000000)
Torpedoes.SetCritical(0)
Torpedoes.SetTargetable(0)
Torpedoes.SetPrimary(1)
Torpedoes.SetPosition(0.008671, 0.401698, 0.230278)
Torpedoes.SetPosition2D(5.000000, 75.000000)
Torpedoes.SetRepairComplexity(3.000000)
Torpedoes.SetDisabledPercentage(0.750000)
Torpedoes.SetRadius(0.030000)
Torpedoes.SetNormalPowerPerSecond(100.000000)
Torpedoes.SetWeaponSystemType(Torpedoes.WST_TORPEDO)
Torpedoes.SetSingleFire(0)
Torpedoes.SetAimedWeapon(1)
kFiringChainString = App.TGString()
kFiringChainString.SetString("")
Torpedoes.SetFiringChainString(kFiringChainString)
Torpedoes.SetMaxTorpedoes(0, 50)
Torpedoes.SetTorpedoScript(0, "Tactical.Projectiles.PhotonTorpedo")
Torpedoes.SetMaxTorpedoes(1, 50)
Torpedoes.SetTorpedoScript(1, "Tactical.Projectiles.PhotonTorpedo2")
Torpedoes.SetMaxTorpedoes(2, 100)
Torpedoes.SetTorpedoScript(2, "Tactical.Projectiles.RapidPhotonTorpedo")
Torpedoes.SetNumAmmoTypes(3)
App.g_kModelPropertyManager.RegisterLocalTemplate(Torpedoes)
#################################################
ForwardTorpedo1 = App.TorpedoTubeProperty_Create("Forward Torpedo 1")

ForwardTorpedo1.SetMaxCondition(2200.000000)
ForwardTorpedo1.SetCritical(0)
ForwardTorpedo1.SetTargetable(1)
ForwardTorpedo1.SetPrimary(1)
ForwardTorpedo1.SetPosition(0.377253, 2.372560, -0.187090)
ForwardTorpedo1.SetPosition2D(5.000000, 85.000000)
ForwardTorpedo1.SetRepairComplexity(3.000000)
ForwardTorpedo1.SetDisabledPercentage(0.750000)
ForwardTorpedo1.SetRadius(0.250000)
ForwardTorpedo1.SetDumbfire(1)
ForwardTorpedo1.SetWeaponID(1)
ForwardTorpedo1.SetGroups(1)
ForwardTorpedo1.SetDamageRadiusFactor(0.200000)
ForwardTorpedo1.SetIconNum(370)
ForwardTorpedo1.SetIconPositionX(72.000000)
ForwardTorpedo1.SetIconPositionY(44.000000)
ForwardTorpedo1.SetIconAboveShip(1)
ForwardTorpedo1.SetImmediateDelay(0.250000)
ForwardTorpedo1.SetReloadDelay(30.000000)
ForwardTorpedo1.SetMaxReady(1)
ForwardTorpedo1Direction = App.TGPoint3()
ForwardTorpedo1Direction.SetXYZ(0.000000, 1.000000, 0.000000)
ForwardTorpedo1.SetDirection(ForwardTorpedo1Direction)
ForwardTorpedo1Right = App.TGPoint3()
ForwardTorpedo1Right.SetXYZ(-1.000000, 0.000000, 0.000000)
ForwardTorpedo1.SetRight(ForwardTorpedo1Right)
App.g_kModelPropertyManager.RegisterLocalTemplate(ForwardTorpedo1)
#################################################
ForwardTorpedo2 = App.TorpedoTubeProperty_Create("Forward Torpedo 2")

ForwardTorpedo2.SetMaxCondition(2200.000000)
ForwardTorpedo2.SetCritical(0)
ForwardTorpedo2.SetTargetable(1)
ForwardTorpedo2.SetPrimary(1)
ForwardTorpedo2.SetPosition(-0.377381, 2.372560, -0.186998)
ForwardTorpedo2.SetPosition2D(5.000000, 95.000000)
ForwardTorpedo2.SetRepairComplexity(3.000000)
ForwardTorpedo2.SetDisabledPercentage(0.750000)
ForwardTorpedo2.SetRadius(0.250000)
ForwardTorpedo2.SetDumbfire(1)
ForwardTorpedo2.SetWeaponID(2)
ForwardTorpedo2.SetGroups(1)
ForwardTorpedo2.SetDamageRadiusFactor(0.200000)
ForwardTorpedo2.SetIconNum(370)
ForwardTorpedo2.SetIconPositionX(81.000000)
ForwardTorpedo2.SetIconPositionY(44.000000)
ForwardTorpedo2.SetIconAboveShip(1)
ForwardTorpedo2.SetImmediateDelay(0.250000)
ForwardTorpedo2.SetReloadDelay(30.000000)
ForwardTorpedo2.SetMaxReady(1)
ForwardTorpedo2Direction = App.TGPoint3()
ForwardTorpedo2Direction.SetXYZ(0.000000, 1.000000, 0.000000)
ForwardTorpedo2.SetDirection(ForwardTorpedo2Direction)
ForwardTorpedo2Right = App.TGPoint3()
ForwardTorpedo2Right.SetXYZ(1.000000, 0.000000, 0.000000)
ForwardTorpedo2.SetRight(ForwardTorpedo2Right)
App.g_kModelPropertyManager.RegisterLocalTemplate(ForwardTorpedo2)
#################################################
AftTorpedo1 = App.TorpedoTubeProperty_Create("Aft Torpedo 1")

AftTorpedo1.SetMaxCondition(2200.000000)
AftTorpedo1.SetCritical(0)
AftTorpedo1.SetTargetable(1)
AftTorpedo1.SetPrimary(1)
AftTorpedo1.SetPosition(-0.000271, -0.353192, 0.211712)
AftTorpedo1.SetPosition2D(5.000000, 105.000000)
AftTorpedo1.SetRepairComplexity(3.000000)
AftTorpedo1.SetDisabledPercentage(0.750000)
AftTorpedo1.SetRadius(0.200000)
AftTorpedo1.SetDumbfire(1)
AftTorpedo1.SetWeaponID(4)
AftTorpedo1.SetGroups(2)
AftTorpedo1.SetDamageRadiusFactor(0.200000)
AftTorpedo1.SetIconNum(370)
AftTorpedo1.SetIconPositionX(72.000000)
AftTorpedo1.SetIconPositionY(116.000000)
AftTorpedo1.SetIconAboveShip(1)
AftTorpedo1.SetImmediateDelay(0.250000)
AftTorpedo1.SetReloadDelay(30.000000)
AftTorpedo1.SetMaxReady(2)
AftTorpedo1Direction = App.TGPoint3()
AftTorpedo1Direction.SetXYZ(0.000000, -1.000000, 0.000000)
AftTorpedo1.SetDirection(AftTorpedo1Direction)
AftTorpedo1Right = App.TGPoint3()
AftTorpedo1Right.SetXYZ(-1.000000, 0.000000, 0.000000)
AftTorpedo1.SetRight(AftTorpedo1Right)
App.g_kModelPropertyManager.RegisterLocalTemplate(AftTorpedo1)
#################################################
AftTorpedo2 = App.TorpedoTubeProperty_Create("Aft Torpedo 2")

AftTorpedo2.SetMaxCondition(2200.000000)
AftTorpedo2.SetCritical(0)
AftTorpedo2.SetTargetable(1)
AftTorpedo2.SetPrimary(1)
AftTorpedo2.SetPosition(-0.000271, -0.353192, 0.211712)
AftTorpedo2.SetPosition2D(5.000000, 115.000000)
AftTorpedo2.SetRepairComplexity(3.000000)
AftTorpedo2.SetDisabledPercentage(0.750000)
AftTorpedo2.SetRadius(0.200000)
AftTorpedo2.SetDumbfire(1)
AftTorpedo2.SetWeaponID(5)
AftTorpedo2.SetGroups(2)
AftTorpedo2.SetDamageRadiusFactor(0.200000)
AftTorpedo2.SetIconNum(370)
AftTorpedo2.SetIconPositionX(81.000000)
AftTorpedo2.SetIconPositionY(116.000000)
AftTorpedo2.SetIconAboveShip(1)
AftTorpedo2.SetImmediateDelay(0.250000)
AftTorpedo2.SetReloadDelay(30.000000)
AftTorpedo2.SetMaxReady(2)
AftTorpedo2Direction = App.TGPoint3()
AftTorpedo2Direction.SetXYZ(0.000000, -1.000000, 0.000000)
AftTorpedo2.SetDirection(AftTorpedo2Direction)
AftTorpedo2Right = App.TGPoint3()
AftTorpedo2Right.SetXYZ(1.000000, 0.000000, 0.000000)
AftTorpedo2.SetRight(AftTorpedo2Right)
App.g_kModelPropertyManager.RegisterLocalTemplate(AftTorpedo2)
#################################################
PhotonTorpedoes = App.WeaponSystemProperty_Create("Photon Torpedoes")

PhotonTorpedoes.SetMaxCondition(5000.000000)
PhotonTorpedoes.SetCritical(0)
PhotonTorpedoes.SetTargetable(0)
PhotonTorpedoes.SetPrimary(1)
PhotonTorpedoes.SetPosition(0.102830, 1.028300, 0.000000)
PhotonTorpedoes.SetPosition2D(0.000000, 0.000000)
PhotonTorpedoes.SetRepairComplexity(1.000000)
PhotonTorpedoes.SetDisabledPercentage(0.250000)
PhotonTorpedoes.SetRadius(0.100000)
PhotonTorpedoes.SetNormalPowerPerSecond(100.000000)
PhotonTorpedoes.SetWeaponSystemType(PhotonTorpedoes.WST_PULSE)
PhotonTorpedoes.SetSingleFire(1)
PhotonTorpedoes.SetAimedWeapon(1)
kFiringChainString = App.TGString()
kFiringChainString.SetString("")
PhotonTorpedoes.SetFiringChainString(kFiringChainString)
App.g_kModelPropertyManager.RegisterLocalTemplate(PhotonTorpedoes)
#################################################
TorpedoTurret1 = App.PulseWeaponProperty_Create("Torpedo Turret 1")

TorpedoTurret1.SetMaxCondition(6000.000000)
TorpedoTurret1.SetCritical(0)
TorpedoTurret1.SetTargetable(1)
TorpedoTurret1.SetPrimary(1)
TorpedoTurret1.SetPosition(0.375370, 2.372560, -0.202915)
TorpedoTurret1.SetPosition2D(-9.000000, 127.000000)
TorpedoTurret1.SetRepairComplexity(3.000000)
TorpedoTurret1.SetDisabledPercentage(0.750000)
TorpedoTurret1.SetRadius(0.100000)
TorpedoTurret1.SetDumbfire(1)
TorpedoTurret1.SetWeaponID(3)
TorpedoTurret1.SetGroups(3)
TorpedoTurret1.SetDamageRadiusFactor(0.600000)
TorpedoTurret1.SetIconNum(370)
TorpedoTurret1.SetIconPositionX(81.000000)
TorpedoTurret1.SetIconPositionY(40.000000)
TorpedoTurret1.SetIconAboveShip(1)
TorpedoTurret1.SetFireSound("Quantum Torpedo")
TorpedoTurret1.SetMaxCharge(4.000000)
TorpedoTurret1.SetMaxDamage(1500.000000)
TorpedoTurret1.SetMaxDamageDistance(150.000000)
TorpedoTurret1.SetMinFiringCharge(4.000000)
TorpedoTurret1.SetNormalDischargeRate(1.000000)
TorpedoTurret1.SetRechargeRate(0.100000)
TorpedoTurret1.SetIndicatorIconNum(510)
TorpedoTurret1.SetIndicatorIconPositionX(65.000000)
TorpedoTurret1.SetIndicatorIconPositionY(19.000000)
TorpedoTurret1Forward = App.TGPoint3()
TorpedoTurret1Forward.SetXYZ(0.000000, 1.000000, 0.000000)
TorpedoTurret1Up = App.TGPoint3()
TorpedoTurret1Up.SetXYZ(0.000000, 0.000000, 1.000000)
TorpedoTurret1.SetOrientation(TorpedoTurret1Forward, TorpedoTurret1Up)
TorpedoTurret1.SetArcWidthAngles(-0.523599, 0.349066)
TorpedoTurret1.SetArcHeightAngles(-0.174533, 0.349066)
TorpedoTurret1.SetCooldownTime(0.250000)
TorpedoTurret1.SetModuleName("Tactical.Projectiles.RapidPhotonTorpedo")
App.g_kModelPropertyManager.RegisterLocalTemplate(TorpedoTurret1)
#################################################
TorpedoTurret2 = App.PulseWeaponProperty_Create("Torpedo Turret 2")

TorpedoTurret2.SetMaxCondition(6000.000000)
TorpedoTurret2.SetCritical(0)
TorpedoTurret2.SetTargetable(1)
TorpedoTurret2.SetPrimary(1)
TorpedoTurret2.SetPosition(-0.368814, 2.372560, -0.205744)
TorpedoTurret2.SetPosition2D(75.000000, 80.000000)
TorpedoTurret2.SetRepairComplexity(3.000000)
TorpedoTurret2.SetDisabledPercentage(0.750000)
TorpedoTurret2.SetRadius(0.100000)
TorpedoTurret2.SetDumbfire(1)
TorpedoTurret2.SetWeaponID(3)
TorpedoTurret2.SetGroups(3)
TorpedoTurret2.SetDamageRadiusFactor(0.600000)
TorpedoTurret2.SetIconNum(370)
TorpedoTurret2.SetIconPositionX(75.000000)
TorpedoTurret2.SetIconPositionY(40.000000)
TorpedoTurret2.SetIconAboveShip(1)
TorpedoTurret2.SetFireSound("Quantum Torpedo")
TorpedoTurret2.SetMaxCharge(4.000000)
TorpedoTurret2.SetMaxDamage(1500.000000)
TorpedoTurret2.SetMaxDamageDistance(150.000000)
TorpedoTurret2.SetMinFiringCharge(4.000000)
TorpedoTurret2.SetNormalDischargeRate(1.000000)
TorpedoTurret2.SetRechargeRate(0.100000)
TorpedoTurret2.SetIndicatorIconNum(510)
TorpedoTurret2.SetIndicatorIconPositionX(67.000000)
TorpedoTurret2.SetIndicatorIconPositionY(19.000000)
TorpedoTurret2Forward = App.TGPoint3()
TorpedoTurret2Forward.SetXYZ(0.000000, 1.000000, 0.000000)
TorpedoTurret2Up = App.TGPoint3()
TorpedoTurret2Up.SetXYZ(0.000000, 0.000000, 1.000000)
TorpedoTurret2.SetOrientation(TorpedoTurret2Forward, TorpedoTurret2Up)
TorpedoTurret2.SetArcWidthAngles(-0.349066, 0.349066)
TorpedoTurret2.SetArcHeightAngles(-0.174533, 0.349066)
TorpedoTurret2.SetCooldownTime(0.250000)
TorpedoTurret2.SetModuleName("Tactical.Projectiles.RapidPhotonTorpedo")
App.g_kModelPropertyManager.RegisterLocalTemplate(TorpedoTurret2)
#################################################
Phasers = App.WeaponSystemProperty_Create("Phasers")

Phasers.SetMaxCondition(8000.000000)
Phasers.SetCritical(0)
Phasers.SetTargetable(0)
Phasers.SetPrimary(1)
Phasers.SetPosition(-0.000205, 0.668563, 0.223638)
Phasers.SetPosition2D(-5.000000, 25.000000)
Phasers.SetRepairComplexity(7.000000)
Phasers.SetDisabledPercentage(0.750000)
Phasers.SetRadius(0.030000)
Phasers.SetNormalPowerPerSecond(200.000000)
Phasers.SetWeaponSystemType(Phasers.WST_PHASER)
Phasers.SetSingleFire(1)
Phasers.SetAimedWeapon(0)
kFiringChainString = App.TGString()
kFiringChainString.SetString("")
Phasers.SetFiringChainString(kFiringChainString)
App.g_kModelPropertyManager.RegisterLocalTemplate(Phasers)
#################################################
VentralPhaser1 = App.PhaserProperty_Create("Ventral Phaser 1")

VentralPhaser1.SetMaxCondition(2500.000000)
VentralPhaser1.SetCritical(0)
VentralPhaser1.SetTargetable(1)
VentralPhaser1.SetPrimary(1)
VentralPhaser1.SetPosition(-0.851400, 1.359220, -0.261611)
VentralPhaser1.SetPosition2D(-7.000000, 50.000000)
VentralPhaser1.SetRepairComplexity(7.000000)
VentralPhaser1.SetDisabledPercentage(0.750000)
VentralPhaser1.SetRadius(0.250000)
VentralPhaser1.SetDumbfire(0)
VentralPhaser1.SetWeaponID(1)
VentralPhaser1.SetGroups(0)
VentralPhaser1.SetDamageRadiusFactor(0.100000)
VentralPhaser1.SetIconNum(361)
VentralPhaser1.SetIconPositionX(27.000000)
VentralPhaser1.SetIconPositionY(46.000000)
VentralPhaser1.SetIconAboveShip(0)
VentralPhaser1.SetFireSound("Akira Phaser")
VentralPhaser1.SetMaxCharge(6.000000)
VentralPhaser1.SetMaxDamage(900.000000)
VentralPhaser1.SetMaxDamageDistance(100.000000)
VentralPhaser1.SetMinFiringCharge(2.000000)
VentralPhaser1.SetNormalDischargeRate(1.000000)
VentralPhaser1.SetRechargeRate(0.400000)
VentralPhaser1.SetIndicatorIconNum(508)
VentralPhaser1.SetIndicatorIconPositionX(25.000000)
VentralPhaser1.SetIndicatorIconPositionY(46.000000)
VentralPhaser1Forward = App.TGPoint3()
VentralPhaser1Forward.SetXYZ(-0.911921, 0.410365, 0.000000)
VentralPhaser1Up = App.TGPoint3()
VentralPhaser1Up.SetXYZ(0.000000, 0.000000, 1.000000)
VentralPhaser1.SetOrientation(VentralPhaser1Forward, VentralPhaser1Up)
VentralPhaser1.SetWidth(0.780000)
VentralPhaser1.SetLength(0.140000)
VentralPhaser1.SetArcWidthAngles(-0.872665, 0.872665)
VentralPhaser1.SetArcHeightAngles(0.000000, -1.570796)
VentralPhaser1.SetPhaserTextureStart(0)
VentralPhaser1.SetPhaserTextureEnd(7)
VentralPhaser1.SetPhaserWidth(0.300000)
kColor = App.TGColorA()
kColor.SetRGBA(0.639216, 0.000000, 0.000000, 1.000000)
VentralPhaser1.SetOuterShellColor(kColor)
kColor.SetRGBA(0.992157, 0.192157, 0.054902, 1.000000)
VentralPhaser1.SetInnerShellColor(kColor)
kColor.SetRGBA(0.592157, 0.592157, 0.000000, 1.000000)
VentralPhaser1.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.803922, 0.803922, 0.000000, 1.000000)
VentralPhaser1.SetInnerCoreColor(kColor)
VentralPhaser1.SetNumSides(6)
VentralPhaser1.SetMainRadius(0.070000)
VentralPhaser1.SetTaperRadius(0.010000)
VentralPhaser1.SetCoreScale(0.500000)
VentralPhaser1.SetTaperRatio(0.250000)
VentralPhaser1.SetTaperMinLength(5.000000)
VentralPhaser1.SetTaperMaxLength(30.000000)
VentralPhaser1.SetLengthTextureTilePerUnit(0.010000)
VentralPhaser1.SetPerimeterTile(1.000000)
VentralPhaser1.SetTextureSpeed(2.000000)
VentralPhaser1.SetTextureName("data/Textures/Tactical/TNGPhaser.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(VentralPhaser1)
#################################################
VentralPhaser2 = App.PhaserProperty_Create("Ventral Phaser 2")

VentralPhaser2.SetMaxCondition(2500.000000)
VentralPhaser2.SetCritical(0)
VentralPhaser2.SetTargetable(1)
VentralPhaser2.SetPrimary(1)
VentralPhaser2.SetPosition(0.851400, 1.359220, -0.261611)
VentralPhaser2.SetPosition2D(-2.000000, 50.000000)
VentralPhaser2.SetRepairComplexity(7.000000)
VentralPhaser2.SetDisabledPercentage(0.750000)
VentralPhaser2.SetRadius(0.250000)
VentralPhaser2.SetDumbfire(0)
VentralPhaser2.SetWeaponID(3)
VentralPhaser2.SetGroups(0)
VentralPhaser2.SetDamageRadiusFactor(0.100000)
VentralPhaser2.SetIconNum(362)
VentralPhaser2.SetIconPositionX(110.000000)
VentralPhaser2.SetIconPositionY(46.000000)
VentralPhaser2.SetIconAboveShip(0)
VentralPhaser2.SetFireSound("Akira Phaser")
VentralPhaser2.SetMaxCharge(6.000000)
VentralPhaser2.SetMaxDamage(900.000000)
VentralPhaser2.SetMaxDamageDistance(100.000000)
VentralPhaser2.SetMinFiringCharge(2.000000)
VentralPhaser2.SetNormalDischargeRate(1.000000)
VentralPhaser2.SetRechargeRate(0.400000)
VentralPhaser2.SetIndicatorIconNum(509)
VentralPhaser2.SetIndicatorIconPositionX(109.000000)
VentralPhaser2.SetIndicatorIconPositionY(46.000000)
VentralPhaser2Forward = App.TGPoint3()
VentralPhaser2Forward.SetXYZ(0.915315, 0.402739, 0.000000)
VentralPhaser2Up = App.TGPoint3()
VentralPhaser2Up.SetXYZ(0.000000, 0.000000, 1.000000)
VentralPhaser2.SetOrientation(VentralPhaser2Forward, VentralPhaser2Up)
VentralPhaser2.SetWidth(0.780000)
VentralPhaser2.SetLength(0.140000)
VentralPhaser2.SetArcWidthAngles(-0.872665, 0.872665)
VentralPhaser2.SetArcHeightAngles(0.000000, -1.570796)
VentralPhaser2.SetPhaserTextureStart(0)
VentralPhaser2.SetPhaserTextureEnd(7)
VentralPhaser2.SetPhaserWidth(0.300000)
kColor = App.TGColorA()
kColor.SetRGBA(0.639216, 0.000000, 0.000000, 1.000000)
VentralPhaser2.SetOuterShellColor(kColor)
kColor.SetRGBA(0.992157, 0.192157, 0.054902, 1.000000)
VentralPhaser2.SetInnerShellColor(kColor)
kColor.SetRGBA(0.592157, 0.592157, 0.000000, 1.000000)
VentralPhaser2.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.803922, 0.803922, 0.000000, 1.000000)
VentralPhaser2.SetInnerCoreColor(kColor)
VentralPhaser2.SetNumSides(6)
VentralPhaser2.SetMainRadius(0.070000)
VentralPhaser2.SetTaperRadius(0.010000)
VentralPhaser2.SetCoreScale(0.500000)
VentralPhaser2.SetTaperRatio(0.250000)
VentralPhaser2.SetTaperMinLength(5.000000)
VentralPhaser2.SetTaperMaxLength(30.000000)
VentralPhaser2.SetLengthTextureTilePerUnit(0.010000)
VentralPhaser2.SetPerimeterTile(1.000000)
VentralPhaser2.SetTextureSpeed(2.000000)
VentralPhaser2.SetTextureName("data/Textures/Tactical/TNGPhaser.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(VentralPhaser2)
#################################################
VentralPhaser3 = App.PhaserProperty_Create("Ventral Phaser 3")

VentralPhaser3.SetMaxCondition(2500.000000)
VentralPhaser3.SetCritical(0)
VentralPhaser3.SetTargetable(1)
VentralPhaser3.SetPrimary(1)
VentralPhaser3.SetPosition(-0.990000, 0.447354, -0.261611)
VentralPhaser3.SetPosition2D(3.000000, 50.000000)
VentralPhaser3.SetRepairComplexity(7.000000)
VentralPhaser3.SetDisabledPercentage(0.750000)
VentralPhaser3.SetRadius(0.250000)
VentralPhaser3.SetDumbfire(0)
VentralPhaser3.SetWeaponID(0)
VentralPhaser3.SetGroups(0)
VentralPhaser3.SetDamageRadiusFactor(0.250000)
VentralPhaser3.SetIconNum(363)
VentralPhaser3.SetIconPositionX(37.000000)
VentralPhaser3.SetIconPositionY(89.000000)
VentralPhaser3.SetIconAboveShip(0)
VentralPhaser3.SetFireSound("Akira Phaser")
VentralPhaser3.SetMaxCharge(4.000000)
VentralPhaser3.SetMaxDamage(900.000000)
VentralPhaser3.SetMaxDamageDistance(90.000000)
VentralPhaser3.SetMinFiringCharge(2.000000)
VentralPhaser3.SetNormalDischargeRate(1.000000)
VentralPhaser3.SetRechargeRate(0.400000)
VentralPhaser3.SetIndicatorIconNum(511)
VentralPhaser3.SetIndicatorIconPositionX(32.000000)
VentralPhaser3.SetIndicatorIconPositionY(84.000000)
VentralPhaser3Forward = App.TGPoint3()
VentralPhaser3Forward.SetXYZ(0.000000, 0.000000, -1.000000)
VentralPhaser3Up = App.TGPoint3()
VentralPhaser3Up.SetXYZ(0.000000, 1.000000, 0.000000)
VentralPhaser3.SetOrientation(VentralPhaser3Forward, VentralPhaser3Up)
VentralPhaser3.SetWidth(0.120000)
VentralPhaser3.SetLength(0.010000)
VentralPhaser3.SetArcWidthAngles(-0.523599, 0.872665)
VentralPhaser3.SetArcHeightAngles(-1.047198, 0.698132)
VentralPhaser3.SetPhaserTextureStart(0)
VentralPhaser3.SetPhaserTextureEnd(0)
VentralPhaser3.SetPhaserWidth(0.300000)
kColor = App.TGColorA()
kColor.SetRGBA(0.639216, 0.000000, 0.000000, 1.000000)
VentralPhaser3.SetOuterShellColor(kColor)
kColor.SetRGBA(0.992157, 0.192157, 0.054902, 1.000000)
VentralPhaser3.SetInnerShellColor(kColor)
kColor.SetRGBA(0.592157, 0.592157, 0.000000, 1.000000)
VentralPhaser3.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.803922, 0.803922, 0.000000, 1.000000)
VentralPhaser3.SetInnerCoreColor(kColor)
VentralPhaser3.SetNumSides(6)
VentralPhaser3.SetMainRadius(0.070000)
VentralPhaser3.SetTaperRadius(0.010000)
VentralPhaser3.SetCoreScale(0.500000)
VentralPhaser3.SetTaperRatio(0.250000)
VentralPhaser3.SetTaperMinLength(5.000000)
VentralPhaser3.SetTaperMaxLength(30.000000)
VentralPhaser3.SetLengthTextureTilePerUnit(0.010000)
VentralPhaser3.SetPerimeterTile(1.000000)
VentralPhaser3.SetTextureSpeed(2.000000)
VentralPhaser3.SetTextureName("data/Textures/Tactical/TNGPhaser.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(VentralPhaser3)
#################################################
VentralPhaser4 = App.PhaserProperty_Create("Ventral Phaser 4")

VentralPhaser4.SetMaxCondition(2500.000000)
VentralPhaser4.SetCritical(0)
VentralPhaser4.SetTargetable(1)
VentralPhaser4.SetPrimary(1)
VentralPhaser4.SetPosition(0.990000, 0.447354, -0.261611)
VentralPhaser4.SetPosition2D(8.000000, 50.000000)
VentralPhaser4.SetRepairComplexity(7.000000)
VentralPhaser4.SetDisabledPercentage(0.750000)
VentralPhaser4.SetRadius(0.250000)
VentralPhaser4.SetDumbfire(0)
VentralPhaser4.SetWeaponID(0)
VentralPhaser4.SetGroups(0)
VentralPhaser4.SetDamageRadiusFactor(0.250000)
VentralPhaser4.SetIconNum(363)
VentralPhaser4.SetIconPositionX(89.000000)
VentralPhaser4.SetIconPositionY(90.000000)
VentralPhaser4.SetIconAboveShip(0)
VentralPhaser4.SetFireSound("Akira Phaser")
VentralPhaser4.SetMaxCharge(4.000000)
VentralPhaser4.SetMaxDamage(900.000000)
VentralPhaser4.SetMaxDamageDistance(90.000000)
VentralPhaser4.SetMinFiringCharge(2.000000)
VentralPhaser4.SetNormalDischargeRate(1.000000)
VentralPhaser4.SetRechargeRate(0.400000)
VentralPhaser4.SetIndicatorIconNum(511)
VentralPhaser4.SetIndicatorIconPositionX(84.000000)
VentralPhaser4.SetIndicatorIconPositionY(85.000000)
VentralPhaser4Forward = App.TGPoint3()
VentralPhaser4Forward.SetXYZ(0.000000, 0.000000, -1.000000)
VentralPhaser4Up = App.TGPoint3()
VentralPhaser4Up.SetXYZ(0.000000, 1.000000, 0.000000)
VentralPhaser4.SetOrientation(VentralPhaser4Forward, VentralPhaser4Up)
VentralPhaser4.SetWidth(0.120000)
VentralPhaser4.SetLength(0.010000)
VentralPhaser4.SetArcWidthAngles(-0.872665, 0.523599)
VentralPhaser4.SetArcHeightAngles(-1.047198, 0.698132)
VentralPhaser4.SetPhaserTextureStart(0)
VentralPhaser4.SetPhaserTextureEnd(0)
VentralPhaser4.SetPhaserWidth(0.300000)
kColor = App.TGColorA()
kColor.SetRGBA(0.639216, 0.000000, 0.000000, 1.000000)
VentralPhaser4.SetOuterShellColor(kColor)
kColor.SetRGBA(0.992157, 0.192157, 0.054902, 1.000000)
VentralPhaser4.SetInnerShellColor(kColor)
kColor.SetRGBA(0.592157, 0.592157, 0.000000, 1.000000)
VentralPhaser4.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.803922, 0.803922, 0.000000, 1.000000)
VentralPhaser4.SetInnerCoreColor(kColor)
VentralPhaser4.SetNumSides(6)
VentralPhaser4.SetMainRadius(0.070000)
VentralPhaser4.SetTaperRadius(0.010000)
VentralPhaser4.SetCoreScale(0.500000)
VentralPhaser4.SetTaperRatio(0.250000)
VentralPhaser4.SetTaperMinLength(5.000000)
VentralPhaser4.SetTaperMaxLength(30.000000)
VentralPhaser4.SetLengthTextureTilePerUnit(0.010000)
VentralPhaser4.SetPerimeterTile(1.000000)
VentralPhaser4.SetTextureSpeed(2.000000)
VentralPhaser4.SetTextureName("data/Textures/Tactical/TNGPhaser.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(VentralPhaser4)
#################################################
DorsalPhaser1 = App.PhaserProperty_Create("Dorsal Phaser 1")

DorsalPhaser1.SetMaxCondition(1500.000000)
DorsalPhaser1.SetCritical(0)
DorsalPhaser1.SetTargetable(1)
DorsalPhaser1.SetPrimary(1)
DorsalPhaser1.SetPosition(-0.299999, 1.500000, 0.000000)
DorsalPhaser1.SetPosition2D(0.000000, 0.000000)
DorsalPhaser1.SetRepairComplexity(1.000000)
DorsalPhaser1.SetDisabledPercentage(0.500000)
DorsalPhaser1.SetRadius(0.250000)
DorsalPhaser1.SetDumbfire(0)
DorsalPhaser1.SetWeaponID(0)
DorsalPhaser1.SetGroups(0)
DorsalPhaser1.SetDamageRadiusFactor(0.250000)
DorsalPhaser1.SetIconNum(361)
DorsalPhaser1.SetIconPositionX(43.000000)
DorsalPhaser1.SetIconPositionY(29.000000)
DorsalPhaser1.SetIconAboveShip(1)
DorsalPhaser1.SetFireSound("Akira Phaser")
DorsalPhaser1.SetMaxCharge(5.000000)
DorsalPhaser1.SetMaxDamage(25.000000)
DorsalPhaser1.SetMaxDamageDistance(100.000000)
DorsalPhaser1.SetMinFiringCharge(3.000000)
DorsalPhaser1.SetNormalDischargeRate(1.000000)
DorsalPhaser1.SetRechargeRate(0.300000)
DorsalPhaser1.SetIndicatorIconNum(508)
DorsalPhaser1.SetIndicatorIconPositionX(41.000000)
DorsalPhaser1.SetIndicatorIconPositionY(29.000000)
DorsalPhaser1Forward = App.TGPoint3()
DorsalPhaser1Forward.SetXYZ(-0.889367, 0.456941, -0.015222)
DorsalPhaser1Up = App.TGPoint3()
DorsalPhaser1Up.SetXYZ(-0.038144, -0.040983, 0.998432)
DorsalPhaser1.SetOrientation(DorsalPhaser1Forward, DorsalPhaser1Up)
DorsalPhaser1.SetWidth(0.200000)
DorsalPhaser1.SetLength(0.100000)
DorsalPhaser1.SetArcWidthAngles(-1.308997, 0.785398)
DorsalPhaser1.SetArcHeightAngles(-0.069813, 1.308997)
DorsalPhaser1.SetPhaserTextureStart(0)
DorsalPhaser1.SetPhaserTextureEnd(7)
DorsalPhaser1.SetPhaserWidth(0.300000)
kColor = App.TGColorA()
kColor.SetRGBA(0.639216, 0.000000, 0.000000, 1.000000)
DorsalPhaser1.SetOuterShellColor(kColor)
kColor.SetRGBA(0.992157, 0.192157, 0.054902, 1.000000)
DorsalPhaser1.SetInnerShellColor(kColor)
kColor.SetRGBA(0.592157, 0.592157, 0.000000, 1.000000)
DorsalPhaser1.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.803922, 0.803922, 0.000000, 1.000000)
DorsalPhaser1.SetInnerCoreColor(kColor)
DorsalPhaser1.SetNumSides(6)
DorsalPhaser1.SetMainRadius(0.070000)
DorsalPhaser1.SetTaperRadius(0.010000)
DorsalPhaser1.SetCoreScale(0.500000)
DorsalPhaser1.SetTaperRatio(0.250000)
DorsalPhaser1.SetTaperMinLength(5.000000)
DorsalPhaser1.SetTaperMaxLength(30.000000)
DorsalPhaser1.SetLengthTextureTilePerUnit(0.010000)
DorsalPhaser1.SetPerimeterTile(1.000000)
DorsalPhaser1.SetTextureSpeed(2.000000)
DorsalPhaser1.SetTextureName("data/Textures/Tactical/TNGPhaser.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(DorsalPhaser1)
#################################################
DorsalPhaser2 = App.PhaserProperty_Create("Dorsal Phaser 2")

DorsalPhaser2.SetMaxCondition(1500.000000)
DorsalPhaser2.SetCritical(0)
DorsalPhaser2.SetTargetable(1)
DorsalPhaser2.SetPrimary(1)
DorsalPhaser2.SetPosition(0.300000, 1.550000, -0.020000)
DorsalPhaser2.SetPosition2D(0.000000, 0.000000)
DorsalPhaser2.SetRepairComplexity(1.000000)
DorsalPhaser2.SetDisabledPercentage(0.500000)
DorsalPhaser2.SetRadius(0.250000)
DorsalPhaser2.SetDumbfire(0)
DorsalPhaser2.SetWeaponID(0)
DorsalPhaser2.SetGroups(0)
DorsalPhaser2.SetDamageRadiusFactor(0.250000)
DorsalPhaser2.SetIconNum(362)
DorsalPhaser2.SetIconPositionX(95.000000)
DorsalPhaser2.SetIconPositionY(29.000000)
DorsalPhaser2.SetIconAboveShip(1)
DorsalPhaser2.SetFireSound("Akira Phaser")
DorsalPhaser2.SetMaxCharge(5.000000)
DorsalPhaser2.SetMaxDamage(25.000000)
DorsalPhaser2.SetMaxDamageDistance(100.000000)
DorsalPhaser2.SetMinFiringCharge(3.000000)
DorsalPhaser2.SetNormalDischargeRate(1.000000)
DorsalPhaser2.SetRechargeRate(0.300000)
DorsalPhaser2.SetIndicatorIconNum(509)
DorsalPhaser2.SetIndicatorIconPositionX(94.000000)
DorsalPhaser2.SetIndicatorIconPositionY(29.000000)
DorsalPhaser2Forward = App.TGPoint3()
DorsalPhaser2Forward.SetXYZ(0.834650, 0.497125, 0.237121)
DorsalPhaser2Up = App.TGPoint3()
DorsalPhaser2Up.SetXYZ(-0.212083, -0.180333, 0.960469)
DorsalPhaser2.SetOrientation(DorsalPhaser2Forward, DorsalPhaser2Up)
DorsalPhaser2.SetWidth(0.200000)
DorsalPhaser2.SetLength(0.100000)
DorsalPhaser2.SetArcWidthAngles(-0.785398, 1.308997)
DorsalPhaser2.SetArcHeightAngles(-0.174533, 1.308997)
DorsalPhaser2.SetPhaserTextureStart(0)
DorsalPhaser2.SetPhaserTextureEnd(7)
DorsalPhaser2.SetPhaserWidth(0.300000)
kColor = App.TGColorA()
kColor.SetRGBA(0.639216, 0.000000, 0.000000, 1.000000)
DorsalPhaser2.SetOuterShellColor(kColor)
kColor.SetRGBA(0.992157, 0.192157, 0.054902, 1.000000)
DorsalPhaser2.SetInnerShellColor(kColor)
kColor.SetRGBA(0.592157, 0.592157, 0.000000, 1.000000)
DorsalPhaser2.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.803922, 0.803922, 0.000000, 1.000000)
DorsalPhaser2.SetInnerCoreColor(kColor)
DorsalPhaser2.SetNumSides(6)
DorsalPhaser2.SetMainRadius(0.070000)
DorsalPhaser2.SetTaperRadius(0.010000)
DorsalPhaser2.SetCoreScale(0.500000)
DorsalPhaser2.SetTaperRatio(0.250000)
DorsalPhaser2.SetTaperMinLength(5.000000)
DorsalPhaser2.SetTaperMaxLength(30.000000)
DorsalPhaser2.SetLengthTextureTilePerUnit(0.010000)
DorsalPhaser2.SetPerimeterTile(1.000000)
DorsalPhaser2.SetTextureSpeed(2.000000)
DorsalPhaser2.SetTextureName("data/Textures/Tactical/TNGPhaser.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(DorsalPhaser2)
#################################################
DorsalPhaser3 = App.PhaserProperty_Create("Dorsal Phaser 3")

DorsalPhaser3.SetMaxCondition(2500.000000)
DorsalPhaser3.SetCritical(0)
DorsalPhaser3.SetTargetable(1)
DorsalPhaser3.SetPrimary(1)
DorsalPhaser3.SetPosition(0.721641, 0.502276, -0.009103)
DorsalPhaser3.SetPosition2D(3.000000, 35.000000)
DorsalPhaser3.SetRepairComplexity(7.000000)
DorsalPhaser3.SetDisabledPercentage(0.750000)
DorsalPhaser3.SetRadius(0.250000)
DorsalPhaser3.SetDumbfire(0)
DorsalPhaser3.SetWeaponID(0)
DorsalPhaser3.SetGroups(0)
DorsalPhaser3.SetDamageRadiusFactor(0.250000)
DorsalPhaser3.SetIconNum(363)
DorsalPhaser3.SetIconPositionX(91.000000)
DorsalPhaser3.SetIconPositionY(79.000000)
DorsalPhaser3.SetIconAboveShip(1)
DorsalPhaser3.SetFireSound("Akira Phaser")
DorsalPhaser3.SetMaxCharge(4.000000)
DorsalPhaser3.SetMaxDamage(900.000000)
DorsalPhaser3.SetMaxDamageDistance(90.000000)
DorsalPhaser3.SetMinFiringCharge(2.000000)
DorsalPhaser3.SetNormalDischargeRate(1.000000)
DorsalPhaser3.SetRechargeRate(0.400000)
DorsalPhaser3.SetIndicatorIconNum(511)
DorsalPhaser3.SetIndicatorIconPositionX(86.000000)
DorsalPhaser3.SetIndicatorIconPositionY(74.000000)
DorsalPhaser3Forward = App.TGPoint3()
DorsalPhaser3Forward.SetXYZ(0.974835, 0.009242, 0.222734)
DorsalPhaser3Up = App.TGPoint3()
DorsalPhaser3Up.SetXYZ(-0.244934, -0.326604, 0.912873)
DorsalPhaser3.SetOrientation(DorsalPhaser3Forward, DorsalPhaser3Up)
DorsalPhaser3.SetWidth(0.001000)
DorsalPhaser3.SetLength(0.001000)
DorsalPhaser3.SetArcWidthAngles(-0.261799, 0.610865)
DorsalPhaser3.SetArcHeightAngles(-0.139626, 1.483530)
DorsalPhaser3.SetPhaserTextureStart(0)
DorsalPhaser3.SetPhaserTextureEnd(0)
DorsalPhaser3.SetPhaserWidth(0.300000)
kColor = App.TGColorA()
kColor.SetRGBA(0.639216, 0.000000, 0.000000, 1.000000)
DorsalPhaser3.SetOuterShellColor(kColor)
kColor.SetRGBA(0.992157, 0.192157, 0.054902, 1.000000)
DorsalPhaser3.SetInnerShellColor(kColor)
kColor.SetRGBA(0.592157, 0.592157, 0.000000, 1.000000)
DorsalPhaser3.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.803922, 0.803922, 0.000000, 1.000000)
DorsalPhaser3.SetInnerCoreColor(kColor)
DorsalPhaser3.SetNumSides(6)
DorsalPhaser3.SetMainRadius(0.070000)
DorsalPhaser3.SetTaperRadius(0.010000)
DorsalPhaser3.SetCoreScale(0.500000)
DorsalPhaser3.SetTaperRatio(0.250000)
DorsalPhaser3.SetTaperMinLength(5.000000)
DorsalPhaser3.SetTaperMaxLength(30.000000)
DorsalPhaser3.SetLengthTextureTilePerUnit(0.010000)
DorsalPhaser3.SetPerimeterTile(1.000000)
DorsalPhaser3.SetTextureSpeed(2.000000)
DorsalPhaser3.SetTextureName("data/Textures/Tactical/TNGPhaser.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(DorsalPhaser3)
#################################################
DorsalPhaser4 = App.PhaserProperty_Create("Dorsal Phaser 4")

DorsalPhaser4.SetMaxCondition(2500.000000)
DorsalPhaser4.SetCritical(0)
DorsalPhaser4.SetTargetable(1)
DorsalPhaser4.SetPrimary(1)
DorsalPhaser4.SetPosition(-0.691415, 0.475494, -0.002010)
DorsalPhaser4.SetPosition2D(8.000000, 35.000000)
DorsalPhaser4.SetRepairComplexity(7.000000)
DorsalPhaser4.SetDisabledPercentage(0.750000)
DorsalPhaser4.SetRadius(0.250000)
DorsalPhaser4.SetDumbfire(0)
DorsalPhaser4.SetWeaponID(0)
DorsalPhaser4.SetGroups(0)
DorsalPhaser4.SetDamageRadiusFactor(0.250000)
DorsalPhaser4.SetIconNum(363)
DorsalPhaser4.SetIconPositionX(36.000000)
DorsalPhaser4.SetIconPositionY(79.000000)
DorsalPhaser4.SetIconAboveShip(1)
DorsalPhaser4.SetFireSound("Akira Phaser")
DorsalPhaser4.SetMaxCharge(4.000000)
DorsalPhaser4.SetMaxDamage(900.000000)
DorsalPhaser4.SetMaxDamageDistance(90.000000)
DorsalPhaser4.SetMinFiringCharge(2.000000)
DorsalPhaser4.SetNormalDischargeRate(1.000000)
DorsalPhaser4.SetRechargeRate(0.400000)
DorsalPhaser4.SetIndicatorIconNum(511)
DorsalPhaser4.SetIndicatorIconPositionX(31.000000)
DorsalPhaser4.SetIndicatorIconPositionY(74.000000)
DorsalPhaser4Forward = App.TGPoint3()
DorsalPhaser4Forward.SetXYZ(-0.942946, -0.332893, 0.005876)
DorsalPhaser4Up = App.TGPoint3()
DorsalPhaser4Up.SetXYZ(0.127482, -0.226318, 0.965675)
DorsalPhaser4.SetOrientation(DorsalPhaser4Forward, DorsalPhaser4Up)
DorsalPhaser4.SetWidth(0.001000)
DorsalPhaser4.SetLength(0.001000)
DorsalPhaser4.SetArcWidthAngles(-0.610865, 0.261799)
DorsalPhaser4.SetArcHeightAngles(1.483530, 0.017453)
DorsalPhaser4.SetPhaserTextureStart(0)
DorsalPhaser4.SetPhaserTextureEnd(0)
DorsalPhaser4.SetPhaserWidth(0.300000)
kColor = App.TGColorA()
kColor.SetRGBA(0.639216, 0.000000, 0.000000, 1.000000)
DorsalPhaser4.SetOuterShellColor(kColor)
kColor.SetRGBA(0.992157, 0.192157, 0.054902, 1.000000)
DorsalPhaser4.SetInnerShellColor(kColor)
kColor.SetRGBA(0.592157, 0.592157, 0.000000, 1.000000)
DorsalPhaser4.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.803922, 0.803922, 0.000000, 1.000000)
DorsalPhaser4.SetInnerCoreColor(kColor)
DorsalPhaser4.SetNumSides(6)
DorsalPhaser4.SetMainRadius(0.070000)
DorsalPhaser4.SetTaperRadius(0.010000)
DorsalPhaser4.SetCoreScale(0.500000)
DorsalPhaser4.SetTaperRatio(0.250000)
DorsalPhaser4.SetTaperMinLength(5.000000)
DorsalPhaser4.SetTaperMaxLength(30.000000)
DorsalPhaser4.SetLengthTextureTilePerUnit(0.010000)
DorsalPhaser4.SetPerimeterTile(1.000000)
DorsalPhaser4.SetTextureSpeed(2.000000)
DorsalPhaser4.SetTextureName("data/Textures/Tactical/TNGPhaser.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(DorsalPhaser4)
#################################################
Tractors = App.WeaponSystemProperty_Create("Tractors")

Tractors.SetMaxCondition(4000.000000)
Tractors.SetCritical(0)
Tractors.SetTargetable(0)
Tractors.SetPrimary(1)
Tractors.SetPosition(-0.016142, 0.478170, 0.229162)
Tractors.SetPosition2D(51.000000, 121.000000)
Tractors.SetRepairComplexity(7.000000)
Tractors.SetDisabledPercentage(0.750000)
Tractors.SetRadius(0.030000)
Tractors.SetNormalPowerPerSecond(100.000000)
Tractors.SetWeaponSystemType(Tractors.WST_TRACTOR)
Tractors.SetSingleFire(1)
Tractors.SetAimedWeapon(0)
kFiringChainString = App.TGString()
kFiringChainString.SetString("")
Tractors.SetFiringChainString(kFiringChainString)
App.g_kModelPropertyManager.RegisterLocalTemplate(Tractors)
#################################################
ForwardTractor = App.TractorBeamProperty_Create("Forward Tractor")

ForwardTractor.SetMaxCondition(2000.000000)
ForwardTractor.SetCritical(0)
ForwardTractor.SetTargetable(1)
ForwardTractor.SetPrimary(1)
ForwardTractor.SetPosition(-0.022110, 2.639760, -0.261406)
ForwardTractor.SetPosition2D(59.000000, 121.000000)
ForwardTractor.SetRepairComplexity(7.000000)
ForwardTractor.SetDisabledPercentage(0.750000)
ForwardTractor.SetRadius(0.200000)
ForwardTractor.SetDumbfire(0)
ForwardTractor.SetWeaponID(7)
ForwardTractor.SetGroups(0)
ForwardTractor.SetDamageRadiusFactor(0.300000)
ForwardTractor.SetIconNum(0)
ForwardTractor.SetIconPositionX(0.000000)
ForwardTractor.SetIconPositionY(0.000000)
ForwardTractor.SetIconAboveShip(1)
ForwardTractor.SetFireSound("Tractor Beam")
ForwardTractor.SetMaxCharge(500.000000)
ForwardTractor.SetMaxDamage(2500.000000)
ForwardTractor.SetMaxDamageDistance(114.000000)
ForwardTractor.SetMinFiringCharge(50.000000)
ForwardTractor.SetNormalDischargeRate(1.000000)
ForwardTractor.SetRechargeRate(1.000000)
ForwardTractor.SetIndicatorIconNum(0)
ForwardTractor.SetIndicatorIconPositionX(0.000000)
ForwardTractor.SetIndicatorIconPositionY(0.000000)
ForwardTractorForward = App.TGPoint3()
ForwardTractorForward.SetXYZ(0.000000, 1.000000, 0.000000)
ForwardTractorUp = App.TGPoint3()
ForwardTractorUp.SetXYZ(0.000000, 0.000000, 1.000000)
ForwardTractor.SetOrientation(ForwardTractorForward, ForwardTractorUp)
ForwardTractor.SetArcWidthAngles(-0.872665, 0.872665)
ForwardTractor.SetArcHeightAngles(1.047198, -1.047198)
ForwardTractor.SetTractorBeamWidth(0.300000)
ForwardTractor.SetTextureStart(0)
ForwardTractor.SetTextureEnd(0)
ForwardTractor.SetTextureName("data/Textures/Tactical/TractorBeam.tga")
kColor = App.TGColorA()
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
ForwardTractor.SetOuterShellColor(kColor)
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
ForwardTractor.SetInnerShellColor(kColor)
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
ForwardTractor.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
ForwardTractor.SetInnerCoreColor(kColor)
ForwardTractor.SetNumSides(12)
ForwardTractor.SetMainRadius(0.075000)
ForwardTractor.SetTaperRadius(0.000000)
ForwardTractor.SetCoreScale(0.450000)
ForwardTractor.SetTaperRatio(0.200000)
ForwardTractor.SetTaperMinLength(1.000000)
ForwardTractor.SetTaperMaxLength(5.000000)
ForwardTractor.SetLengthTextureTilePerUnit(0.250000)
ForwardTractor.SetPerimeterTile(1.000000)
ForwardTractor.SetTextureSpeed(0.200000)
ForwardTractor.SetTextureName("data/Textures/Tactical/TractorBeam.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(ForwardTractor)
#################################################
AftTractor = App.TractorBeamProperty_Create("Aft Tractor")

AftTractor.SetMaxCondition(2000.000000)
AftTractor.SetCritical(0)
AftTractor.SetTargetable(1)
AftTractor.SetPrimary(1)
AftTractor.SetPosition(0, 1.127920, -0.129245)
AftTractor.SetPosition2D(70.000000, 121.000000)
AftTractor.SetRepairComplexity(7.000000)
AftTractor.SetDisabledPercentage(0.750000)
AftTractor.SetRadius(0.250000)
AftTractor.SetDumbfire(0)
AftTractor.SetWeaponID(0)
AftTractor.SetGroups(0)
AftTractor.SetDamageRadiusFactor(0.300000)
AftTractor.SetIconNum(0)
AftTractor.SetIconPositionX(0.000000)
AftTractor.SetIconPositionY(0.000000)
AftTractor.SetIconAboveShip(1)
AftTractor.SetFireSound("Tractor Beam")
AftTractor.SetMaxCharge(5.000000)
AftTractor.SetMaxDamage(2500.000000)
AftTractor.SetMaxDamageDistance(114.000000)
AftTractor.SetMinFiringCharge(3.000000)
AftTractor.SetNormalDischargeRate(1.000000)
AftTractor.SetRechargeRate(0.300000)
AftTractor.SetIndicatorIconNum(0)
AftTractor.SetIndicatorIconPositionX(0.000000)
AftTractor.SetIndicatorIconPositionY(0.000000)
AftTractorForward = App.TGPoint3()
AftTractorForward.SetXYZ(0.000000, -1.000000, 0.000000)
AftTractorUp = App.TGPoint3()
AftTractorUp.SetXYZ(0.000000, 0.000000, 1.000000)
AftTractor.SetOrientation(AftTractorForward, AftTractorUp)
AftTractor.SetArcWidthAngles(-0.401426, 0.401426)
AftTractor.SetArcHeightAngles(-0.698132, 0.087266)
AftTractor.SetTractorBeamWidth(0.300000)
AftTractor.SetTextureStart(0)
AftTractor.SetTextureEnd(0)
AftTractor.SetTextureName("data/Textures/Tactical/TractorBeam.tga")
kColor = App.TGColorA()
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
AftTractor.SetOuterShellColor(kColor)
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
AftTractor.SetInnerShellColor(kColor)
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
AftTractor.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
AftTractor.SetInnerCoreColor(kColor)
AftTractor.SetNumSides(12)
AftTractor.SetMainRadius(0.075000)
AftTractor.SetTaperRadius(0.000000)
AftTractor.SetCoreScale(0.450000)
AftTractor.SetTaperRatio(0.200000)
AftTractor.SetTaperMinLength(1.000000)
AftTractor.SetTaperMaxLength(5.000000)
AftTractor.SetLengthTextureTilePerUnit(0.250000)
AftTractor.SetPerimeterTile(1.000000)
AftTractor.SetTextureSpeed(0.200000)
AftTractor.SetTextureName("data/Textures/Tactical/TractorBeam.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(AftTractor)
#################################################
ViewscreenForward = App.PositionOrientationProperty_Create("ViewscreenForward")

ViewscreenForwardForward = App.TGPoint3()
ViewscreenForwardForward.SetXYZ(0.000000, 1.000000, 0.000000)
ViewscreenForwardUp = App.TGPoint3()
ViewscreenForwardUp.SetXYZ(0.000000, 0.000000, 1.000000)
ViewscreenForwardRight = App.TGPoint3()
ViewscreenForwardRight.SetXYZ(1.000000, 0.000000, 0.000000)
ViewscreenForward.SetOrientation(ViewscreenForwardForward, ViewscreenForwardUp, ViewscreenForwardRight)
ViewscreenForwardPosition = App.TGPoint3()
ViewscreenForwardPosition.SetXYZ(0.000000, 2.500000, 0.500000)
ViewscreenForward.SetPosition(ViewscreenForwardPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(ViewscreenForward)
#################################################
ViewscreenBack = App.PositionOrientationProperty_Create("ViewscreenBack")

ViewscreenBackForward = App.TGPoint3()
ViewscreenBackForward.SetXYZ(0.000000, -1.000000, 0.000000)
ViewscreenBackUp = App.TGPoint3()
ViewscreenBackUp.SetXYZ(0.000000, 0.000000, 1.000000)
ViewscreenBackRight = App.TGPoint3()
ViewscreenBackRight.SetXYZ(-1.000000, 0.000000, 0.000000)
ViewscreenBack.SetOrientation(ViewscreenBackForward, ViewscreenBackUp, ViewscreenBackRight)
ViewscreenBackPosition = App.TGPoint3()
ViewscreenBackPosition.SetXYZ(0.000000, -0.650000, 0.500000)
ViewscreenBack.SetPosition(ViewscreenBackPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(ViewscreenBack)
#################################################
ViewscreenLeft = App.PositionOrientationProperty_Create("ViewscreenLeft")

ViewscreenLeftForward = App.TGPoint3()
ViewscreenLeftForward.SetXYZ(-1.000000, 0.000000, 0.000000)
ViewscreenLeftUp = App.TGPoint3()
ViewscreenLeftUp.SetXYZ(0.000000, 0.000000, 1.000000)
ViewscreenLeftRight = App.TGPoint3()
ViewscreenLeftRight.SetXYZ(0.000000, 1.000000, 0.000000)
ViewscreenLeft.SetOrientation(ViewscreenLeftForward, ViewscreenLeftUp, ViewscreenLeftRight)
ViewscreenLeftPosition = App.TGPoint3()
ViewscreenLeftPosition.SetXYZ(-1.700000, 1.200000, 0.500000)
ViewscreenLeft.SetPosition(ViewscreenLeftPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(ViewscreenLeft)
#################################################
ViewscreenRight = App.PositionOrientationProperty_Create("ViewscreenRight")

ViewscreenRightForward = App.TGPoint3()
ViewscreenRightForward.SetXYZ(1.000000, 0.000000, 0.000000)
ViewscreenRightUp = App.TGPoint3()
ViewscreenRightUp.SetXYZ(0.000000, 0.000000, 1.000000)
ViewscreenRightRight = App.TGPoint3()
ViewscreenRightRight.SetXYZ(0.000000, -1.000000, 0.000000)
ViewscreenRight.SetOrientation(ViewscreenRightForward, ViewscreenRightUp, ViewscreenRightRight)
ViewscreenRightPosition = App.TGPoint3()
ViewscreenRightPosition.SetXYZ(1.700000, 1.200000, 0.500000)
ViewscreenRight.SetPosition(ViewscreenRightPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(ViewscreenRight)
#################################################
ViewscreenUp = App.PositionOrientationProperty_Create("ViewscreenUp")

ViewscreenUpForward = App.TGPoint3()
ViewscreenUpForward.SetXYZ(0.000000, 0.000000, 1.000000)
ViewscreenUpUp = App.TGPoint3()
ViewscreenUpUp.SetXYZ(0.000000, 1.000000, 0.000000)
ViewscreenUpRight = App.TGPoint3()
ViewscreenUpRight.SetXYZ(-1.000000, 0.000000, 0.000000)
ViewscreenUp.SetOrientation(ViewscreenUpForward, ViewscreenUpUp, ViewscreenUpRight)
ViewscreenUpPosition = App.TGPoint3()
ViewscreenUpPosition.SetXYZ(0.000000, 2.500000, 0.500000)
ViewscreenUp.SetPosition(ViewscreenUpPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(ViewscreenUp)
#################################################
ViewscreenDown = App.PositionOrientationProperty_Create("ViewscreenDown")

ViewscreenDownForward = App.TGPoint3()
ViewscreenDownForward.SetXYZ(0.000000, 0.000000, -1.000000)
ViewscreenDownUp = App.TGPoint3()
ViewscreenDownUp.SetXYZ(0.000000, 1.000000, 0.000000)
ViewscreenDownRight = App.TGPoint3()
ViewscreenDownRight.SetXYZ(1.000000, 0.000000, 0.000000)
ViewscreenDown.SetOrientation(ViewscreenDownForward, ViewscreenDownUp, ViewscreenDownRight)
ViewscreenDownPosition = App.TGPoint3()
ViewscreenDownPosition.SetXYZ(0.000000, 2.500000, 0.200000)
ViewscreenDown.SetPosition(ViewscreenDownPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(ViewscreenDown)
#################################################
FirstPersonCamera = App.PositionOrientationProperty_Create("FirstPersonCamera")

FirstPersonCameraForward = App.TGPoint3()
FirstPersonCameraForward.SetXYZ(0.000000, 1.000000, 0.000000)
FirstPersonCameraUp = App.TGPoint3()
FirstPersonCameraUp.SetXYZ(0.000000, 0.000000, 1.000000)
FirstPersonCameraRight = App.TGPoint3()
FirstPersonCameraRight.SetXYZ(1.000000, 0.000000, 0.000000)
FirstPersonCamera.SetOrientation(FirstPersonCameraForward, FirstPersonCameraUp, FirstPersonCameraRight)
FirstPersonCameraPosition = App.TGPoint3()
FirstPersonCameraPosition.SetXYZ(0.000000, 2.500000, 0.500000)
FirstPersonCamera.SetPosition(FirstPersonCameraPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(FirstPersonCamera)

Offline Tethys

  • -=USF=- Co-Leader
  • Posts: 256
  • Cookies: 89
Re: Uniform sorting of the subsystems in the hardpoints
« Reply #2 on: March 23, 2018, 07:29:33 AM »
Even though doesn't affect gameplay very much, I think it's a wonderful idea and one I wish was done ages ago. I very much support this project

Offline Morgan

  • Moderator
  • Posts: 1340
  • Cookies: 65535
Re: Uniform sorting of the subsystems in the hardpoints
« Reply #3 on: March 23, 2018, 03:52:26 PM »
I'm pretty anal about how my hardpoints are sorted as well, though it doesn't affect gameplay it's a lot easier to manage.  Using LC's Defiant as an example, this is how mine are sorted:

Code: [Select]
import App
import GlobalPropertyTemplates
#################################################
Hull = App.HullProperty_Create("Hull")

Hull.SetMaxCondition(10000.000000)
Hull.SetCritical(1)
Hull.SetTargetable(1)
Hull.SetPrimary(1)
Hull.SetPosition(0.000000, 0.000000, 0.000000)
Hull.SetPosition2D(4.000000, 5.000000)
Hull.SetRepairComplexity(2.000000)
Hull.SetDisabledPercentage(0.000000)
Hull.SetRadius(0.650000)
App.g_kModelPropertyManager.RegisterLocalTemplate(Hull)
#################################################
AblativeArmor = App.HullProperty_Create("Ablative Armor")

AblativeArmor.SetMaxCondition(6000.000000)
AblativeArmor.SetCritical(0)
AblativeArmor.SetTargetable(1)
AblativeArmor.SetPrimary(0)
AblativeArmor.SetPosition(0.000000, 0.000000, 0.000000)
AblativeArmor.SetPosition2D(4.000000, 5.000000)
AblativeArmor.SetRepairComplexity(3.000000)
AblativeArmor.SetDisabledPercentage(0.000000)
AblativeArmor.SetRadius(0.650000)
App.g_kModelPropertyManager.RegisterLocalTemplate(AblativeArmor)
#################################################
ShieldGenerator = App.ShieldProperty_Create("Shield Generator")

ShieldGenerator.SetMaxCondition(8000.000000)
ShieldGenerator.SetCritical(0)
ShieldGenerator.SetTargetable(1)
ShieldGenerator.SetPrimary(1)
ShieldGenerator.SetPosition(0.000000, -0.270000, 0.070000)
ShieldGenerator.SetPosition2D(64.000000, 86.000000)
ShieldGenerator.SetRepairComplexity(2.000000)
ShieldGenerator.SetDisabledPercentage(0.500000)
ShieldGenerator.SetRadius(0.030000)
ShieldGenerator.SetNormalPowerPerSecond(400.000000)
ShieldGeneratorShieldGlowColor = App.TGColorA()
ShieldGeneratorShieldGlowColor.SetRGBA(0.000000, 0.501961, 1.000000, 0.466667)
ShieldGenerator.SetShieldGlowColor(ShieldGeneratorShieldGlowColor)
ShieldGenerator.SetShieldGlowDecay(1.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.FRONT_SHIELDS, 8000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.REAR_SHIELDS, 8000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.TOP_SHIELDS, 8000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.BOTTOM_SHIELDS, 8000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.LEFT_SHIELDS, 8000.000000)
ShieldGenerator.SetMaxShields(ShieldGenerator.RIGHT_SHIELDS, 8000.000000)
ShieldGenerator.SetShieldChargePerSecond(ShieldGenerator.FRONT_SHIELDS, 25.000000)
ShieldGenerator.SetShieldChargePerSecond(ShieldGenerator.REAR_SHIELDS, 25.000000)
ShieldGenerator.SetShieldChargePerSecond(ShieldGenerator.TOP_SHIELDS, 25.000000)
ShieldGenerator.SetShieldChargePerSecond(ShieldGenerator.BOTTOM_SHIELDS, 25.000000)
ShieldGenerator.SetShieldChargePerSecond(ShieldGenerator.LEFT_SHIELDS, 25.000000)
ShieldGenerator.SetShieldChargePerSecond(ShieldGenerator.RIGHT_SHIELDS, 25.000000)
App.g_kModelPropertyManager.RegisterLocalTemplate(ShieldGenerator)
#################################################
SensorArray = App.SensorProperty_Create("Sensor Array")

SensorArray.SetMaxCondition(4000.000000)
SensorArray.SetCritical(0)
SensorArray.SetTargetable(1)
SensorArray.SetPrimary(1)
SensorArray.SetPosition(0.000000, 0.574132, -0.011901)
SensorArray.SetPosition2D(65.000000, 23.000000)
SensorArray.SetRepairComplexity(2.000000)
SensorArray.SetDisabledPercentage(0.500000)
SensorArray.SetRadius(0.030000)
SensorArray.SetNormalPowerPerSecond(100.000000)
SensorArray.SetBaseSensorRange(10000.000000)
SensorArray.SetMaxProbes(4)
App.g_kModelPropertyManager.RegisterLocalTemplate(SensorArray)
#################################################
WarpCore = App.PowerProperty_Create("Warp Core")

WarpCore.SetMaxCondition(8000.000000)
WarpCore.SetCritical(1)
WarpCore.SetTargetable(1)
WarpCore.SetPrimary(1)
WarpCore.SetPosition(0.000000, -0.210052, -0.004571)
WarpCore.SetPosition2D(64.000000, 52.000000)
WarpCore.SetRepairComplexity(1.000000)
WarpCore.SetDisabledPercentage(0.500000)
WarpCore.SetRadius(0.020000)
WarpCore.SetMainBatteryLimit(250000.000000)
WarpCore.SetBackupBatteryLimit(80000.000000)
WarpCore.SetMainConduitCapacity(1200.000000)
WarpCore.SetBackupConduitCapacity(200.000000)
WarpCore.SetPowerOutput(1000.000000)
App.g_kModelPropertyManager.RegisterLocalTemplate(WarpCore)
#################################################
Engineering = App.RepairSubsystemProperty_Create("Engineering")

Engineering.SetMaxCondition(6000.000000)
Engineering.SetCritical(0)
Engineering.SetTargetable(0)
Engineering.SetPrimary(1)
Engineering.SetPosition(1.000000, 1.000000, 0.000000)
Engineering.SetPosition2D(64.000000, 80.000000)
Engineering.SetRepairComplexity(4.000000)
Engineering.SetDisabledPercentage(0.100000)
Engineering.SetRadius(0.050000)
Engineering.SetNormalPowerPerSecond(1.000000)
Engineering.SetMaxRepairPoints(40.000000)
Engineering.SetNumRepairTeams(2)
App.g_kModelPropertyManager.RegisterLocalTemplate(Engineering)
#################################################
WarpEngines = App.WarpEngineProperty_Create("Warp Engines")

WarpEngines.SetMaxCondition(6000.000000)
WarpEngines.SetCritical(0)
WarpEngines.SetTargetable(0)
WarpEngines.SetPrimary(1)
WarpEngines.SetPosition(1.000000, 1.000000, 0.000000)
WarpEngines.SetPosition2D(64.000000, 104.000000)
WarpEngines.SetRepairComplexity(3.000000)
WarpEngines.SetDisabledPercentage(0.750000)
WarpEngines.SetRadius(0.050000)
WarpEngines.SetNormalPowerPerSecond(0.000000)
App.g_kModelPropertyManager.RegisterLocalTemplate(WarpEngines)
#################################################
PortWarp = App.EngineProperty_Create("Port Warp")

PortWarp.SetMaxCondition(6000.000000)
PortWarp.SetCritical(0)
PortWarp.SetTargetable(1)
PortWarp.SetPrimary(1)
PortWarp.SetPosition(-0.350000, -0.120000, -0.020000)
PortWarp.SetPosition2D(33.000000, 65.000000)
PortWarp.SetRepairComplexity(3.000000)
PortWarp.SetDisabledPercentage(0.500000)
PortWarp.SetRadius(0.090000)
PortWarp.SetEngineType(PortWarp.EP_WARP)
App.g_kModelPropertyManager.RegisterLocalTemplate(PortWarp)
#################################################
StarWarp = App.EngineProperty_Create("Star Warp")

StarWarp.SetMaxCondition(6000.000000)
StarWarp.SetCritical(0)
StarWarp.SetTargetable(1)
StarWarp.SetPrimary(1)
StarWarp.SetPosition(0.350000, -0.120000, -0.020000)
StarWarp.SetPosition2D(97.000000, 64.000000)
StarWarp.SetRepairComplexity(3.000000)
StarWarp.SetDisabledPercentage(0.500000)
StarWarp.SetRadius(0.090000)
StarWarp.SetEngineType(StarWarp.EP_WARP)
App.g_kModelPropertyManager.RegisterLocalTemplate(StarWarp)
#################################################
ImpulseEngines = App.ImpulseEngineProperty_Create("Impulse Engines")

ImpulseEngines.SetMaxCondition(2500.000000)
ImpulseEngines.SetCritical(0)
ImpulseEngines.SetTargetable(0)
ImpulseEngines.SetPrimary(1)
ImpulseEngines.SetPosition(1.000000, 1.000000, 1.000000)
ImpulseEngines.SetPosition2D(64.000000, 104.000000)
ImpulseEngines.SetRepairComplexity(4.000000)
ImpulseEngines.SetDisabledPercentage(0.500000)
ImpulseEngines.SetRadius(0.050000)
ImpulseEngines.SetNormalPowerPerSecond(100.000000)
ImpulseEngines.SetMaxAccel(6.000000)
ImpulseEngines.SetMaxAngularAccel(0.500000)
ImpulseEngines.SetMaxAngularVelocity(0.800000)
ImpulseEngines.SetMaxSpeed(8.500000)
ImpulseEngines.SetEngineSound("Federation Engines")
App.g_kModelPropertyManager.RegisterLocalTemplate(ImpulseEngines)
#################################################
PortImpulse = App.EngineProperty_Create("Port Impulse")

PortImpulse.SetMaxCondition(3000.000000)
PortImpulse.SetCritical(0)
PortImpulse.SetTargetable(1)
PortImpulse.SetPrimary(1)
PortImpulse.SetPosition(-0.218000, -0.360000, 0.007000)
PortImpulse.SetPosition2D(42.000000, 93.000000)
PortImpulse.SetRepairComplexity(3.000000)
PortImpulse.SetDisabledPercentage(0.500000)
PortImpulse.SetRadius(0.033000)
PortImpulse.SetEngineType(PortImpulse.EP_IMPULSE)
App.g_kModelPropertyManager.RegisterLocalTemplate(PortImpulse)
#################################################
StarImpulse = App.EngineProperty_Create("Star Impulse")

StarImpulse.SetMaxCondition(3000.000000)
StarImpulse.SetCritical(0)
StarImpulse.SetTargetable(1)
StarImpulse.SetPrimary(1)
StarImpulse.SetPosition(0.218000, -0.360000, 0.007000)
StarImpulse.SetPosition2D(86.000000, 93.000000)
StarImpulse.SetRepairComplexity(3.000000)
StarImpulse.SetDisabledPercentage(0.500000)
StarImpulse.SetRadius(0.033000)
StarImpulse.SetEngineType(StarImpulse.EP_IMPULSE)
App.g_kModelPropertyManager.RegisterLocalTemplate(StarImpulse)
#################################################
Torpedoes = App.TorpedoSystemProperty_Create("Torpedoes")

Torpedoes.SetMaxCondition(2500.000000)
Torpedoes.SetCritical(0)
Torpedoes.SetTargetable(0)
Torpedoes.SetPrimary(1)
Torpedoes.SetPosition(1.000000, 1.000000, 0.000000)
Torpedoes.SetPosition2D(64.000000, 10.000000)
Torpedoes.SetRepairComplexity(3.000000)
Torpedoes.SetDisabledPercentage(0.750000)
Torpedoes.SetRadius(0.050000)
Torpedoes.SetNormalPowerPerSecond(50.000000)
Torpedoes.SetWeaponSystemType(Torpedoes.WST_TORPEDO)
Torpedoes.SetSingleFire(0)
Torpedoes.SetAimedWeapon(1)
kFiringChainString = App.TGString()
kFiringChainString.SetString("0;Single;13;Dual")
Torpedoes.SetFiringChainString(kFiringChainString)
Torpedoes.SetMaxTorpedoes(0, 60)
Torpedoes.SetTorpedoScript(0, "Tactical.Projectiles.QuantumTorpedo")
Torpedoes.SetNumAmmoTypes(1)
App.g_kModelPropertyManager.RegisterLocalTemplate(Torpedoes)
#################################################
FwdTorpedo1 = App.TorpedoTubeProperty_Create("Fwd Torpedo 1")

FwdTorpedo1.SetMaxCondition(2500.000000)
FwdTorpedo1.SetCritical(0)
FwdTorpedo1.SetTargetable(1)
FwdTorpedo1.SetPrimary(1)
FwdTorpedo1.SetPosition(-0.197000, 0.320000, 0.017000)
FwdTorpedo1.SetPosition2D(50.000000, 12.000000)
FwdTorpedo1.SetRepairComplexity(2.000000)
FwdTorpedo1.SetDisabledPercentage(0.500000)
FwdTorpedo1.SetRadius(0.030000)
FwdTorpedo1.SetDumbfire(1)
FwdTorpedo1.SetWeaponID(0)
FwdTorpedo1.SetGroups(1)
FwdTorpedo1.SetDamageRadiusFactor(0.060000)
FwdTorpedo1.SetIconNum(370)
FwdTorpedo1.SetIconPositionX(68.000000)
FwdTorpedo1.SetIconPositionY(47.000000)
FwdTorpedo1.SetIconAboveShip(1)
FwdTorpedo1.SetImmediateDelay(0.250000)
FwdTorpedo1.SetReloadDelay(25.000000)
FwdTorpedo1.SetMaxReady(2)
FwdTorpedo1Direction = App.TGPoint3()
FwdTorpedo1Direction.SetXYZ(0.000000, 1.000000, 0.000000)
FwdTorpedo1.SetDirection(FwdTorpedo1Direction)
FwdTorpedo1Right = App.TGPoint3()
FwdTorpedo1Right.SetXYZ(0.000000, 0.000000, 1.000000)
FwdTorpedo1.SetRight(FwdTorpedo1Right)
App.g_kModelPropertyManager.RegisterLocalTemplate(FwdTorpedo1)
#################################################
FwdTorpedo2 = App.TorpedoTubeProperty_Create("Fwd Torpedo 2")

FwdTorpedo2.SetMaxCondition(2500.000000)
FwdTorpedo2.SetCritical(0)
FwdTorpedo2.SetTargetable(1)
FwdTorpedo2.SetPrimary(1)
FwdTorpedo2.SetPosition(0.197000, 0.320000, 0.017000)
FwdTorpedo2.SetPosition2D(79.000000, 12.000000)
FwdTorpedo2.SetRepairComplexity(2.000000)
FwdTorpedo2.SetDisabledPercentage(0.500000)
FwdTorpedo2.SetRadius(0.030000)
FwdTorpedo2.SetDumbfire(1)
FwdTorpedo2.SetWeaponID(1)
FwdTorpedo2.SetGroups(1)
FwdTorpedo2.SetDamageRadiusFactor(0.060000)
FwdTorpedo2.SetIconNum(370)
FwdTorpedo2.SetIconPositionX(88.000000)
FwdTorpedo2.SetIconPositionY(47.000000)
FwdTorpedo2.SetIconAboveShip(1)
FwdTorpedo2.SetImmediateDelay(0.250000)
FwdTorpedo2.SetReloadDelay(25.000000)
FwdTorpedo2.SetMaxReady(2)
FwdTorpedo2Direction = App.TGPoint3()
FwdTorpedo2Direction.SetXYZ(0.000000, 1.000000, 0.000000)
FwdTorpedo2.SetDirection(FwdTorpedo2Direction)
FwdTorpedo2Right = App.TGPoint3()
FwdTorpedo2Right.SetXYZ(0.000000, 0.000000, 1.000000)
FwdTorpedo2.SetRight(FwdTorpedo2Right)
App.g_kModelPropertyManager.RegisterLocalTemplate(FwdTorpedo2)
#################################################
AftTorpedo1 = App.TorpedoTubeProperty_Create("Aft Torpedo 1")

AftTorpedo1.SetMaxCondition(2500.000000)
AftTorpedo1.SetCritical(0)
AftTorpedo1.SetTargetable(1)
AftTorpedo1.SetPrimary(1)
AftTorpedo1.SetPosition(-0.083086, -0.595037, 0.016432)
AftTorpedo1.SetPosition2D(65.000000, 104.000000)
AftTorpedo1.SetRepairComplexity(2.000000)
AftTorpedo1.SetDisabledPercentage(0.500000)
AftTorpedo1.SetRadius(0.030000)
AftTorpedo1.SetDumbfire(1)
AftTorpedo1.SetWeaponID(2)
AftTorpedo1.SetGroups(1)
AftTorpedo1.SetDamageRadiusFactor(0.060000)
AftTorpedo1.SetIconNum(370)
AftTorpedo1.SetIconPositionX(68.000000)
AftTorpedo1.SetIconPositionY(122.000000)
AftTorpedo1.SetIconAboveShip(1)
AftTorpedo1.SetImmediateDelay(0.250000)
AftTorpedo1.SetReloadDelay(25.000000)
AftTorpedo1.SetMaxReady(2)
AftTorpedo1Direction = App.TGPoint3()
AftTorpedo1Direction.SetXYZ(0.000000, -1.000000, 0.000000)
AftTorpedo1.SetDirection(AftTorpedo1Direction)
AftTorpedo1Right = App.TGPoint3()
AftTorpedo1Right.SetXYZ(0.000000, 0.000000, 1.000000)
AftTorpedo1.SetRight(AftTorpedo1Right)
App.g_kModelPropertyManager.RegisterLocalTemplate(AftTorpedo1)
#################################################
AftTorpedo2 = App.TorpedoTubeProperty_Create("Aft Torpedo 2")

AftTorpedo2.SetMaxCondition(2500.000000)
AftTorpedo2.SetCritical(0)
AftTorpedo2.SetTargetable(1)
AftTorpedo2.SetPrimary(1)
AftTorpedo2.SetPosition(0.083086, -0.595037, 0.016432)
AftTorpedo2.SetPosition2D(65.000000, 104.000000)
AftTorpedo2.SetRepairComplexity(2.000000)
AftTorpedo2.SetDisabledPercentage(0.500000)
AftTorpedo2.SetRadius(0.030000)
AftTorpedo2.SetDumbfire(1)
AftTorpedo2.SetWeaponID(2)
AftTorpedo2.SetGroups(1)
AftTorpedo2.SetDamageRadiusFactor(0.060000)
AftTorpedo2.SetIconNum(370)
AftTorpedo2.SetIconPositionX(88.000000)
AftTorpedo2.SetIconPositionY(122.000000)
AftTorpedo2.SetIconAboveShip(1)
AftTorpedo2.SetImmediateDelay(0.250000)
AftTorpedo2.SetReloadDelay(25.000000)
AftTorpedo2.SetMaxReady(2)
AftTorpedo2Direction = App.TGPoint3()
AftTorpedo2Direction.SetXYZ(0.000000, -1.000000, 0.000000)
AftTorpedo2.SetDirection(AftTorpedo2Direction)
AftTorpedo2Right = App.TGPoint3()
AftTorpedo2Right.SetXYZ(0.000000, 0.000000, 1.000000)
AftTorpedo2.SetRight(AftTorpedo2Right)
App.g_kModelPropertyManager.RegisterLocalTemplate(AftTorpedo2)
#################################################
PulsePhasers = App.WeaponSystemProperty_Create("Pulse Phasers")

PulsePhasers.SetMaxCondition(2000.000000)
PulsePhasers.SetCritical(0)
PulsePhasers.SetTargetable(0)
PulsePhasers.SetPrimary(1)
PulsePhasers.SetPosition(1.000000, 1.000000, 1.000000)
PulsePhasers.SetPosition2D(64.000000, 44.000000)
PulsePhasers.SetRepairComplexity(3.000000)
PulsePhasers.SetDisabledPercentage(0.600000)
PulsePhasers.SetRadius(0.050000)
PulsePhasers.SetNormalPowerPerSecond(100.000000)
PulsePhasers.SetWeaponSystemType(PulsePhasers.WST_PULSE)
PulsePhasers.SetSingleFire(0)
PulsePhasers.SetAimedWeapon(0)
kFiringChainString = App.TGString()
kFiringChainString.SetString("12345;Single")
PulsePhasers.SetFiringChainString(kFiringChainString)
App.g_kModelPropertyManager.RegisterLocalTemplate(PulsePhasers)
#################################################
PortCannon1 = App.PulseWeaponProperty_Create("Port Cannon 1")

PortCannon1.SetMaxCondition(2000.000000)
PortCannon1.SetCritical(0)
PortCannon1.SetTargetable(1)
PortCannon1.SetPrimary(1)
PortCannon1.SetPosition(-0.313000, 0.070000, 0.041000)
PortCannon1.SetPosition2D(41.000000, 21.000000)
PortCannon1.SetRepairComplexity(2.000000)
PortCannon1.SetDisabledPercentage(0.250000)
PortCannon1.SetRadius(0.020000)
PortCannon1.SetDumbfire(1)
PortCannon1.SetWeaponID(2)
PortCannon1.SetGroups(1)
PortCannon1.SetDamageRadiusFactor(0.050000)
PortCannon1.SetIconNum(365)
PortCannon1.SetIconPositionX(53.000000)
PortCannon1.SetIconPositionY(55.000000)
PortCannon1.SetIconAboveShip(1)
PortCannon1.SetFireSound("Pulse Phaser")
PortCannon1.SetMaxCharge(6.000000)
PortCannon1.SetMaxDamage(200.000000)
PortCannon1.SetMaxDamageDistance(100.000000)
PortCannon1.SetMinFiringCharge(5.000000)
PortCannon1.SetNormalDischargeRate(1.000000)
PortCannon1.SetRechargeRate(0.800000)
PortCannon1.SetIndicatorIconNum(0)
PortCannon1.SetIndicatorIconPositionX(0.000000)
PortCannon1.SetIndicatorIconPositionY(0.000000)
PortCannon1Forward = App.TGPoint3()
PortCannon1Forward.SetXYZ(0.000000, 1.000000, 0.000000)
PortCannon1Up = App.TGPoint3()
PortCannon1Up.SetXYZ(0.000000, 0.000000, 1.000000)
PortCannon1.SetOrientation(PortCannon1Forward, PortCannon1Up)
PortCannon1.SetArcWidthAngles(-0.261799, 0.261799)
PortCannon1.SetArcHeightAngles(-0.261799, 0.261799)
PortCannon1.SetCooldownTime(0.100000)
PortCannon1.SetModuleName("Tactical.Projectiles.PulsePhaser")
App.g_kModelPropertyManager.RegisterLocalTemplate(PortCannon1)
#################################################
PortCannon2 = App.PulseWeaponProperty_Create("Port Cannon 2")

PortCannon2.SetMaxCondition(2000.000000)
PortCannon2.SetCritical(0)
PortCannon2.SetTargetable(1)
PortCannon2.SetPrimary(1)
PortCannon2.SetPosition(-0.237000, 0.010000, -0.075000)
PortCannon2.SetPosition2D(36.000000, 26.000000)
PortCannon2.SetRepairComplexity(2.000000)
PortCannon2.SetDisabledPercentage(0.250000)
PortCannon2.SetRadius(0.020000)
PortCannon2.SetDumbfire(1)
PortCannon2.SetWeaponID(1)
PortCannon2.SetGroups(1)
PortCannon2.SetDamageRadiusFactor(0.050000)
PortCannon2.SetIconNum(365)
PortCannon2.SetIconPositionX(58.000000)
PortCannon2.SetIconPositionY(55.000000)
PortCannon2.SetIconAboveShip(1)
PortCannon2.SetFireSound("Pulse Phaser")
PortCannon2.SetMaxCharge(6.000000)
PortCannon2.SetMaxDamage(200.000000)
PortCannon2.SetMaxDamageDistance(100.000000)
PortCannon2.SetMinFiringCharge(5.000000)
PortCannon2.SetNormalDischargeRate(1.000000)
PortCannon2.SetRechargeRate(0.800000)
PortCannon2.SetIndicatorIconNum(0)
PortCannon2.SetIndicatorIconPositionX(0.000000)
PortCannon2.SetIndicatorIconPositionY(0.000000)
PortCannon2Forward = App.TGPoint3()
PortCannon2Forward.SetXYZ(0.000000, 1.000000, 0.000000)
PortCannon2Up = App.TGPoint3()
PortCannon2Up.SetXYZ(0.000000, 0.000000, 1.000000)
PortCannon2.SetOrientation(PortCannon2Forward, PortCannon2Up)
PortCannon2.SetArcWidthAngles(-0.261799, 0.261799)
PortCannon2.SetArcHeightAngles(-0.261799, 0.261799)
PortCannon2.SetCooldownTime(0.100000)
PortCannon2.SetModuleName("Tactical.Projectiles.PulsePhaser")
App.g_kModelPropertyManager.RegisterLocalTemplate(PortCannon2)
#################################################
StarCannon1 = App.PulseWeaponProperty_Create("Star Cannon 1")

StarCannon1.SetMaxCondition(2000.000000)
StarCannon1.SetCritical(0)
StarCannon1.SetTargetable(1)
StarCannon1.SetPrimary(1)
StarCannon1.SetPosition(0.313000, 0.070000, 0.041000)
StarCannon1.SetPosition2D(87.000000, 21.000000)
StarCannon1.SetRepairComplexity(2.000000)
StarCannon1.SetDisabledPercentage(0.250000)
StarCannon1.SetRadius(0.020000)
StarCannon1.SetDumbfire(1)
StarCannon1.SetWeaponID(1)
StarCannon1.SetGroups(1)
StarCannon1.SetDamageRadiusFactor(0.100000)
StarCannon1.SetIconNum(365)
StarCannon1.SetIconPositionX(100.000000)
StarCannon1.SetIconPositionY(55.000000)
StarCannon1.SetIconAboveShip(1)
StarCannon1.SetFireSound("Pulse Phaser")
StarCannon1.SetMaxCharge(6.000000)
StarCannon1.SetMaxDamage(200.000000)
StarCannon1.SetMaxDamageDistance(100.000000)
StarCannon1.SetMinFiringCharge(5.000000)
StarCannon1.SetNormalDischargeRate(1.000000)
StarCannon1.SetRechargeRate(0.800000)
StarCannon1.SetIndicatorIconNum(0)
StarCannon1.SetIndicatorIconPositionX(0.000000)
StarCannon1.SetIndicatorIconPositionY(0.000000)
StarCannon1Forward = App.TGPoint3()
StarCannon1Forward.SetXYZ(0.000000, 1.000000, 0.000000)
StarCannon1Up = App.TGPoint3()
StarCannon1Up.SetXYZ(0.000000, 0.000000, 1.000000)
StarCannon1.SetOrientation(StarCannon1Forward, StarCannon1Up)
StarCannon1.SetArcWidthAngles(-0.261799, 0.261799)
StarCannon1.SetArcHeightAngles(-0.261799, 0.261799)
StarCannon1.SetCooldownTime(0.100000)
StarCannon1.SetModuleName("Tactical.Projectiles.PulsePhaser")
App.g_kModelPropertyManager.RegisterLocalTemplate(StarCannon1)
#################################################
StarCannon2 = App.PulseWeaponProperty_Create("Star Cannon 2")

StarCannon2.SetMaxCondition(2000.000000)
StarCannon2.SetCritical(0)
StarCannon2.SetTargetable(1)
StarCannon2.SetPrimary(1)
StarCannon2.SetPosition(0.237000, 0.010000, -0.075000)
StarCannon2.SetPosition2D(92.000000, 26.000000)
StarCannon2.SetRepairComplexity(2.000000)
StarCannon2.SetDisabledPercentage(0.250000)
StarCannon2.SetRadius(0.030000)
StarCannon2.SetDumbfire(1)
StarCannon2.SetWeaponID(2)
StarCannon2.SetGroups(1)
StarCannon2.SetDamageRadiusFactor(0.050000)
StarCannon2.SetIconNum(365)
StarCannon2.SetIconPositionX(95.000000)
StarCannon2.SetIconPositionY(55.000000)
StarCannon2.SetIconAboveShip(1)
StarCannon2.SetFireSound("Pulse Phaser")
StarCannon2.SetMaxCharge(6.000000)
StarCannon2.SetMaxDamage(200.000000)
StarCannon2.SetMaxDamageDistance(100.000000)
StarCannon2.SetMinFiringCharge(5.000000)
StarCannon2.SetNormalDischargeRate(1.000000)
StarCannon2.SetRechargeRate(0.800000)
StarCannon2.SetIndicatorIconNum(0)
StarCannon2.SetIndicatorIconPositionX(0.000000)
StarCannon2.SetIndicatorIconPositionY(0.000000)
StarCannon2Forward = App.TGPoint3()
StarCannon2Forward.SetXYZ(0.000000, 1.000000, 0.000000)
StarCannon2Up = App.TGPoint3()
StarCannon2Up.SetXYZ(0.000000, 0.000000, 1.000000)
StarCannon2.SetOrientation(StarCannon2Forward, StarCannon2Up)
StarCannon2.SetArcWidthAngles(-0.261799, 0.261799)
StarCannon2.SetArcHeightAngles(-0.261799, 0.261799)
StarCannon2.SetCooldownTime(0.100000)
StarCannon2.SetModuleName("Tactical.Projectiles.PulsePhaser")
App.g_kModelPropertyManager.RegisterLocalTemplate(StarCannon2)
#################################################
Phasers = App.WeaponSystemProperty_Create("Phasers")

Phasers.SetMaxCondition(2000.000000)
Phasers.SetCritical(0)
Phasers.SetTargetable(0)
Phasers.SetPrimary(1)
Phasers.SetPosition(1.000000, 1.000000, 0.000000)
Phasers.SetPosition2D(44.000000, 70.000000)
Phasers.SetRepairComplexity(1.000000)
Phasers.SetDisabledPercentage(0.400000)
Phasers.SetRadius(0.050000)
Phasers.SetNormalPowerPerSecond(250.000000)
Phasers.SetWeaponSystemType(Phasers.WST_PHASER)
Phasers.SetSingleFire(1)
Phasers.SetAimedWeapon(0)
kFiringChainString = App.TGString()
kFiringChainString.SetString("")
Phasers.SetFiringChainString(kFiringChainString)
App.g_kModelPropertyManager.RegisterLocalTemplate(Phasers)
#################################################
DorsalPhaser = App.PhaserProperty_Create("Dorsal Phaser")

DorsalPhaser.SetMaxCondition(2500.000000)
DorsalPhaser.SetCritical(0)
DorsalPhaser.SetTargetable(1)
DorsalPhaser.SetPrimary(1)
DorsalPhaser.SetPosition(0.000000, 0.010000, 0.083320)
DorsalPhaser.SetPosition2D(58.000000, 55.000000)
DorsalPhaser.SetRepairComplexity(2.000000)
DorsalPhaser.SetDisabledPercentage(0.500000)
DorsalPhaser.SetRadius(0.020000)
DorsalPhaser.SetDumbfire(1)
DorsalPhaser.SetWeaponID(4)
DorsalPhaser.SetGroups(0)
DorsalPhaser.SetDamageRadiusFactor(0.040000)
DorsalPhaser.SetIconNum(364)
DorsalPhaser.SetIconPositionX(65.000000)
DorsalPhaser.SetIconPositionY(80.000000)
DorsalPhaser.SetIconAboveShip(1)
DorsalPhaser.SetFireSound("Ambassador Phaser")
DorsalPhaser.SetMaxCharge(1.000000)
DorsalPhaser.SetMaxDamage(1250.000000)
DorsalPhaser.SetMaxDamageDistance(80.000000)
DorsalPhaser.SetMinFiringCharge(1.000000)
DorsalPhaser.SetNormalDischargeRate(1.000000)
DorsalPhaser.SetRechargeRate(0.750000)
DorsalPhaser.SetIndicatorIconNum(510)
DorsalPhaser.SetIndicatorIconPositionX(59.000000)
DorsalPhaser.SetIndicatorIconPositionY(75.000000)
DorsalPhaserForward = App.TGPoint3()
DorsalPhaserForward.SetXYZ(0.000000, 1.000000, 0.000000)
DorsalPhaserUp = App.TGPoint3()
DorsalPhaserUp.SetXYZ(0.000000, 0.000000, 1.000000)
DorsalPhaser.SetOrientation(DorsalPhaserForward, DorsalPhaserUp)
DorsalPhaser.SetWidth(0.010000)
DorsalPhaser.SetLength(0.010000)
DorsalPhaser.SetArcWidthAngles(-1.221731, 1.221731)
DorsalPhaser.SetArcHeightAngles(0.174533, 2.617994)
DorsalPhaser.SetPhaserTextureStart(8)
DorsalPhaser.SetPhaserTextureEnd(15)
DorsalPhaser.SetPhaserWidth(0.300000)
kColor = App.TGColorA()
kColor.SetRGBA(1.000000, 0.501961, 0.031373, 1.000000)
DorsalPhaser.SetOuterShellColor(kColor)
kColor.SetRGBA(1.000000, 0.501961, 0.247059, 1.000000)
DorsalPhaser.SetInnerShellColor(kColor)
kColor.SetRGBA(1.000000, 1.000000, 0.000000, 1.000000)
DorsalPhaser.SetOuterCoreColor(kColor)
kColor.SetRGBA(1.000000, 1.000000, 0.501961, 1.000000)
DorsalPhaser.SetInnerCoreColor(kColor)
DorsalPhaser.SetNumSides(12)
DorsalPhaser.SetMainRadius(0.010000)
DorsalPhaser.SetTaperRadius(0.010000)
DorsalPhaser.SetCoreScale(0.350000)
DorsalPhaser.SetTaperRatio(0.200000)
DorsalPhaser.SetTaperMinLength(5.000000)
DorsalPhaser.SetTaperMaxLength(30.000000)
DorsalPhaser.SetLengthTextureTilePerUnit(0.500000)
DorsalPhaser.SetPerimeterTile(1.000000)
DorsalPhaser.SetTextureSpeed(2.500000)
DorsalPhaser.SetTextureName("data/phaser27d.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(DorsalPhaser)
#################################################
TractorSystem = App.WeaponSystemProperty_Create("Tractor System")

TractorSystem.SetMaxCondition(2500.000000)
TractorSystem.SetCritical(0)
TractorSystem.SetTargetable(0)
TractorSystem.SetPrimary(1)
TractorSystem.SetPosition(1.000000, 1.000000, 0.000000)
TractorSystem.SetPosition2D(0.000000, 0.000000)
TractorSystem.SetRepairComplexity(1.000000)
TractorSystem.SetDisabledPercentage(0.500000)
TractorSystem.SetRadius(0.050000)
TractorSystem.SetNormalPowerPerSecond(300.000000)
TractorSystem.SetWeaponSystemType(TractorSystem.WST_TRACTOR)
TractorSystem.SetSingleFire(1)
TractorSystem.SetAimedWeapon(0)
kFiringChainString = App.TGString()
kFiringChainString.SetString("")
TractorSystem.SetFiringChainString(kFiringChainString)
App.g_kModelPropertyManager.RegisterLocalTemplate(TractorSystem)
#################################################
ForeTractor = App.TractorBeamProperty_Create("Fore Tractor")

ForeTractor.SetMaxCondition(2500.000000)
ForeTractor.SetCritical(0)
ForeTractor.SetTargetable(1)
ForeTractor.SetPrimary(1)
ForeTractor.SetPosition(0.000000, 0.575000, -0.021000)
ForeTractor.SetPosition2D(87.000000, 7.000000)
ForeTractor.SetRepairComplexity(4.000000)
ForeTractor.SetDisabledPercentage(0.250000)
ForeTractor.SetRadius(0.030000)
ForeTractor.SetDumbfire(0)
ForeTractor.SetWeaponID(0)
ForeTractor.SetGroups(0)
ForeTractor.SetDamageRadiusFactor(0.300000)
ForeTractor.SetIconNum(0)
ForeTractor.SetIconPositionX(0.000000)
ForeTractor.SetIconPositionY(0.000000)
ForeTractor.SetIconAboveShip(1)
ForeTractor.SetFireSound("Tractor Beam")
ForeTractor.SetMaxCharge(5.000000)
ForeTractor.SetMaxDamage(250.000000)
ForeTractor.SetMaxDamageDistance(125.000000)
ForeTractor.SetMinFiringCharge(3.000000)
ForeTractor.SetNormalDischargeRate(1.000000)
ForeTractor.SetRechargeRate(0.300000)
ForeTractor.SetIndicatorIconNum(0)
ForeTractor.SetIndicatorIconPositionX(0.000000)
ForeTractor.SetIndicatorIconPositionY(0.000000)
ForeTractorForward = App.TGPoint3()
ForeTractorForward.SetXYZ(0.000000, 0.980581, -0.196116)
ForeTractorUp = App.TGPoint3()
ForeTractorUp.SetXYZ(0.000000, 0.000000, 1.000000)
ForeTractor.SetOrientation(ForeTractorForward, ForeTractorUp)
ForeTractor.SetArcWidthAngles(-0.349066, 0.349066)
ForeTractor.SetArcHeightAngles(-0.349066, 0.349066)
ForeTractor.SetTractorBeamWidth(0.300000)
ForeTractor.SetTextureStart(0)
ForeTractor.SetTextureEnd(0)
ForeTractor.SetTextureName("data/Textures/Tactical/TractorBeam.tga")
kColor = App.TGColorA()
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
ForeTractor.SetOuterShellColor(kColor)
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
ForeTractor.SetInnerShellColor(kColor)
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
ForeTractor.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
ForeTractor.SetInnerCoreColor(kColor)
ForeTractor.SetNumSides(12)
ForeTractor.SetMainRadius(0.075000)
ForeTractor.SetTaperRadius(0.000000)
ForeTractor.SetCoreScale(0.450000)
ForeTractor.SetTaperRatio(0.200000)
ForeTractor.SetTaperMinLength(1.000000)
ForeTractor.SetTaperMaxLength(30.000000)
ForeTractor.SetLengthTextureTilePerUnit(0.250000)
ForeTractor.SetPerimeterTile(1.000000)
ForeTractor.SetTextureSpeed(0.200000)
ForeTractor.SetTextureName("data/Textures/Tactical/TractorBeam.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(ForeTractor)
#################################################
AftTractor = App.TractorBeamProperty_Create("Aft Tractor")

AftTractor.SetMaxCondition(2500.000000)
AftTractor.SetCritical(0)
AftTractor.SetTargetable(1)
AftTractor.SetPrimary(1)
AftTractor.SetPosition(0.000000, 0.033000, -0.025000)
AftTractor.SetPosition2D(49.000000, 102.000000)
AftTractor.SetRepairComplexity(4.000000)
AftTractor.SetDisabledPercentage(0.250000)
AftTractor.SetRadius(0.030000)
AftTractor.SetDumbfire(0)
AftTractor.SetWeaponID(0)
AftTractor.SetGroups(0)
AftTractor.SetDamageRadiusFactor(0.300000)
AftTractor.SetIconNum(0)
AftTractor.SetIconPositionX(0.000000)
AftTractor.SetIconPositionY(0.000000)
AftTractor.SetIconAboveShip(1)
AftTractor.SetFireSound("Tractor Beam")
AftTractor.SetMaxCharge(5.000000)
AftTractor.SetMaxDamage(500.000000)
AftTractor.SetMaxDamageDistance(125.000000)
AftTractor.SetMinFiringCharge(3.000000)
AftTractor.SetNormalDischargeRate(1.000000)
AftTractor.SetRechargeRate(0.300000)
AftTractor.SetIndicatorIconNum(0)
AftTractor.SetIndicatorIconPositionX(0.000000)
AftTractor.SetIndicatorIconPositionY(0.000000)
AftTractorForward = App.TGPoint3()
AftTractorForward.SetXYZ(0.000000, -1.000000, 0.000000)
AftTractorUp = App.TGPoint3()
AftTractorUp.SetXYZ(0.000000, 0.000000, 1.000000)
AftTractor.SetOrientation(AftTractorForward, AftTractorUp)
AftTractor.SetArcWidthAngles(-0.349066, 0.349066)
AftTractor.SetArcHeightAngles(-0.174533, -1.047198)
AftTractor.SetTractorBeamWidth(0.300000)
AftTractor.SetTextureStart(0)
AftTractor.SetTextureEnd(0)
AftTractor.SetTextureName("data/Textures/Tactical/TractorBeam.tga")
kColor = App.TGColorA()
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
AftTractor.SetOuterShellColor(kColor)
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
AftTractor.SetInnerShellColor(kColor)
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
AftTractor.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.400000, 0.400000, 1.000000, 1.000000)
AftTractor.SetInnerCoreColor(kColor)
AftTractor.SetNumSides(12)
AftTractor.SetMainRadius(0.075000)
AftTractor.SetTaperRadius(0.000000)
AftTractor.SetCoreScale(0.450000)
AftTractor.SetTaperRatio(0.200000)
AftTractor.SetTaperMinLength(1.000000)
AftTractor.SetTaperMaxLength(30.000000)
AftTractor.SetLengthTextureTilePerUnit(0.250000)
AftTractor.SetPerimeterTile(1.000000)
AftTractor.SetTextureSpeed(0.200000)
AftTractor.SetTextureName("data/Textures/Tactical/TractorBeam.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(AftTractor)
#################################################
CloakingDevice = App.CloakingSubsystemProperty_Create("Cloaking Device")

CloakingDevice.SetMaxCondition(4000.000000)
CloakingDevice.SetCritical(0)
CloakingDevice.SetTargetable(1)
CloakingDevice.SetPrimary(1)
CloakingDevice.SetPosition(0.000000, 0.250000, 0.000000)
CloakingDevice.SetPosition2D(71.000000, 55.000000)
CloakingDevice.SetRepairComplexity(3.000000)
CloakingDevice.SetDisabledPercentage(0.500000)
CloakingDevice.SetRadius(0.030000)
CloakingDevice.SetNormalPowerPerSecond(300.000000)
CloakingDevice.SetCloakStrength(100.000000)
App.g_kModelPropertyManager.RegisterLocalTemplate(CloakingDevice)
#################################################
ShuttleBay = App.HullProperty_Create("Shuttle Bay")

ShuttleBay.SetMaxCondition(4000.000000)
ShuttleBay.SetCritical(0)
ShuttleBay.SetTargetable(1)
ShuttleBay.SetPrimary(0)
ShuttleBay.SetPosition(0.000000, 0.032000, -0.020000)
ShuttleBay.SetPosition2D(64.000000, 68.000000)
ShuttleBay.SetRepairComplexity(3.000000)
ShuttleBay.SetDisabledPercentage(0.250000)
ShuttleBay.SetRadius(0.100000)
App.g_kModelPropertyManager.RegisterLocalTemplate(ShuttleBay)
#################################################
ShuttleBayOEP = App.ObjectEmitterProperty_Create("Shuttle Bay OEP")

ShuttleBayOEPForward = App.TGPoint3()
ShuttleBayOEPForward.SetXYZ(0.000000, 0.894427, -0.447214)
ShuttleBayOEPUp = App.TGPoint3()
ShuttleBayOEPUp.SetXYZ(0.000000, 1.000000, 0.000000)
ShuttleBayOEPRight = App.TGPoint3()
ShuttleBayOEPRight.SetXYZ(1.000000, 0.000000, 0.000000)
ShuttleBayOEP.SetOrientation(ShuttleBayOEPForward, ShuttleBayOEPUp, ShuttleBayOEPRight)
ShuttleBayOEPPosition = App.TGPoint3()
ShuttleBayOEPPosition.SetXYZ(0.000000, 0.032000, -0.050000)
ShuttleBayOEP.SetPosition(ShuttleBayOEPPosition)
ShuttleBayOEP.SetEmittedObjectType(ShuttleBayOEP.OEP_SHUTTLE)
App.g_kModelPropertyManager.RegisterLocalTemplate(ShuttleBayOEP)
#################################################
ProbeLauncher = App.ObjectEmitterProperty_Create("Probe Launcher")

ProbeLauncherForward = App.TGPoint3()
ProbeLauncherForward.SetXYZ(0.000000, 1.000000, 0.000000)
ProbeLauncherUp = App.TGPoint3()
ProbeLauncherUp.SetXYZ(0.000000, 0.000000, 1.000000)
ProbeLauncherRight = App.TGPoint3()
ProbeLauncherRight.SetXYZ(1.000000, 0.000000, 0.000000)
ProbeLauncher.SetOrientation(ProbeLauncherForward, ProbeLauncherUp, ProbeLauncherRight)
ProbeLauncherPosition = App.TGPoint3()
ProbeLauncherPosition.SetXYZ(0.000000, 0.577127, -0.022371)
ProbeLauncher.SetPosition(ProbeLauncherPosition)
ProbeLauncher.SetEmittedObjectType(ProbeLauncher.OEP_PROBE)
App.g_kModelPropertyManager.RegisterLocalTemplate(ProbeLauncher)
#################################################
Defiant = App.ShipProperty_Create("Defiant")

Defiant.SetGenus(1)
Defiant.SetSpecies(401)
Defiant.SetMass(50.000000)
Defiant.SetRotationalInertia(10000.000000)
Defiant.SetShipName("Defiant")
Defiant.SetModelFilename("data/Models/Ships/Defiant/Defiant.nif")
Defiant.SetDamageResolution(6.000000)
Defiant.SetAffiliation(0)
Defiant.SetStationary(0)
Defiant.SetAIString("NonFedAttack")
Defiant.SetDeathExplosionSound("g_lsDeathExplosions")
App.g_kModelPropertyManager.RegisterLocalTemplate(Defiant)
#################################################
ViewscreenForward = App.PositionOrientationProperty_Create("ViewscreenForward")

ViewscreenForwardForward = App.TGPoint3()
ViewscreenForwardForward.SetXYZ(0.000000, 1.000000, 0.000000)
ViewscreenForwardUp = App.TGPoint3()
ViewscreenForwardUp.SetXYZ(0.000000, 0.000000, 1.000000)
ViewscreenForwardRight = App.TGPoint3()
ViewscreenForwardRight.SetXYZ(1.000000, 0.000000, 0.000000)
ViewscreenForward.SetOrientation(ViewscreenForwardForward, ViewscreenForwardUp, ViewscreenForwardRight)
ViewscreenForwardPosition = App.TGPoint3()
ViewscreenForwardPosition.SetXYZ(0.000000, 0.200000, 0.080000)
ViewscreenForward.SetPosition(ViewscreenForwardPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(ViewscreenForward)
#################################################
ViewscreenBack = App.PositionOrientationProperty_Create("ViewscreenBack")

ViewscreenBackForward = App.TGPoint3()
ViewscreenBackForward.SetXYZ(0.000000, -1.000000, 0.000000)
ViewscreenBackUp = App.TGPoint3()
ViewscreenBackUp.SetXYZ(0.000000, 0.000000, 1.000000)
ViewscreenBackRight = App.TGPoint3()
ViewscreenBackRight.SetXYZ(-1.000000, 0.000000, 0.000000)
ViewscreenBack.SetOrientation(ViewscreenBackForward, ViewscreenBackUp, ViewscreenBackRight)
ViewscreenBackPosition = App.TGPoint3()
ViewscreenBackPosition.SetXYZ(0.000000, -0.460000, 0.070000)
ViewscreenBack.SetPosition(ViewscreenBackPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(ViewscreenBack)
#################################################
ViewscreenLeft = App.PositionOrientationProperty_Create("ViewscreenLeft")

ViewscreenLeftForward = App.TGPoint3()
ViewscreenLeftForward.SetXYZ(-1.000000, 0.000000, 0.000000)
ViewscreenLeftUp = App.TGPoint3()
ViewscreenLeftUp.SetXYZ(0.000000, 0.000000, 1.000000)
ViewscreenLeftRight = App.TGPoint3()
ViewscreenLeftRight.SetXYZ(0.000000, 1.000000, 0.000000)
ViewscreenLeft.SetOrientation(ViewscreenLeftForward, ViewscreenLeftUp, ViewscreenLeftRight)
ViewscreenLeftPosition = App.TGPoint3()
ViewscreenLeftPosition.SetXYZ(-0.160000, 0.050000, 0.080000)
ViewscreenLeft.SetPosition(ViewscreenLeftPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(ViewscreenLeft)
#################################################
ViewscreenRight = App.PositionOrientationProperty_Create("ViewscreenRight")

ViewscreenRightForward = App.TGPoint3()
ViewscreenRightForward.SetXYZ(1.000000, 0.000000, 0.000000)
ViewscreenRightUp = App.TGPoint3()
ViewscreenRightUp.SetXYZ(0.000000, 0.000000, 1.000000)
ViewscreenRightRight = App.TGPoint3()
ViewscreenRightRight.SetXYZ(0.000000, -1.000000, 0.000000)
ViewscreenRight.SetOrientation(ViewscreenRightForward, ViewscreenRightUp, ViewscreenRightRight)
ViewscreenRightPosition = App.TGPoint3()
ViewscreenRightPosition.SetXYZ(0.160000, 0.050000, 0.080000)
ViewscreenRight.SetPosition(ViewscreenRightPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(ViewscreenRight)
#################################################
ViewscreenUp = App.PositionOrientationProperty_Create("ViewscreenUp")

ViewscreenUpForward = App.TGPoint3()
ViewscreenUpForward.SetXYZ(0.000000, 0.000000, 1.000000)
ViewscreenUpUp = App.TGPoint3()
ViewscreenUpUp.SetXYZ(0.000000, -1.000000, 0.000000)
ViewscreenUpRight = App.TGPoint3()
ViewscreenUpRight.SetXYZ(1.000000, 0.000000, 0.000000)
ViewscreenUp.SetOrientation(ViewscreenUpForward, ViewscreenUpUp, ViewscreenUpRight)
ViewscreenUpPosition = App.TGPoint3()
ViewscreenUpPosition.SetXYZ(0.000000, 0.000000, 0.100000)
ViewscreenUp.SetPosition(ViewscreenUpPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(ViewscreenUp)
#################################################
ViewscreenDown = App.PositionOrientationProperty_Create("ViewscreenDown")

ViewscreenDownForward = App.TGPoint3()
ViewscreenDownForward.SetXYZ(0.000000, 0.000000, -1.000000)
ViewscreenDownUp = App.TGPoint3()
ViewscreenDownUp.SetXYZ(0.000000, 1.000000, 0.000000)
ViewscreenDownRight = App.TGPoint3()
ViewscreenDownRight.SetXYZ(1.000000, 0.000000, 0.000000)
ViewscreenDown.SetOrientation(ViewscreenDownForward, ViewscreenDownUp, ViewscreenDownRight)
ViewscreenDownPosition = App.TGPoint3()
ViewscreenDownPosition.SetXYZ(0.000000, 0.000000, -0.040000)
ViewscreenDown.SetPosition(ViewscreenDownPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(ViewscreenDown)
#################################################
FirstPersonCamera = App.PositionOrientationProperty_Create("FirstPersonCamera")

FirstPersonCameraForward = App.TGPoint3()
FirstPersonCameraForward.SetXYZ(0.000000, 1.000000, 0.000000)
FirstPersonCameraUp = App.TGPoint3()
FirstPersonCameraUp.SetXYZ(0.000000, 0.000000, 1.000000)
FirstPersonCameraRight = App.TGPoint3()
FirstPersonCameraRight.SetXYZ(1.000000, 0.000000, 0.000000)
FirstPersonCamera.SetOrientation(FirstPersonCameraForward, FirstPersonCameraUp, FirstPersonCameraRight)
FirstPersonCameraPosition = App.TGPoint3()
FirstPersonCameraPosition.SetXYZ(0.000000, 0.200000, 0.080000)
FirstPersonCamera.SetPosition(FirstPersonCameraPosition)
App.g_kModelPropertyManager.RegisterLocalTemplate(FirstPersonCamera)

# Property load function.
def LoadPropertySet(pObj):
"Sets up the object's properties."
prop = App.g_kModelPropertyManager.FindByName("Hull", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Ablative Armor", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Shield Generator", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Sensor Array", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Warp Core", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Engineering", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Warp Engines", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Port Warp", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Star Warp", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Impulse Engines", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Port Impulse", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Star Impulse", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Torpedoes", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Fwd Torpedo 1", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Fwd Torpedo 2", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Aft Torpedo 1", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Aft Torpedo 2", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Pulse Phasers", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Port Cannon 1", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Port Cannon 2", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Star Cannon 1", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Star Cannon 2", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Phasers", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Dorsal Phaser", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Tractor System", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Fore Tractor", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Aft Tractor", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Cloaking Device", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Shuttle Bay", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Shuttle Bay OEP", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Probe Launcher", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("Defiant", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("ViewscreenForward", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("ViewscreenBack", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("ViewscreenLeft", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("ViewscreenRight", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("ViewscreenUp", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("ViewscreenDown", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)
prop = App.g_kModelPropertyManager.FindByName("FirstPersonCamera", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pObj.AddToSet("Scene Root", prop)

As you can see, I go by:

* Hull

* Shield Generator

* Sensors

* Power system

* Repair system

* Warp engines

* Impulse Engines

* Torpedoes

* Pulse Weapons

* Beam weapons

* Tractor system

* Other hull properties (cloaks for example)

* Shuttle Bay

* Probe Launcher

* Ship property

* Viewscreen properties

Offline Mario

  • Senior Software Developer
  • Administrator
  • Posts: 2186
  • Cookies: 1706
  • Life is life
Re: Uniform sorting of the subsystems in the hardpoints
« Reply #4 on: March 23, 2018, 04:22:26 PM »
Yeah I'm OCD about Sorting those myself. EX:


Please use code and spoiler tags.
Acta, non verba.
aka USS Sovereign

Offline JimmyB76

  • Posts: 6423
  • Cookies: 421
Re: Uniform sorting of the subsystems in the hardpoints
« Reply #5 on: March 23, 2018, 06:29:34 PM »
i totally agree about organized systems menus...

for example, this is how i have all my installs...

Offline Mark McWire

  • Posts: 83
  • Cookies: 1010
Re: Uniform sorting of the subsystems in the hardpoints
« Reply #6 on: March 24, 2018, 04:27:34 AM »
I've been thinking for a long time what the logical order is. I'll explain why I chose this order. In the first place, I always put the ship property, because there the spaceship itself is defined. So I can never forget that. In second place are the hull properties, as it would be in real construction. In addition, these are not objects of the "Powered Subsystem" type. Object emitters come in third because they do not need any energy either.

Now comes the decisive point for me. I put the warp core in front of the engine room. That makes no sense in real, but is owed to the game engine. The repair subsystem requires energy to function, which is why I basically put the power plant in front of it. So if the spaceship is built in the Construct Mod, the warp core will be completed before any other system that needs energy is built. This prevents the AI from unnecessarily reducing the energy levels of the systems because the warp core is not ready yet.

Then, in the order of the power setting display, the other subsystems come up. I have to say that I changed the order in my mod there and the weapons only come to the end.

First the shields, then sensors and cloaking device (as a logical unit), then the impulse drive, then the warp drive, then the weapons and finally the tractor beams. In the weapons first the torpedo launcher, then the pulse weapons and only at the end the beam weapons. This also has to do with the fact that I apply the beam weapons at new hardpoints until the end, since it is mostly the subsystem with the most children (beams).

I would like to keep it that way if I make new hardpoints for you in the future.



Offline CMDR CHESS

  • Posts: 34
  • Cookies: 3
  • "With the first link, the chain is forged..."
Re: Uniform sorting of the subsystems in the hardpoints
« Reply #7 on: April 09, 2018, 12:22:16 AM »

SHIP.
HULL.
SHUTTLE BAYS, HANGERS.
BRIDGE.
SHEILDS.
CLOAKING.
SENSORS, PROBE LAUNCHER.
WARP CORE/POWER PLANT.
ENGINEERING/REPAIR SYSTEM.
WARP DRIVE.
IMPULSE.
PORT NACELLE.
STAR NACELLE.
PORT IMPULSE.
STAR IMPULSE.
PHASERS/DISRUPTORS SYSTEM.
TRACTOR SYSTEM.
CANNON SYSTEM.
TORPEDO SYSTEM.
PHASERS.
TRACTORS.
CANNONS.
TORPEDOES.
VIEW SCREENS.
BLINKERS.
ANYWAY, with everything ie phasers and view screen having forward, aft, dorsal, ventral, port and starboard (in that order)
And One Question, just to make sure I haven't been screwing up and causing my install to crash on explosions because of the power. For Example my Miranda - Power Output 2500, backup conduit 3125, main conduit 3750, backup battery 4375 and main battery 5000. For a ship with 50000 hull/5000 conditions on all other systems and 250 power, 5000 shield/sensor effective. 500 phaser damage. And like little things like impulse is 2500 condition with 1000 for weapons.

Offline Rob Archer

  • Posts: 163
  • Cookies: 545
  • New Frontier MKVI
Re: Uniform sorting of the subsystems in the hardpoints
« Reply #8 on: April 09, 2018, 09:28:30 AM »
The next step would be to come up with a script that auto sorts the targeting menus.

Offline Morgan

  • Moderator
  • Posts: 1340
  • Cookies: 65535
Re: Uniform sorting of the subsystems in the hardpoints
« Reply #9 on: April 09, 2018, 11:08:10 AM »
I base mine just off of ease of management.  The defense systems (hull, ablative armor, shields) can all get adjusted first and easily go down the line.  Then comes the sensors.  I put the warp core next due to it being close in the file to adjust all the relevant power systems.  Engineering next, because the warp core is in engineering, then the warp engines, impulse engines.

I chose to go torpedoes, pulse systems, and beam weapons because there's usually only a few individual torpedo tubes and pulse systems to adjust, while there's usually about a dozen or so individual beam arrays to adjust.  I'd rather have those later on in the hardpoint.  Tractor systems seemed to be the next logical placement after beam weapons.

Then the oddball stuff because they typically don't have too much function to the actual ship - cloaking devices, shuttle bays, probe launcher are all things that you're probably rarely going to adjust, so they can sit after the more commonly adjusted stuff.  Then the ship and viewscreen properties are rarely, if ever touched, so they sit at the very bottom for me.