Klingon Academy SHP File Tutorial  ************************

 

Revision: 06.06.19 / 15:00     Compiled by Kt’Hyla

 

Table of Contents:  **********************************************

 

Introduction

Ship Name And Class

Movement Statistics

Size And Scale

Power Generation

Resource Definitions

Subtargeting

Cloaking

Resource Hit Points

Murder Suicide Definitions

Random Internal Damage

Damage Parameters

Custom System Parameters

            Shields

Crew, Marines

            Boarding Properties

Legendary Officers

Probes, Shuttles, And Mines

            Fighters

Damage Immunities & Modifiers

Disabled Resources

Weapons Definitions

Ginsu Resource Definitions

Alert Status Resource Links

Resource Activation Times

Interface Screen Definitions

Radar Damage Graphics

Animations And Scene File Definitions

Level Of Detail Range Definitions (LoD)

Texture Location & Debris Folder

AI Personality Definition

 

Appendix:

Renaming Weapons

Weapon Recharge & Spacing

Revision History

 

 

Introduction: ***************************************************

 

Welcome to the SHP File Tutorial for Klingon Academy. This tutorial is based on BSM Amram’s original tutorial, however I felt that some clarification and expansion was needed in certain areas of the text. I will be drawing on his original text, and intermixing it with some of my own.

 

The SHP file is a simple text based file that is used to specify a ship’s parameters for Klingon Academy. Things such as speed, shield strength, weapon outputs and others are controlled from this file. Its setup is in English, and a standard convention is followed to make locating the individual entries easier. This is the simplest component to mod for Klingon Academy, although there never seems to be any end to the discoveries of what this file can do.

 

Be forewarned that weapons cannot be added to or subtracted solely from this file. If the entries in the shp file do not match the weapon points in the ship’s lwo, it will crash the game. These points can only be altered using one of two 3D programs: Lightwave or Anim8tor (in conjunction with J. Korber’s Converter Utility).

 

I have chosen the shp file of the stock Constitution (FCA) to use as an example for this tutorial, due to its familiarity. Remember to read the notes in each section of the shp, made by the KA development team. These are very useful as guides and reminders to the various entries in the file. I may omit some of these notes as we go, for clarity and brevity.

 

A caveat to using the shp files found in the ka.dat and patch.dat files: Klingon Academy apparently does not refer to these files when loading them ingame, as I’ve found plenty of typos in them that would cause many ships to be non functional. Use them as a guide for specs, but be wary of mistakes or omissions in the entries.

 

Anything with a ‘#’ in front of it will be ignored by the game, and can be used to make notes if necessary. It is also useful for removing a line without actually deleting it, if you want to restore the value later.

 

Tutorial Format: In this tutorial, text in Blue will denote entries from the shp file itself. Text in Black will be my own notes. Text in [Square Brackets] will denote shp file entries within my notes.

 

 

Ship Name And Class: *******************************************

 

This section deals with the name and class name of the ship.

 

[Name] is used by the QBShips file to load the ship, and is used as the latter half of the QBShip line itself. This will also be what is displayed in the HUD at close range. There is a limit of 27 characters in this entry, and will load a second ship of the same type in QB if exceeded.

 

[Class] is what is displayed in the HUD at long range.

 

[Race] determines what interface and HUD style are loaded. The 6 stock races are: [Klingon], [Federation], [Romulan], [Tholian], [Gorn], [Shakurian].

 

 

######################### SHIP NAME AND CLASS ################################

#

# Name of the ship.  The name is used to load the ship, Class is displayed in the

# radar section until scanned at close enough range to fully identify the ship.

#

Name: FCA USS Enterprise

Class: Constitution CA

Race: Federation

#

 

 

Movement Statistics: *********************************************

 

This section deals with the maneuverability of the ship:

 

[maxVelocity] defines how high the impulse bar will read, but bear in mind that it does not regulate the actual maximum speed of the ship. That is covered later in the # Custom System Parameters # section. It’s unclear as to why there are 3 entries for this value, although convention is to keep them all the same.

 

[MaxAcceleration] determines how quickly the ship accelerates. The higher the value, the faster the acceleration.

 

[maxAngularVelocity] determines the turn rate of the ship. Once again, the higher the value, the faster the turn.

 

[maxAngularAcceleration] determines the acceleration of the turn rate: that is, this determines how fast the ship can reach its [maxAngularVelocity] once the player starts turning the ship. Once again, the higher the value, the faster the turn.

 

########################## MOVEMENT STATISTICS ###############################

#

# Acceleration and Velocity are currently in meters per frame

# AngularAcceleration and AngularVelocity are currently in radians per frame

#

maxVelocity: 1500

maxAcceleration: 150.000 150.000 150.000

maxAngularVelocity: 0.314 0.314 0.314

maxAngularAcceleration: 0.178 0.178 0.178

#

 

 

Size And Scale:  *************************************************

 

This section deals with scaling and size issues:

 

[Scale] determines how large the ship is visually rendered in the game, in relation to the size of the model within the lwo object. A value of [4] will give you a 1:1 size, meaning that 1 meter in the model equals 1 meter in the game.

 

[Diameter] is used to determine when the collision detection warning goes off in the game. Usually this is simply left equal to the ship’s length, although it can be changed if the alarm needs to be triggered further away.

 

[Mass] is used to determine how ships are effected when tractoring one another. The ship with the heavier mass will have more effect over the lighter one, and will be more effective in moving the targeted craft. It also appears to be used in determining the how long the loss of control is following a collision.

 

[CollisionDamageScale] affects the amount of damage the ship takes in a collision. The bigger the number, the more damage the ship will take.

 

