The shďp annotated template

other news as well.

Annotated template:
The shďp resource

The shďp resource contains the info for, well, ships. One shďp resource is one particular kind of ship, or ship model if you prefer. They are used to be provided for the player to buy, and to be flown by the AI in space; a little consequence is the AI will be flying ships that are exactly as equipped as the models the player buys (on which can sometimes be added a lot of stuff), so the AI ships are generally underequipped. To circumvent this problem, new ship models, that are often reffered to as variants , are added: they look like the basic model, but they have more stuff and usually a different subtitle, and the player cannot buy them. In Nova there are a lot of variants (which explain why some shďp resources have the same name), so there are a lot of shďp resources.

To begin with, the name of the shďp resource is used as the ship name in the targeting display, so you can't use it as you wish (the subtitle is found in a field below, though). However, semicolon comments work for sure here.

The Holds field
This number field is the number of tons of cargo capacity of this ship. I don't think there is much more to it... Oh yes, if you put a negative value here, the opposite will be the cargo capacity but this ship will be prohibited to be equipped with cargo expansions.

The Shield field
This number field is the amount of shielding this ship has (at 100% shields, that is). It's from this value that the weapons energy damage is applied: for instance if a Shuttle (shields: 30) is hit with a 100mm railgun shot (energy damage: 10), then the Shuttle will lose one third of its shielding.

The Accel field
This number field is the acceleration power of this ship; 300 is an average value, but by Nova standards: if you're porting an EVC/O plug, you will need to double the old value. You should experiment to better fine-tune this value.

The Speed field
This number field is the top speed of this ship; 300 is an average value (320 is used for instance by the Abomination). You should experiment to better fine-tune this value.

The Maneuver field
This number field is the turning speed of the ship, in tenth of degrees per frame (one frame is one/30th of a second): 10 makes the ship turn at a rate of 30° per second. This value is usually the most important one, the one that makes the difference between a fighter and a bulkier warship, and it is especially important if the ship is inertialess, so make sure you spend some time experimenting to put exactly the appropriate value.

The Fuel field
This number field is the number of energy units the player can store in this ship; remember an hyperspace jump uses 100 energy units, so in practice you'll put jump_number*100 here; for instance if there is 400 in this field the ship will be able to do 4 hyperspace jumps before having to refuel recharge. Notice that for developping purposes the plug-in developers often talk of fuel for the hyperspace propeller, and not of energy, for historical reasons (in EVC and EVO it was fuel, it's shorter to write, the Bible uses "fuel", etc...).

The FreeMass field
This number field is the number of tons of free mass for the player to put weapons, upgrades, items, etc...: outfits, in short. Notice this is on top of the space already taken by default weapons and outfits, so this will exactly be the number of tons of available space in this ship when it is bought. There is a bug that makes it not always true, but it is long to explain, check it in the list of known problems of my Testing/Debugging/Troubleshooting guide.

The Armor field
This number field is the amount of armor plating this ship has (at 100% armor, that is). It's from this value that the weapons mass damage is applied: for instance if a Shuttle (armor: 30) with shields down is hit with a 100mm railgun shot (mass damage: 20), then the Shuttle will lose two thirds of its armor.

The ShieldRech field
This number field gives the shield recharge speed: 1000 is one shield point per frame, this would make the Shuttle completely recharge its shields in a second, less would make shields recharge slower. Notice that if the same value of shield recharge is put for a ship with many shields and another with few shields, they will heal the same amount of damage (say a railgun hit) in the same time, so the ship with bigger shields will have its percentage of shielding increase more slowly than the ship with smaller shields. This behavior is the complete opposite of what it was in EVC and EVO (where bigger numbers would make slower recharge, and it was linked to the total shield capacity), so if you're porting an EVC/O plug, be sure to convert using the following formula: NOVA ShieldRech=( ( EV Shields / 100 ) / EV ShieldRe ) * 1000.

The WeapType fields
These eigth number fields allow you to give the ship its default weapons: entering the ID of a wëap resource (128 to 383) will make that weapon come with the ship, when bought/captured by the player, and when flown by the AI in space. Most obviously, you can put at most eight different kinds of weapons; if you don't need them all, leave the fields you don't use with 0 or -1; you can even leave them all with 0 or -1 for the ship to be completely defenseless when just bought or used by the AI.

The WeapCount fields
These eight number field store the amount (of guns, launchers, or bays) of the aforementioned weapons to come by default, for all weapons specified in the above fields (with of course, the first WeapCount field storing the amount of the weapon whose ID is in the first WeapType field, the second WeapCount, for the weapon in the second WeapType field, etc...): 1 or more for the actual weapons, and 0 or -1 for the unused weapons (those that have 0 or -1 in the matching WeapType field).

