=====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, [[Weapon devices|weapons]] use an element to define how to paint a projectile. Not all effect elements are called . For example, weapons also have a 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 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 [[game/george_thoughts#laser_color|laser colors]]. The following painters exist: ^new in 1.06^ || ======== 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) ======== **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: * fadingBlast **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 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: * 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. ======== 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 [[modding/guide/intro_dice_stats|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 [[modding/guide/intro_dice_stats|dice range]]). **emitSpeed=** The speed of a newly created particle (as a percent of light speed, expressed as a [[modding/guide/intro_dice_stats|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 [[modding/guide/intro_dice_stats|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 [[modding/guide/intro_dice_stats|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. **** This sub-element defines the effect to use to paint each particle. You may use any valid painter (or set of painters), but the 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 [[modding/guide/intro_dice_stats|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 [[modding/guide/intro_dice_stats|dice range]]). **** A sub-element that defines the image to use for each particle. ======== **spikeCount=** The number of spikes, expressed as a [[modding/guide/intro_dice_stats|dice range]]. The number of spikes is computed on each frame. **spikeLength=** The length of each spike, in pixels, expressed as a [[modding/guide/intro_dice_stats|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 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 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. The sub-elements //must// be declared in clockwise or anti-clockwise order for the shape to look right. In the above example, the sub-elements are declared in a clockwise manner, creating a diamond shape. ======== **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. **** 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 [[modding/guide/intro_dice_stats|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 [[modding/guide/intro_dice_stats|dice range]]. **emitSpeed=** The speed of each particle, as a percent of light-speed. This is a [[modding/guide/intro_dice_stats|dice range]]. **particleLifetime=** The lifetime (in ticks) of an individual particle expressed as a [[modding/guide/intro_dice_stats|dice range]]. **** This sub-element defines the effect to use to paint each particle. You may use any valid painter (or set of painters), but the painter is the most efficient. ======== **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 [[modding/guide/intro_dice_stats|dice range]] computed on every tick). **spikeLength=** The length of each spike in pixels (this is a [[modding/guide/intro_dice_stats|dice range]] computed for each spike on every tick). **primaryColor=** The primary color. **secondaryColor=** The secondary color. ==== Suggested Colors ==== (Taken from [[http://www.neurohack.com/transcendence/forums/viewtopic.php?f=2&t=5439#p49690|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 [[http://forums.kronosaur.com/viewtopic.php?f=5&t=6426#p57263|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