[HullClass] determines how damaging the final explosion is after the ship is destroyed and hulked. This value is used in conjunction with the ship’s total power output (see # Power Generation # in the next section), and one again, the higher the number, the more damaging the explosion.

 

########################### SIZE AND SCALE ####################################

#

Scale: 5

Diameter: 305.0

Mass: 500

#

CollisionDamageScale: 0.072

HullClass: 5.030

#

 

 

Power Generation:  **********************************************

 

These values determine the output of the ship’s generators. The only value that can be changed is the output itself, changing the [40] values doesn’t do anything. Stock KA ships will always have the ship’s total power distributed amongst the generators the same:

 

Warp = 45%

Impulse = 35%

Auxiliary = 20%

 

########################### POWER GENERATION ##################################

#

#

#     Generators have changed somewhat for KA.  For now, you are permitted

# to specify up to 3 power generators.  The warp and impulse power generators

# are tied to the warp and impulse engines.  You will soon be required to

# specify efficiency factors for each resource, that is, how efficiently

# each resource is able to use power from each generator.  If these figures

# are not specified, then it is assumed that they are able to use power with

# a 1:1 conversion factor for all power types.

#     Connections are not used in KA and will probably become obsolete

# soon.

#

# Format is:  Generator: Name:MaxPower:MaxConnections:damagefunc

#

Generator: Warp: 86:40:damageGenerator

Generator: Impulse: 67:40:damageGenerator

Generator: Auxiliary: 38:40:damageGenerator

#

Resource Definitions:  ********************************************

 

This section sets up and defines the individual resources for your ship. Each resource, whether an individual Hull surface, Warp generator, Life Support, etc., will have a line defining it here. The format is laid out in the Developer’s notes at the start of the section, although aside from including or excluding lines (depending on your ship), the only real value to change in the line is it’s [on] or [off] status, of which determines whether the system is on when you first load it ingame.

 

Subtargeting:

 

The #RESOURCE DEFINITIONS# section is also where subtargeting for the ship is defined, so that individual systems can be singled out as targets ingame. Individual surfaces are tied to the ships’ systems through these lines:

 

Resource: D05(Impulse):actImpulse:useImpulse:damResImpulse:repairImpulse:5000:0:off:1.0:1.0:1.0

 

In this case, the surface on the lwo model designated [D05] is tied into the [Impulse] resource. (See my ‘Texturing Tutorial’ for surfacing details.) Each defined surface on the model should be tied through a resource here, with non-specific resources (i.e. surfaces not tied into warp, sensors, weapons, etc.) being tied through the [Hull] resource. Once these are defined, that area of the model will now display the Subtargeting Brackets when targeted in the game, and weapons fire will automatically track those surfaces.

 

Cloaking:

 

Adding the following line will give the ship the ability to cloak:

 

Resource: Cloak:actCloak:useCloak:damResCloak:repairCloak:5000:54:off:1.0:1.0:1.0

 

And adding the following line will allow the ship to fire while cloaked, like General Chang’s Bird of Prey in ST VI. A bit of a cheat, but it can be fun:

 

CanShootWhileCloaked: 1

 

 

####################### RESOURCE DEFINITIONS ##################################

#

# all of the power consumers on the ship.  Systems use these.

# the number in ()'s the the amount of energy needed at 100% efficiency

# to run at 100%.  All resources are enabled (meaning they can be turned

# on, and that they are currently consuming power) by default.  the {on,off}

# at the end tells if this resources is on or off by default.

#

# Activation function is called when this resource is turned on or off,

# with a flag indicating which (0 off, 1 on);

#

# Use function is called when this resource is "used" (phasers fired,

# warp engaged, etc).  both activation functions and use functions are

# user supplied.

#

# Format is:

# Resource:Name:ActivateFunc:UseFunc:DamFunc:RepairFunc:RepairRateMS:PwrNeeded:On/Off

#

#  NEW FOR KA:  I've had to add a couple of fields to the resource structure,

# and more fields will probably be forthcoming.  The following fields should

# be added to the end of the resource structure:

#   WarpDraw:ImpulseDraw:AuxDraw:Power:Off/On

#  These fields represent, respectively,

#     WarpDraw - How efficiently this resource draws power from warp power.

#     ImpulseDraw - How efficiently this resource draws power from impulse power.

#     AuxDraw - How efficiently this resource draws power from aux power.

#     Power - The power needed to run the secondary function of this resource

#           (eg, ecm for sensors, jamming for communications).  If there is

#           a plus ('+') sign preceding this number, then that much power

#           will be allocated to the resource when it's loaded.

#     Off/On - Whether the second function should be activated or not.

#

#   the animation is the animation to use to "zoom in" onto this resource, used

#   in the damage control and energy management screens.  No animation will be

#   played if it is omitted here

#

# ------- Power Systems --------

Resource: Warp:actWarp:useWarp:damResWarp:repairWarp:5000:45:off:1.0:1.0:1.0

Resource: D14(Warp):actWarp:useWarp:damResWarp:repairWarp:5000:0:off:1.0:1.0:1.0

Resource: D15(D14):actWarp:useWarp:damResWarp:repairWarp:5000:0:off:1.0:1.0:1.0

Resource: D16(Warp):actWarp:useWarp:damResWarp:repairWarp:5000:0:off:1.0:1.0:1.0

Resource: D17(D16):actWarp:useWarp:damResWarp:repairWarp:5000:0:off:1.0:1.0:1.0

#

Resource: Impulse:actImpulse:useImpulse:damResImpulse:repairImpulse:5000:0:on:1.0:1.0:1.0

Resource: D05(Impulse):actImpulse:useImpulse:damResImpulse:repairImpulse:5000:0:off:1.0:1.0:1.0

#

Resource: Auxiliary:actAux:useAux:damResAux:repairAux:5000:0:on:1.0:1.0:1.0

# ------------------------------

#

# ------ General Systems -------

Resource: Sensors:actSensors:useSensors:damResSensors:repairSensors:5000:0:on:1.0:1.0:1.0:2:off

Resource: Scanners(Sensors):actSensors:useSensors:damResSensors:repairSensors:5000:2:on:1.0:1.0:1.0:0:off

Resource: ECM(Sensors):actECM:useECM:damResECM:repairECM:5000:0:off:1.0:1.0:1.0:0:off

Resource: D11(Sensors):actSensors:useSensors:damResSensors:repairSensors:5000:0:off:1.0:1.0:1.0:2:off

#

Resource: Communications:actComm:useComm:damResComm:repairComm:5000:0:on:1.0:1.0:1.0:0:off

Resource: Comm(Communications):actComm:useComm:damResComm:repairComm:5000:1:on:1.0:1.0:1.0:0:off

Resource: Jamming(Communications):actJamming:useJamming:damResJamming:repairJamming:5000:0:off:1.0:1.0:1.0:0:off

Resource: DamageControl:actDamage:useDamage:damResDamage:repairDamage:5000:5:off:1.0:1.0:1.0

Resource: Life Support:actLife:useLife:damResLife:repairLife:5000:6:on:1.0:1.0:1.0

Resource: Medical:actMedical:useMedical:damResMedical:repairMedical:0:0:off:1.0:1.0:1.0

Resource: Probe:actProbe:useProbe:damResProbe:repairProbe:5000:0:on:1.0:1.0:1.0

Resource: Security:actMarines:useMarines:damResMarines:repairMarines:500:1:off:1.0:1.0:1.0

Resource: Transporter:actTrans:useTrans:damResTrans:repairTrans:5000:2:off:1.0:1.0:1.0

Resource: Tractor Beam:actTractor:useTractor:damResTractor:repairTractor:5000:3:off:1.0:1.0:1.0

# ------------------------------

#

# ------- Shield Systems -------

Resource: Shields:actShields:useShields:damResShields:repairShields:500:0:on:1.0:1.0:1.0

Resource: ShieldFore(Shields):actShields:useShields:damResShields::0:2:on:1.0:1.0:1.0

Resource: ShieldAft(Shields):actShields:useShields:damResShields::0:2:on:1.0:1.0:1.0

Resource: ShieldPort(Shields):actShields:useShields:damResShields::0:2:on:1.0:1.0:1.0

Resource: ShieldStarboard(Shields):actShields:useShields:damResShields::0:2:on:1.0:1.0:1.0

Resource: ShieldTop(Shields):actShields:useShields:damResShields::0:2:on:1.0:1.0:1.0

Resource: ShieldBottom(Shields):actShields:useShields:damResShields::0:2:on:1.0:1.0:1.0

# ------------------------------

#

# ------- Weapon Systems -------

#

# +Primary Weapons+

Resource: Phasers:actPhasers:usePhasers:damResPhasers:repairPhasers:5000:0:on:1.0:1.0:1.0

Resource: Fwd Bank(Phasers):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:0:on:1.0:1.0:1.0

Resource: Fwd Phaser 1(Fwd Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Fwd Phaser 2(Fwd Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Fwd Phaser 3(Fwd Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Fwd Phaser 4(Fwd Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Aft Bank(Phasers):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Aft Phaser 1(Aft Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Aft Phaser 2(Aft Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Port Bank(Phasers):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Port Phaser 1(Port Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Port Phaser 2(Port Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Stbd Bank(Phasers):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Stbd Phaser 1(Stbd Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Stbd Phaser 2(Stbd Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

#

#

# + All Secondary Parent Resource + [DO NOT EDIT, CHANGE, OR REMOVE ON PAIN OF DEATH]

Resource: Photons:actPhotons:usePhotons:damResPhotons:repairPhotons:5000:0:on:1.0:1.0:1.0

#

#

# +Secondary Weapons+

Resource: Photon Torps(Photons):actPhotons:usePhotons:damResPhotons:repairPhotons:5000:0:on:1.0:1.0:1.0

Resource: Fwd Photon Bay(Photon Torps):actPhotons:usePhotons:damResPhotons:repairPhotons:5000:0:on:1.0:1.0:1.0

Resource: Fwd Tube 1(Fwd Photon Bay):actPhotons:usePhotons:damResPhotons:repairPhotons:5000:20:on:1.0:1.0:1.0

Resource: Fwd Tube 2(Fwd Photon Bay):actPhotons:usePhotons:damResPhotons:repairPhotons:5000:20:on:1.0:1.0:1.0

#

# +Heavy Weapons+

# Definitions of alternate type secondary weapons go here

#

# +Special Weapons+ (Advanced for Brent :)

# ------------------------------

#

# ------------ Hull ------------

Resource: Hull:::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: D01(Hull):::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: D02(Hull):::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: D03(Hull):::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: D04(Hull):::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: D06(Hull):::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: D07(Hull):::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: D08(Hull):::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: D09(Hull):::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: D10(Hull):::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: D12(Hull):::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: D13(Hull):::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: D18(Hull):::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

Resource: Disabler:actDisabler:useDisabler:damResDisabler:repairDisabler:5000:0:on:1.0:1.0:1.0

Resource: Bridge:actDisabler:useDisabler:damResDisabler:repairDisabler:5000:0:on:1.0:1.0:1.0

Resource: Nacelles:::damResHull:repairHull:5000:0:on:1.0:1.0:1.0

# ------------------------------

#

 

Resource Hit Points:  ********************************************

 

This section defines the ‘Hit Points’ of the defined resources, or how much damage the resource will take before breaking. The number here correlate directly to the damage output defined in the #Offensive Systems# section, so for every 1 point of damaged dished out by a weapon, one point of damage is caused here, provided the resource is hit by the weapon.

 

Note that the [ResourceHitPoints: Shields] entry here has nothing to do with the strength of the shields. Rather, these entries determine the damage the actual generators can take before failing. Actual shield outputs are defined in the #Defensive Systems# section.

 

The [Bridge] entry appears to apply when Marines are attempting to take over the ship. Making the number bigger keeps the intruders at bay longer.

 

################################ HIT POINTS AND DAMAGE #################################

#

# This represents how much damage a particular resource can take.

# In KA, this will be used instead of the damage modifer field.

# Note: A resource will be set to 100 hit points if it is not specified.

#

ResourceHitPoints: Shields: 87

ResourceHitPoints: ShieldTop: 87

ResourceHitPoints: ShieldFore: 87

ResourceHitPoints: ShieldStarboard: 87

ResourceHitPoints: ShieldAft: 87

ResourceHitPoints: ShieldPort: 87

ResourceHitPoints: ShieldBottom: 87

#

ResourceHitPoints: Hull: 248

ResourceHitPoints: D01:15

ResourceHitPoints: D02:5

ResourceHitPoints: D03:5

ResourceHitPoints: D04:10

ResourceHitPoints: D06:15

ResourceHitPoints: D07:15

ResourceHitPoints: D08:5

ResourceHitPoints: D09:5

ResourceHitPoints: D10:15

ResourceHitPoints: D12:5

ResourceHitPoints: D13:15

ResourceHitPoints: D18:15

#

ResourceHitPoints: Warp: 174

ResourceHitPoints: D14:70

ResourceHitPoints: D15:35

ResourceHitPoints: D16:70

ResourceHitPoints: D17:35

#

ResourceHitPoints: Impulse: 174

ResourceHitPoints: D05:174

#

ResourceHitPoints: Communications: 87

ResourceHitPoints: Comm: 87

ResourceHitPoints: Jamming: 87

#

ResourceHitPoints: Sensors: 87

ResourceHitPoints: Scanners: 87

ResourceHitPoints: ECM: 87

ResourceHitPoints: D11:87

#

ResourceHitPoints: Fwd Bank: 87

ResourceHitPoints: Fwd Phaser 1: 87

ResourceHitPoints: Fwd Phaser 2: 87

ResourceHitPoints: Fwd Phaser 3: 87

ResourceHitPoints: Fwd Phaser 4: 87

ResourceHitPoints: Aft Bank: 50

ResourceHitPoints: Aft Phaser 1: 50

ResourceHitPoints: Aft Phaser 2: 50

ResourceHitPoints: Port Bank: 25

ResourceHitPoints: Port Phaser 1: 25

ResourceHitPoints: Port Phaser 2: 25

ResourceHitPoints: Stbd Bank: 25

ResourceHitPoints: Stbd Phaser 1: 25

ResourceHitPoints: Stbd Phaser 2: 25

#

ResourceHitPoints: Fwd Photon Bay: 87

ResourceHitPoints: Fwd Tube 1: 87

ResourceHitPoints: Fwd Tube 2: 87

#

ResourceHitPoints: Auxiliary: 87

ResourceHitPoints: Medical: 87

ResourceHitPoints: Life Support: 248

ResourceHitPoints: Security: 87

ResourceHitPoints: Transporter: 87

ResourceHitPoints: Tractor Beam: 87

ResourceHitPoints: Bridge:124

ResourceHitPoints: Nacelles: 3

#

 

 

Murder Suicide Definitions:  **************************************

 

This section is used to define what systems affect what when they’re destroyed. The format is:

 

MurderSuicide:[system destroyed]:[system affected]:[damage points]

 

For example, in the line [MurderSuicide:D01:Hull:6], once the surface [D01] loses all of its hit points and is destroyed, it causes 6 points of damage to the [Hull] resource. As in the above examples, you can string a number of affected systems to be damaged, listing first the resource, then the points of damage, separating each entry with a :’.

 

Murder/Suicide Definitions also place a cap on how far an affected resource can be repaired. For instance, in the line [MurderSuicide:D01:Hull:6], once surface [D01] has been ginsued, the hull will not only lose an additional 6 points, but it will also be unable to repair those 6 points, resulting in a slightly lower percentage in it’s hull reading after repairs are complete.

 

############################ MURDER SUICIDE DEFINITIONS ################################

#

#The Murder/Suicide definitions are used to associate a hull damage area with resources

#that they should affect when destroyed.  Also, they can set a cap to the repair levels

#by permanently removing some of the hitpoints from the resource associated with the

#activated damage area.

#

MurderSuicide:Sensors:Scanners:1000:ECM:1000

MurderSuicide:D01:Hull:6

MurderSuicide:D02:Hull:2

MurderSuicide:D03:Hull:2

MurderSuicide:D04:Hull:4

MurderSuicide:D06:Hull:6

MurderSuicide:D07:Hull:6

MurderSuicide:D08:Hull:2

MurderSuicide:D09:Hull:2

MurderSuicide:D10:Hull:6

MurderSuicide:D12:Hull:2

MurderSuicide:D12:Hull:6

MurderSuicide:D18:Hull:6

#

MurderSuicide:D05:Impulse:174

MurderSuicide:Impulse:D05:174

#

MurderSuicide:D11:Sensors:87

MurderSuicide:Sensors:D11:87

#

MurderSuicide:D14:Warp:12:Nacelles:2

MurderSuicide:D15:Warp:5

MurderSuicide:D16:Warp:12

MurderSuicide:D17:Warp:5:Nacelles:2

#

MurderSuicide:Warp:Nacelles:4

MurderSuicide:Nacelles:Warp:174

#

MurderSuicide:D13:Fwd Tube 1:87:Fwd Photon Bay:7:Hull:15

#

 

1 nacelle  = 1.00

2 nacelles = 0.25

3 nacelles = 0.22222222222

4 nacelles = 0.1875

 

Random Internal Damage:  ***************************************

 

This section defines what systems take damage when a weapon strikes the hull, or when a collision occurs. This is to allow systems that don’t have a surface on the model tied into them to take random damage on weapons hits, using the [ReceivesHullDamage] entry. Conversely, systems that are tied into a surface resource on the model use [ImmunePhoton] to keep them from taking random damage, since hitting the surface they’re attached to will cause them direct damage to begin with.

 

############################### RANDOM INTERNALS AND ###################################

########################### COLLISION DAMAGE DEFINITIONS ###############################

#

#The Random Internals definitions are used to determine which resources can receive

#damage through the random damage rules for hull hits.

#

#Format: ReceivesHullDamage:Resource

#

#

ReceivesHullDamage:Shields

ReceivesHullDamage:Auxiliary

ReceivesHullDamage:Medical

ReceivesHullDamage:Life Support

ReceivesHullDamage:Security

ReceivesHullDamage:Transporter

ReceivesHullDamage:Tractor Beam

#

ImmunePhoton:DamageControl

ImmunePhoton:Comm

ImmunePhoton:Jamming

ImmunePhoton:ECM

ImmunePhoton:Scanners

ImmunePhoton:Phasers

ImmunePhoton:Fwd Phaser 1

ImmunePhoton:Fwd Phaser 2

ImmunePhoton:Fwd Phaser 3

ImmunePhoton:Fwd Phaser 4

ImmunePhoton:Aft Phaser 1

ImmunePhoton:Aft Phaser 2

ImmunePhoton:Port Phaser 1

ImmunePhoton:Port Phaser 2

ImmunePhoton:Stbd Phaser 1

ImmunePhoton:Stbd Phaser 2

ImmunePhoton:Photons

ImmunePhoton:Photon Torps

ImmunePhoton:Fwd Tube 1

ImmunePhoton:Fwd Tube 2

ImmunePhoton:Disabler

ImmunePhoton:Bridge

#

 

 

Damage Parameters:  ********************************************

 

This section defines how much damage is passed between resources and the hull, and how much damage control affects the surfaces as well.

 

[Proportion of my damage that hurts my parent]: in this, when the listed surface is attacked, the damage received by a surface will transfer the same amount of damage to it’s associated resource. [1] gives a 1:1 ratio, [2] gives a 2:1 ratio, [0.5] gives a 1:2 ratio, etc.

 

[Proportion of my parents damage that hurts me]: in this, when the parent resource, for example, the hull, is hurt, this defines how much damage is passed on to the associated surfaces as well. In this case, none of it is passed on, if all of them were to receive all the damage the hull received (if they were all set to 1), then hitting any spot on the hull would damage all of the surfaces tied into it at once just as hard as if you'd hit each one of them one at a time. Usually this is just set to [0], but the value can be used to create certain effects.

 

[Proportion of my parents damage control that heals me]: this defines the amount of Damage Control points from the parent resource that is transferred to the damaged surface. Once again, using [1] will fix an equal proportion of both the parent resource and the associated surface. Using different vales can make a surface more robust or weaker, depending on the effect you need.

 

The parent (say... [Warp]) will repair the surfaces to which its linked, (in this case, the nacelles if warp is the parent), thus, the nacelle might need one more phaser hit to blow it off, but, if he gets the chance, some damage control can put more life back into the nacelles, making them harder to blow off.

 

################################ DAMAGE PARAMETERS #####################################

#

#                                                Proportion of     Proportion of

#                             Proportion of        my parent's       my parent's

#                            my damage that        damage that    damage control

#   Resource name           hurts my parent           hurts me     that heals me

#--------------------------------------------------------------------------------------------

DamageParameters: D01:                   1:                 0:                 1

DamageParameters: D02:                 0.8:                 0:              1.25

DamageParameters: D03:                 0.8:                 0:              1.25

DamageParameters: D04:                 0.8:                 0:              1.25

DamageParameters: D06:                 0.8:                 0:              1.25

DamageParameters: D07:                   1:                 0:                 1

DamageParameters: D08:                   1:                 0:                 1

DamageParameters: D09:                   1:                 0:                 1

DamageParameters: D10:                   1:                 0:                 1

DamageParameters: D12:                 0.8:                 0:              1.25

DamageParameters: D13:                 0.8:                 0:              1.25

DamageParameters: D18:                   1:                 0:                 1

#

DamageParameters: D05:                   1:                 0:                 1

#

DamageParameters: D11:                   1:                 0:                 1

#

DamageParameters: D14:                   1:                 0:                 1

DamageParameters: D15:                   1:                 0:                 1

DamageParameters: D16:                   1:                 0:                 1

DamageParameters: D17:                   1:                 0:                 1

#

 

 

Custom System Parameters:  **************************************

 

This section defines the actual output of the ships various systems, including engines, internal, shields and weapons. The formats for all of the lines are the same, so once you know what number is which, it’s easy to look at any line and determine what it’s doing. The format is:

 

[Resource]:[minimum power]:[minimum output]:[maximum power]:[maximum output]:[legendary officer multiplier]:[crew quality multiplier]:[damage high]:[multiplier at damage high]:[output when off]

 

[Resource] is whatever system is being defined.

 

[Minimum power] defines the minimum power the system needs in order to be turned on.

 

[Minimum output] defines the output of the system at its lowest level. When defining a weapon, this value defines its normal damage output.

 

[Maximum power] defines the power the system needs to draw for its maximum setting.

 

[Maximum output] defines the output of the system at its maximum power setting. When defining a weapon, this value defines its damage output when set to 200% overload.

 

[Legendary officer multiplier] defines how well the system operates with a legendary officer defined for the system (see #Crew, Marines# in the next section). Increasing the value will improve performance with a Legendary Officer included.

 

[Crew experience multiplier] defines how crew experience affects the system, similar in effect to [Legendary officer multiplier]. Once again, see #Crew, Marines# for more information.

 

[Damage high] defines how much damage the system can take before it stops working. In most cases, this is 75%, meaning when the system damage is down to 25% it stops working. Likewise, if this number is made to 99, the system will work all the way down to 1%, etc.

 

[Multiplier at damage high] defines how effective the system is when damaged to its cut off point. In the case of impulse, this is [0.75], so, when the system hits damage high (25%), impulse is only putting out 75% of its max speed.

 

[Output when off] defines how the system reacts when off. This is only applied to certain systems, such as Shields, which recharge at their minimum rate when off, or Medical, of which actually works in negative numbers to hurt injured crew when it’s switched off. If this value is omitted on some systems, such as shields, turning the system off then on will result in that system being reset to zero, and it will have to begin recharging again.

 

[HullHitsHurtsCrewFactor]: this value determines how rapidly the crew is injured as the ship takes hits. The value is determined from the formula: Optimum crew ÷ Hull HP = HHHCF.

 

Shields:

 

Shields are dealt with slightly differently. The values are defined:

 

[ResourceOutputFunctionParams]: determines how the shield reacts when overloaded. As with other resource output lines, the 1st and 3rd numbers are for min/max power. The output values determine how much damage the shields ignore: Minimum output is usually set at [0], and maximum output is usually set to [0.200]. This means that when the shields are overloaded to 200%, 20% of the incoming damage is outright discarded, so the weapon can only cause a potential of 80% of it’s value.

 

One odd quirk for this line is if the minimum power value is left at [0], the shields will stay raised if the ship is cloaked, rather than dropping as they normally would.

 

[ResourceChargeRateFunctionParams] determines the recharge rate for the shield. The value is calculated to recharge 1% every 3.5 seconds at minimum power, and 1% every 1.75 seconds at 200% overload. Note that I’ve found the majority of stock entries included in the ka.dat files to be inaccurate. For an accurate number, simply use the formula:

 

Shield Output ÷ 350 = Recharge Rate

 

(multiply Recharge Rate by 2 for 200% overload value)

 

This applies to all ships up to and including the Command Cruiser (CC) asset class. For heavier classes the recharge time increases, and varies from race to race:

 


KBB

8.0s

KDN

5.0s

KBCH

4.5s

KCC

3.5s

 

FBB2

10.0s

FBB1

10.0s

FDN

6.5s

FBCH

4.5s

FCC

3.5s

 

RBB

6.0s

RDN

4.0s

RBCH

3.5s

RCC

3.5s

 

TDN

7.0s

TBCH

5.0s

TCA

3.5s

 

GDN

6.0s

GCA

3.5s

 

SCVB

3.5s

SCVA

3.5s


 

i.e., for a KDN: Shield Output ÷ 500 = Recharge Rate)

 

[ResourceMaxChargeFunctionParams] determines the actual hit point strength of the shields’ output. Power input values are always left at [0], and the output values are usually identical.

 

############################### Custom System Parameters ###############################

#

#+----------------------------------- Power Systems -----------------------------------+

#

ResourceOutputFunctionParams:Warp: 0:     0: 95: 8.000: 1.000:     1.0:    0.75: 1.000

ResourceChargeRateFunctionParams:Warp:     0:  1000:     0:  1000:     1.0:     1.0:     1.0:       1.0

#

ResourceOutputFunctionParams:Impulse: 0:     0: 95: 1500: 1.080:     1.0:    0.75: 0.750

ResourceChargeRateFunctionParams:Impulse:  0:  1000:     0:  1000:     1.0:     1.0:     1.0:       1.0

#

#+-------------------------------------------------------------------------------------+

#

#

#+-------------------------------- Operations Systems ---------------------------------+

#

ResourceOutputFunctionParams:Tractor Beam: 20: 100000.000: 95: 200000.000: 1.000: 0.500:    0.75:      0.25: 1.000

#

#

ResourceOutputFunctionParams:Scanners: 2: 1.000: 95: 3.000: 1.250: 0.500:    0.75:      0.25

#

ResourceOutputFunctionParams:ECM: 10: 0.100: 95: 0.750: 1.500: 0.500:    0.75:      0.25

#

ResourceOutputFunctionParams:DamageControl: 5: 0.180: 100: 0.830: 1.350: 0.000:    0.75:      0.25: 0.090

#

ResourceOutputFunctionParams:Security: 4: 1.000: 99: 2.000: 1.500: 0.500: 1.000: 1.000: 0.750

#

ResourceOutputFunctionParams:Transporter: 4: 1.000: 95: 4.000: 1.500: 0.500:    0.75:      0.25: 0.000

#

#

ResourceChargeRateFunctionParams:Bridge: 0: 0.002: 0: 0.002:        1.0:         1.0:     1.0:       1.0:  .01

ResourceMaxChargeFunctionParams:Bridge: 0: 520.800: 0: 520.800: 1.500:         1.0:     1.0:       1.0:  10000

#

ResourceOutputFunctionParams:Life Support: 6:   100: 6:   100:     1.0:     1.0:    0.75:      0.25

ResourceChargeRateFunctionParams:Life Support:  0:  1000:     0:  1000:     1.0:     1.0:     1.0:       1.0

ResourceMaxChargeFunctionParams:Life Support:   0:  1000:     0:  1000:     1.0:     1.0:     1.0:       1.0

#

ResourceOutputFunctionParams:Medical: 6: 0.100: 60: 0.501: 1.500:     1.0: 1.000: 1.000: -0.200

ResourceChargeRateFunctionParams:Medical:       0:  1000:     0:  1000:     1.0:     1.0:     1.0:       1.0

ResourceMaxChargeFunctionParams:Medical: 6: 0.500: 60: 0.500:     1.0:     1.0:     1.0:       1.0: 0.300

#

HullHitsHurtsCrewFactor: 1.810

#

#+-------------------------------------------------------------------------------------+

#

#

#+--------------------------------- Defensive Systems ---------------------------------+

#

ResourceOutputFunctionParams:ShieldFore: 2: 0.000: 17: 0.200: 1.000:     1.0: 0.750: 1.000

ResourceChargeRateFunctionParams:ShieldFore: 2: 0.206: 17: 0.412:     1.0: 0.600: 0.750: 1.000: 0.206

ResourceMaxChargeFunctionParams:ShieldFore:        0: 74:     0: 74: 1.200:     1.0: 0.750: 1.000: 74

#

ResourceOutputFunctionParams:ShieldAft: 2: 0.000: 17: 0.200: 1.000:     1.0: 0.750: 1.000

ResourceChargeRateFunctionParams:ShieldAft: 2: 0.165: 17: 0.330:     1.0: 0.600: 0.750: 1.000: 0.165

ResourceMaxChargeFunctionParams:ShieldAft:         0: 60:     0: 60: 1.200:     1.0: 0.750: 1.000: 60

#

ResourceOutputFunctionParams:ShieldPort: 2: 0.000: 17: 0.200: 1.000:     1.0: 0.750: 1.000

ResourceChargeRateFunctionParams:ShieldPort: 2: 0.124: 17: 0.248:     1.0: 0.600: 0.750: 1.000: 0.124

ResourceMaxChargeFunctionParams:ShieldPort:        0: 45:     0: 45: 1.200:     1.0: 0.750: 1.000: 45

#

ResourceOutputFunctionParams:ShieldStarboard: 2: 0.000: 17: 0.200: 1.000:     1.0: 0.750: 1.000

ResourceChargeRateFunctionParams:ShieldStarboard: 2: 0.124: 17: 0.248:     1.0: 0.600: 0.750: 1.000: 0.124

ResourceMaxChargeFunctionParams:ShieldStarboard:   0: 45:     0: 45: 1.200:     1.0: 0.750: 1.000: 45

#

ResourceOutputFunctionParams:ShieldTop: 2: 0.000: 17: 0.200: 1.000:     1.0: 0.750: 1.000

ResourceChargeRateFunctionParams:ShieldTop: 2: 0.124: 17: 0.248:     1.0: 0.600: 0.750: 1.000: 0.124

ResourceMaxChargeFunctionParams:ShieldTop:         0: 45:     0: 45: 1.200:     1.0: 0.750: 1.000: 45

#

ResourceOutputFunctionParams:ShieldBottom: 2: 0.000: 17: 0.200: 1.000:     1.0: 0.750: 1.000

ResourceChargeRateFunctionParams:ShieldBottom: 2: 0.124: 17: 0.248:     1.0: 0.600: 0.750: 1.000: 0.124

ResourceMaxChargeFunctionParams:ShieldBottom:      0: 45:     0: 45: 1.200:     1.0: 0.750: 1.000: 45

#

#+-------------------------------------------------------------------------------------+

#

#

#+--------------------------------- Offensive Systems ---------------------------------+

#

ResourceOutputFunctionParams:Fwd Bank:NODEONLY: 8: 1.440: 16: 2.880: 1.200:     1.0:    0.75:      0.25

#

ResourceOutputFunctionParams:Aft Bank:NODEONLY: 4: 1.440: 8: 2.880: 1.200:     1.0:    0.75:      0.25

#

ResourceOutputFunctionParams:Port Bank:NODEONLY: 4: 1.440: 8: 2.880: 1.200:     1.0:    0.75:      0.25

#

ResourceOutputFunctionParams:Stbd Bank:NODEONLY: 4: 1.440: 8: 2.880: 1.200:     1.0:    0.75:      0.25

#

ResourceOutputFunctionParams:Fwd Photon Bay:NODEONLY: 40: 19.200: 80: 38.400: 1.200:     1.0:    0.75:      0.25

#

#+-------------------------------------------------------------------------------------+

#

 

 

Crew, Marines:  *************************************************

 

This section defines how many Crew and Marines the ship has, and how effective they are. The format is:

 

[Maximum Crew]:[Optimum Crew]:[Crew Quantity]:[Crew Experience]:[Racial Modifier]

 

[Maximum Crew] is only used on the [Crew] line, and only affects games in Multiplayer. This value determines how many extra crewmembers can be added to the ship beyond its default in the Multiplayer Setup Menu.

 

[Optimum Crew] defines how many active crewmembers the ship needs to be running at peak efficiency.

 

[Crew Quantity] defines the default starting number of crew the ship has. This is usually the same as [Optimum Crew].

 

[Crew Experience] this number determines the ‘experience’ the crew has, of which affects the efficiency of the ship’s systems (see #Custom System Parameters# for the [Crew experience multiplier]). The crew’s efficiency is displayed ingame on the Medical screen. The values for each level of experience is:

 

Green: = 1.000

Experienced: = 1.100

Hardened: = 1.200

Veteran: = 1.300

Elite: = 1.400

 

[Racial Modifier] modifies how effective the [Marines] are at combat. This will vary from species to species, with Federation and Romulan Marines having a value of [1.000], Klingons and Gorn with [1.100], Shakurians with [0.800], and no value for the Tholians, since they have no marines.

 

##################################### CREW, MARINES ####################################

#

# The crew is as follows:

# Crew: <Maximum number of total crew (crew+marines)>, <optimum number of crew>,

#       <Default number of crew>, <exp>, <racial>

#

Crew: 550: 450: 450: 1.000: 1.000: max:optimum:qty:exp:racial

Marines:  50: 50: 1.000: 1.000: optimum:qty:exp:racial

#

 

 

Boarding Properties:

 

This section defines various boarding properties of the ship.

 

[MaxEnemies] defines how many enemy marines can fit onto the ship. This number can’t be exceeded in the game.

 

[BonusToBoardingPartyDefense] doesn’t actually appear to have any effect on the game. Theoretically it should affect the survivability of a boarding party aboard the ship, but I haven’t been able to obtain a noticeable effect from changing it.

 

[MarineGroupSize] defines how many Marines are transported in each group. Basically, this is the maximum number of troops you can have on the transporter pad at once.

 

[BoardingPartyOffenseMultiplier] affects how easily a boarding party will accomplish their goal on the ship. The higher the number, the faster they cause damage to the targeted system.

 

[BoardingPartyResourceMultiplier] I’m afraid I haven’t quite determined what these values are actually for. They appear to modify a boarding party’s effectiveness when on board the ship.

 

[ActivateTime: Transporter] This should ensure that the transporter takes [0] milliseconds to activate, however I haven’t actually seen this value do anything. See the #RESOURCE ACTIVATION TIMES# section for more details.

 

MaxEnemies: 25

BonusToBoardingPartyDefense: 13

MarineGroupSize: 10

BoardingPartyOffenseMultiplier: 1.400

BoardingPartyResourceMultiplier:Warp: 0.500

BoardingPartyResourceMultiplier:Impulse: 0.500

BoardingPartyResourceMultiplier:Life Support: 0.500

#

ActivateTime: Transporter: 0

#

 

 

Legendary Officers:

 

This section defines what [Elite Officers] are included on the ship, and what systems each officer affects. To activate an officer, simply remove the ‘#’ from in front of the officer’s line. See #Custom System Parameters# for details on the [Legendary officer multiplier].

 

# The legendary officers for this ship.

#Legendary: Captain

#Legendary: Engineering

#Legendary: Helm

#Legendary: Weapons

#Legendary: Science

#Legendary: Security

#Legendary: Communications

#Legendary: Medical

#Legendary: Library

#

LegendaryAssociation:Captain:Bridge

LegendaryAssociation:Captain:Security

LegendaryAssociation:Engineer:DamageControl

LegendaryAssociation:Engineer:ShieldFore

LegendaryAssociation:Engineer:ShieldAft

LegendaryAssociation:Engineer:ShieldPort

LegendaryAssociation:Engineer:ShieldStarboard

LegendaryAssociation:Engineer:ShieldTop

LegendaryAssociation:Engineer:ShieldBottom

LegendaryAssociation:Helm:Impulse

LegendaryAssociation:Security:Transporter

LegendaryAssociation:Medical:Medical

LegendaryAssociation:Science:Scanners

LegendaryAssociation:Science:ECM

LegendaryAssociation:Weapons:Fwd Bank

LegendaryAssociation:Weapons:Fwd Hvy Disruptors

LegendaryAssociation:Weapons:Fwd Photon Bay

LegendaryAssociation:Weapons:Fwd FMPA Cannons

LegendaryAssociation:Weapons:Fwd Assault Bank

LegendaryAssociation:Weapons:Fwd Lt Bay

LegendaryAssociation:Weapons:Fwd Med Bay

LegendaryAssociation:Weapons:Fwd Hvy Bay

LegendaryAssociation:Weapons:Fwd GHRC System

LegendaryAssociation:Weapons:Fwd Plasma Bay

LegendaryAssociation:Weapons:Fwd GDDS System

LegendaryAssociation:Weapons:Fwd QCB System

LegendaryAssociation:Weapons:Fwd Ballistic Rail

LegendaryAssociation:Weapons:Fwd ATGB Launcher

LegendaryAssociation:Weapons:Fwd ATG Launcher

LegendaryAssociation:Weapons:Fwd MW Silo

LegendaryAssociation:Weapons:Submunition

LegendaryAssociation:Weapons:Fwd CFDIC

LegendaryAssociation:Weapons:Fwd AMFP System

LegendaryAssociation:Weapons:Aft Bank

LegendaryAssociation:Weapons:Aft Hvy Disruptors

LegendaryAssociation:Weapons:Aft Photon Bay

LegendaryAssociation:Weapons:Aft FMPA Cannons

LegendaryAssociation:Weapons:Aft Assault Bank

LegendaryAssociation:Weapons:Aft Lt Bay

LegendaryAssociation:Weapons:Aft Med Bay

LegendaryAssociation:Weapons:Aft Hvy Bay

LegendaryAssociation:Weapons:Aft Plasma Bay

LegendaryAssociation:Weapons:Aft ATG Launcher

LegendaryAssociation:Weapons:Aft MW Silo

LegendaryAssociation:Weapons:Aft CFDIC

LegendaryAssociation:Weapons:Stbd Bank

LegendaryAssociation:Weapons:Port Bank

LegendaryAssociation:Weapons:Stbd Hvy Disruptors

LegendaryAssociation:Weapons:Port Hvy Disruptors

LegendaryAssociation:Weapons:Stbd Photon Bay

LegendaryAssociation:Weapons:Port Photon Bay

LegendaryAssociation:Weapons:Stbd Assault Bank

LegendaryAssociation:Weapons:Port Assault Bank

LegendaryAssociation:Weapons:Stbd ATG Launcher

LegendaryAssociation:Weapons:Port ATG Launcher

LegendaryAssociation:Weapons:Stbd MW Silo

LegendaryAssociation:Weapons:Port MW Silo

#

 

 

Probes, Shuttles, And Mines:  *************************************

 

This section is used to define launchable and ejectable items that the ship may carry. [WarpCore] defines what race’s warpcore is ejected in the case of a core overload (rare in the game, but it’s cool when it does happen). [ProbeName] defines what model of probe is launched from the ship, and [ProbeCount] is the number of probes carried by the ship.

 

############################## PROBES, SHUTTLES, AND MINES #############################

#

WarpCore: FWC

ProbeName: FPS

ProbeCount: 5

#

 

Fighters:

 

This section is usually where fighter definitions are found as well. A typical [Fighters] line will look like this:

 

Fighters:15:SA1

Format is: [Fighters]:[Fighter Number]:[Fighter Type]

 

[Fighters] simply defines the resource.

 

[Fighter Number] defines the number of fighters carried by the ship. Note that a ship will only launch 5 fighters at a time, regardless of how many are carried on board. After a fighter is destroyed ingame, a replacement can be sent out, and can be done over again until you reach the maximum number of fighters carried by the ship.

 

[Fighter Type] can be changed to be virtually anything that can be loaded into the game. Change this to [FBB2], and the ship will launch Yamato Battleships as its fighters. Bear in mind that a [Fighters] line can’t just be added to the shp file: The ship’s lwo also requires “FighterStart 1” and “FighterDir 1” points included in it, much the same way that weapons require weapons points in the lwo.

 

 

Damage Immunities & Modifiers:  *********************************

 

This section defines ship death conditions, via a destroyed resource. In this case, once the [Hull] resource reaches zero, the ship is destroyed. Other systems could be added here, such as [Impulse], so that if the impulse engines are destroyed, the ship goes with it.

 

######################## DAMAGE IMMUNITIES & MODIFIERS #################################

#

ImmuneNormal:Disabler

DeathCondition:(Hull)

#

 

 

Disabled Resources:   ********************************************

 

This section doesn’t appear to do anything.

 

######################## DISABLED RESOURCES ############################################

#################### Is this necessary for KA? #########################################

#

# This section defines what resources need to be hurt in order to meet

# the definition of DISABLED for the scripts.

Disable: Disabler

DisableWithShip: Phasers

DisableWithShip: Photons

DisableWithShip: Impulse

DisableWithShip: Warp

DisableWithShip: Tractor Beam

#

 

 

Weapons Definitions:  ********************************************

 

This section defines many of the parameters for the ships’ weapons, such as range, velocity, and a slew of other factors. The format is:

 

WeaponInfo:[Weapon Slot]:[Weapon Name]:[Weapon Graphic]:[Damage]:[Initial Velocity]:[Linear Velocity]:[Linear Acceleration]:[Angular Velocity]:[Angular Acceleration]:[Range]:[Cone Angle]:[Inaccuracy]:[Red]:[Green]:[Blue]:[Number Available]:[Sound]:[Weapon Type]:[Extra Parameter]

 

[Weapon Slot] defines what slot ([Primary], [Secondary], [Heavy], [Special]) that the weapon is defined in. This will match the naming on the weapon points in the ship’s lwo.

 

[Weapon Name] defines how the weapon is labeled in the ship’s Weapons and Damage Control screens. Note that this must match the name in the ship’s #Resource Definitions# section.

 

[Weapon Graphic] defines what graphic or object is used as the beam or projectile that is rendered ingame.

 

[Damage] this value doesn’t do anything.

 

[Initial Velocity] is the starting velocity of the beam or projectile, as it leaves the weapon point.

 

[Linear Velocity] is the maximum velocity of the beam or projectile once it has finished accelerating.

 

[Linear Acceleration] is the rate that the weapon’s beam or projectile accelerates at.

 

[Angular Velocity] Like the ship’s [maxAngularVelocity], this value determines a projectile’s maximum turn rate, provided it has [Seeking] defined in the [Extra Parameters] section.

 

[Angular Acceleration] Like the ship’s [maxAngularAcceleration], this determines the acceleration of the turn rate: that is, this determines how fast the projectile can reach it’s [maxAngularVelocity] once the projectile starts begins maneuvering, provided it has [Seeking] defined in the [Extra Parameter] section.

 

[Range] defines the weapon’s maximum range, in kelicams (kilometers).

 

[Cone Angle] determines the firing angle of the weapon, measured in degrees. Note that the value is measured from the weapon’s centerline to its maximum extent, meaning that a value of [20] will actually cover a full 40° cone.

 

[Inaccuracy] this value doesn’t do anything.

 

[Red]:[Green]:[Blue] these values don’t do anything.

 

[Number Available] can be used to limit the number of shots available in the weapon. Using a value of [0] leaves the number of shots at infinite, and is the default for pretty much anything in the game. This is a holdover from Starfleet Academy, of which gave each ship a limited number of Torpedoes in the ship’s magazine. The same effect can be used in Klingon Academy; however, there is no counter to keep track of remaining shots included in the game’s HUD.

 

[Sound] defines the sound effect the weapon uses. Browse through the ‘sounds.dat’ file to see what sounds are available.

 

[Weapon Type] defines whether the weapon is Beam, Projectile, or Tractor based.

 

[Extra Parameters] is actually a set of parameters that can be added onto a weapon, with virtually any number and combination of the following parameters added:

 

[ShieldWeapon] Causes damage primarily to the target’s shields, rather than to the hull.

 

[BrownOut] Causes a temporary power brownout on the ship, to simulate a power overload, or a heavy energy drain from the weapon.

 

[Radiation] Causes damage to the target’s crew.

 

[BreakdownStress] Each firing of the weapon gives the chance of causing a Warp breakdown, similar in effect to what may happen when executing an emergency turn.

 

[NotBolt] Is used on beam weapons, and tells the game to draw a phaser full from start to finish. Leaving it off of a phaser weapon causes it to fire like a disruptor, and putting it on a disruptor will make the bolt graphic fire in a steady beam.

 

[Seeking] is used to make projectile weapons track its target.

 

[Dissipating] Causes the weapon to lose its effectiveness the further it goes from its origin. This is used to simulate a weapon that looses power the further it goes, such as a phaser or plasma torpedo.

 

[Bleedthrough] allows the weapon to put 20% of its damage past the target’s shields, directly to the hull.

 

[AMFP] designates the weapon as using the ingame AMFP effect, used on the Antimatter Field Projector.

 

[GDDS] designates the weapon as using the ingame GDDS effect, used on the Graviton Density Distortion Sphere weapon.

 

[Submunitions] designates the weapon as using submunitions that will be launched from the projectile reaches its maximum range. This option is used on the Shakurian Multi-Warhead missiles.

 

[Tractor] designates the weapon as a tractor beam-based weapon, such as a QCB or GHRC. A tractor-based weapon must use either [Cage], [Pulses] or [Turbulence], for the weapon to be effective. A combination of any of the three will also work, to add different effects to the weapon:

 

[Cage] allows a [Tractor] weapon to use to ingame Tholian Web Spinner effect, immobilizing the target.

 

[Pulses] allows a [Tractor] weapon to ‘pulse’ its damage to the target. As with normal weapons, damage is done to the shields first. There appear to be 6 pulses used in each firing of the weapon. Used on the QCB.

 

[Turbulence] allows a [Tractor] weapon to physically shake the target ship. This modifier bypasses target’s shields entirely, directly damaging the hull and systems on the ship. Used on the GHRC.

 

 

######################## WEAPONS DEFINITIONS ###########################################

#

# set the primary and secondary weapons parameters.

# The names are the names of the resources that are the primary or secondary weapons

# Damage is the amount of damage done by these.

#

#     23Mar99, 11:26:  new weapons parameters format, old stuff commented out.

# New format:

#     WeaponInfo:Primary/Secondary/Heavy/Heavy2/Special:name:prefix:damage:initialVelocity:

#     linearVelocity:linearAcceleration:angularVelocity:angularAcceleration:range:coneAngle:

#     inaccuracy:red:green:blue:numAvailable:soundName:Beam/Projectile/Tractor:Any number

#     of ShieldWeapon/BrownOut/Radiation/BreakdownStress/NotBolt/Seeking/Dissipating/Bleedthrough

# Note:  the damage done by a weapon is actually the output of the bank, not the damage

# specified here.

#

# FEDERATION PHASER

WeaponInfo:Primary:Phasers:fphas:1.2:20000:20000:0:0:0:15000: 50:0.0:1.0:1.0:0.0:0:WEAPONS_PHASER_NORMAL_FEDERATION:Beam:NotBolt:Dissipating

#

# PHOTON TORPEDOES

WeaponInfo:Secondary:Photon Torps:photon:5:4300:15000:4300:0.045:0.013:10000: 20:0.0:1.0:0.0:0.0:0:WEAPONS_PHOTON_NORMAL:Projectile:Bleedthrough

#

 

 

Ginsu Resource Definitions:  **************************************

 

Once again, this section appears to do nothing.

 

######################## GINSU RESOURCE DEFINITIONS ####################################

#

# mark these resources as resources that will blow up parts of the ship

#

Hide: Probe

#

 

 

Alert Status Resource Links:  *************************************

 

This section defines what systems need to be activated to trigger an alert status level. While this doesn’t actually cause an alarm to go off ingame, the alert status is used to trigger animations, such as the Bird of Prey’s wings to move up or down. The alert level defined here will correspond with the animation (lws) files defined later in the #ANIMATIONS AND SCENE FILE (LWS) DEFINITIONS# section.

 

######################## ALERT STATUS RESOURCE LINKS ###################################

################ I believe these are becoming obsolete in KA ###########################

#

# Alert Status:  This section determines what resources are available at

# which Alert Level.  If a resource is not listed here, it is considered

# to be on/off as determined by the resource definition.

RedAlert: Fwd Photon Bay

RedAlert: Fwd Bank

RedAlert: Aft Bank

RedAlert: Port Bank

RedAlert: Stbd Bank

RedAlert: ShieldTop

RedAlert: ShieldFore

RedAlert: ShieldStarboard

RedAlert: ShieldAft

RedAlert: ShieldPort

RedAlert: ShieldBottom

YellowAlert: ShieldTop

YellowAlert: ShieldFore

YellowAlert: ShieldStarboard

YellowAlert: ShieldAft

YellowAlert: ShieldPort

YellowAlert: ShieldBottom

#

 

 

Resource Activation Times:  **************************************

 

This section is used if a system requires a delay in its activation. Shields in KA always have a 2 second delay, hence the 2000 milliseconds listed in the above entries. Other systems can be added here to alter their activation time.

 

######################## RESOURCE ACTIVATION TIMES #####################################

#

# Activation Time:  How long does it take for a resource to come "online"

# once power has been allocated to it.

# Format: ActivateTime: Resource: milliseconds

ActivateTime: Tractor Beam: 0

ActivateTime: ShieldFore: 2000

ActivateTime: ShieldAft: 2000

ActivateTime: ShieldPort: 2000

ActivateTime: ShieldStarboard: 2000

ActivateTime: ShieldTop: 2000

ActivateTime: ShieldBottom: 2000

#

 

 

Interface Screen Definitions:  **************************************

 

This section defines the Interface Screens in the game. There’s very little that can be changed here, since all races use the same entries, and are only differentiated by the earlier [Race] definition. Note that Tholian ships will lack a [Screen:SecurityScreen:simsecu.sdf] line, due to the fact that Tholian ships carry no marines.

 

################### INTERFACE SCREEN DEFINITIONS ############################

#

# All of the screens in this ship

# The names of these cannot be the same names as any resource or system

#

Screen:Mainview:sim.sdf

Screen:FullView:fullscr.sdf

Screen:GuruScreen:guru.sdf

Screen:TurboLift:simlift.sdf

#

# ------ Bridge Station Interface Screens For This Ship ------

Screen:LibraryScreen:simlib.sdf

Screen:EngineeringScreen:simeng.sdf

Screen:CommunicationsScreen:simcom.sdf

Screen:ScienceScreen:simsci.sdf

Screen:HelmScreen:simhelm.sdf

Screen:NavigationScreen:simnav.sdf

Screen:MedicalScreen:simmed.sdf

Screen:SecurityScreen:simsecu.sdf

Screen:DamageScreen:simdam.sdf

#

# ------ Starting Screen For This Ship ------

SelectScreen:Mainview

#

 

 

Radar Damage Graphics:  ****************************************

 

This line defines the ship silhouette that appears in the HUD. The file itself is in the ship’s ‘Damage’ folder, and will be a grayscale pcx file.

 

################# RADAR DAMAGE GRAPHICS DEFINITIONS #########################

#

radarBase:fca.rad

#

 

 

Animations And Scene File Definitions:  ****************************

 

This section defines what animations are used for the ship’s model. Ships with no animation, or a cyclical one (such as flashing running lights) will only have a single file, referring to it’s matching lws file in the ship’s animation folders, labeled ‘High’, ‘Medium’, ‘Low’, etc.

 

############ ANIMATIONS AND SCENE FILE (LWS) DEFINITIONS ####################

#

Animation:default:fca_def

#

 

Animations that are triggered by turning a system on or off, such as the Bird of Prey, will have 2 files, one for each position of the part of the ship that is animated. The two files the stock Bird of Prey has are named ‘kecc_def.lws’ and ‘kecc_up.lws’. Each Alert Status that triggers the animation (see #ALERT STATUS RESOURCE LINKS#) is defined along with the animation file that holds the position required for the object’s position. As an example, the following are the lines for the stock KECC Bird of Prey:

 

Animation:default:K-22_def

Animation:up:-K-22_up

Animation:down:+K-22_up

Animation:Green:-K-22_up

Animation:Yellow:+K-22_up

Animation:Red:+K-22_up

 

 

Level Of Detail Range Definitions (LOD):  **************************

 

This section allows you to adjust how far the game draws the various levels of detail for the ship, and at what distance the mipmapping levels change. The [Range] values define the distances for the LOD objects to be drawn, however if the ship you have is made from scratch, you’ll need to make successively simpler models and place them in their respective ‘High’, ‘Medium’, ‘Low’, etc. folders. [MipMapLevels] however, can be changed using the same texture, as the game can use that same texture at different levels of detail.

 

################# LEVEL OF DETAIL RANGE DEFINITIONS #########################

#

# The range command tells when to use a certain set of animations.

# Format is:

#

# Range:<dirname>:minimum distance

#

# Where <dirname> is the name of the directory in the ship directory where

# all of the animations are kept for that object, and minimum distance is

# the minimum distance to start this animation

Range:high:0.0

Range:medium:8500

Range:low:16000

Range:Slow:40000

MipMapLevels:6000:15000:20000:25000:30000:32500:35000:37500

#

 

 

Texture Location & Debris Folder:  ********************************

 

This section is used to define what size of debris is used, for when a damaged surface ginsus.

 

[Texture] isn’t actually used, as all of the games textures are stored in the same folder.

 

[DebrisFolder] determines the size of the debris ejected when a surface is destroyed. The options are [large], [medium], [small], [crystal] (for Tholian ships), and [Klingon], (slightly better detailed than the regular debris).

 

[Shieldname] defines the name of the shield object. The file is stored in the ship’s main folder, and is always named ‘shld_1_0.lwb’. As only one shield object can be loaded per ship, there’s little point to change the name.

 

########################## TEXTURE LOCATION #################################

################## And Ginsu Debris Folder Name #############################

#

# The name of the directory where the ships Textures may be found.

Texture:texture

DebrisFolder:medium

Shieldname:shld_1_0

#

 

 

AI Personality Definition:  ****************************************

 

This section defines basic parameters for how the ship’s AI reacts. Since KA’s AI is notoriously dumb to begin with, the values don’t appear to affect the ship’s reactions a great deal, but they supposedly influence its behavior somewhat.

 

###################### AI PERSONALITY DEFINITION ############################

#

# Specify personality of the ship. Personality consists of 3 components: (1) reward

# seeking (i.e., hurting enemy), (2) harm avoidance, and (3) novelty seeking,

# respectively. Each value must be between 0.0 and 1.0.

# Example:

#

Personality: 0.8  0.7  0.6

#

 

 

Appendix:  *****************************************************

 

Renaming Weapons:  ********************************************

 

Although you can’t add or subtract weapons solely through the shp file, one thing that you can do is rename them if needed. This is done in two parts of the shp file: #Resource Definitions#, and #Weapons Definitions#.

 

Ordinarily, a ship set up with two forward phasers would look like this:

 

# +Primary Weapons+

Resource: Phasers:actPhasers:usePhasers:damResPhasers:repairPhasers:5000:0:on:1.0:1.0:1.0

Resource: Fwd Bank(Phasers):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:0:on:1.0:1.0:1.0

Resource: Fwd Phaser 1(Fwd Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Fwd Phaser 2(Fwd Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

 

The first line is the actual Resource Definition line for all phasers on the ship. The second line defines the phasers for the given arc, forward [Fwd] in this case. The 3rd and 4th lines define the individual phasers themselves.

 

Let’s change the weapon’s name to ‘Forcebeams’. To change the name of the weapon, the Resource Name in the 1st line must be changed, as well as the name in each Arc Resource (2nd) line. Both must match, and will look like this when completed:

 

# +Primary Weapons+

Resource: Forcebeams:actPhasers:usePhasers:damResPhasers:repairPhasers:5000:0:on:1.0:1.0:1.0

Resource: Fwd Bank(Forcebeams):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:0:on:1.0:1.0:1.0

Resource: Fwd Phaser 1(Fwd Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

Resource: Fwd Phaser 2(Fwd Bank):actPhasers:usePhasers:damResPhasers:repairPhasers:5000:4:on:1.0:1.0:1.0

 

The name must also match the [Weapon Name] entry in the #Weapons Definitions# section:

 

#

WeaponInfo:Primary:Forcebeams:fbeamh:1.2:100000:100000:0:0:0:55000: 50:0.0:1.0:1.0:0.0:0:WEAPONS_PHASER_NORMAL_GORN:Beam:NotBolt:Dissipating

#

 

 

Weapon Recharge and Spacing:  ***********************************

 

With stock weapons, the game has a certain set of default parameters to determine the recharge times and rate-of-fire that a given weapon has. If you change the name of a weapon, the game doesn’t have any values to determine the behavior of the weapon and simply fires like a machine gun. To define the Recharge Time for the weapon, include these [LeavesOnly] lines:

 

#+----------------------------------Weapon Recharge Times----------------------------------+

#

ResourceOutputFunctionParams:Forcebeams:LEAVESONLY:     0:   0:   0:   0:    1.0:   1.0:    0.75:    0.25

ResourceChargeRateFunctionParams:Forcebeams:LEAVESONLY: 0:   1:   0:   1:    1.0:   0.6:    0.75:    0.25

ResourceMaxChargeFunctionParams:Forcebeams:LEAVESONLY:  0:   3:   0:   3:    1.0:   1.0:     1.0:     1.0

 

Note that the weapon name must match the naming included earlier in the #Resource Definitions# and #Weapons Definitions# sections. The values here work in a similar fashion to the values in the #Resource Definitions# section, however the 2nd and 4th numbers in the 2nd and 3rd lines are what determines how long the charging rate is. Dividing the numbers in the 3rd line into the numbers from the 2nd determines the recharge rate, in seconds. In this case, 3 ÷ 1 = 3, or a recharge rate of 3 seconds. As in other #Resource Definitions# lines, the numbers can differ, if you want the weapon to load either faster or slower when it’s overloaded.

 

To control the spacing between the firing of individual weapons, include these [NodeOnly] lines:

 

#+----------------------------------Weapon Spacing----------------------------------+

#

ResourceOutputFunctionParams:Fwd Bank:NODEONLY:         0:   0:   0:   0:    1.0:   1.0:    0.75:    0.25

ResourceChargeRateFunctionParams:Fwd Bank:NODEONLY:     0:  20:   0:  20:    1.0:   0.6:    0.75:    0.25

ResourceMaxChargeFunctionParams:Fwd Bank:NODEONLY:      0:  10:   0:  10:    1.0:   1.0:     1.0:     1.0

 

Note that rather than using the weapon’s name here, the arc [Fwd Bank] is used instead. Otherwise, the values work the same as in the [LeavesOnly] lines for the weapon recharge: 10 ÷ 20 = 0.5, or a fire rate of once every ½ second between each individual weapon.

 

Note that for weapon spacing, each arc on the ship will require these definitions, so on a ship with all arcs armed you will have 4 sets of these lines.

 

 

Revision History  ************************************************

 

05/11/20: Added caveat on shp file inaccuracies; added formula for calculating shield recharge rates; added values to #Extra Parameters# under #Weapons Definitions#: AMFP, GDDS, Submunitions, Tractor, Cage, Pulses, Turbulence.

 

05/11/21: Added hyperlinking to the tutorial, and adjusted the format flow.

 

06/06/19: Corrected shield recharge time values for key combat ships, and added alternate shield recharge rates for ship classes CC and above.