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

From VsWiki
Jump to: navigation, search
(data4.x was moved long ago; also, format updates)
Line 15: Line 15:
  
 
==Columns in the <code>units.csv</code> file==
 
==Columns in the <code>units.csv</code> file==
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?rev=HEAD&content-type=text/vnd.viewcvs-markup CVS].  The columns of the {{CVS:units.csv}} file and their description are;
+
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;
 
{{Fixme}} ''Copy Descriptions from [[HowTo:Edit Unit Files]]''
 
{{Fixme}} ''Copy Descriptions from [[HowTo:Edit Unit Files]]''
  
Line 21: Line 21:
 
* Directory ''(String)''
 
* Directory ''(String)''
 
* Name ''(string)''
 
* Name ''(string)''
* FoFID ''(string)''
+
* STATUS ''(string)'' - Development status, for internal use only.
 +
* <s>FoFID ''(string)''</s> (currently is not supported)
 
* Object_Type ''(string)''
 
* Object_Type ''(string)''
* Combat_Role ''(string)'' - combat role that the ship has (see [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/vegastrike/data4.x/ai/VegaPriorities.csv?rev=HEAD&content-type=text/plain ai/VegaPriorities.csv] )
+
* 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)''
 
* Textual_Description ''(string)''
* Hud_image ''(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
 
* 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]].
 
* Cockpit ''(string)'' - Defines a cockpit for the ship. Points to a cockpit file. Extension <code>.cpt</code>. See also [[HowTo:Edit HUDs]].
Line 43: Line 44:
 
* Mass ''(metric tons)'' - mass in metric tonnes (kkg)
 
* Mass ''(metric tons)'' - mass in metric tonnes (kkg)
 
* Moment_Of_Inertia ''(metric tons * meters*meters)''
 
* Moment_Of_Inertia ''(metric tons * meters*meters)''
* Convex_Hull_Volume ''(meters * meters * meters)''
+
* <s>Convex_Hull_Volume ''(meters * meters * meters)''</s>  (currently is not supported)
 
* Fuel_Capacity ''(metric tons)''
 
* Fuel_Capacity ''(metric tons)''
* Hull ''(VSD)'' - Specifies the ships Hull
+
* Hull ''(VSD)'' - Specifies the ships Hull durability
 
* Armor_Front_Top_Right ''(VSD)'' - Specifies the ships physical armor
 
* Armor_Front_Top_Right ''(VSD)'' - Specifies the ships physical armor
 
* Armor_Front_Top_Left ''(VSD)'' - Specifies the ships physical armor
 
* Armor_Front_Top_Left ''(VSD)'' - Specifies the ships physical armor
Line 54: Line 55:
 
* Armor_Back_Bottom_Right ''(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
 
* Armor_Back_Bottom_Left ''(VSD)'' - Specifies the ships physical armor
* Shield_Front_Top_Right ''(VSD)'' - Specifies the ships Shield (electric 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)
+
* 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)
+
* 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)
+
* 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)
+
* 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)
+
* 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)
+
* 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)
+
* 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_Recharge ''(VSD/second)'' - Shield regeneration if not violating speed limit
 
* Shield_Leak ''(percentage)'' - ('''optional''') how much leak these shields have (usually 0%)
 
* Shield_Leak ''(percentage)'' - ('''optional''') how much leak these shields have (usually 0%)
* Warp_Capacitor ''(800MJ)''
+
* Warp_Capacitor ''(800MJ)'' - SPEC energy storage, fuel with "WC Fuel Hack" on (<code>physics/fuel_equals_warp</code> [Manual:Config:Advanced:Variables variable])
 
* Primary_Capacitor ''(100MJ)''
 
* Primary_Capacitor ''(100MJ)''
 
* Reactor_Recharge ''(100MJ/s)''
 
* Reactor_Recharge ''(100MJ/s)''
Line 70: Line 71:
 
* Jump_Drive_Delay ''(seconds)'' - seconds before jump drive initiates
 
* Jump_Drive_Delay ''(seconds)'' - seconds before jump drive initiates
 
* Wormhole ''(boolean)'' - forces units to teleport upon touching this one
 
* Wormhole ''(boolean)'' - forces units to teleport upon touching this one
* Outsystem_Jump_Cost ''(800MJ)''  
+
* Outsystem_Jump_Cost ''(800MJ)'' - energy to use a wormhole
* Warp_Usage_Cost ''(800MJ/second)'' - energy to jump
+
* Warp_Usage_Cost ''(800MJ/second)'' - energy to teleport or use SPEC (the latter divided by <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_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)''
 
