An effect element is an element that defines how to paint something on the screen. For example, weapons use an <Effect> element to define how to paint a projectile. Not all effect elements are called <Effect>. For example, weapons also have a <FireEffect> element that describes how to paint the muzzle-flash for the weapon.
In all cases, an effect element contains 0 or more sub-elements called painters. Each painter defines a particular type of paint effect. For example, an <Image> painter is used to paint a bitmap. If more than one painter is specified, they are painted in order, one of top of the other.
Suggesstion for laser colors.
The following painters exist:
new in 1.06 |
---|
<Beam> |
Version: 1.06 and above.
beamType= Choose from one of many styles (list taken from TSE\SFXBeam.cpp)
primaryColor= Hexidecimal for the primary color.
secondaryColor= Hexidecimal for the secondary color.
intensity= Increases beam width (discovered by Hatsya)
length= The length of the bolt in pixels.
width= The width of the bolt in pixels.
primaryColor= The primary color.
secondaryColor= The secondary color.
style= One of the following:
radius= The radius in pixels.
lifetime= The lifetime of the effect in ticks.
imageID= UNID of the image to use.
imageX= X-coordinate of the upper-left of the image to use.
imageY= Y-coordinate of the upper-left of the image to use.
imageWidth= Width of the image in pixels.
imageHeight= Height of the image in pixels.
lifetime= Ticks to show image.
imageFrameCount= Number of animation frames in the image. If the effect lasts longer than the number of frames then the animation starts again from the beginning.
imageTicksPerFrame= Ticks to show each frame (valid only if imageFrameCount is non-zero).
randomStartFrame= If true, then start at a random frame (valid only if imageFrameCount is non-zero).
rotationCount= Number of rotation frames.
Same attributes as <Image> plus the following additional attributes:
length= Length of the tail in pixels.
width= Width of the tail in pixels.
primaryColor= Primary color of the tail.
secondaryColor= Secondary color of the tail.
length= Length of the bolt in pixels.
width= Width of the bolt in pixels.
growth= If non-zero, the length of the bolt will increase by this number of pixels on each tick (up to a maximum of 8 ticks).
primaryColor= Primary color of bolt.
secondaryColor= Secondary color of bolt.
This painter is used for weapons of type=particles.
style= One of:
minWidth= The minimum width of the particle in pixels.
maxWidth= The maximum width of the particle in pixels.
primaryColor= The primary color of the particle.
secondaryColor= The secondary color of the particle.
Version: 1.08 and above.
This painter creates a cloud of particles with various shapes and behaviors.
style= One of:
lifetime= The lifetime of the effect in ticks (expressed as a dice range). The value -1 means that the effect is immortal (lasts forever).
emitDuration= The amount of time during which the effect will create new particles. For immortal effects this is expressed as a number of ticks. For effects with a limited lifetime, this is expressed as a % of the total lifetime.
emitRate= The number of new particles to create per tick (expressed as a dice range).
emitSpeed= The speed of a newly created particle (as a percent of light speed, expressed as a dice range).
particleCount= The number of particles initially created; these will appear immediately when the effect starts. The position and velocity of the initially created particles depends on the style. This property is a dice range.
particleLifetime= The lifetime a particle in the cloud in ticks. A value of -1 means that particles live forever. This property is a dice range.
radius= For cloud effects, this is the maximum radius of the cloud. For ring effects this is the radius of the ring. (expressed in pixels).
ringWidth= For ring effects, this is the radius of the ring in pixels.
cohesion= This is a value from 0 to 100 specifying the cohesion of the particles. Higher values accelerate the particles towards the center of the effect.
viscosity= This is a value from 0 to 100 specifying the tendency of the particles to move out of their designated shape (either cloud or ring). With higher values, particles tend to stay within the effect's shape.
wakePotential= This is a value from 0 to 100 specifying the tendency of the particles to be affected by objects (such as ships) moving through them.
<ParticleEffect> This sub-element defines the effect to use to paint each particle. You may use any valid painter (or set of painters), but the <Particle> painter is the most efficient.
width= Width of the comet in pixels.
length= Length of the comet in pixels.
particleCount= Number of particles in the comet.
primaryColor= Primary color of the particles.
particleCount= The number of particles in the explosion (this is a dice range).
particleSpeed= The speed of each particle in % of light-speed.
particleLifetime= The lifetime of each particle (in ticks).
lifetime= The lifetime of the effect (expressed as a dice range).
<Image> A sub-element that defines the image to use for each particle.
spikeCount= The number of spikes, expressed as a dice range. The number of spikes is computed on each frame.
spikeLength= The length of each spike, in pixels, expressed as a dice range. Each spike's length is computed independently on each frame.
primaryColor= The primary color of the sphere.
secondaryColor= The secondary color of the sphere.
This painter paints a muzzle-flash. It has no attributes.
This painter draws a filled polygon defined by the <Point> sub-elements.
width= The width of the polygon in pixels
length= The length of the polygon in pixels.
widthInc= Each tick, the width is increased by this number of pixels.
lengthInc= Each tick, the length is increased by this number of pixels.
color= The color of the polygon.
opacity= The opacity of the polygon (0 = transparent; 255 = opaque).
directional= If true, then the polygon is oriented along the appropriate direction (e.g., the direction in which the projectile was fired).
The <Point> sub-element determines a corner of the shape you are making. It consists only of an x and y value. Negative values are declared by placing a minus (-) sign before the value; the game will treat the value as positive otherwise.
x= The vertical location of the point. Positive value: up; negative value: down.
y= The horizontal location of the point. Positive value: left; negative value: right.
<Point x="0" y="0"/> <Point x="-35" y="50"/> <Point x="-100" y="0"/> <Point x="-35" y="-50"/>
The <Point> sub-elements must be declared in clockwise or anti-clockwise order for the shape to look right. In the above example, the <Point> sub-elements are declared in a clockwise manner, creating a diamond shape.
style= One of the following:
speed= The speed with which the shockwave expands (as % of light-speed).
lifetime= The lifetime of the shockwave in ticks.
fadeStart= The point at which the shockwave begins to fade (expressed as a percent of lifetime).
This style paints an expanding, glowing ring. It includes the following attributes:
primaryColor= The primary color of the ring.
secondaryColor= The secondary color of the ring.
width= The width of the ring in pixels (i.e., the thickness of the ring).
glowWidth= The width of the glowing part of the ring in pixels (generally greater than the width).
This style using an image to paint the shockwave.
<Image> An element describing the image to use.
lifetime= The lifetime of the effect in ticks.
spread= The width of the particle spray (expressed as units proportional to the angular spread). This is a dice range.
emitDuration= The amount of time that new particles are being emitted (expressed as a percentage of total lifetime).
emitRate= The number of particles emitted on each tick. This is a dice range.
emitSpeed= The speed of each particle, as a percent of light-speed. This is a dice range.
particleLifetime= The lifetime (in ticks) of an individual particle expressed as a dice range.
<ParticleEffect> This sub-element defines the effect to use to paint each particle. You may use any valid painter (or set of painters), but the <Particle> painter is the most efficient.
style= One of the following:
lifetime= The lifetime of the effect in ticks.
spikeCount= The number of spikes to paint (this is a dice range computed on every tick).
spikeLength= The length of each spike in pixels (this is a dice range computed for each spike on every tick).
primaryColor= The primary color.
secondaryColor= The secondary color.
(Taken from here)
Lasers: red, green, or purple (in ascending order of strength)
Kinetic: gray
Particle: green, with particulate texture
Blast: flame
Ion: cyan
Thermo: flame/orange
Positron: yellow, with particulate texture
Plasma: yellow
Antimatter: yellow
Nano: various (gray/green/etc) but with complex texture
Graviton: purple/violet
Singularity: black/white/violet
Dark Acid: teal
Dark Steel: gray-green
Dark Lightning: blue
Dark Fire: red
For lasers, we should probably avoid yellow and blue (to avoid confusion with positron/antimatter and ion). If you want to create new laser styles I recommend mixing in more white (to make the beam whiter). For example, I imagine a gamma-ray laser could be white with fringes of violet/purple.
From wolfy's post.
Beam types
lightning lightningBolt heavyblaster greenparticle blueparticle blaster starblaster greenlightning jaggedBolt
Ray types
fade diamond oval straight tapered cone wavy smooth jagged grainy
Source: http://forums.kronosaur.com/viewtopic.php?f=3&t=6731&p=59534#p59526
<HitEffect> <Null/> </HitEffect>