Difference between revisions of "HowTo:Edit units.csv"

From VsWiki
Jump to: navigation, search
 
(links fix)
 
(34 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
{{NAV_Manual |
 
{{NAV_Manual |
| previous=[[HowTo:Create Ships in Wings3D|Create Ships in Wings3D]]
+
| previous=[[HowTo:Add Per Pixel Lighting|Add Per Pixel Lighting]]
| up=[[HowTo]]
+
| up=[[HowTos]]
 
| next=[[HowTo:Edit Unit Files|Edit Unit Files]]
 
| next=[[HowTo:Edit Unit Files|Edit Unit Files]]
 
}}
 
}}
 
----
 
----
 
{{attention}}
 
{{attention}}
=UNITS.CSV=
 
The '''[http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vegastrike/data4.x/units/units.csv?rev=HEAD&content-type=text/vnd.viewcvs-markup Units.csv]''' file contains specific information on all [[Vessels & Installations|Vessels and Installations]] and [[Upgrades|Upgrades]] in VegaStrike.
 
  
==Units File==
+
The {{CVS:units.csv}} file contains specific information on all [[Vessels & Installations|Vessels and Installations]] and [[Upgrades|Upgrades]] in VegaStrike. This has replaced the <code>[[HowTo:Edit Unit Files|xunit.xml]]</code> files.
The '''[http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vegastrike/data4.x/units/units.csv?rev=HEAD&content-type=text/vnd.viewcvs-markup units.csv]''' is a comma delimited text file which can be edited with any spreadsheet program.
 
  
NOTE: Microsoft Works has problems with the long description columns. For a free alternative, use [http://www.openoffice.org OpenOffice].
+
=The <code>units.csv</code> file=
 +
The {{CVS:units.csv}} is a comma delimited text file which can be edited with any spreadsheet program.
  
===Columns in Units File===
+
NOTE: Microsoft Works has problems with the long description columns.  For a free alternative, try [http://www.openoffice.org OpenOffice].
The original desciption of the xunit syntax from hellcatv is located in [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vegastrike/data/units/description.xunit?rev=HEAD&content-type=text/vnd.viewcvs-markup CVS]
 
  
The columns of the units.csv file and their description are;
+
==Columns in the <code>units.csv</code> file==
*Key
+
The original description of the xunit syntax from hellcatv is located in [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vegastrike/data/units/description.xunit?view=log CVS].  The columns of the {{CVS:units.csv}} file and their description are;
*Directory
+
{{Fixme}} ''Copy Descriptions from [[HowTo:Edit Unit Files]]''
*Name
 
*FoFID
 
*Object_Type
 
*Combat_Role
 
*Textual_Description
 
*Hud_image
 
*Unit_Scale
 
*Cockpit
 
**CockpitX
 
**CockpitY
 
**CockpitZ
 
*Mesh
 
**Shield_Mesh
 
**Rapid_Mesh
 
**BSP_Mesh
 
**Use_BSP
 
**Use_Rapid
 
*Mass
 
*Moment_Of_Inertia
 
*Convex_Hull_Volume
 
*Fuel_Capacity
 
*Hull
 
**Armor_Front_Top_Right
 
**Armor_Front_Top_Left
 
**Armor_Front_Bottom_Right
 
**Armor_Front_Bottom_Left
 
**Armor_Back_Top_Right
 
**Armor_Back_Top_Left
 
**Armor_Back_Bottom_Right
 
**Armor_Back_Bottom_Left
 
**Shield_Front_Top_Right
 
**Shield_Back_Top_Left
 
**Shield_Front_Bottom_Right
 
**Shield_Front_Bottom_Left
 
**Shield_Back_Top_Right
 
**Shield_Front_Top_Left
 
**Shield_Back_Bottom_Right
 
**Shield_Back_Bottom_Left
 
**Shield_Recharge
 
**Shield_Leak
 
*Warp_Capacitor
 
*Primary_Capacitor
 
*Reactor_Recharge
 
*Jump_Drive_Present
 
*Jump_Drive_Delay
 
*Wormhole
 
*Outsystem_Jump_Cost
 
*Warp_Usage_Cost
 
*Afterburner_Type
 
*Afterburner_Usage_Cost
 
*Maneuver_Yaw
 
*Maneuver_Pitch
 
*Maneuver_Roll
 
*Yaw_Governor
 
*Pitch_Governor
 
*Roll_Governor
 
*Afterburner_Accel
 
*Forward_Accel
 
*Retro_Accel
 
*Left_Accel
 
*Right_Accel
 
*Top_Accel
 
*Bottom_Accel
 
*Afterburner_Speed_Governor
 
*Default_Speed_Governor
 
*ITTS
 
*Radar_Color
 
*Radar_Range
 
*Tracking_Cone
 
*Max_Cone
 
*Lock_Cone
 
*Hold_Volume
 
*Can_Cloak
 
*Cloak_Min
 
*Cloak_Rate
 
*Cloak_Energy
 
*Cloak_Glass
 
*Repair_Droid
 
*ECM_Rating
 
*ECM_Resist
 
*Ecm_Drain
 
*Hud_Functionality
 
*Max_Hud_Functionality
 
*Lifesupport_Functionality
 
*Max_Lifesupport_Functionality
 
*Comm_Functionality
 
*Max_Comm_Functionality
 
*FireControl_Functionality
 
*Max_FireControl_Functionality
 
*SPECDrive_Functionality
 
*Max_SPECDrive_Functionality
 
*Slide_Start
 
*Slide_End
 
*Activation_Accel
 
*Activation_Speed
 
*Upgrades
 
*Prohibited_Upgrades
 
*Sub_Units
 
*Sound
 
*Light
 
*Mounts
 
*Net_Comm
 
*Dock
 
*Cargo_Import
 
*Cargo
 
*Explosion
 
*Equipment_Space
 
*Num_Animation_Stages
 
*Upgrade_Storage_Volume
 
*Heat_Sink_Rating
 
  
 +
* Key ''(Key)''
 +
* Directory ''(String)''
 +
* Name ''(string)''
 +
* STATUS ''(string)'' - Development status, for internal use only.
 +
* <s>FoFID ''(string)''</s> (currently is not supported)
 +
* Object_Type ''(string)''
 +
* Combat_Role ''(string)'' - combat role that the ship has. It selects the row in [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/ai/VegaEvents.csv?view=log ai/VegaEvents.csv] and [http://vegastrike.svn.sourceforge.net/viewvc/vegastrike/trunk/data/ai/VegaPriorities.csv?view=log ai/VegaPriorities.csv] tables, defining the action choice and target priorities.
 +
* Textual_Description ''(string)''
 +
* Hud_image ''(string)'' - HUD image, a sprite format file. Extension <code>.spr</code>. See also [[HowTo:Edit HUDs]].
 +
* Unit_Scale ''(float)'' - Sets the scaling of the unit in the game
 +
* Cockpit ''(string)'' - Defines a cockpit for the ship. Points to a cockpit file. Extension <code>.cpt</code>. See also [[HowTo:Edit HUDs]].
 +
* CockpitX ''(x=float)'' - Coordinates where the Cockpit should be in the Unit/Ship
 +
* CockpitY ''(y=float)'' - Coordinates where the Cockpit should be in the Unit/Ship
 +
* CockpitZ ''(z=float(meters))'' - Coordinates where the Cockpit should be in the Unit/Ship
 +
* Mesh <code>({filename(string);frame(int);texturetime(float)})</code>
 +
** filename - Points to a xmesh-file of the ship. Extension <code>.xmesh</code>
 +
** frame - ('''optional''') Defines the starting-frame of a mesh animation. See [http://forums.vega-strike.org/viewtopic.php?p=9688#9688 forums] for more.
 +
** texturetime - ('''optional''') Defines the starting delay of a mesh animation. See [http://forums.vega-strike.org/viewtopic.php?p=9688#9688 forums] for more.
 +
** Example: <code>{llama.bfxm;;}</code>
 +
* Shield_Mesh ''(string)'' - ('''optional''') xmesh-file to use for the shield instead of a sphere. Extension <code>.xmesh</code>
 +
* Rapid_Mesh ''(string)'' - ('''optional''') xmesh-file to load and use for collisions with other units/ships/... instead of the Meshfile from above (not drawn) Extension <code>.xmesh</code>
 +
* BSP_Mesh ''(string)'' - ('''optional''') xmesh-file to use for beam and bolt collisions (not drawn) Extension <code>.xmesh</code>
 +
* Use_BSP ''(boolean)''
 +
* Use_Rapid ''(boolean)''
 +
* Mass ''(metric tons)'' - mass in metric tonnes (kkg)
 +
* Moment_Of_Inertia ''(metric tons * meters*meters)''
 +
* <s>Convex_Hull_Volume ''(meters * meters * meters)''</s>  (currently is not supported)
 +
* Fuel_Capacity ''(metric tons)''
 +
* Hull ''(VSD)'' - Specifies the ships Hull durability
 +
* Armor_Front_Top_Right ''(VSD)'' - Specifies the ships physical armor
 +
* Armor_Front_Top_Left ''(VSD)'' - Specifies the ships physical armor
 +
* Armor_Front_Bottom_Right ''(VSD)'' - Specifies the ships physical armor
 +
* Armor_Front_Bottom_Left ''(VSD)'' - Specifies the ships physical armor
 +
* Armor_Back_Top_Right ''(VSD)'' - Specifies the ships physical armor
 +
* Armor_Back_Top_Left ''(VSD)'' - Specifies the ships physical armor
 +
* Armor_Back_Bottom_Right ''(VSD)'' - Specifies the ships physical armor
 +
* Armor_Back_Bottom_Left ''(VSD)'' - Specifies the ships physical armor
 +
* Shield_Front_Top_Right ''(VSD)'' - Specifies the ships Shield (electric armor). Used for all shields.
 +
* Shield_Back_Top_Left ''(VSD)'' - Specifies the ships Shield (electric armor). Used for all shields.
 +
* Shield_Front_Bottom_Right ''(VSD)'' - Specifies the ships Shield (electric armor). Not used for dual shields.
 +
* Shield_Front_Bottom_Left ''(VSD)'' - Specifies the ships Shield (electric armor). Not used for dual shields.
 +
* Shield_Back_Top_Right ''(VSD)'' - Specifies the ships Shield (electric armor). Not used for dual or quad shields.
 +
* Shield_Front_Top_Left ''(VSD)'' - Specifies the ships Shield (electric armor). Not used for dual or quad shields.
 +
* Shield_Back_Bottom_Right ''(VSD)'' - Specifies the ships Shield (electric armor). Not used for dual or quad shields.
 +
* Shield_Back_Bottom_Left ''(VSD)'' - Specifies the ships Shield (electric armor). Not used for dual or quad shields.
 +
* Shield_Recharge ''(VSD/second)'' - Shield regeneration if not violating speed limit
 +
* Shield_Leak ''(percentage)'' - ('''optional''') how much leak these shields have (usually 0%)
 +
* Warp_Capacitor ''(800MJ)'' - SPEC energy storage, fuel with "WC Fuel Hack" on (see [[Manual:Config:Advanced:Variables#.22physics.22_section|<code>physics/fuel_equals_warp</code>]])
 +
* Primary_Capacitor ''(100MJ)''
 +
* Reactor_Recharge ''(100MJ/s)''
 +
* Jump_Drive_Present ''(Boolean )'' - boolean whether the jump drive is missing (assumed missing in absence of tag)
 +
* Jump_Drive_Delay ''(seconds)'' - seconds before jump drive initiates
 +
* Wormhole ''(boolean)'' - forces units to teleport upon touching this one
 +
* Outsystem_Jump_Cost ''(800MJ)'' - energy to use a wormhole
 +
* Warp_Usage_Cost ''(800MJ/second)'' - energy to teleport or use SPEC (the latter divided by [[Manual:Config:Advanced:Variables#.22physics.22_section|<code>physics/warpbleed</code>]])
 +
* Afterburner_Type ''(int type )'' - Specifies the ships engine. Type 1 uses fuel, 0 - reactor energy, 2 - jump fuel, 3 - "NO AFTERBURNER".
 +
* Afterburner_Usage_Cost ''(100MJ/s)''
 +
* Maneuver_Yaw ''(metric tons*degrees/second^2)'' -  Specifies the ships angular acceleration
 +
* Maneuver_Pitch ''(metric tons*degrees/second^2)'' -  Specifies the ships angular acceleration
 +
* Maneuver_Roll ''(metric tons*degrees/second^2)'' -  Specifies the ships angular acceleration
 +
* Yaw_Governor ''(degrees/sec)''  - maximum yaw
 +
* Pitch_Governor ''(degrees/sec)'' - maximum pitch
 +
* Roll_Governor ''(degrees/sec)'' - maximum roll
 +
* Afterburner_Accel ''(metric tons*m/s^2)'' - Thrust with afterburners
 +
* Forward_Accel ''(metric tons*m/s^2)'' - Thrust without afterburners
 +
* Retro_Accel ''(metric tons*m/s^2)'' - Reverse thrust
 +
* Left_Accel ''(metric tons*m/s^2)'' - Left thrust
 +
* Right_Accel ''(metric tons*m/s^2)'' - Right thrust 
 +
* Top_Accel ''(metric tons**m/s^2)'' - Top thrust 
 +
* Bottom_Accel ''(metric tons*m/s^2)'' - Bottom thrust 
 +
* Afterburner_Speed_Governor ''(meters/second)''  - Max safe speed with afterburners
 +
* Default_Speed_Governor ''(meters/second)'' - Max safe speed without afterburner
 +
* ITTS ''(boolean)'' - if the unit has ability to target track with lead
 +
* Radar_Color ''(boolean)'' - if unit has color radar
 +
* Radar_Range ''(meters)'' - maximum range of radar
 +
* Tracking_Cone ''(Degrees)'' - cone in which [[Manual:Combat:Target_tracking|autotracking]] works
 +
* Max_Cone ''(Degrees)'' - cone in which the radar sees objects. Usually is set to 180 (i.e. the full sphere).
 +
* Lock_Cone ''(Degrees)'' - cone in which missiles gain locking time
 +
* Hold_Volume ''(m^3)'' - volume in cargo units
 +
* Can_Cloak ''(boolean)''
 +
* Cloak_Min ''(percentage)'' - minimum percentage of cloakedness
 +
* Cloak_Rate ''(percentage/second)'' - time per second to cloak
 +
* Cloak_Energy ''(800MJ/s)'' - how much energy this takes.
 +
* Cloak_Glass ''(boolean)'' - boolean whether or not effect 2 is used
 +
* Repair_Droid ''(int)'' - defines the speed of repairs. Repair time = [[Manual:Config:Advanced:Variables#.22physics.22_section|<code>physics/RepairDroidTime</code>]]*(remained functionality)/Repair_Droid. Also, critical hits to the repair system decrease this by one.
 +
* ECM_Rating ''(int)'' - each simulation frame, the probability of missile losing the protected target is proportional to this.
 +
* ECM_Resist ''(int)'' {{FIXME}} - currently does nothing.
 +
* Ecm_Drain ''(800MJ/s)'' {{FIXME}} - currently does nothing.
 +
* Hud_Functionality ''(1 normalized fraction)''
 +
* Max_Hud_Functionality ''(1 normalized fraction)''
 +
* Lifesupport_Functionality ''(1 normalized fraction)''
 +
* Max_Lifesupport_Functionality ''(1 normalized fraction)''
 +
* Comm_Functionality ''(1 normalized fraction)''
 +
* Max_Comm_Functionality ''(1 normalized fraction)''
 +
* FireControl_Functionality ''(1 normalized fraction)''
 +
* Max_FireControl_Functionality ''(1 normalized fraction)''
 +
* SPECDrive_Functionality ''(1 normalized fraction)''
 +
* Max_SPECDrive_Functionality ''(1 normalized fraction)''
 +
* Slide_Start ''(seconds)'' - ('''optional''') number of tenths of seconds before fully reacting to keyboard (smoothing)
 +
* Slide_End ''(seconds)''  - ('''optional''') number of tenths of seconds to stop
 +
* Activation_Accel ''(m/s^2)'' {{FIXME}} - currently does nothing.
 +
* Activation_Speed ''(m/s)'' {{FIXME}} - currently does nothing.
 +
* Upgrades <code>({filename(string);mountoffset(int);subunoffset(int)})</code>
 +
** filename -
 +
** mountoffset -
 +
** subunoffset -
 +
** Example: <code>{skyscope1;;}{capacitor02;;}{reactor02;;}{spec_capacitor01;;}{quadshield02;;}{armor01;;}</code>
 +
* Prohibited_Upgrades ''(Semicolon delineated list of prohibited upgrades, allowing up to a certain number if specified with colon.)''
 +
* Sub_Units <code>({filename(string);x(meters);y(meters);z(meters);forex(meters);forey(meters);forez(meters);upx(meters);upy(meters);upz(meters);restricted(meters)})</code> - A Subunit is a (not necessarily) small independant part of your unit. In fact the main unit and the subunit are two different ships (units) patched together at a certain point (x,y,z see below). If a subunit is destroyed the remaining parts will fly into space like the remainings of any other ship ... e.g turrets
 +
** filename - unit file that can be referenced from toplevel units
 +
** x, y, z -  location of subunit
 +
** forex, forey, forez - ('''optional''') Forward vector of subunit (assume 0,0,1)
 +
** upx, upy, upz - ('''optional''') Up vector of subunit (assume 0,1,0)
 +
** restricted - ('''optional''') angle that the turret can turn away from the "fore" vector. Since "fore" and "up" fully define its orientation, unwanted directions are restricted by assigning zero to some of the subunit's own Maneuver_??? and ???_Governor parameters.
 +
** Example: <code>{turretpdlong;<span style="color:darkblue">0;2.2;4.5</span>;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0}</code>
 +
* Sound ''(shieldhit(string);armorhit(string);hullhit(string);jump(string);explode(string);cloak(string);engine(string))''
 +
** shieldhit, armorhit, hullhit - See also [[Manual:Config:Advanced:Variables#.22unitaudio.22_section|<code>unitaudio</code>]] variables section.
 +
** jump -
 +
** explode -
 +
** cloak -
 +
** engine -
 +
** Example: <code> </code>
 +
* Light <code>({meshfile(string);x(meters);y(meters);z(meters);scale(meters);r(percentage);g(percentage);b(percentage);a(percentage);activationspeed(meters/second)})</code> - Specifies an engine-flame/light/glow/whatever on your ship
 +
** meshfile - meshfile (sans <code>.xmesh</code>) for this engine model
 +
** x, y, z - location of light (in meters)
 +
** scale -  size of engine (radius, in meters)
 +
** r, g, b, a - ('''optional''') red/blue/green/transparency colour of engine
 +
** activationspeed -
 +
** Example: <code>{supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;}</code>
 +
* Mounts <code>({type(string);ammo(int);volume(meters);SIZE(string);x(meters);y(meters);z(meters);xyscale(meters);zscale(meters);forex(meters);forey(meters);forez(meters);upx(meters);upy(meters);upz(meters);functionality(percentage);maxfunctionality(percentage)})</code>
 +
** type - Type of weapon (see '''[http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vegastrike/data/weapon_list.xml?view=log weapon_list.xml]''' in the data directory)
 +
** ammo - how much ammo the gun holds. Only needed for ammo spending weapons e.g. missiles, mass-drivers, etc... Skipping it waives ammo count, as a possible hack for capships/bases.
 +
** volume - how much ammo the gun can hold - i.e. <code>ammo</code> ≤ <code>ammo.volume</code>/<code>mount.volume</code>, or at least 1 (for single-missile pylons).
 +
** SIZE - size class(es)/type(s) and if they are capable of autotracking.
 +
** x, y, z - location of weapon
 +
** xyscale, zscale - scaling of the weapon model. It's rendered only if both scales are >0 and [[Manual:Config:Advanced:Variables#.22graphics.22_section|<code>graphics/draw_weapons</code>]] is set to "true".
 +
** forex, forey, forez - ('''optional''') Forward vector of mount (assume 0,0,1)
 +
** upx, upy, upz - ('''optional''') Up vector of mount (assume 0,1,0)
 +
** Example: <code>{;;;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{;;;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}</code>
 +
* <s>Net_Comm ''(?)''</s>  (currently is not supported)
 +
* Dock <code>({Type(int);x(meters);y(meters);z(meters);size(meters);minsize(meters)})</code>
 +
** Type(int) -  '''(optional)''' 0 - outside (the ship hangs there); 1 - inside whether (the ship disappears); 10 - connected (has a waypoint); 20 - waypoint (for autodocking). The type is defined by the ''sum'' of these values.
 +
** x, y, z -  location of dock (in meters)
 +
** size - size of dock port (radius, in meters). The ship must be smaller than the size of the dock, otherwise it will remain in open space.
 +
** minsize -
 +
** Example: <code>{;-14.13;50.99;116.67;16.0;0}{20;-18.43;257.52;-31.63;48.0;0}{10;-18.43;197.63;-31.63;32.0;0}{;-18.43;144.8;-31.63;16.0;0}</code>
 +
* Cargo_Import <code>({Cat(string);price(percentage);pricestddev(percentage);quant(percentage);quantstddev(percentage)})</code> Used by bases, etc. for generating the cargo available for purchase.
 +
** Cat - A category to use from {{CVS:MasterPartList}} - e.g "<code>Natural_Products/Natural_Resources</code>".
 +
** price - price scale (multiplied by price in list)
 +
** pricestddev - price scale variation (above adjusted by this)
 +
** quant - quantity of this sort of cargo
 +
** quantstddev -  quantity variation
 +
** Example: <code> </code>
 +
* Cargo <code>({filename(string);Category(string);price(credits);quant(int);mass(metric Tons);volume(meters*meters*meters);functionality(percentage);maxfunctionality(percentage);description(string);missionCargo(bool)})</code>
 +
** filename - name of cargo
 +
** Category - A category to use from {{CVS:MasterPartList}}.
 +
** price - price of cargo
 +
** quant - ammount of cargo
 +
** mass - mass in tonnes
 +
** volume - size of cargo in m3
 +
** functionality, maxfunctionality - {{Fixme}} ''???''
 +
** description - ('''optional/unused''')
 +
** missionCargo -  Used to mark mission cargo in saved games. As such, it's not meaningful in ruleset data.
 +
** Example: <code>{skyscope1;upgrades/Sensors/Basic;200;1;1;1;1;1;Refurbished Part;0}{capacitor02;upgrades/Capacitors/Standard;200;1;1;1;1;1;Refurbished Part;0}{reactor02;upgrades/Reactors/Standard;200;1;1;1;1;1;Refurbished Part;0}{spec_capacitor01;upgrades/SPEC_Capacitors;200;1;1;1;1;1;Refurbished Part;0}{quadshield02;upgrades/Shield_Systems/Standard_Quad_Shields;200;1;1;1;1;1;Refurbished Part;0}{armor01;upgrades/Armor;200;1;1;1;1;1;Refurbished Part;0}</code>
 +
* Explosion ''(string)''
 +
* Num_Animation_Stages ''(int)''
 +
* Upgrade_Storage_Volume ''(float)''
 +
* Heat_Sink_Rating ''(float)'' - refire delay multiplier. For all and any mounts - which is why it's currently not used, though still can be useful for turrets.
 +
* Shield_Efficiency ''(float)'' - shield recharge efficiency (1 normalized fraction). E.g. 0.5 means the shield consumes 2x energy while recharging.
 +
* Num_Chunks ''(int)'' - affects the unit shattering on destruction.
 +
* Collide_Subunits ''(boolean)'' - whether to recurse into subunits on collision.
 +
* Spec_Interdiction ''(float)'' - the unit affecting SPEC around it other than by plain mass value
 +
* Tractorability ''(text flags)'' - "p"|"P" adds push, "i"|"I" adds tractoring in, empty string assumes push-only, unrecognized gives immunity to tractors. Player ships get [[Manual:Config:Advanced:Variables#.22physics.22_section|<code>physics/PlayerTractorabilityMask</code>]] ''in addition to'' this.
 +
* Equipment_Space ''(m^3)'' - supposed to be raw internal hull volume, not ready Upgrade / Cargo storage space. (works, but not used in units.csv currently)
 +
* Hidden_Hold_Volume ''(m^3)'' - cargo storage space for contraband. (works, but not used in units.csv currently)
  
<Unit ...> </Unit> - Marks the begin and the end of the unit(file)
+
----
 
+
{{Fixme}} ''Integrate the Hint better into the description above.''<BR/>
Scale - Sets the scaling of the unit in the game
+
Hint ([http://forums.vega-strike.org/viewtopic.php?p=36437#36437 Source]):
<Cockpit .../> - Defines a cockpit for the ship.
+
* The '''...Maneuver''' variables are a value that can be calculated from "metric tons*degrees/second^2".
file - Points to a cockpit file. Extension .cpt
+
* The '''...Governor''' variables are the maximum turn speed defined as "degrees/sec".
x,y,z - Coordinates where the Cockpit should be in the Unit/Ship (in meters)
 
See also [[HowTo:Edit HUDs]].  
 
<Meshfile .../>  
 
file - Points to a xmesh-file of the ship. Extension .xmesh
 
texturestarttime - (optional) Defines the starting delay of a mesh animation. See forums (http://vegastrike.sourceforge.net/forums/viewtopic.php?p=9688#9688) for more.  
 
RANDOM - Random start delay.
 
time until mesh animation starts
 
startframe - (optional) Defines the starting-frame of a mesh animation. See forums (http://vegastrike.sourceforge.net/forums/viewtopic.php?p=9688#9688) for more.
 
RANDOM - Random start-frame.
 
number of start-frame
 
<ShieldMesh> - (optional) xmesh-file to use for the shield instead of a sphere. Extension .xmesh
 
<RapidMesh> - (optional) xmesh-file to load and use for collisions with other units/ships/... instead of the Meshfile from above (not drawn) Extension .xmesh
 
<BspMesh> - (optional) xmesh-file to use for beam and bolt collisions (not drawn) Extension .xmesh
 
<Mount .../> - (optional)(repeatable) Specifies a weapon mount
 
weapon - Type of weapon (see weapon_list.xml (http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vegastrike/data4.x/weapon_list.xml?rev=HEAD&content-type=text/vnd.viewcvs-markup) in the data directory)
 
size - size class(es)/type(s) and if they are capable of autotracking. The single entries are seperated by spaces. e.g: size="LIGHT MEDIUM AUTOTRACKING"
 
LIGHT
 
MEDIUM
 
HEAVY
 
SPECIAL
 
CAPSHIP-LIGHT
 
CAPSHIP-MEDIUM
 
CAPSHIP-HEAVY
 
AUTOTRACKING
 
SPECIAL-MISSILE
 
LIGHT-MISSILE
 
MEDIUM-MISSILE
 
HEAVY-MISSILE
 
LIGHT-CAPSHIP-MISSILE
 
MEDIUM-CAPSHIP-MISSILE
 
HEAVY-CAPSHIP-MISSILE
 
ammo - how much ammo the gun holds (only needed for ammo needing weapons e.g. missiles,torpedos,...)
 
volume - (optional see "ammo") how much ammo the gun can hold if you refill
 
x,y,z - location of weapon (in meters ;-))
 
ri,rj,rk - (optional) R-vector forward vector) of gun (assume 0,0,1)
 
qi,qj,qk - (optional) Q-vector (up vector) of gun (assume 0,1,0)
 
<Sound> </Sound> - FIXME nothing yet ???
 
<Defense ...> </Defense> - FIXME
 
HudImage - sprite file to use when targetted FIXME relative to what?
 
ExplosionAni - (optional) special explosion to use
 
RepairDroid - (optional) strength of repair system (0-6)
 
ECM - (optional) type of ECM (Electronic Counter Measure)
 
<Armor .../> - Specifies the ships physical armor
 
front - Forward max armor in VSD
 
right - Right armor in VSD
 
left - Left armor in VSD
 
back - Back armor in VSD
 
<Shields .../> - Specifies the ships Shield (electric armor)
 
front - Forward max shields in VSD
 
back - Back shields in VSD
 
recharge - Shield regeneration if not violating speed limit in VSD/s
 
leak - (optional) how much leak these shields have (usually 0%) between 0 and 100
 
left - (optional) Left shields in VSD
 
right - (optional) Right shields in VSD
 
top - (optional) Top shields) in VSD
 
bottom - (optional)bottom shields in VSD
 
<Hull .../> - Specifies the ships Hull
 
strength - Max hull in VSD
 
<Cloak .../> - (optional) Specifies the ships cloak device
 
missing - if 1, then no cloak is here. also missing in abserce of optional tag
 
cloakmin - minimum percentage of cloakedness
 
cloakglass - boolean whether or not effect 2 is used
 
cloakrate - time per second to cloak in decimal per second
 
cloakenergy - how much energy this takes in 100kJ
 
<Stats .../> - Specifies the statics of the ship
 
mass - mass in metric tonnes (kkg)
 
momentofinertia - mass*m*m in (metric tonnes * meter * meter)
 
fuel - amount of fuel
 
<Thrust>...</Thrust> - Specifies the ships thrust
 
<Engine /> - Specifies the ships engine
 
Afterburner - Thrust with afterburners in metric tonnes meters per second squared
 
Forward - Thrust without afterburners in kkg*m/s^2  
 
Retro - Reverse thrust in kkg*m/s^2
 
Left - Left thrust in kkg*m/s^2
 
Right - Right thrust in kkg*m/s^2
 
Top - Top thrust in kkg*m/s^2
 
Bottom - Bottom thrust in kkg*m/s^2
 
<Maneuver .../> - Specifies the ships maneuver data
 
yaw - Right yaw in metric tonnes degrees per second squared
 
pitch - Right pitch in kkg*deg/s^2
 
roll - Right roll in kkg*deg/s^2
 
<Computer ...> ... </Computer>-
 
yaw - max yaw in degrees per second
 
pitch - max pitch in dps
 
roll - max roll in dps
 
afterburner - Max safe speed with afterburners in m/s
 
maxspeed - Max safe speed without afterburner in m/s
 
slidestart - (optional) number of tenths of seconds before fully reacting to keyboard (smoothing)
 
slideend - (optional) number of tenths of seconds to stop
 
<Radar .../> - Specifies the ships radar system
 
itts - if the unit has ability to target track with lead
 
color - if unit has color radar
 
range - maximum range of radar
 
error - (optional) currently unused
 
trackingCone - cosine of cone at which guns may track
 
lockcone - cosine of cone at which missiles gain locking time
 
mintargetsize - unused...but supposedly minimum target this can do
 
<Energy> ... </Energy> -
 
<Reactor .../> - Specifies the ships poer unit (reactor)
 
recharge - recharging of reactor in 100 MJ/s
 
limit - max storage of reactor in 100 MJ/s
 
<Jump .../> - (optional)
 
delay - seconds before jump drive initiates
 
jumpenergy - energy to jump
 
wormhole - forces units to teleport upon touching this one
 
missing - boolean whether the jump drive is missing (assumed missing in absence of tag)
 
<description ...>... </description> - (repeatable)
 
combatrole - combat role that the ship has (see ai/VegaPriorities.csv (http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/vegastrike/data4.x/ai/VegaPriorities.csv?rev=HEAD&content-type=text/plain) )
 
lang - (optional) Language code for the language the description is written in.
 
e.g lang='DE' for german language
 
See this link (http://www.xs4all.nl/~margjos/langen.htm) for all codes:
 
If no lang attribute is specified the description is meant to be english. (is this correct'?')
 
Some cool description of the ship.
 
<Hold ...> ... </Hold>
 
volume - volume in cargo units
 
<Category ...> ... </Category> - (optional)(repeatable) A category to use from the Vs-MasterPartList'.
 
file -
 
e.g. file="Natural_Products/Natural_Resources"
 
<import .../> (optional)
 
price - price scale (multiplied by price in list)
 
pricestddev - price scale variation (above adjusted by this)
 
quantity - quantity of this sort of cargo
 
quantitystddev - quantity variation
 
<Cargo .../> (optional)(repeatable)
 
file - name of cargo
 
price - price of cargo
 
quantity - ammount of cargo
 
mass - mass in tonnes
 
volume - size of cargo in cargo units
 
description - (optional/unused)
 
<Light .../> - (optional)(repeatable) Specifies an engine-flame/light/glow/whatever on your ship
 
file - meshfile (sans .xmesh) for this engine model
 
e.g. "supernova.bmp" it's actually a xmesh file
 
x,y,z - location of light (in meters ;-))
 
size - size of engine (radius, in meters ;-))
 
red,blue,green - (optional)red/blue/green dye of engine
 
<Dock .../> - (optional)(repeatable) A place where another unit can dock.
 
x,y,z - location of dock (in meters ;-))
 
size - size of dock port (radius, in meters ;-))
 
dockinternal - (optional/unused) whether the dock port makes the ship disappeared. The ship must be smaller than the size of the dock, otherwise it will remain in open space.
 
<SubUnit .../> - (optional)(repeatable) A Subunt is a (not necessarily) small independant part of your unit. In fact the main unit and the subunit are two different ships (units) patched together at a certain point (x,y,z see below). If a subunit is destroyed the remaining parts will fly into space like the remainings of any other ship ... e.g turrets
 
file - unit file that can be referenced frmo toplevel units
 
siz - size class (which sizes it can hold)
 
x,y,z - location of subunit (in meters ;-))
 
ri,rj,rk - (optional) R-vector (forward vector) of subunit (assume 0,0,1)
 
qi,qj,qk - (optional) Q-vector (up vector) of subunit (assume 0,1,0)
 
restricted - (optional) minimum dot with rj that the turret can have so it can't turn inside itself
 
<CockpitDamage .../> - (optional)(repeatable up to 1+NUMGAUGES+MAXVDUS or 29)
 
NOTE: If you have more, strange things may happen, as it will probably overrun the cockpitdamage buffer.
 
damage - float between 0 and 1 depending on the amount of static the vdu has.
 
<Upgrade .../> - (optional)(repeatable) an upgrade unit that adds its stats onto this unit (as if you had bought it from the shop).
 
file - the file to upgrade it with.
 
[edit]Turret directions
 
There are 2 vectors for turrets: r and q
 
 
 
r is the forward vector:
 
 
 
x component = ri
 
y component = rj
 
z component = rk
 
When forward is pointing in the +z direction then rk is 1 and ri and rj are zero (0) hence
 
ri*ri+rj*rj+rk*rk = 0*0+0*0+1*1 = 1
 
 
 
q is the up vector:
 
 
 
x component = qi
 
y component = qj
 
z component = qk
 
When forward is pointing in the +z direction then qj is 1 and qi and qj are zero (0) hence
 
qi*qi+qj*qj+qk*qk = 0*0+1*1+0*0 = 1
 
 
 
[edit]Fileextension differences
 
See also this forum thread (http://vegastrike.sourceforge.net/forums/viewtopic.php?t=1811).
 
 
 
<file without extension>
 
default unit file
 
.blank file
 
As the name already says, this is the 'blank' unit file. This ship doesn't have any weapons or upgrades on it.
 
FIXME
 
.template file
 
The template basically defines the maximum and minimum values for a ship/unit. e.g:
 
maximum speed  
 
max. yaw
 
max. power
 
... FIXME
 
The upgrades available to a ship are also located in this file.
 
The actual upgrades and how they behave are defined by unit files located in the units/factions/upgrades directory. Just look at a few of the files in there and it should be pretty straightforward. There need to be a section in the wiki for the description of this :-)
 
A (not always up to date) list of upgrades is under Upgrades.
 
Example:
 
<Upgrade file="reactor_level_3"/>
 
<Upgrade file="mult_gun_cooler"/>
 
<upgrade file="add_reactor_capacitance"/>
 
.factionname
 
unit file for the named faction ... e.g dodo.confed
 
 
 
  
===Editing Units.csv File===
+
==Editing the <code>units.csv</code> file==
* Open the '''[http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vegastrike/data4.x/units/units.csv?rev=HEAD&content-type=text/vnd.viewcvs-markup units.csv]''' file in a spreadsheet application and if you are adding a new item, add a new line.
+
* Open the {{CVS:units.csv}} file in a spreadsheet application and if you are adding a new item, add a new line.
* {{fixme}} ''ADD INFO''
+
* {{Fixme}} ''ADD INFO''
 
* Save the file as a csv file.
 
* Save the file as a csv file.
  
  
===Example Row===
+
==Example: Llama.begin==
 
<pre>
 
<pre>
  
Line 346: Line 213:
  
 
=See also=
 
=See also=
* '''[http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vegastrike/data4.x/units/units.csv?rev=HEAD&content-type=text/vnd.viewcvs-markup Units.csv]''' in CVS
+
* {{CVS:units.csv}} in CVS
* [[HowTo:Edit Unit Files|Edit Unit Files]]
+
* [[HowTo:Edit Unit Files|HowTo:Edit XUNIT files]]
* [[HowTo:Add Descriptions|Add Descriptions]]   
+
* [[HowTo:Add Descriptions]]   
* [[HowTo:Add Cargo|Adding Cargo]]
+
* [[HowTo:Add Cargo]]
* [[HowTo:Add Upgrades|Adding Upgrades]]
+
* [[HowTo:Add Upgrades]]
* [[HowTo:Edit master_part_list.csv|Editing Master_part_list.csv]]
+
* [[HowTo:Edit master_part_list.csv]]
  
 
----
 
----
 
{{NAV_Manual |
 
{{NAV_Manual |
| previous=[[HowTo:Create Ships in Wings3D|Create Ships in Wings3D]]
+
| previous=[[HowTo:Add Per Pixel Lighting|Add Per Pixel Lighting]]
| up=[[HowTo]]
+
| up=[[HowTos]]
 
| next=[[HowTo:Edit Unit Files|Edit Unit Files]]
 
| next=[[HowTo:Edit Unit Files|Edit Unit Files]]
 
}}
 
}}
  
[[Category:HowTo|Editing units.csv]]
+
[[Category:HowTos|Editing units.csv]]
 
[[Category:Development|Editing units.csv]]
 
[[Category:Development|Editing units.csv]]

Latest revision as of 07:23, 9 February 2014

arrow_left.png Add Per Pixel Lighting arrow_up.png HowTos Edit Unit Files arrow_right.png

The Units.csv file contains specific information on all Vessels and Installations and Upgrades in VegaStrike. This has replaced the xunit.xml files.

The units.csv file

The Units.csv is a comma delimited text file which can be edited with any spreadsheet program.

NOTE: Microsoft Works has problems with the long description columns. For a free alternative, try OpenOffice.

Columns in the units.csv file

The original description of the xunit syntax from hellcatv is located in CVS. The columns of the Units.csv file and their description are; FIXME Copy Descriptions from HowTo:Edit Unit Files

  • Key (Key)
  • Directory (String)
  • Name (string)
  • STATUS (string) - Development status, for internal use only.
  • FoFID (string) (currently is not supported)
  • Object_Type (string)
  • Combat_Role (string) - combat role that the ship has. It selects the row in ai/VegaEvents.csv and ai/VegaPriorities.csv tables, defining the action choice and target priorities.
  • Textual_Description (string)
  • Hud_image (string) - HUD image, a sprite format file. Extension .spr. See also HowTo:Edit HUDs.
  • Unit_Scale (float) - Sets the scaling of the unit in the game
  • Cockpit (string) - Defines a cockpit for the ship. Points to a cockpit file. Extension .cpt. See also HowTo:Edit HUDs.
  • CockpitX (x=float) - Coordinates where the Cockpit should be in the Unit/Ship
  • CockpitY (y=float) - Coordinates where the Cockpit should be in the Unit/Ship
  • CockpitZ (z=float(meters)) - Coordinates where the Cockpit should be in the Unit/Ship
  • Mesh ({filename(string);frame(int);texturetime(float)})
    • filename - Points to a xmesh-file of the ship. Extension .xmesh
    • frame - (optional) Defines the starting-frame of a mesh animation. See forums for more.
    • texturetime - (optional) Defines the starting delay of a mesh animation. See forums for more.
    • Example: {llama.bfxm;;}
  • Shield_Mesh (string) - (optional) xmesh-file to use for the shield instead of a sphere. Extension .xmesh
  • Rapid_Mesh (string) - (optional) xmesh-file to load and use for collisions with other units/ships/... instead of the Meshfile from above (not drawn) Extension .xmesh
  • BSP_Mesh (string) - (optional) xmesh-file to use for beam and bolt collisions (not drawn) Extension .xmesh
  • Use_BSP (boolean)
  • Use_Rapid (boolean)
  • Mass (metric tons) - mass in metric tonnes (kkg)
  • Moment_Of_Inertia (metric tons * meters*meters)
  • Convex_Hull_Volume (meters * meters * meters) (currently is not supported)
  • Fuel_Capacity (metric tons)
  • Hull (VSD) - Specifies the ships Hull durability
  • Armor_Front_Top_Right (VSD) - Specifies the ships physical armor
  • Armor_Front_Top_Left (VSD) - Specifies the ships physical armor
  • Armor_Front_Bottom_Right (VSD) - Specifies the ships physical armor
  • Armor_Front_Bottom_Left (VSD) - Specifies the ships physical armor
  • Armor_Back_Top_Right (VSD) - Specifies the ships physical armor
  • Armor_Back_Top_Left (VSD) - Specifies the ships physical armor
  • Armor_Back_Bottom_Right (VSD) - Specifies the ships physical armor
  • Armor_Back_Bottom_Left (VSD) - Specifies the ships physical armor
  • Shield_Front_Top_Right (VSD) - Specifies the ships Shield (electric armor). Used for all shields.
  • Shield_Back_Top_Left (VSD) - Specifies the ships Shield (electric armor). Used for all shields.
  • Shield_Front_Bottom_Right (VSD) - Specifies the ships Shield (electric armor). Not used for dual shields.
  • Shield_Front_Bottom_Left (VSD) - Specifies the ships Shield (electric armor). Not used for dual shields.
  • Shield_Back_Top_Right (VSD) - Specifies the ships Shield (electric armor). Not used for dual or quad shields.
  • Shield_Front_Top_Left (VSD) - Specifies the ships Shield (electric armor). Not used for dual or quad shields.
  • Shield_Back_Bottom_Right (VSD) - Specifies the ships Shield (electric armor). Not used for dual or quad shields.
  • Shield_Back_Bottom_Left (VSD) - Specifies the ships Shield (electric armor). Not used for dual or quad shields.
  • Shield_Recharge (VSD/second) - Shield regeneration if not violating speed limit
  • Shield_Leak (percentage) - (optional) how much leak these shields have (usually 0%)
  • Warp_Capacitor (800MJ) - SPEC energy storage, fuel with "WC Fuel Hack" on (see physics/fuel_equals_warp)
  • Primary_Capacitor (100MJ)
  • Reactor_Recharge (100MJ/s)
  • Jump_Drive_Present (Boolean ) - boolean whether the jump drive is missing (assumed missing in absence of tag)
  • Jump_Drive_Delay (seconds) - seconds before jump drive initiates
  • Wormhole (boolean) - forces units to teleport upon touching this one
  • Outsystem_Jump_Cost (800MJ) - energy to use a wormhole
  • Warp_Usage_Cost (800MJ/second) - energy to teleport or use SPEC (the latter divided by physics/warpbleed)
  • Afterburner_Type (int type ) - Specifies the ships engine. Type 1 uses fuel, 0 - reactor energy, 2 - jump fuel, 3 - "NO AFTERBURNER".
  • Afterburner_Usage_Cost (100MJ/s)
  • Maneuver_Yaw (metric tons*degrees/second^2) - Specifies the ships angular acceleration
  • Maneuver_Pitch (metric tons*degrees/second^2) - Specifies the ships angular acceleration
  • Maneuver_Roll (metric tons*degrees/second^2) - Specifies the ships angular acceleration
  • Yaw_Governor (degrees/sec) - maximum yaw
  • Pitch_Governor (degrees/sec) - maximum pitch
  • Roll_Governor (degrees/sec) - maximum roll
  • Afterburner_Accel (metric tons*m/s^2) - Thrust with afterburners
  • Forward_Accel (metric tons*m/s^2) - Thrust without afterburners
  • Retro_Accel (metric tons*m/s^2) - Reverse thrust
  • Left_Accel (metric tons*m/s^2) - Left thrust
  • Right_Accel (metric tons*m/s^2) - Right thrust
  • Top_Accel (metric tons**m/s^2) - Top thrust
  • Bottom_Accel (metric tons*m/s^2) - Bottom thrust
  • Afterburner_Speed_Governor (meters/second) - Max safe speed with afterburners
  • Default_Speed_Governor (meters/second) - Max safe speed without afterburner
  • ITTS (boolean) - if the unit has ability to target track with lead
  • Radar_Color (boolean) - if unit has color radar
  • Radar_Range (meters) - maximum range of radar
  • Tracking_Cone (Degrees) - cone in which autotracking works
  • Max_Cone (Degrees) - cone in which the radar sees objects. Usually is set to 180 (i.e. the full sphere).
  • Lock_Cone (Degrees) - cone in which missiles gain locking time
  • Hold_Volume (m^3) - volume in cargo units
  • Can_Cloak (boolean)
  • Cloak_Min (percentage) - minimum percentage of cloakedness
  • Cloak_Rate (percentage/second) - time per second to cloak
  • Cloak_Energy (800MJ/s) - how much energy this takes.
  • Cloak_Glass (boolean) - boolean whether or not effect 2 is used
  • Repair_Droid (int) - defines the speed of repairs. Repair time = physics/RepairDroidTime*(remained functionality)/Repair_Droid. Also, critical hits to the repair system decrease this by one.
  • ECM_Rating (int) - each simulation frame, the probability of missile losing the protected target is proportional to this.
  • ECM_Resist (int) FIXME - currently does nothing.
  • Ecm_Drain (800MJ/s) FIXME - currently does nothing.
  • Hud_Functionality (1 normalized fraction)
  • Max_Hud_Functionality (1 normalized fraction)
  • Lifesupport_Functionality (1 normalized fraction)
  • Max_Lifesupport_Functionality (1 normalized fraction)
  • Comm_Functionality (1 normalized fraction)
  • Max_Comm_Functionality (1 normalized fraction)
  • FireControl_Functionality (1 normalized fraction)
  • Max_FireControl_Functionality (1 normalized fraction)
  • SPECDrive_Functionality (1 normalized fraction)
  • Max_SPECDrive_Functionality (1 normalized fraction)
  • Slide_Start (seconds) - (optional) number of tenths of seconds before fully reacting to keyboard (smoothing)
  • Slide_End (seconds) - (optional) number of tenths of seconds to stop
  • Activation_Accel (m/s^2) FIXME - currently does nothing.
  • Activation_Speed (m/s) FIXME - currently does nothing.
  • Upgrades ({filename(string);mountoffset(int);subunoffset(int)})
    • filename -
    • mountoffset -
    • subunoffset -
    • Example: {skyscope1;;}{capacitor02;;}{reactor02;;}{spec_capacitor01;;}{quadshield02;;}{armor01;;}
  • Prohibited_Upgrades (Semicolon delineated list of prohibited upgrades, allowing up to a certain number if specified with colon.)
  • Sub_Units ({filename(string);x(meters);y(meters);z(meters);forex(meters);forey(meters);forez(meters);upx(meters);upy(meters);upz(meters);restricted(meters)}) - A Subunit is a (not necessarily) small independant part of your unit. In fact the main unit and the subunit are two different ships (units) patched together at a certain point (x,y,z see below). If a subunit is destroyed the remaining parts will fly into space like the remainings of any other ship ... e.g turrets
    • filename - unit file that can be referenced from toplevel units
    • x, y, z - location of subunit
    • forex, forey, forez - (optional) Forward vector of subunit (assume 0,0,1)
    • upx, upy, upz - (optional) Up vector of subunit (assume 0,1,0)
    • restricted - (optional) angle that the turret can turn away from the "fore" vector. Since "fore" and "up" fully define its orientation, unwanted directions are restricted by assigning zero to some of the subunit's own Maneuver_??? and ???_Governor parameters.
    • Example: {turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0}
  • Sound (shieldhit(string);armorhit(string);hullhit(string);jump(string);explode(string);cloak(string);engine(string))
    • shieldhit, armorhit, hullhit - See also unitaudio variables section.
    • jump -
    • explode -
    • cloak -
    • engine -
    • Example:
  • Light ({meshfile(string);x(meters);y(meters);z(meters);scale(meters);r(percentage);g(percentage);b(percentage);a(percentage);activationspeed(meters/second)}) - Specifies an engine-flame/light/glow/whatever on your ship
    • meshfile - meshfile (sans .xmesh) for this engine model
    • x, y, z - location of light (in meters)
    • scale - size of engine (radius, in meters)
    • r, g, b, a - (optional) red/blue/green/transparency colour of engine
    • activationspeed -
    • Example: {supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;}
  • Mounts ({type(string);ammo(int);volume(meters);SIZE(string);x(meters);y(meters);z(meters);xyscale(meters);zscale(meters);forex(meters);forey(meters);forez(meters);upx(meters);upy(meters);upz(meters);functionality(percentage);maxfunctionality(percentage)})
    • type - Type of weapon (see weapon_list.xml in the data directory)
    • ammo - how much ammo the gun holds. Only needed for ammo spending weapons e.g. missiles, mass-drivers, etc... Skipping it waives ammo count, as a possible hack for capships/bases.
    • volume - how much ammo the gun can hold - i.e. ammoammo.volume/mount.volume, or at least 1 (for single-missile pylons).
    • SIZE - size class(es)/type(s) and if they are capable of autotracking.
    • x, y, z - location of weapon
    • xyscale, zscale - scaling of the weapon model. It's rendered only if both scales are >0 and graphics/draw_weapons is set to "true".
    • forex, forey, forez - (optional) Forward vector of mount (assume 0,0,1)
    • upx, upy, upz - (optional) Up vector of mount (assume 0,1,0)
    • Example: {;;;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{;;;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}
  • Net_Comm (?) (currently is not supported)
  • Dock ({Type(int);x(meters);y(meters);z(meters);size(meters);minsize(meters)})
    • Type(int) - (optional) 0 - outside (the ship hangs there); 1 - inside whether (the ship disappears); 10 - connected (has a waypoint); 20 - waypoint (for autodocking). The type is defined by the sum of these values.
    • x, y, z - location of dock (in meters)
    • size - size of dock port (radius, in meters). The ship must be smaller than the size of the dock, otherwise it will remain in open space.
    • minsize -
    • Example: {;-14.13;50.99;116.67;16.0;0}{20;-18.43;257.52;-31.63;48.0;0}{10;-18.43;197.63;-31.63;32.0;0}{;-18.43;144.8;-31.63;16.0;0}
  • Cargo_Import ({Cat(string);price(percentage);pricestddev(percentage);quant(percentage);quantstddev(percentage)}) Used by bases, etc. for generating the cargo available for purchase.
    • Cat - A category to use from Master Part List - e.g "Natural_Products/Natural_Resources".
    • price - price scale (multiplied by price in list)
    • pricestddev - price scale variation (above adjusted by this)
    • quant - quantity of this sort of cargo
    • quantstddev - quantity variation
    • Example:
  • Cargo ({filename(string);Category(string);price(credits);quant(int);mass(metric Tons);volume(meters*meters*meters);functionality(percentage);maxfunctionality(percentage);description(string);missionCargo(bool)})
    • filename - name of cargo
    • Category - A category to use from Master Part List.
    • price - price of cargo
    • quant - ammount of cargo
    • mass - mass in tonnes
    • volume - size of cargo in m3
    • functionality, maxfunctionality - FIXME ???
    • description - (optional/unused)
    • missionCargo - Used to mark mission cargo in saved games. As such, it's not meaningful in ruleset data.
    • Example: {skyscope1;upgrades/Sensors/Basic;200;1;1;1;1;1;Refurbished Part;0}{capacitor02;upgrades/Capacitors/Standard;200;1;1;1;1;1;Refurbished Part;0}{reactor02;upgrades/Reactors/Standard;200;1;1;1;1;1;Refurbished Part;0}{spec_capacitor01;upgrades/SPEC_Capacitors;200;1;1;1;1;1;Refurbished Part;0}{quadshield02;upgrades/Shield_Systems/Standard_Quad_Shields;200;1;1;1;1;1;Refurbished Part;0}{armor01;upgrades/Armor;200;1;1;1;1;1;Refurbished Part;0}
  • Explosion (string)
  • Num_Animation_Stages (int)
  • Upgrade_Storage_Volume (float)
  • Heat_Sink_Rating (float) - refire delay multiplier. For all and any mounts - which is why it's currently not used, though still can be useful for turrets.
  • Shield_Efficiency (float) - shield recharge efficiency (1 normalized fraction). E.g. 0.5 means the shield consumes 2x energy while recharging.
  • Num_Chunks (int) - affects the unit shattering on destruction.
  • Collide_Subunits (boolean) - whether to recurse into subunits on collision.
  • Spec_Interdiction (float) - the unit affecting SPEC around it other than by plain mass value
  • Tractorability (text flags) - "p"|"P" adds push, "i"|"I" adds tractoring in, empty string assumes push-only, unrecognized gives immunity to tractors. Player ships get physics/PlayerTractorabilityMask in addition to this.
  • Equipment_Space (m^3) - supposed to be raw internal hull volume, not ready Upgrade / Cargo storage space. (works, but not used in units.csv currently)
  • Hidden_Hold_Volume (m^3) - cargo storage space for contraband. (works, but not used in units.csv currently)

FIXME Integrate the Hint better into the description above.
Hint (Source):

  • The ...Maneuver variables are a value that can be calculated from "metric tons*degrees/second^2".
  • The ...Governor variables are the maximum turn speed defined as "degrees/sec".

Editing the units.csv file

  • Open the Units.csv file in a spreadsheet application and if you are adding a new item, add a new line.
  • FIXME ADD INFO
  • Save the file as a csv file.


Example: Llama.begin



See also


arrow_left.png Add Per Pixel Lighting arrow_up.png HowTos Edit Unit Files arrow_right.png