* Afterburner_Usage_Cost ''(100MJ/s)''
* Maneuver_Yaw ''(metric tons*degrees/second^2)'' -  Specifies the ships maneuver data
+
* Maneuver_Yaw ''(metric tons*degrees/second^2)'' -  Specifies the ships angular acceleration
* Maneuver_Pitch ''(metric tons*degrees/second^2)'' -  Specifies the ships maneuver data
+
* Maneuver_Pitch ''(metric tons*degrees/second^2)'' -  Specifies the ships angular acceleration
* Maneuver_Roll ''(metric tons*degrees/second^2)'' -  Specifies the ships maneuver data
+
* Maneuver_Roll ''(metric tons*degrees/second^2)'' -  Specifies the ships angular acceleration
 
* Yaw_Governor ''(degrees/sec)''  - maximum yaw
 
* Yaw_Governor ''(degrees/sec)''  - maximum yaw
 
* Pitch_Governor ''(degrees/sec)'' - maximum pitch
 
* Pitch_Governor ''(degrees/sec)'' - maximum pitch
Line 92: Line 93:
 
* Radar_Color ''(boolean)'' - if unit has color radar
 
* Radar_Color ''(boolean)'' - if unit has color radar
 
* Radar_Range ''(meters)'' - maximum range of radar
 
* Radar_Range ''(meters)'' - maximum range of radar
* Tracking_Cone ''(Degrees)'' - cosine of cone at which guns may track
+
* Tracking_Cone ''(Degrees)'' - cone in which [Manual:Combat:Target_tracking autotracking] works
* Max_Cone ''(Degrees)''
+
* Max_Cone ''(Degrees)'' - cone in which the radar sees objects. Usually is set to 180 (i.e. the full sphere).
* Lock_Cone ''(Degrees)'' - cosine of cone at which missiles gain locking time
+
* Lock_Cone ''(Degrees)'' - cone in which missiles gain locking time
 
* Hold_Volume ''(m^3)'' - volume in cargo units
 
* Hold_Volume ''(m^3)'' - volume in cargo units
 
* Can_Cloak ''(boolean)''
 
* Can_Cloak ''(boolean)''
Line 101: Line 102:
 
* Cloak_Energy ''(800MJ/s)'' - how much energy this takes.
 
* Cloak_Energy ''(800MJ/s)'' - how much energy this takes.
 
* Cloak_Glass ''(boolean)'' - boolean whether or not effect 2 is used
 
* Cloak_Glass ''(boolean)'' - boolean whether or not effect 2 is used
* Repair_Droid ''(int)''
+
* Repair_Droid ''(int)'' - defines the speed of repairs. Repair time = <code>physics/RepairDroidTime</code>*(remained part of the functionality)/Repair_Droid. Also, critical hits to the repair system decrease this by one.
* ECM_Rating ''(int)''
+
* ECM_Rating ''(int)'' - each simulation frame, the probability of missile losing the protected target is proportional to this.
* ECM_Resist ''(int)''
+
* ECM_Resist ''(int)'' {{FIXME}} - currently does nothing.
* Ecm_Drain ''(800MJ/s)''
+
* Ecm_Drain ''(800MJ/s)'' {{FIXME}} - currently does nothing.
 
* Hud_Functionality ''(1 normalized fraction)''
 
* Hud_Functionality ''(1 normalized fraction)''
 
* Max_Hud_Functionality ''(1 normalized fraction)''
 
* Max_Hud_Functionality ''(1 normalized fraction)''
Line 117: Line 118:
 
* Slide_Start ''(seconds)'' - ('''optional''') number of tenths of seconds before fully reacting to keyboard (smoothing)
 
* 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
 
* Slide_End ''(seconds)''  - ('''optional''') number of tenths of seconds to stop
* Activation_Accel ''(m/s^2)''
+
* Activation_Accel ''(m/s^2)'' {{FIXME}} - currently does nothing.
* Activation_Speed ''(m/s)''
+
* Activation_Speed ''(m/s)'' {{FIXME}} - currently does nothing.
 
* Upgrades <code>({filename(string);mountoffset(int);subunoffset(int)})</code>
 
* Upgrades <code>({filename(string);mountoffset(int);subunoffset(int)})</code>
 
** filename -
 
** filename -
Line 125: Line 126:
 
** Example: <code>{skyscope1;;}{capacitor02;;}{reactor02;;}{spec_capacitor01;;}{quadshield02;;}{armor01;;}</code>
 
** 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.)''
 
* 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 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
+
* 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
 
** filename - unit file that can be referenced from toplevel units
 
** x, y, z -  location of subunit
 
