nice idea i started that a few weeks ago and hey! it works i have to look into my libary somewhere must be that bit of text adding a deflector beam to a ship....
... ahh there it is as far as i know that works fine last time i tried i fried a cube with one shot :lol: :lol: :lol:
def CreatePhaser(pShip, fDamage):
Position = [0, 0, 0]
Radius = 0.05
SSS = pShip.GetSensorSubsystem()
if SSS:
pos = SSS.GetPositionTG()
if pos:
Position = [pos.GetX(), pos.GetY(), pos.GetZ()]
rad = SSS.GetRadius()
if rad:
Radius = rad
App.g_kModelPropertyManager.ClearLocalTemplates()
PhasedPoleronBeam = App.PhaserProperty_Create("Phased Poleron Beam")
PhasedPoleronBeam.SetMaxCondition(1500.000000)
PhasedPoleronBeam.SetCritical(0)
PhasedPoleronBeam.SetTargetable(1)
PhasedPoleronBeam.SetPrimary(1)
PhasedPoleronBeam.SetPosition(Position[0], Position[1], Position[2])
PhasedPoleronBeam.SetPosition2D(64.000000, 62.304001)
PhasedPoleronBeam.SetRepairComplexity(1.000000)
PhasedPoleronBeam.SetDisabledPercentage(0.250000)
PhasedPoleronBeam.SetRadius(0.200000)
PhasedPoleronBeam.SetDumbfire(0)
PhasedPoleronBeam.SetWeaponID(1)
PhasedPoleronBeam.SetGroups(0)
PhasedPoleronBeam.SetDamageRadiusFactor(0.180000)
PhasedPoleronBeam.SetIconNum(364)
PhasedPoleronBeam.SetIconPositionX(66.000000)
PhasedPoleronBeam.SetIconPositionY(17.000000)
PhasedPoleronBeam.SetIconAboveShip(0)
PhasedPoleronBeam.SetFireSound("Kessok Phaser")
PhasedPoleronBeam.SetMaxCharge(10.00000)
PhasedPoleronBeam.SetMaxDamage(fDamage)
PhasedPoleronBeam.SetMaxDamageDistance(30.000000)
PhasedPoleronBeam.SetMinFiringCharge(10.00000)
PhasedPoleronBeam.SetNormalDischargeRate(0.500000)
PhasedPoleronBeam.SetRechargeRate(0.300000)
PhasedPoleronBeam.SetIndicatorIconNum(510)
PhasedPoleronBeam.SetIndicatorIconPositionX(59.000000)
PhasedPoleronBeam.SetIndicatorIconPositionY(27.000000)
PhasedPoleronBeamForward = App.TGPoint3()
PhasedPoleronBeamForward.SetXYZ(0.000000, 1.000000, 0.000000)
PhasedPoleronBeamUp = App.TGPoint3()
PhasedPoleronBeamUp.SetXYZ(0.000000, 0.000000, 1.000000)
PhasedPoleronBeam.SetOrientation(PhasedPoleronBeamForward, PhasedPoleronBeamUp)
PhasedPoleronBeam.SetWidth(0.010000)
PhasedPoleronBeam.SetLength(0.001000)
PhasedPoleronBeam.SetArcWidthAngles(-0.785398, 0.785398)
PhasedPoleronBeam.SetArcHeightAngles(-0.785398, 0.785398)
PhasedPoleronBeam.SetPhaserTextureStart(16)
PhasedPoleronBeam.SetPhaserTextureEnd(23)
PhasedPoleronBeam.SetPhaserWidth(0.300000)
kColor = App.TGColorA()
kColor.SetRGBA(0.000000, 0.000000, 1.000000, 1.000000)
PhasedPoleronBeam.SetOuterShellColor(kColor)
kColor.SetRGBA(0.000000, 0.501961, 1.000000, 1.000000)
PhasedPoleronBeam.SetInnerShellColor(kColor)
kColor.SetRGBA(0.000000, 0.937255, 1.000000, 1.000000)
PhasedPoleronBeam.SetOuterCoreColor(kColor)
kColor.SetRGBA(0.074510, 1.000000, 1.000000, 1.000000)
PhasedPoleronBeam.SetInnerCoreColor(kColor)
PhasedPoleronBeam.SetNumSides(12)
PhasedPoleronBeam.SetMainRadius(Radius)
PhasedPoleronBeam.SetTaperRadius(Radius * 0.7)
PhasedPoleronBeam.SetCoreScale(0.500000)
PhasedPoleronBeam.SetTaperRatio(0.250000)
PhasedPoleronBeam.SetTaperMinLength(5.000000)
PhasedPoleronBeam.SetTaperMaxLength(30.000000)
PhasedPoleronBeam.SetLengthTextureTilePerUnit(0.050000)
PhasedPoleronBeam.SetPerimeterTile(1.000000)
PhasedPoleronBeam.SetTextureSpeed(2.500000)
PhasedPoleronBeam.SetTextureName("data/eldominionpolaron1.tga")
App.g_kModelPropertyManager.RegisterLocalTemplate(PhasedPoleronBeam)
prop = App.g_kModelPropertyManager.FindByName("Phased Poleron Beam", App.TGModelPropertyManager.LOCAL_TEMPLATES)
if (prop != None):
pShip.GetPropertySet().AddToSet("Scene Root", prop)
pShip.SetupProperties()
the arguments: pShip the App.ShipClass object, fDamage (pretty hard to guess) the damage the phaser does.
running that piece of code adds a blue phaser with the size of your deflector and the position of your defl. to your ship (or any other ship)
but i recommend disablind advanced power control since it can't handle new subsystems wich are added after a ship was created, don't worry i think it only causes some errors in the console you can still have fun, maybe we can/may develop a fix for advanced power control... let's see