# Object Editor

## Special Panel

The Special Panel of the Object Editor is different for different types of objects: devices, beams, self-animating sprites and rotating sprites.

### Devices

###

The Special Panel looks like this for devices.

#### Usage

The usage menu sets flags which determine how computer controlled ships will use the device.

##### For Transportation

The object will activate the device if it receives an order to go to a remote location.

##### For Attacking

The obejct will activate the device if it is engaged with a hostile object.

##### For Defense

The object will activate the device if it feels threatened by another object engaging it.

#### Energy Cost

The amount of energy required to activate the device. Subtracted from an object's immediate power.

#### Fire Time

The time, in 1/20ths of a second, it takes before the device can be activated again.

#### Ammo

The number of times the device can be activated. Use -1 if the device can be activated indefinitely.

#### Range

For weapons, how far it can shoot in pixels, squared. Click the Calculate Range button to calculate the range automatically based on the speed of the missiles the weapons produces (based on the object created when the device's activation sequence is executed).

You may need to adjust this value if you find computer controlled ships firing this weapon when it's out of range. For example, if the missiles the weapon fires don't have a constant rate of speed, you may need to adjust this value by hand.

For devices that fire non-kinetic beams, you should manually enter the beam's range squared (see Beams below).

#### Inverse Speed

Used to help computer controlled ships aim. Must be non-zero. Ignored for non-kinetic beam weapons.

Click the Calculate Inverse Speed Now button to calculate the inverse speed automatically based on the speed of the missiles the weapons produces (based on the object created when the device's activation sequence is executed).

#### Restock Cost

The amount of energy required to refill the ammo. Objects' ammo automatically gets refilled up to 1/2 it's original value. The energy required determines the speed of the refill.

### Beams

#### Color

Chose a color for the beam object.

#### Kind

Choose from the popup list:

> ##### Kinetic

> Standard beam that travels like any missile through space.

> ##### Static Object to Object

> A straight beam that connects the source to its target, and which continues to connect the two objects even if they move.

> ##### Static Object to Relative Coordinate

> A straight beam that connects the source to its target, but which doesn't change its original angle or distance if the objects move.

> ##### Bolt Object to Object

> An animated, lightning-like beam that connects the source to its target, and which continues to connect the two objects even if they move.

> ##### Bolt Object to Relative

> An animated, lightning-like beam that connects the source to its target, but which doesn't change its original angle or distance if the objects move.

#### Accuracy

Ignored for kinetic beams. A random distance to add to the endpoint of the beam. The larger the number, the less accurate the beam.

#### Range

Ignored for kinetic beams. The range in pixels of the maximum distance the beam can reach. For example, if you want a non-kinetic beam to be able to hit objects 300 pixels away, set this value to 300. For devices which produce this beam, you must manually enter the devices range as the square of the range you enter here.

### Self-Animating Sprites

Self-animating sprites automatically change their appearance by stepping through a sequence of frames. Depending on whether or not the cycle animation flag is set (in the Attribute Flag menu in the Attributes Panel), the object will either expire when it completes its sequence, or loop through the sequence indefinitely.

#### First Shape

The first shape, or frame, of the sprite (starting with 0) to use in cycling animations.

#### Last Shape

The last shape of the sprite to use.

IMPORTANT: This value can not be greater than the number of frames a sprite has, and is zero based. For example, if your sprite has only 10 frames, this number can not be greater than 9.

#### Animation Direction

Use 1 if you want to animate from the first frame to the last frame (forwards), -1 if you want to animate from the last frame to the first (backwards), or 0 to have no animation.

#### Direction Range

Enter 0 to always use the direction you specify, or 1 to have the animation randomly go forward or backward.

#### Animation Speed

The time, in 1/20ths of a second, between frames of animation.

#### Speed Range

A random additional value added to the animation speed.

#### Shape

The initial frame number of the object when it is created

IMPORTANT: This value can not be greater than the last shape value.

#### Shape Range

A random value added to the initial frame number.

IMPORTANT: This value plus the value of the shape can not be greater than the last shape value.

#### Sprite

Click to choose the sprite.

### Rotating Sprites

A rotating sprite determines which frame of a sprite to use based on the direction it is facing.

The sprites for rotating shapes must have a sequence of frames depicting an object rotating from 0 degrees (due north) clockwise back to but not including 0 degrees.

#### Shape Offset

An offset to the first frame of the sprite you want to use. Normally this will be 0.

You could, however, keep two versions of a rendering of a ship in one sprite for some special case. The object which represented the alternate version of the ship could then use the shape offset field to specify the first frame of animation for the alternate appearance of the ship.

#### Rotation Resolution

360 divided by the number of frames of animation. If you have a sprite of a ship rendered at 36 different angles, this number would be 10. Most ships in Ares are rendered at 24 different angles.

Entering too low a value will cause Ares to crash.

#### Max Turn Rate

The maximum speed at which the object can rotate.

#### Turn Acceleration

This value is ignored.

#### Sprite

Click the Choose Sprite button to select a sprite.