** x, y, z -  location of subunit
 
** forex, forey, forez - ('''optional''') Forward vector of subunit (assume 0,0,1)
 
** forex, forey, forez - ('''optional''') Forward vector of subunit (assume 0,0,1)
 
** upx, upy, upz - ('''optional''') Up vector of subunit (assume 0,1,0)
 
** upx, upy, upz - ('''optional''') Up vector of subunit (assume 0,1,0)
** restricted - ('''optional''') minimum dot with forey that the turret can have so it can't turn inside itself
+
** 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> </code>  
+
** 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))''
 
* Sound ''(shieldhit(string);armorhit(string);hullhit(string);jump(string);explode(string);cloak(string);engine(string))''
 
** shieldhit, armorhit, hullhit -  
 
** shieldhit, armorhit, hullhit -  
Line 143: Line 144:
 
** x, y, z - location of light (in meters)
 
** x, y, z - location of light (in meters)
 
** scale -  size of engine (radius, in meters)
 
** scale -  size of engine (radius, in meters)
** r, g, b, a - ('''optional''')red/blue/green colour of engine
+
** r, g, b, a - ('''optional''') red/blue/green/transparency colour of engine
 
** activationspeed -  
 
** 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>
 
** 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>
 
* 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/data4.x/weapon_list.xml?rev=HEAD&content-type=text/vnd.viewcvs-markup weapon_list.xml]''' in the data directory)
+
** 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 needing weapons e.g. missiles,torpedos,...
+
** ammo - how much ammo the gun holds. Only needed for ammo needing weapons e.g. missiles, mass-drivers, etc...
** volume -
+
** 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.
 
** SIZE - size class(es)/type(s) and if they are capable of autotracking.
 
** x, y, z - location of weapon
 
** x, y, z - location of weapon
** xyscale, zscale -  
+
** xyscale, zscale - scaling of the weapon model. It's rendered only if both scales are >0 and <code>[Manual:Config:Advanced:Variables graphics/draw_weapons]</code> is set to "true".
 
** forex, forey, forez - ('''optional''') Forward vector of mount (assume 0,0,1)
 
** forex, forey, forez - ('''optional''') Forward vector of mount (assume 0,0,1)
 
** upx, upy, upz - ('''optional''') Up vector of mount (assume 0,1,0)
 
** 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>
 
** 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>
* Net_Comm ''(?)''
+
* <s>Net_Comm ''(?)''</s>  (currently is not supported)
* Dock <code>({INTERNAL(boolean);x(meters);y(meters);z(meters);size(meters);minsize(meters)})</code>
+
* Dock <code>({Type(int);x(meters);y(meters);z(meters);size(meters);minsize(meters)})</code>
** INTERNAL -  '''(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.
+
** 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)
 
** x, y, z -  location of dock (in meters)
** size - size of dock port (radius, 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 -  
 
** minsize -  
** Example: <code> </code>  
+
** 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.
 
* 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}} eg <code>Natural_Products/Natural_Resources"</code>
+
** Cat - A category to use from {{CVS:MasterPartList}} - e.g "<code>Natural_Products/Natural_Resources</code>".
 
** price - price scale (multiplied by price in list)  
 
** price - price scale (multiplied by price in list)  
 
** pricestddev - price scale variation (above adjusted by this)
 
** pricestddev - price scale variation (above adjusted by this)
Line 172: Line 173:
 
* 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>
 
* 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
 
** filename - name of cargo
** Category -  
+
** Category - A category to use from {{CVS:MasterPartList}}.
 
** price - price of cargo
 
** price - price of cargo
 
** quant - ammount of cargo
 
** quant - ammount of cargo
Line 182: Line 183:
 
** 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>
 
** 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)''
 
* Explosion ''(string)''
* Equipment_Space ''(m^3)''
 
 
* Num_Animation_Stages ''(int)''
 
* Num_Animation_Stages ''(int)''
 
* Upgrade_Storage_Volume ''(float)''
 
* Upgrade_Storage_Volume ''(float)''
* Heat_Sink_Rating ''(float)''
+
* Heat_Sink_Rating ''(float)'' - refire delay multiplier.
 +
* 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 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)
  
 
----
 
----

Revision as of 13:32, 12 January 2012

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 (physics/fuel_equals_warp [Manual:Config:Advanced:Variables variable])
  • 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 [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 = physics/RepairDroidTime*(remained part of the 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 -
    • 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 needing weapons e.g. missiles, mass-drivers, etc...
    • 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 [Manual:Config:Advanced:Variables 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 - ???
    • 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.
  • 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 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