Table of Contents
Summary
- EffectType: If this contains an Effect or multiple subelements, then it is considered a dynamically created group of effects. If there is one subelement, then it becomes a simple effect creator. If there are none, then it becomes a Null creator.
- UNID=
- sound= [type_sound]
- instance= [effect_instance]
- “game”
- “owner”
- “creator”
- 0 or 1 Effect
- [All Subelements]
- 0 or 1 Events
- 0 or 1 GetParameters: Returns valid values for each of the parent element's attributes.
- Beam
- beamType= [beam_type]
- “heavyblaster”
- “jaggedBolt”
- “laser”
- “lightning”
- “lightningBolt”
- “particle”
- “starblaster”
- “greenParticle”
- “blueParticle”
- “blaster”
- “greenLightning”
- intensity= [whole number]
- primaryColor= [hex color]
- secondaryColor= [hex color]
- Bolt
- length= [whole number]
- width= [whole number]
- primaryColor= [hex color]
- secondaryColor= [hex color]
- Damage: Contains the same attributes and subelements as a Weapon
- Ellipse
- eccentricity= [whole number] between 0 and 100.
- lineColor= [hex color]
- lineStyle= [style_line]
- “dashed”
- “solid”
- lineWidth= [whole number]
- radius= [whole number]
- rotation= [whole number] degrees
- Flare
- lifetime= [whole number]
- radius= [whole number]
- primaryColor= [hex color]
- secondaryColor= [hex color]
- style= [style_flare]
- “fadingBlast”
- “flicker”
- “plain”
- Group: Same as Effect
- Image
- imageID= [Image type] Inherited from ImageDesc
- imageX= [whole number] Inherited from ImageDesc
- imageY= [whole number] Inherited from ImageDesc
- imageWidth= [whole number] Inherited from ImageDesc
- imageHeight= [whole number] Inherited from ImageDesc
- imageFrameCount= [whole number] Inherited from ImageDesc
- imageTicksPerFrame= [whole number] Inherited from ImageDesc
- lifetime= [whole number]
- randomStartFrame= [boolean]
- rotateImage= [boolean]
- rotationCount= [whole number]
- imageVariants= [whole number]
- ImageAndTail
- imageID= [Image type] Inherited from ImageDesc
- imageX= [whole number] Inherited from ImageDesc
- imageY= [whole number] Inherited from ImageDesc
- imageWidth= [whole number] Inherited from ImageDesc
- imageHeight= [whole number] Inherited from ImageDesc
- imageFrameCount= [whole number] Inherited from ImageDesc
- imageTicksPerFrame= [whole number] Inherited from ImageDesc
- imageVariants= [whole number]
- randomStartFrame= [boolean]
- length= [whole number]
- width= [whole number]
- primaryColor= [hex color]
- secondaryColor= [hex color]
- ImageFracture: Used for the wreck destruction effect
- Image: Same as ImageDesc
- imageID= [Image type] Inherited from ImageDesc
- imageX= [whole number] Inherited from ImageDesc
- imageY= [whole number] Inherited from ImageDesc
- imageWidth= [whole number] Inherited from ImageDesc
- imageHeight= [whole number] Inherited from ImageDesc
- imageFrameCount= [whole number] Inherited from ImageDesc
- imageTicksPerFrame= [whole number] Inherited from ImageDesc
- LightningStorm
- intensity= [dice_range]
- lifetime= [dice_range] ticks
- primaryColor= [hex color]
- secondaryColor= [hex color]
- style= [style_lightning_storm]
- “”
- “objectArcs”
- MoltenBolt
- length= [whole number]
- width= [whole number]
- growth= [whole number] Length increase per tick for the first 8 ticks?
- primaryColor= [hex color]
- secondaryColor= [hex color]
- Null
- Orb
- animate= [animate_orb]
- blendMode= [blend_mode]
- detail= [dice_range]
- distortion= [dice_range]
- lifetime= [dice_range]
- intensity= [dice_range]
- primaryColor= [hex_color]
- radius= [dice_range]
- secondaryColor= [hex color]
- spikeCount= [dice_range]
- Particle
- style= [style_particle]
- “plain”
- “flame”
- “smoke”
- “line”
- minWidth= [whole number]
- maxWidth= [whole number]
- primaryColor= [hex color]
- secondaryColor= [hex color]
- ParticleCloud
- drag= [integer]
- cohesion= [whole_100]
- emitDuration= [whole number] must be less than lifetime
- emitRate= [dice range]
- emitRotation= [integer]
- emitSpeed= [dice range]
- lifetime= [dice range]
- particleCount= [dice range]
- particleLifetime= [dice range]
- radius= [whole]
- ringWidth= [whole]
- slowMotion= [whole number]
- spreadAngle= [dice range]
- style= [style_particle_cloud]
- “cloud”
- “exhaust”
- “jet”
- “ring”
- “splash”
- viscosity= [whole_100]
- wakePotential= [whole_100]
- ParticleEffect: Same as Effect
- ParticleExplosion
- particleCount= [dice_range]
- particleSpeed= [dice_range]
- particleLifetime= [dice_range]
- lifetime= [dice_range]
- Image: Same as ImageDesc
- imageID= [Image type] Inherited from ImageDesc
- imageX= [whole number] Inherited from ImageDesc
- imageY= [whole number] Inherited from ImageDesc
- imageWidth= [whole number] Inherited from ImageDesc
- imageHeight= [whole number] Inherited from ImageDesc
- imageFrameCount= [whole number] Inherited from ImageDesc
- imageTicksPerFrame= [whole number] Inherited from ImageDesc
- ParticlePattern / ParticleComet
- jitterLength=
- length= [dice_range]
- lifetime= [dice_range]
- particleCount= [dice_range]
- particleSpeed= [dice_range]
- primaryColor= [hex color]
- secondaryColor= [hex color]
- spreadAngle= [dice_range]
- style= [style_particle_pattern]
- “”
- “comet”
- “jet”
- width= [dice_range]
- ParticleEffect: Same as Effect
- ParticleSystem / ParticleJet
- cohesion= [dice_range]
- emitChance= [dice_range]
- emitRate= [dice_range]
- emitSpeed= [dice_range]
- emitLifetime= [dice_range]
- fixedPos= [boolean]
- isTrackingObject=
- particleLifetime= [dice_range]
- radius= [dice_range]
- spreadAngle= [dice_range]
- lifetime= [dice_range]
- style= [style_particle_system]
- “”
- “amorphous”
- “comet”
- “exhaust”
- “jet”
- “radiate”
- “spray”
- “writhe”
- “brownian”
- tangentSpeed= [dice_range]
- wakePotential= [dice_range]
- xformRotation= [dice_range]
- xformTime= [dice_range]
- ParticleEffect: Same as Effect
- PlasmaSphere
- spikeCount= [dice_range]
- spikeLength= [dice_range]
- primaryColor= [hex_color]
- radius= [dice_range]
- secondaryColor= [hex_color]
- Polyflash
- Ray
- animate= [animate_ray]
- animateOpacity= [animate_ray]
- blendMode= [blend_mode]
- intensity= [dice_range]
- length= [dice_range]
- lifetime= [dice_range]
- primaryColor= [hex_color]
- secondaryColor= [hex_color]
- shape= [shape_ray]
- style= [style_ray]
- width= [dice_range]
- xformRotation= [dice_range]
- Sequencer: A sequence of simple effects
- Shape
- blendMode= [blend_mode]
- “normal”
- “multiply”
- “overlay”
- “screen”
- “hardLight”
- “composite”
- scaleWidth= [integer]
- scaleLength= [integer]
- color= [hex_color]
- opacity= [whole]
- directional= [boolean]
- scaleWidthInc= [integer]
- scaleLengthInc= [integer]
- Point
- x= [integer]
- y= [integer]
- Shockwave
- blendMode= [blend_mode]
- fadeStart= [dice_range]
- glowSize= [dice_range]
- intensity= [dice_range]
- lifetime= [dice_range]
- primaryColor= [hex_color]
- secondaryColor= [hex_color]
- speed= [dice_range]
- style= [style_shockwave]
- width= [dice_range]
- Image: Same as ImageDesc
- SmokeTrail=
- lifetime= [dice_range]
- spread= [dice_range]
- emitDuration= [dice_range]
- particleLifetime= [dice_range]
- emitRate= [dice_range]
- emitSpeed= [dice_range]
- rotation= [dice_range]
- ParticleEffect: Same as Effect
- Starburst
- spikeCount= [dice_range]
- spikeLength= [dice_range]
- primaryColor= [hex_color]
- secondaryColor= [hex_color]
- style= [style_starburst]
- ballLightning=
- flare=
- plain=
- lightningStar=
- morningStar=
- lifetime= [dice_range]
- Text
- align= [align_horizontal]
- “center”
- “right”
- “left”
- font= [font]
- opacity= [whole]
- primaryColor= [hex_color]
- text= [string]
- Variants: Effect varies based on a value. Subelements must have the attribute maxValue
Overview
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> |
<Beam>
Version: 1.06 and above.
beamType= Choose from one of many styles (list taken from TSE\SFXBeam.cpp)
- laser
- lightning
- heavyblaster
- starblaster
- particle
- greenparticle
- blueparticle
- blaster
- greenlightning
primaryColor= Hexidecimal for the primary color.
secondaryColor= Hexidecimal for the secondary color.
intensity= Increases beam width (discovered by Hatsya)
<Bolt>
length= The length of the bolt in pixels.
width= The width of the bolt in pixels.
primaryColor= The primary color.
secondaryColor= The secondary color.
<Flare>
style= One of the following:
- fadingBlast
radius= The radius in pixels.
lifetime= The lifetime of the effect in ticks.
<Image>
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.
<ImageAndTail>
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.
<MoltenBolt>
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.
<Particle>
This painter is used for weapons of type=particles.
style= One of:
- flame
- plain
- line
- smoke
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.
<ParticleCloud>
Version: 1.08 and above.
This painter creates a cloud of particles with various shapes and behaviors.
style= One of:
- cloud
- splash
- jet
- ring
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.
<ParticleComet>
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.
<ParticleExplosion>
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.
<PlasmaSphere>
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.
<Polyflash>
This painter paints a muzzle-flash. It has no attributes.
<Shape>
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).
<Point>
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.
<Shockwave>
style= One of the following:
- glowRing
- image
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).
style=glowRing
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).
style=image
This style using an image to paint the shockwave.
<Image> An element describing the image to use.
<SmokeTrail>
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.
<Starburst>
style= One of the following:
- flare
- lightningStar
- morningStar
- plain
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.
Suggested Colors
(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.
API 20 (1.3 Beta 1 )
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
No Hiteffects
Source: http://forums.kronosaur.com/viewtopic.php?f=3&t=6731&p=59534#p59526
<HitEffect> <Null/> </HitEffect>