The EV Nova Resource Bible
Last Revision: 1/24/06 by mcb This information is not guaranteed to be 100% accurate. Use at your own risk. Has been known to cause cancer in laboratory animals. Caveat lector. by Matt Burch ©1995-2006 by Ambrosia Software, Inc. All Rights Reserved Worldwide converted from plain text to html by Jail jail_bait60@mac.com homepage.mac.com/jail_bait60
Part I - Game Constants Max Ships In System 64 Max Stellar Objects 2048 Max Systems 2048 Max Ship Classes 768 Max Stellar Classes 256 Jump Distance 1000 pixels Max Weapon Types 256 Max Outfit Item Types 512 Max Beams On Screen 64 Max Dude Types 512 Max Ships Per Dude 16 Max Govts 256 Max Explosions On Screen 32 Max Explosion Types 64 Max Missions 1000 Num Mission Bits 10000 Max Cargo Types 256 Max Person Types 1024 Max Shots On Screen 128 Max Asteroids 16 Max Asteroid Types 16 Max Nebulae 32 Max Images Per Nebula 7 Max Simultaneous Missions 16 Max Disasters 256 Max Fleets 256 Max Ranks 128 Max Junk Types 128 Max Crons 512
Part II - Resource Descriptions Note: Nova's resources all start at ID number 128, but the internal storage for all data file info is zero-based. Therefore, when a field in the Nova data file is said to refer to a government, stellar object, etc., it refers to it by its index number (starts at 0) unless it is specifically stated that it is referring to the ID number, which starts at 128. Note: Some of Nova's fields refer to other resource IDs or index numbers, but their values are offset by a certain amount to indicate type. For example, the mïsn resource's AvailStel field refers to the index number of a gövt resource when its value is between 10000 and 10255. In cases like this, it is necessary to add to or subtract from the field in order to force the value into the proper range: in this instance, you'd subtract 10000 to find the index number of the gövt. Note: Any resources in an Nova plugin file automatically replace same-numbered resources in Nova’s main files. Resources are loaded from the "Nova Files" folder first and then resources from the "Nova Plug-Ins" folder are loaded.
A quick word about control bits and scripting in EV Nova: Mission bits exist as they did in previous incarnations of EV. This time around, there are 10,000 bits available for your use, and they are accessed much differently from previous versions. For this reason, they are referred to as Nova control bits (ncb's). Control bits are accessed through logical expressions that allow much more powerful and logical mission scripting. These expressions are divided into two types - test and set: Test expressions: These are boolean expressions that are used to determine when something happens; for example, when a mission is to be offered, or when a particular ship should be made available for purchase. In general, if the logical expression defined in a given test expression field evaluates to be true (nonzero), the associated property will be activated (mission becomes available, ship appears, etc.). The following terms and operators are supported: (capitalization doesn't matter) Bxxx Lookup the value of control bit xxx. Bits are numbered from b0 to b9999. Pxxx Check if the game is registered ([P]aid for) ... evaluates to 1 if the game is registered or is unregistered but less than xxx days have elapsed. Evaluates to 0 only if unregistered for more than xxx days. G Lookup the player's gender - 1 if male, 0 if female Oxxx Returns 1 if the player has at least one of outfit item ID xxx, 0 if not Exxx Returns 1 if the player has explored system ID xxx, 0 if not | Logical or operator & Logical and operator ! Logical negation operator ( ) Parenthetical enclosure Some examples: b13 & (b15 | !b72) !(B42 | B53) & b103 Note that since the Nova evaluator is fairly primitive, it may do unpredictable things if you give it an expression like b1 & b2 | b3 ... instead, use proper parentheses to make it b1 & (b2 | b3) or (b1 & b2) | b3, as appropriate. Also note that if you leave the field for a test expression blank, it will evaluate to true as a default. Also also note: The Oxxx operator also considers any carried fighters that are deployed when it examines the player's current list of outfits, although this feature may be confused if presented with a universe that includes multiple fighter bay weapons that launch the same ship type, or different outfits that grant the same fighter bay ammo. Set expressions: These are simpler than the test expressions... basically all you are doing here is listing what bits you want to be modified when the expression in a given field is invoked. This will happen when the player does something (completes a mission, buys an item, etc.) as defined by the other resources. The syntax of set expressions is best illustrated by an example: b1 b2 !b3 ^b4 In this set expression, bits 1 and 2 will be set, bit 3 will be cleared, and bit 4 will be toggled to the opposite of whatever it was previously. No parentheses are supported for set expressions. Note that if you leave a set expression blank, no control bits will be altered. One other feature of the set expression is the ability to make random decisions. By specifying R(<op1> <op2>) you can make Nova randomly pick one of the two possible choices and execute it, skipping the other one. For example: b1 R(b2 !b3) ...this expression will set bit 1, and then *either* set bit 2 *or* clear bit 3, but not both at once. Which operation will be picked is completely random, which allows for the design of interesting mission strings that branch unpredictably. There are also a number of other operators that allow you to do many interesting things: Axxx - if mission ID xxx is currently active, abort it. Fxxx - if mission ID xxx is currently active, cause it to fail. Sxxx - start mission ID xxx automatically. Gxxx - grant one of outfit item ID xxx to the player Dxxx - remove (Delete) one of outfit item ID xxx from the player Mxxx - move the player to system xxx. The player will be put on top of the first stellar in the system, or in the center of the system if no stellars exist there. Nxxx - move the player to system xxx. The player will remain at the same x/y coordinates, relative to the center of the system. Cxxx - change the player's ship to ship type (ID) xxx. The player will keep all of his previous outfit items and won't be given any of the default weapons or items that come with ship type xxx. Exxx - change the player's ship to ship type (ID) xxx. The player will keep all of his previous outfit items and will also be given all of the default weapons and items that come with ship type xxx. Hxxx - change the player's ship to ship type (ID) xxx. The player will lose any nonpersistent outfit items he previously had, but will be given all of the default weapons and items that come with ship type xxx. Kxxx - activate rank ID xxx. Lxxx - deactivate rank ID xxx. Pxxx - play sound with ID xxx. Yxxx - destroy stellar ID xxx. Uxxx - regenerate (Un-destroy) stellar ID xxx. Qxxx - make the player immediately leave (absquatulate) whatever stellar he's landed on and return to space, and show a message at the bottom of the screen. The message is randomly selected from the STR# resource with ID xxx, and is parsed for mission text tags (e.g. <PSN> and <PRK> ) but not text-selection tags like those above (e.g. {G "he" "she"} ) (see dësc and mïsn resource descriptions for more examples) Txxx - change the name (Title) of the player's ship to a string randomly selected from STR# resource ID xxx. The previous ship name will be substituted for any '*' characters which are encountered in the new string. Xxxx - make system ID xxx be explored.
The spïn resource Spin resources contain sprite info for simple graphical objects. Whenever Nova needs to load a set of sprites for a particular object, it looks at that objects's spin resource, which in turn tells the game how to load the object's sprites. Nova sprites are stored as paired sprite and mask PICT resources, or as rleD/rle8 resources. The sprites in each PICT are arranged in a grid, which can be of any size. The spin resource tells Nova what shape and size the sprites' grid is. Spin resources have the following fields: SpritesID ID number of the sprites' PICT resource (or the ID of the rleD/rle8 resource) MasksID ID number of the masks' PICT resource xSize Horizontal size of each sprite ySize Vertical size of each sprite xTiles Horizontal grid dimension yTiles Vertical grid dimension Spin resources have certain reserved ID numbers, which correspond to different types of objects: 400-463 Explosions 500 Cargo boxes 501-504 Mini-asteroids for mining 600-605 Main menu buttons 606 Main screen logo 607 Main screen rollover images 608-610 Main screen sliding buttons 650 Target cursor 700 Starfield 800-815 Asteroids 1000-1255 Stellar objects 3000-3255 Weapons It is important to note that the ID numbers of the PICT/rleD/rle8 resources are non-critical, as Nova looks at the spin resources to find the sprites, and not at the actual PICT/rleD/rle8 ID numbers themselves.
The shän resource Shan (ship animation) resources contain sprite info for ship graphics, which are too complex for the more rudimentary spin resource. BaseImageID The resource ID of the basic sprite images for this ship BaseMaskID The ID of the corresponding sprite masks (ignored if the base image is an rleD/rle8 resource) BaseSetCount The number of sprite sets for the basic sprite images. A sprite set is usually 36 sprite images, and the graphics for all of a ship's basic sprite sets are stored in the same PICT/rleD/rle8 resource, referred to in BaseImageID. BaseXSize The X size of each basic sprite image BaseYSize The Y size of each basic sprite image BaseTransp The inherent transparency of the basic sprite images, from 0 (no transparency) to 32 (fully transparent). AltImageID The resource ID of the alternating sprite images for this ship. Sprites from the alt sprite sets can be displayed on top of the basic sprite for the ship, cycling through each available sprite set at a rate defined in the Delay field, below. Set to zero if unused. AltMaskID The corresponding mask ID. Set to zero if unused. AltSetCount The number of sprite sets for the alternating sprites. AltXSize AltYSize GlowImageID Engine glow GlowMaskID GlowXSize GlowYSize LightImageID Running lights LightMaskID LightXSize LightYSize WeapImageID Weapon effects WeapMaskID WeapXSize WeapYSize ShieldImageID Shield bubble (shield sprite have a number of frames ShieldMaskID exactly equal to 1, FramesPer, or BaseSetCount*FramesPer) ShieldXSize ShieldYSize Flags 0x0001 Extra frames in base image are used to display banking. The first set of sprites is used for level flight, the second for banking left, and the third for banking right. 0x0002 Extra frames in base image are used for animated ship parts such as for folding/unfolding wings. The sprites will be cycled upon landing, taking off, and entering/exiting hyperspace. 0x0004 The second set of frames in the base image are displayed when the ship is carrying at least one of its KeyCarried type ships onboard. 0x0008 Extra frames in base image are shown in sequence, just like the sprites in the alternating image. The AnimDelay field has the same effect in this case. 0x0010 Stop the ships' animations when it is disabled 0x0020 Hide alt sprites when the ship is disabled 0x0040 Hide running light sprites when the ship is disabled 0x0080 Ship unfolds when firing weapons, and folds back up when not firing. 0x0100 Adjust ship's visual presentation to correct for the skew caused by graphics that are rendered highly off-axis from vertical. This uses the ship's UpCompressY and DnCompressY fields to interpolate the proper sprite frame to display based on the ship's actual heading. Use this with caution, as it tends to cause very jerky ship rotation and is mostly included as a curiosity. Note that the first four flags in this field are mutually exclusive - i.e. you can have a ship that banks, unfolds, changes appearance when it is carrying a certain other ship type, or animates in sequence, but these effects can't be combined. The only exception is that having both flags 0x0001 and 0x0002 set is treated specially - it results in a ship whose extra frames are used for banking and which always displays its engine glow when it is turning, whether or not it is actually accelerating. (This something that got thrown in at some point when I realized that it would be necessary to have in order to replicate the behavior of a certain type of ship from a certain TV show). AnimDelay The delay between frames of the sprite animations, in 30ths of a second. WeapDecay The rate at which the weapon glow sprite fades out to transparency, if applicable. 50 is a good median number - lower numbers yield slower decays. FramesPer The number of frames for one rotation of this ship - usually 36 is a good number, but larger ships can benefit from having more frames per rotation to make their turning animation look smoother. Be sure this value is equal to the actual number of frames per revolution in your images, or bad things will happen! BlinkMode 0 or -1 Ignored 1 Square-wave blinking: BlinkValA is the delay between blinks BlinkValB is the light on-time BlinkValC is the number of blinks in a group BlinkValD is the delay between groups 2 Triangle-wave pulsing: BlinkValA is the minimum intensity (1-32) BlinkValB is the intensity increase per frame, x100 BlinkValC is the maximum intensity (1-32) BlinkValD is the intensity decrease per frame, x100 3 Random pulsing: BlinkValA is the minimum intensity (1-32) BlinkValB is the maximum intensity (1-32) BlinkValC is the delay between intensity changes BlinkValD is ignored GunPosX Here you can set the exit points on the ship sprite for four GunPosY different classes of weapons. Note that The "Gun" "Beam" etc. TurretPosX designations are for convenience only, since which set of TurretPosY weapon exit points is used by a given weapon are defined in GuidedPosX that weapon's ExitType field. The x & y positions of each GuidedPosY weapon exit point are measured in pixels from the center of the BeamPosX ship when the ship is pointing straight up (frame index 0). See BeamPosY the next four fields if you need to account for any perspective corrections in your sprites. UpCompressX If you have ship sprites that are rendered at an angle, these UpCompressY fields are used to correct for the ships perspective when DnCompressX calculating the weapon exit points (above). If the ship is DnCompressY pointing generally "up" (heading is 0-90 or 270-359) then UpCompressX/Y are used; if the ship is pointing generally "down" (heading is 91-269 degrees) then DnCompressX/Y are used. These values are divided by 100 and then multiplied by the rotated x & y values in the weapon exit point fields to apply a rough correction factor, so values less that 100 will bring the exit points in closer to the ship and values greater than 100 will move the exit points farther out. Experimentation is the best way to learn how this works. Values of zero are interpreted the same as a value of 100, so you can leave this field set to zero if unused. GunPosZ Here you can set further weapon exit point offsets in order to TurretPosZ compensate for skew caused by the z position of a ship GuidedPosZ graphic's weapon exit point. These values are added to a BeamPosZ shot or beam's position after the weapon exit point x & y offsets and the x & y compression factors have been applied, so the effect of these values is not scaled. Positive values here move up the screen, negative values move down the screen. (this is a lot easier to use with the editor than it is to describe) Note: if you use engine glows or running lights, you must have the same number of engine glow and/or running light frames as base frames (including banking frames!) or Nova will choke.
The bööm resource The boom resource is used to customize the various explosion types. Nova supports up to 64 different explosion types. The graphics for the explosions are loaded from spïn resources 400-463, the sounds are loaded from snd resources 300-363, and the behavior of each explosion type is contained within bööm resources 128-191. Each bööm resource contains three fields: FrameAdvance The rate at which the explosion will animate - a value of 100 will cause each frame of the explosion to appear for exactly one frame of the game animation, and lower values will stretch out the explosion animation and make it stay onscreen longer. SoundIndex The index (0-63) of the explosion sound to associate with this explosion type, or -1 for a silent explosion. Usually you'd set this to either -1 or to the same value as the explosion index itself (e.g. 1 for bööm resource 129, etc.) but if you want to use the same sound for two different explosion types, you can do that with this field. GraphicIndex The index (0-63) of the explosion graphic to associate with this explosion type. Usually you'd set this to the same value as the explosion index itself (e.g. 1 for bööm resource 129, etc.) but if you want to use the same graphic for two different explosion types (like the small weapon explosion and the ship-breaking-up explosion) you can do that with this field.
The chär resource The chär resource is used to allow multiple entry points into the scenario's storyline, by letting the player pick a "character template" from a list when a new pilot is started. The player is presented with a list of all available chär resources when a new pilot is created, and must choose one (but only one). This allows different character types to have different ships, legal records, etc. at the start of the game, and also allows for the setting-up of mission stuff by way of a control bit set string that is evaluated when a new pilot is started. Cash The amount of money a player gets when starting out with this character type ShipType ID number of the starting ship type System1-4 ID numbers of up to four possible starting systems for the player. The player will randomly be placed in one of these systems when starting out. Set to -1 if unused (if all four of these fields are set to -1, the player will be placed in system ID 128 as a default). Govt1-4 & For each of the governments whose ID is entered in a Govt1-4 Status1-4 field, the player's legal status in systems owned by that government or one of its allies is set to the value in the corresponding Status field. For systems owned by an enemy of the govt identified in the Govt field, the player's legal status is set to the negative value of the number in the corresponding Status field. Set unused Govt fields to -1. Kills The player's starting combat rating. IntroPict1-4 IDs of up to four PICT resources to show in sequence when the player starts out with a new pilot of this type. Set to -1 if unused. PictDelay1-4 Maximum delay time to display each of the four above pictures, in seconds. IntroTextID The ID of the dësc resource to show when the player starts out with a new pilot of this type. Along with the IntroPictID field, this allow you to have different opening sequences for each pilot type (useful to show different sides of the same issue, for example). Using the dësc resource's MovieFile field here lets you have an introduction movie. The intro text (and any associated movie) is displayed after the above PICT resouces are shown. OnStart A control bit set string that is called when the player starts out with a new pilot of this type. Flags 0x0001 Denotes the "default" chär resource, which will be automatically selected in the popup menu. If more than one chär resource has this bit set (there shouldn't be) the one with the lowest ID will be considered the default. StartYear The starting year of the game. DatePrefix String that is appended to the start of the date whenever it's displayed. DateSuffix String that is appended to the end of the date whenever it's displayed.
The cölr resource The cölr resource allows you to customize some game-wide interface options. ButtonUp Normal button text color ButtonDown Pressed button text color ButtonGrey Greyed-out button text color MenuFont Main menu font name MenuFontSize Size of main menu font MenuColor1 & 2 Bright & dim colors for main menu GridDim Shipyard/outfit dialog grid color GridBright Shipyard/outfit dialog selection square color ProgressBar Position and shape of the loading progress bar, relative to the center of the window ProgBright Bright progress bar color ProgDim Dim progress bar color ProgOutline Progress bar outline color Button1x & y Position of the six main menu buttons, relative to the through top left corner of a 1024x768 main menu background Button6x & y FloatingMap Floating hyperspace map / escort menu border color ListText List text color ListBkgnd List background color ListHilite List hilite color EscortHilite Escort menu item hilite color ButtonFont Button font name ButtonFontSz Size of button font LogoX & Y Logo animation x/y position RolloverX & Y Rollover animation x/y position Slide1x & y Sliding button x/y positions through Slide3x & y The various interface buttons that appear are drawn on the fly. Nova uses PICT resources 7500-7502 for the left, center, and right pieces of the "up" buttons, PICT resources 7503-7505 for the "down" button pieces, and PICT resources 7506-7508 for the greyed-out button pieces. Corresponding mask images are stored in PICTs 7600-7608. STR# resource 150 is used to store the text that appears on each button type. Note that all color fields in the cölr resource are encoded the same as HTML colors, and that only the first cölr resource is loaded.
The crön resource Cron resources are used to define time-dependent events that occur in a manner that is invisible to the player but can cause interesting things to happen in the universe, via the manipulation of control bits. With it, you can create such things as: - an event that occurs periodically during the course of the game - an event that occurs at some fixed date during the game, as part of the story's set script - an event, triggered by the actions of the player, that occurs after some fixed or random interval - etc. FirstDay The first day of the month (1-31) on which the cron event can be activated. If you set this to 0 or -1, this field will be ignored and only FirstMonth and FirstYear will be considered. FirstMonth The first month of the year (1-12) on which the cron event can be activated. Set to 0 or -1 for this to be ignored. FirstYear The first year in which the cron event can be activated. Set to 0 or -1 for this to be ignored. LastDay The last day of the month (1-31) on which the cron event can be activated. Set to 0 or -1 for this to be ignored. LastMonth The last month of the year (1-12) on which the cron event can be activated. Set to 0 or -1 for this to be ignored. LastYear The last year in which the cron event can be activated. Set to 0 or -1 for this to be ignored. Random The percent chance that the cron event will be activated during the date range defined above. Set to 100 for the event to be activated as soon as it can be. Duration The duration during which the event is active, in days. If this is set to zero, the event will start and end on the same day, i.e. its OnStart and OnEnd scripts will be run at the same time. PreHoldoff The number of days to "hold" the event in a waiting state after it is activated and before it starts. Set this to zero to have the event start immediately when it is activated. PostHoldoff The number of days to hold the event in a waiting state after it ends and before it is deactivated. This is used to keep a repeating event from being activated immediately after it has just happened. Set this to zero to have the event be deactivated immediately after it ends. Flags 0x0001 Continuous, iterative cron entry - keep evaluating the cron's OnStart field until the EnableOn expression is no longer true or the constraints of the Require fields are no longer met. This can create infinite loops, so be careful! 0x0002 Continuous, iterative cron exit - keep evaluating the cron's OnExit field until the EnableOn expression is no longer true or the constraints of the Require fields are no longer met. This can create infinite loops, so be careful! EnableOn A control bit test string that is used to determine whether the cron event is eligible to be activated or not. Leave this blank if you are creating an event whose activation doesn't depend on the state of any control bits. OnStart A control bit set string that is called when the cron event starts, after waiting through the PreHoldoff time, if any. OnEnd A control bit set string that is called when the cron event ends. Contribute When the cron event is active, these two Contribute fields Contribute together form a 64-bit flag that is subsequently combined with the Contribute fields from the player's ship and the other outfit items in the player's possession, to be used with the Require fields in the outf and misn resources. Require These two Require fields together form a 64-bit flag that is Require logically and'ed with the Contribute fields from the player's current ship and outfit items. Unless for each 1 bit in the Require fields there is a matching 1 bit in one or more of the Contribute fields, the cron will not be activated. Leave these set to zero if unused. NewsGovt1-4 On planets or stations that are allied with the government GovtNewsStr1-4 whose ID is given by one of the NewsGovt fields, a string will be randomly selected from the STR# resource whose ID is given by the corresponding GovtNewsStr field, and will be displayed as news while the cron event is active. This allows you to let up to four different governments (and their allies) have their own "local news" for a given cron event. Set unused NewsGovt and GovtNewsStr fields to -1. IndNewsStr The ID of a STR# resource from which to randomly select a string to be displayed in the news dialog while this cron event is in progress, if it doesn't have any applicable local news. Set to -1 for no independent news. Some notes: 1. Setting any of the above date fields to 0 or -1 effectively makes that field a wildcard field, which will match to anything. 2. If you want an event with a wide possible date range to be guaranteed to never run more than once, make it set a control bit in its OnEnd script that will prevent it from subsequently being eligible for activation. 3. The 'M' and 'N' control bit set string operators should probably not be used in conjunction with cron events, unless you really want to confuse the player by moving him around at seemingly random times. 4. Local news always takes precedence over independent news, even if there is no corresponding news string to display (the STR# ID must still be greater than zero to not be ignored). You can use this to make everyone in the universe except a particular government or set of governments report on something, for example.
The dësc resource Desc resources store null-terminated text strings (descriptions) that are used by Nova in a variety of places. For some desc resources, Nova looks for a certain reserved ID number. Other desc resources are pointed to by fields in other resources, so their ID numbers are not necessarily fixed, and can be set to virtually anything by the scenario designer. The reserved desc ID numbers, along with the maximum length for each type, are below: 128-2175 Stellar object descriptions, shown when landed on a planet. 3000-3511 Outfit item descriptions, shown in ship outfitting dialog. 4000-4999 Mission descriptions, shown in mission dialog. 13000-13767 Ship class descriptions, shown in the shipyard and requisition-escort dialog. 13999 Message shown after the player uses an escape pod. 14000-14767 Ship pilot descriptions, shown in the hire-escort dialog. 32760-32767 Reserved If you wish, you can make a dësc resource mutable via control bits - embedding a special sequence of characters into the dësc resource will instruct Nova to change the contents of the text on the fly. This sequence is delimited (marked) by the characters "{" and "}", and follows this format: {bXXX "string one" "string two"} Where "XXX" is be replaced by the index of the control bit you wish to test. You can add in a "!" character before the "bXXX" test in order to negate the result of the test, but unlike the control bit test strings, you cannot perform compound tests in a dësc resource - i.e., no testing of multiple bits at a time. If the bit test (after being negated, if the "!" character is present) evaluates to true, the first string will be substituted in place of all the characters between (and including) the "{" and "}" characters. If the bit test evaluates to false and there is a second string in the expression, that second string will be substituted. If there is no second string, nothing will be substituted. For example, consider this dësc resource: This is a {b001 "great and terrific" "lousy, terrible"} example. ...if bit 001 is set, the output will be "This is a great and terrific example." If bit 001 is not set, the output will be "This is a lousy, terrible example.". Also note that if you want to include a quotation mark (") character in either of the two strings, use standard C syntax to do it: My name is {b002 "Dave \"pipeline\" Williams"} This is also works with the player's gender - for example: This is a test string and the player is {G "a male character" "a female pilot"}. ...in this case, the G character signifies that the following text is mutable based on the player's gender; if the player is male, the first string is used, otherwise the second string is used. Note that the "!" token works here as usual. You can also change the text based on whether or not the player is registered: This is a test string you {P "have paid" "haven't paid"}. ...in this case, the P character signifies that the following text is mutable based on whether or not the game is registered; if the player has registered, the first string is used, otherwise the second string is used. Note that the "!" token works here as usual, and you can also append a number to the P character to specify a number of days, just as you can with the ncb Pxxx test operator. Besides the Description field in the dësc resource, there are some additional fields: Graphic This is used to include graphics in mission briefings. If you put in the ID of a valid PICT resource, Nova will display that image along with the description text when it displays a mission dialog box (with the exception of the Mission Computer and Mission Info dialogs). This is also used to associate graphics with bar and ship descriptions. MovieFile The name of a QuickTime movie file to display before the briefing dialog appears. This file must reside either in "Nova Files" or "Nova Plugins". Flags 0x0001 Show the movie after the briefing instead of before 0x0002 Show movie at double-size 0x0004 Cinematic movie - blank background and fade screen before and after
The düde resource A dude resource can be thought of as a container for ships that share certain characteristics. Any ship of a given dude class will have that dude class's AI type and governmental affiliation, and will yield the same types of booty when boarded. In a dude resource, up to 16 different ship classes can be pointed to, with a probability set for each ship class. The result of all this is that, in other parts of Nova's data file, you can point to a dude class and know that Nova will create a ship of the proper AI type and governmental alignment, and will pick the new ship's type based on the probabilities you set in the dude resource. The dude resource's fields are: AIType Which type of AI to use for ships of this dude class (see below). If you set this to 0, each ship will use its own inherent AI type. Govt The ID number of the dude class's government, or -1 for independent. Booty Flags that define what you'll get when you board a ship of this dude class. (see below) InfoTypes What kind of info to display when hailed 0x1000 Good prices 0x2000 Disaster info 0x4xxx Specific advice (the lower 12 bits of this value are added to 7500 to get the ID of the STR# resource from which to get the quote) 0x8000 Generic govt hail messages Flags 0x0001 Carries food when plundered 0x0002 Carries industrial goods 0x0004 Carries medical supplies 0x0008 Carries luxury goods 0x0010 Carries metal 0x0020 Carries equipment 0x0040 Carries money (amount depends on the ship's purchase price) 0x0100 Ships of this dude type can't be hit by the player and their shots can't hit the player (useful for things like AuxShip mission escorts, etc.) ShipType (x16) These fields contain the ID numbers of up to 16 different ship classes. Set to 0 or -1 if unused. Probability (x16) These fields set the probability that a ship of this dude class will be of a certain ship type The four different AI types are: 1 - Wimpy Trader Visits planets and runs away when attacked 2 - Brave Trader Visits planets and fights back when attacked, but runs away when his attacker is out of range 3 - Warship Seeks out and attacks his enemies, or jumps out if there aren't any. 4 - Interceptor Seeks out his enemies, or parks in orbit around a planet if he can't find any. Buzzes incoming ships to scan them for illegal cargo. Also acts as "piracy police" by attacking any ship that fires on or attempts to board another, non-enemy ship while the interceptor is watching. You can set different combinations of booty to be had from ships of a certain dude class by ORing different bits into the dude's Booty field. If a dude class has a booty flag of 0x0000, then you can't get anything from the ship, and you're told that you were "repelled while attempting to board" it. The different booty flags are documented above Unlike previous versions of the EV engine, Nova can handle dude resources that are not completely filled - so, while the dude resource can handle references to as many as 16 different ship types, not all fields have to be used. If you do this, remember to set the corresponding ShipType fields to 0 or -1 to indicate that they're unused.
The flët resource A flet resource defines the parameters for a fleet, which is a collection of ships that can be made to appear randomly throughout the galaxy. LeadShipType ID of the fleet's flagship's ship class EscortType (x4) IDs of the flagships escorts' ship classes. If you don't want to use four different escort types, you should still set the unused fields to a valid ship class ID. (you can set the min & max fields to 0 and just have the extra ships not appear) Min (x4) The minimum number of each type of escort to put in the fleet. Max (x4) The maximum number of each type of escort to put in the fleet. Govt ID of the fleet's government, or -1 for none. LinkSyst Which systems the fleet can be created in -1 Any system 128-2175 ID of a specific system 10000-10255 Any system belonging to this specific government 15000-15255 Any system belonging to an ally of this govt 20000-20255 Any system belonging to any but this govt 25000-25255 Any system belonging to an enemy of this govt AppearOn A control bit test field that will cause a given fleet to appear only when the expression evaluates to true. If this field is left blank it will be ignored. Quote Show a random string from the STR# resource with this ID when the fleet enters from hyperspace. Any occurrences of the character '#' in this string will be replaced with a random digit (0-9). Flags 0x0001 Freighters (InherentAI <= 2) in this fleet will have random cargo when boarded.
The gövt resource A govt resource defines the parameters for a government, which is in turn defined as "any collection of ships and planets that react collectively to the actions of the player and other ships." Governments keep track of how they feel toward you, and they can also have set enemies and allies. The govt resource's fields are: VoiceType Sets this government's voice type, used for when you have a ship of this government as your escort (i.e. an escort with an inherent attributes govt field that points to this govt). There can be up to eight different voice types, numbered 0-7. The voice resources are loaded from 'snd ' resources as follows: 1000-1009 Voice type 0 acknowledgement speech 1010-1019 Voice type 0 targeting speech 1020-1029 Voice type 0 victory speech 1100-1109 Voice type 1 acknowledgement speech 1110-1119 Voice type 1 targeting speech 1120-1129 Voice type 1 victory speech ...etc, up to: 1700-1709 Voice type 7 acknowledgement speech 1710-1719 Voice type 7 targeting speech 1720-1729 Voice type 7 victory speech If a particular set of voices (i.e. the acknowledgement, targeting, or victory sounds for a given voice type) contains an even number of sound resources, Nova will only use either the even- or odd-numbered sounds for each particular ship. The Nova scenario uses this to implement both male and female voices for certain governments. To let each ship decide for itself whether to use even- or odd-numbered sounds, set VoiceType to between 0 and 7. To force ships to use only odd-numbered sounds, set VoiceType to between 1000 and 1007. To force ships to use only even-numbered sounds, set VoiceType to between 2000 and 2007. (None of the preceeding paragraph applies if Nova doesn't have an even number of sounds to work with) If you don't want any ships of a government to use speech, set that govt's VoiceType to -1. Also note that ship types with no inherent attributes govt defined (see shïp section for more information) will always use voice type 0. Flags & Flags2 Sets a variety of characteristics (see below) CrimeTol The maximum amount of evilness the player can accumulate before warships of this govt start to beat on him. ScanFine If the player is caught carrying an illegal (and non- mission-related) cargo or item by a ship of this govt and he isn't yet evil enough to attack (i.e. his legal status in the current system isn't below CrimeTol) then he will be fined the amount in this field. 1 and up fine this amount 0 no fine, just a warning -1 and below fine this % of the player's cash (-5 is 5%, etc) SmugPenalty The amount of evilness a player gains for being detected smuggling illegal cargo (defined in a misn resource) past this government's ships. DisabPenalty The amount of evilness for disabling one of this govt's ships. BoardPenalty Evilness from pirating one of this govt's ships KillPenalty Evilness from killing this govt's ships ShootPenalty Evilness from shooting one of this govt's ships (currently ignored) InitialRec The player’s initial legal record in systems controlled by this govt (0 is neutral, positive is good, negative is bad) MaxOdds The maximum combat odds ships of this govt will consider favorable. Combat odds are calculated by summing the strengths of the ship's enemies (where a ship's strength is taken from the Strength field in the shïp resource, and modified from between 30% and 100% of that value depending on the ship's present shield stat) and comparing it to the sum of the strength of the ship's friends. A value of 100 in this field represents 1-to-1 combat odds, and will cause a ship of this govt not to attack unless it calculates that it is as strong, or stronger than, its enemy. A value of 200 represents 2-to-1 combat odds, meaning that ships of this govt won't engage if they are outnumbered by more than 2-to-1. 300 means that ships of this govt won't engage a group of enemies more than 3x stronger than them and their friends, etc. Class1-Class4 Allows you to assign this govt to up to four different "classes", which are simply arbitrary groupings of govts that you can use to flexibly assign allies and enemies. Two govts of the same class are not inherently allied unless one of them has that same class number set in one of its Ally fields. Set unused class fields to -1. Ally1-Ally4 The number of up to four classes that this govt will be allied with. Set to -1 if unused. Enemy1-Enemy4 The number of up to four classes that this govt will be enemies with. Set to -1 if unused. Interface ID of an ïntf resource to use when the player is flying a ship whose inherent attributes govt or inherent combat govt is equal to this govt type. Values less than 128 will be interpreted as 128. NewsPic ID of a PICT resource to use as the background of the news window when the player is on a planet or station owned by this govt. Values less than 128 are ignored and the standard independent/generic news background (ID 9000) is substituted instead. Doing evil deeds to one government will improve your rating with its enemies, and vice versa. Allied governments also communicate your actions, so attacking one government will make its allies hate you too. The different bits that can be set in a govt's Flags field are: 0x0001 Xenophobic (Warships of this govt attack everyone except their allies. Useful for making pirates and other nasties.) 0x0002 Ships of this govt will attack the player in non-allied systems if he's a criminal there (useful for making one govt care only about the player's actions on its home turf, while another is nosy and enforces its own laws everywhere it goes) 0x0004 Always attacks player 0x0008 Player's shots won't hit ships of this govt. 0x0010 Warships of this govt will retreat when their shields drop below 25% - otherwise they fight to the death 0x0020 Nosy ships of other non-allied governments ignore ships of this govt that are under attack 0x0040 Never attacks player (also, player’s weapons can’t hit them) 0x0080 Freighters (i.e. AiTypes 1 and 2) for this particular government have 50% of the standard InherentJam value for warships (AiType 3) of the same government. 0x0100 ‘pers’ ships of this govt won’t use escape pod, but will act as if they did 0x0200 Warships will take bribes. 0x0400 Can't hail ships of this govt. (if a ship type has an inherent attributes govt which includes this flag, all ships of that type will inherit this property) 0x0800 Ships of this govt start out disabled (derelicts). Note that ships of other governments don't care if you attack or board derelict govt ships. 0x1000 Warships will plunder non-mission, trader-type enemies (including the player) before destroying them 0x2000 Freighters will take bribes. 0x4000 Planets of this govt will take bribes 0x8000 Ships of this govt taking bribes will demand a larger percentage of your cash supply, and their planets will always take bribes (useful for pirates) Flags2: 0x0001 When hailing ships of this govt, the request assistance / beg for mercy button is disabled and the govt is not talkative. 0x0002 This govt is considered "minor" for the purposes of drawing the political boundaries on the map. 0x0004 This govt's systems don't affect the political boundaries on the map. 0x0008 Ships of this govt don't send distress messages and don't respond with greetings when hailed (if a ship type has an inherent attributes govt which includes this flag, all ships of that type will inherit this property) 0x0010 Roadside Assistance - Ships of this govt will always repair or refuel the player for free 0x0020 Ships of this govt don't use hypergates 0x0040 Ships of this govt prefer to use hypergates instead of jumping out 0x0080 Ships of this govt prefer to use wormholes instead of jumping out The SkillMult field allows you to apply a global multiplier to the skill levels of ships that belong to this government. A value of 100 will cause this government's ships to be just as skilled as any other ships of the same type. A value of 50 will cause this govt's ships to only be 50% as skilled, and a value of 150 will cause this govt's ships to be 50% more skilled as the stock ship is rated. This allows you to create governments whose pilots are more highly trained than the stock pilots, so they can gain extra speed and acceleration from their ships. Values in this field of less than 1 are ignored. ScanMask - This is a 16-bit flags field that is used in conjunction with the ScanMask field in the mïsn resource. If any of the 1 bits in a government's ScanMask field match any of the 1 bits in a mission's ScanMask field, that government will consider the mission's cargo illegal. Set to zero if unused. Require - These two Require fields together form a 64-bit flag that is logically and'ed with the Contribute fields from the player's current ship and outfit items. If for each 1 bit in the Require fields there is not a matching 1 bit in one or more of the Contribute fields then you won't be allowed to visit any planets or stations owned by this govt - this is useful for making travel permits, for example. Leave these set to zero if unused. InhJam1-4 - The government's inherent jamming ability for each of the four jamming types, from 0 to 100%. MediumName - The government's name in medium length, which is primarily used in the string "Sensors detect xxx reinforcement fleet approaching." Color The government's theme color, encoded the same as HTML colors. (00RRGGBB) ShipColor The theme color for this government's ships, encoded the same as HTML colors (00RRGGBB). You should use this sparingly, as it gets annoying when you have dozens of multicolored variants of some ship type flying around all at once. Set to 00000000 if unused (which is the same as 00FFFFFF, or "pure white paint" i.e. no shading) CommName The short string to show for ships of this government when they are hailed by the player. TargetCode The short string to show in the player's target display when a ship of this government is targeted.
The jünk resource Junk resources store info on specialized commodities that can be bought and sold at a few locations. The fields are: SoldAt1-8 ID number of the stellar object where the commodity is sold. Set to 0 or -1 if unused. BoughtAt1-8 ID number of the stellar object where the commodity is purchased. Set to 0 or -1 if unused. BasePrice The average price of the commodity (works much like the base prices for "regular" commodities) Flags Misc flag bits 0x0001 Tribbles flag - When in your cargo bay, the commodity multiplies like tribbles. 0x0002 Perishable - When in your cargo bay, the commodity gradually decays away. ScanMask If this is an "illegal" cargo type, this is used in conjunction with the ScanMask field in the gövt resource. If any of the 1 bits in a ship's government's ScanMask field match any of the 1 bits in a jünk type's ScanMask field, that government will consider that junk cargo type illegal. Set to zero if unused. LCName The lower-case string to display in the player-info dialog box, among other places, e.g. "machine parts". Note: all outfits with identical, non-empty LCNames will be displayed together as one type in the player-info dialog. Abbrev The short string that is displayed in the player's status bar when the player is carrying jünk of this type, e.g. "Parts". BuyOn Control bit test expression. This jünk will only be available to be bought when this expression evaluates true. Leave blank if unused. SellOn Control bit test expression. This jünk will only be able to be sold when this expression evaluates true. Leave blank if unused.
The ïntf resource The ïntf resource controls the appearance of the status bar by modifying the position and color of the various status bar elements, as well as changing the status bar background image. Additionally, the use of multiple ïntf resources, along with proper values in the various gövt resources' Interface fields, allows the appearance of status bar to change based on what type of ship the player is piloting - this is a useless but fairly neat effect. BrightText Bright text color DimText Dim text color RadarArea Rectangular bounds of the radar display BrightRadar Bright radar pixel color DimRadar Dim radar pixel color (note that having an IFF outfit will override these colors) ShieldArea Rectangular bounds of the shield indicator ShieldColor Shield bar color ArmorArea Rectangular bounds of the armor indicator ArmorColor Armor bar color FuelArea Rectangular bounds of the fuel indicator FuelFull Color of the "full jumps" portion of the fuel indicator FuelPartial Color of the "partial fuel" portion of the fuel indicator NavArea Rectangular bounds of the navigation display WeapArea Rectangular bounds of the weapon display TargArea Rectangular bounds of the target display CargoArea Rectangular bounds of the cargo display StatusFont Font to use for the status bar StatFontSize Normal font size to use SubtitleSize Font size for ship subtitles StatusBkgnd ID of PICT resource to use as backdrop for status display. Values less than 128 are interpreted as 128. Note that all colors in the ïntf resource are encoded the same as HTML colors, and that vertical shield/armor/fuel bars are properly handled by the game engine - to make an indicator bar vertical, set its height to be greater than its width. Also note that setting any of the above rectangles to have zero area (right=left, top=bottom) will cause the corresponding status indicator to not be drawn.
The mïsn resource Missions are the crown jewel of the Nova datafile, as well as the largest and most complex resources in the game. Each misn resource corresponds to a single mission that the player can undertake, with the name of the mission (which the player sees in the mission list) being the name of the associated misn resource. The first six fields in a misn resource help Nova determine where and when the mission is available: AvailStel Which stellar objects (i.e. planets) the mission is available at -1 Any inhabited stellar 128-2175 ID number of a specific stellar 5000-7047 Stellar in a system adjacent to specific system 9999-10255 Specific govt's stellar 15000-15255 Specific govt's ally's stellar 20000-20255 Stellar of anybody but this specific govt 25000-25255 Specific govt's enemy's stellar 30000-30255 Stellar of specific govt or any of its class mates 31000-31255 Stellar not of specific govt nor of any of its class mates AvailLoc Where on a planet this mission is available 0 From the mission computer 1 In the bar 2 Offered from ship (must set up associated përs resource as well) 3 In the main spaceport dialog 4 In the trading dialog 5 In the shipyard dialog 6 In the outfit dialog AvailRecord What your legal record in this system must be for this mission to become available 0 ignored pos. value record must be at least this high neg. value record must be at least this low -32000 when the player has dominated the stellar in question -32001 when the player has dominated at least one stellar AvailRating What your combat rating must be for this mission to be available -1 ignored 0+ rating must be at least this high AvailRandom A randomization factor, to ensure that some missions aren't available all the time. Mission randomizing values are recalculated each time you warp into a system. 100 always available 1-99 available this % of the time The next two fields in the misn resource define where the player needs to go to complete the mission: TravelStel Which stellar object the player must go to during the mission -1 No specific stellar destination -2 A random inhabited stellar -3 A random uninhabited planet 128-2175 ID number of a specific stellar (note that the mission travel objectives will also be fulfilled when landing on a duplicate stellar that has the idendical name and coordinates to the stellar you specify here) 9999-10255 Random stellar of a specific govt 15000-15255 Random stellar of a specific govt's ally 20000-20255 Random stellar of anybody but this specific govt 25000-25255 Random stellar of specific govt's enemy 30000-30255 Random stellar of specific govt or any of its class mates 31000-31255 Random stellar not of specific govt nor of any of its class mates ReturnStel Where the player must return to in order to complete the mission and receive payment -1 No specific stellar destination -2 A random inhabited stellar -3 A random uninhabited stellar -4 The initial stellar, where the mission was accepted 128-2175 ID number of a specific stellar (note that the mission will also complete when landing on a duplicate stellar that has the idendical name and coordinates to the stellar you specify here) 9999-10255 Random stellar of a specific govt 15000-15255 Random stellar of a specific govt's ally 20000-20255 Random stellar of anybody but this specific govt 25000-25255 Random stellar of specific govt's enemy 30000-30255 Random stellar of specific govt or any of its class mates 31000-31255 Random stellar not of specific govt nor of any of its class mates The next five fields tell Nova about any special cargo associated with a mission: CargoType What type of cargo must be carried -1 No special cargo for this mission 0-255 Specific cargo type 1000 Random cargo of types 0-5 (the standard types) CargoQty What amount of cargo must be carried -1 Ignored (no cargo) 0 and up This many tons of cargo -2 and below abs(CargoQty) tons, +/- 50% PickupMode Where the cargo is to be picked up -1 Ignored 0 Pick up at mission start 1 Pick up at TravelStel 2 Pick up when boarding special ship DropOffMode Where the cargo is to be dropped off -1 Ignored 0 Drop off at TravelStel 1 Drop off at mission end (ReturnStel) (note that DropOffMode 1 will only cause cargo to be dropped off if the cargo was picked up previously, and then only if the mission's special ship goal has been completed or the mission has no special ship goal) Note: don't set your cargo to be picked up and dropped off at the same place, as it may cause Nova to behave strangely ScanMask Used to determine which governments consider your cargo illegal. If any of the 1 bits in this field match any of the 1 bits in a government's ScanMask field, that govt will consider this mission's cargo illegal. Set to zero if unused. The next field tells Nova what to give you if you're successful in your mission: PayVal What you get if you're successful and you return to ReturnStel 0 or -1 No pay 1 and up This number of credits -10128 to -10383 Clean legal record with the govt with this ID -20128 to -20383 Clean legal record with the govt with this ID, and all its allies -30128 to -30383 Clean legal record with the govt with this ID, and all its classmates -40001 to -40099 Take away this % of the player’s cash (-40001 = 1%, -40002 = 2%, etc.) -50000 and down Take away this number of credits at mission start (-50000 = 0, -50001 = 1, etc.) The next six fields contain information on the special ships associated with this mission, if any: ShipCount The number of special ships for this mission -1 Ignored (no special ships) 0-31 This number of special ships ShipSyst Which system the special ships will appear in -1 The initial system where the mission is begun -2 Any random system -3 TravelStel's system -4 ReturnStel's system -5 System adjacent to initial system -6 Whatever system the player is in (i.e. follow him around) 128-2175 ID number of a specific system 9999-10255 Specific govt's system 15000-15255 Specific govt's ally's system 20000-20255 System of any govt but this specific one 25000-25255 Specific govt's enemy's system 30000-30255 System of a specific govt or any of its class mates 31000-31255 System not of specific govt nor of any of its class mates ShipDude What dude resource to use to determine the special ship's types and characteristics -1 Ignored (no special ships) 128-639 ID number of a specific dude class ShipGoal The mission goal associated with the special ships -1 Ignored (no specific goal for the special ships) 0 Destroy all the ships 1 Disable but don't destroy them 2 Board them 3 Escort them (keep them from getting killed) 4 Observe them (for ships that can cloak, at least one must be visible onscreen - for ships that cannot cloak, the player must merely be in the same system as them) 5 Rescue them (they start out disabled and stay that way until you board them; to make a rescue mission where the ship stays disabled, give the special ships a govt with the "always disabled" flag set) 6 Chase them off (either kill them or scare the into jumping out of the system) ShipBehav Defines any special actions you want the ships to take -1 Ignored (they use their standard AI routines) 0 Special ships will always attack the player 1 Special ships will protect the player 2 Special ships will attempt to destroy enemy stellars ShipNameID Tells Nova how to name the special ships -1 Ignored (special ships have normal names) 128 and up Pick a name from this STR# resource ShipStart Defines where in the system the ships will start -1 to -16 Appear on top of this nav default 0 Appear randomly in the system (as usual) 1 Jump in from hyperspace after a short delay 2 Appear randomly, cloaked Note that a ShipStart value of 0 (appear randomly in the system) is the proper value to use in conjunction with përs resource flag 0x0040. CompGovt Which government to use in determining how your record changes on completing this mission -1 Ignored (no reward other than pay) 128-383 Increase record with this govt CompReward How much to increase your record with CompGovt (any value) Increase record by this much (note: if you have a CompGovt and reward defined and you fail the mission, that govt will take it personally and decrease your record by 1/2 the amount specified in CompReward. This is useful for making missions whose success is considered vital by a certain party.) ShipSubtitle Tells Nova which subtitle, if any, to use for the special ships -1 Ignored (special ships have normal subtitles) 128 and up Pick a subtitle from this STR# resource BriefText The desc to show in the dialog that comes up when you accept a mission. (formats are the same for all seven fields) -1 No special mission briefing 128 and up ID number of the desc resource to use (ID numbers of 5000 and up are usually the safest) QuickBrief The desc to show when the user hits the "Mission Briefing" (I) key. LoadCargText The desc to show when special mission cargo is loaded from a planet DumpCargoText The desc to show when special mission cargo is offloaded (not jettisoned into space as the name would suggest!) CompText The desc to show when you go to ReturnStel and the mission has been successful. FailText The desc to show when you go to ReturnStel and the mission has been a failure ShipDoneText The desc to show when you complete the special ship goal CanAbort 0 This mission can't be aborted by the player 1 This mission can be aborted by the player TimeLimit Like it says -1 or 0 Ignored (no time limit) 1 and up This number of days The next few fields tell Nova about any auxiliary ships you want to be placed in the universe for this mission. Auxiliary ships cannot be given specific instructions, and no goals can be set for them; they simply are "normal" ships that are placed into the universe for the purpose of adding atmosphere to a mission. AuxShipCount How many aux ships, if any, to activate for this mission: -1 No aux ships 1-31 Place this many aux ships in the universe AuxShipDude ID number of the specific dude resource to use to set up the aux ships AuxShipSyst What systems to place the aux ships in: -1 Any system the player is in -2 TravelStel's system -3 ReturnStel's system 128-2175 ID number of a specific system 5000-7047 In this system, or any systems adjacent to it 9999-10255 Any system belonging to this govt 15000-15255 Any system belonging to this govt or its allies 20000-20255 Any system not belonging to this govt 25000-25255 Any system belonging to enemies of this govt 30000-30255 Any system of a specific govt or any of its class mates 31000-31255 Any system not of specific govt nor of any of its class mates Flags Some misc. flag bits 0x0001 Marks the mission as an auto-aborting mission, which will automatically abort itself after it is accepted. (sometimes useful to create special ships) Any control bits pointed to by the mission’s OnAbort fields will be automatically set when the mission aborts. Note: there must be special ships associated with the mission to trigger the auto-abort. If the mission is one in which a special ship replaces a përs ship at mission start (such as for a "rescue disabled ship" mission) and the SpecialShipGoal is 2 or 5 (board or rescue) the mission will auto-abort after the special ship is boarded. 0x0002 Don’t show the red destination arrows on the map 0x0004 Can’t refuse the mission 0x0008 Mission takes away 100 units of fuel upon auto-abort. (mission won't be offered if player has less than 100 units of fuel) 0x0010 Infinite auxShips 0x0020 Mission fails if you're scanned 0x0040 Apply -5x CompReward reversal on abort 0x0080 Global penalty when jettisoning mission cargo in space (currently ignored) 0x0100 Show green arrow on map in initial briefing 0x0200 Show an additional arrow on the map for the ShipSyst 0x0400 Mission is invisible and won't appear in the mission info dialog. (be careful with this!) 0x0800 The special ships' type will be selected at mission start and then kept the same whenever the special ships for that mission are created, until the mission ends. This can be used for (e.g.) "attack pirate" missions where you want the type of the enemy ship to be random at first but you don't want it to change every time the player lands or re-enters the system. 0x2000 Mission unavailable if player’s ship is of inherentAI type 1 or 2 (cargo ships) 0x4000 Mission unavailable if player’s ship is of inherentAI type 3 or 4 (warships) 0x8000 Mission will fail if player is boarded by pirates. Flags2 More flag bits 0x0001 Don't offer mission if the player doesn't have enough cargo space to hold the mission cargo (even if the mission cargo won't be picked up until later) 0x0002 Apply mission Pay on auto-abort 0x0004 Mission fails if player is disabled or destroyed AvailShipType Defines what class of ship you must have for this mission to be made available: 0 or -1 Ignored 128-895 Must be flying a ship of this type 1128-1895 Must not be flying a ship of this type 2128-2383 Must be flying a ship of this inherent govt 3128-3383 Must not be flying a ship of this inherent govt RefuseText The desc, if any, to show when mission offered in a bar or from a passing ship is refused. AvailBits A control bit test expression that determines the mission's availability. If not left blank, the mission will only be available when the expression evaluates to true. OnAccept Control bit set expression which is evaluated when the mission is accepted by the player OnRefuse Control bit set expression which is evaluated when the mission is refused by the player OnSuccess Control bit set expression which is evaluated when the mission is completed successfully OnFailure Control bit set expression which is evaluated when the mission is failed OnAbort Control bit set expression which is evaluated when the mission is aborted by the player OnShipDone Control bit set expression which is evaluated when the mission's special ship goal is completed Require These two Require fields together form a 64-bit flag that is Require logically and'ed with the Contribute fields from the player's current ship and outfit items. If for each 1 bit in the Require fields there is a matching 1 bit in one or more of the Contribute fields, the mission will be available. Leave these set to zero if unused. DatePostInc If this is set to something greater than zero, the game date will be advanced by this number of days after successful completion or auto-aborting of the mission. AcceptButton The label to use for the Accept button in the initial mission briefing dialog. If no text is entered here, Nova will use the "Yes" button label from STR# 150 if the mission can be refused, or the "Okay" button label if the mission is non-refusable. RefuseButton The label to use for the Refuse button in the initial mission briefing dialog, for missions that can be refused. If no text is entered here, Nova will use the "No" button label from STR# 150. DispWeight Controls the order that the mission is presented in the bar and mission BBS list. Missions with higher DispWeight values are presented first. Whenever Nova displays a desc resource related to a mission, such as the initial mission description (desc ID 4000-4255) or one of the special mission briefings (e.g. CompText and QuickBrief) it performs one other special operation on the text. It searches through the text and replaces a few special "wildcard" symbols with pertinent mission information. This is extremely useful in setting up mission briefings that include random information that wouldn't be known when the description is written. These special symbols and their expansions are: <DSY> The name of the destination system <DST> The name of the destination stellar <RSY> The name of the return system <RST> The name of the return stellar <CT> The name of the type of cargo to be carried <CQ> The quantity of cargo to be carried <DL> The date of the mission deadline, if any <PAY> Absolute value of mission pay (does nothing if the mission pay isn't monetary) <REG> Who Nova is registered to, or "UNREGISTERED" <PN> The player's name <PNN> The player's nickname. If no nickname was specified, Nova will use the player's full name here instead. <PSN> The player's ship's name <PST> The player's ship type (comes from the resource name of the player's ship type's shïp resource) <PRK> The ConvName of the highest-weighted active rank resource. If none is found, this will be replaced with "captain". <SRK> The ShortName of the highest-weighted active rank resource. If none is found, this will be replaced with "captain". <PRKnnn> Same as <PRK>, but only for ranks affiliated with government ID nnn. Note that you can only do this once per description, or bad things might happen. <SRKnnn> Same as <SRK>, but only for ranks affiliated with government ID nnn. Note that you can only do this once per description, or bad things might happen. <RRK> The full name of the most recently activated rank resource. Note that it's best to only use this in a mission briefing where you know that you've just given the player a rank, because otherwise bad things could happen. (e.g. the most recently activated rank pointer isn't cached between game sessions) <OSN> The offering ship name (only works when offering a mission from a ship) <SN> Special ship name (Note: Nova will screw up if you use this in the initial mission description, as it doesn't pick the special ship names until you actually accept the mission.) Note: Mission cargo names that start with the asterisk character ('*') are treated as "quantityless" - i.e. their quantity is never shown in the player-info dialog and the word "the" is omitted in the message that appears when the player retrieves that type of cargo from a ship as part of a mission. This is useful for when the mission cargo is a proper name. Note: When Nova selects a random mission destination, it attempts to ensure that the random destination is: a) more than two hyper jumps away from the system where the mission is being offered, and b) a stellar which is guaranteed to always exist throughout the course of the game, regardless of system swapping. This means that if you have multiple systems that occupy the same coordinates at different times in the game and not all of them contain stellar object X, no missions will use stellar object X as their random destination. (This is to keep the player from accepting a mission with a random destination that might cease to exist before he gets there!) A further important consequence of this restriction is that if Nova detects that a mission whose TravelStel or ReturnStel is to be randomly selected will violate this rule, it will be prevented from being offered regardless of any other availability parameters the mission might have - i.e. if you create a mission and Nova refuses to make it available, check the debug log to see if the mission couldn't find a suitable nontransient random stellar of the desired characteristics.
The nëbu resource Nëbu resources contain info on the nebulae (or other space phenomena) which are displayed in the background of the star map. These images don’t actually have any effect on events in the game, they’re just there to look pretty. You can, however, combine nëbu background images with custom asteroid or interference data in the sÿst resources for cool localized effects, and you can also use the nëbu resource's OnExplore field to enable events when the player explores a certain nebula. The PICT resources associated with the 32 available nëbu resources are numbered 9500-9724. Each nebula can have up to seven PICT resources associated with it; the first nebula's PICTs are 9500-96, the second's are 9507-13, etc. The engine will pick the best nebula image to display for a given map scale (the map scales used in Nova are 42.1%, 56.2%, 75.0%, 100.0%, 133.3%, 177.7%, and 237.0%). If a nebula image of the proper size for the current map scale isn't available, Nova will pick the closest one and stretch it as necessary. PICTs for a given nebula should be sorted by size in ascending order. The effects of the nëbu resource’s fields are as follows: XPos The image’s position on the star map. These coordinates are YPos expressed in the scale of the “normal” map zoom level (not zoomed in or out) and are relative to the upper-left corner of the image. XSize The image’s size on the star map. These values are expressed in YSize the scale of the “normal” map zoom level (not zoomed in or out) and tell Nova how big to make the image when the map is at normal zoom. ActiveOn Control bit test expression. Leave blank if unused. OnExplore Control bit set expression that is evaluated whenever the nebula is tested for visibility and found to be visible. Note that this field is handled a little differently from other control bit set expressions in Nova, because the explored state of the nebulae isn't saved from game to game; rather, it is recalculated every time based on the systems the player has explored. As a result, this expression may get evaluated multiple times, so you shouldn't use the random operator or any operators which do anything but set or clear control bits here.
The öops resource Oops resources contain info on planetary disasters. Actually, the term “disasters” is a misnomer, as these occurrences simply affect the price of a single commodity at a planet or station, for good or bad. Nova uses the name of the resource in the commodity exchange dialog box to indicate that a disaster is currently going on at a planet. The fields of an oops resource are: Stellar The stellar object this disaster is linked to 128-2175 ID of a stellar object -1 Any planet or station (use sparingly) Commodity Which commodity to affect the price of (0 = food, 1 = industrial, etc.) PriceDelta How much to raise or lower the price. (negative numbers lower it) Duration How many days the disaster lasts. Freq Percent chance per day that the disaster will occur. ActivateOn Control bit test expression. Leave blank if unused.
The oütf resource Outf resources store information on the items that you can buy when you choose “Outfit Ship” at a planet or station. DispWeight The display weight of this item. Items with a higher display weight are shown closer to the top of the outfit dialog. This can be used to effectively rearrange the order in which items are displayed without rearranging the resources themselves. Mass The mass in tons of the item (0 = no appreciable mass) TechLevel What the technology level of the item is. This item will be available at all spaceports with a tech level of this value or higher. (The exception to this rule involves the SpecialTech fields of the spöb resource; see the section on spöb resources for more information.) The next two fields tell Nova what kind of modification this item performs: If ModType is: Then it’s: And ModVal refers to: 1 a weapon The ID number of the associated wëap resource 2 more cargo space The number of tons of cargo space to add 3 ammunition The ID number of the associated wëap resource 4 more shield capacity The number of shield points to add 5 faster shield recharge How much to speed up (1000 = one more shield point per frame) 6 armor The number of armor points to add 7 acceleration booster Amount of accel to add (see shïp for more info) 8 speed increase Amount of speed to add (see shïp for more info) 9 turn rate change Amount of turn change (100 = 30°/sec) 10 unused 11 escape pod ignored 12 fuel capacity increase Amount of extra fuel (100 = 1 jump) 13 density scanner ignored 14 IFF (colorized radar) ignored 15 afterburner How much fuel to use (units/sec) 16 map 1 and up How many jumps away from present system to explore -1 Explore all inhabited independent systems -1000 Explore all systems of this & down govt class (-1000 is govt class 0, -1001 is govt class 1, etc.) 17 cloaking device 0x0001 Faster fading 0x0002 Visible on radar 0x0004 Immediately drops shields on activation 0x0008 Cloak deactivates when ship takes damage 0x0010 Use 1 unit of fuel per second 0x0020 Use 2 units of fuel per sec 0x0040 Use 4 units of fuel per sec 0x0080 Use 8 units of fuel per sec 0x0100 Use 1 unit of shield per sec 0x0200 Use 2 units of shield per sec 0x0400 Use 4 units of shield per sec 0x0800 Use 8 units of shield per sec 0x1000 Area cloak - ships in formation with a ship carrying this cloaking device will also be cloaked 18 fuel scoop How many frames per 1 unit of fuel generated. Enter a negative value to perform the same function in “fuel sucking” mode 19 auto-refueller ignored 20 auto-eject ignored (requires escape pod to work) 21 clean legal record ID of govt to clear legal record with, or -1 for all 22 hyperspace speed mod Number of days to increase or decrease ship’s hyperspace travel time (still can’t go below 1 day/jump) 23 hyperspace dist mod Amount to increase or decrease the no-jump zone’s radius by (the standard radius is 1000) 24 interference mod Subtracts the value in ModVal from the current star system’s Interference value when calculating how “fuzzy” to make the radar scanner 25 marines Adds the value in ModVal to your ship’s effective crew complement when calculating capture odds 1 and up Add this number to the player's ship's effective crew size -1 to -100 Increase the player's capture odds by this amount (e.g. -5 is an increase of 5%) 26 (ignored) 27 increase maximum The ID number of another outfit item, (call it "B") whose maximum value is to be increased. Item B's standard maximum will be multiplied by the number of items the player has that have a ModType of 27 and point to B. If the player owns no items that modify the maximum of item B, its maximum will be unchanged. 28 murk modifier The amount by which to increase or decrease the current system's murkiness level 29 faster armor recharge How much to speed up (1000 = one more armor point per frame) 30 cloak scanner 0x0001 reveal cloaked ships on radar 0x0002 reveal cloaked ships on the screen 0x0004 allow targeting of untargetable ships 0x0008 allow targeting of cloaked ships 31 mining scoop 32 multi-jump number of extra jumps to perform when the user initiates a hyperspace jump 33 Jamming Type 1 amount of jamming to add or subtract 34 Jamming Type 2 amount of jamming to add or subtract 35 Jamming Type 3 amount of jamming to add or subtract 36 Jamming Type 4 amount of jamming to add or subtract 37 fast jumping (grants carrying ship the ability to enter hyperspace without slowing down) 38 inertial dampener (makes ship inertialess) 39 ion dissipator amount of deionization to add. 100 equals 1 point of ion energy per 1/30th of a second. Higher values yield faster ion charge dissipation. 40 ion absorber amount of extra ionization capacity to add 41 gravity resistance 42 resist deadly stellars 43 paint the color to paint the player's ship, encoded as a 15-bit color value, where the bits are: 0RRRRRGGGGGBBBBB (this is necessary because the ModVal field isn't big enough to hold a 32-bit HTML color value) 44 reinforcement inhibitor a govt class value. any govt with this value in its Class1-4 fields will be prevented from calling in reinforcements while the player is in the system and has this outfit. setting this field to -1 will inhibit reinforcements for all ships regardless of govt. note that this outfit will only work when carried by the player. 45 modify max guns add/subtract from max number of guns 46 modify max turrets add/subtract from max number of turrets 47 bomb destroys the player in flight. set the modval to the ID of the desc resource to show after the player is destroyed, or -1 for none. 48 IFF scrambler a govt class value. any govt with this value in its Class1-4 fields will fooled into thinking the player is a friendly ship and will not attack without provocation. note that this outfit will only work when carried by the player. 49 repair system will occasionally repair the ship when it's disabled 50 nonlethal bomb randomly destroys itself and damages the player (nonfatally) in flight. set this field to the ID of a bööm resource to display when an item of this type self-destructs The next two fields tell Nova how many of this item you can possibly have at once: Max How many you can have (not counting weapon limitations) Flags Miscellaneous info: 0x0001 This item is a fixed gun 0x0002 This item is a turret 0x0004 This item stays with you when you trade ships (persistent) 0x0008 This item can’t be sold 0x0010 Remove any items of this type after purchase (useful for permits and other intangible purchases) 0x0020 This item is persistent in the case where the player's ship is changed by a mission set operator. The item's normal persistence for when the player buys or captures a new ship is still controlled by the 0x0004 bit. 0x0100 Don't show this item unless the player meets the Require bits, or already has at least one of it. 0x0200 This item's total price is proportional to the player's ship's mass. (ship class Mass field is multiplied by this item's Cost field) 0x0400 This item's total mass (at purchase) is proportional to the player's ship's mass. (ship class Mass field is multiplied by this item's Mass field and then divided by 100) Only works for positive-mass items. 0x0800 This item can be sold anywhere, regardless of tech level, requirements, or mission bits. 0x1000 When this item is available for sale, it prevents all higher-numbered items with equal DispWeight from being made available for sale at the same time. 0x2000 This outfit appears in the Ranks section of the player info dialog instead of in the Extras section. 0x4000 Don't show this item unless its Availability evaluates to true, or if the player already has at least one of it. The next field, Cost, tells Nova how much to charge you for the item. The next few fields (ModType2-4 and ModVal2-4) are for you to specify “alternate” functions for an outfit item - e.g., a weapon could also reduce the ship’s turning speed. The only restriction on ModType2-4 is that you shouldn’t use it for weapons or ammo (modtypes 1 or 3). Availability Control bit test expression. Leave blank if unused. Note that depending on the configuration of other flags, the item might appear in the outfit window even if Availability is false (it will still not be able to be purchased) OnPurchase Control bit set expression. Leave blank if unused. Contribute These two Contribute fields together form a 64-bit flag that is Contribute subsequently combined with the Contribute fields from the player's ship and the other outfit items in the player's possession, to be used with the Require fields in the outf and misn resources. Require These two Require fields together form a 64-bit flag that is Require logically and'ed with the Contribute fields from the player's current ship and outfit items. If for each 1 bit in the Require fields there is a matching 1 bit in one or more of the Contribute fields, the item will be available. Leave these set to zero if unused. Note that depending on the configuration of other flags, the item might still appear in the outfit window even if the player doesn't meet the Require bits (it will still not be able to be purchased). OnSell Evaluated when the item is sold. ItemClass The item's classification, used in the përs resource for items that are given out by non-player characters' ships. Set to 0 or -1 if unused. ScanMask If this is an "illegal" outfit type, this is used in conjunction with the ScanMask field in the gövt resource. If any of the 1 bits in a ship's government's ScanMask field match any of the 1 bits in an oütf type's ScanMask field, that government will consider that outfit item illegal. Set to zero if unused. BuyRandom The percent chance that an item of this type will be available for purchase on a given day, from 1-100. Values less than 1 or greater than 100 are interpreted as 100. ShortName The short string that is displayed in the outfit dialog menu for this item type. If you want to split this name into two separate lines, put the characters "\n" into the name, e.g.: "Real Big\nScary Gun". When using this, lines that start with an alphanumeric character are drawn in white, while lines that start with other symbols are drawn in grey. LCName The lower-case, singular name that's displayed in the player-info dialog and other places, e.g. "real big scary gun". LCPlural The lower-case, plural name that's displayed in the player-info dialog and other places, e.g. "real big scary guns". RequireGovt Which governments the outfit item's Require bits pertain to: -1 Requirements apply in all outfit shops. 128-383 Requirements apply only on stellars belonging to this govt or its allies. 1128-1383 Requirements apply only on independent stellars and stellars belonging to this govt or its allies. 2128-2383 Requirements apply on all stellars except those belonging to this govt or its allies. 3128-3383 Requirements apply on all stellars except independent stellars or stellars belonging to this govt or its allies.
The përs resource The pers resource defines the characteristics of an AI personality - that is, a specific person the player can encounter in the game. These AI-people have their names (which are also the names of the associated përs resource) displayed on the target-info display in place of the name of their ship class. When ships are created, there is a 5% chance that a specific AI-person will also be created. (obviously, as AI-people are killed off, they cease to appear in the game.) The first field tells Nova where a certain person can be encountered: LinkSyst Which systems the person can be created in -1 Any system 128-2175 ID of a specific system 9999-10255 Any system belonging to this specific government 15000-15255 Any system belonging to an ally of this govt 20000-20255 Any system belonging to any but this govt 25000-25255 Any system belonging to an enemy of this govt The next four fields define the person's character traits: Govt The person's governmental affiliation -1 Ignored (person is independent) 128-383 ID of a specific government AI Type The person's AI type (see the section on düde resources) 1 Wimpy trader 2 Brave trader 3 Warship 4 Interceptor Aggress The person's aggression, i.e. how close ships have to be before the person will attack them, on a scale of 1 (close) to 3 (far). Coward At what percent of total shield capacity will the person run away from a fight? e.g. a value of 25 would cause the person to retreat when his shields dropped to 25%. The next fields tell Nova more about the ship that a person uses: ShipType ID number of the person's ship class WeapType (x8) ID numbers of weapon types -1 or 0 No weapon 128-383 Add this weapon type WeapCount (x8) How many of each of the above weapons to add (Note: This is in addition to the standard weapons already included with the ship. Standard weapons can be "removed" by entering their ID numbers in the WeapType fields and entering the negative of their standard load for the given ship class in the WeapCount field.) -1 or 0 None 1 and up Add this many AmmoLoad (x8) The standard ammo load for weapons that need it, or ignored for those that don’t -1 or 0 No ammo 1 and up Include this many rounds of ammo Credits How many credits the person carries 0 ignored (no credits) 1 and up This many credits, +/- 25% ShieldMod How much to increase/decrease the person's shield capacity, in percent. For example, a value of 130 entered here would make the person's ship have shields that are 30% stronger than if he were flying a stock ship. Similarly, a value of 70 would make his shields 30% weaker. A value less than zero makes this person invincible. The next fields tell Nova about any special quotes or missions to link to this ship: HailPict ID number of a PICT resource to be displayed in the communications dialog instead of the standard picture for this person's ship type CommQuote Index number of an entry in STR# resource 7100, to be displayed in the communications dialog HailQuote Index number of an entry in STR# resource 7101, to be displayed at the bottom of the game screen (i.e. over the radio) LinkMission What mission to activate when the ship is boarded or hailed Flags Some control bits 0x0001 The special ship will hold a grudge if attacked, and will subsequently attack the player wherever the twain shall meet. 0x0002 Uses escape pod & has afterburner 0x0004 HailQuote only shown when ship has a grudge against the player 0x0008 HailQuote only shown when ship likes player 0x0010 Only show HailQuote when ship begins to attack the player 0x0020 Only show HailQuote when ship is disabled 0x0040 When LinkMission is accepted with a single SpecialShip, replace it with this ship while removing this one from play. This is generally only useful for escort and refuel-a-ship missions. Note: if the mission's SpecialShip düde type contains the përs ship's ship type in it, the SpecialShip that's created will be of the same type as the përs ship, regardless of the probabilities in the düde resource. This is to prevent a përs ship from accidentally morphing into another ship type before the player's eyes. If you really do want to have the përs ship be replaced by a SpecialShip of a different type, use a düde in the mission's ShipDude field that doesn't contain the përs's ship type. 0x0080 Only show quote once 0x0100 Deactivate ship (i.e. don’t make it show up again) after accepting its LinkMission 0x0200 Offer ship’s LinkMission when boarding it instead of when hailing it 0x0400 Don’t show quote when ship’s LinkMission is not available 0x0800 Make ship leave after accepting its LinkMission 0x1000 Don’t offer if player is flying a wimpy freighter (aiType 1) 0x2000 Don’t offer if player is flying a beefy freighter (aiType 2) 0x4000 Don’t offer if player is flying a warship (aiType 3) 0x8000 Show disaster info when hailing ActiveOn Control bit test expression. Leave blank if unused. GrantClass The class of outfit item that is given out by this person's ship when boarded by the player. If there are multiple outfit items with the same ItemClass value, Nova will choose a random outfit item of that ItemClass. Set to 0 or -1 if unused. GrantProb The probability that this person will grant the player any items when boarded. Set to 100 for maximum chance, zero if unused. GrantCount The maximum number of outfit items to be given when boarded by the player - the actual value given will be between GrantCount/2 and GrantCount. Color The color to paint this person's ship, encoded the same as HTML colors (00RRGGBB). Set to 00000000 if unused (which is the same as 00FFFFFF, or "pure white paint" i.e. no shading) Flags2 0x0001 This person starts with zero fuel
ränk resource The rank resource is used to give the player a feeling of 'belonging' to a given government. It can also be used to give the player certain advantages that come with rank. When a rank is made active (which is accomplished through any suitable control bit set string) the player is given all the privileges of that rank, whatever they might be, and the name of that rank is displayed in the player-info dialog. Weight The importance of this rank, relative to the other rank resources that might be active. Ranks with higher weight are displayed first in the player-info dialog, and the active rank with the highest weight is selected for the <PRK> and <PSR> mission briefing tags. AffilGovt The ID of the government affiliated with this rank. Contribute Another 64 bits of Contribute values that kick in when the rank is active. These can be used to prevent the player from buying certain items or doing certain missions until achieving a certain rank, for example. Salary The number of credits that the affiliated government will pay the player, per day SalaryCap The maximum amount of money the player can have before the affiliated government stops paying the salary. Set to 0 or -1 if unused. Flags 0x0001 Deactivate all other active ranks affiliated with this same govt when this rank is activated (excludes permanent ranks) 0x0002 Deactivate all other active ranks affiliated with this same govt when this rank is deactivated (excludes permanent ranks) 0x0004 Deactivate this rank if player destroys or disables a ship of the affiliated government or its allies 0x0008 Rank is permanent and cannot be deactivated except if explicitly done by a control bit eval string 0x0010 Deactivate all other active and lower-weighted ranks affiliated with this same govt when this rank is activated (excludes permanent ranks) 0x0020 Deactivate all other active and lower-weighted ranks affiliated with this same govt when this rank is deactivated (excludes permanent ranks) 0x0040 Deactivate this rank if the player commits any crime against the affiliated government 0x0100 Ships of the affiliated government will not automatically attack the player when he has this rank 0x0200 All planets of the affiliated government will let the player land when he has this rank, regardless of their MinStatus field 0x0400 Player can always request battle assistance from ships of the affiliated government, who will also call in reinforcements on the player's behalf if they are available. 0x0800 Ships allied with the affiliated govt will always repair or refuel the player for free. PriceMod Used to modify the prices of items and ships at planets owned by the affiliated government. A value of 100 equals 100% of original price (i.e. prices are unchanged). Higher or lower values raise or lower the prices correspondingly. (can be used to let distinguished players get special deals on ships and items at "friendly" planets that have granted them the rank) The name of the ränk resource is the full name of the rank, displayed in the player-info dialog. example: "Commission of Space Marshall in the Hector Empire" The text fields in the ränk resource are: ConvName The rank name as used in conversation, through mission briefings and the <PRK> tag. If this is set to an empty string, the rank will never be used in conversation. If there are no active ranks or none of the active ranks have ConvNames, the <PRK> tag will simply display "captain". example: if ConvName is "Space Marshall", then "Good job, <PRK>" becomes either "Good job, Space Marshall" or "Good job, captain". ShortName The short rank named as used in conversation through mission briefings and the <PSR> tag. Behavior with an empty string is the same as for the ConvName field. example: if ShortName is "Marshall" then "Hi there, <PSR>" becomes either "Hi there, Marshall" or "Hi there, captain".
The röid resource Nova supports up to 16 asteroid types, each of which can have its own special properties. röid resources 128-143 store the attributes for each asteroid type: Strength The strength of this asteroid type - this is equivalent to armor values for ships. SpinRate The frame advance rate of this asteroid type. A value of 100 is 30 frames per second (quite fast) - lower numbers are slower. YieldType Defines what the resource-boxes which are ejected from this asteroid type will contain: 0-5 This type of standard cargo 1000-1127 This type of jünk resource YieldQty The average resource yield of this type of asteroid. Zero will cause asteroids of this type to not spit out any resource-boxes when destroyed; values of one or more will cause the asteroids to spit out approximately that number of resource-boxes (+/- 50%) when destroyed. Each resource-box is worth 1 unit of whatever cargo is defined in the YieldType field to be granted when a scoop-equipped ship runs over it. PartCount The number of particles that are thrown off when an asteroid of this type is destroyed. PartColor The color of the particles, encoded the same as HTML colors. (00RRGGBB) FragType1&2 Asteroids can break up into some number of sub-asteroids when destroyed. If both of these fields are used, Nova will randomly pick between them for each sub-asteroid that is created. If only one is used, all sub-asteroids will be of that type. 128-143 Generate this type of sub-asteroid -1 No sub-asteroids FragCount The average number of sub-asteroids (+/- 50%) to be generated when an asteroid of this type is destroyed (zero for none). ExplodeType Type of explosion to show (0-63) when an asteroid of this type is destroyed. You can also add 1000 to the value of this field in the same manner as the ExplodeType field in the wëap resource. Set to -1 to not show any explosion. Mass Mass of this asteroid type (used when weapons hit asteroids)
The shïp resource Spaceships are the heart of Nova, so the ship resource contains a lot of info. The name of a ship class, which is seen in the targeting display, corresponds to the name of the ship resource. The first nine fields give Nova some general performance info on each ship type: Holds Cargo capacity, in tons. Put a negative sign in front of this value if you want to prevent the player from purchasing mass expansions. (e.g. a value of -100 would mean 100 tons of hold space but no mass expansions allowed) Shield Shield strength. Setting this to a negative value will result in shield strength equal to 5x the absolute value. This allows you to create a ship with shields exceeding the field’s maximum value of 32767. Accel Acceleration magnitude. 300 is considered an average value. Speed Top speed. 300 is also an average value here. Note: Creating a ship with zero speed and acceleration and giving it a Warship AI will cause it to spawn in a defensive perimeter around the first stellar in a system. Maneuver Turn rate. 10 ≈ 30°/sec. Fuel Fuel capacity. 100 = 1 jump. FreeMass Space available to add additional items and upgrades. Note that this is in addition to the space taken up by the ship’s stock weapons. (e.g. a ship with 20 tons listed in FreeMass and 10 tons of stock weapons will actually have 30 tons of expansion space, with 20 available.) Armor Armor strength. ShieldRech Shield recharge speed, in number of shield points x1000 per frame. Bigger numbers here mean faster recharge - a value of 1000 is equal to 1 point per frame or 30 points per second. The next twelve fields tell Nova which stock weapons to put on your ship when you first buy it: WeapType (x8) ID numbers of weapon types -1 or 0 No weapon 128-191 Add this weapon type WeapCount (x8) How many of each of the above weapons to add -1 or 0 None 1 and up Add this many AmmoLoad (x8) The standard ammo load for weapons that need it, or ignored for those that don’t -1 or 0 No ammo 1 and up Include this many rounds of ammo The next two fields tell Nova what this ship’s maximum loadout of fixed guns and turreted weapons is. Each ship has an inherent upper limit on fixed guns and turrets, in order to keep them from becoming absurdly powerful. (e.g. a bulk freighter has lots of room to add weapons, but is limited to a single turret for defense) The fields are: MaxGun The ship’s maximum number of fixed guns, which are flagged in the WeapFlag field of the outf resource. MaxTur The ship’s maximum number of turrets, which are flagged in the WeapFlag field of the outf resource. The next field tells Nova where this ship is available for purchase: TechLevel What the technology level of the ship is. This ship will be available at all shipyards with a tech level of this value or higher. (The exception to this rule involves the SpecialTech fields of the spöb resource; see the section on spöb resources for more information.) The next field, Cost, tells Nova how much to charge you when you buy this ship. The cost of buying a ship is always the cost of the new ship minus 25% of the original cost of your current ship and upgrades. (i.e. you always "trade up" to a new ship) The next field stores info on how the ship explodes: DeathDelay The number of frames the ship "disintegrates" before finally exploding. 0-59 The ship disintegrates for this number of frames and then disappears in a single fireball. 60+ The ship disintegrates for this number of frames and then disappears in a huge explosion. The exact size of the resulting fireball is proportional to the ship's mass. (see below) ArmorRech Armor recharge speed, in number of armor points x1000 per frame. Bigger numbers here mean faster recharge - a value of 1000 is equal to 1 point per frame or 30 points per second. Explode1 Type of explosion to show (0-63) while the ship is breaking up, or -1 to not show any explosions until the ship is finished being destroyed. Explode2 Type of explosion to show (0-63) when the ship is completely destroyed. You can also add 1000 to the value of this field in the same manner as the ExplodeType field in the wëap resource. Set to -1 to not show any explosion when the ship is destroyed. DispWeight The display weight of this ship type. Ships with a higher display weight are shown closer to the top of the shipyard dialog. This can be used to effectively rearrange the order in which ships are displayed without rearranging the resources themselves. Mass The mass of the ship, in tons. This doesn't affect acceleration or speed at all, but it does affect travel time in hyperspace and the display on the density scanner. Also, the blast radius and impact strength when the ship explodes is proportional to its mass. 1-99 1 day per jump, small blip on density scanner 100-199 2 days per jump, large blip on density scanner 200 and up 3 days per jump, large blip on density scanner Length The ship's length in meters. Currently unused in any calculations, but it’s kinda cool, so it’s displayed in the "detailed ship info" dialog. The next field tells Nova what kind of AI the ship will have if it's not created in connection with a dude resource. The only place this field is useful is when a ship is created as an escort ship; otherwise, it's ignored: InherentAI What AI the ship uses when it's escorting the player. 1-4 Use this kind of AI. (see the AI descriptions above) Note that only ships with inherent AI of 1 or 2 can be used to carry cargo when they are the player's escorts. Crew Number of crew members. Ships with 0 crew can't be boarded, nor can they capture any other ships. Strength An arbitrary value that represents the relative strength of the ship type with respect to the rest of the universe. Used when calculating combat odds (see the govt resource for details). The next field tells Nova what government is associated with a ship type. Note that unlike previous EV games, Nova actually handles two inherent government associations for each ship type: an inherent combat govt (used when an AI ship or stellar is deciding if it likes or hates another ship) and an inherent attributes govt (used for non-combat things like voice type, distress message flags, etc, as well as for inherent jamming ability). Sometimes you might want to create a ship type that inherits attributes from a particular govt but isn't considered to be inherently of that govt in combat, so Nova lets you use the InherentGovt field in several different ways: InherentGovt -1 No inherent combat govt or inherent attributes govt for this ship 128-383 Ship is treated as being inherently of the govt with this ID, both for AI combat and attributes inheritance) 1128-1383 Ship has an inherent attributes govt with this ID (minus 1000) but no inherent combat govt. 2128-2383 Ship has an inherent combat govt with this ID (minus 2000) but no inherent attributes govt. The next field is for some miscellaneous flags: Flags 0x0001 Slow jumping (75% normal speed) 0x0002 Semi-fast jumping (125%) 0x0004 Fast jumping (150%) 0x0008 Player ship takes advantage of FuelRegen property 0x0010 Ship is disabled at 10% armor instead of 33% 0x0020 Ship has afterburner when player has an advanced combat rating 0x0040 Ship always has afterburner (for AIs only) 0x0100 Show % armor on target display instead of “Shields Down” 0x0200 Don't show armor or shield state on status display 0x0400 Ship is a planet-type ship, and can only be hit by planet-type weapons 0x1000 Ship’s turrets have a blind spot to the front 0x2000 Ship’s turrets have a blind spot to the sides 0x4000 Ship’s turrets have a blind spot to the rear 0x8000 Ship is an escape ship type - if the player is carrying any ships of this type and decides to eject, he will fly off in a ship of this type (with random damage) instead of an escape pod. PodCount For decorative purposes, AI ships can be made to launch escape pods when they're destroyed. This field contains the standard number of escape pods for an AI ship of this type to launch when destroyed, at a rate of one per second. Note that this has nothing to do with the përs field's escape pod flag, it's just for eye candy. Don't overuse this field, as it can be annoying if used too often. (perhaps restrict it only to luxury liner type ships). DefaultItems Up to eight default items with which to equip this ship when the player buys or captures one. Note that AI-controlled ships will ignore these fields; also, don’t put anything in here that isn’t a physical item - i.e. afterburners, shield boosters, and the like are okay, but no fake IDs, maps, etc. 128-255 Ship comes stock with this item -1 Ignored ItemCount The number of each DefaultItem with which to equip the player. FuelRegen This ship type’s inherent fuel regeneration property. Works exactly the same as the fuel scoop ModVal property - useful for making ships with built-in fuel replenishment. Note that for the player to be able to use this field, the 0x0008 flag must also be set. (this allows you to give enemy ships built-in fuel scoops but still make the player have to buy his own) SkillVar The amount (in percent) to which this ship’s pilots’ skill varies. This affects acceleration and turn rate for each ship: i.e. a skill variance of 10% would make each ship of a given type up to 10% slower or faster than “stock”. Values from 1 to 50% are valid. Flags2 0x0001 Ship exhibits swarming behavior 0x0002 Ship prefers standoff attacks 0x0004 Ship can't be targeted 0x0008 Ship can be fired on by point defense systems 0x0010 Don't use fighter voices 0x0020 Ship can jump without slowing down 0x0040 Ship is inertialess 0x0080 AI ships of this type will run away/dock if out of ammo for all ammo-using weapons 0x0100 AI ships of this type will cloak when their weapon goes into burst reload 0x0200 AI ships will cloak when running away 0x0400 AI ships will cloak when hyperspacing 0x0800 AI ships will cloak when just flying around 0x1000 AI ships will not uncloak until close to their target 0x2000 AI ships will cloak when docking 0x4000 AI ships will cloak when preemptively attacked Availability Control bit test expression. The player will be able to purchase this type of ship when the expression evaluates to true. Leave blank if unused. Depending on the configuration of other flags, the ship might appear in the shipyard but not be able to be purchased if its Availability evaluates to false. AppearOn Control bit test expression. Ships of this type will not show up in dude resources if this expression evaluates to false. Leave blank if unused. OnPurchase Control bit set expression. Leave blank if unused. Deionize The rate at which this ship type dissipates ionization charge. A value of 100 equals 1 point of ion energy per 1/30th of a second. Higher values for Deionize yield faster ion charge dissipation. IonizeMax The amount of ion charge at which a ship of this type will be considered "fully ionized". KeyCarried The key carried ship type, used for interesting effects in the wëap and shän resources. DefaultItms2 More default items, used as above ItemCount Contribute These two Contribute fields together form a 64-bit flag that is Contribute subsequently combined with the Contribute fields from the outfit items in the player's possession, to be used with the Require fields in the outf and misn resources. Require These two Require fields together form a 64-bit flag that is Require logically and'ed with the Contribute fields from the player's current ship and outfit items. If for each 1 bit in the Require fields there is a matching 1 bit in one or more of the Contribute fields, the ship can be purchased. Leave these set to zero if unused. Depending on the configuration of other flags, the ship might appear in the shipyard but not be able to be purchased if the player doesn't meet the Requirements. BuyRandom The percent chance that a ship of this type will be available for purchase on a given day. A BuyRandom of 0 means this ship will never be made available for purchase. HireRandom The percent chance that a ship of this type will be available for hire in the bar on a given day. A HireRandom of 0 means this ship will never be made available for hire. OnCapture Control bit set expression, evaluated when you capture a ship of this type. Leave blank if unused. OnRetire Control bit set expression, evaluated when you sell a ship of this type and/or replace it with a captured ship. Subtitle The subtitle to show on the target display for this ship type Flags3 Even more flags! 0x0001 Ship destroys asteroids 0x0002 Ship scoops asteroid debris Note: If you set this flag but don’t also provide a mining scoop in the DefaultItems, the ship will instead shuttle back and forth between friendly stellars in the system. 0x0010 Ship ignores gravity 0x0020 Ship ignores deadly stellars 0x0040 Ship's turreted shots appear above the ship instead of below 0x0100 Don't show ship in shipyard if Availability is false 0x0200 Don't show ship in shipyard if Require bits not met 0x4000 When this ship is available for sale, it prevents all higher-numbered ship types with equal DispWeight from being made available for sale at the same time. UpgradeTo If an escort ship of this type can be upgraded, this field holds the ID of the ship type that it can be upgraded to. Set to 0 or -1 if this ship class can't be upgraded. EscUpgrdCost The cost to upgrade an escort ship of this type to the next more advanced version, as defined in the UpgradeTo field. EscSellValue The amount of cash the player gets for selling off a captured escort of this type. If you input a number that's less than or equal to zero here, Nova will default to 10% of the ship's original cost. EscortType Tells Nova which of the four categories of escorts to put this ship type into when organizing the escort control menu. -1 Have the game try to figure it out at runtime 0 Fighter 1 Medium Ship 2 Warship 3 Freighter ShortName The short string that is displayed in the shipyard dialog menu for this ship type. If you want to split this name into two separate lines, put the characters "\n" into the name, e.g.: "Big Ship\n(used)". When using this, lines that start with an alphanumeric character are drawn in white, while lines that start with other symbols are drawn in grey. CommName The short string to display for this ship when it is hailed by the player. Long Name The long string to display when the player purchases a ship of this type or starts a new pilot. MovieFile The filename of a QuickTime movie to display in place of the ship picture in the shipyard dialog. The QuickTime movie must reside within the Nova Files or Nova Plug-Ins folders and will be looped continuously while the player has this ship type selected. Ships' target info picts are stored in PICT resources 3000 and on. The engine is smart enough to reuse targeting picts for two ship classes that have the same base sprites: all you have to do is give the first of any series of identical-looking ship types a target pict in the usual way (PICT resource ID 3000 + shipID - 128) and the engine will use it for all higher-numbered ship types with the same base sprites.
The spöb resource Spob resources describe stellar objects, such as planets and space stations. (spob stands for space object) Each spob resource represents one stellar object, whose name is the name as the name of the resource. The first three fields tell Nova where to put the stellar and what graphics to use for it: xPos & yPos The stellar's X and Y positions in the system (0, 0) is centered Type Which graphic to use, from 0 to 255. The next field stores the flag bits that tell Nova what many of the characteristics of the stellar are. Perform an OR operation on the following flags to get the final flag value: 0x00000001 Can land/dock here 0x00000002 Has commodity exchange 0x00000004 Can outfit ship here 0x00000008 Can buy ships here 0x00000010 Stellar is a station instead of a planet 0x00000020 Stellar is uninhabited (no traffic control or refuelling) 0x00000040 Has bar 0x00000080 Can only land here if stellar is destroyed first 0x00000000 Won't trade in food 0x10000000 Low food prices 0x20000000 Medium food prices 0x40000000 High food prices 0x00000000 Won't trade in industrial goods 0x01000000 Low industrial prices 0x02000000 Medium industrial prices 0x04000000 High industrial prices 0x00000000 Won't trade in medical supplies 0x00100000 Low medical prices 0x00200000 Medium medical prices 0x00400000 High medical prices 0x00000000 Won't trade in luxury goods 0x00010000 Low luxury prices 0x00020000 Medium luxury prices 0x00040000 High luxury prices 0x00000000 Won't trade in metal 0x00001000 Low metal prices 0x00002000 Medium metal prices 0x00004000 High metal prices 0x00000000 Won't trade in equipment 0x00000100 Low equipment prices 0x00000200 Medium equipment prices 0x00000400 High equipment prices Tribute The stellar's tribute payout when dominated -1 or 0 Default amount (1000 credits x Tech Level) 1 and up This number of credits per day The next fields tell Nova what items and ships are available for purchase at this stellar: TechLevel What the base tech level of the stellar is. Only items and ships with TechLevels at or below this value will be available. SpecialTech (x8) Holds the special tech levels of this stellar. Unlike the previous field, only items and ships with exactly this TechLevel will appear here. This is useful for making low-tech worlds that also have a few high-tech items, or for flagging an item with an absurdly high TechLevel (say 15000) and then setting one of the SpecialTech fields of a particular stellar to that same value, thus making that item appear at that stellar and nowhere else. The next two fields contain info on the stellar's governmental affiliation: Govt What government controls this stellar -1 ignored (stellar is independent) 128-383 ID number of the stellar's government MinStatus The point on your record in the current system that you'll be denied landing clearance on this stellar. -32767 Ignored (player can always land) -1 to -32766 You can be this evil before they shun you 0 to 32766 They have to like you this much before they let you land 32767 Player can never land. (Note that this field is ignored if the stellar is uninhabited) The next pair of fields tells Nova which special landscape to show and which ambient sound to play. CustPicID Which custom landscape to show 128 and up ID number of PICT to load instead of the standard landscape display less than 128 No custom landscape (Note: for animated hypergates, this field can be optionally used to set the index of the transition between the "opening/closing" animation and the "working" animation. Set to 0 to have the engine use the first half of the frames for "opening/closing" and the second half for "working".) CustSndID Which ambient sound to play -1 No ambient sound effect Anything else ID number of snd resource to load (Note: for hypergates and wormholes, this field serves a different purpose - it controls the angle at which ships emerge. Values between 0 and 359 specify an exact angle, while any other value specifies a random direction.) The next two fields tell Nova what kind of ships, if any, to create for the planet's defense fleet: DefenseDude Which type of dude to use for the defense fleet: -1 Ignored (no defense ships) 128-639 ID number of the dude resource to use to determine the defense ships' characteristics DefCount The number of ships in the defense fleet. If you set this number to be above 1000, ships will be launched from the planet or station in waves. The last number in this field is the number of ships in each wave, and the first 3-4 numbers (minus 1 from the first digit) are the total number of ships in the planet's fleet. For example, a value of 1082 would be four waves of two ships for a total of eight. A value of 2005 would create waves of five ships each, with 100 ships total in the planet's defense fleet. Flags2 0x0001 For an animated stellar, the first frame will be shown after each subsequent frame. 0x0002 For an animated stellar, the next frame in the sequence will be picked at random. The same frame will not be picked twice in a row. Note that this can be combined with the previous flag and the Frame0Bias field to create interesting effects such as random planetary lightning or lights twinkling. 0x0010 Play this stellar's sound in a continuous loop 0x0020 Stellar is always dominated (all your base are belong to us) 0x0040 Stellar starts the game destroyed 0x0080 For an animated stellar, the stellar's graphic is animated after it's been destroyed and static when it is not destroyed. The normal behavior is the opposite of this: static when destroyed and animated when not. 0x0100 Stellar is deadly - all ships that touch it are destroyed immediately 0x0200 If the stellar has a weapon, it will only fire when provoked (i.e. only when the player is trying to dominate it) 0x0400 If the stellar has an outfit shop, it can buy any nonpermanent outfits the player owns, regardless of tech level 0x1000 Stellar is a hypergate - if the player lands on it he will be given a choice of which other hypergate to travel to (see HyperLink1-8 below) 0x2000 Stellar is a wormhole - if the player lands on it he will be transported to some other random somewhere in the galaxy. If all of the wormhole's HyperLink1-8 fields set to -1, the player will end up at another random wormhole which also has no defined hyper links. If the wormhole has any hyper links defined, the player will end up at one of the wormholes on the other end. AnimDelay The time to wait between frames, in 30ths of a second. Frame0Bias If greater than 1, this is used as a multiplier to extend the display time of the first frame in the sequence. For example, a Frame0Bias of 3 would cause the first frame in the sequence would be held for three times longer than the rest of the frames. HyperLink1-8 IDs of the spöb resources of up to eight other hypergates or wormholes to which this hypergate (or wormhole) is connected. Set to zero or -1 if unused. For a wormhole, setting every HyperLink field to -1 will cause the wormhole to randomly connect to any other random wormhole when the player goes through it. OnDominate Control bit set expression which is evaluated when the stellar is successfully dominated by the player OnRelease Control bit set expression which is evaluated when the stellar is released from domination by the player Fee The fee that is deducted from the player's credits when landing on this stellar. Set to zero if unused. Gravity The stellar's gravity - 0 for none, positive for stellars that pull, negative for stellars that push. Beware! This feature is mostly here for laughs. It severely confuses the AI, so it should only be used in empty systems where only the player can go. Weapon Stellars can have a single projectile or missile type weapon, with unlimited ammunition (don't put the ID of a beam or PD weapon here or bad things will happen). Stellars' weapons can be made to fire either only when provoked or any time an enemy ship is present. 0 or -1 No weapon 128-383 Stellar has a weapon of this type Strength The amount of combined mass and energy damage this stellar can take from planetary-type weapons before it is destroyed. Set this to 0 or -1 for an invincible stellar. DeadType Which stellar graphic to use when the stellar is destroyed. -1 Don't display different graphic type when destroyed 0-255 Display this stellar graphic when destroyed DeadTime The amount of time a stellar remains destroyed before it regenerates itself. Set this to 0 for a stellar that regenerates at the end of every day, or -1 for a stellar that never regenerates on its own. ExplodType What kind of explosion to show when the stellar is destroyed -1 No explosion 0-63 This type of explosion 1000-1063 Explosion type 0-63, plus a random number of type-0 explosions around it OnDestroy Control bit set expression which is evaluated when the stellar is destroyed. OnRegen Control bit set expression which is evaluated when the stellar automatically regenerates.
The sÿst resource Syst resources store information on star systems, in which all combat, trading, and spaceflight take place. Each system can be linked to up to 16 other systems, and the player can make hyperspace jumps back and forth between them. The first two fields in the syst resource tell Nova where on the map to place it: xPos & yPos The system's X and Y positions on the map The next fields store the hyperspace links to up to 16 other systems Con1-Con16 Link to another system -1 No link 128-2175 ID of a system to link to The next fields store the stellar navigation defaults (F1-F4 for the first four) for the system. It is important to always set navigation defaults for stellar objects in your systems, because that's how Nova's AI routines and status display keep track of stellar objects; if you don't set a planet as a nav default, the AIs won't "see" it, it won't show up on the radar, and you can't select it. NavDef (x16) Navigation defaults (F1-F4) -1 No nav default for this key 128-2175 ID number of the stellar object to set as a default The next fields tell Nova how many ships, and of what kind, to put in the system: DudeTypes (x8) Which type of dude to place (best not to set this to an out-of-range value) 128 to 639 ID number of the dude type to place -128 to -383 ID number of a fleet type to place -1 unused % Prob (x8) Probability that a given ship/fleet placed is of each of the above types 1-99 This percent probability AvgShips The average number of AI ships in the system 0 No ships, empty system 1 and up This number of ships, +/- 50% The next field tells Nova who controls the system: Govt Which government owns the system -1 Ignored (system is independent) 128-383 ID number of the controlling govt The next tells Nova which string, if any, to display as the message buoy's message when you enter a system: Message Which message buoy string to display -1 Ignored (no special message) 1 and up Use this entry in STR# resource 1000 as the text of the message buoy The next two fields tell Nova what kinds of navigation hazards to put in the system: Asteroids How many asteroids to put in the system, from 0 to 16 Interference How thick the static in the system should be. 0 is no static, 100 is complete sensor blackout. Want to make a ‘pers’ type ship always appear? Put its ID into one of the Person fields that appear at the end of the syst resource. The Visibility field controls how and when to make the system visible or invisible. You can pull off some cool tricks with this field, including presenting the illusion that system has changed in some way by hiding the original system and replacing it with a copy that is identical except for the desired changes. The Visibility field is a control bit test expression - leave it blank if unused. Note: Using the Visibility field to replace one system with another will work fine as long as they have the exact same coordinates (that's how Nova knows to update the hyper links, etc.) But, if you're going to have systems replacing each other in response to ncb changes, be sure that the Visibility fields of all the systems are mutually exclusive, or the resulting behavior will be undefined and probably incorrect. BkgndColor The system's background color, encoded the same as HTML colors. (RRGGBB) ...set to zero for pure black. Murk The murkiness of the system (0-100). Zero will cause everything to appear normally - 100 will cause the player to question their current glasses prescription. A value less than zero is equivalent to zero murk but also hides the starfield. AstTypes Flag bits that determine what types of asteroids will appear in this system: 0x0001 Small metal (röid ID 128) 0x0002 Medium metal (röid ID 129) 0x0004 Large metal (röid ID 130) 0x0008 Huge metal (röid ID 131) 0x0010 Small ice (röid ID 132) 0x0020 Medium ice (röid ID 133) etc. ReinfFleet The ID of a fleet to use as this system's reinforcement fleet. If ships allied with the reinforcement fleet's government are under attack and the combat odds against them exceed the MaxOdds field of the reinforcement fleet's government, the reinforcement fleet will be called in. Set to 0 or -1 if unused. ReinfTime The delay between the time the reinforcement call goes out and the time the fleet appears. A value of 30 = one second. ReinfIntrval The interval, in days, that it takes for the reinforcement fleet to be regenerated. If you set this to 0, a reinforcement fleet will be available every day. If you set this higher than zero, it will take that number of days for the reinforcement fleet to be available again.
The wëap resource The weap resource, surprisingly, stores info on Nova's weapons. The name of the weap resource is used as the weapon name in the weaponry section of the status display. The first two fields control the duration of different aspects of the weapon: Reload The number of frames it takes for one of this weapon to reload. 30 = 1 shot/sec. Smaller numbers yield faster reloads. Count The number of frames the weapon's shots travel for before they peter out. 30 = 1 second of life. The next two fields, MassDmg and EnergyDmg, tell Nova how much damage to do when one of this weapon's shots hits something. Energy damage does damage to shields only, and mass damage does damage to armor only. Further, if a ship has shields, its armor can't be damaged until its shields are knocked down (unless the weapon is a shield-penetrating weapon). The next two fields tell Nova how the weapon should behave in flight: Guidance The weapon's guidance mode -1 Unguided projectile 0 Beam weapon (see below) 1 Homing weapon (see Seeker field below) 2 (unused) 3 Turreted beam 4 Turreted, unguided projectile 5 Freefall bomb (launched at 80% of the ship's current velocity, "weathervanes" into the "wind." 6 Freeflight rocket (launched straight ahead, accelerates to its maximum velocity) 7 Front-quadrant turret, (can fire +/-45° off the ship's nose) fires straight ahead if no target 8 Rear-quadrant turret (can fire +/-45° off the ship's tail) 9 Point defense turret (fires automatically at incoming guided weapons and nearby ships) 10 Point defense beam (fires automatically at incoming guided weapons and nearby ships) 99 Carried ship (AmmoType is the ID of the ship class) Speed The weapon's speed (pixels per frame * 100) The next field tells Nova how to handle the ammunition for this weapon, assuming it’s not a fighter bay: AmmoType What kind of ammo the weapon uses -1 Ignored (unlimited ammo) 0-255 Draws ammo from this type of weapon. (Usually, if your Hector Cannon was of ID 131, you'd set the AmmoType to 3 so it'd use Hector Birdseed Pellets or whatever. However, you could conceivably set it to use ammo from another weapon's supply by setting the AmmoType to something else.) -999 Ship is destroyed when weapon is fired -1000 & below Weapon uses abs(AmmoType+1000)/10 units of fuel per shot. (example: -1005 = 0.5 units per shot) The next three fields tell Nova which graphic and sound to use for this weapon, and how to launch it: Graphic What graphic set to use for this weapon 0-255 Use this graphic set (i.e. spin resources 3000-3255) Inaccuracy The weapon's inaccuracy as it leaves the ship (ignored for guidance-10 point defense beams) -1 and below Fires to the side by this angle (absolute value in degrees) 0 Fires straight 1 and up Fires with up to this amount of inaccuracy (in degrees) Sound Which sound to play when the weapon fires -1 Silent but deadly 0-63 Play this sound (snd ID 200-263) The next four fields store info on how the weapon behaves when it hits something: Impact The magnitude of the impact when the shot hits something 0 No impact 1 and up This amount of impact, which is inversely proportional to the ship's mass. (e.g. Missile = 30) ExplodType What kind of explosion to show when the weapon hits. -1 No explosion 0-63 This type of explosion 1000-1063 Explosion type 0-63, plus a random number of type-0 explosions around it ProxRadius The radius of the weapon's proximity fuse (useful for unguided missiles and bombs) 0 Weapon requires direct hit to do damage 1 and up This number of pixels of proximity radius BlastRadius The radius of the weapon's blast effect 0 No blast effect 1 and up This number of pixels of blast radius The next field contains some miscellaneous flag info: Flags 0x0001 Spin the weapon's graphic continuously (rate of frame advance is controlled by the BeamWidth field as detailed below) 0x0002 Weapon fired by second trigger 0x0004 For cycling weapons, always start on the first frame of the animation 0x0008 For guided weapons, don't fire at fast ships (ships with turn rate > 30) 0x0010 Weapon's sound is looped rather than played repeatedly 0x0020 Weapon passes through shields (use sparingly!) 0x0040 Multiple weapons of this type fire simultaneously 0x0080 Weapon can't be targeted by point defense systems (works only for homing weapons) 0x0100 Weapon's blast doesn't hurt the player 0x0200 Weapon generates small smoke 0x0400 Weapon generates big smoke 0x0800 Weapon’s smoke trail is more persistent 0x1000 Turreted weapon has a blind spot to the front 0x2000 Turreted weapon has a blind spot to the sides 0x4000 Turreted weapon has a blind spot to the rear 0x8000 Shot detonates at the end of its lifespan (useful for flak-type weapons) The next field contains flags that control how a guided weapon (Guidance = 1) behaves, as well as some misc flags for other weapon types: Seeker 0x0001 Passes over asteroids 0x0002 Decoyed by asteroids 0x0008 Confused by sensor interference 0x0010 Turns away if jammed 0x0020 Can't fire if ship is ionized 0x4000 Loses lock if target not directly ahead 0x8000 May attack parent ship if jammed SmokeSet Which cicn set to use for this weapon’s smoke trail, if any. 0 = cicn’s 1000-1007, 1 = 1008-1015, etc. Note that the smoke icons themselves can be any size, but if you use ResEdit’s cicn editor to make each icon only as large as it needs to be, game performance will likely improve. Decay How fast to decay each shot’s power -1 or 0 Ignored 1 and up Remove one point of mass & energy damage every time this number of frames goes by (1 frame = 1/30 sec.) Particles Number of particles to generate per frame. Set to zero for no particles PartVel Particle velocity, from 1 to about 200 or so. Experiment to find useful values. PartLifeMin Minimum life of a particle from this weapon, in frames. PartLifeMax Maximum particle life, in frames. PartColor Particle base color, encoded the same as HTML colors. (RRGGBB) BeamLength The length of the beam created by this weapon, if applicable. BeamWidth Beam width (actually, radius) in pixels. A BeamWidth of 0 will have no center beam, just corona glow. Note: Lightning beams require a BeamWidth or 1 or greater. Note: For sprite-based weapons that spin continuously, this field controls the time between frames, in 30ths of a second. Falloff The corona falloff. Higher numbers make the corona fall off faster. This value must be between 2 and 16. (since lightning beams have no corona, this is ignored for lightning beams) Note: For sprite-based weapons, setting this field to a value of 1 will cause the sprite to fade out over the final 32 frames of its life. Higher values will fade out faster. BeamColor The color of the beam center, encoded as a 24-bit RGB value (00RRGGBB). CoronaColor The color of the beam corona, encoded as a 24-bit RGB value. Note that since the corona is translucent, it will appear approximately half as bright at its maximum as what you specify in this field. (since lightning beams have no corona, this is ignored for lightning beams) SubCount The number of submunitions to create when the shot reaches the end of its life or detonates because something wanders into its proximity radius. Set to 0 or -1 if unused. SubType The resource ID of the weapon type to create as submunitions. Anything except beams and fighters is handled. SubTheta The angular error of the submunitions as they are launched, as expressed in degrees error from the carrier weapons' heading. If this value is negative, submunitions will emerge from the parent shot in a starburst pattern, with angular separation between the submunitions equal to the absolute value of this field in degrees. SubLimit If you have defined a recursively-submunitioning weapon (i.e. one which splits into more copies of itself) this field will allow you to limit the number of recursive splits that happen. This field is ignored if the weapon is not recursively submunitioning. ProxSafety A time delay for the weapon's proximity fuse, in 30ths of a second. Set to zero for immediate arming on launch. Flags2 0x0001 For cycling weapons, keep the graphic on the first frame until the weapon's ProxSafety count has expired 0x0002 For cycling weapons, stop the graphic on the last frame 0x0004 Proximity detonator ignores asteroids 0x0008 Proximity detonator is triggered by ships other than the target (for guided weapons) 0x0010 Submunitions fire toward nearest valid target 0x0020 Don't launch submunitions when the shot expires 0x0040 Don't show weapon's ammo quantity on the status display 0x0080 This weapon can only be fired when there is at least one ship of this ship's KeyCarried type aboard 0x0100 AI ships won't use this weapon 0x0200 This weapon uses the ship's weapon sprite, if applicable 0x0400 Weapon is a planet-type weapon, and can only hit planet-type ships or destroyable stellars 0x0800 Don't allow this weapon to be selected or displayed if it is out of ammo 0x1000 Weapon can disable but not destroy 0x2000 For beam weapons, display the beam underneath ships instead of on top of them. 0x4000 Weapon can be fired while cloaked. 0x8000 Weapon does x10 mass damage to asteroids Ionization The amount of ionization energy to add to the ship that gets hit by this weapon. When a ship is ionized it becomes nearly immobilized until the ionization charge dissipates. HitParticles The number of particles to generate when a shot of this type hits a ship or asteroid. Set to zero if unused. HitPartLife The average life (in frames) of the hit-particles. HitPartVel The speed of the hit-particles; a value of 100 is one pixel per frame. HitPartColor The color of the hit-particles, encoded as a 24-bit HTML color (00RRGGBB) ExitType The type of weapon exit point to use for this weapon: -1 Ignored - weapon will fire from the center of the ship 0 GunPosX/Y 1 TurretPosX/Y 2 GuidedPosX/Y 3 BeamPosX/Y BurstCount The number of shots this weapon can fire before having to endure a burst reload. Set to 0 or -1 if unused. For weapons that do not fire simultaneously, this value will be multiplied by how many of this weapon the firing ship has - for example, a weapon with a BurstCount of 4 on a ship with 3 of that weapon will be able to fire 12 times before entering the burst reload period. For weapons that fire simultaneously, this value is independent of how many of the weapon the ship has. BurstReload The reload time that is imposed when the weapon has fired >= BurstCount shots. Ignored if BurstCount is 0 or -1. JamVuln1-4 The weapon's vulnerability to the four different types of jamming, from 0 to 100%. Ignored if the weapon is not a guided weapon. Flags3 0x0001 Weapon will only use ammo at the end of a burst cycle 0x0002 Weapon's shots are translucent 0x0004 Firing ship can't fire another shot of this type until the previous one expires or hits something. 0x0010 Weapon fires from whatever weapon exit point is closest to the target 0x0020 Weapon is exclusive - no other weapons on the ship can fire while this weapon is firing or reloading Durability For guided weapons, this is how many point defense hits a shot from this weapon can take before it is destroyed. Set to 0 for weapons that are immediately destroyed by any PD hits. Ignored for non-guided projectile weapons or beams. (PD damage to guided weapons is calculated as 100% of mass damage plus 50% of energy damage) GuidedTurn For guided weapons, this is the turning speed of the weapon. Higher values yield more maneuverable missiles. Ignored for anything but guided weapons. MaxAmmo For ammo-using weapons, this is the maximum amount of ammo per each instance of this weapon. (so, if you have two of these weapons, the max amount of ammo for that weapon type would actually be twice MaxAmmo, and so on) Set to 0 or -1 if you want the ammo quantity to be constrained by the oütf resource's Max field instead. Recoil The amount of recoil force to apply to the firing ship when this weapon is used: 0 or -1 No recoil Positive values Thrust the ship backwards Negative values Thrust the ship forwards (note that the resulting change to the ship's velocity is inversely proportional to its mass) LiDensity For a beam weapon, entering zero in this field will make it a normal, straight beam weapon. Entering a value greater than zero will make the beam a lightning beam, which has no real effect other than to make it look cool. The number you enter here is the number of zig-zags the beam will make per 100 pixels. Higher numbers yield more convoluted beams. Note also that lightning beams can't have a beam corona, and so will only use the CoreColor and CoreWidth fields above. LiAmplitude The amplitude of each zig-zag of a lightning beam, in pixels. Higher numbers yield more jagged-looking beams. Don't overdo this or you will have screen redraw problems. In fact, don't overuse lightning beams period, as they are much more processor-intensive to draw than normal beams! IonizeColor The color that a ship hit by this weapon will appear after being sufficiently ionized (encoded the same as an HTML color value). A value of 0 here will be interpreted as a default bluish color. Using fairly bright colors here is probably the best, as low-intensity colors tend to look odd when used as the ionization color. Please note that if you've set the weapon to be a beam (Guidance of 0 or 3) the following fields have different functions: Count The number of frames the beam stays onscreen. Note also that if the beam has a positive Decay value entered (see below) the actual time the beam will exist onscreen will be Count + 16 - CoronaFalloff, so adjust the Reload value accordingly to ensure that the universe doesn't get filled up with overlapping beams from a single ships. Impact Functions normally, with one exception: if the impact is set to a negative value, the beam acts as a tractor beam. Smaller ships will be pulled towards the firing ship with a strength proportional to the Impact value, while a small ship firing a tractor beam at a larger ship (or asteroid) will "latch on" to it and be dragged along. Note that you cannot enter hyperspace if held by a tractor beam from a ship that's larger than you are. Note also that inertialess ships are not affected by tractor beams. ProxRadius Ignored BlastRadius Ignored Decay If Decay is greater than zero, the beam will "shrink" before it disappears from the screen. The actual time the beam spends on screen will be Count + 16 - CoronaFalloff in this case, so adjust your Reload value accordingly (otherwise you'll get too many beams onscreen at once). Another Note: If you don't create an oütf resource for each weapon type, your ship's weapon loadout will be corrupted when you land on a planet. (specifically, Nova will mistakenly remove any weapons for which you didn't create oütf resources) Also, having multiple outfit items that bestow the user with the same weapon type can cause weird things to happen.
Appendix I - Combat Ratings Your combat rating is based on the number of kills you have made, which is the sum of the strengths of all the ships you have destroyed, times some internal multiplier for adjustment. The scale is as follows: Kills: Rating: 0 No Ability 1 Little Ability 100 Fair Ability 200 Average Ability 400 Good Ability 800 Competent 1600 Very Competent 3200 Worthy of Note 6400 Dangerous 12,800 Deadly 25,600 Frightening The text strings listed above are given only by way of illustration, since they can be changed by editing STR# 138.
Appendix II - Legal Status Your legal status in a system is based on the crime tolerance of that system's government. (if the system is independent, it is based on the first government's [ID 128] crime tolerance) On this scale, enough "good" or "evil" points to equal the government's crime tolerance is given a value of 1: Good Scale: Legal Status: 0 No Record >0 Citizen >4 Good Citizen >16 Upstanding Citizen >64 Leading Citizen >256 Model Citizen >1024 Virtuous Citizen Evil Scale: Legal Status: 0 No Record >0 No Convictions >1 Minor Offender >4 Offender >16 Criminal >64 Wanted Criminal >256 Fugitive >1024 Hunted Fugitive >4096 Public Enemy The text strings listed above are given only by way of illustration, since they can be changed by editing STR# 134.
Appendix III - Patching STR# Resources The STR# resource format used to store many of the strings in Nova may seem to be incompatible with the flexible nature of plugin files. For example, a plugin for a new ship would have to replace several of the built-in STR# resources to incorporate its new name into the game. The problem arises when you want to use two plugins that try to modify the same STR# resource. The solution is not to change the STR# resources at all, but to use Nova’s handy string patching functionality by updating only select strings in a STR# resource by providing Nova with a properly-numbered 'STR ' resource. For example, to change the first cargo type from food to something else, you’d simply create a 'STR ' resource with the ID 9000 and type in the name of your new commodity. A chart of 'STR ' resource numbers is provided below: String Type: Replacement 'STR ' ID range: Message buoys 1000+ përs-resource Hail quotes 5000+ Stellar types 7000-7255 Commodity names 9000-9005 Lowercase cargo names 9100-9355 Cargo abbreviations for status display 9200-9455 Base prices of commodities 9300-9305 Commodity abbreviations for status display 9400-9405 Govt-specific greetings for comm dialog 10000-12569 (first 10 for govt -1, second 10 for govt 0, third 10 for govt 1, etc.) përs-resource CommQuotes 15000+
Appendix IV - Log Files Nova supports two different kinds of debug log output that are useful to plugin developers: 1. If you create a file called "debuglog.txt" in your Nova folder, a large amount of debug info will be dumped into this file as the game runs. Further, enabling this output also turns on some additional error checking, which can be very handy for finding errors in plugins. 2. If you create a file called "pilotlog.txt" in your Nova folder, every time a pilot file is opened its contents will be written in human-readable form to the pilotlog.txt file. (works only after registering)
Appendix V - Errata & Addenda The following unofficial corrections have been made to this edition of the EV Nova Bible: Resource Descriptions Various ID ranges have been corrected to reflect the maximum specified in the Game Constants. shän Square-wave blinking BlinkValA and BlinkValB descriptions have been swapped. gövt Flags 0x1000 option Description no longer contradictingly says "non-player". mïsn ShipStart field Updated to show all 16 nav defaults are possible. öops Stellar field -2 option is obsolete and has been removed (superseded by cröns). sÿst DudeTypes Restored mention of fleets which had been mistakenly removed. Legal Status Corrected values. Patching STR# Resources Restored cargo string types which had been mistakenly removed. The following additions have been made to clarify previously undocumented features: Game Constants Added Max Crons. shïp Shields field Added note about negative shield values. shïp Speed field Added note about zero-speed warships. shïp Flags3 0x0002 option Added note about behaviour when lacking mining scoop. wëap Falloff field Added note about sprite-based weapons.
© 1995-2002 by Ambrosia Software, Inc. All Rights Reserved Worldwide