# Scenario Editor

## Scenario Data

Number of Players

The total number of players, including computer players, in the level. Generally, this should be two, either one human player and one computer player, or two human net players.

While up to four players are technically supported, three or more players have not been tested. Having a third computer player in net games is known to cause synchronization problems.

Fixed Angle

Usually you should keep this unchecked. It was implemented for the training scenarios. Checking this and entering a value creates the level at the same orientation every time.

When this is not checked, the level may be created at any angle, which is normal behavior.

Training Only

Checking this skips the mission briefing, and allows the player to simply bypass the level.

Chapter Name

Enter the chapter name. Chapter names normally have two lines, each beginning with \i. The first \i tells Ares to invert the first line, the second tells it to un-invert the second line.

Single player chapter names usually look like this:

`\i Chapter 1
\i The Phantom Menace`

There's a space after each of the \i's.

Net chapter names usually look like this:

`\i Two Carbon Units Enter, One Carbon Unit Leaves
\i`

Note that there's still a space after the second \i, even though there's nothing else on the line. Otherwise, the second line will still be inverted.

Edit Scenario Initial Objects...

Opens the Initial Object Editor for this level.

Edit Scenario Briefing...

Opens the Briefing Point Editor for this level.

Edit Scenario Conditions...

Opens the Condition Editor for this level.
Set Starmap Location...

Opens the Starmap Locator.

This allows you to set the position indicated on the starmap presented at the beginning of every scenario briefing.

See the section on the Starmap Locator for details.

Movie

Specifies that a movie should be played before the level begins. If a level has a movie, it is played before both any prologue text and the mission briefing.

A movie is specified by its file path in the Ares folder (the folder which contains the Ares application).

A movie called "Space Chase.mov" in a folder called "Space Attack" in the Ares folder would be specified by:

`:Space Attack:Space Chase.mov`

Checking the Movie checkbox or clicking the Choose Movie... button will open the STR# Editor to STR# resource 4500, where the movie path names are stored. You can add, edit, or delete movie path names.

Movies must be 8-bit (256 colors). If a movie is less than or equal to half the width of the screen's width, and less than or equal to half the height of the screen's height, then it will be doubled in size when played back.

Par Ratio

This value is not used.

Par Kills

This value, and all the par values, are displayed to a player when he completes a level. They should be reasonable values.

The values are used to calculate the player score.

The par kills are the number of ships the player should aim to destroy.

Par Losses

A player gets more points if he loses fewer ships than allowed in the par losses.

Par Time

This value is the time, in seconds, it should take an experienced player to complete the level.

Prologue Text

The prologue text is text which is presented in a vertical scroll before a the mission briefing, and after the level movie. It should be used to advance the story.

For net scenarios, the prologue text is used to describe the level in the net setup screen. It should be short.

Click the Prologue Text checkbox or the Choose Prologue Text... button to open the TEXT editor and choose and edit the text.

Prologue text (for single player levels) and epilogue text have special formatting characters.

Every paragraph needs to start with the characters `#+` on a line by themselves.

Optionally, the first paragraph can start with `#+B` (B for background) followed by the PICT resource ID of a background picture. So, for instance, if you wanted to use PICT resource 2005 as your background picture, the first few lines in your prologue text would look like this:

`#+B2005
The mysterious blob is getting bigger. If you don't stop it soon it will take over the galaxy. This is your last chance.`

Any paragraph can also begin with just `#+` (no B) followed by the ID of a PICT resource. The PICT indicated will just be displayed above the paragraph it precedes. Such a paragraph might look like this:

`#+10016
This is a picture of the space blob. That little dot inside of it is the planet Grimpi. You need to destroy it right away.`

You can also use the sequence `\i` to turn on and off inverse text. To show a line of inverse text, you should have something like this:

`#+
\i The Tale of the Space Blob
\i`

Note that there's a space after the `\i` on both lines.

Epilogue Text

Identical to the prologue text, except it is shown after the mission debriefing (where the player's score is displayed).

Status Strings

The Status Strings are a specially formatted STR# resource which tells Ares how to display the mission status screen on the ship's computer.

Each indexed string in the STR# resource you choose is used to make a line on the status screen. The first string is used for the first line, the second string for the second line, and so on, up to six lines.

The strings must be formatted in a certain way. Any string may begin with _ (the underscore character) to indicate that that line should have a separator line in the ship's computer status display.

If the first character (or the first character after a _) is a - (a minus sign) then the rest of the string will be displayed as is in the status display. For example, the string `_-Kill the Blob` would appear as `Kill the Blob` in the status display.

If the first character (or the first character after a _) is not a -, then the string has a special meaning and must be formatted like this:

`type\number\player\negativevalue\falsestring\truestring\basestring\poststring`

where:

- type = a number between -1 and 5, indicating:

  -1 | kNoStatusData | no status for this line
  0 | kPlainTextStatus |
  1 | kTrueFalseCondition | 0 = F, 1 = T, use condition not score
  2 | kIntegerValue | interpret score as integer (no decimal point)
  3 | kSmallFixedValue | interpret score as float (decimal point)
  4 | kIntegerMinusValue | value - designated score
  5 | kSmallFixedMinusValue | small fixed - designated score

- number = which score/condition #
- player = which player score (if any); -1 = you, -2 = first not you ( 0 if you're player 1, 1 if you're player 0)
- negativeValue = value to use for kIntegerMinusValue or kSmallFixedMinusValue
- falsestring = string to use if false
- truestring = string to use if true
- basestring = first part of string

For example, the string

`1\0\\0\0\N\Y\SHIP DESTROYED:`

would result in a status line based on condition 0; if condition 0 were false, the line would read

`SHIP DESTROYED: N`

and if condition 0 were true,

`SHIP DESTROYED: Y`

Another example: the string

`2\1\0\10\\\Samples Left:`

would result in the status line "Samples Left: " + score 1 of player 0. So if player 0's score 1 was 3, the line would read:

`Samples Left: 7`

## Player Settings

Click on the pop up menu to select which player number to edit. These player numbers are 1-based (first player is player 1) but players are elsewhere referenced by 0-based indexed (first player is player 0).

Player Type

A player may be either a single human, a net human, or a computer.

For single player games, player 1 should always be a single human. Player 2, if any, should be a computer player.

For net games, both player 1 and player 2 should be net humans. Ares uses these settings to determine if a given level is networkable.

Edit "No Ships" Text...

When a human player has no ships left, Ares must end the scenario whether or not other conditions have been met. You can edit the text which is displayed (if any) when the scenario ends under these conditions.

Race

The race pop-up menu determines the race of the player (the race names can be edited with the Race Editor). When a player builds a ship in Ares, Ares looks at the player's race to determine exactly what kind of ship to build.

Earning power

This is a multiplier for the player's resource earnings. For example, if a player owns a planet with a resource generation rate of 2.000 and the player's earning power is .500, the planet's actual resource generation rate for that player would be 2.000 X .500, or 1.000.

Name

This is the name as it will appear in event messages in the game. For example, when a player captures a base, this is the name Ares will use to report that capture.

Net Races

Every net race that is checked is considered legal for this level. The checked races will be selectable by the chosen player in the Net Setup screen.

Note that both players 1 and 2 must be set as "net human" for the level to be considered networkable.

It is absolutely essential that you provide all the ships necessary for every race that you allow in a net level -- for example, if you have a planet that can build a class 100 ship, you have to create a class 100 ship for every race that you allow. Failure to do so will result in Ares crashing.