The AmmoLoad fields
These eight number fields store the amount of ammunition (missiles, chaingun rounds, fighters) of the weapons above, for those that use ammunition (ignored if the weapon doesn't use ammunition). Leave 0 or -1 for the weapons that don't use ammunitions and the unused weapons. There is a bug associated with not-weightless-ammo-used-by-different weapons-given-to-the-same-ship, read my Testing/Debugging/Troubleshooting guide for details.

The MaxGun field
This number field contains the maximum number of fixed guns this ship can be equipped with, to prevent ships from becoming absurdly powerful. Fixed guns are in fact the outfits that have their first flag (Fixed Gun) set, usually cannons such as blasters, railguns, pulse laser. Notice some outfits (such as the Sigma Mount Reinforcement in the Nova scenario) can change this value.

The MaxTur field
This number field contains the maximum number of turrets this ship can be equipped with, to prevent ships from becoming absurdly powerful. Turrets are in fact the outfits that have their second flag (Turret) set, usually weapons such as the blaster turrets, storm chaingun, turreted pulse laser. Notice some outfits (such as the Sigma Mount Reinforcement in the Nova scenario) can change this value.

The TechLevel field
This number field holds the technological level of the ship, which works exactly the same way as it does for outfits: if a ship and an outfit have the same TechLevel, they will show up in the exact same planets (provided the planet has both an outfitter and a shipyard, and not counting the probability, defined in the BuyRandom field, of being available this very day). The higher the number, the most technological the ship is considered in the values up to 10-20 or so, and arbitraryly high values are being given to ships that are considered outside of the technological scale and given only on some planets, independantly of technology. This is explained a bit more in the spöb annotated template. Try to check the TechLevel of some oufits/ships you know, give to your ship a TechLevel, and it will appear at the same planets as the other outfits/ships with the same TechLevel. If your ship is not to be able to be bought, the usual way to do it is to put an absurd TechLevel, such as 999 or 9999, which are not in any planet (however, putting 32767, which was usual practice in EVC and EVO, is known to cause bugs with the Nova engine, so avoid).

The Cost field
This number field (this one is a 32-bit signed one that can hold values up to 2G or so) is the amount of credits the player needs to give to buy this ship, though the trade-in value of the player's current ship is removed from the price as shown in the shipyard. The debog log will output a warning if you make a ship that can be sold for more than one buys it (it can happen if it has too expensive default outfits/weapons).

The DeathDelay field
This number field is just the number of frames during which the ship breaks up before exploding. Beforehand (read: with the Classic and Override engines) putting a value below 60 would make the final explosion a single fireball, while putting 60 or above would give a big explosion, but now the final explosion to be displayed is defined in the Explode2 field below.

The ArmorRech field
This number field if for armor what the ShieldRech field is for shield: they work the exact same way (i.e. proportional to the recharge rate, 1000 being one point a frame). Notice that most ships in the Nova scenario do not recharge armor (the exception being Polaris, Vell-os, Wraith, Hyperioids, the RAGE Gunboat and the Kestrel, though no one beats the Krypt Pods): contrary to the Classic and Override engines, a ship does not need to have its armor full to recharge shields, so armor recharge is not necessary (though a nifty bonus to have).

The Explode1 field
This number field states which kind of explosion to show while the ship is breaking up (it's 4 for all ships in the default Nova scenario). This now comes down to telling which bööm resource to use:
"no explosion": -1 will make no explosion
"simple explosion": A value between 0 and 63 will make the game display an explosion following the bööm resource at index the value (i.e. ID 128+the value)
(the bööm resources can be found in Nova Data 6, their name is usually descriptive enough, but if you wish to see them, go to the spďn ID specified in the GraphicIndex field in them)

The Explode2 field
This number field states which kind of explosion to show for the final ship explosion (always 5 or 1005 for the default Nova scenario ships). This now comes down to telling which bööm resource to use:
"no explosion": -1 will make no explosion
"simple explosion": A value between 0 and 63 will make the game display an explosion following the bööm resource at index the value (i.e. ID 128+the value)
"complex explosion": A value between 1000 and 1063 will make the game use bööm idx 0-63, plus a random number of 0-kind explosions (the basic kind) around it (usually put for big explosions, like for the HellHound missile or the bigger ships).

The DispWeight field
This number field contains the display weight of the ship, that works the exact same way as in the oütf resource: this is an arbitrary number, that is used to order the ships in the shipyard. The ships will simply be ordered in decreasing DispWeight order: other ships with an higher DispWeight value will be before, and other ships with a lower DispWeight value will be after. If two or more ships have the same value in their Dispweight field, they will be ordered between themselves in increasing ID order. The default scenario uses values between -100 and 200. Choose your value so that your ship is placed where you want it to be placed in the shipyard (open the other shďp resources in Nova Data 1 to check the values for the other ships). For instance, if you want your ship to be an optimised Leviathan, to be displayed after the default one, put 180 in the DispWeight field of your Leviathan. Put 0 if you don't care where your ship will be in the shipyard (for instance if it's a ship the player can't buy).

The Mass field
This number field is the mass of the ship, in tons. This doesn't by itself affect acceleration and top speed at all. However, this affects four things:
-first, the hyperspace time is longer for heavier ships:
-ships that weight less than 100 tons hyperspace in one day
-ships that weight 100 and more, but less than 200 tons, hyperspace in two days
-ships that weight 200 tons and more hyperspace in three days (note: this time can be changed by some outfits, though. Also, notice the player jumps as fast as the slowest ship in his fleet.)
-second, ships that weight more than 100 tons get a large blip on the radar when a density scanner (function filled by outfits such as the Gravimetric Sensors or Physical Sense in the Nova scenario) is installed
-third, heavier ships suffer from less recoil and weapon impact. In particular, when a ship fires another a tractor beam, the lighter ship (be it the firing or receiving ship) is dragged along by the heavier ship
-fourth, larger ships do more damage and impact when they explode, though not proportionally, in order to avoid "Leviathan Armageddon" which could easily kill even the Matt Burch and Frandall përses beforehand... which was not reasonable, so this has been limited in the 1.0.1 update. Plus, ship explosions now cannot destroy nor disable any ship (though it can bring them on the limit of being disabled).

The Length field
This number field holds the length of the ship, in meters. The only use of this stat whatsoever is for display to the player in the ship info dialog in the shipyard, no calculation make any use of it. Still, a cool thing to have, so enter a sensible value please.

The InherentAI field
This number field sets the "natural" AI of this ship, used when it is not created from a düde nor flët nor përs: when it escorts the player (also used if the ship is created in a düde that has 0 in the düde's AI field). Notice this has quite some importance as only the ships with AI 1 and 2 will carry player's cargo when they are escorts. As always, the AI types are (obviously, they follow the player's orders when they are escorts, but this still reflects their behavior, especially in combat):
"Wimpy Trader": 1 will make the ships of this type act as wimpy traders; wimpy traders visit planets, then hyper out. When attacked, they run away and attempt to hyper out. This is often associated to cargo-ferrying ships without any real combat capacity.
"Brave Trader": 2 will make the ships of this type act as brave traders; brave traders visit planets, then hyper out. When attacked, they fight back at close range, but once the attacker is away they flee. This is put for groups of semi-combat capable ships which main purpose is still ferrying cargo.
"Warship": 3 will make the ships of this type act as warships; warships check if there are ennemies in the system. They fight them if there are any, or hyper out if there is none. This is put for combat capable ships (well, warships) for them to act as military forces.
"Interceptor": 4 will make the ships of this type act as interceptors; interceptors checks if there are ennemies in the system. They fight them if there are any; if there is none, they park in orbit around a planet. They also scan incoming ships (including the player's ship) for illegal cargo and outfits. Also, they attempt to prevent piracy acts by attacking non-allied ships that attack or attempt to board ships that are not ennemies of the interceptor (still with me?). This is to be given to combat capable ships that are to act as system police (usually fighters and gunboats). Notice such ships will never hyperspace out, other than for fleeing.

The Crew field
This number field is simply the amount of crew members this ship has, which is mainly used for display in the ship info dialog and when capturing other ships, for computing the capture probability. 0-crew ships are a little special: they can only capture ships as escorts, and they can't be boarded. Be aware that putting too high values can overflow the capture formula when a ship with a too big crew attempts to capture a "crew of one" ship, making the former unable to capture the latter, so don't go over ~5000.

The Strength field
This number field contains an arbitrary value that represents the strength of the ship compared with the others, for use by the AI (especially with the gövt's MaxOdds field). This is just for use by the AI to know how powerful this ship is (compared to their), increasing this doesn't actually make the ship more powerful. For realisticness this number should be more or less proportional to the actual ship strength (roughly, it should be able to kill the ships that have a lower strength, and it should be killed by the ships that have an higher strength).

The InherentGovt field
This number field tells from which government this ship is usually associated which (for instance for faction-specific ships) and thus from which the ship should inherit its attributes; "attributes" are split in two: the combat attribute and the other attributes. Other attributes cover things such as the voice type the ship should have as an escort, if it can send distress message/ be hailed, what are the inherent jamming abilities, etc... the combat attribute is used to determine how this ship is viewed by the AI ships, who tend to attack the player when he's flying a ship inherently for combat of an enemy government. The Nova engine allows you to set the same government for both kind of attributes, or set it for one kind but not the other, or to set that there is no government from which this ship should inherit its attributes. If a ship doesn't inherit its combat attributes from any government, then the player will never be attacked for merely by flying this ship. If a ship doesn't inherit its other attributes from any government, then default values are used (VoiceType 0 is used, it will send distress message and be able to be hailed, have no inherent jamming, etc...).
"No Government": -1 will make the ship inherit from no government for all its attributes, both combat and other.
"Both Kind Govt": a gövt ID (i.e. a number between 128 and 383) will make the ship inherit from this government for all its attributes, both combat and other.
"Other Attr Govt": 1000+a gövt ID (i.e. a number between 1128 and 1383) will make the ship inherit from this government for its other attributes, but from no government for its combat attribute.
"Combat Govt": 2000+a gövt ID (i.e. a number between 2128 and 2383) will make the ship inherit from this government for its combat attribute, but from no government for its other attributes.
No, you can't make the ship inherit from one government for its combat attribute and another for its other attributes, if it's what you're wondering.

The Flags field
Some flags for the ship (man, there was none for shďp in EVC, we've come a long way baby):

  • "Slow Jumping": This will make this ship jump in hyperspace slower than default (at 75% of normal jump speed). I don't think it's a good idea to combine this flag with any of the two others just below. This flag is set for instance for the IDA Frigate and Enterprise.

  • "Semi-Fast Jumping": This will make this ship jump in hyperspace a little faster than default (at 125% of normal jump speed). This flag is set for instance for the Lightning.

  • "Fast Jumping": This will make the ship jump in hyperspace faster than default (at 150% of normal jump speed). This flag is set for instance for the ... Cargo Drone! (but also Mod Starbridge and Vell-os ships)
    Notice these flags have nothing to do with time spent in hyperspace (one, two or three days), merely with the speed of the ship when it enters hyperspace.
    "FuelRegen for Player": Tells that, when this ship is used as the player's ship, the player will also receive the fuel (energy) regeneration defined in the FuelRegen field below. It tells that the fuel regeneration is physically built in the ship (such as solar panels). Default is for the AI ships only to take advantage of this: it tells that the fuel regeneration comes from the -insert fuel recharging outfit name here- that every people owning this ship buys (for instance to compensate for the fuel-using default weapon), so the player does not have it at first. In the Nova scenario this flag is set for all ships that inherently recharge fuel (Raven, Scarab, Vell-os ships...).
    "Disabled at 10% Armor": If set, the ship is disabled only when its armor reaches 10%, otherwise it's disabled at 33% armor (this flag has been originally introduced to account for the heavily-armored Voinian ships in EVO). Some ships have it set, others not, in the Nova scenario (no real pattern could be seen).

  • "Afterburner if Player Skilled": If set, the AI ships of this ship model have the afterburner when the player "has an advanced combat rating" (straight from Bible). It is not known at which point "advanced combat rating" begins. If not, no afterburner, though the setting of this flag is ignored if the following flag is set. Set for most non-enormous ships in the Nova scenario.

  • "Always Afterburner": If set, the AI ships of this ship model always have an afterburner. Period. You'd better add an afterburner to the default items of this ship (that will be ignored by the AI) if this flag is set, so that the player finds an afterburner when he captures this ship. It is set for most Polaris ship, Wraiths and Hyperioids, and some advanced variants of more usual ships.
    "Show Armor %": If set, the target display will show the ship's remaining armor in percent (which is the case for most ships in Nova) when the ship's shields are down. If not set, "Shields Down" is shown, and it's impossible to know to which extent the ship's armor is damaged; it's the case for Polaris ships except the Dragon, "alien" ships (Vell-os, Wraith, Hyperioids, Krypt Pods), the RAGE Gunboat...

  • "Don't Show Shield State": If set, the shield or armor state is not shown at all, and the government affiliation appears in the bottom center instead of the bottom right corner. This is only the case for the Raven and Krypt Pods in Nova.

  • "Planet-Type ship": If set, the ship is considered to be a planet-type ship which, just as actual stellars, cannot be hit by normal weapons but only by planet-type weapons (that themselves cannot hit normal ships). It's meant to provide a way to add things (such as ground-based batteries that can be destroyed independantly of the stellar, for the purposes of a mission or part of the defense fleet) that are technically ships but need to have to be destroyed by planetary means (air-to-ground weaponry, orbital bombing, whatever). As with everything "planet-type", completely unused in the default Nova scenario.

  • "Blind Spot to Front": The ship's full turrets cannot fire to the front quadrant; this is quite an handicap for a ship, for instance it won't be able to fire both its cannons and turrets at the same time to the same ship.

  • "Blind Spot to Sides": The ship's full turrets won't be able to fire to the left nor right quadrant; then again quite a handicap as it gives a pretty important angle of attack that cannot be compensated for.

  • "Blind Spot to Rear": The ship's full turrets won't be able to fire to the rear quadrant; this is less of a handicap, though this angle of attack can hardly be compensated for either. Contrary to the other two flags, some ships are affected by this, such as the Federation Destroyer and Carrier, and the Auroran Carrier.

  • "Escape Ship": When set, the player will be able to escape in a ship of this type if it was a carried fighter in the hangar of the player's destroyed ship. Some nifty things can be done with this: for instance the player does not need to own the bay for this ship, so this ship can be given as a special kind of escape pod by having the "carrier" ship come with a bay of this ship, no launcher but one ammo as a default weapon (so that the player cannot use it as a deployable fighter). This flag is set for almost all fighters for which there is a bay (though not the Vell-os Dart nor the Pirate Thunderhead).

  • "Swarming Behavior": AI ships of this type will attack their enemies is swarms; this is usually set for fighters, that better are better suited for this, but not just for them sometimes (Raven and Scarab).

  • "Standoff Attacks": AI ships of this type will, immobile, attack their enemies from afar using their long-range weaponry, usually for big warships, or some railgun-using ships (such as Pirate Valks).

  • "Can't Be Targeted": Ship cannot be targeted in the targeting display (though it can be fired on using unguided stuff). When attacking such a ship, AI ship will only use unguided weapons such as straight blasters. This very odd flag is completely unused in the default Nova scenario.
    "PD Target": If set, this ship will be able to be targeted by Point Defense systems; if not set, no PD system will be able to fire to it. In the Nova scenario this is set for small ships and dangerous mid-sized ones (so that the PD systems do not waste their shots on other stuff) with a few exceptions, so respect this convention unless you have a good reason not to (such as your ship has technology/odd type that prevents it from being fired on by such weapons, like is the case for Polaris ships, Wraiths, Hyperioids and Krypt Pods). However in a TC you can enforce the policy you define (such as all ships can be fired on; or none can: PD is just useful against missiles).

  • "Don't Use Fighter Voices": This ship, when an escort, will not produce voices for whatever reason; this is set for Vell-os ship and Cargo Drones. Notice that if it's general for ships types that are inherently of a certain government you might as well set -1 in the VoiceType field of that gövt, so this is only really useful if this particular ship, for whatever reason, is not to have any fighter voice, while it has to be inherently of a government whose ships otherwise have fighter voices.

  • "Jump in Movement": If set, this ship does not have to slow down to engage an hyperspace jump, contrary to the others that have to stand still for their computers to determine the direction to take ("Travelling through hyperspace ain't like dusting crops, boy! Without precise calculations you'd fly right through a star, or bounce too close to a supernova, and that'd end your trip real quick, wouldn't it?") and for their hyperdrive system to properly generate the topligth speed field (or whatever ;)). This is set for the adult Wraiths and Vell-os ships (notice this ability can also be given by an outfit).

  • "Inertialess Ship": This will make this ship inertialess, like the Raven or Vell-os ships (notice this ability can also be given by an outfit). This has several consequences on movement: these ships always move towards the direction they're facing, they can't "strafe". This also means that, when they turn, their direction change, so they can change their direction faster than non-inertialess ships (that have to accelerate, that is hit the up arrow). For these ships, the up arrow serves to accelerate from 0 velocity to their maximum, but not to change their direction after turning. Also, the down arrow serves a completely different purpose: instead of rotating the ship 180° to allow it to stop (which would be useless for inertialess ships), it slows down the ship, down to zero velocity (it can't go backwards), doing the exact opposite of the up arrow. A side consequences of this are that inertialess ships are differently affected by tractor beams.

  • "Runs Away When Ammo Out": AI ships of this type, when their ammunition stocks are empty for all their weapons that use ammo, will break combat and go back (usually to the mothership) to recharge. This is mainly useful for missile craft launched from a cruiser, such as TIE Bombers (set for almost all ships in Nova).
    The following set of flags regard AI cloak usage (for these to work, a cloaking device needs to be given to the ship in the DefaultItems), the flags set describe how the AI use the cloaking ability of this ship, more accurately at which point(s) they will use it, additively: if flag A and B are set, the AI ships will cloak when A, and will cloak when B, etc... This is mostly set for Wraith ships.

  • "Cloak When Burst Reload": When set, AI ships of this type will cloak when they wait for one of their weapons to recharge when it needs to burst reload (see this in the wëap resource), as it may take long.

  • "Cloak When Running Away": When set, AI ships of this type will cloak when they run away so they may be able to survive more reliably...

  • "Cloak When Hyperspacing": When set, AI ships of this type will cloak before and during hyperspacing. Also, this allows the player to jump while cloaked, something that cannot usually be done (especially, it cannot be given by an outfit).

  • "Cloak When Flying Around": Even if there is no danger at all, AI ships of this type will cloak anyway during their usual flying patterns (going back and forth planets and ships).

  • "Cloak When Approaching Target": When set, AI ships of this type will cloak when approaching their target, to only uncloak and attack when at close range.

  • "Cloak When Docking": When set, AI ships of this type will cloak when they are visiting planets and stations.

  • "Cloak When Attacked": When set, AI ships of this type will react to being attacked by cloaking; this is only when the AI ship is aggressed, it will uncloak when attacking to use its weapons.
    (End of AI cloak flags)

  • "Destroys Asteroids": AI ships of this type will attempt to destroy asteroids they see, supposedly to scoop their debris.

  • "Scoops Debris": AI ships of this type will scoop the asteroids debris they see; this flag is usually associated with the one above. These two flags are set for the Asteroid Miner, but if you check other ships you may have surprises... (There are some Zephyr variants that destroys asteroids but don't scoop them for the purpose of the observe Zephyr missions, and cargo ships variants that scoop debris but don't bother destroying the 'roids!)

  • "Ignores Gravity": When set, ships of this type will not be affected by gravity. It may be wise to set this for the AI ships that are to be in the black holes-infested systems the player has to cross (you can say these alien ships have evolved a capacity for resisting the local heavy gravity, or whatever). Also, can serve as a pass for the player to be able to safely go in an heavy-gravity system and explore what's beyond (like the Nebula Penetration Device in the EVO nebula exploration missions).

  • "Ignores Deadly Stellars": When set, ships of this type will survive contact with deadly stellars. The potential uses are the same as above. Notice neither of these two features is used by the Nova scenario by default, so neither of these two flags is set for any ship in the Nova scenario.

  • "Turreted Shots Above Ship": When set, turret shots from this ship will be displayed by the engine above the ship, which is useful if the ship is large, for instance (it is set for ships such as the Fed Carrier and Thunderforge).

  • "Don't Show if Availability False": Just like the oütf flag, it makes the ship not shown in the shipyard if the Availability field is not true; this means that the default behavior is for the ship to be always shown (but can't be bought if the Availability isn't true, obviously), so if you don't set that flag, think to make clear in the ship dësc why the player can't buy the ship as the game will just dim the buy button; notice also that the player's ship will always be shown (if it can be found there), even if he can't buy it anymore.

  • "Don't Show if Require Not Met": Just like the oütf flag, it makes the ship not shown if the Require bits are not met (see my guide about them); this means that the default behavior is for the ship to be always shown (but can't be bought if the Require bits are not met, obviously), so if you don't set that flag, think to make clear in the ship dësc why the player can't buy the ship as the game will just dim the buy button; notice also that the player's ship will always be shown (if it can be found there), even if he can't buy it anymore.
    If your ship has an availability that's not blank or requires at least one bit, you should set the former flag and not set the latter one, to be coherent with the default behavior. Indeed, the behavior for most ships in the game is to show even if the Require bits are not met but not be shown if the Avalability field is not true (i.e. the former flag is set but not the latter).

  • "Exclusive": When set, it makes this ship prevent other highered-IDed ships with the same DispWeight from being displayed at the same time when this ship is available. This can be useful to allow a better (or worse) version of the same ship to be shown at times, thus preventing the regular version from being shown when the special one is there (or the other way round). Contrary to outfits (there is a similar flag there), this flag is not used for ships in the Nova scenario.

  • The PodCount field
    This number field states how many escape pods AI ships of this type will send when they are destroyed (normally they don't, i.e. 0), one pod a second. This is just for decoration, it has no implication whatsoever (contrary to the escape pods përs uses, that allow them to survive destruction). Some ships, such as some medium and most large ships, launch one (or a small number), while Star Liners have 10 in Nova. Constant escape pods can get annoying, so don't overuse this, for instance more than a few only really makes sense for luxury liners and such.

  • The DefaultItems fields
    These eight number fields allow you to have the player get some outfits (not just weapons) as default with this ship when he captures or buys one.
    - a number between 128 and 639 will make the outfit with this ID come as default with the ship
    - -1 to ignore the field
    Contrary to what the Bible says, they are not completely ignored by AI ships (for instance for AI ships to cloak they need a cloak installed), but which ones are used by the AI and which ones are not is not really known. Experiment yourself. Warning: don't put here the ID of an outfit that disappears as soon as it is bought, such as a map or fake ID.

  • The ItemCount fields
    These eight number fields match the eight above, each telling how many of the specified outfit to give. Leave 0 for unused DefaultItem slots (i.e. those that have -1 in the corresponding DefaultItems field).

The FuelRegen field
This number field allows you to set a base energy (fuel) recharge rate for this ship, that works the exact same way as the ModVal for a fuel recharger outfit: 0 for no shield recharge, otherwise it's the number of frames needed to recharge 1 unit of energy (therefore, the more you put, the slower the recharge). This also works if you put a negative number: then 1 unit of energy will be removed for this number of frames. Notice that, unless the "FuelRegen for Player" flag is set, this will be only for AI ships. Some ships (Raven, Scarab, Vell-os ships...) have a non-zero FuelRegen in the default Nova scenario.

  • The SkillVar field
    This number field is the maximum variation in skill (which, just like the SkillMult field of gövt, is represented by a variation is accel and top speed) within AI pilots of this ship type, in percent more or less than default. That is, putting a value (like 10) will make ships of this type have skill that ranges between 100-number % and 100+number % (90% and 110%) of default (this is applied on top of the SkillMult of the government, of course). It can make sense to put more for civilian and pirate ships for instance, whose skill can vary from one pilot to another, and less for military ships whose pilots are more homogeneously trained. Valid values range from 0 to 50%, put 0 for no random skill variation (for instance for ships for which this is irrelevant, such as Leviathans).

The Availability field
This text field (max of 254 chars) is a control bit TEST expression. This ship will be available for purchase, and escorts will be able to upgraded to this ship type, only when this expression evaluates to true (there can be other conditions as well). Notice this ship may very well still be shown in the shipyard when the player cannot buy it if the flag "Don't Show if Availability False" is not set. The simplest use of this is to make a ship unavailable as long as the player hasn't done a certain mission, and when the mission has been done make it always available afterwards. To do this you just put "bxxx" here, bxxx being the ncb set on completion of the certain mission. You can see that some ships have !b424 in here, to prevent the player from buying them if he's enslaved in the Vell-Os storyline. Leave blank if you don't wish the availability of your ship to depend on ncbs.

The AppearOn field
This text field (max of 254 chars) is a control bit TEST expression. This ship will appear in space flown by the AI only when this expression evaluates to true (of course, it has to be in düde resources to show up at all). The most frequent use of this is the same as above, just you might wish AI ships of this type to appear in space a few missions before or after the player can buy it. Leave blank for this ship to always appear where it can.
EVO porting note: the mission bit field used to trigger the in-space appearance of a ship type used to reside in the düde resource, therefore you have to move it here.

  • The OnPurchase field
    This text field (max of 255 chars) is a control bit SET expression. The expression will be evaluated whenever the player buys one of the ship in question. "b8888" is put for some ships in the Nova scenario, to trigger nasty things when the player gets one such ship... 😉

  • The Deionize field
    This number field stores the rate of ionization dissipation of this ship: when this ship is ionized, higher values here will faster the dissipation (100 in this field makes one less point of ion energy per frame) and the ionization will fade sooner. In the Nova scenario, big ships have high values, though they also have a high IonizeMax, but ships seen as more technologically advanced (Polaris ones, in particular) have a lower IonizeMax/Deionize ratio (that is, they go from fully ionized to no ionization faster).

  • The IonizeMax field
    This number field states the maximum of ion energy that has an effect: when this ship's ionisation reaches this value, then the ship is considered fully ionised and the turning speed is at minimum; turning speed goes down proportionally with the ionisation before reaching this value, and further ionisation does not reduce the turning speed (however, ionisation can continue to build, slowing down the process of deionizing). In the Nova scenario, bigger ships have bigger values here than the smaller ships, though it's not proportional nor even systematic. Check the similar ships to give yourself an idea.

  • The KeyCarried field
    This number field holds the ID of the shďp that will be this ship's KeyCarried ship, that is, a ship that, when inside this ship's fighter bay, will trigger ...err... stuff with wëap and shän (that is, weapons that can't be fired unless there is at least on KeyCarried ship on board, and the appearance of the ship can depend on the presence of at least on KeyCarried ship). KeyCarried is an unused and still little understood and untried feature that is aimed at making dynamic changes (such as changing the appearance and the weapons that can fire) depending on the fact a ship has one specific ship type currently on his bay, this can be used to give the impression a ship can split into two parts, each part taking its own weapons, then reassemble to reform the big ship, for instance. Leave 0 to not use this.

  • The Contribute fields
    These are described as two 32-bit hex fields in the Bible, but your editor probably implements them as 64 checkboxes. For each checkbox you set, the corresponding Contribute/Require bit (see my guide on the matter) will be contributed by the ship as long as the player is flying this ship. For ships, this is mainly used to prevent Vell-os ships from being equipped with most items (that just don't fit with a mental projection). As a consequence, set the last (least significant) bit/checkbox of this field even if you don't understand this, unless you wish your ship to be a mental projection or alien (Wraith, Hyperioid, Krypt) ship, that also cannot be equipped with most outfits. If you don't know which bit it is, check the Shuttle in Nova Data 1 and note which checkbox is checked/bit is set. Indeed, most outfits in turn Require that last bit, that can be given the meaning "the ship owned is a hard, physical one".

  • The Require fields
    These are described as two 32-bit hex fields in the Bible, but your editor probably implements them as 64 checkboxes. For the ship to be available, the player will need to meet all the Contribute/Require bits that correspond to the checkboxes set. Notice that depending on the relevant flag above, the ship will be shown or not when unavailable. This is being used, for instance, by ships that require some Fed license to be bought. If you don't wish any specific Contribute/Require behavior or if you don't understand that yet, leave them all unchecked.

The BuyRandom field
This number field holds how many % (percent) of the time the ship will appear in shipyards (when it can appear, of course); if you wish your ship to be available only one time out of two, set to 50. Notice you can very well make your ship completely unavailable by putting 0 in it. If you wish the ship to be always available, put 100, or -1, or anything not significant (i.e. <0 or >100); of course, the spöb has to have a TechLevel high enough, and other conditions have to be met, this is just to ignore the randomisation. Most ships show very often (>70%) in the shipyard in Nova.

The HireRandom field
This number field holds how many % (percent) of the time the ship will appear in the hiring ship dialog in the bar (when it can appear, of course); if you wish your ship to be available for hire only one time out of two, set to 50. Notice you can very well make your ship completely unavailable for hire by putting 0 in it. If you wish the ship to be always available for hire, put 100, or -1, or anything not significant (i.e. <0 or >100); of course, the spöb has to have a TechLevel high enough, and other conditions have to be met, this is just to ignore the randomisation. Some ships are rarely available for hire, though not the Cargo Drone...

  • The OnCapture field
    This text field (max of 254 chars) is a control bit SET expression. The expression will be evaluated whenever the player captures one of the ship in question, wether he uses it as its own ship or as an escort. "b8888" is put for some ships in the Nova scenario, to trigger nasty things when the player gets one such ship... 😉

  • The OnRetire field
    This text field (max of 254 chars) is a control bit SET expression. The expression will be evaluated whenever the player sells this ship he owned, or discards it in favor of a captured one, or when the player owns this ship type and it gets destroyed. There is no significant use of this in the default Nova scenario.

The Subtitle field
This text field (max of 63 chars) contains the subtitle of this ship, shown below the ship name (which is the resource name) in the targeting display. More often than not, ship variants have different Subtitles to differentiate them, though some ships don't have any subtitle. Leave blank and no subtitle will be shown.

  • The UpgradeTo field
    This number field stores the ID of the shďp this ship can be upgraded to when it is a player's escort, and the player is prepared to meet the price... You can have entire upgrade chains that allow the player to build himself a fleet of well-upgraded ships, provided he can find the money and an outfitter. Many ships (especially the stock ships available for buy/hire) in the Nova scenario can be upgraded to the next more advanced version. Notice that upgrading won't be allowed if the target ship type cannot be bought by the player (i.e. its Availability ncb test field evaluates to false), which makes sense as this ncb expression reflects the availability of the ship for the player. Notice this doesn't mean that the target ship has to appear in shipyards, you can set the HireRandom of the target ship to 0 for the player not to be able to buy it but to be able to upgrade his escorts to it. For this ship type not to be able to be upgraded to a better variant, put 0 or -1.

  • The EscUpgrdCost field
    This number field (this one is a signed 32-bit one that can hold values up to 2G or so) is the amount of credits that the player needs to spend to upgrade this ship to the next version defined in the field above. Leave 0 if the ship is not to be able to be upgraded (i.e. there is 0 or -1 above).

  • The EscSellValue field
    This number field (this one is a signed 32-bit one that can hold values up to 2G or so) is the amount of credits the player will receive when this ship, as a captured escort, is sold to a shipyard. Leave 0 or -1 for the default behavior (10% of Cost).

The EscortType field
This number field (often a menu) serves to tell the engine in which escort group this ship, when a player's escort, should be put.
"Unknown": -1 will tell the engine to try to figure it out itself. Quite frankly, you're far better placed to make this decision, so be kind to the Nova engine and put another value please (unless you have a really good reason to do this).
"Fighter: 0 will make this ship placed in the fighter group
"Medium Ship": 1
"Warship": 2
"Freighter": 3

The ShortName field
This text field (max of 63 chars) is the ship name as it will appear in the shipyard just below the small ship icon in the ship list. Don't forget room there is limited, so keep it short. You can split it into two lines by putting "\n" (without the quotes) where you want the line break to be.

The CommName field
This text field (max of 31 chars) is the ship name as it will appear in the hail dialog, like "Arachnid" in Arachnid (Polaris).

The LongName field
This text field (max of 127 chars) is the ship-specific string that will be displayed when the player has to name this brand new ship, whether it be by buying it or starting out with it. For instance for the Shuttle it's "Sigma Shipyards Alpha class Shuttle", which makes, when combined with the default string (found in STR# 2002), "Now, please christen your brand-new Sigma Shipyards Alpha class Shuttle". In this, you can let loose your imagination and expand the acronyms, give the name and location of the dockyards where the ship was built, the model (B-497 rev A), the version to the 4th digit (1.0.6.1), the technology (Twin Ion Engine), an official name and/or nickname (Advanced Fighter "Avenger"). For instance, it could give for my favorite starfighter:
Seinar Fleet Systems Twin Ion Engine Advanced Fighter "Avenger" model D (Habeen hyperdrive technology)
while the usual name is just "TIE Advanced".

  • The MovieFile field
    This text field (max of 31 chars) is the file name of a QuickTime movie file, that should reside in the plug-in folder (or the Nova Files folder if you're doing a TC), to be displayed and looped instead of the 100100 ship picture when the ship is selected in the shipyard. This is completely unused in the Nova scenario, though some bizarre leftover values can be found here in the data files. Whatever, if the engine can't find a file with that name, it will default back to the 100100 ship picture. Leave blank not to use.

There are quite a number of resources that are hard-linked to shďp. For one, a ship uses for its appearance the settings defined in the shän resource with the same ID as the shďp. This means that variants have to have different shäns (but with the same data) at different IDs matching the shďp IDs. However, the shäns (that are lightweight) can all point to the same Rlë8/D sprites (that are somewhat bigger). The target picts (that are red scanlines in the Nova scenario) are found at PICT ID 3000+shďp index. The 100100 shipyard pict is at PICT ID 5000+shďp index, and the small 3232 icon is automatically generated from it. Notice that these two do not need to be copied for all the variants of the same ship, since if more than one shän uses the same base sprites, then the engine recognises the corresponding ships as having the same appearance and therefore will reuse the target PICT and shipyard PICT from the one shďp with lowest ID.
Lastly, the 600400 image that is shown along with the ship characteristics is not hard-linked (though to avoid ID collisions you should follow the habit already taken and give the PICT an ID of 2000+shďp ID), but instead is indicated by the Graphic field of the ship dësc! Speaking of that, the ship desc is at ID 13000+shďp index, and the ship hiring desc is at ID 14000+shďp index (don't forget to fill the Graphic field of the hiring desc as well, with the ID of the 600400 PICT, for the picture to be shown with the ship characteristics in the hiring dialog). I think that's all...

There is a maximum of 768 ship classes, i.e. 768 shďp resources. However, the last shďp ID, 895, is reserved to the escape pod. Therefore, you can use shďp IDs from 128 to 894. Notice the ship with ID 128 is a little particular since it is the one the player will restart with when he has used the escape pod. When the ship ID 128 is "obtained" in such a way, then the default weapons but no default items come with it, and the persistent outfits the player had get trashed, but OnPurchase is evaluated (don't ask me), allowing you to circumvent this.

.

.

.

Sorry for the delay - I basically had assessments for some time, then one week to skiing without any internet access. Also, I attempted to invade Bomb's plugin guide but someone (probably andrew) didn't hear it that way and deleted the "ultimatum" topic I posted there. Oh well. Now I'll try to concentrate on porting my guides to HTML for Space Pirate's site, and also to the BB code used by these boards (that have many functions); though not as pretty or rich than HTML (especially given Space Pirate's CSS), it should make them more redable nonetheless.

This post has been edited by Zacha Pedro : 04 February 2005 - 04:40 AM

Very nicely done.

A few comments though

When you mention the speed and acceleration, it might be good to give examples, because the "standard value" of 300 is very vague
Here's what I found:
Arachnid: speed: 300
Abomination: speed: 320
Manticore: accel: 300
Those are the first variants each time. It might help give an idea of what it's like

You could also mention in the Availability AppearOn and UpgradeTo fields that if you want to prevent the player from upgrading an escort to the next variant before something is set, it's the Availability field that controls this (for more details, read Ship upgrade availability). I don't know if it's common knowledge, but no one told me when I asked, so I suppose it isn't

I'd note that ship that have "scoop asteroids" but not "destroy asteroids" (or possibly the reverse) will fly between planets in a system as if they are trading resources between two planets, and they will not attempt to leave the system under normal conditions.

I'd like to mention the following things:

The DispWeight field: It doen't care whether the number is positive or negative (the Raven has a DispWieght of -3).

I just checked the behavior of the Cost field, and no, the cost of any outfits that come with the ship is not added onto the ship's price (a the debuglog has a special error if a ship's resale value is greater than its purchase price, doubtless to warn about problems like Frozen Heart's Asteroid Prospector, which sold for a hundred thousand more than its purchase price).

In the Mass field, you might want to mention that an exploding ship CANNOT disable or destroy another ship (as of 1.0.8). It can send your (or an AI's) armor down to 33/10%, but it can't do more.

The crew field: You aren't quite right about the effect of 0 crew (as usual, as of 1.0.8). I've observed that a 0 crew ship can capture other ships, but even with marine platoons you cannot use the "use as my ship" option. All captured ships will become escorts. You cannot capture a 0 crew ship.

The Cannot Target flag: This flag will prevent the player from selecting the affected ship at all, but it will only prevent the AI from firing turreted non-PD weapons at that ship.

Inertialess ships: Impact in general DOES work on them, however they will immediately try to get back up to normal speed.
Also, tractor beams do work on inertialess ships, although if the ship's mass is over about 70-80 tons, the player's ship doen't get dragged around by heavier ships (even ones with a mass of 32000). If the player is tractoring an AI ship, there doesn't seem to be any problem with mass (don't ask me, I just find these things out :blink: )

Cloak While Hyperspacing: This field also allows the human player to enter hyperspace without un-cloaking.

DefaultItems: No default items come with the ship you get after using an escape pod. This can be bypassed using the OnPurchase Field (more on this later).

IonizeMax: You may want to be clearer that more ionization still builds up after you have reached this number.

The NCB set fields (I've just been testing these):
OnPurchase: Also evaluated when the ship is accquired by after using an escape pod (shďp 128 only).

OnCapture: Set whenever you successfully capture the ship, whether you use it as your ship or not.

OnRetire: Set when the ship is sold or blown up.

The ship-changing operators do not cause any of the NCB fields to be evaluated.

This post has been edited by Edwards : 01 February 2005 - 10:44 PM

I'd also like to apologise for the double-post. My internet connection hiccuped on me.

This post has been edited by Edwards : 01 February 2005 - 07:36 PM

Edwards, on Feb 2 2005, 12:32 AM, said:

IonizeMax: You may want to be clearer that more ionization still builds up after you have reached this number.View Post

So the ionizemax field really just tells how quickly it will slow you down? (ie, you'll be at your slowest when that number is reached?)

Guy, on Feb 2 2005, 05:47 AM, said:

So the ionizemax field really just tells how quickly it will slow you down? (ie, you'll be at your slowest when that number is reached?)
View Post

Yep. Once "IonizeMax" has been reached, you're fully ionised and any further ionisation will just stop your de-ionisation outfits from having their effect straight away

Thanks a bunch for your comments (man, I was way off the place for some things...). I'll include them as soon as I can (i.e. not today since I have to go back home now).

Corrections have been applied, except in following cases:

Raga, I find this a little minor, if you don't mind. Especially as I can't say "it's some way round, or maybe the other"... I might as well not say anything.

Edwards:
crew: I never tried it, so can 0-crew ships:
-be boarded, captured, but not taken as the player's ship?
-be boarded, but not captured even as an escort?
-cannot be boarded?

cannot target: do you mean that AI ships can fire things, other than turreted non-PD weapons, but that require a target, such as guided missiles, to untargetable ships (while the player can't, obviously)?

The ship-changing ncb operators (and the fact oütf and shďp ncb set expression are not evaluated when giving the outfit/ship with Gxxx/Hxxx and likes) are better documented in a specific guide, especially as the contents of the relevant outift/ship set expression can merely be added in the ncb set expression containing the Gxxx/Hxxx/etc to compensate for that.

This post has been edited by Zacha Pedro : 03 February 2005 - 09:20 AM

Zacha Pedro, on Feb 3 2005, 03:19 PM, said:

Edwards:
crew: I never tried it, so can 0-crew ships:
-be boarded, captured, but not taken as the player's ship?
-be boarded, but not captured even as an escort?
-cannot be boarded?

cannot target: do you mean that AI ships can fire things, other than turreted non-PD weapons, but that require a target, such as guided missiles, to untargetable ships (while the player can't, obviously)?
View Post

0-crew ships can't be boarded. Simple as that.

Just a small detail: you can fire guided missiles such as the Radar missile, even without having a target. It just means it acts as an unguided projectile.

I don't think the AI can fire the weapons that require a target at un-targetable ships, but I'll just experiment (see if they will fire anything at them ).

Edit: AI will only fire the non-turreted weapons (blasters, flower of spring, ). Just tested with a xenophobic ship. Even a Javelin was only using the flower of spring, and a Fed Carrier wasn't doing anything, neither was a Krypt Pod
Funny battle going on, with all of them getting attacked by an invisible and untargetable ship 😄 lots of weapons firing to and firing from the void (yep, mine was invisible to the eye, but that doesn't change a thing).

This post has been edited by Pace (haldora) : 03 February 2005 - 12:02 PM

Thanks Pace. Oh, and by the way, I should say that about this guide:

May contain Star Wars references...

Zacha Pedro, on Feb 4 2005, 10:41 AM, said:

Thanks Pace. Oh, and by the way, I should say that about this guide:

May contain Star Wars references...
View Post

😄 You think so? 😛